1 19 package org.lucane.server.store; 20 21 import java.util.*; 22 23 import org.lucane.server.*; 24 import org.lucane.common.concepts.*; 25 26 29 public abstract class PluginStore 30 { 31 36 public abstract void storePlugin(PluginConcept plugin) throws Exception ; 37 38 43 public abstract void updatePlugin(PluginConcept plugin) throws Exception ; 44 45 50 public abstract void removePlugin(PluginConcept plugin) throws Exception ; 51 52 58 public abstract PluginConcept getPlugin(String name) throws Exception ; 59 60 65 public abstract Iterator getAllPlugins() throws Exception ; 66 67 73 public Iterator getAuthorizedPlugins(UserConcept user) 74 throws Exception 75 { 76 ArrayList authorizedPlugins = new ArrayList(); 77 78 UserStore us = Server.getInstance().getStore().getUserStore(); 79 Iterator groups = us.getAllUserGroups(user); 80 while(groups.hasNext()) 81 { 82 GroupConcept group = (GroupConcept)groups.next(); 83 Iterator plugins = group.getPlugins(); 84 while(plugins.hasNext()) 85 { 86 PluginConcept plugin = (PluginConcept)plugins.next(); 87 if(! authorizedPlugins.contains(plugin)) 88 authorizedPlugins.add(plugin); 89 } 90 } 91 92 return authorizedPlugins.iterator(); 93 } 94 95 102 public boolean isAuthorizedPlugin(UserConcept user, PluginConcept plugin) 103 throws Exception 104 { 105 Iterator i = getAuthorizedPlugins(user); 106 while(i.hasNext()) 107 { 108 Object o = i.next(); 109 110 if(plugin.equals(o)) 111 return true; 112 } 113 114 return false; 115 } 116 117 123 public Iterator getUsersFor(PluginConcept plugin) 124 throws Exception 125 { 126 ArrayList users = new ArrayList(); 127 128 UserStore us = Server.getInstance().getStore().getUserStore(); 129 Iterator i = us.getAllUsers(); 130 while(i.hasNext()) 131 { 132 UserConcept user = (UserConcept)i.next(); 133 if(isAuthorizedPlugin(user, plugin)) 134 users.add(user); 135 } 136 137 return users.iterator(); 138 } 139 } | Popular Tags |