You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cs...@apache.org on 2020/03/17 11:25:20 UTC
[sling-org-apache-sling-distribution-journal] branch master
updated: SLING-9050 - Make sure exceptions are reported to upper layer
This is an automated email from the ASF dual-hosted git repository.
cschneider pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-distribution-journal.git
The following commit(s) were added to refs/heads/master by this push:
new 2ed39f0 SLING-9050 - Make sure exceptions are reported to upper layer
2ed39f0 is described below
commit 2ed39f033d4fed7a3311cdfce1007b99253a7b3c
Author: Christian Schneider <cs...@adobe.com>
AuthorDate: Tue Mar 17 12:22:51 2020 +0100
SLING-9050 - Make sure exceptions are reported to upper layer
---
.../impl/subscriber/ContentPackageExtractor.java | 39 +++++++++++-----------
1 file changed, 19 insertions(+), 20 deletions(-)
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/ContentPackageExtractor.java b/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/ContentPackageExtractor.java
index 3196a2c..44037ab 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/ContentPackageExtractor.java
+++ b/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/ContentPackageExtractor.java
@@ -20,6 +20,7 @@ package org.apache.sling.distribution.journal.impl.subscriber;
import static java.util.Objects.requireNonNull;
+import java.io.IOException;
import java.util.List;
import javax.jcr.Node;
@@ -30,9 +31,11 @@ import javax.jcr.nodetype.NodeType;
import org.apache.jackrabbit.vault.fs.io.ImportOptions;
import org.apache.jackrabbit.vault.packaging.JcrPackage;
import org.apache.jackrabbit.vault.packaging.JcrPackageManager;
+import org.apache.jackrabbit.vault.packaging.PackageException;
import org.apache.jackrabbit.vault.packaging.Packaging;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.distribution.common.DistributionException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -54,7 +57,7 @@ public class ContentPackageExtractor {
this.packageHandling = packageHandling;
}
- public void handle(ResourceResolver resourceResolver, List<String> paths) {
+ public void handle(ResourceResolver resourceResolver, List<String> paths) throws DistributionException {
requireNonNull(resourceResolver, "Must provide resourceResolver");
if (packageHandling == PackageHandling.Off) {
return;
@@ -71,8 +74,8 @@ public class ContentPackageExtractor {
} else {
log.warn("Imported node {} does not exist. Skipping.", path);
}
- } catch (RepositoryException e) {
- log.warn("Error trying check if {} contains a content package to extract.", path, e);
+ } catch (Exception e) {
+ throw new DistributionException("Error trying to extract package at path " + path, e);
}
}
}
@@ -81,24 +84,20 @@ public class ContentPackageExtractor {
return path.startsWith(PACKAGE_BASE_PATH) && node.isNodeType(NodeType.NT_FILE);
}
- private void installPackage(String path, Node node) {
- try {
- log.info("Content package received at {}. Starting import.\n", path);
- Session session = node.getSession();
- JcrPackageManager packMgr = packageService.getPackageManager(session);
- try (JcrPackage pack = packMgr.open(node)) {
- if (pack == null) {
- return;
- }
- ImportOptions opts = new ImportOptions();
- if (packageHandling == PackageHandling.Extract) {
- pack.extract(opts);
- } else {
- pack.install(opts);
- }
+ private void installPackage(String path, Node node) throws RepositoryException, PackageException, IOException {
+ log.info("Content package received at {}. Starting import.\n", path);
+ Session session = node.getSession();
+ JcrPackageManager packMgr = packageService.getPackageManager(session);
+ try (JcrPackage pack = packMgr.open(node)) {
+ if (pack == null) {
+ return;
+ }
+ ImportOptions opts = new ImportOptions();
+ if (packageHandling == PackageHandling.Extract) {
+ pack.extract(opts);
+ } else {
+ pack.install(opts);
}
- } catch (Exception e) {
- log.warn("Error trying to extracting content package on path {}.", path, e);
}
}