X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=runtime%2Forg.argeo.slc.repo%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Frepo%2FRepoUtils.java;h=6d22cbe687632ebcff13c7f4df87412ab4e653fd;hb=e146631736be22397edf93f81f3218b5a178dc06;hp=242cbe0e4242a86412e20e2761bd48b26ead64ce;hpb=44c43b9c874d7c6edd4327f180d5506b3e9c99e6;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/RepoUtils.java b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/RepoUtils.java index 242cbe0e4..6d22cbe68 100644 --- a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/RepoUtils.java +++ b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/RepoUtils.java @@ -23,11 +23,13 @@ import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.argeo.jcr.JcrUtils; import org.argeo.slc.BasicNameVersion; import org.argeo.slc.NameVersion; import org.argeo.slc.SlcException; import org.argeo.slc.jcr.SlcNames; import org.argeo.slc.jcr.SlcTypes; +import org.argeo.slc.repo.maven.MavenConventionsUtils; import org.osgi.framework.Constants; import org.sonatype.aether.artifact.Artifact; import org.sonatype.aether.util.artifact.DefaultArtifact; @@ -268,6 +270,29 @@ public class RepoUtils implements SlcNames { } } + /** + * Copy this bytes array as an artifact, relative to the root of the + * repository (typically the workspace root node) + */ + public static Node copyBytesAsArtifact(Node artifactsBase, + Artifact artifact, byte[] bytes) throws RepositoryException { + String parentPath = MavenConventionsUtils.artifactParentPath( + artifactsBase.getPath(), artifact); + Node folderNode = JcrUtils.mkfolders(artifactsBase.getSession(), + parentPath); + return JcrUtils.copyBytesAsFile(folderNode, + MavenConventionsUtils.artifactFileName(artifact), bytes); + } + private RepoUtils() { } + + /** If a source return the base bundle name, does not change otherwise */ + public static String extractBundleNameFromSourceName(String sourceBundleName) { + if (sourceBundleName.endsWith(".source")) + return sourceBundleName.substring(0, sourceBundleName.length() + - ".source".length()); + else + return sourceBundleName; + } }