This is an automated email from the ASF dual-hosted git repository.
pauls 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 e5833d5 SLING-9961: remove addSystemUserPath (#48)
e5833d5 is described below
commit e5833d5ffe3226ee794ece19aa90a92003d59f1c
Author: Karl Pauls <[email protected]>
AuthorDate: Wed Jan 13 14:54:39 2021 +0100
SLING-9961: remove addSystemUserPath (#48)
---
.../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);