You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by kw...@apache.org on 2021/06/02 18:10:16 UTC
[sling-org-apache-sling-feature-cpconverter] 01/01: SLING-10450
ContentPackage2FeatureModelConverter now implements Closeable
This is an automated email from the ASF dual-hosted git repository.
kwin pushed a commit to branch feature/converter-implements-closeable
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-cpconverter.git
commit c67f6d8d839c59d48c97214597f5866744ce6ebd
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Wed Jun 2 20:07:36 2021 +0200
SLING-10450 ContentPackage2FeatureModelConverter now implements
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