Guest User

Untitled

a guest
Oct 20th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.06 KB | None | 0 0
  1. package org.redquark.demo.core.cqcomponents;
  2.  
  3. import java.util.Iterator;
  4. import java.util.LinkedList;
  5. import java.util.List;
  6.  
  7. import javax.jcr.Session;
  8.  
  9. import org.apache.jackrabbit.api.JackrabbitSession;
  10. import org.apache.jackrabbit.api.security.user.Authorizable;
  11. import org.apache.jackrabbit.api.security.user.UserManager;
  12. import org.apache.sling.api.resource.ResourceResolver;
  13. import org.slf4j.Logger;
  14. import org.slf4j.LoggerFactory;
  15.  
  16. import com.adobe.cq.sightly.WCMUsePojo;
  17.  
  18. /**
  19. * @author Anirudh Sharma
  20. *
  21. * This component lists all the users and groups present in the JCR
  22. */
  23. public class UserComponent extends WCMUsePojo {
  24.  
  25. /**
  26. * Logger
  27. */
  28. private static final Logger log = LoggerFactory.getLogger(UserComponent.class);
  29.  
  30. private List<String> users, groups;
  31.  
  32. private Session session;
  33.  
  34. @Override
  35. public void activate() throws Exception {
  36.  
  37. try {
  38.  
  39. log.info("----------< Processing starts >----------");
  40.  
  41. ResourceResolver resourceResolver = getResourceResolver();
  42.  
  43. session = resourceResolver.adaptTo(Session.class);
  44.  
  45. UserManager userManager = ((JackrabbitSession) session).getUserManager();
  46.  
  47. Iterator<Authorizable> userIterator = userManager.findAuthorizables("jcr:primaryType", "rep:User");
  48. Iterator<Authorizable> groupIterator = userManager.findAuthorizables("jcr:primaryType", "rep:Group");
  49.  
  50. users = new LinkedList<>();
  51. groups = new LinkedList<>();
  52.  
  53. while (userIterator.hasNext()) {
  54.  
  55. log.info("Getting user");
  56.  
  57. Authorizable user = userIterator.next();
  58.  
  59. if (!user.isGroup()) {
  60. log.info("User found: {}", user.getID());
  61. users.add(user.getID());
  62. }
  63. }
  64.  
  65. while (groupIterator.hasNext()) {
  66.  
  67. log.info("Getting group");
  68.  
  69. Authorizable group = groupIterator.next();
  70.  
  71. if (group.isGroup()) {
  72. log.info("Group found {}", group.getID());
  73. groups.add(group.getID());
  74. }
  75. }
  76. } catch (Exception e) {
  77.  
  78. log.error(e.getMessage(), e);
  79. }
  80. }
  81.  
  82.  
  83. /**
  84. * @return the users
  85. */
  86. public List<String> getUsers() {
  87. return users;
  88. }
  89.  
  90. /**
  91. * @return the groups
  92. */
  93. public List<String> getGroups() {
  94. return groups;
  95. }
  96.  
  97. }
Add Comment
Please, Sign In to add comment