diff options
Diffstat (limited to 'qpid/java/tasks')
| -rw-r--r-- | qpid/java/tasks/src/org/apache/qpid/tasks/Map.java | 31 | ||||
| -rw-r--r-- | qpid/java/tasks/src/org/apache/qpid/tasks/PropertyMapper.java | 30 |
2 files changed, 48 insertions, 13 deletions
diff --git a/qpid/java/tasks/src/org/apache/qpid/tasks/Map.java b/qpid/java/tasks/src/org/apache/qpid/tasks/Map.java index e456b9e6ab..e66f34b319 100644 --- a/qpid/java/tasks/src/org/apache/qpid/tasks/Map.java +++ b/qpid/java/tasks/src/org/apache/qpid/tasks/Map.java @@ -21,16 +21,10 @@ package org.apache.qpid.tasks; import org.apache.tools.ant.BuildException; - import org.apache.tools.ant.util.ChainedMapper; import org.apache.tools.ant.util.FileNameMapper; -import java.util.ArrayList; -import java.util.List; - -/** - * Map -- an ant task that allows arbitrary use of FileNameMappers - **/ +/** Map -- an ant task that allows arbitrary use of FileNameMappers */ public class Map extends BaseTask { @@ -75,14 +69,25 @@ public class Map extends BaseTask { String[] parts = value.split(split); StringBuffer buf = new StringBuffer(); - for (int i = 0; i < parts.length; i++) { - if (parts[i].length() == 0) { continue; } + for (int i = 0; i < parts.length; i++) + { + if (parts[i].length() == 0) + { + continue; + } String[] names = mapper.mapFileName(parts[i]); - for (int j = 0; j < names.length; j++) { - if (buf.length() > 0) { - buf.append(join); + + //Mappers can return null. + if (names != null) + { + for (int j = 0; j < names.length; j++) + { + if (buf.length() > 0) + { + buf.append(join); + } + buf.append(names[j]); } - buf.append(names[j]); } } diff --git a/qpid/java/tasks/src/org/apache/qpid/tasks/PropertyMapper.java b/qpid/java/tasks/src/org/apache/qpid/tasks/PropertyMapper.java new file mode 100644 index 0000000000..35f5af356c --- /dev/null +++ b/qpid/java/tasks/src/org/apache/qpid/tasks/PropertyMapper.java @@ -0,0 +1,30 @@ +package org.apache.qpid.tasks; + +import org.apache.tools.ant.Project; +import org.apache.tools.ant.util.GlobPatternMapper; + +public class PropertyMapper extends GlobPatternMapper +{ + + Project _project; + + public PropertyMapper(Project project) + { + super(); + _project = project; + } + + public String[] mapFileName(String sourceFileName) + { + String[] fixed = super.mapFileName(sourceFileName); + + if (fixed == null) + { + return null; + } + + return new String[]{ _project.getProperty(fixed[0]) }; + } + + +}
\ No newline at end of file |
