Rename CategoryNameVersion.
authorMathieu Baudier <mbaudier@argeo.org>
Sun, 16 Feb 2020 10:56:55 +0000 (11:56 +0100)
committerMathieu Baudier <mbaudier@argeo.org>
Sun, 16 Feb 2020 10:56:55 +0000 (11:56 +0100)
14 files changed:
org.argeo.slc.api/src/org/argeo/slc/CategorizedNameVersion.java [deleted file]
org.argeo.slc.api/src/org/argeo/slc/CategoryNameVersion.java [new file with mode: 0644]
org.argeo.slc.api/src/org/argeo/slc/DefaultCategorizedNameVersion.java [deleted file]
org.argeo.slc.api/src/org/argeo/slc/DefaultCategoryNameVersion.java [new file with mode: 0644]
org.argeo.slc.repo/src/org/argeo/slc/repo/ArgeoOsgiDistribution.java
org.argeo.slc.repo/src/org/argeo/slc/repo/ArtifactDistribution.java
org.argeo.slc.repo/src/org/argeo/slc/repo/ModularDistributionFactory.java
org.argeo.slc.repo/src/org/argeo/slc/repo/ModularDistributionIndexer.java
org.argeo.slc.repo/src/org/argeo/slc/repo/osgi/ArchiveWrapper.java
org.argeo.slc.repo/src/org/argeo/slc/repo/osgi/ArchiveWrapperCNV.java [new file with mode: 0644]
org.argeo.slc.repo/src/org/argeo/slc/repo/osgi/ArgeoOsgiDistributionImpl.java
org.argeo.slc.repo/src/org/argeo/slc/repo/osgi/BndWrapper.java
org.argeo.slc.repo/src/org/argeo/slc/repo/osgi/OsgiCategorizedNV.java [deleted file]
org.argeo.slc.repo/src/org/argeo/slc/repo/osgi/ProcessDistribution.java

