You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by si...@apache.org on 2019/06/25 14:41:14 UTC

[sling-org-apache-sling-feature-cpconverter] branch master updated: Revert "SLING-8528 - ACLs for Serviceusers on nodes with nodetypes registered"

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 794f60c  Revert "SLING-8528 - ACLs for Serviceusers on nodes with nodetypes registered"
794f60c is described below

commit 794f60c349eacbd10d5b6ad18f60f2c8e2f2823b
Author: Simo Tripodi <st...@adobe.com>
AuthorDate: Tue Jun 25 16:40:21 2019 +0200

    Revert "SLING-8528 - ACLs for Serviceusers on nodes with nodetypes registered"
    
    This reverts commit e2a849caaf29e873b747822b5ddd257d4947d83d.
---
 .../sling/feature/cpconverter/acl/AclManager.java  |  2 -
 .../feature/cpconverter/acl/DefaultAclManager.java | 48 ++++------------------
 .../cpconverter/handlers/PrivilegesHandler.java    | 32 +++------------
 .../handlers/PrivilegesHandlerTest.java            |  3 +-
 .../handlers/META-INF/vault/privileges.xml         |  2 +-
 5 files changed, 16 insertions(+), 71 deletions(-)

diff --git a/src/main/java/org/apache/sling/feature/cpconverter/acl/AclManager.java b/src/main/java/org/apache/sling/feature/cpconverter/acl/AclManager.java
index dcd8f8c..d34f412 100644
--- a/src/main/java/org/apache/sling/feature/cpconverter/acl/AclManager.java
+++ b/src/main/java/org/apache/sling/feature/cpconverter/acl/AclManager.java
@@ -30,8 +30,6 @@ public interface AclManager {
 
     void addRepoinitExtension(VaultPackageAssembler packageAssembler, Feature feature);
 
-    void addNamespace(String prefix, String url);
-
     void addNodetypeRegistrationSentence(String nodetypeRegistrationSentence);
 
     void addPrivilege(String privilege);
diff --git a/src/main/java/org/apache/sling/feature/cpconverter/acl/DefaultAclManager.java b/src/main/java/org/apache/sling/feature/cpconverter/acl/DefaultAclManager.java
index 25be736..9eeeab0 100644
--- a/src/main/java/org/apache/sling/feature/cpconverter/acl/DefaultAclManager.java
+++ b/src/main/java/org/apache/sling/feature/cpconverter/acl/DefaultAclManager.java
@@ -49,10 +49,6 @@ public final class DefaultAclManager implements AclManager {
 
     private final Map<String, List<Acl>> acls = new HashMap<>();
 
-    private final Map<String, String> preProvidedNamespaces = new HashMap<>();
-
-    private final Map<String, String> namespaces = new HashMap<>();
-
     private List<String> nodetypeRegistrationSentences = new LinkedList<>();
 
     private Set<String> privileges = new LinkedHashSet<>();
@@ -86,26 +82,12 @@ public final class DefaultAclManager implements AclManager {
         try {
             formatter = new Formatter();
 
-            // namespaces first
-
-            if (!namespaces.isEmpty()) {
-                for (Entry<String, String> namespace : namespaces.entrySet()) {
-                    formatter.format("register namespace (%s) %s%n", namespace.getKey(), namespace.getValue());
-                }
-                formatter.format("%n");
-            }
-
-            // privileges
-
             if (!privileges.isEmpty()) {
                 for (String privilege : privileges) {
                     formatter.format("register privilege %s%n", privilege);
                 }
-                formatter.format("%n");
             }
 
-            // register then all node types
-
             if (!nodetypeRegistrationSentences.isEmpty()) {
                 formatter.format("register nodetypes%n")
                          .format("<<===%n");
@@ -118,28 +100,25 @@ public final class DefaultAclManager implements AclManager {
                     }
                 }
 
-                formatter.format("===>>%n%n");
+                formatter.format("===>>%n");
             }
 
             // system users
-            if (!systemUsers.isEmpty()) {
-                for (String systemUser : systemUsers) {
-                    List<Acl> authorizations = acls.remove(systemUser);
 
-                    // make sure all paths are created first
+            for (String systemUser : systemUsers) {
+                List<Acl> authorizations = acls.remove(systemUser);
 
-                    addPaths(authorizations, packageAssembler, formatter);
+                // make sure all paths are created first
 
-                    // create then the users
+                addPaths(authorizations, packageAssembler, formatter);
 
-                    formatter.format("create service user %s%n", systemUser);
+                // create then the users
 
-                    // finally add ACLs
+                formatter.format("create service user %s%n", systemUser);
 
-                    addAclStatement(formatter, systemUser, authorizations);
-                }
+                // finally add ACLs
 
-                formatter.format("%n");
+                addAclStatement(formatter, systemUser, authorizations);
             }
 
             // all the resting ACLs can now be set
@@ -175,14 +154,6 @@ public final class DefaultAclManager implements AclManager {
     }
 
     @Override
-    public void addNamespace(String prefix, String url) {
-        if (!preProvidedNamespaces.containsKey(prefix)) {
-            preProvidedNamespaces.put(prefix, url);
-            namespaces.put(prefix, url);
-        }
-    }
-
-    @Override
     public void addNodetypeRegistrationSentence(String nodetypeRegistrationSentence) {
         if (nodetypeRegistrationSentence != null) {
             nodetypeRegistrationSentences.add(nodetypeRegistrationSentence);
@@ -197,7 +168,6 @@ public final class DefaultAclManager implements AclManager {
     public void reset() {
         systemUsers.clear();
         acls.clear();
-        namespaces.clear();
         nodetypeRegistrationSentences.clear();
         privileges.clear();
     }
diff --git a/src/main/java/org/apache/sling/feature/cpconverter/handlers/PrivilegesHandler.java b/src/main/java/org/apache/sling/feature/cpconverter/handlers/PrivilegesHandler.java
index 946960f..e2bf8a9 100644
--- a/src/main/java/org/apache/sling/feature/cpconverter/handlers/PrivilegesHandler.java
+++ b/src/main/java/org/apache/sling/feature/cpconverter/handlers/PrivilegesHandler.java
@@ -29,10 +29,6 @@ import org.xml.sax.helpers.DefaultHandler;
 
 public class PrivilegesHandler extends AbstractRegexEntryHandler {
 
-    private static final String XMLNS_PREFIX = "xmlns:";
-
-    private static final String PRIVILEGES = "privileges";
-
     private static final String PRIVILEGE = "privilege";
 
     private static final String NAME = "name";
@@ -63,29 +59,11 @@ public class PrivilegesHandler extends AbstractRegexEntryHandler {
         @Override
         public void startElement(String uri, String localName, String qName, Attributes attributes)
                 throws SAXException {
-            switch (qName) {
-                case PRIVILEGES:
-                    for (int i = 0; i < attributes.getLength(); i++) {
-                        String attrName = attributes.getQName(i);
-
-                        if (attrName.startsWith(XMLNS_PREFIX)) {
-                            String prefix = attrName.substring(XMLNS_PREFIX.length());
-                            String url = attributes.getValue(i);
-                            aclManager.addNamespace(prefix, url);
-                        }
-                    }
-                    break;
-
-                case PRIVILEGE:
-                    String privilege = attributes.getValue(NAME);
-                    if (privilege != null && !privilege.isEmpty()) {
-                        aclManager.addPrivilege(privilege);
-                    }
-                    break;
-
-                default:
-                    // do nothing
-                    break;
+            if (PRIVILEGE.equals(qName)) {
+                String privilege = attributes.getValue(NAME);
+                if (privilege != null && !privilege.isEmpty()) {
+                    aclManager.addPrivilege(privilege);
+                }
             }
         }
 
diff --git a/src/test/java/org/apache/sling/feature/cpconverter/handlers/PrivilegesHandlerTest.java b/src/test/java/org/apache/sling/feature/cpconverter/handlers/PrivilegesHandlerTest.java
index b16cd83..953218e 100644
--- a/src/test/java/org/apache/sling/feature/cpconverter/handlers/PrivilegesHandlerTest.java
+++ b/src/test/java/org/apache/sling/feature/cpconverter/handlers/PrivilegesHandlerTest.java
@@ -84,8 +84,7 @@ public class PrivilegesHandlerTest {
 
         Extension repoinitExtension = feature.getExtensions().getByName(Extension.EXTENSION_NAME_REPOINIT);
         assertNotNull(repoinitExtension);
-        assertTrue(repoinitExtension.getText().contains("register namespace (rx) http://sling.apache.org/rx/1.0"));
-        assertTrue(repoinitExtension.getText().contains("register privilege rx:replicate"));
+        assertTrue(repoinitExtension.getText().contains("register privilege rx:replicate\n"));
     }
 
 }
diff --git a/src/test/resources/org/apache/sling/feature/cpconverter/handlers/META-INF/vault/privileges.xml b/src/test/resources/org/apache/sling/feature/cpconverter/handlers/META-INF/vault/privileges.xml
index fc3fee8..7beb9d2 100644
--- a/src/test/resources/org/apache/sling/feature/cpconverter/handlers/META-INF/vault/privileges.xml
+++ b/src/test/resources/org/apache/sling/feature/cpconverter/handlers/META-INF/vault/privileges.xml
@@ -15,6 +15,6 @@
  License for the specific language governing permissions and limitations under
  the License.
 -->
-<privileges xmlns:rx="http://sling.apache.org/rx/1.0">
+<privileges xmlns:crx="http://sling.apache.org/rx/1.0">
    <privilege name="rx:replicate"/>
 </privileges>