Browse Source

better deal with null projects

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@821836 13f79535-47bb-0310-9956-ffa450edef68
master
Stefan Bodewig 15 years ago
parent
commit
8a848413c4
1 changed files with 34 additions and 16 deletions
  1. +34
    -16
      src/main/org/apache/tools/ant/PropertyHelper.java

+ 34
- 16
src/main/org/apache/tools/ant/PropertyHelper.java View File

@@ -378,15 +378,22 @@ public class PropertyHelper implements GetProperty {
* @return the project's property helper. * @return the project's property helper.
*/ */
public static synchronized PropertyHelper getPropertyHelper(Project project) { public static synchronized PropertyHelper getPropertyHelper(Project project) {
PropertyHelper helper
= (PropertyHelper) project.getReference(MagicNames.REFID_PROPERTY_HELPER);
PropertyHelper helper = null;
if (project != null) {
helper = (PropertyHelper) project.getReference(MagicNames
.REFID_PROPERTY_HELPER);
}
if (helper != null) { if (helper != null) {
return helper; return helper;
} }

helper = new PropertyHelper(); helper = new PropertyHelper();
helper.setProject(project); helper.setProject(project);


project.addReference(MagicNames.REFID_PROPERTY_HELPER, helper);
if (project != null) {
project.addReference(MagicNames.REFID_PROPERTY_HELPER, helper);
}

return helper; return helper;
} }


@@ -461,7 +468,7 @@ public class PropertyHelper implements GetProperty {
} }
} }
// Experimental/Testing, will be removed // Experimental/Testing, will be removed
if (name.startsWith("toString:")) {
if (project != null && name.startsWith("toString:")) {
name = name.substring("toString:".length()); name = name.substring("toString:".length());
Object v = project.getReference(name); Object v = project.getReference(name);
return (v == null) ? null : v.toString(); return (v == null) ? null : v.toString();
@@ -619,18 +626,19 @@ public class PropertyHelper implements GetProperty {
synchronized (this) { synchronized (this) {
// user (CLI) properties take precedence // user (CLI) properties take precedence
if (userProperties.containsKey(name)) { if (userProperties.containsKey(name)) {
if (verbose) {
project.log("Override ignored for user property \"" + name + "\"",
Project.MSG_VERBOSE);
if (project != null && verbose) {
project.log("Override ignored for user property \""
+ name + "\"", Project.MSG_VERBOSE);
} }
return false; return false;
} }
if (verbose) {
if (project != null && verbose) {
if (properties.containsKey(name)) { if (properties.containsKey(name)) {
project.log("Overriding previous definition of property \"" + name + "\"",
Project.MSG_VERBOSE);
project.log("Overriding previous definition of property \""
+ name + "\"", Project.MSG_VERBOSE);
} }
project.log("Setting project property: " + name + " -> " + value, Project.MSG_DEBUG);
project.log("Setting project property: " + name + " -> "
+ value, Project.MSG_DEBUG);
} }
if (name != null && value != null) { if (name != null && value != null) {
properties.put(name, value); properties.put(name, value);
@@ -679,11 +687,15 @@ public class PropertyHelper implements GetProperty {
} }
} }
synchronized (this) { synchronized (this) {
if (properties.containsKey(name)) {
project.log("Override ignored for property \"" + name + "\"", Project.MSG_VERBOSE);
if (project != null && properties.containsKey(name)) {
project.log("Override ignored for property \"" + name
+ "\"", Project.MSG_VERBOSE);
return; return;
} }
project.log("Setting project property: " + name + " -> " + value, Project.MSG_DEBUG);
if (project != null) {
project.log("Setting project property: " + name
+ " -> " + value, Project.MSG_DEBUG);
}
if (name != null && value != null) { if (name != null && value != null) {
properties.put(name, value); properties.put(name, value);
} }
@@ -720,7 +732,10 @@ public class PropertyHelper implements GetProperty {
* Must not be <code>null</code>. * Must not be <code>null</code>.
*/ */
public void setUserProperty(String name, Object value) { public void setUserProperty(String name, Object value) {
project.log("Setting ro project property: " + name + " -> " + value, Project.MSG_DEBUG);
if (project != null) {
project.log("Setting ro project property: "
+ name + " -> " + value, Project.MSG_DEBUG);
}
synchronized (this) { synchronized (this) {
userProperties.put(name, value); userProperties.put(name, value);
properties.put(name, value); properties.put(name, value);
@@ -761,7 +776,10 @@ public class PropertyHelper implements GetProperty {
* Must not be <code>null</code>. * Must not be <code>null</code>.
*/ */
public void setInheritedProperty(String name, Object value) { public void setInheritedProperty(String name, Object value) {
project.log("Setting ro project property: " + name + " -> " + value, Project.MSG_DEBUG);
if (project != null) {
project.log("Setting ro project property: " + name + " -> "
+ value, Project.MSG_DEBUG);
}


synchronized (this) { synchronized (this) {
inheritedProperties.put(name, value); inheritedProperties.put(name, value);


Loading…
Cancel
Save