diff --git a/org.argeo.slc.api/src/org/argeo/slc/CategorizedNameVersion.java b/org.argeo.slc.api/src/org/argeo/slc/CategorizedNameVersion.java
deleted file mode 100644 (file)
index b890340..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.argeo.slc;
-
-/**
- * Adds a dimension to {@link NameVersion} by adding an arbitrary category (e.g.
- * Maven groupId, yum repository ID, etc.)
- */
-public interface CategorizedNameVersion extends NameVersion {
-       /** The category of the component. */
-       String getCategory();
-
-       static CategorizedNameVersion parseCategoryNameVersion(String str) {
-               if (str == null || "".equals(str.trim()))
-                       throw new IllegalArgumentException("At least one character required.");
-               String[] arr = str.trim().split(":");
-               if (arr.length > 3)
-                       throw new IllegalArgumentException(str + " does not respect the [category]:[name]:[version] pattern");
-               DefaultCategorizedNameVersion res = new DefaultCategorizedNameVersion();
-               res.setCategory(arr[0]);
-               if (arr.length > 1)
-                       res.setName(arr[1]);
-               if (arr.length > 2)
-                       res.setVersion(arr[2]);
-               return res;
-       }
-}
diff --git a/org.argeo.slc.api/src/org/argeo/slc/CategoryNameVersion.java b/org.argeo.slc.api/src/org/argeo/slc/CategoryNameVersion.java
new file mode 100644 (file)
index 0000000..b335996
--- /dev/null
@@ -0,0 +1,25 @@
+package org.argeo.slc;
+
+/**
+ * Adds a dimension to {@link NameVersion} by adding an arbitrary category (e.g.
+ * Maven groupId, yum repository ID, etc.)
+ */
+public interface CategoryNameVersion extends NameVersion {
+       /** The category of the component. */
+       String getCategory();
+
+       static CategoryNameVersion parseCategoryNameVersion(String str) {
+               if (str == null || "".equals(str.trim()))
+                       throw new IllegalArgumentException("At least one character required.");
+               String[] arr = str.trim().split(":");
+               if (arr.length > 3)
+                       throw new IllegalArgumentException(str + " does not respect the [category]:[name]:[version] pattern");
+               DefaultCategoryNameVersion res = new DefaultCategoryNameVersion();
+               res.setCategory(arr[0]);
+               if (arr.length > 1)
+                       res.setName(arr[1]);
+               if (arr.length > 2)
+                       res.setVersion(arr[2]);
+               return res;
+       }
+}
diff --git a/org.argeo.slc.api/src/org/argeo/slc/DefaultCategorizedNameVersion.java b/org.argeo.slc.api/src/org/argeo/slc/DefaultCategorizedNameVersion.java
deleted file mode 100644 (file)
index a30970e..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.argeo.slc;
-
-/** Canonical implementation of {@link CategorizedNameVersion} */
-public class DefaultCategorizedNameVersion extends DefaultNameVersion implements CategorizedNameVersion {
-       private String category;
-
-       public DefaultCategorizedNameVersion() {
-       }
-
-       public DefaultCategorizedNameVersion(String category, String name, String version) {
-               super(name, version);
-               this.category = category;
-       }
-
-       public DefaultCategorizedNameVersion(String category, NameVersion nameVersion) {
-               super(nameVersion);
-               this.category = category;
-       }
-
-       @Override
-       public String getCategory() {
-               return category;
-       }
-
-       public void setCategory(String category) {
-               this.category = category;
-       }
-
-       @Override
-       public String toString() {
-               return category + ":" + super.toString();
-       }
-
-}
diff --git a/org.argeo.slc.api/src/org/argeo/slc/DefaultCategoryNameVersion.java b/org.argeo.slc.api/src/org/argeo/slc/DefaultCategoryNameVersion.java
new file mode 100644 (file)
index 0000000..6506599
--- /dev/null
@@ -0,0 +1,34 @@
+package org.argeo.slc;
+
+/** Canonical implementation of {@link CategoryNameVersion} */
+public class DefaultCategoryNameVersion extends DefaultNameVersion implements CategoryNameVersion {
+       private String category;
+
+       public DefaultCategoryNameVersion() {
+       }
+
+       public DefaultCategoryNameVersion(String category, String name, String version) {
+               super(name, version);
+               this.category = category;
+       }
+
+       public DefaultCategoryNameVersion(String category, NameVersion nameVersion) {
+               super(nameVersion);
+               this.category = category;
+       }
+
+       @Override
+       public String getCategory() {
+               return category;
+       }
+
+       public void setCategory(String category) {
+               this.category = category;
+       }
+
+       @Override
+       public String toString() {
+               return category + ":" + super.toString();
+       }
+
+}
index 493486e23d8a0ef74ddb1389dd5e1c713414e27c..4b8878a5dcf3018e77f0667b7ce7a98a904c5622 100644 (file)
@@ -1,11 +1,11 @@
 package org.argeo.slc.repo;
 
-import org.argeo.slc.CategorizedNameVersion;
+import org.argeo.slc.CategoryNameVersion;
 import org.argeo.slc.build.Distribution;
 import org.argeo.slc.build.ModularDistribution;
 
 /** Aether compatible OSGi distribution */
 public interface ArgeoOsgiDistribution extends Distribution,
