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

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

commit 5c937332d7fcc600ef55c13111b614f8921c468d
Author: angela <[email protected]>
AuthorDate: Thu Dec 3 09:29:32 2020 +0100

    SLING-9963 : AccessControlEntry: refactor 'operation' string to boolean/enum
---
 .../cpconverter/accesscontrol/AccessControlEntry.java      | 12 ++++++------
 .../cpconverter/handlers/RepPolicyEntryHandler.java        | 10 +++++-----
 .../feature/cpconverter/accesscontrol/AclManagerTest.java  | 14 +++++++-------
 3 files changed, 18 insertions(+), 18 deletions(-)

diff --git 
a/src/main/java/org/apache/sling/feature/cpconverter/accesscontrol/AccessControlEntry.java
 
b/src/main/java/org/apache/sling/feature/cpconverter/accesscontrol/AccessControlEntry.java
index 150e8c7..b6b850b 100644
--- 
a/src/main/java/org/apache/sling/feature/cpconverter/accesscontrol/AccessControlEntry.java
+++ 
b/src/main/java/org/apache/sling/feature/cpconverter/accesscontrol/AccessControlEntry.java
@@ -26,7 +26,7 @@ import java.util.List;
  */
 public final class AccessControlEntry {
 
-    private final String operation;
+    private final boolean isAllow;
 
     private final String privileges;
 
@@ -36,8 +36,8 @@ public final class AccessControlEntry {
 
     private final List<String> restrictions = new LinkedList<>();
 
-    public AccessControlEntry(String operation, String privileges, RepoPath 
path, RepoPath repositoryPath) {
-        this.operation = operation;
+    public AccessControlEntry(boolean isAllow, String privileges, RepoPath 
path, RepoPath repositoryPath) {
+        this.isAllow = isAllow;
         this.privileges = privileges;
         this.path = path;
         this.repositoryPath = repositoryPath;
@@ -50,7 +50,7 @@ public final class AccessControlEntry {
     }
 
     public String getOperation() {
-        return operation;
+        return isAllow ? "allow" : "deny";
     }
 
     public String getPrivileges() {
@@ -71,8 +71,8 @@ public final class AccessControlEntry {
 
     @Override
     public String toString() {
-        return "Acl [operation="
-               + operation
+        return "Acl [isAllow="
+               + isAllow
                + ", privileges="
                + privileges
                + ", path="
diff --git 
a/src/main/java/org/apache/sling/feature/cpconverter/handlers/RepPolicyEntryHandler.java
 
b/src/main/java/org/apache/sling/feature/cpconverter/handlers/RepPolicyEntryHandler.java
index f665beb..130ce41 100644
--- 
a/src/main/java/org/apache/sling/feature/cpconverter/handlers/RepPolicyEntryHandler.java
+++ 
b/src/main/java/org/apache/sling/feature/cpconverter/handlers/RepPolicyEntryHandler.java
@@ -111,11 +111,11 @@ public final class RepPolicyEntryHandler extends 
AbstractRegexEntryHandler {
 
         private static final String REP_PRIVILEGES = "rep:privileges";
 
-        private static final Map<String, String> operations = new HashMap<>();
+        private static final Map<String, Boolean> operations = new HashMap<>();
 
         static {
-            operations.put(REP_GRANT_ACE, "allow");
-            operations.put(REP_DENY_ACE, "deny");
+            operations.put(REP_GRANT_ACE, true);
+            operations.put(REP_DENY_ACE, false);
         }
 
         private static final String[] RESTRICTIONS = new String[] { 
"rep:glob", "rep:ntNames", "rep:prefixes", "rep:itemNames" };
@@ -161,11 +161,11 @@ public final class RepPolicyEntryHandler extends 
AbstractRegexEntryHandler {
                 if (REP_GRANT_ACE.equals(primaryType) || 
REP_DENY_ACE.equals(primaryType)) {
                     String principalName = 
attributes.getValue(REP_PRINCIPAL_NAME);
 
-                    String operation = operations.get(primaryType);
+                    Boolean isAllow = operations.get(primaryType);
 
                     String privileges = 
extractValue(attributes.getValue(REP_PRIVILEGES));
 
-                    AccessControlEntry acl = new AccessControlEntry(operation, 
privileges, path, repositoryPath);
+                    AccessControlEntry acl = new AccessControlEntry(isAllow, 
privileges, path, repositoryPath);
 
                     processCurrentAcl = aclManager.addAcl(principalName, acl);
                     if (processCurrentAcl) {
diff --git 
a/src/test/java/org/apache/sling/feature/cpconverter/accesscontrol/AclManagerTest.java
 
b/src/test/java/org/apache/sling/feature/cpconverter/accesscontrol/AclManagerTest.java
index 6292e5e..dfa4806 100644
--- 
a/src/test/java/org/apache/sling/feature/cpconverter/accesscontrol/AclManagerTest.java
+++ 
b/src/test/java/org/apache/sling/feature/cpconverter/accesscontrol/AclManagerTest.java
@@ -78,11 +78,11 @@ public class AclManagerTest {
 
         aclManager.addSystemUser(new 
SystemUser("acs-commons-package-replication-status-event-service", new 
RepoPath("/asd/public")));
 
-        aclManager.addAcl("acs-commons-ensure-oak-index-service", 
newAcl("allow", "jcr:read,rep:write,rep:indexDefinitionManagement", 
"/asd/not/system/user/path"));
-        
aclManager.addAcl("acs-commons-package-replication-status-event-service", 
newAcl("allow", "jcr:read,crx:replicate,jcr:removeNode", "/asd/public"));
+        aclManager.addAcl("acs-commons-ensure-oak-index-service", newAcl(true, 
"jcr:read,rep:write,rep:indexDefinitionManagement", 
"/asd/not/system/user/path"));
+        
aclManager.addAcl("acs-commons-package-replication-status-event-service", 
newAcl(true, "jcr:read,crx:replicate,jcr:removeNode", "/asd/public"));
 
         // add an ACL for unknown user
-        aclManager.addAcl("acs-commons-on-deploy-scripts-service", 
newAcl("allow", "jcr:read,crx:replicate,jcr:removeNode", "/asd/public"));
+        aclManager.addAcl("acs-commons-on-deploy-scripts-service", 
newAcl(true, "jcr:read,crx:replicate,jcr:removeNode", "/asd/public"));
 
         VaultPackageAssembler assembler = mock(VaultPackageAssembler.class);
         when(assembler.getEntry(anyString())).thenReturn(new 
File(System.getProperty("java.io.tmpdir")));
@@ -123,8 +123,8 @@ public class AclManagerTest {
     @Test
     public void pathWithSpecialCharactersTest() throws 
RepoInitParsingException {
         aclManager.addSystemUser(new SystemUser("sys-usr", new 
RepoPath("/home/users/system")));
-        aclManager.addAcl("sys-usr", newAcl("allow", "jcr:read", 
"/content/_cq_tags"));
-        aclManager.addAcl("sys-usr", newAcl("allow", "jcr:write", 
"/content/cq:tags"));
+        aclManager.addAcl("sys-usr", newAcl(true, "jcr:read", 
"/content/_cq_tags"));
+        aclManager.addAcl("sys-usr", newAcl(true, "jcr:write", 
"/content/cq:tags"));
         VaultPackageAssembler assembler = mock(VaultPackageAssembler.class);
         when(assembler.getEntry(anyString())).thenReturn(new 
File(System.getProperty("java.io.tmpdir")));
         Feature feature = new Feature(new ArtifactId("org.apache.sling", 
"org.apache.sling.cp2fm", "0.0.1", null, null));
@@ -154,8 +154,8 @@ public class AclManagerTest {
         assertFalse(operations.isEmpty());
     }
 
-    private static AccessControlEntry newAcl(String operation, String 
privileges, String path) {
-        return new AccessControlEntry(operation, privileges, new 
RepoPath(path), new RepoPath(PlatformNameFormat.getRepositoryPath(path)));
+    private static AccessControlEntry newAcl(boolean isAllow, String 
privileges, String path) {
+        return new AccessControlEntry(isAllow, privileges, new RepoPath(path), 
new RepoPath(PlatformNameFormat.getRepositoryPath(path)));
     }
 
 }

Reply via email to