]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.core/src/main/java/org/argeo/slc/ant/RemoveRootDirMapper.java
Migrate deploy developments to main project
[gpl/argeo-slc.git] / org.argeo.slc.core / src / main / java / org / argeo / slc / ant / RemoveRootDirMapper.java
diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/ant/RemoveRootDirMapper.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/ant/RemoveRootDirMapper.java
new file mode 100644 (file)
index 0000000..43b247c
--- /dev/null
@@ -0,0 +1,40 @@
+package org.argeo.slc.ant;
+
+import java.util.StringTokenizer;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.tools.ant.util.FileNameMapper;
+
+public class RemoveRootDirMapper implements FileNameMapper {
+       private Log log = LogFactory.getLog(RemoveRootDirMapper.class);
+       private String to = "enabled";
+
+       public String[] mapFileName(String sourceFileName) {
+               StringTokenizer st = new StringTokenizer(sourceFileName, "/");
+               boolean first = true;
+               boolean skipRoot = !to.equals("disabled");
+               StringBuffer buf = new StringBuffer("");
+               while (st.hasMoreTokens()) {
+                       if (first && skipRoot) { // skip
+                               st.nextToken();
+                               first = false;
+                       } else {
+                               buf.append(st.nextToken()).append('/');
+                       }
+               }
+
+               if (log.isTraceEnabled()) {
+                       log.trace("Source: " + sourceFileName + " - out: " + buf);
+               }
+               return new String[] { buf.toString() };
+       }
+
+       public void setFrom(String from) {
+       }
+
+       public void setTo(String to) {
+               this.to = to;
+       }
+
+}