You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by mp...@apache.org on 2015/05/19 12:59:03 UTC

svn commit: r1680244 - in /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution: packaging/ packaging/impl/ packaging/impl/exporter/ packaging/impl/importer/ serialization/impl/ servlet/

Author: mpetria
Date: Tue May 19 10:59:02 2015
New Revision: 1680244

URL: http://svn.apache.org/r1680244
Log:
SLING-4716: delete distribution packages that are not imported correctly by importStream

Modified:
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageImporter.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/DistributionPackageUtils.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporter.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/AdvancedRemoteDistributionPackageImporter.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporter.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterFactory.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporter.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterFactory.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RepositoryDistributionPackageImporter.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RepositoryDistributionPackageImporterFactory.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/ResourceSharedDistributionPackageBuilder.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionPackageImporterServlet.java

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageImporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageImporter.java?rev=1680244&r1=1680243&r2=1680244&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageImporter.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageImporter.java Tue May 19 10:59:02 2015
@@ -46,10 +46,10 @@ public interface DistributionPackageImpo
      *
      * @param resourceResolver - the resource resolver used to read the package
      * @param stream           the {@link InputStream} of the package to be converted and installed
-     * @return a {@link DistributionPackage} if the stream has been successfully converted and installed
+     * @return a {@link DistributionPackageInfo} if the stream has been successfully converted and installed
      * @throws DistributionPackageImportException when the stream cannot be read as a {@link DistributionPackage} and installed
      */
-    @CheckForNull
-    DistributionPackage importStream(@Nonnull ResourceResolver resourceResolver, @Nonnull InputStream stream) throws DistributionPackageImportException;
+    @Nonnull
+    DistributionPackageInfo importStream(@Nonnull ResourceResolver resourceResolver, @Nonnull InputStream stream) throws DistributionPackageImportException;
 
 }

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/DistributionPackageUtils.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/DistributionPackageUtils.java?rev=1680244&r1=1680243&r2=1680244&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/DistributionPackageUtils.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/DistributionPackageUtils.java Tue May 19 10:59:02 2015
@@ -46,9 +46,20 @@ public class DistributionPackageUtils {
                 log.error("package {} cannot be released from null queue", distributionPackage.getId());
             }
         } else {
-            distributionPackage.delete();
+            deleteSafely(distributionPackage);
             log.debug("package {} deleted", distributionPackage.getId());
         }
     }
 
+    public static void deleteSafely(DistributionPackage distributionPackage) {
+        if (distributionPackage == null) {
+            return;
+        }
+        try {
+            distributionPackage.delete();
+        } catch (Throwable t) {
+            log.error("error deleting package", t);
+        }
+    }
+
 }

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporter.java?rev=1680244&r1=1680243&r2=1680244&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporter.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporter.java Tue May 19 10:59:02 2015
@@ -87,6 +87,8 @@ public class AgentDistributionPackageExp
                     log.info("item {} fetched from the queue", info);
                     if (distributionPackage != null) {
                         result.add(new AgentDistributionPackage(distributionPackage, queue));
+                    } else {
+                        log.warn("cannot get package {}", info);
                     }
                 } else {
                     log.warn("cannot find package builder with type {}", info.getType());

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/AdvancedRemoteDistributionPackageImporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/AdvancedRemoteDistributionPackageImporter.java?rev=1680244&r1=1680243&r2=1680244&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/AdvancedRemoteDistributionPackageImporter.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/AdvancedRemoteDistributionPackageImporter.java Tue May 19 10:59:02 2015
@@ -38,6 +38,7 @@ import org.apache.sling.distribution.log
 import org.apache.sling.distribution.packaging.DistributionPackage;
 import org.apache.sling.distribution.packaging.DistributionPackageImportException;
 import org.apache.sling.distribution.packaging.DistributionPackageImporter;
+import org.apache.sling.distribution.packaging.DistributionPackageInfo;
 import org.apache.sling.distribution.transport.core.DistributionTransport;
 import org.apache.sling.distribution.transport.DistributionTransportSecretProvider;
 import org.apache.sling.distribution.transport.impl.AdvancedHttpDistributionTransport;
@@ -148,7 +149,7 @@ public class AdvancedRemoteDistributionP
         }
     }
 
