You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by to...@apache.org on 2016/11/28 15:27:54 UTC

svn commit: r1771761 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/

Author: tommaso
Date: Mon Nov 28 15:27:54 2016
New Revision: 1771761

URL: http://svn.apache.org/viewvc?rev=1771761&view=rev
Log:
SLING-6324 - avoiding exposing resource / file path of packages within their ids

Modified:
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackage.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackage.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackage.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackage.java?rev=1771761&r1=1771760&r2=1771761&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackage.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackage.java Mon Nov 28 15:27:54 2016
@@ -45,7 +45,7 @@ public class FileDistributionPackage ext
                                    @Nonnull String type,
                                    @Nullable String digestAlgorithm,
                                    @Nullable String digestMessage) {
-        super(file.getAbsolutePath(), type, digestAlgorithm, digestMessage);
+        super(file.getName(), type, digestAlgorithm, digestMessage);
         this.file = file;
 
         this.getInfo().put(DistributionPackageInfo.PROPERTY_REQUEST_TYPE, DistributionRequestType.ADD);

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java?rev=1771761&r1=1771760&r2=1771761&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java Mon Nov 28 15:27:54 2016
@@ -157,6 +157,6 @@ public class FileDistributionPackageBuil
 
     @Override
     protected DistributionPackage getPackageInternal(@Nonnull ResourceResolver resourceResolver, @Nonnull String id) {
-        return new FileDistributionPackage(new File(id), getType(), null, null);
+        return new FileDistributionPackage(new File(tempDirectory, id), getType(), null, null);
     }
 }

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackage.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackage.java?rev=1771761&r1=1771760&r2=1771761&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackage.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackage.java Mon Nov 28 15:27:54 2016
@@ -52,7 +52,7 @@ public class ResourceDistributionPackage
                                 ResourceResolver resourceResolver,
                                 @Nullable String digestAlgorithm,
                                 @Nullable String digestMessage) {
-        super(resource.getPath() + '-' + randomUUID(), type, digestAlgorithm, digestMessage);
+        super(resource.getName(), type, digestAlgorithm, digestMessage);
         this.resourceResolver = resourceResolver;
         ValueMap valueMap = resource.getValueMap();
         assert type.equals(valueMap.get("type")) : "wrong resource type";

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java?rev=1771761&r1=1771760&r2=1771761&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java Mon Nov 28 15:27:54 2016
@@ -168,10 +168,15 @@ public class ResourceDistributionPackage
 
     @Override
     protected DistributionPackage getPackageInternal(@Nonnull ResourceResolver resourceResolver, @Nonnull String id) {
-        Resource resource = resourceResolver.getResource(id);
-        if (resource != null) {
-            return new ResourceDistributionPackage(resource, getType(), resourceResolver, null, null);
-        } else {
+        try {
+            Resource packagesRoot = DistributionPackageUtils.getPackagesRoot(resourceResolver, packagesPath);
+            Resource packageResource = packagesRoot.getChild(id);
+            if (packageResource == null) {
+                return null;
+            } else {
+                return new ResourceDistributionPackage(packageResource, getType(), resourceResolver, null, null);
+            }
+        } catch (PersistenceException e) {
             return null;
         }
     }
@@ -214,7 +219,8 @@ public class ResourceDistributionPackage
             resourceResolver.delete(r);
         } else {
             // check parent is there at least
-            Resource parentResource = ResourceUtil.getOrCreateResource(resourceResolver, parent.getPath(), "nt:unstructured", "nt:unstructured", true);
+            Resource parentResource = ResourceUtil.getOrCreateResource(resourceResolver, parent.getPath(), "nt:unstructured",
+                    "nt:unstructured", true);
             log.debug("created parent {}", parentResource.getPath());
         }