1 package org.jahia.soap; 2 3 import org.jahia.services.usermanager.JahiaGroupManagerService; 4 import org.jahia.services.usermanager.JahiaGroup; 5 import org.jahia.services.usermanager.JahiaUser; 6 import org.jahia.services.usermanager.JahiaUserManagerService; 7 import org.jahia.registries.ServicesRegistry; 8 9 import java.util.*; 10 11 19 public class UserManager { 20 private static org.apache.log4j.Logger logger = 21 org.apache.log4j.Logger.getLogger(UserManager.class); 22 23 public UserManager() { 24 } 25 26 public boolean authenticate(String userKey, String password) { 27 JahiaUser jahiaUser = ServicesRegistry.getInstance().getJahiaUserManagerService().lookupUser(userKey); 28 if (jahiaUser == null) { 29 return false; 30 } 31 return jahiaUser.verifyPassword(password); 32 } 33 34 public String [] getUsers(int siteId) { 35 Vector v = ServicesRegistry.getInstance().getJahiaUserManagerService().getUsernameList(siteId); 36 String [] r = new String [v.size()]; 37 v.toArray(r); 38 return r; 39 } 40 41 public String [] getGroups(int siteId) { 42 Vector v = ServicesRegistry.getInstance().getJahiaGroupManagerService().getGroupnameList(siteId); 43 String [] r = new String [v.size()]; 44 v.toArray(r); 45 return r; 46 } 47 48 public String [] getMembersWithKey(String groupKey) { 49 JahiaGroupManagerService gm = ServicesRegistry.getInstance().getJahiaGroupManagerService(); 50 JahiaGroup g = gm.lookupGroup(groupKey); 51 Set s = g.getRecursiveUserMembers(); 52 String [] res = new String [s.size()]; 53 int i = 0; 54 for (Iterator iterator = s.iterator(); iterator.hasNext();) { 55 JahiaUser jahiaUser = (JahiaUser) iterator.next(); 56 res[i++] = jahiaUser.getUserKey(); 57 } 58 return res; 59 } 60 61 public String [] getMembers(String groupName, int siteId) { 62 JahiaGroupManagerService gm = ServicesRegistry.getInstance().getJahiaGroupManagerService(); 63 JahiaGroup g = gm.lookupGroup(siteId, groupName); 64 Set s = g.getRecursiveUserMembers(); 65 String [] res = new String [s.size()]; 66 int i = 0; 67 for (Iterator iterator = s.iterator(); iterator.hasNext();) { 68 JahiaUser jahiaUser = (JahiaUser) iterator.next(); 69 res[i++] = jahiaUser.getUsername(); 70 } 71 return res; 72 } 73 74 75 public String [] getMembershipWithKey(String userKey) { 76 String [] res = new java.lang.String [0]; 77 try { 78 JahiaUserManagerService um = ServicesRegistry.getInstance().getJahiaUserManagerService(); 79 JahiaUser u = um.lookupUser(userKey); 80 JahiaGroupManagerService gm = ServicesRegistry.getInstance().getJahiaGroupManagerService(); 81 Vector v = gm.getUserMembership(u); 82 res = new String [v.size()]; 83 v.toArray(res); 84 } catch (Exception e) { 85 e.printStackTrace(); } 87 return res; 88 } 89 90 public String [] getMembership(String userName, int siteId) { 91 String [] res = new java.lang.String [0]; 92 try { 93 JahiaUserManagerService um = ServicesRegistry.getInstance().getJahiaUserManagerService(); 94 JahiaUser u = um.lookupUser(siteId, userName); 95 if (u ==null) { 96 u = um.lookupUser(0, userName); 97 } 98 JahiaGroupManagerService gm = ServicesRegistry.getInstance().getJahiaGroupManagerService(); 99 Vector v = gm.getUserMembership(u); 100 res = new String [v.size()]; 101 int i = 0; 102 for (Iterator iterator = v.iterator(); iterator.hasNext();) { 103 String gkey = (String ) iterator.next(); 104 JahiaGroup g = ServicesRegistry.getInstance().getJahiaGroupManagerService().lookupGroup(gkey); 105 res[i++] = g.getGroupname(); 106 } 107 } catch (Exception e) { 108 e.printStackTrace(); } 110 return res; 111 } 112 113 public boolean isMember(String userName, String groupName, int siteId) { 114 boolean res = false; 115 try { 116 JahiaUserManagerService um = ServicesRegistry.getInstance().getJahiaUserManagerService(); 117 JahiaUser u = um.lookupUser(siteId, userName); 118 if (u ==null) { 119 u = um.lookupUser(0, userName); 120 } 121 JahiaGroupManagerService gm = ServicesRegistry.getInstance().getJahiaGroupManagerService(); 122 JahiaGroup g = gm.lookupGroup(siteId, groupName); 123 if (g ==null) { 124 g = gm.lookupGroup(0, groupName); 125 } 126 res = g.isMember(u); 127 } catch (Exception e) { 128 e.printStackTrace(); } 130 return res; 131 } 132 133 public Map getPropertiesWithKey(String userKey ) { 134 JahiaUser jahiaUser = ServicesRegistry.getInstance().getJahiaUserManagerService().lookupUser(userKey); 135 return jahiaUser.getProperties(); 136 } 137 138 public Map getProperties(String userName, int siteId ) { 139 JahiaUser jahiaUser = ServicesRegistry.getInstance().getJahiaUserManagerService().lookupUser(siteId, userName); 140 if (jahiaUser ==null) { 141 jahiaUser = ServicesRegistry.getInstance().getJahiaUserManagerService().lookupUser(0, userName); 142 } 143 return jahiaUser.getProperties(); 144 } 145 146 public Map getMembersPropertiesWithKey(String groupKey) { 147 JahiaGroupManagerService gm = ServicesRegistry.getInstance().getJahiaGroupManagerService(); 148 JahiaGroup g = gm.lookupGroup(groupKey); 149 Set s = g.getRecursiveUserMembers(); 150 Map res = new HashMap(); 151 152 for (Iterator iterator = s.iterator(); iterator.hasNext();) { 153 JahiaUser jahiaUser = (JahiaUser) iterator.next(); 154 res.put(jahiaUser.getUserKey(),jahiaUser.getProperties()); 155 } 156 return res; 157 } 158 159 public Map getMembersProperties(String groupName,int siteId) { 160 JahiaGroupManagerService gm = ServicesRegistry.getInstance().getJahiaGroupManagerService(); 161 JahiaGroup g = gm.lookupGroup(siteId, groupName); 162 Set s = g.getRecursiveUserMembers(); 163 Map res = new HashMap(); 164 165 for (Iterator iterator = s.iterator(); iterator.hasNext();) { 166 JahiaUser jahiaUser = (JahiaUser) iterator.next(); 167 res.put(jahiaUser.getUserKey(),jahiaUser.getProperties()); 168 } 169 return res; 170 } 171 172 public boolean checkPassword(String userName, String password, int siteId) { 173 JahiaUser jahiaUser = ServicesRegistry.getInstance().getJahiaUserManagerService().lookupUser(siteId, userName); 174 if (jahiaUser ==null) { 175 jahiaUser = ServicesRegistry.getInstance().getJahiaUserManagerService().lookupUser(0, userName); 176 } 177 return jahiaUser.verifyPassword(password); 178 } 179 180 } 181 | Popular Tags |