-    public DistributionPackage importStream(@Nonnull ResourceResolver resourceResolver, @Nonnull InputStream stream) throws DistributionPackageImportException {
+    public DistributionPackageInfo importStream(@Nonnull ResourceResolver resourceResolver, @Nonnull InputStream stream) throws DistributionPackageImportException {
         throw new DistributionPackageImportException("not supported");
     }
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporter.java?rev=1680244&r1=1680243&r2=1680244&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporter.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporter.java Tue May 19 10:59:02 2015
@@ -26,6 +26,8 @@ import org.apache.sling.api.resource.Res
 import org.apache.sling.distribution.packaging.DistributionPackage;
 import org.apache.sling.distribution.packaging.DistributionPackageImportException;
 import org.apache.sling.distribution.packaging.DistributionPackageImporter;
+import org.apache.sling.distribution.packaging.DistributionPackageInfo;
+import org.apache.sling.distribution.packaging.impl.DistributionPackageUtils;
 import org.apache.sling.distribution.serialization.DistributionPackageBuilder;
 import org.apache.sling.distribution.serialization.DistributionPackageReadingException;
 import org.slf4j.Logger;
@@ -56,25 +58,33 @@ public class LocalDistributionPackageImp
         try {
             boolean success = packageBuilder.installPackage(resourceResolver, distributionPackage);
 
-            if (success) {
-                log.info("Distribution package read and installed for path(s) {}", Arrays.toString(distributionPackage.getInfo().getPaths()));
 
-            } else {
+            if (!success) {
                 log.warn("could not install distribution package {}", distributionPackage.getId());
             }
+
         } catch (Exception e) {
             log.error("cannot import a package from the given stream of type {}", distributionPackage.getType());
             throw new DistributionPackageImportException(e);
         }
     }
 
-    public DistributionPackage importStream(@Nonnull ResourceResolver resourceResolver, @Nonnull InputStream stream) throws DistributionPackageImportException {
+    public DistributionPackageInfo importStream(@Nonnull ResourceResolver resourceResolver, @Nonnull InputStream stream) throws DistributionPackageImportException {
+        DistributionPackage distributionPackage = null;
         try {
-            DistributionPackage distributionPackage = packageBuilder.readPackage(resourceResolver, stream);
-            importPackage(resourceResolver, distributionPackage);
-            return distributionPackage;
+            distributionPackage = packageBuilder.readPackage(resourceResolver, stream);
+
+            boolean success = packageBuilder.installPackage(resourceResolver, distributionPackage);
+
+            if (!success) {
+                log.warn("could not install distribution package {}", distributionPackage.getId());
+            }
+
+            return distributionPackage.getInfo();
         } catch (DistributionPackageReadingException e) {
             throw new DistributionPackageImportException("cannot read a package from the given stream", e);
+        } finally {
+            DistributionPackageUtils.deleteSafely(distributionPackage);
         }
     }
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterFactory.java?rev=1680244&r1=1680243&r2=1680244&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterFactory.java Tue May 19 10:59:02 2015
@@ -37,6 +37,7 @@ import org.apache.sling.distribution.eve
 import org.apache.sling.distribution.packaging.DistributionPackage;
 import org.apache.sling.distribution.packaging.DistributionPackageImportException;
 import org.apache.sling.distribution.packaging.DistributionPackageImporter;
+import org.apache.sling.distribution.packaging.DistributionPackageInfo;
 import org.apache.sling.distribution.serialization.DistributionPackageBuilder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -85,15 +86,15 @@ public class LocalDistributionPackageImp
         eventFactory.generatePackageEvent(DistributionEventTopics.IMPORTER_PACKAGE_IMPORTED, DistributionComponentKind.IMPORTER, name, distributionPackage.getInfo());
     }
 
-    public DistributionPackage importStream(@Nonnull ResourceResolver resourceResolver, @Nonnull InputStream stream) throws DistributionPackageImportException {
-        DistributionPackage distributionPackage = importer.importStream(resourceResolver, stream);
+    public DistributionPackageInfo importStream(@Nonnull ResourceResolver resourceResolver, @Nonnull InputStream stream) throws DistributionPackageImportException {
+        DistributionPackageInfo distributionPackageInfo = importer.importStream(resourceResolver, stream);
 
 
-        if (distributionPackage != null) {
-            eventFactory.generatePackageEvent(DistributionEventTopics.IMPORTER_PACKAGE_IMPORTED, DistributionComponentKind.IMPORTER, name, distributionPackage.getInfo());
+        if (distributionPackageInfo != null) {
+            eventFactory.generatePackageEvent(DistributionEventTopics.IMPORTER_PACKAGE_IMPORTED, DistributionComponentKind.IMPORTER, name, distributionPackageInfo);
         }
 
-        return distributionPackage;
+        return distributionPackageInfo;
     }
 
 }

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporter.java?rev=1680244&r1=1680243&r2=1680244&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporter.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporter.java Tue May 19 10:59:02 2015
@@ -28,6 +28,7 @@ import org.apache.sling.distribution.log
 import org.apache.sling.distribution.packaging.DistributionPackage;
 import org.apache.sling.distribution.packaging.DistributionPackageImportException;
 import org.apache.sling.distribution.packaging.DistributionPackageImporter;
+import org.apache.sling.distribution.packaging.DistributionPackageInfo;
 import org.apache.sling.distribution.transport.core.DistributionTransport;
 import org.apache.sling.distribution.transport.DistributionTransportSecretProvider;
 import org.apache.sling.distribution.transport.impl.DistributionEndpoint;
@@ -81,7 +82,7 @@ public class RemoteDistributionPackageIm
         }
     }
 
