]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/JarFileIndexer.java
Introduce repo managers
[gpl/argeo-slc.git] / runtime / org.argeo.slc.repo / src / main / java / org / argeo / slc / repo / JarFileIndexer.java
index d3abf9bad0c52434c9753e8a2fbc00c0914c1bc3..7e41168aa1405500dd1058043a2ed101ab9b8282 100644 (file)
@@ -50,6 +50,7 @@ import org.osgi.framework.Version;
  */
 public class JarFileIndexer implements NodeIndexer, SlcNames {
        private final static Log log = LogFactory.getLog(JarFileIndexer.class);
+       private Boolean force = false;
 
        public Boolean support(String path) {
                return FilenameUtils.getExtension(path).equals("jar");
@@ -62,9 +63,13 @@ public class JarFileIndexer implements NodeIndexer, SlcNames {
                ByteArrayInputStream bi = null;
                Binary manifestBinary = null;
                try {
-                       if(!support(fileNode.getPath()))
+                       if (!support(fileNode.getPath()))
                                return;
-                       
+
+                       // Already indexed
+                       if (!force && fileNode.isNodeType(SlcTypes.SLC_JAR_FILE))
+                               return;
+
                        if (!fileNode.isNodeType(NodeType.NT_FILE))
                                return;
 
@@ -400,4 +405,8 @@ public class JarFileIndexer implements NodeIndexer, SlcNames {
                                        version.getQualifier());
        }
 
+       public void setForce(Boolean force) {
+               this.force = force;
+       }
+
 }