summaryrefslogtreecommitdiff
path: root/qpid/java/tasks/src
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/tasks/src')
-rw-r--r--qpid/java/tasks/src/org/apache/qpid/tasks/Map.java31
-rw-r--r--qpid/java/tasks/src/org/apache/qpid/tasks/PropertyMapper.java30
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