This is an automated email from the ASF dual-hosted git repository. rombert pushed a commit to annotated tag org.apache.sling.distribution.sample-0.1.6 in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-distribution-sample.git
commit 3646e090d8136baacc71001c2910190be3e5cef3 Author: Marius Petria <[email protected]> AuthorDate: Wed Feb 3 12:21:10 2016 +0000 SLING-5479: running distribution its with launchapad 8 (Oak) git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/distribution/sample@1728301 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/sling/distribution/test/Init.java | 60 ++++++++++++++-------- 1 file changed, 38 insertions(+), 22 deletions(-) diff --git a/src/main/java/org/apache/sling/distribution/test/Init.java b/src/main/java/org/apache/sling/distribution/test/Init.java index 9721595..58f1450 100644 --- a/src/main/java/org/apache/sling/distribution/test/Init.java +++ b/src/main/java/org/apache/sling/distribution/test/Init.java @@ -27,6 +27,8 @@ import org.apache.jackrabbit.api.JackrabbitSession; import org.apache.jackrabbit.api.security.user.Authorizable; import org.apache.jackrabbit.api.security.user.User; import org.apache.jackrabbit.api.security.user.UserManager; + +import javax.jcr.RepositoryException; import javax.jcr.security.Privilege; import org.apache.jackrabbit.commons.JcrUtils; @@ -59,18 +61,7 @@ public class Init { JackrabbitSession jackrabittSession = (JackrabbitSession) session; UserManager userManager = jackrabittSession.getUserManager(); - Authorizable serviceUser = userManager.getAuthorizable(serviceUserName); - - if (serviceUser == null) { - try { - serviceUser = userManager.createSystemUser(serviceUserName, null); - log.info("created system user {}", serviceUserName); - - } catch (Throwable t) { - serviceUser = userManager.createUser(serviceUserName, "123"); - log.info("created regular user {}", serviceUserName); - } - } + User serviceUser = createOrGetServiceUser(userManager, serviceUserName); if (serviceUser != null) { AccessControlUtils.addAccessControlEntry(session, "/var/sling/distribution/packages", serviceUser.getPrincipal(), new String[]{ Privilege.JCR_ALL }, true); @@ -79,12 +70,7 @@ public class Init { } - Authorizable distributorUser = userManager.getAuthorizable(distributorUserName); - - if (distributorUser == null) { - distributorUser = userManager.createUser(distributorUserName, "123"); - log.info("created regular user {}", distributorUserName); - } + Authorizable distributorUser = createOrGetRegularUser(userManager, distributorUserName); JcrUtils.getOrCreateByPath("/content", "sling:Folder", session); @@ -97,11 +83,9 @@ public class Init { } - Authorizable defaultAgentUser = userManager.getAuthorizable(defaultAgentUserName); + User defaultAgentUser = createOrGetServiceUser(userManager, defaultAgentUserName); - if (defaultAgentUser == null) { - defaultAgentUser = userManager.createUser(defaultAgentUserName, "123"); - log.info("created regular user {}", defaultAgentUserName); + if (defaultAgentUser != null) { ((User) distributorUser).getImpersonation().grantImpersonation(defaultAgentUser.getPrincipal()); ((User) serviceUser).getImpersonation().grantImpersonation(defaultAgentUser.getPrincipal()); } @@ -114,5 +98,37 @@ public class Init { } + private User createOrGetServiceUser(UserManager userManager, String serviceUserName) throws RepositoryException { + Authorizable serviceUser = userManager.getAuthorizable(serviceUserName); + + if (serviceUser == null) { + try { + serviceUser = userManager.createSystemUser(serviceUserName, null); + log.info("created system user {}", serviceUserName); + + } catch (Throwable t) { + serviceUser = userManager.createUser(serviceUserName, "123"); + log.info("created regular user {}", serviceUserName); + } + } + + return (User) serviceUser; + + } + + private User createOrGetRegularUser(UserManager userManager, String userName) throws RepositoryException { + Authorizable serviceUser = userManager.getAuthorizable(userName); + + if (serviceUser == null) { + serviceUser = userManager.createUser(userName, "123"); + log.info("created regular user {}", userName); + } + + return (User) serviceUser; + + } + + + } -- To stop receiving notification emails like this one, please contact "[email protected]" <[email protected]>.
