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/01/13 13:01:06 UTC
[sling-org-apache-sling-feature-cpconverter] 01/01: SLING-9961:
remove addSystemUserPath
This is an automated email from the ASF dual-hosted git repository.
pauls pushed a commit to branch issues/SLING-9961
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-cpconverter.git
commit 1d82ebdbe34ebec091a5a21e62b44c3fdf77522c
Author: Karl Pauls <ka...@gmail.com>
AuthorDate: Wed Jan 13 14:00:40 2021 +0100
SLING-9961: remove addSystemUserPath
---
.../accesscontrol/DefaultAclManager.java | 49 ++++------------------
.../cpconverter/accesscontrol/AclManagerTest.java | 6 +--
.../handlers/RepPolicyEntryHandlerTest.java | 6 +--
.../handlers/SystemUsersEntryHandlerTest.java | 2 +-
4 files changed, 14 insertions(+), 49 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 12bb776..4aaa185 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
@@ -51,8 +51,6 @@ public final class DefaultAclManager implements AclManager {
private static final String DEFAULT_TYPE = "sling:Folder";
- private final Set<SystemUser> preProvidedSystemUsers = new LinkedHashSet<>();
-
private final Set<RepoPath> preProvidedSystemPaths = new HashSet<>();
private final Set<RepoPath> preProvidedPaths = new HashSet<>();
@@ -66,10 +64,7 @@ public final class DefaultAclManager implements AclManager {
private volatile PrivilegeDefinitions privilegeDefinitions;
public boolean addSystemUser(@NotNull SystemUser systemUser) {
- if (preProvidedSystemUsers.add(systemUser)) {
- return systemUsers.add(systemUser);
- }
- return false;
+ return systemUsers.add(systemUser);
}
public boolean addAcl(@NotNull String systemUser, @NotNull AccessControlEntry acl) {
@@ -105,34 +100,15 @@ public final class DefaultAclManager implements AclManager {
// system users
for (SystemUser systemUser : systemUsers) {
- // TODO does it harm?!?
- addSystemUserPath(formatter, systemUser.getIntermediatePath());
-
// make sure all users are created first
-
formatter.format("create service user %s with path %s%n", systemUser.getId(), systemUser.getIntermediatePath());
-
- // clean the unneeded ACLs, see SLING-8561
-
- List<AccessControlEntry> authorizations = acls.remove(systemUser.getId());
-
- if (authorizations != null) {
- addStatements(systemUser, authorizations, packageAssemblers, formatter);
- }
}
- // all the resting ACLs can now be set
-
- for (Entry<String, List<AccessControlEntry>> currentAcls : acls.entrySet()) {
- Optional<SystemUser> systemUser = getSystemUser(currentAcls.getKey());
-
- if (systemUser.isPresent()) {
- List<AccessControlEntry> authorizations = currentAcls.getValue();
- if (authorizations != null) {
- addStatements(systemUser.get(), authorizations, packageAssemblers, formatter);
- }
- }
- }
+ // add the acls
+ acls.forEach((systemUserID, authorizations) ->
+ getSystemUser(systemUserID).ifPresent(systemUser ->
+ addStatements(systemUser, authorizations, packageAssemblers, formatter)
+ ));
String text = formatter.toString();
@@ -166,18 +142,7 @@ public final class DefaultAclManager implements AclManager {
}
private @NotNull Optional<SystemUser> getSystemUser(@NotNull String id) {
- for (SystemUser systemUser : preProvidedSystemUsers) {
- if (id.equals(systemUser.getId())) {
- return Optional.of(systemUser);
- }
- }
- return Optional.empty();
- }
-
- private void addSystemUserPath(@NotNull Formatter formatter, @NotNull RepoPath path) {
- if (preProvidedSystemPaths.add(path)) {
- formatter.format("create path (rep:AuthorizableFolder) %s%n", path);
- }
+ return systemUsers.stream().filter(systemUser -> systemUser.getId().equals(id)).findFirst();
}
@Override
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 710d0d7..77a25b2 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
@@ -88,7 +88,7 @@ public class AclManagerTest {
assertNotNull(repoinitExtension);
// acs-commons-on-deploy-scripts-service will be missed
- String expected = "create path (rep:AuthorizableFolder) /home/users/system" + System.lineSeparator() + // SLING-8586
+ String expected =
"create service user acs-commons-package-replication-status-event-service with path /home/users/system" + System.lineSeparator() +
"create path (sling:Folder) /asd" + System.lineSeparator() +
"create path (sling:Folder) /asd/not" + System.lineSeparator() +
@@ -135,7 +135,7 @@ public class AclManagerTest {
assertNotNull(repoinitExtension);
// aacs-commons-ensure-oak-index-service will be missed
- String expected = "create path (rep:AuthorizableFolder) /home/users/system" + System.lineSeparator() + // SLING-8586
+ String expected =
"create service user acs-commons-package-replication-status-event-service with path /home/users/system" + System.lineSeparator() +
"create path (sling:Folder) /asd" + System.lineSeparator() +
"create path (sling:Folder) /asd/not" + System.lineSeparator() +
@@ -189,7 +189,7 @@ public class AclManagerTest {
Extension repoinitExtension = feature.getExtensions().getByName(Extension.EXTENSION_NAME_REPOINIT);
assertNotNull(repoinitExtension);
- String expected = "create path (rep:AuthorizableFolder) /home/users/system" + System.lineSeparator() + // SLING-8586
+ String expected =
"create service user sys-usr with path /home/users/system" + System.lineSeparator() +
"create path (sling:Folder) /content" + System.lineSeparator() +
"create path (sling:Folder) /content/cq:tags" + System.lineSeparator() +
diff --git a/src/test/java/org/apache/sling/feature/cpconverter/handlers/RepPolicyEntryHandlerTest.java b/src/test/java/org/apache/sling/feature/cpconverter/handlers/RepPolicyEntryHandlerTest.java
index 07cf136..cbd1b0c 100644
--- a/src/test/java/org/apache/sling/feature/cpconverter/handlers/RepPolicyEntryHandlerTest.java
+++ b/src/test/java/org/apache/sling/feature/cpconverter/handlers/RepPolicyEntryHandlerTest.java
@@ -94,7 +94,7 @@ public final class RepPolicyEntryHandlerTest {
assertEquals(ExtensionType.TEXT, repoinitExtension.getType());
// commented ACLs are due SLING-8561
- String expected = "create path (rep:AuthorizableFolder) /home/users/system" + System.lineSeparator() + // SLING-8586
+ String expected =
"create service user acs-commons-ensure-oak-index-service with path /home/users/system" + System.lineSeparator() +
// "create path (sling:Folder) /asd\n" +
// "create path (sling:Folder) /asd/public\n" +
@@ -141,7 +141,7 @@ public final class RepPolicyEntryHandlerTest {
assertEquals(ExtensionType.TEXT, repoinitExtension.getType());
// commented ACLs are due SLING-8561
- String expected = "create path (rep:AuthorizableFolder) /home/users/system" + System.lineSeparator() + // SLING-8586
+ String expected =
"create service user acs-commons-package-replication-status-event-service with path /home/users/system" + System.lineSeparator() +
// "create path (sling:Folder) /asd\n" +
// "create path (sling:Folder) /asd/public\n" +
@@ -188,7 +188,7 @@ public final class RepPolicyEntryHandlerTest {
assertNotNull(repoinitExtension);
assertEquals(ExtensionType.TEXT, repoinitExtension.getType());
- String expected = "create path (rep:AuthorizableFolder) /this/is/a/completely/different/path" + System.lineSeparator() + // SLING-8586
+ String expected =
"create service user acs-commons-package-replication-status-event-service with path /this/is/a/completely/different/path" + System.lineSeparator() +
"create path (sling:Folder) /home" + System.lineSeparator() +
"create path (sling:Folder) /home/users" + System.lineSeparator() +
diff --git a/src/test/java/org/apache/sling/feature/cpconverter/handlers/SystemUsersEntryHandlerTest.java b/src/test/java/org/apache/sling/feature/cpconverter/handlers/SystemUsersEntryHandlerTest.java
index 604a1f9..3fe0523 100644
--- a/src/test/java/org/apache/sling/feature/cpconverter/handlers/SystemUsersEntryHandlerTest.java
+++ b/src/test/java/org/apache/sling/feature/cpconverter/handlers/SystemUsersEntryHandlerTest.java
@@ -69,7 +69,7 @@ public class SystemUsersEntryHandlerTest {
assertEquals(ExtensionType.TEXT, repoinitExtension.getType());
assertTrue(repoinitExtension.isRequired());
- String expected = "create path (rep:AuthorizableFolder) /home/users/system/asd-share-commons" + System.lineSeparator() + // SLING-8586
+ String expected =
"create service user asd-share-commons-asd-index-definition-reader-service with path /home/users/system/asd-share-commons" + System.lineSeparator();
String actual = repoinitExtension.getText();
assertEquals(expected, actual);