You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by si...@apache.org on 2019/04/30 21:36:00 UTC
[sling-org-apache-sling-feature-cpconverter] 04/29: 'groupId' and
'artifactId' properties not always available in
META-INF/vault/properties.xml, replaced with canonical 'name' and 'group'
This is an automated email from the ASF dual-hosted git repository.
simonetripodi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-cpconverter.git
commit d69e11d1f7aa52617b60995fc5e781e9d06f9097
Author: stripodi <st...@192.168.1.111>
AuthorDate: Thu Apr 11 16:51:18 2019 +0200
'groupId' and 'artifactId' properties not always available in
META-INF/vault/properties.xml, replaced with canonical 'name' and
'group'
---
.../ContentPackage2FeatureModelConverter.java | 27 +++++++++++++++-------
.../cpconverter/handlers/BundleEntryHandler.java | 6 +++--
.../cpconverter/vltpkg/VaultPackageAssembler.java | 4 ----
.../ContentPackage2FeatureModelConverterTest.java | 10 ++++----
4 files changed, 28 insertions(+), 19 deletions(-)
diff --git a/src/main/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverter.java b/src/main/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverter.java
index 6fde8d4..71ffa8e 100644
--- a/src/main/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverter.java
+++ b/src/main/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverter.java
@@ -16,6 +16,8 @@
*/
package org.apache.sling.feature.cpconverter;
+import static java.util.Objects.requireNonNull;
+
import java.io.File;
import java.io.FileWriter;
import java.util.Dictionary;
@@ -56,16 +58,14 @@ public class ContentPackage2FeatureModelConverter {
public static final String ZIP_TYPE = "zip";
- public static final String NAME_GROUP_ID = "groupId";
-
- public static final String NAME_ARTIFACT_ID = "artifactId";
-
public static final String FEATURE_CLASSIFIER = "cp2fm-converted-feature";
private static final String SLING_OSGI_FEATURE_TILE_TYPE = "slingosgifeature";
private static final String JSON_FILE_EXTENSION = ".json";
+ private static final String DEFEAULT_VERSION = "0.0.0";
+
private final Logger logger = LoggerFactory.getLogger(getClass());
private final PackageManager packageManager = new PackageManagerImpl();
@@ -193,12 +193,23 @@ public class ContentPackage2FeatureModelConverter {
mainPackageAssembler = VaultPackageAssembler.create(vaultPackage);
PackageProperties packageProperties = vaultPackage.getProperties();
- String groupId = packageProperties.getProperty(NAME_GROUP_ID);
- String artifactId = packageProperties.getProperty(NAME_ARTIFACT_ID);
+ String group = requireNonNull(packageProperties.getProperty(PackageProperties.NAME_GROUP),
+ PackageProperties.NAME_GROUP
+ + " property not found in content-package "
+ + contentPackage
+ + ", please check META-INF/vault/properties.xml");
+ String name = requireNonNull(packageProperties.getProperty(PackageProperties.NAME_NAME),
+ PackageProperties.NAME_NAME
+ + " property not found in content-package "
+ + contentPackage
+ + ", please check META-INF/vault/properties.xml");
String version = packageProperties.getProperty(PackageProperties.NAME_VERSION);
+ if (version == null || version.isEmpty()) {
+ version = DEFEAULT_VERSION;
+ }
- targetFeature = new Feature(new ArtifactId(groupId,
- artifactId,
+ targetFeature = new Feature(new ArtifactId(group.replace('/', '.'),
+ name,
version,
FEATURE_CLASSIFIER,
SLING_OSGI_FEATURE_TILE_TYPE));
diff --git a/src/main/java/org/apache/sling/feature/cpconverter/handlers/BundleEntryHandler.java b/src/main/java/org/apache/sling/feature/cpconverter/handlers/BundleEntryHandler.java
index 884bf06..283cf12 100644
--- a/src/main/java/org/apache/sling/feature/cpconverter/handlers/BundleEntryHandler.java
+++ b/src/main/java/org/apache/sling/feature/cpconverter/handlers/BundleEntryHandler.java
@@ -17,8 +17,6 @@
package org.apache.sling.feature.cpconverter.handlers;
import static org.apache.jackrabbit.vault.packaging.PackageProperties.NAME_VERSION;
-import static org.apache.sling.feature.cpconverter.ContentPackage2FeatureModelConverter.NAME_ARTIFACT_ID;
-import static org.apache.sling.feature.cpconverter.ContentPackage2FeatureModelConverter.NAME_GROUP_ID;
import static org.apache.sling.feature.cpconverter.ContentPackage2FeatureModelConverter.POM_TYPE;
import java.io.ByteArrayInputStream;
@@ -43,6 +41,10 @@ import org.slf4j.LoggerFactory;
public final class BundleEntryHandler extends AbstractRegexEntryHandler {
+ private static final String NAME_GROUP_ID = "groupId";
+
+ private static final String NAME_ARTIFACT_ID = "artifactId";
+
private static final String JAR_TYPE = "jar";
private final Logger logger = LoggerFactory.getLogger(getClass());
diff --git a/src/main/java/org/apache/sling/feature/cpconverter/vltpkg/VaultPackageAssembler.java b/src/main/java/org/apache/sling/feature/cpconverter/vltpkg/VaultPackageAssembler.java
index b46ec61..c68f788 100644
--- a/src/main/java/org/apache/sling/feature/cpconverter/vltpkg/VaultPackageAssembler.java
+++ b/src/main/java/org/apache/sling/feature/cpconverter/vltpkg/VaultPackageAssembler.java
@@ -17,8 +17,6 @@
package org.apache.sling.feature.cpconverter.vltpkg;
import static org.apache.sling.feature.cpconverter.ContentPackage2FeatureModelConverter.FEATURE_CLASSIFIER;
-import static org.apache.sling.feature.cpconverter.ContentPackage2FeatureModelConverter.NAME_ARTIFACT_ID;
-import static org.apache.sling.feature.cpconverter.ContentPackage2FeatureModelConverter.NAME_GROUP_ID;
import java.io.File;
import java.io.FileInputStream;
@@ -80,8 +78,6 @@ public final class VaultPackageAssembler implements EntryHandler {
PackageProperties.NAME_REQUIRES_ROOT,
PackageProperties.NAME_PACKAGE_TYPE,
PackageProperties.NAME_AC_HANDLING,
- NAME_GROUP_ID,
- NAME_ARTIFACT_ID,
NAME_PATH
}) {
String value = packageProperties.getProperty(key);
diff --git a/src/test/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverterTest.java b/src/test/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverterTest.java
index 08ec0b2..3c16634 100644
--- a/src/test/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverterTest.java
+++ b/src/test/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverterTest.java
@@ -125,24 +125,24 @@ public class ContentPackage2FeatureModelConverterTest {
verifyFeatureFile(outputDirectory,
"asd.retail.all.json",
- "org.apache.sling:asd.retail.all:slingosgifeature:cp2fm-converted-feature:0.0.1",
+ "asd.sample:asd.retail.all:slingosgifeature:cp2fm-converted-feature:0.0.1",
Arrays.asList("org.apache.felix:org.apache.felix.framework:6.0.1"),
Arrays.asList("org.apache.sling.commons.log.LogManager.factory.config-asd-retail"),
- Arrays.asList("org.apache.sling:asd.retail.all:zip:cp2fm-converted-feature:0.0.1"));
+ Arrays.asList("asd.sample:asd.retail.all:zip:cp2fm-converted-feature:0.0.1"));
verifyFeatureFile(outputDirectory,
"asd.retail.all-author.json",
- "org.apache.sling:asd.retail.all:slingosgifeature:cp2fm-converted-feature-author:0.0.1",
+ "asd.sample:asd.retail.all:slingosgifeature:cp2fm-converted-feature-author:0.0.1",
Arrays.asList("org.apache.sling:org.apache.sling.api:2.20.0"),
Collections.emptyList(),
Collections.emptyList());
verifyFeatureFile(outputDirectory,
"asd.retail.all-publish.json",
- "org.apache.sling:asd.retail.all:slingosgifeature:cp2fm-converted-feature-publish:0.0.1",
+ "asd.sample:asd.retail.all:slingosgifeature:cp2fm-converted-feature-publish:0.0.1",
Arrays.asList("org.apache.sling:org.apache.sling.models.api:1.3.8"),
Arrays.asList("org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-asd-retail"),
Collections.emptyList());
- ZipFile zipFile = new ZipFile(new File(outputDirectory, "bundles/org/apache/sling/asd.retail.all/0.0.1/asd.retail.all-0.0.1-cp2fm-converted-feature.zip"));
+ ZipFile zipFile = new ZipFile(new File(outputDirectory, "bundles/asd/sample/asd.retail.all/0.0.1/asd.retail.all-0.0.1-cp2fm-converted-feature.zip"));
for (String expectedEntry : new String[] {
"jcr_root/content/asd/.content.xml",
"jcr_root/content/asd/resources.xml",