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/04/16 13:15:46 UTC

svn commit: r1674043 - in /sling/trunk/contrib/extensions/distribution/core/src: main/java/org/apache/sling/distribution/agent/impl/ main/java/org/apache/sling/distribution/packaging/ main/java/org/apache/sling/distribution/serialization/impl/ main/jav...

Author: mpetria
Date: Thu Apr 16 11:15:45 2015
New Revision: 1674043

URL: http://svn.apache.org/r1674043
Log:
SLING-4583: specify the package root explicitly

Modified:
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackage.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageWrapper.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/ResourceSharedDistributionPackage.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/SimpleDistributionPackage.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackage.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilder.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/JcrVaultDistributionPackage.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/JcrVaultDistributionPackageBuilder.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java
    sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilderTest.java

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java?rev=1674043&r1=1674042&r2=1674043&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java Thu Apr 16 11:15:45 2015
@@ -230,6 +230,10 @@ public class SimpleDistributionAgent imp
         } catch (Exception e) {
             log.error("an error happened during dispatching items to the queue(s)", e);
             distributionResponses.add(new SimpleDistributionResponse(DistributionRequestState.DROPPED, e.toString()));
+        } finally {
+            if (distributionPackage != null) {
+                distributionPackage.close();
+            }
         }
 
         return distributionResponses;
@@ -357,11 +361,12 @@ public class SimpleDistributionAgent imp
     private boolean processQueueItem(String queueName, DistributionQueueItem queueItem) {
         boolean success = false;
         ResourceResolver agentResourceResolver = null;
+        DistributionPackage distributionPackage = null;
         try {
 
             agentResourceResolver = getAgentResourceResolver();
 
-            DistributionPackage distributionPackage = distributionPackageExporter.getPackage(agentResourceResolver, queueItem.getId());
+            distributionPackage = distributionPackageExporter.getPackage(agentResourceResolver, queueItem.getId());
 
             if (distributionPackage != null) {
                 distributionPackage.getInfo().fillInfo(queueItem.getPackageInfo());
@@ -385,6 +390,9 @@ public class SimpleDistributionAgent imp
             log.info("cannot obtain resource resolver", e);
         } finally {
             ungetAgentResourceResolver(agentResourceResolver);
+            if (distributionPackage != null) {
+                distributionPackage.close();
+            }
         }
         return success;
     }

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackage.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackage.java?rev=1674043&r1=1674042&r2=1674043&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackage.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackage.java Thu Apr 16 11:15:45 2015
@@ -58,6 +58,11 @@ public interface DistributionPackage {
     InputStream createInputStream() throws IOException;
 
     /**
+     * closes all resources associated with this instance
+     */
+    void close();
+
+    /**
      * releases all resources associated with this package
      */
     void delete();

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageWrapper.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageWrapper.java?rev=1674043&r1=1674042&r2=1674043&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageWrapper.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageWrapper.java Thu Apr 16 11:15:45 2015
@@ -54,6 +54,10 @@ public  class DistributionPackageWrapper
         return distributionPackage.createInputStream();
     }
 
+    public void close() {
+        distributionPackage.close();
+    }
+
     public void delete() {
         distributionPackage.delete();
     }

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/ResourceSharedDistributionPackage.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/ResourceSharedDistributionPackage.java?rev=1674043&r1=1674042&r2=1674043&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/ResourceSharedDistributionPackage.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/ResourceSharedDistributionPackage.java Thu Apr 16 11:15:45 2015
@@ -98,6 +98,10 @@ public class ResourceSharedDistributionP
         return distributionPackage.createInputStream();
     }
 