-    public DistributionPackage importStream(@Nonnull ResourceResolver resourceResolver, @Nonnull InputStream stream) throws DistributionPackageImportException {
+    public DistributionPackageInfo importStream(@Nonnull ResourceResolver resourceResolver, @Nonnull InputStream stream) throws DistributionPackageImportException {
         throw new DistributionPackageImportException("not supported");
     }
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterFactory.java?rev=1680244&r1=1680243&r2=1680244&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterFactory.java Tue May 19 10:59:02 2015
@@ -38,6 +38,7 @@ import org.apache.sling.distribution.log
 import org.apache.sling.distribution.packaging.DistributionPackage;
 import org.apache.sling.distribution.packaging.DistributionPackageImportException;
 import org.apache.sling.distribution.packaging.DistributionPackageImporter;
+import org.apache.sling.distribution.packaging.DistributionPackageInfo;
 import org.apache.sling.distribution.transport.DistributionTransportSecretProvider;
 import org.apache.sling.distribution.transport.impl.TransportEndpointStrategyType;
 import org.slf4j.Logger;
@@ -114,7 +115,7 @@ public class RemoteDistributionPackageIm
         importer.importPackage(resourceResolver, distributionPackage);
     }
 
-    public DistributionPackage importStream(@Nonnull ResourceResolver resourceResolver, @Nonnull InputStream stream) throws DistributionPackageImportException {
+    public DistributionPackageInfo importStream(@Nonnull ResourceResolver resourceResolver, @Nonnull InputStream stream) throws DistributionPackageImportException {
         return importer.importStream(resourceResolver, stream);
     }
 }

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RepositoryDistributionPackageImporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RepositoryDistributionPackageImporter.java?rev=1680244&r1=1680243&r2=1680244&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RepositoryDistributionPackageImporter.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RepositoryDistributionPackageImporter.java Tue May 19 10:59:02 2015
@@ -33,6 +33,7 @@ import org.apache.sling.api.resource.Res
 import org.apache.sling.distribution.packaging.DistributionPackage;
 import org.apache.sling.distribution.packaging.DistributionPackageImportException;
 import org.apache.sling.distribution.packaging.DistributionPackageImporter;
+import org.apache.sling.distribution.packaging.DistributionPackageInfo;
 import org.apache.sling.jcr.api.SlingRepository;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -98,7 +99,7 @@ public class RepositoryDistributionPacka
         }
     }
 
