You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by an...@apache.org on 2021/09/02 07:31:58 UTC

[sling-org-apache-sling-feature-cpconverter] branch SLING-10786 created (now 74635e7)

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

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


      at 74635e7  SLING-10786 : DefaultAclManager - sonar finding

This branch includes the following new commits:

     new 74635e7  SLING-10786 : DefaultAclManager - sonar finding

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-10786 : DefaultAclManager - sonar finding

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

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

commit 74635e76a161163b6f95a5ae69ab372c0d0c18c2
Author: angela <an...@adobe.com>
AuthorDate: Thu Sep 2 09:31:36 2021 +0200

    SLING-10786 : DefaultAclManager - sonar finding
---
 .../accesscontrol/DefaultAclManager.java           | 38 +++++++++++++---------
 1 file changed, 22 insertions(+), 16 deletions(-)

diff --git a/src/main/java/org/apache/sling/feature/cpconverter/accesscontrol/DefaultAclManager.java b/src/main/java/org/apache/sling/feature/cpconverter/accesscontrol/DefaultAclManager.java
index c6fed64..89ffe92 100644
--- a/src/main/java/org/apache/sling/feature/cpconverter/accesscontrol/DefaultAclManager.java
+++ b/src/main/java/org/apache/sling/feature/cpconverter/accesscontrol/DefaultAclManager.java
@@ -422,10 +422,29 @@ public class DefaultAclManager implements AclManager, EnforceInfo {
     }
 
     protected @Nullable CreatePath getCreatePath(@NotNull RepoPath path, @NotNull List<VaultPackageAssembler> packageAssemblers) {
+        if (path.getParent() == null) {
+            log.debug("Omit create path statement for path '{}'", path);
+            return null;
+        }
+        
+        CreatePath cp = new CreatePath(null);
+        boolean foundType = processSegments(path, packageAssemblers, cp);
+        
+        if (!foundType && isBelowUserRoot(path)) {
+            // if no type information has been detected, don't issue a 'create path' statement for nodes below the 
+            // user-root 
+            log.warn("Failed to extract primary type information for node at path '{}'", path);
+            return null;
+        } else {
+            // assume that primary type information is present or can be extracted from default primary type definition 
+            // of the the top-level nodes (i.e. their effective node type definition).
+            return cp;
+        }
+    }
+    
+    private static boolean processSegments(@NotNull RepoPath path, @NotNull List<VaultPackageAssembler> packageAssemblers, @NotNull CreatePath cp) {
         String platformPath = "";
         boolean foundType = false;
-
-        CreatePath cp = new CreatePath(null);
         for (String part : path.getSegments()) {
             String platformname = PlatformNameFormat.getPlatformName(part);
             platformPath += platformPath.isEmpty() ? platformname : "/" + platformname;
@@ -444,20 +463,7 @@ public class DefaultAclManager implements AclManager, EnforceInfo {
                 cp.addSegment(part, null);
             }
         }
-        
-        if (!foundType && isBelowUserRoot(path)) {
-            // if no type information has been detected, don't issue a 'create path' statement for nodes below the 
-            // user-root 
-            log.warn("Failed to extract primary type information for node at path '{}'", path);
-            return null;
-        } else if (path.getParent() == null) {
-            log.debug("Omit create path statement for path '{}'", path);
-            return null;
-        } else {
-            // assume that primary type information is present or can be extracted from default primary type definition 
-            // of the the top-level nodes (i.e. their effective node type definition).
-            return cp;
-        }
+        return foundType;
     }
 
     private static boolean addSegment(@NotNull CreatePath cp, @NotNull String part, @NotNull File currentContent) {