You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by pa...@apache.org on 2021/09/01 15:01:00 UTC

[sling-org-apache-sling-feature-cpconverter] branch issues/SLING-10481 created (now dc535c2)

This is an automated email from the ASF dual-hosted git repository.

pauls pushed a change to branch issues/SLING-10481
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-cpconverter.git.


      at dc535c2  SLING-10481: remove computeFilter from VaultPackageAssembler as it is not used anymore.

This branch includes the following new commits:

     new dc535c2  SLING-10481: remove computeFilter from VaultPackageAssembler as it is not used anymore.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


[sling-org-apache-sling-feature-cpconverter] 01/01: SLING-10481: remove computeFilter from VaultPackageAssembler as it is not used anymore.

Posted by pa...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pauls pushed a commit to branch issues/SLING-10481
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-cpconverter.git

commit dc535c2f25c52cc60a62e35949b8a0b7d9125ca4
Author: Karl Pauls <ka...@gmail.com>
AuthorDate: Wed Sep 1 17:00:45 2021 +0200

    SLING-10481: remove computeFilter from VaultPackageAssembler as it is not used anymore.
---
 .../cpconverter/handlers/BundleEntryHandler.java   |  2 +-
 .../handlers/SlingInitialContentBundleHandler.java |  2 +-
 .../cpconverter/vltpkg/VaultPackageAssembler.java  | 74 ----------------------
 3 files changed, 2 insertions(+), 76 deletions(-)

