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

enorman pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-serviceuser-webconsole.git


The following commit(s) were added to refs/heads/master by this push:
     new 32a2a73  SLING-13017 Update to Parent 65 (#11)
32a2a73 is described below

commit 32a2a73df4d50bce3f18b7129e03a6344d755711
Author: Eric Norman <[email protected]>
AuthorDate: Mon Feb 23 13:26:41 2026 -0800

    SLING-13017 Update to Parent 65 (#11)
---
 pom.xml                                            |  9 ++----
 .../impl/ServiceUserWebConsolePlugin.java          | 37 ++++++++++++++--------
 2 files changed, 26 insertions(+), 20 deletions(-)

diff --git a/pom.xml b/pom.xml
index b7730ce..2a639ba 100644
--- a/pom.xml
+++ b/pom.xml
@@ -15,7 +15,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>sling-bundle-parent</artifactId>
-        <version>62</version>
+        <version>65</version>
         <relativePath />
     </parent>
 
@@ -33,10 +33,8 @@
     </scm>
 
     <properties>
-        <sling.java.version>8</sling.java.version>
+        <sling.java.version>17</sling.java.version>
         
<project.build.outputTimestamp>1734086735</project.build.outputTimestamp>
-        <jackrabbit.version>2.20.6</jackrabbit.version>
-        <oak.version>1.44.0</oak.version>
     </properties>
     <dependencies>
         <dependency>
@@ -62,7 +60,6 @@
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>oak-jackrabbit-api</artifactId>
-            <version>${oak.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
@@ -79,7 +76,6 @@
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>jackrabbit-jcr-commons</artifactId>
-            <version>${jackrabbit.version}</version>
             <scope>provided</scope>
         </dependency>
 
@@ -117,7 +113,6 @@
         <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
-            <version>6.0.0</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git 
a/src/main/java/org/apache/sling/serviceuser/webconsole/impl/ServiceUserWebConsolePlugin.java
 
b/src/main/java/org/apache/sling/serviceuser/webconsole/impl/ServiceUserWebConsolePlugin.java
index dd028b6..52e250d 100644
--- 
a/src/main/java/org/apache/sling/serviceuser/webconsole/impl/ServiceUserWebConsolePlugin.java
+++ 
b/src/main/java/org/apache/sling/serviceuser/webconsole/impl/ServiceUserWebConsolePlugin.java
@@ -40,6 +40,7 @@ import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Dictionary;
+import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.Hashtable;
 import java.util.Iterator;
@@ -287,8 +288,8 @@ public class ServiceUserWebConsolePlugin extends 
AbstractServlet {
 
         Object mappingsValue = getFn.apply(PROP_USER_MAPPING);
         String[] mappings;
-        if (mappingsValue instanceof String[]) {
-            mappings = (String[]) mappingsValue;
+        if (mappingsValue instanceof String[] stringArray) {
+            mappings = stringArray;
         } else {
             mappings = new String[0];
         }
@@ -553,16 +554,28 @@ public class ServiceUserWebConsolePlugin extends 
AbstractServlet {
 
     private List<Pair<String, String>> getPrivileges(HttpServletRequest 
request) {
         List<Pair<String, String>> privileges = new ArrayList<>();
-        List<String> params = Collections.list(request.getParameterNames());
+
+        List<String> params = new ArrayList<>();
+        // filter the parameter names
+        Enumeration<String> parameterNames = request.getParameterNames();
+        while (parameterNames.hasMoreElements()) {
+            String paramName = parameterNames.nextElement();
+            if (paramName.matches("^acl-path-\\d+$")) {
+                params.add(paramName);
+            }
+        }
 
         for (String param : params) {
-            if (param.startsWith("acl-path-")) {
-                String path = request.getParameter(param);
-                String privilege = 
request.getParameter(param.replace("-path-", "-privilege-"));
-                if (StringUtils.isNotBlank(path) && 
StringUtils.isNotBlank(privilege)) {
-                    privileges.add(new ImmutablePair<>(path, privilege));
+            String path = request.getParameter(param);
+            if (StringUtils.isEmpty(path)) {
+                log.warn("Unable to load ACL due to missing value for 
parameter {}", param);
+            } else {
+                String privilegeParam = param.replace("-path-", "-privilege-");
+                String privilege = request.getParameter(privilegeParam);
+                if (StringUtils.isEmpty(privilege)) {
+                    log.warn("Unable to load ACL due to missing value for 
parameter {}", privilegeParam);
                 } else {
-                    log.warn("Unable to load ACL due to missing value {}={}", 
path, privilege);
+                    privileges.add(new ImmutablePair<>(path, privilege));
                 }
             }
         }
@@ -1143,8 +1156,7 @@ public class ServiceUserWebConsolePlugin extends 
AbstractServlet {
                 AccessControlPolicy[] policies = 
accessManager.getPolicies(pol.getKey());
                 List<String> toRemove = new ArrayList<>();
                 for (AccessControlPolicy p : policies) {
-                    if (p instanceof AccessControlList) {
-                        AccessControlList policy = (AccessControlList) p;
+                    if (p instanceof AccessControlList policy) {
                         for (AccessControlEntry entry : 
policy.getAccessControlEntries()) {
                             Principal prin = entry.getPrincipal();
                             if (prin.getName().equals(name)) {
@@ -1176,8 +1188,7 @@ public class ServiceUserWebConsolePlugin extends 
AbstractServlet {
                 AccessControlPolicy[] policies = 
accessManager.getPolicies(oldPolicy);
                 AccessControlEntry toRemove = null;
                 for (AccessControlPolicy p : policies) {
-                    if (p instanceof AccessControlList) {
-                        AccessControlList policy = (AccessControlList) p;
+                    if (p instanceof AccessControlList policy) {
                         toRemove = 
Arrays.stream(policy.getAccessControlEntries())
                                 .filter(entry -> 
entry.getPrincipal().getName().equals(name))
                                 .findFirst()

Reply via email to