1 19 package org.lucane.applications.administrator; 20 21 22 import java.util.*; 23 24 import org.lucane.common.*; 25 import org.lucane.common.concepts.*; 26 import org.lucane.common.net.ObjectConnection; 27 import org.lucane.server.*; 28 import org.lucane.server.store.*; 29 30 31 public class AdministratorService 32 extends Service 33 { 34 private Store store; 35 36 public AdministratorService() 37 { 38 } 39 40 public void init(Server parent) 41 { 42 try { 43 this.store = parent.getStore(); 44 } catch(Exception e) { 45 e.printStackTrace(); 46 } 47 } 48 49 50 public void process(ObjectConnection oc, Message message) 51 { 52 AdminAction aa = (AdminAction)message.getData(); 53 try { 54 switch(aa.action) 55 { 56 case AdminAction.GET_ALL_GROUPS: 57 getAllGroups(oc); 58 break; 59 case AdminAction.GET_ALL_USERS: 60 getAllUsers(oc); 61 break; 62 case AdminAction.GET_ALL_PLUGINS: 63 getAllPlugins(oc); 64 break; 65 case AdminAction.GET_ALL_SERVICES: 66 getAllServices(oc); 67 break; 68 case AdminAction.GET_AUTHORIZED_PLUGINS: 69 getAuthorizedPlugins(oc, (UserConcept)aa.param); 70 break; 71 72 case AdminAction.STORE: 73 store((Concept)aa.param); 74 oc.write("OK"); 75 break; 76 case AdminAction.UPDATE: 77 update((Concept)aa.param); 78 oc.write("OK"); 79 break; 80 case AdminAction.REMOVE: 81 remove((Concept)aa.param); 82 oc.write("OK"); 83 break; 84 85 case AdminAction.GET_USERS_FOR: 86 getUsersFor(oc, (Concept)aa.param); 87 break; 88 } 89 } catch(Exception e) { 90 try { 91 oc.write("FAILED " + e); 92 } catch(Exception e2) {} 93 94 e.printStackTrace(); 95 } 96 } 97 98 99 101 102 private void getAllGroups(ObjectConnection oc) 103 { 104 ArrayList groups = new ArrayList(); 105 106 try { 107 Iterator i = store.getGroupStore().getAllGroups(); 108 while(i.hasNext()) 109 groups.add(i.next()); 110 } catch(Exception e) { 111 e.printStackTrace(); 112 } 113 114 try { 115 oc.write("OK"); 116 oc.write(groups); 117 } catch(Exception e) { 118 e.printStackTrace(); 119 } 120 } 121 122 private void getAllUsers(ObjectConnection oc) 123 { 124 ArrayList users = new ArrayList(); 125 126 try { 127 Iterator i = store.getUserStore().getAllUsers(); 128 while(i.hasNext()) 129 users.add(i.next()); 130 } catch(Exception e) { 131 e.printStackTrace(); 132 } 133 134 try { 135 oc.write("OK"); 136 oc.write(users); 137 } catch(Exception e) { 138 e.printStackTrace(); 139 } 140 } 141 142 private void getAllPlugins(ObjectConnection oc) 143 { 144 ArrayList plugins = new ArrayList(); 145 146 try { 147 Iterator i = store.getPluginStore().getAllPlugins(); 148 while(i.hasNext()) 149 plugins.add(i.next()); 150 } catch(Exception e) { 151 e.printStackTrace(); 152 } 153 154 try { 155 oc.write("OK"); 156 oc.write(plugins); 157 } catch(Exception e) { 158 e.printStackTrace(); 159 } 160 } 161 162 private void getAllServices(ObjectConnection oc) 163 { 164 ArrayList services = new ArrayList(); 165 166 try { 167 Iterator i = store.getServiceStore().getAllServices(); 168 while(i.hasNext()) 169 services.add(i.next()); 170 } catch(Exception e) { 171 e.printStackTrace(); 172 } 173 174 try { 175 oc.write("OK"); 176 oc.write(services); 177 } catch(Exception e) { 178 e.printStackTrace(); 179 } 180 } 181 182 private void getAuthorizedPlugins(ObjectConnection oc, UserConcept user) 183 { 184 ArrayList plugins = new ArrayList(); 185 186 try { 187 Iterator i = store.getPluginStore().getAuthorizedPlugins(user); 188 while(i.hasNext()) 189 plugins.add(i.next()); 190 } catch(Exception e) { 191 e.printStackTrace(); 192 } 193 194 try { 195 oc.write("OK"); 196 oc.write(plugins); 197 } catch(Exception e) { 198 e.printStackTrace(); 199 } 200 } 201 202 203 205 private void store(Concept concept) 206 throws Exception 207 { 208 if(concept instanceof GroupConcept) 209 store.getGroupStore().storeGroup((GroupConcept)concept); 210 else if(concept instanceof UserConcept) 211 store.getUserStore().storeUser((UserConcept)concept); 212 else if(concept instanceof PluginConcept) 213 store.getPluginStore().storePlugin((PluginConcept)concept); 214 else if(concept instanceof ServiceConcept) 215 store.getServiceStore().storeService((ServiceConcept)concept); 216 } 217 218 private void update(Concept concept) 219 throws Exception 220 { 221 if(concept instanceof GroupConcept) 222 store.getGroupStore().updateGroup((GroupConcept)concept); 223 else if(concept instanceof UserConcept) 224 store.getUserStore().updateUser((UserConcept)concept); 225 else if(concept instanceof PluginConcept) 226 store.getPluginStore().updatePlugin((PluginConcept)concept); 227 else if(concept instanceof ServiceConcept) 228 store.getServiceStore().updateService((ServiceConcept)concept); 229 } 230 231 private void remove(Concept concept) 232 throws Exception 233 { 234 if(concept instanceof GroupConcept) 235 store.getGroupStore().removeGroup((GroupConcept)concept); 236 else if(concept instanceof UserConcept) 237 store.getUserStore().removeUser((UserConcept)concept); 238 else if(concept instanceof PluginConcept) 239 store.getPluginStore().removePlugin((PluginConcept)concept); 240 else if(concept instanceof ServiceConcept) 241 store.getServiceStore().removeService((ServiceConcept)concept); 242 } 243 244 246 private void getUsersFor(ObjectConnection oc, Concept concept) 247 throws Exception 248 { 249 Iterator i; 250 ArrayList list = new ArrayList(); 251 252 if(concept instanceof GroupConcept) 253 i = store.getGroupStore().getUsersFor((GroupConcept)concept); 254 else if(concept instanceof PluginConcept) 255 i = store.getPluginStore().getUsersFor((PluginConcept)concept); 256 else if(concept instanceof ServiceConcept) 257 i = store.getServiceStore().getUsersFor((ServiceConcept)concept); 258 else 259 i = list.iterator(); 260 261 262 while(i.hasNext()) 263 list.add(i.next()); 264 265 try { 266 oc.write("OK"); 267 oc.write(list); 268 } catch(Exception e) { 269 e.printStackTrace(); 270 } 271 } 272 } 273 | Popular Tags |