You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ol...@apache.org on 2017/03/09 17:54:20 UTC

svn commit: r1786208 - in /sling/trunk/bundles/jcr/repoinit/src/main/java/org/apache/sling/jcr/repoinit/impl: UserUtil.java UserVisitor.java

Author: olli
Date: Thu Mar  9 17:54:20 2017
New Revision: 1786208

URL: http://svn.apache.org/viewvc?rev=1786208&view=rev
Log:
SLING-6629 UserUtil reports user is not existing when user is system user

improve and straighten user handling

Modified:
    sling/trunk/bundles/jcr/repoinit/src/main/java/org/apache/sling/jcr/repoinit/impl/UserUtil.java
    sling/trunk/bundles/jcr/repoinit/src/main/java/org/apache/sling/jcr/repoinit/impl/UserVisitor.java

Modified: sling/trunk/bundles/jcr/repoinit/src/main/java/org/apache/sling/jcr/repoinit/impl/UserUtil.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/repoinit/src/main/java/org/apache/sling/jcr/repoinit/impl/UserUtil.java?rev=1786208&r1=1786207&r2=1786208&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/repoinit/src/main/java/org/apache/sling/jcr/repoinit/impl/UserUtil.java (original)
+++ sling/trunk/bundles/jcr/repoinit/src/main/java/org/apache/sling/jcr/repoinit/impl/UserUtil.java Thu Mar  9 17:54:20 2017
@@ -44,11 +44,11 @@ public class UserUtil {
     }
 
     /** True if specified service user exists */
-    public static boolean serviceUserExists(Session session, String username) throws RepositoryException {
+    public static boolean isServiceUser(Session session, String id) throws RepositoryException {
         boolean result = false;
-        final Authorizable authorizable = getAuthorizable(session, username);
-        if(authorizable != null) {
-            final User user = (User)authorizable;
+        final Authorizable authorizable = getAuthorizable(session, id);
+        if (authorizable != null && !authorizable.isGroup()) {
+            final User user = (User) authorizable;
             result = user.isSystemUser();
         }
         return result;
@@ -72,17 +72,9 @@ public class UserUtil {
         boolean result = false;
         final Authorizable authorizable = getAuthorizable(session, id);
         if (authorizable != null) {
-            final User user = (User)authorizable;
-            result = !user.isSystemUser(); // TODO
+            result = !authorizable.isGroup();
         }
         return result;
     }
 
-    public static void deleteServiceUser(Session s, String username) throws RepositoryException {
-        final Authorizable authorizable = getUserManager(s).getAuthorizable(username);
-        if(authorizable == null) {
-            throw new IllegalStateException("Authorizable not found:" + username);
-        }
-        authorizable.remove();
-    }
 }

Modified: sling/trunk/bundles/jcr/repoinit/src/main/java/org/apache/sling/jcr/repoinit/impl/UserVisitor.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/repoinit/src/main/java/org/apache/sling/jcr/repoinit/impl/UserVisitor.java?rev=1786208&r1=1786207&r2=1786208&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/repoinit/src/main/java/org/apache/sling/jcr/repoinit/impl/UserVisitor.java (original)
+++ sling/trunk/bundles/jcr/repoinit/src/main/java/org/apache/sling/jcr/repoinit/impl/UserVisitor.java Thu Mar  9 17:54:20 2017
@@ -41,11 +41,14 @@ class UserVisitor extends DoNothingVisit
     public void visitCreateServiceUser(CreateServiceUser s) {
         final String username = s.getUsername();
         try {
-            if(!UserUtil.serviceUserExists(session, username)) {
+            if (!UserUtil.userExists(session, username)) {
                 log.info("Creating service user {}", username);
                 UserUtil.createServiceUser(session, username);
+            } else if (UserUtil.isServiceUser(session, username)) {
+                log.info("Service user {} already exists, no changes made.", username);
             } else {
-                log.info("Service user {} already exists, no changes made", username);
+                final String message = String.format("Existing user %s is not a service user.", username);
+                throw new RuntimeException(message);
             }
         } catch(Exception e) {
             report(e, "Unable to create service user [" + username + "]:" + e);
@@ -57,7 +60,7 @@ class UserVisitor extends DoNothingVisit
         final String username = s.getUsername();
         log.info("Deleting service user {}", username);
         try {
-            UserUtil.deleteServiceUser(session, username);
+            UserUtil.deleteUser(session, username);
         } catch(Exception e) {
             report(e, "Unable to delete service user [" + username + "]:" + e);
         }