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);
}