-    public DistributionPackage importStream(@Nonnull ResourceResolver resourceResolver, @Nonnull InputStream stream) throws DistributionPackageImportException {
+    public DistributionPackageInfo importStream(@Nonnull ResourceResolver resourceResolver, @Nonnull InputStream stream) throws DistributionPackageImportException {
         throw new DistributionPackageImportException("not supported");
     }
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RepositoryDistributionPackageImporterFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RepositoryDistributionPackageImporterFactory.java?rev=1680244&r1=1680243&r2=1680244&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RepositoryDistributionPackageImporterFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RepositoryDistributionPackageImporterFactory.java Tue May 19 10:59:02 2015
@@ -34,6 +34,7 @@ import org.apache.sling.distribution.com
 import org.apache.sling.distribution.packaging.DistributionPackage;
 import org.apache.sling.distribution.packaging.DistributionPackageImportException;
 import org.apache.sling.distribution.packaging.DistributionPackageImporter;
+import org.apache.sling.distribution.packaging.DistributionPackageInfo;
 import org.apache.sling.jcr.api.SlingRepository;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -85,7 +86,7 @@ public class RepositoryDistributionPacka
 
     }
 
-    public DistributionPackage importStream(@Nonnull ResourceResolver resourceResolver, @Nonnull InputStream stream) throws DistributionPackageImportException {
+    public DistributionPackageInfo importStream(@Nonnull ResourceResolver resourceResolver, @Nonnull InputStream stream) throws DistributionPackageImportException {
         return importer.importStream(resourceResolver, stream);
     }
 }

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/ResourceSharedDistributionPackageBuilder.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/ResourceSharedDistributionPackageBuilder.java?rev=1680244&r1=1680243&r2=1680244&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/ResourceSharedDistributionPackageBuilder.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/ResourceSharedDistributionPackageBuilder.java Tue May 19 10:59:02 2015
@@ -34,6 +34,7 @@ import org.apache.sling.api.resource.Res
 import org.apache.sling.api.resource.ValueMap;
 import org.apache.sling.distribution.DistributionRequest;
 import org.apache.sling.distribution.packaging.DistributionPackage;
+import org.apache.sling.distribution.packaging.impl.DistributionPackageUtils;
 import org.apache.sling.distribution.serialization.DistributionPackageBuilder;
 import org.apache.sling.distribution.serialization.DistributionPackageBuildingException;
 import org.apache.sling.distribution.serialization.DistributionPackageReadingException;
@@ -69,15 +70,19 @@ public class ResourceSharedDistributionP
             return null;
         }
 
+        String packageName = null;
         try {
-            String packageName = generateNameFromId(resourceResolver, distributionPackage);
-            String packagePath = getPathFromName(packageName);
+            packageName = generateNameFromId(resourceResolver, distributionPackage);
 
-            return new ResourceSharedDistributionPackage(repolock, resourceResolver, packageName, packagePath, distributionPackage);
         }
         catch (PersistenceException e) {
+            DistributionPackageUtils.deleteSafely(distributionPackage);
             throw new DistributionPackageBuildingException(e);
         }
+
+        String packagePath = getPathFromName(packageName);
+        return new ResourceSharedDistributionPackage(repolock, resourceResolver, packageName, packagePath, distributionPackage);
+
     }
 
     @CheckForNull
@@ -88,15 +93,19 @@ public class ResourceSharedDistributionP
             return null;
         }
 
+        String packageName = null;
         try {
-            String packageName = generateNameFromId(resourceResolver, distributionPackage);
-            String packagePath = getPathFromName(packageName);
+            packageName = generateNameFromId(resourceResolver, distributionPackage);
 
-            return new ResourceSharedDistributionPackage(repolock, resourceResolver, packageName, packagePath, distributionPackage);
         }
         catch (PersistenceException e) {
+            DistributionPackageUtils.deleteSafely(distributionPackage);
             throw new DistributionPackageReadingException(e);
         }
+
+        String packagePath = getPathFromName(packageName);
+
+        return new ResourceSharedDistributionPackage(repolock, resourceResolver, packageName, packagePath, distributionPackage);
     }
 
     public DistributionPackage getPackage(@Nonnull ResourceResolver resourceResolver, @Nonnull String distributionPackageId) {
@@ -112,7 +121,9 @@ public class ResourceSharedDistributionP
         if (distributionPackage == null) {
             return null;
         }
+
         String packagePath = getPathFromName(packageName);
+
         return new ResourceSharedDistributionPackage(repolock, resourceResolver, packageName, packagePath, distributionPackage);
     }
 
