Merge branch 'master' into avoid_subpackages_flattering
# Conflicts:
# src/main/java/org/apache/sling/feature/cpconverter/acl/DefaultAclManager.java
# src/test/java/org/apache/sling/feature/cpconverter/acl/AclManagerTest.java
# src/test/java/org/apache/sling/feature/cpconverter/handlers/RepPolicyEntryHandlerTest.java
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 6b2dede..83fc5d3 100644
--- a/src/main/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverter.java
+++ b/src/main/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverter.java
@@ -23,6 +23,8 @@
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
@@ -35,6 +37,7 @@
import org.apache.jackrabbit.vault.packaging.PackageId;
import org.apache.jackrabbit.vault.packaging.PackageProperties;
import org.apache.jackrabbit.vault.packaging.VaultPackage;
+import org.apache.sling.feature.ArtifactId;
import org.apache.sling.feature.cpconverter.acl.AclManager;
import org.apache.sling.feature.cpconverter.artifacts.ArtifactsDeployer;
import org.apache.sling.feature.cpconverter.artifacts.FileArtifactWriter;
@@ -57,6 +60,8 @@
private final Map<PackageId, String> subContentPackages = new HashMap<>();
+ private final List<VaultPackageAssembler> assemblers = new LinkedList<>();
+
private EntryHandlersManager handlersManager;
private AclManager aclManager;
@@ -164,27 +169,11 @@
for (VaultPackage vaultPackage : orderedContentPackages) {
try {
mainPackageAssembler = VaultPackageAssembler.create(vaultPackage);
- PackageId packageProperties = vaultPackage.getId();
+ assemblers.add(mainPackageAssembler);
- String group = requireNonNull(packageProperties.getGroup(),
- PackageProperties.NAME_GROUP
- + " property not found in content-package "
- + vaultPackage
- + ", please check META-INF/vault/properties.xml")
- .replace('/', '.');
+ ArtifactId packageId = toArtifactId(vaultPackage);
- String name = requireNonNull(packageProperties.getName(),
- PackageProperties.NAME_NAME
- + " property not found in content-package "
- + vaultPackage
- + ", please check META-INF/vault/properties.xml");
-
- String version = packageProperties.getVersionString();
- if (version == null || version.isEmpty()) {
- version = DEFEAULT_VERSION;
- }
-
- featuresManager.init(group, name, version);
+ featuresManager.init(packageId.getGroupId(), packageId.getArtifactId(), packageId.getVersion());
logger.info("Converting content-package '{}'...", vaultPackage.getId());
@@ -196,29 +185,20 @@
// deploy the new zip content-package to the local mvn bundles dir
- artifactsDeployer.deploy(new FileArtifactWriter(contentPackageArchive),
- featuresManager.getTargetFeature().getId().getGroupId(),
- featuresManager.getTargetFeature().getId().getArtifactId(),
- featuresManager.getTargetFeature().getId().getVersion(),
- PACKAGE_CLASSIFIER,
- ZIP_TYPE);
+ artifactsDeployer.deploy(new FileArtifactWriter(contentPackageArchive), packageId);
- featuresManager.addArtifact(null,
- featuresManager.getTargetFeature().getId().getGroupId(),
- featuresManager.getTargetFeature().getId().getArtifactId(),
- featuresManager.getTargetFeature().getId().getVersion(),
- PACKAGE_CLASSIFIER,
- ZIP_TYPE);
+ featuresManager.addArtifact(null, packageId);
// finally serialize the Feature Model(s) file(s)
- aclManager.addRepoinitExtension(mainPackageAssembler, featuresManager.getTargetFeature());
+ aclManager.addRepoinitExtension(assemblers, featuresManager.getTargetFeature());
logger.info("Conversion complete!");
featuresManager.serialize();
} finally {
aclManager.reset();
+ assemblers.clear();
try {
vaultPackage.close();
@@ -259,15 +239,28 @@
return;
}
+ ArtifactId packageId = toArtifactId(vaultPackage);
+ VaultPackageAssembler clonedPackage = VaultPackageAssembler.create(vaultPackage);
+
+ // Please note: THIS IS A HACK to meet the new requirement without drastically change the original design
+ // temporary swap the main handler to collect stuff
+ VaultPackageAssembler handler = mainPackageAssembler;
+ assemblers.add(handler);
+ mainPackageAssembler = clonedPackage;
+
// scan the detected package, first
traverse(vaultPackage);
- // merge filters to the main new package
- mainPackageAssembler.mergeFilters(vaultPackage.getMetaInf().getFilter());
+ File contentPackageArchive = clonedPackage.createPackage();
- // add the metadata-only package one to the main package with overriden filter
- File clonedPackage = VaultPackageAssembler.createSynthetic(vaultPackage);
- mainPackageAssembler.addEntry(path, clonedPackage);
+ // deploy the new content-package to the local mvn bundles dir and attach it to the feature
+
+ artifactsDeployer.deploy(new FileArtifactWriter(contentPackageArchive), packageId);
+
+ featuresManager.addArtifact(null, packageId);
+
+ // restore the previous assembler
+ mainPackageAssembler = handler;
}
protected boolean isSubContentPackageIncluded(String path) {
@@ -292,6 +285,28 @@
entryHandler.handle(entryPath, archive, entry, this);
}
+ private static ArtifactId toArtifactId(VaultPackage vaultPackage) {
+ PackageId packageId = vaultPackage.getId();
+ String groupId = requireNonNull(packageId.getGroup(),
+ PackageProperties.NAME_GROUP
+ + " property not found in content-package "
+ + vaultPackage
+ + ", please check META-INF/vault/properties.xml").replace('/', '.');
+
+ String artifactid = requireNonNull(packageId.getName(),
+ PackageProperties.NAME_NAME
+ + " property not found in content-package "
+ + vaultPackage
+ + ", please check META-INF/vault/properties.xml");
+
+ String version = packageId.getVersionString();
+ if (version == null || version.isEmpty()) {
+ version = DEFEAULT_VERSION;
+ }
+
+ return new ArtifactId(groupId, artifactid, version, PACKAGE_CLASSIFIER, ZIP_TYPE);
+ }
+
@Override
protected void addCdnPattern(Pattern cndPattern) {
handlersManager.addEntryHandler(new NodeTypesEntryHandler(cndPattern));
diff --git a/src/main/java/org/apache/sling/feature/cpconverter/acl/AclManager.java b/src/main/java/org/apache/sling/feature/cpconverter/acl/AclManager.java
index f820bca..80ac1be 100644
--- a/src/main/java/org/apache/sling/feature/cpconverter/acl/AclManager.java
+++ b/src/main/java/org/apache/sling/feature/cpconverter/acl/AclManager.java
@@ -16,6 +16,8 @@
*/
package org.apache.sling.feature.cpconverter.acl;
+import java.util.List;
+
import org.apache.sling.feature.Feature;
import org.apache.sling.feature.cpconverter.vltpkg.VaultPackageAssembler;
@@ -28,7 +30,7 @@
Acl addAcl(String systemUser, Acl acl);
- void addRepoinitExtension(VaultPackageAssembler packageAssembler, Feature feature);
+ void addRepoinitExtension(List<VaultPackageAssembler> packageAssemblers, Feature feature);
void addNodetypeRegistrationSentence(String nodetypeRegistrationSentence);
diff --git a/src/main/java/org/apache/sling/feature/cpconverter/acl/DefaultAclManager.java b/src/main/java/org/apache/sling/feature/cpconverter/acl/DefaultAclManager.java
index b1816e8..11c8c4c 100644
--- a/src/main/java/org/apache/sling/feature/cpconverter/acl/DefaultAclManager.java
+++ b/src/main/java/org/apache/sling/feature/cpconverter/acl/DefaultAclManager.java
@@ -77,7 +77,7 @@
}
}
- public void addRepoinitExtension(VaultPackageAssembler packageAssembler, Feature feature) {
+ public void addRepoinitExtension(List<VaultPackageAssembler> packageAssemblers, Feature feature) {
Formatter formatter = null;
try {
formatter = new Formatter();
@@ -114,7 +114,7 @@
// create then the paths
- addPaths(authorizations, packageAssembler, formatter);
+ addPaths(authorizations, packageAssemblers, formatter);
// finally add ACLs
@@ -131,7 +131,7 @@
// make sure all paths are created first
- addPaths(authorizations, packageAssembler, formatter);
+ addPaths(authorizations, packageAssemblers, formatter);
// finally add ACLs
@@ -181,7 +181,7 @@
privileges.clear();
}
- private void addPaths(List<Acl> authorizations, VaultPackageAssembler packageAssembler, Formatter formatter) {
+ private void addPaths(List<Acl> authorizations, List<VaultPackageAssembler> packageAssemblers, Formatter formatter) {
if (areEmpty(authorizations)) {
return;
}
@@ -191,25 +191,32 @@
addPath(authorization.getPath(), paths);
}
- for (Path path : paths) {
- File currentDir = packageAssembler.getEntry(path.toString());
- String type = DEFAULT_TYPE;
+ Set<Path> visitedPaths = new HashSet<>();
+ for (VaultPackageAssembler packageAssembler: packageAssemblers) {
+ for (Path path : paths) {
+ if (!visitedPaths.add(path)) {
+ continue;
+ }
- if (currentDir.exists()) {
- File currentContent = new File(currentDir, CONTENT_XML_FILE_NAME);
- if (currentContent.exists()) {
- try (FileInputStream input = new FileInputStream(currentContent)) {
- type = new PrimaryTypeParser(DEFAULT_TYPE).parse(input);
- } catch (Exception e) {
- throw new RuntimeException("A fatal error occurred while parsing the '"
- + currentContent
- + "' file, see nested exceptions: "
- + e);
+ File currentDir = packageAssembler.getEntry(path.toString());
+ String type = DEFAULT_TYPE;
+
+ if (currentDir.exists()) {
+ File currentContent = new File(currentDir, CONTENT_XML_FILE_NAME);
+ if (currentContent.exists()) {
+ try (FileInputStream input = new FileInputStream(currentContent)) {
+ type = new PrimaryTypeParser(DEFAULT_TYPE).parse(input);
+ } catch (Exception e) {
+ throw new RuntimeException("A fatal error occurred while parsing the '"
+ + currentContent
+ + "' file, see nested exceptions: "
+ + e);
+ }
}
}
- }
- formatter.format("create path (%s) %s%n", type, path);
+ formatter.format("create path (%s) %s%n", type, path);
+ }
}
}
diff --git a/src/main/java/org/apache/sling/feature/cpconverter/artifacts/ArtifactsDeployer.java b/src/main/java/org/apache/sling/feature/cpconverter/artifacts/ArtifactsDeployer.java
index 27548cf..3e189fd 100644
--- a/src/main/java/org/apache/sling/feature/cpconverter/artifacts/ArtifactsDeployer.java
+++ b/src/main/java/org/apache/sling/feature/cpconverter/artifacts/ArtifactsDeployer.java
@@ -19,15 +19,12 @@
import java.io.File;
import java.io.IOException;
+import org.apache.sling.feature.ArtifactId;
+
public interface ArtifactsDeployer {
File getBundlesDirectory();
- void deploy(ArtifactWriter artifactWriter,
- String groupId,
- String artifactId,
- String version,
- String classifier,
- String type) throws IOException;
+ void deploy(ArtifactWriter artifactWriter, ArtifactId id) throws IOException;
}
diff --git a/src/main/java/org/apache/sling/feature/cpconverter/artifacts/DefaultArtifactsDeployer.java b/src/main/java/org/apache/sling/feature/cpconverter/artifacts/DefaultArtifactsDeployer.java
index c728642..31b519b 100644
--- a/src/main/java/org/apache/sling/feature/cpconverter/artifacts/DefaultArtifactsDeployer.java
+++ b/src/main/java/org/apache/sling/feature/cpconverter/artifacts/DefaultArtifactsDeployer.java
@@ -23,6 +23,7 @@
import java.io.IOException;
import java.util.StringTokenizer;
+import org.apache.sling.feature.ArtifactId;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -45,42 +46,34 @@
}
@Override
- public void deploy(ArtifactWriter artifactWriter,
- String groupId,
- String artifactId,
- String version,
- String classifier,
- String type) throws IOException {
+ public void deploy(ArtifactWriter artifactWriter, ArtifactId id) throws IOException {
requireNonNull(artifactWriter, "Null ArtifactWriter can not install an artifact to a Maven repository.");
- requireNonNull(groupId, "Bundle can not be installed to a Maven repository without specifying a valid 'groupId'.");
- requireNonNull(artifactId, "Bundle can not be installed to a Maven repository without specifying a valid 'artifactId'.");
- requireNonNull(version, "Bundle can not be installed to a Maven repository without specifying a valid 'version'.");
- requireNonNull(type, "Bundle can not be installed to a Maven repository without specifying a valid 'type'.");
+ requireNonNull(id, "Bundle can not be installed to a Maven repository without specifying a valid id.");
File targetDir = artifactsDirectory;
- StringTokenizer tokenizer = new StringTokenizer(groupId, ".");
+ StringTokenizer tokenizer = new StringTokenizer(id.getGroupId(), ".");
while (tokenizer.hasMoreTokens()) {
String current = tokenizer.nextToken();
targetDir = new File(targetDir, current);
}
- targetDir = new File(targetDir, artifactId);
- targetDir = new File(targetDir, version);
+ targetDir = new File(targetDir, id.getArtifactId());
+ targetDir = new File(targetDir, id.getVersion());
targetDir.mkdirs();
// deploy the main artifact
StringBuilder nameBuilder = new StringBuilder()
- .append(artifactId)
+ .append(id.getArtifactId())
.append('-')
- .append(version);
+ .append(id.getVersion());
- if (classifier != null) {
- nameBuilder.append('-').append(classifier);
+ if (id.getClassifier() != null) {
+ nameBuilder.append('-').append(id.getClassifier());
}
- nameBuilder.append('.').append(type);
+ nameBuilder.append('.').append(id.getType());
File targetFile = new File(targetDir, nameBuilder.toString());
@@ -94,10 +87,10 @@
// automatically deploy the supplied POM file
- targetFile = new File(targetDir, String.format("%s-%s.pom", artifactId, version));
+ targetFile = new File(targetDir, String.format("%s-%s.pom", id.getArtifactId(), id.getVersion()));
try (FileOutputStream targetStream = new FileOutputStream(targetFile)) {
- new MavenPomSupplierWriter(groupId, artifactId, version, type).write(targetStream);
+ new MavenPomSupplierWriter(id).write(targetStream);
}
}
diff --git a/src/main/java/org/apache/sling/feature/cpconverter/artifacts/MavenPomSupplierWriter.java b/src/main/java/org/apache/sling/feature/cpconverter/artifacts/MavenPomSupplierWriter.java
index cff6b4c..1d09166 100644
--- a/src/main/java/org/apache/sling/feature/cpconverter/artifacts/MavenPomSupplierWriter.java
+++ b/src/main/java/org/apache/sling/feature/cpconverter/artifacts/MavenPomSupplierWriter.java
@@ -21,31 +21,23 @@
import org.apache.maven.model.Model;
import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
+import org.apache.sling.feature.ArtifactId;
public final class MavenPomSupplierWriter implements ArtifactWriter {
- private final String groupId;
+ private final ArtifactId id;
- private final String artifactId;
-
- private final String version;
-
- private final String type;
-
- public MavenPomSupplierWriter(String groupId, String artifactId, String version, String type) {
- this.groupId = groupId;
- this.artifactId = artifactId;
- this.version = version;
- this.type = type;
+ public MavenPomSupplierWriter(ArtifactId id) {
+ this.id = id;
}
@Override
public void write(OutputStream outputStream) throws IOException {
Model model = new Model();
- model.setGroupId(groupId);
- model.setArtifactId(artifactId);
- model.setVersion(version);
- model.setPackaging(type);
+ model.setGroupId(id.getGroupId());
+ model.setArtifactId(id.getArtifactId());
+ model.setVersion(id.getVersion());
+ model.setPackaging(id.getType());
new MavenXpp3Writer().write(outputStream, model);
}
diff --git a/src/main/java/org/apache/sling/feature/cpconverter/features/DefaultFeaturesManager.java b/src/main/java/org/apache/sling/feature/cpconverter/features/DefaultFeaturesManager.java
index 526cd9e..f805eef 100644
--- a/src/main/java/org/apache/sling/feature/cpconverter/features/DefaultFeaturesManager.java
+++ b/src/main/java/org/apache/sling/feature/cpconverter/features/DefaultFeaturesManager.java
@@ -109,23 +109,15 @@
return runModes.computeIfAbsent(runMode, k -> new Feature(newId));
}
- public void addArtifact(String runMode,
- String groupId,
- String artifactId,
- String version,
- String classifier,
- String type) {
- requireNonNull(groupId, "Artifact can not be attached to a feature without specifying a valid 'groupId'.");
- requireNonNull(artifactId, "Artifact can not be attached to a feature without specifying a valid 'artifactId'.");
- requireNonNull(version, "Artifact can not be attached to a feature without specifying a valid 'version'.");
- requireNonNull(type, "Artifact can not be attached to a feature without specifying a valid 'type'.");
+ public void addArtifact(String runMode, ArtifactId id) {
+ requireNonNull(id, "Artifact can not be attached to a feature without specifying a valid ArtifactId.");
- Artifact artifact = new Artifact(new ArtifactId(groupId, artifactId, version, classifier, type));
+ Artifact artifact = new Artifact(id);
Feature targetFeature = getRunMode(runMode);
Artifacts artifacts;
- if (ZIP_TYPE.equals(type) ) {
+ if (ZIP_TYPE.equals(id.getType()) ) {
Extensions extensions = targetFeature.getExtensions();
Extension extension = extensions.getByName(CONTENT_PACKAGES);
diff --git a/src/main/java/org/apache/sling/feature/cpconverter/features/FeaturesManager.java b/src/main/java/org/apache/sling/feature/cpconverter/features/FeaturesManager.java
index 5c0b672..30851be 100644
--- a/src/main/java/org/apache/sling/feature/cpconverter/features/FeaturesManager.java
+++ b/src/main/java/org/apache/sling/feature/cpconverter/features/FeaturesManager.java
@@ -18,6 +18,7 @@
import java.util.Dictionary;
+import org.apache.sling.feature.ArtifactId;
import org.apache.sling.feature.Feature;
public interface FeaturesManager {
@@ -28,12 +29,7 @@
Feature getRunMode(String runMode);
- void addArtifact(String runMode,
- String groupId,
- String artifactId,
- String version,
- String classifier,
- String type);
+ void addArtifact(String runMode, ArtifactId id);
void addConfiguration(String runMode, String pid, Dictionary<String, Object> configurationProperties);
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 eee0c40..e757de0 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
@@ -30,6 +30,7 @@
import org.apache.jackrabbit.vault.fs.io.Archive;
import org.apache.jackrabbit.vault.fs.io.Archive.Entry;
+import org.apache.sling.feature.ArtifactId;
import org.apache.sling.feature.cpconverter.ContentPackage2FeatureModelConverter;
import org.apache.sling.feature.cpconverter.artifacts.InputStreamArtifactWriter;
import org.slf4j.Logger;
@@ -99,19 +100,11 @@
}
try (InputStream input = archive.openInputStream(entry)) {
- converter.getArtifactsDeployer().deploy(new InputStreamArtifactWriter(input),
- groupId,
- artifactId,
- version,
- classifier,
- JAR_TYPE);
+ ArtifactId id = new ArtifactId(groupId, artifactId, version, classifier, JAR_TYPE);
- converter.getFeaturesManager().addArtifact(runMode,
- groupId,
- artifactId,
- version,
- classifier,
- JAR_TYPE);
+ converter.getArtifactsDeployer().deploy(new InputStreamArtifactWriter(input), id);
+
+ converter.getFeaturesManager().addArtifact(runMode, id);
}
}
diff --git a/src/test/java/org/apache/sling/feature/cpconverter/acl/AclManagerTest.java b/src/test/java/org/apache/sling/feature/cpconverter/acl/AclManagerTest.java
index 5ae7cd8..2fc239b 100644
--- a/src/test/java/org/apache/sling/feature/cpconverter/acl/AclManagerTest.java
+++ b/src/test/java/org/apache/sling/feature/cpconverter/acl/AclManagerTest.java
@@ -24,6 +24,7 @@
import java.io.File;
import java.nio.file.Paths;
+import java.util.Arrays;
import org.apache.sling.feature.ArtifactId;
import org.apache.sling.feature.Extension;
@@ -66,7 +67,7 @@
when(assembler.getEntry(anyString())).thenReturn(new File(System.getProperty("java.io.tmpdir")));
Feature feature = new Feature(new ArtifactId("org.apache.sling", "org.apache.sling.cp2fm", "0.0.1", null, null));
- aclManager.addRepoinitExtension(assembler, feature);
+ aclManager.addRepoinitExtension(Arrays.asList(assembler), feature);
Extension repoinitExtension = feature.getExtensions().getByName(Extension.EXTENSION_NAME_REPOINIT);
assertNotNull(repoinitExtension);
diff --git a/src/test/java/org/apache/sling/feature/cpconverter/artifacts/DefaultBundlesDeployerTest.java b/src/test/java/org/apache/sling/feature/cpconverter/artifacts/DefaultBundlesDeployerTest.java
index d5f9f73..0b9b914 100644
--- a/src/test/java/org/apache/sling/feature/cpconverter/artifacts/DefaultBundlesDeployerTest.java
+++ b/src/test/java/org/apache/sling/feature/cpconverter/artifacts/DefaultBundlesDeployerTest.java
@@ -54,27 +54,12 @@
@Test(expected = NullPointerException.class)
public void deployLocallyAndAttachRequiresNonNullInput() throws Exception {
- artifactDeployer.deploy(null, null, null, null, null, null);
- }
-
- @Test(expected = NullPointerException.class)
- public void deployLocallyAndAttachRequiresNonNullGroupId() throws Exception {
- artifactDeployer.deploy(mock(ArtifactWriter.class), null, null, null, null, null);
+ artifactDeployer.deploy(null, null);
}
@Test(expected = NullPointerException.class)
public void deployLocallyAndAttachRequiresNonNullArtifactId() throws Exception {
- artifactDeployer.deploy(mock(ArtifactWriter.class), "org.apache.sling", null, null, null, null);
- }
-
- @Test(expected = NullPointerException.class)
- public void deployLocallyAndAttachRequiresNonNullVersion() throws Exception {
- artifactDeployer.deploy(mock(ArtifactWriter.class), "org.apache.sling", "org.apache.sling.cm2fm", null, null, null);
- }
-
- @Test(expected = NullPointerException.class)
- public void deployLocallyAndAttachRequiresNonNullType() throws Exception {
- artifactDeployer.deploy(mock(ArtifactWriter.class), "org.apache.sling", "org.apache.sling.cm2fm", "0.0.1", null, null);
+ artifactDeployer.deploy(mock(ArtifactWriter.class), null);
}
}
diff --git a/src/test/java/org/apache/sling/feature/cpconverter/features/FeaturesManagerTest.java b/src/test/java/org/apache/sling/feature/cpconverter/features/FeaturesManagerTest.java
index 02c3882..7cb6c20 100644
--- a/src/test/java/org/apache/sling/feature/cpconverter/features/FeaturesManagerTest.java
+++ b/src/test/java/org/apache/sling/feature/cpconverter/features/FeaturesManagerTest.java
@@ -40,28 +40,8 @@
}
@Test(expected = NullPointerException.class)
- public void deployLocallyAndaddArtifactRequiresNonNullInput() throws Exception {
- featuresManager.addArtifact(null, null, null, null, null, null);
- }
-
- @Test(expected = NullPointerException.class)
- public void deployLocallyAndaddArtifactRequiresNonNullGroupId() throws Exception {
- featuresManager.addArtifact(null, null, null, null, null, null);
- }
-
- @Test(expected = NullPointerException.class)
- public void deployLocallyAndaddArtifactRequiresNonNullArtifactId() throws Exception {
- featuresManager.addArtifact(null, "org.apache.sling", null, null, null, null);
- }
-
- @Test(expected = NullPointerException.class)
- public void deployLocallyAndaddArtifactRequiresNonNullVersion() throws Exception {
- featuresManager.addArtifact(null, "org.apache.sling", "org.apache.sling.cm2fm", null, null, null);
- }
-
- @Test(expected = NullPointerException.class)
- public void deployLocallyAndaddArtifactRequiresNonNullType() throws Exception {
- featuresManager.addArtifact(null, "org.apache.sling", "org.apache.sling.cm2fm", "0.0.1", null, null);
+ public void deployLocallyAndaddArtifactRequiresNonNullId() throws Exception {
+ featuresManager.addArtifact(null, null);
}
}
diff --git a/src/test/java/org/apache/sling/feature/cpconverter/handlers/BundleEntryHandlerTest.java b/src/test/java/org/apache/sling/feature/cpconverter/handlers/BundleEntryHandlerTest.java
index 0d8f131..23c9edf 100644
--- a/src/test/java/org/apache/sling/feature/cpconverter/handlers/BundleEntryHandlerTest.java
+++ b/src/test/java/org/apache/sling/feature/cpconverter/handlers/BundleEntryHandlerTest.java
@@ -19,6 +19,7 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.doCallRealMethod;
import static org.mockito.Mockito.mock;
@@ -91,7 +92,7 @@
FeaturesManager featuresManager = spy(DefaultFeaturesManager.class);
when(featuresManager.getTargetFeature()).thenReturn(feature);
when(featuresManager.getRunMode(anyString())).thenReturn(feature);
- doCallRealMethod().when(featuresManager).addArtifact(anyString(), anyString(), anyString(), anyString(), anyString(), anyString());
+ doCallRealMethod().when(featuresManager).addArtifact(anyString(), any(ArtifactId.class));
ContentPackage2FeatureModelConverter converter = spy(ContentPackage2FeatureModelConverter.class);
diff --git a/src/test/java/org/apache/sling/feature/cpconverter/handlers/PrivilegesHandlerTest.java b/src/test/java/org/apache/sling/feature/cpconverter/handlers/PrivilegesHandlerTest.java
index 953218e..f384139 100644
--- a/src/test/java/org/apache/sling/feature/cpconverter/handlers/PrivilegesHandlerTest.java
+++ b/src/test/java/org/apache/sling/feature/cpconverter/handlers/PrivilegesHandlerTest.java
@@ -23,6 +23,8 @@
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;
+import java.util.Arrays;
+
import org.apache.jackrabbit.vault.fs.io.Archive;
import org.apache.jackrabbit.vault.fs.io.Archive.Entry;
import org.apache.sling.feature.ArtifactId;
@@ -80,7 +82,7 @@
handler.handle(path, archive, entry, converter);
- converter.getAclManager().addRepoinitExtension(packageAssembler, feature);
+ converter.getAclManager().addRepoinitExtension(Arrays.asList(packageAssembler), feature);
Extension repoinitExtension = feature.getExtensions().getByName(Extension.EXTENSION_NAME_REPOINIT);
assertNotNull(repoinitExtension);
diff --git a/src/test/java/org/apache/sling/feature/cpconverter/handlers/RepPolicyEntryHandlerTest.java b/src/test/java/org/apache/sling/feature/cpconverter/handlers/RepPolicyEntryHandlerTest.java
index e39c660..a94cf52 100644
--- a/src/test/java/org/apache/sling/feature/cpconverter/handlers/RepPolicyEntryHandlerTest.java
+++ b/src/test/java/org/apache/sling/feature/cpconverter/handlers/RepPolicyEntryHandlerTest.java
@@ -16,18 +16,19 @@
*/
package org.apache.sling.feature.cpconverter.handlers;
-import static org.mockito.ArgumentMatchers.anyString;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;
import java.io.File;
import java.nio.file.Paths;
+import java.util.Arrays;
import org.apache.jackrabbit.vault.fs.io.Archive;
import org.apache.jackrabbit.vault.fs.io.Archive.Entry;
@@ -178,7 +179,7 @@
when(packageAssembler.getEntry(anyString())).thenReturn(new File("itdoesnotexist"));
- converter.getAclManager().addRepoinitExtension(packageAssembler, feature);
+ converter.getAclManager().addRepoinitExtension(Arrays.asList(packageAssembler), feature);
return feature.getExtensions().getByName(Extension.EXTENSION_NAME_REPOINIT);
}
diff --git a/src/test/java/org/apache/sling/feature/cpconverter/handlers/SystemUsersEntryHandlerTest.java b/src/test/java/org/apache/sling/feature/cpconverter/handlers/SystemUsersEntryHandlerTest.java
index efb6d14..a4f133a 100644
--- a/src/test/java/org/apache/sling/feature/cpconverter/handlers/SystemUsersEntryHandlerTest.java
+++ b/src/test/java/org/apache/sling/feature/cpconverter/handlers/SystemUsersEntryHandlerTest.java
@@ -25,6 +25,7 @@
import static org.mockito.Mockito.*;
import java.io.File;
+import java.util.Arrays;
import org.apache.jackrabbit.vault.fs.io.Archive;
import org.apache.jackrabbit.vault.fs.io.Archive.Entry;
@@ -105,7 +106,7 @@
when(packageAssembler.getEntry(anyString())).thenReturn(new File("itdoesnotexist"));
- converter.getAclManager().addRepoinitExtension(packageAssembler, feature);
+ converter.getAclManager().addRepoinitExtension(Arrays.asList(packageAssembler), feature);
return feature.getExtensions().getByName(Extension.EXTENSION_NAME_REPOINIT);
}