-               CategorizedNameVersion, ModularDistribution {
+               CategoryNameVersion, ModularDistribution {
 
 }
index 9a03b0157579b4522cfc67f1e04e07dde36c9e41..bc496f18ff242e9692de403564445deedf3caa25 100644 (file)
@@ -1,13 +1,13 @@
 package org.argeo.slc.repo;
 
-import org.argeo.slc.CategorizedNameVersion;
+import org.argeo.slc.CategoryNameVersion;
 import org.argeo.slc.build.Distribution;
 import org.eclipse.aether.artifact.Artifact;
 import org.eclipse.aether.artifact.DefaultArtifact;
 
 /** A {@link Distribution} based on an Aether {@link Artifact} */
 public class ArtifactDistribution implements Distribution,
-               CategorizedNameVersion {
+               CategoryNameVersion {
        private final Artifact artifact;
 
        public ArtifactDistribution(Artifact artifact) {
@@ -46,8 +46,8 @@ public class ArtifactDistribution implements Distribution,
 
        @Override
        public boolean equals(Object obj) {
-               if (obj instanceof CategorizedNameVersion) {
-                       CategorizedNameVersion cnv = (CategorizedNameVersion) obj;
+               if (obj instanceof CategoryNameVersion) {
+                       CategoryNameVersion cnv = (CategoryNameVersion) obj;
                        return getCategory().equals(cnv.getCategory())
                                        && getName().equals(cnv.getName())
                                        && getVersion().equals(cnv.getVersion());
index 9c13ce048260348baf1fd8fb020eb1489e7c343d..19627d8ffdc7db66939a8498d0d7d159716c6092 100644 (file)
@@ -22,7 +22,7 @@ import javax.jcr.Session;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
 import org.argeo.jcr.JcrUtils;
-import org.argeo.slc.CategorizedNameVersion;
+import org.argeo.slc.CategoryNameVersion;
 import org.argeo.slc.NameVersion;
 import org.argeo.slc.SlcException;
 import org.eclipse.aether.artifact.Artifact;
@@ -413,9 +413,9 @@ public class ModularDistributionFactory implements Runnable {
                b.append("<dependencies>\n");
                for (Iterator<? extends NameVersion> it = osgiDistribution.nameVersions(); it.hasNext();) {
                        NameVersion nameVersion = it.next();
-                       if (!(nameVersion instanceof CategorizedNameVersion))
+                       if (!(nameVersion instanceof CategoryNameVersion))
                                throw new SlcException("Unsupported type " + nameVersion.getClass());
-                       CategorizedNameVersion nv = (CategorizedNameVersion) nameVersion;
+                       CategoryNameVersion nv = (CategoryNameVersion) nameVersion;
                        b.append(getDependencySnippet(nv, false));
                }
                b.append("</dependencies>\n");
@@ -425,7 +425,7 @@ public class ModularDistributionFactory implements Runnable {
                b.append("<dependencies>\n");
 
                for (Iterator<? extends NameVersion> it = osgiDistribution.nameVersions(); it.hasNext();)
-                       b.append(getDependencySnippet((CategorizedNameVersion) it.next(), true));
+                       b.append(getDependencySnippet((CategoryNameVersion) it.next(), true));
                b.append("</dependencies>\n");
                b.append("</dependencyManagement>\n");
 
@@ -433,7 +433,7 @@ public class ModularDistributionFactory implements Runnable {
                return b.toString().getBytes();
        }
 
-       private String getDependencySnippet(CategorizedNameVersion cnv, boolean includeVersion) { // , String type, String
+       private String getDependencySnippet(CategoryNameVersion cnv, boolean includeVersion) { // , String type, String
                                                                                                                                                                                                // scope
                StringBuilder b = new StringBuilder();
                b.append("<dependency>\n");
@@ -469,9 +469,9 @@ public class ModularDistributionFactory implements Runnable {
        }
 
        private String getCsvLine(NameVersion nameVersion) throws RepositoryException {
-               if (!(nameVersion instanceof CategorizedNameVersion))
+               if (!(nameVersion instanceof CategoryNameVersion))
                        throw new SlcException("Unsupported type " + nameVersion.getClass());
-               CategorizedNameVersion cnv = (CategorizedNameVersion) nameVersion;
+               CategoryNameVersion cnv = (CategoryNameVersion) nameVersion;
                StringBuilder builder = new StringBuilder();
 
                builder.append(cnv.getName());
index adb591bbe23f63f46c7d9418a11ebd3a0ee5d25c..77e8f842260ee57a330abf77d2b5218b79524304 100644 (file)
@@ -21,8 +21,8 @@ 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.CategorizedNameVersion;
-import org.argeo.slc.DefaultCategorizedNameVersion;
+import org.argeo.slc.CategoryNameVersion;
+import org.argeo.slc.DefaultCategoryNameVersion;
 import org.argeo.slc.NameVersion;
 import org.argeo.slc.SlcException;
 import org.argeo.slc.SlcNames;
@@ -111,7 +111,7 @@ public class ModularDistributionIndexer implements NodeIndexer, SlcNames {
 
        // Helpers
        private Node addModule(Node modules, NameVersion nameVersion) throws RepositoryException {
-               CategorizedNameVersion cnv = (CategorizedNameVersion) nameVersion;
+               CategoryNameVersion cnv = (CategoryNameVersion) nameVersion;
                Node moduleCoord = null;
                moduleCoord = modules.addNode(cnv.getName(), SlcTypes.SLC_MODULE_COORDINATES);
                moduleCoord.setProperty(SlcNames.SLC_CATEGORY, cnv.getCategory());
@@ -126,7 +126,7 @@ public class ModularDistributionIndexer implements NodeIndexer, SlcNames {
                try {
                        jarIn = new JarInputStream(fileBinary.getStream());
 
-                       List<CategorizedNameVersion> modules = new ArrayList<CategorizedNameVersion>();
+                       List<CategoryNameVersion> modules = new ArrayList<CategoryNameVersion>();
 
                        // meta data
                        manifest = jarIn.getManifest();
@@ -169,7 +169,7 @@ public class ModularDistributionIndexer implements NodeIndexer, SlcNames {
                                st.nextToken(); // moduleVersion
                                String relativeUrl = st.nextToken();
                                Artifact currModule = AetherUtils.convertPathToArtifact(relativeUrl, null);
-                               modules.add(new DefaultCategorizedNameVersion(currModule.getGroupId(), currModule.getArtifactId(),
+                               modules.add(new DefaultCategoryNameVersion(currModule.getGroupId(), currModule.getArtifactId(),
                                                currModule.getVersion()));
                        }
                        return new MyModularDistribution(distribution, modules);
@@ -186,14 +186,14 @@ public class ModularDistributionIndexer implements NodeIndexer, SlcNames {
         */
        private class MyModularDistribution extends ArtifactDistribution implements ArgeoOsgiDistribution {
 
-               private List<CategorizedNameVersion> modules;
+               private List<CategoryNameVersion> modules;
 
-               public MyModularDistribution(Artifact artifact, List<CategorizedNameVersion> modules) {
+               public MyModularDistribution(Artifact artifact, List<CategoryNameVersion> modules) {
                        super(artifact);
                        this.modules = modules;
                }
 
-               public Iterator<CategorizedNameVersion> nameVersions() {
+               public Iterator<CategoryNameVersion> nameVersions() {
                        return modules.iterator();
                }
 
index 8becba370ceffdb996ee7db7beb8b97b788fec11..a6551a6e4d9fbcdbc436bfbfd31be348346ef1d8 100644 (file)
@@ -25,7 +25,7 @@ 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.CategorizedNameVersion;
+import org.argeo.slc.CategoryNameVersion;
 import org.argeo.slc.DefaultNameVersion;
 import org.argeo.slc.ModuleSet;
 import org.argeo.slc.NameVersion;
@@ -107,7 +107,7 @@ public class ArchiveWrapper implements Runnable, ModuleSet, Distribution {
 
        @SuppressWarnings("resource")
        protected Iterator<? extends NameVersion> osgiNameVersions() {
-               List<CategorizedNameVersion> nvs = new ArrayList<CategorizedNameVersion>();
+               List<CategoryNameVersion> nvs = new ArrayList<CategoryNameVersion>();
 
                Session distSession = null;
                ZipInputStream zin = null;
@@ -139,7 +139,7 @@ public class ArchiveWrapper implements Runnable, ModuleSet, Distribution {
                                                if (nv != null) {
                                                        if (nv.getName().endsWith(".source"))
                                                                continue entries;
-                                                       CategorizedNameVersion cnv = new OsgiCategorizedNV(groupId, nv.getName(), nv.getVersion(),
+                                                       CategoryNameVersion cnv = new ArchiveWrapperCNV(groupId, nv.getName(), nv.getVersion(),
                                                                        this);
                                                        nvs.add(cnv);
                                                        // no need to process further includes
diff --git a/org.argeo.slc.repo/src/org/argeo/slc/repo/osgi/ArchiveWrapperCNV.java b/org.argeo.slc.repo/src/org/argeo/slc/repo/osgi/ArchiveWrapperCNV.java
new file mode 100644 (file)
index 0000000..910d581
--- /dev/null
@@ -0,0 +1,25 @@
+package org.argeo.slc.repo.osgi;
+
+import org.argeo.slc.DefaultCategoryNameVersion;
+
+/** A module within an archive. */
+public class ArchiveWrapperCNV extends DefaultCategoryNameVersion implements Runnable {
+       /** Build runnable */
+       private ArchiveWrapper build;
+
+       public ArchiveWrapperCNV(String category, String name, String version, ArchiveWrapper build) {
+               super(category, name, version);
+               this.build = build;
+       }
+
+       @Override
+       public void run() {
+               if (build != null)
+                       build.run();
+       }
+
+       public ArchiveWrapper getBuild() {
+               return build;
+       }
+
+}
index 7521395e849ab7ad4597e52c145d17e62839b3d6..7e4a32e0e91c7feb4e2fadb81d60cc74d4011ba6 100644 (file)
@@ -16,7 +16,7 @@ import java.util.TreeSet;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.argeo.slc.CategorizedNameVersion;
+import org.argeo.slc.CategoryNameVersion;
 import org.argeo.slc.ModuleSet;
 import org.argeo.slc.NameVersion;
 import org.argeo.slc.build.Distribution;
@@ -59,7 +59,7 @@ public class ArgeoOsgiDistributionImpl extends ArtifactDistribution implements A
                                str = str + "\t(Maven)";
                        else if (nv instanceof UriWrapper)
                                str = str + "\t(URI)";
-                       else if (nv instanceof OsgiCategorizedNV)
+                       else if (nv instanceof ArchiveWrapperCNV)
                                str = str + "\t(OSGi from archive)";
                        else if (nv instanceof BndWrapper)
                                str = str + "\t(Plain BND from archive)";
@@ -81,8 +81,8 @@ public class ArgeoOsgiDistributionImpl extends ArtifactDistribution implements A
                while (nvIt.hasNext()) {
                        NameVersion nv = nvIt.next();
                        try {
-                               if (nv instanceof CategorizedNameVersion) {
-                                       CategorizedNameVersion cnv = (CategorizedNameVersion) nv;
+                               if (nv instanceof CategoryNameVersion) {
+                                       CategoryNameVersion cnv = (CategoryNameVersion) nv;
                                        // TODO add branch?
                                        Path categoryBase = baseDir.resolve(cnv.getCategory());
                                        Files.createDirectories(categoryBase);
@@ -138,8 +138,8 @@ public class ArgeoOsgiDistributionImpl extends ArtifactDistribution implements A
                                                        if (log.isTraceEnabled())
                                                                log.trace("Wrote " + bndPath);
                                                }
-                                       } else if (cnv instanceof OsgiCategorizedNV) {
-                                               OsgiCategorizedNV onv = (OsgiCategorizedNV) cnv;
+                                       } else if (cnv instanceof ArchiveWrapperCNV) {
+                                               ArchiveWrapperCNV onv = (ArchiveWrapperCNV) cnv;
                                                ArchiveWrapper aw = onv.getBuild();
                                                archiveWrappers.add(aw);
                                                // TODO specify and implement archive wrapper support
index 42111e7df52b4b019509d584712725f2d1b66213..ab495d219dd4c8fb449da79ea61e44d652284bc9 100644 (file)
@@ -9,7 +9,7 @@ import java.util.jar.Manifest;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.argeo.slc.CategorizedNameVersion;
+import org.argeo.slc.CategoryNameVersion;
 import org.argeo.slc.SlcException;
 import org.argeo.slc.build.Distribution;
 import org.argeo.slc.build.License;
@@ -23,7 +23,7 @@ import aQute.bnd.osgi.Constants;
 import aQute.bnd.osgi.Jar;
 
 /** Utilities around the BND library, which manipulates OSGi metadata. */
-public class BndWrapper implements Constants, CategorizedNameVersion, Distribution, BeanNameAware {
+public class BndWrapper implements Constants, CategoryNameVersion, Distribution, BeanNameAware {
        private final static Log log = LogFactory.getLog(BndWrapper.class);
 
        private String groupId;
@@ -213,8 +213,8 @@ public class BndWrapper implements Constants, CategorizedNameVersion, Distributi
 
        @Override
        public boolean equals(Object obj) {
-               if (obj instanceof CategorizedNameVersion) {
-                       CategorizedNameVersion cnv = (CategorizedNameVersion) obj;
+               if (obj instanceof CategoryNameVersion) {
+                       CategoryNameVersion cnv = (CategoryNameVersion) obj;
                        return getCategory().equals(cnv.getCategory()) && getName().equals(cnv.getName())
                                        && getVersion().equals(cnv.getVersion());
                } else
diff --git a/org.argeo.slc.repo/src/org/argeo/slc/repo/osgi/OsgiCategorizedNV.java b/org.argeo.slc.repo/src/org/argeo/slc/repo/osgi/OsgiCategorizedNV.java
deleted file mode 100644 (file)
index b54d7f0..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.argeo.slc.repo.osgi;
-
-import org.argeo.slc.DefaultCategorizedNameVersion;
-
-/** */
-class OsgiCategorizedNV extends DefaultCategorizedNameVersion implements Runnable {
-       /** Build runnable */
-       private ArchiveWrapper build;
-
-       public OsgiCategorizedNV(String category, String name, String version, ArchiveWrapper build) {
-               super(category, name, version);
-               this.build = build;
-       }
-
-       @Override
-       public void run() {
-               if (build != null)
-                       build.run();
-       }
-
-       public ArchiveWrapper getBuild() {
-               return build;
-       }
-
-}
index 7f59990379b9283ab0983837773d31e418e80bd3..7d5d77900536796ec85ae289868a81c218a55067 100644 (file)
@@ -8,7 +8,7 @@ import javax.jcr.Session;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.argeo.jcr.JcrUtils;
-import org.argeo.slc.CategorizedNameVersion;
+import org.argeo.slc.CategoryNameVersion;
 import org.argeo.slc.NameVersion;
 import org.argeo.slc.SlcException;
 import org.argeo.slc.repo.ArgeoOsgiDistribution;
@@ -36,7 +36,7 @@ public class ProcessDistribution implements Runnable {
                        // Check sources
                        for (Iterator<? extends NameVersion> it = osgiDistribution
                                        .nameVersions(); it.hasNext();) {
-                               CategorizedNameVersion nv = (CategorizedNameVersion) it.next();
+                               CategoryNameVersion nv = (CategoryNameVersion) it.next();
                                Artifact artifact = new DefaultArtifact(nv.getCategory(),
                                                nv.getName() + ".source", "jar", nv.getVersion());
                                String path = MavenConventionsUtils.artifactPath("/", artifact);
@@ -62,9 +62,9 @@ public class ProcessDistribution implements Runnable {
                        NameVersion nameVersion) throws RepositoryException {
                if (log.isTraceEnabled())
                        log.trace("Check " + nameVersion + "...");
-               if (!(nameVersion instanceof CategorizedNameVersion))
+               if (!(nameVersion instanceof CategoryNameVersion))
                        throw new SlcException("Unsupported type " + nameVersion.getClass());
-               CategorizedNameVersion nv = (CategorizedNameVersion) nameVersion;
+               CategoryNameVersion nv = (CategoryNameVersion) nameVersion;
                Artifact artifact = new DefaultArtifact(nv.getCategory(), nv.getName(),
                                "jar", nv.getVersion());
                String path = MavenConventionsUtils.artifactPath("/", artifact);