This is an automated email from the ASF dual-hosted git repository. angela pushed a commit to branch SLING-10321 in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-serviceusermapper.git
commit 49dff0d3fc60eb4968be4739e3f4219f86f349af Author: angela <[email protected]> AuthorDate: Tue Apr 20 12:11:51 2021 +0200 SLING-10321 : Deprecate service mapping by userID --- .../apache/sling/serviceusermapping/Mapping.java | 6 ++++ .../serviceusermapping/ServiceUserMapper.java | 2 ++ .../impl/MappingInventoryPrinter.java | 40 +++++++++++----------- 3 files changed, 28 insertions(+), 20 deletions(-) diff --git a/src/main/java/org/apache/sling/serviceusermapping/Mapping.java b/src/main/java/org/apache/sling/serviceusermapping/Mapping.java index 9139f15..151bf5a 100644 --- a/src/main/java/org/apache/sling/serviceusermapping/Mapping.java +++ b/src/main/java/org/apache/sling/serviceusermapping/Mapping.java @@ -18,6 +18,9 @@ */ package org.apache.sling.serviceusermapping; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.util.LinkedHashSet; import java.util.Set; @@ -33,6 +36,8 @@ public class Mapping implements Comparable<Mapping> { */ public static String SERVICENAME = ".serviceName"; + private final Logger log = LoggerFactory.getLogger(getClass()); + private final String serviceName; private final String subServiceName; @@ -86,6 +91,7 @@ public class Mapping implements Comparable<Mapping> { } else { this.userName = s; this.principalNames = null; + log.warn("Deprecated service mapping by userId, refactor to mapping by principal names (e.g. '{}{}=[{}]').", serviceName, ((subServiceName == null) ? "" : ":"+subServiceName) , s); } } diff --git a/src/main/java/org/apache/sling/serviceusermapping/ServiceUserMapper.java b/src/main/java/org/apache/sling/serviceusermapping/ServiceUserMapper.java index d65cab8..de1f5f7 100644 --- a/src/main/java/org/apache/sling/serviceusermapping/ServiceUserMapper.java +++ b/src/main/java/org/apache/sling/serviceusermapping/ServiceUserMapper.java @@ -77,7 +77,9 @@ public interface ServiceUserMapper { * the service. This may be {@code null} if no particular user can * be derived for the service identified by the bundle and the * optional {@code serviceInfo}. + * @deprecated Use {@link #getServicePrincipalNames(Bundle, String)} instead. */ + @Deprecated String getServiceUserID(Bundle bundle, String subServiceName); /** diff --git a/src/main/java/org/apache/sling/serviceusermapping/impl/MappingInventoryPrinter.java b/src/main/java/org/apache/sling/serviceusermapping/impl/MappingInventoryPrinter.java index 821a72c..0050b34 100644 --- a/src/main/java/org/apache/sling/serviceusermapping/impl/MappingInventoryPrinter.java +++ b/src/main/java/org/apache/sling/serviceusermapping/impl/MappingInventoryPrinter.java @@ -133,12 +133,12 @@ public class MappingInventoryPrinter implements InventoryPrinter { w.object(); w.key("title").value("Service User Mappings"); w.key("mappingsCount").value(data.size()); - w.key("uniqueUsersCount").value(byUser.keySet().size()); w.key("uniquePrincipalsCount").value(byPrincipalName.keySet().size()); + w.key("uniqueUsersCount").value(byUser.keySet().size()); - w.key("mappingsByUser"); + w.key("mappingsByPrincipal"); w.object(); - for(Map.Entry<String, List<Mapping>> e : byUser.entrySet()) { + for(Map.Entry<String, List<Mapping>> e : byPrincipalName.entrySet()) { w.key(e.getKey()); w.array(); for(Mapping m : e.getValue()) { @@ -148,9 +148,9 @@ public class MappingInventoryPrinter implements InventoryPrinter { } w.endObject(); - w.key("mappingsByPrincipal"); + w.key("mappingsByUser (deprecated)"); w.object(); - for(Map.Entry<String, List<Mapping>> e : byPrincipalName.entrySet()) { + for(Map.Entry<String, List<Mapping>> e : byUser.entrySet()) { w.key(e.getKey()); w.array(); for(Mapping m : e.getValue()) { @@ -182,29 +182,29 @@ public class MappingInventoryPrinter implements InventoryPrinter { private void renderText(PrintWriter out) { final List<Mapping> data = mapper.getActiveMappings(); - final Map<String, List<Mapping>> byUser = getMappingsByUser(data); - - out.print("*** Mappings by user ("); - out.print(byUser.keySet().size()); - out.print(" users):"); - out.println(" (format: service name / sub service name / user)"); + final Map<String, List<Mapping>> byPrincipalName = getMappingsByPrincipalName(data); + + out.print("*** Mappings by principals ("); + out.print(byPrincipalName.keySet().size()); + out.print(" principals):"); + out.println(" (format: service name / sub service name / principal names)"); - for(Map.Entry<String, List<Mapping>> e : byUser.entrySet()) { + for(Map.Entry<String, List<Mapping>> e : byPrincipalName.entrySet()) { out.print(" "); out.println(e.getKey()); for(Mapping m : e.getValue()) { asText(out, m, " "); } } + + final Map<String, List<Mapping>> byUser = getMappingsByUser(data); + out.println(); + out.print("*** Deprecated mappings by user ("); + out.print(byUser.keySet().size()); + out.print(" users):"); + out.println(" (format: service name / sub service name / user)"); - final Map<String, List<Mapping>> byPrincipalName = getMappingsByPrincipalName(data); - - out.print("*** Mappings by principals ("); - out.print(byPrincipalName.keySet().size()); - out.print(" principals):"); - out.println(" (format: service name / sub service name / principal names)"); - - for(Map.Entry<String, List<Mapping>> e : byPrincipalName.entrySet()) { + for(Map.Entry<String, List<Mapping>> e : byUser.entrySet()) { out.print(" "); out.println(e.getKey()); for(Mapping m : e.getValue()) {
