## Levels
log4j.logger.org.argeo=DEBUG
-log4j.logger.org.argeo.jackrabbit.remote.ExtendedDispatcherServlet=WARN
+log4j.logger.org.argeo.jackrabbit.remote.ExtendedDispatcherServlet=ERROR
+log4j.logger.org.springframework.web.servlet.PageNotFound=ERROR
log4j.logger.org.argeo.server.webextender.TomcatDeployer=WARN
log4j.logger.org.argeo.slc.client.ui.dist=TRACE
-log4j.logger.org.apache.jackrabbit.webdav=DEBUG
-log4j.logger.org.apache.jackrabbit.jcr2spi=DEBUG
+#log4j.logger.org.apache.jackrabbit.webdav=DEBUG
+#log4j.logger.org.apache.jackrabbit.jcr2spi=DEBUG
log4j.logger.org.apache.catalina=INFO
log4j.logger.org.apache.coyote=INFO
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.argeo.jcr.JcrUtils;
import org.argeo.slc.SlcException;
import org.argeo.slc.aether.AetherUtils;
import org.argeo.slc.jcr.SlcNames;
// can be null but ok for JCR API
fileNode.setProperty(SlcNames.SLC_ARTIFACT_CLASSIFIER,
artifact.getClassifier());
+ JcrUtils.updateLastModified(fileNode);
// set higher levels
Node artifactVersionBase = fileNode.getParent();
artifact.getArtifactId());
artifactVersionBase.setProperty(SlcNames.SLC_GROUP_ID,
artifact.getGroupId());
+ JcrUtils.updateLastModified(artifactVersionBase);
}
Node artifactBase = artifactVersionBase.getParent();
if (!artifactBase.isNodeType(SlcTypes.SLC_ARTIFACT_BASE)) {
artifact.getArtifactId());
artifactBase.setProperty(SlcNames.SLC_GROUP_ID,
artifact.getGroupId());
+ JcrUtils.updateLastModified(artifactBase);
}
+
+ // TODO do we really need group base?
Node groupBase = artifactBase.getParent();
if (!groupBase.isNodeType(SlcTypes.SLC_GROUP_BASE)) {
+ // if (groupBase.isNodeType(SlcTypes.SLC_ARTIFACT_BASE)) {
+ // log.warn("Group base " + groupBase.getPath()
+ // + " is also artifact base");
+ // }
groupBase.addMixin(SlcTypes.SLC_GROUP_BASE);
- groupBase.setProperty(SlcNames.SLC_GROUP_ID,
+ groupBase.setProperty(SlcNames.SLC_GROUP_BASE_ID,
artifact.getGroupId());
+ JcrUtils.updateLastModified(groupBase);
}
if (log.isTraceEnabled())
jarIn = new JarInputStream(fileBinary.getStream());
Manifest manifest = jarIn.getManifest();
- if(manifest==null){
- log.error(fileNode+" has no MANIFEST");
+ if (manifest == null) {
+ log.error(fileNode + " has no MANIFEST");
return;
}
bo = new ByteArrayOutputStream();
// OSGi
if (attrs.containsKey(new Name(Constants.BUNDLE_SYMBOLICNAME))) {
addOsgiMetadata(fileNode, attrs);
+ JcrUtils.updateLastModified(fileNode);
if (log.isTraceEnabled())
log.trace("Indexed OSGi bundle " + fileNode);
} else {
+ JcrUtils.updateLastModified(fileNode);
if (log.isTraceEnabled())
log.trace("Indexed JAR file " + fileNode);
}
// AETHER
[slc:artifact] > nt:base, mix:shareable
mixin
-- slc:artifactId (STRING) primary m
+- slc:artifactId (STRING) m
- slc:groupId (STRING) m
- slc:artifactVersion (STRING) m
- slc:artifactExtension (STRING) m
[slc:artifactVersionBase] > nt:base
mixin
-- slc:artifactId (STRING) primary m
+- slc:artifactId (STRING) m
- slc:groupId (STRING) m
- slc:artifactVersion (STRING) m
[slc:artifactBase] > nt:base
mixin
-- slc:artifactId (STRING) primary m
+- slc:artifactId (STRING) m
- slc:groupId (STRING) m
[slc:groupBase] > nt:base
mixin
-- slc:groupId (STRING) primary m
+// it is possible to have groupBase being artifact base (e.g. org.argeo.commons.basic)
+// so using groupId would conflict
+- slc:groupBaseId (STRING) m
[slc:jarFile] > nt:base
mixin
// slc:artifact
public final static String SLC_ARTIFACT_ID = "slc:artifactId";
public final static String SLC_GROUP_ID = "slc:groupId";
+ public final static String SLC_GROUP_BASE_ID = "slc:groupBaseId";
public final static String SLC_ARTIFACT_VERSION = "slc:artifactVersion";
public final static String SLC_ARTIFACT_EXTENSION = "slc:artifactExtension";
public final static String SLC_ARTIFACT_CLASSIFIER = "slc:artifactClassifier";