@@ -130,27 +141,27 @@ public class ResourceSharedDistributionP
 
     private  String generateNameFromId(ResourceResolver resourceResolver, DistributionPackage distributionPackage) throws PersistenceException {
 
-            String name = PACKAGE_NAME_PREFIX + "_" + System.currentTimeMillis() + "_" +  UUID.randomUUID();
+        String name = PACKAGE_NAME_PREFIX + "_" + System.currentTimeMillis() + "_" +  UUID.randomUUID();
 
-            Map<String, Object> properties = new HashMap<String, Object>();
-            properties.put(PN_ORIGINAL_ID, distributionPackage.getId());
+        Map<String, Object> properties = new HashMap<String, Object>();
+        properties.put(PN_ORIGINAL_ID, distributionPackage.getId());
 
-            // save the info just for debugging purposes
-            if (distributionPackage.getInfo().getRequestType() != null) {
-                properties.put(PN_ORIGINAL_REQUEST_TYPE, distributionPackage.getInfo().getRequestType());
+        // save the info just for debugging purposes
+        if (distributionPackage.getInfo().getRequestType() != null) {
+            properties.put(PN_ORIGINAL_REQUEST_TYPE, distributionPackage.getInfo().getRequestType().toString());
 
-            }
-            if (distributionPackage.getInfo().getPaths() != null) {
-                properties.put(PN_ORIGINAL_PATHS, distributionPackage.getInfo().getPaths());
-            }
+        }
+        if (distributionPackage.getInfo().getPaths() != null) {
+            properties.put(PN_ORIGINAL_PATHS, distributionPackage.getInfo().getPaths());
+        }
 
-            String packagePath = getPathFromName(name);
+        String packagePath = getPathFromName(name);
 
-            Resource resource = ResourceUtil.getOrCreateResource(resourceResolver, packagePath,
-                    "sling:Folder", "sling:Folder", false);
+        Resource resource = ResourceUtil.getOrCreateResource(resourceResolver, packagePath,
+                "sling:Folder", "sling:Folder", false);
 
-            ModifiableValueMap valueMap = resource.adaptTo(ModifiableValueMap.class);
-            valueMap.putAll(properties);
+        ModifiableValueMap valueMap = resource.adaptTo(ModifiableValueMap.class);
+        valueMap.putAll(properties);
 
         synchronized (repolock) {
             resourceResolver.create(resource, ResourceSharedDistributionPackage.REFERENCE_ROOT_NODE,

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionPackageImporterServlet.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionPackageImporterServlet.java?rev=1680244&r1=1680243&r2=1680244&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionPackageImporterServlet.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionPackageImporterServlet.java Tue May 19 10:59:02 2015
@@ -29,6 +29,8 @@ import org.apache.sling.api.resource.Res
 import org.apache.sling.api.servlets.SlingAllMethodsServlet;
 import org.apache.sling.distribution.packaging.DistributionPackage;
 import org.apache.sling.distribution.packaging.DistributionPackageImporter;
+import org.apache.sling.distribution.packaging.DistributionPackageInfo;
+import org.apache.sling.distribution.packaging.impl.DistributionPackageUtils;
 import org.apache.sling.distribution.resources.DistributionResourceTypes;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -56,15 +58,11 @@ public class DistributionPackageImporter
         InputStream stream = request.getInputStream();
         ResourceResolver resourceResolver = request.getResourceResolver();
         try {
-            DistributionPackage distributionPackage = distributionPackageImporter.importStream(resourceResolver, stream);
-            if (distributionPackage != null) {
-                log.info("Package {} imported successfully", distributionPackage);
-                distributionPackage.delete();
-                ServletJsonUtils.writeJson(response, 200, "package imported successfully");
-            } else {
-                log.warn("Cannot import distribution package from request {}", request);
-                ServletJsonUtils.writeJson(response, 400, "could not import a package from the request stream");
-            }
+            DistributionPackageInfo distributionPackageInfo = distributionPackageImporter.importStream(resourceResolver, stream);
+
+            log.info("Package {} imported successfully", distributionPackageInfo);
+            ServletJsonUtils.writeJson(response, 200, "package imported successfully");
+
         } catch (final Throwable e) {
             ServletJsonUtils.writeJson(response, 400, "an unexpected error has occurred during distribution import");
             log.error("Error during distribution import", e);