X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=runtime%2Forg.argeo.slc.repo%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Frepo%2FArtifactIndexer.java;h=462739c7d3736274083ba11960cb8ed242003fd3;hb=7d6251e4260ed330236ae86b732307439affcf76;hp=896071151f882d067d31901309422f29d2933318;hpb=7d46ce5fd45ee33838fcff0c3c4381f0b91829ee;p=gpl%2Fargeo-slc.git 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 896071151..462739c7d 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 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2012 Mathieu Baudier + * Copyright (C) 2007-2012 Argeo GmbH * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -52,6 +52,9 @@ public class ArtifactIndexer implements NodeIndexer { public void index(Node fileNode) { Artifact artifact = null; try { + if(!support(fileNode.getPath())) + return; + if (!fileNode.isNodeType(NodeType.NT_FILE)) return; @@ -73,13 +76,19 @@ public class ArtifactIndexer implements NodeIndexer { artifact.getClassifier()); JcrUtils.updateLastModified(fileNode); - // make sure there is a checksum + // make sure there are checksums String shaNodeName = fileNode.getName() + ".sha1"; if (!fileNode.getParent().hasNode(shaNodeName)) { String sha = JcrUtils.checksumFile(fileNode, "SHA-1"); JcrUtils.copyBytesAsFile(fileNode.getParent(), shaNodeName, sha.getBytes()); } + String md5NodeName = fileNode.getName() + ".md5"; + if (!fileNode.getParent().hasNode(md5NodeName)) { + String md5 = JcrUtils.checksumFile(fileNode, "MD5"); + JcrUtils.copyBytesAsFile(fileNode.getParent(), md5NodeName, + md5.getBytes()); + } // set higher levels Node artifactVersionBase = fileNode.getParent(); @@ -122,7 +131,7 @@ public class ArtifactIndexer implements NodeIndexer { artifact.getGroupId()); } JcrUtils.updateLastModifiedAndParents(groupBase, - RepoConstants.ARTIFACTS_BASE_PATH); + RepoConstants.DEFAULT_ARTIFACTS_BASE_PATH); if (log.isTraceEnabled()) log.trace("Indexed artifact " + artifact + " on " + fileNode); @@ -133,7 +142,7 @@ public class ArtifactIndexer implements NodeIndexer { } private String getRelativePath(String nodePath) { - String basePath = RepoConstants.ARTIFACTS_BASE_PATH; + String basePath = RepoConstants.DEFAULT_ARTIFACTS_BASE_PATH; if (!nodePath.startsWith(basePath)) return null; String relativePath = nodePath.substring(basePath.length());