diff --git a/src/main/java/org/apache/sling/feature/cpconverter/handlers/BundleEntryHandler.java b/src/main/java/org/apache/sling/feature/cpconverter/handlers/BundleEntryHandler.java
index 44a3da1..827d8dd 100644
--- a/src/main/java/org/apache/sling/feature/cpconverter/handlers/BundleEntryHandler.java
+++ b/src/main/java/org/apache/sling/feature/cpconverter/handlers/BundleEntryHandler.java
@@ -421,7 +421,7 @@ public class BundleEntryHandler extends AbstractRegexEntryHandler {
 
     void finalizePackageAssembly(@NotNull String path, @NotNull Map<PackageType, VaultPackageAssembler> packageAssemblers, @NotNull ContentPackage2FeatureModelConverter converter, @Nullable String runMode) throws IOException, ConverterException {
         for (java.util.Map.Entry<PackageType, VaultPackageAssembler> entry : packageAssemblers.entrySet()) {
-            File packageFile = entry.getValue().createPackage(false);
+            File packageFile = entry.getValue().createPackage();
             converter.processSubPackage(path + "-" + entry.getKey(), runMode, converter.open(packageFile), true);
         }
     }
diff --git a/src/main/java/org/apache/sling/feature/cpconverter/handlers/SlingInitialContentBundleHandler.java b/src/main/java/org/apache/sling/feature/cpconverter/handlers/SlingInitialContentBundleHandler.java
index 967f561..829b89d 100644
--- a/src/main/java/org/apache/sling/feature/cpconverter/handlers/SlingInitialContentBundleHandler.java
+++ b/src/main/java/org/apache/sling/feature/cpconverter/handlers/SlingInitialContentBundleHandler.java
@@ -52,7 +52,7 @@ public class SlingInitialContentBundleHandler extends BundleEntryHandler {
     @Override
     void finalizePackageAssembly(@NotNull String path, @NotNull Map<PackageType, VaultPackageAssembler> packageAssemblers, @NotNull ContentPackage2FeatureModelConverter converter, @Nullable String runMode) throws IOException, ConverterException {
         for (java.util.Map.Entry<PackageType, VaultPackageAssembler> entry : packageAssemblers.entrySet()) {
-            File packageFile = entry.getValue().createPackage(false);
+            File packageFile = entry.getValue().createPackage();
             handler.processSubPackage(path + "-" + entry.getKey(), runMode, converter.open(packageFile), converter, true);
         }
     }
diff --git a/src/main/java/org/apache/sling/feature/cpconverter/vltpkg/VaultPackageAssembler.java b/src/main/java/org/apache/sling/feature/cpconverter/vltpkg/VaultPackageAssembler.java
index 7f04523..e3692e2 100644
--- a/src/main/java/org/apache/sling/feature/cpconverter/vltpkg/VaultPackageAssembler.java
+++ b/src/main/java/org/apache/sling/feature/cpconverter/vltpkg/VaultPackageAssembler.java
@@ -18,7 +18,6 @@ package org.apache.sling.feature.cpconverter.vltpkg;
 
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
-import org.apache.commons.io.filefilter.DirectoryFileFilter;
 import org.apache.jackrabbit.vault.fs.api.PathFilterSet;
 import org.apache.jackrabbit.vault.fs.api.WorkspaceFilter;
 import org.apache.jackrabbit.vault.fs.config.DefaultWorkspaceFilter;
@@ -29,16 +28,13 @@ import org.apache.jackrabbit.vault.packaging.PackageId;
 import org.apache.jackrabbit.vault.packaging.PackageProperties;
 import org.apache.jackrabbit.vault.packaging.PackageType;
 import org.apache.jackrabbit.vault.packaging.VaultPackage;
-import org.apache.jackrabbit.vault.util.PlatformNameFormat;
 import org.apache.sling.feature.cpconverter.ContentPackage2FeatureModelConverter;
 import org.apache.sling.feature.cpconverter.handlers.DefaultEntryParser;
 import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.io.File;
-import java.io.FileFilter;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
@@ -277,10 +273,6 @@ public class VaultPackageAssembler {
     }
 
     public @NotNull File createPackage() throws IOException {
-        return createPackage(false);
-    }
-
-    public @NotNull File createPackage(boolean generateFilters) throws IOException {
         // generate the Vault properties XML file
 
         File metaDir = new File(storingDirectory, META_DIR);
@@ -307,11 +299,6 @@ public class VaultPackageAssembler {
         try (FileOutputStream fos = new FileOutputStream(xmlProperties)) {
             properties.storeToXML(fos, null);
         }
-
-        if (generateFilters) {
-            // generate the Vault filter XML file based on new contents of the package
-            computeFilters(storingDirectory);
-        }
         
         Set<String> allRepoPaths = VaultPackageUtils.toRepositoryPaths(allPaths);
         Set<String> convertedCpRepoPaths = VaultPackageUtils.toRepositoryPaths(convertedCpPaths);
@@ -372,67 +359,6 @@ public class VaultPackageAssembler {
         }
     }
 
-    private void computeFilters(@NotNull File outputDirectory) {
-        VaultPackageUtils.forEachDirectoryBelowJcrRoot(outputDirectory, (child, base) -> {
-            TreeNode node = lowestCommonAncestor(new TreeNode(child));
-            File lowestCommonAncestor = node != null ? node.val : null;
-            if (lowestCommonAncestor != null) {
-                String root = "/" + PlatformNameFormat.getRepositoryPath(base.toURI().relativize(lowestCommonAncestor.toURI()).getPath(), true);
-                filter.add(new PathFilterSet(root));
-            }
-        });
-    }
-
-    private static @Nullable TreeNode lowestCommonAncestor(@NotNull TreeNode root) {
-        int currMaxDepth = 0;//curr tree's deepest leaf depth
-        int countMaxDepth = 0;//num of deepest leaves
-        TreeNode node = null;
-
-        for (File child : root.val.listFiles((FileFilter) DirectoryFileFilter.INSTANCE)) {
-            TreeNode temp = lowestCommonAncestor(new TreeNode(child));
-
-            if (temp == null) {
-                continue;
-            } else if (temp.maxDepth > currMaxDepth) {//if deeper leaf found,update everything to that deeper leaf
-                currMaxDepth = temp.maxDepth;
-                node = temp;//update the maxDepth leaf/LCA
-                countMaxDepth = 1;//reset count of maxDepth leaves
-            } else if (temp.maxDepth == currMaxDepth) {
-                countMaxDepth++;//more deepest leaves of curr (sub)tree found
-            }
-        }
-
-        if (countMaxDepth > 1) {
-            //if there're several leaves at the deepest level of curr tree,curr root is the LCA of them
-            //OR if there're several LCA of several deepest leaves in curr tree,curr root is also the LCA of them
-            root.maxDepth = node.maxDepth + 1;//update root's maxDepth and return it
-            return root;
-        } else if (countMaxDepth == 1) {
-            //if there's only 1 deepest leaf or only 1 LCA of curr tree,return that leaf/LCA
-            node.maxDepth++;//update node's maxDepth and return it
-            return node;
-        } else if (countMaxDepth == 0) {
-            //if curr root's children have no children(all leaves,so all return null to temp),set root's maxDepth to 2,return
-            root.maxDepth = 2;//update node's maxDepth to 2 cuz its children are leaves
-            return root;
-        }
-
-        return null;
-    }
-
-    private static final class TreeNode {
-
-        File val;
-
-        int maxDepth;//this means the maxDepth of curr treenode-rooted (sub)tree
-
-        TreeNode(@NotNull File x) {
-            val = x;
-            maxDepth = 0;
-        }
-
-    }
-
     private static final class RemoveInstallHooksPredicate implements Predicate<Map.Entry<Object, Object>> {
         @Override
         public boolean test(java.util.Map.Entry<Object, Object> entry) {