From 4663b42433ba4a16c81d90927aecff2a923cd7a4 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Thu, 13 Oct 2011 21:04:17 +0000 Subject: [PATCH] Improve Maven support in repo git-svn-id: https://svn.argeo.org/slc/trunk@4836 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- demo/log4j.properties | 7 ++++--- .../java/org/argeo/slc/repo/ArtifactIndexer.java | 13 ++++++++++++- .../java/org/argeo/slc/repo/JarFileIndexer.java | 6 ++++-- .../src/main/resources/org/argeo/slc/repo/repo.cnd | 10 ++++++---- .../src/main/java/org/argeo/slc/jcr/SlcNames.java | 1 + 5 files changed, 27 insertions(+), 10 deletions(-) diff --git a/demo/log4j.properties b/demo/log4j.properties index 7b62f3a48..b7d8fe653 100644 --- a/demo/log4j.properties +++ b/demo/log4j.properties @@ -3,12 +3,13 @@ log4j.rootLogger=WARN, development ## 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 diff --git a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/ArtifactIndexer.java b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/ArtifactIndexer.java index 4b7677961..841f22d38 100644 --- a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/ArtifactIndexer.java +++ b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/ArtifactIndexer.java @@ -5,6 +5,7 @@ import javax.jcr.nodetype.NodeType; 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; @@ -55,6 +56,7 @@ public class ArtifactIndexer implements NodeIndexer { // 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(); @@ -68,6 +70,7 @@ public class ArtifactIndexer implements NodeIndexer { artifact.getArtifactId()); artifactVersionBase.setProperty(SlcNames.SLC_GROUP_ID, artifact.getGroupId()); + JcrUtils.updateLastModified(artifactVersionBase); } Node artifactBase = artifactVersionBase.getParent(); if (!artifactBase.isNodeType(SlcTypes.SLC_ARTIFACT_BASE)) { @@ -76,12 +79,20 @@ public class ArtifactIndexer implements NodeIndexer { 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()) 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 92460b021..9e4af7065 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 @@ -59,8 +59,8 @@ public class JarFileIndexer implements NodeIndexer { 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(); @@ -93,9 +93,11 @@ public class JarFileIndexer implements NodeIndexer { // 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); } diff --git a/runtime/org.argeo.slc.repo/src/main/resources/org/argeo/slc/repo/repo.cnd b/runtime/org.argeo.slc.repo/src/main/resources/org/argeo/slc/repo/repo.cnd index bc6c116ab..1ab84569d 100644 --- a/runtime/org.argeo.slc.repo/src/main/resources/org/argeo/slc/repo/repo.cnd +++ b/runtime/org.argeo.slc.repo/src/main/resources/org/argeo/slc/repo/repo.cnd @@ -3,7 +3,7 @@ // 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 @@ -11,18 +11,20 @@ mixin [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 diff --git a/runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/SlcNames.java b/runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/SlcNames.java index daf1ede4e..3d39cbb7d 100644 --- a/runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/SlcNames.java +++ b/runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/SlcNames.java @@ -59,6 +59,7 @@ public interface SlcNames { // 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"; -- 2.39.2