+    public void close() {
+        distributionPackage.close();
+    }
+
     public void delete() {
         Resource resource = getProxyResource();
         try {

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/SimpleDistributionPackage.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/SimpleDistributionPackage.java?rev=1674043&r1=1674042&r2=1674043&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/SimpleDistributionPackage.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/SimpleDistributionPackage.java Thu Apr 16 11:15:45 2015
@@ -134,6 +134,11 @@ public class SimpleDistributionPackage e
         return id;
     }
 
+
+    public void close() {
+        // there's nothing to close
+    }
+
     public void delete() {
         // there's nothing to delete
     }

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackage.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackage.java?rev=1674043&r1=1674042&r2=1674043&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackage.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackage.java Thu Apr 16 11:15:45 2015
@@ -74,9 +74,11 @@ public class FileVaultDistributionPackag
     }
 
     public void delete() {
-        close();
         try {
-            File file = new File(id);
+            File file = pkg.getFile();
+
+            close();
+
             if (file.exists()) {
                 file.delete();
             }

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilder.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilder.java?rev=1674043&r1=1674042&r2=1674043&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilder.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilder.java Thu Apr 16 11:15:45 2015
@@ -62,12 +62,14 @@ public class FileVaultDistributionPackag
     private ImportMode importMode;
 
     private AccessControlHandling aclHandling;
+    private final String[] packageRoots;
 
-    public FileVaultDistributionPackageBuilder(String type, Packaging packaging, ImportMode importMode, AccessControlHandling aclHandling) {
+    public FileVaultDistributionPackageBuilder(String type, Packaging packaging, ImportMode importMode, AccessControlHandling aclHandling, String[] packageRoots) {
         super(type);
         this.packaging = packaging;
         this.importMode = importMode;
         this.aclHandling = aclHandling;
+        this.packageRoots = packageRoots;
     }
 
     @Override
@@ -81,7 +83,7 @@ public class FileVaultDistributionPackag
             String packageName = getType() + "_" + System.currentTimeMillis() + "_" +  UUID.randomUUID();
 
             WorkspaceFilter filter = VltUtils.createFilter(request);
-            ExportOptions opts = VltUtils.getExportOptions(filter, packageGroup, packageName, VERSION);
+            ExportOptions opts = VltUtils.getExportOptions(filter, packageRoots, packageGroup, packageName, VERSION);
 
             log.debug("assembling package {}", packageGroup + '/' + packageName + "-" + VERSION);
             File tmpFile = File.createTempFile("rp-vlt-create-" + System.nanoTime(), ".zip");

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/JcrVaultDistributionPackage.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/JcrVaultDistributionPackage.java?rev=1674043&r1=1674042&r2=1674043&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/JcrVaultDistributionPackage.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/JcrVaultDistributionPackage.java Thu Apr 16 11:15:45 2015
@@ -67,13 +67,19 @@ public class JcrVaultDistributionPackage
         }
     }
 
+    public void close() {
+        jcrPackage.close();
+    }
+
     public void delete() {
-        Node node = jcrPackage.getNode();
         try {
-            jcrPackage.close();
+            Node node = jcrPackage.getNode();
+
+            close();
+
             node.remove();
             session.save();
-        } catch (RepositoryException e) {
+        } catch (Throwable e) {
             log.error("Cannot delete package", e);
         }
     }

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/JcrVaultDistributionPackageBuilder.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/JcrVaultDistributionPackageBuilder.java?rev=1674043&r1=1674042&r2=1674043&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/JcrVaultDistributionPackageBuilder.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/JcrVaultDistributionPackageBuilder.java Thu Apr 16 11:15:45 2015
@@ -48,14 +48,16 @@ public class JcrVaultDistributionPackage
     private final Packaging packaging;
     private ImportMode importMode;
     private AccessControlHandling aclHandling;
+    private final String[] packageRoots;
 
-    public JcrVaultDistributionPackageBuilder(String type, Packaging packaging, ImportMode importMode, AccessControlHandling aclHandling) {
+    public JcrVaultDistributionPackageBuilder(String type, Packaging packaging, ImportMode importMode, AccessControlHandling aclHandling, String[] packageRoots) {
         super(type);
 
         this.packaging = packaging;
 
         this.importMode = importMode;
         this.aclHandling = aclHandling;
+        this.packageRoots = packageRoots;
     }
 
     @Override
@@ -68,7 +70,7 @@ public class JcrVaultDistributionPackage
             String packageName = getType() + "_" + System.currentTimeMillis() + "_" +  UUID.randomUUID();
 
             WorkspaceFilter filter = VltUtils.createFilter(request);
-            ExportOptions opts = VltUtils.getExportOptions(filter, packageGroup, packageName, VERSION);
+            ExportOptions opts = VltUtils.getExportOptions(filter, packageRoots, packageGroup, packageName, VERSION);
 
             log.debug("assembling package {}", packageGroup + '/' + packageName + "-" + VERSION);
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java?rev=1674043&r1=1674042&r2=1674043&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java Thu Apr 16 11:15:45 2015
@@ -36,6 +36,7 @@ import org.apache.sling.api.resource.Res
 import org.apache.sling.commons.osgi.PropertiesUtil;
 import org.apache.sling.distribution.DistributionRequest;
 import org.apache.sling.distribution.component.impl.DistributionComponentConstants;
+import org.apache.sling.distribution.component.impl.SettingsUtils;
 import org.apache.sling.distribution.packaging.DistributionPackage;
 import org.apache.sling.distribution.serialization.DistributionPackageBuilder;
 import org.apache.sling.distribution.serialization.DistributionPackageBuildingException;
@@ -84,9 +85,15 @@ public class VaultDistributionPackageBui
     /**
      * ACL handling property for file vault package builder
      */
-    @Property(label = "Acl Handling", description = "The vltacl handling mode for created packages.")
+    @Property(label = "Acl Handling", description = "The vlt acl handling mode for created packages.")
     public static final String ACL_HANDLING = "aclHandling";
 
+    /**
+     * ACL handling property for file vault package builder
+     */
+    @Property(label = "Package Roots", description = "The package roots to be used for created packages. (this is useful for assembling packages with an user that cannot read above the package root)")
+    public static final String PACKAGE_ROOTS = "package.roots";
+
     @Reference
     private Packaging packaging;
 
@@ -100,6 +107,8 @@ public class VaultDistributionPackageBui
         String type = PropertiesUtil.toString(config.get(TYPE), null);
         String importModeString = PropertiesUtil.toString(config.get(IMPORT_MODE), null);
         String aclHandlingString = PropertiesUtil.toString(config.get(ACL_HANDLING), null);
+        String[] packageRoots = PropertiesUtil.toStringArray(config.get(PACKAGE_ROOTS), null);
+        packageRoots = SettingsUtils.removeEmptyEntries(packageRoots);
 
         ImportMode importMode = null;
         if (importMode != null) {
@@ -111,9 +120,9 @@ public class VaultDistributionPackageBui
             aclHandling= AccessControlHandling.valueOf(aclHandlingString);
         }
         if ("filevlt".equals(type)) {
-            packageBuilder = new ResourceSharedDistributionPackageBuilder(new FileVaultDistributionPackageBuilder(name, packaging, importMode, aclHandling));
+            packageBuilder = new ResourceSharedDistributionPackageBuilder(new FileVaultDistributionPackageBuilder(name, packaging, importMode, aclHandling, packageRoots));
         } else  {
-            packageBuilder = new ResourceSharedDistributionPackageBuilder(new JcrVaultDistributionPackageBuilder(name, packaging, importMode, aclHandling));
+            packageBuilder = new ResourceSharedDistributionPackageBuilder(new JcrVaultDistributionPackageBuilder(name, packaging, importMode, aclHandling, packageRoots));
         }
     }
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java?rev=1674043&r1=1674042&r2=1674043&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java Thu Apr 16 11:15:45 2015
@@ -82,7 +82,7 @@ public class VltUtils {
         return filterSet;
     }
 
-    public static ExportOptions getExportOptions(WorkspaceFilter filter,
+    public static ExportOptions getExportOptions(WorkspaceFilter filter, String[] packageRoots,
                                                  String packageGroup,
                                                  String packageName,
                                                  String packageVersion) {
@@ -98,7 +98,7 @@ public class VltUtils {
 
         opts.setMetaInf(inf);
 
-        String root = getClosestRoot(filter.getFilterSets());
+        String root = getPackageRoot(filter.getFilterSets(), packageRoots);
         opts.setRootPath(root);
         opts.setMountPath(root);
 
@@ -106,35 +106,41 @@ public class VltUtils {
     }
 
 
-    private static String getClosestRoot(List<PathFilterSet> filterSets) {
+    /**
+     * Picks a package root that dominates all filter sets. If there is none then "/" is returned.
+     */
+    private static String getPackageRoot(List<PathFilterSet> filterSets, String[] packageRoots) {
 
-        String closestRoot = null;
+        String packageRoot = null;
 
-        for (PathFilterSet filterSet : filterSets) {
-            String root = filterSet.getRoot();
+        if (packageRoots != null && packageRoots.length > 0) {
+            for (String currentRoot : packageRoots) {
+                boolean filtersHaveCommonRoot = true;
 
-            if (closestRoot == null) {
-                closestRoot = root;
-            } else {
-                while(!root.startsWith(closestRoot)) {
-                    closestRoot = Text.getRelativeParent(closestRoot, 1);
+
+                for (PathFilterSet filterSet : filterSets) {
+                    String filterSetRoot = filterSet.getRoot();
+
+                    if (!filterSetRoot.startsWith(currentRoot)) {
+                        filtersHaveCommonRoot = false;
+                    }
                 }
-            }
 
-            if (closestRoot.length() < 2) {
-                break;
+                if (filtersHaveCommonRoot) {
+                    packageRoot = currentRoot;
+                    break;
+                }
             }
-        }
 
-        if (closestRoot != null) {
-            closestRoot = Text.getRelativeParent(closestRoot, 1);
         }
 
-        if (closestRoot == null || !closestRoot.startsWith("/")) {
-            closestRoot = "/";
+
+
+        if (packageRoot == null || !packageRoot.startsWith("/")) {
+            packageRoot = "/";
         }
 
-        return closestRoot;
+        return packageRoot;
 
     }
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilderTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilderTest.java?rev=1674043&r1=1674042&r2=1674043&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilderTest.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilderTest.java Thu Apr 16 11:15:45 2015
@@ -76,7 +76,7 @@ public class FileVaultDistributionPackag
         when(resourceResolver.adaptTo(Session.class)).thenReturn(session);
 
 
-        FileVaultDistributionPackageBuilder fileVaultdistributionPackageBuilder = new FileVaultDistributionPackageBuilder("filevlt", packaging, null, null);
+        FileVaultDistributionPackageBuilder fileVaultdistributionPackageBuilder = new FileVaultDistributionPackageBuilder("filevlt", packaging, null, null, null);
         DistributionRequest request = new SimpleDistributionRequest(DistributionRequestType.ADD, new String[]{"/"});
         DistributionPackage distributionPackage = fileVaultdistributionPackageBuilder.createPackageForAdd(resourceResolver, request);
         assertNotNull(distributionPackage);
@@ -88,7 +88,7 @@ public class FileVaultDistributionPackag
         PackageManager packageManager = mock(PackageManager.class);
         when(packaging.getPackageManager()).thenReturn(packageManager);
 
-        FileVaultDistributionPackageBuilder fileVaultdistributionPackageBuilder = new FileVaultDistributionPackageBuilder("filevlt", packaging, null, null);
+        FileVaultDistributionPackageBuilder fileVaultdistributionPackageBuilder = new FileVaultDistributionPackageBuilder("filevlt", packaging, null, null, null);
 
         ResourceResolver resourceResolver = mock(ResourceResolver.class);
         InputStream stream = new ByteArrayInputStream("some binary".getBytes("UTF-8"));
@@ -102,7 +102,7 @@ public class FileVaultDistributionPackag
         PackageManager packageManager = mock(PackageManager.class);
         when(packaging.getPackageManager()).thenReturn(packageManager);
 
-        FileVaultDistributionPackageBuilder fileVaultdistributionPackageBuilder = new FileVaultDistributionPackageBuilder("filevlt", packaging, null, null);
+        FileVaultDistributionPackageBuilder fileVaultdistributionPackageBuilder = new FileVaultDistributionPackageBuilder("filevlt", packaging, null, null, null);
 
         ResourceResolver resourceResolver = mock(ResourceResolver.class);
         String id = "some-id";
@@ -119,7 +119,7 @@ public class FileVaultDistributionPackag
         when(packageManager.open(tempFile)).thenReturn(vaultPackage);
         when(packaging.getPackageManager()).thenReturn(packageManager);
 
-        FileVaultDistributionPackageBuilder fileVaultdistributionPackageBuilder = new FileVaultDistributionPackageBuilder("filevlt", packaging, null, null);
+        FileVaultDistributionPackageBuilder fileVaultdistributionPackageBuilder = new FileVaultDistributionPackageBuilder("filevlt", packaging, null, null, null);
 
         ResourceResolver resourceResolver = mock(ResourceResolver.class);
         Session session = mock(Session.class);
@@ -150,7 +150,7 @@ public class FileVaultDistributionPackag
         when(packaging.getPackageManager()).thenReturn(packageManager);
 
         FileVaultDistributionPackageBuilder fileVaultdistributionPackageBuilder = new FileVaultDistributionPackageBuilder("filevlt", packaging,
-                ImportMode.MERGE, AccessControlHandling.MERGE);
+                ImportMode.MERGE, AccessControlHandling.MERGE, null);
 
         ResourceResolver resourceResolver = mock(ResourceResolver.class);
         Session session = mock(Session.class);