This is an automated email from the ASF dual-hosted git repository.
kwin pushed a commit to branch master
in repository
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-cpconverter.git
The following commit(s) were added to refs/heads/master by this push:
new 163f795 SLING-10450 ContentPackage2FeatureModelConverter now
implements (#86)
163f795 is described below
commit 163f79552ff35796bb8cb59808ed3026f156b65b
Author: Konrad Windszus <[email protected]>
AuthorDate: Thu Jun 3 11:12:17 2021 +0200
SLING-10450 ContentPackage2FeatureModelConverter now implements (#86)
Closeable
makes it possible to use with try..with..resources
cleanup usage from CP2FMCLauncher
---
.../ContentPackage2FeatureModelConverter.java | 16 ++++++-----
...ntentPackage2FeatureModelConverterLauncher.java | 31 +++++++++-------------
.../ContentPackage2FeatureModelConverterTest.java | 4 +--
3 files changed, 24 insertions(+), 27 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 81ec0c3..44c2248 100644
---
a/src/main/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverter.java
+++
b/src/main/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverter.java
@@ -20,6 +20,7 @@ import static java.util.Objects.requireNonNull;
import static
org.apache.sling.feature.cpconverter.vltpkg.VaultPackageUtils.detectPackageType;
import static
org.apache.sling.feature.cpconverter.vltpkg.VaultPackageUtils.getDependencies;
+import java.io.Closeable;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
@@ -61,7 +62,7 @@ import
org.apache.sling.feature.cpconverter.vltpkg.VaultPackageAssembler;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-public class ContentPackage2FeatureModelConverter extends
BaseVaultPackageScanner {
+public class ContentPackage2FeatureModelConverter extends
BaseVaultPackageScanner implements Closeable {
public static final String ZIP_TYPE = "zip";
@@ -208,15 +209,11 @@ public class ContentPackage2FeatureModelConverter extends
BaseVaultPackageScanne
return this.tmpDirectory;
}
- public void cleanup() {
+ public void cleanup() throws IOException {
if ( this.tmpDirectory.exists() ) {
logger.info( "Cleaning up tmp directory {}", this.tmpDirectory);
- try {
- FileUtils.deleteDirectory( this.tmpDirectory );
- } catch (IOException e) {
- logger.error( "Error Deleting {}", this.tmpDirectory );
- }
+ FileUtils.deleteDirectory( this.tmpDirectory );
}
}
@@ -516,4 +513,9 @@ public class ContentPackage2FeatureModelConverter extends
BaseVaultPackageScanne
handlersManager.addEntryHandler(NodeTypesEntryHandler.forCndPattern(cndPattern));
}
+ @Override
+ public void close() throws IOException {
+ cleanup();
+ }
+
}
diff --git
a/src/main/java/org/apache/sling/feature/cpconverter/cli/ContentPackage2FeatureModelConverterLauncher.java
b/src/main/java/org/apache/sling/feature/cpconverter/cli/ContentPackage2FeatureModelConverterLauncher.java
index c18953e..59b72fa 100644
---
a/src/main/java/org/apache/sling/feature/cpconverter/cli/ContentPackage2FeatureModelConverterLauncher.java
+++
b/src/main/java/org/apache/sling/feature/cpconverter/cli/ContentPackage2FeatureModelConverterLauncher.java
@@ -205,21 +205,19 @@ public final class
ContentPackage2FeatureModelConverterLauncher implements Runna
}
}
- ContentPackage2FeatureModelConverter converter = new
ContentPackage2FeatureModelConverter(strictValidation)
-
.setFeaturesManager(featuresManager)
-
.setBundlesDeployer(new
LocalMavenRepositoryArtifactsDeployer(artifactsOutputDirectory))
-
.setEntryHandlersManager(new
DefaultEntryHandlersManager(entryHandlerConfigsMap, !disableInstallerPolicy,
slingInitialContentPolicy))
-
.setAclManager(aclManager)
-
.setEmitter(DefaultPackagesEventsEmitter.open(featureModelsOutputDirectory))
-
.setFailOnMixedPackages(failOnMixedPackages)
-
.setContentTypePackagePolicy(contentTypePackagePolicy);
-
- if (unreferencedArtifactsOutputDirectory != null) {
- converter.setUnreferencedArtifactsDeployer(new
SimpleFolderArtifactsDeployer(unreferencedArtifactsOutputDirectory));
- } else if (contentTypePackagePolicy ==
ContentPackage2FeatureModelConverter.PackagePolicy.PUT_IN_DEDICATED_FOLDER) {
- throw new IllegalStateException("Argument
'--content-type-package-policy PUT_IN_DEDICATED_FOLDER' requires argument
'--unreferenced-artifacts-output-directory' as well!");
- }
- try {
+ try (ContentPackage2FeatureModelConverter converter = new
ContentPackage2FeatureModelConverter(strictValidation)) {
+ converter.setFeaturesManager(featuresManager)
+ .setBundlesDeployer(new
LocalMavenRepositoryArtifactsDeployer(artifactsOutputDirectory))
+ .setEntryHandlersManager(new
DefaultEntryHandlersManager(entryHandlerConfigsMap, !disableInstallerPolicy,
slingInitialContentPolicy))
+ .setAclManager(aclManager)
+
.setEmitter(DefaultPackagesEventsEmitter.open(featureModelsOutputDirectory))
+ .setFailOnMixedPackages(failOnMixedPackages)
+
.setContentTypePackagePolicy(contentTypePackagePolicy);
+ if (unreferencedArtifactsOutputDirectory != null) {
+ converter.setUnreferencedArtifactsDeployer(new
SimpleFolderArtifactsDeployer(unreferencedArtifactsOutputDirectory));
+ } else if (contentTypePackagePolicy ==
ContentPackage2FeatureModelConverter.PackagePolicy.PUT_IN_DEDICATED_FOLDER) {
+ throw new IllegalStateException("Argument
'--content-type-package-policy PUT_IN_DEDICATED_FOLDER' requires argument
'--unreferenced-artifacts-output-directory' as well!");
+ }
if (filteringPatterns != null && filteringPatterns.length
> 0) {
RegexBasedResourceFilter filter = new
RegexBasedResourceFilter();
@@ -229,10 +227,7 @@ public final class
ContentPackage2FeatureModelConverterLauncher implements Runna
converter.setResourceFilter(filter);
}
-
converter.convert(contentPackages);
- } finally {
- converter.cleanup();
}
logger.info(
"+-----------------------------------------------------+" );
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 0dbab64..36b0d32 100644
---
a/src/test/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverterTest.java
+++
b/src/test/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverterTest.java
@@ -103,8 +103,8 @@ public class ContentPackage2FeatureModelConverterTest {
}
@After
- public void tearDown() {
- converter.cleanup();
+ public void tearDown() throws IOException {
+ converter.close();
}
@Test