X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=runtime%2Forg.argeo.slc.repo%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Frepo%2FJarFileIndexer.java;fp=runtime%2Forg.argeo.slc.repo%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Frepo%2FJarFileIndexer.java;h=7e41168aa1405500dd1058043a2ed101ab9b8282;hb=0dc6d1ec9f5b7fe454bd3ea5101f90d40163faac;hp=d3abf9bad0c52434c9753e8a2fbc00c0914c1bc3;hpb=524221f25edad4b09aac22555450164e587b304a;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/JarFileIndexer.java b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/JarFileIndexer.java index d3abf9bad..7e41168aa 100644 --- a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/JarFileIndexer.java +++ b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/JarFileIndexer.java @@ -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; + } + }