KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > nightlabs > ipanema > security > RoleManagerBean


1 /*
2  * Created on 02.03.2004
3  *
4  */

5 package com.nightlabs.ipanema.security;
6 import java.rmi.RemoteException JavaDoc;
7
8 import javax.ejb.CreateException JavaDoc;
9 import javax.ejb.EJBException JavaDoc;
10 import javax.ejb.SessionBean JavaDoc;
11 import javax.ejb.SessionContext JavaDoc;
12 import javax.jdo.PersistenceManager;
13
14 import com.nightlabs.ModuleException;
15 import com.nightlabs.ipanema.base.BaseSessionBeanImpl;
16 import com.nightlabs.ipanema.servermanager.IpanemaServerManager;
17 import com.nightlabs.ipanema.servermanager.RoleImportSet;
18
19 /**
20  * @author nick
21  */

22
23 /**
24  * @ejb.bean name="ipanema/ejb/IpanemaBaseBean/RoleManager"
25  * jndi-name="ipanema/ejb/IpanemaBaseBean/RoleManager"
26  * type="Stateless"
27  *
28  * @ejb.util generate = "physical"
29  **/

30 public abstract class RoleManagerBean extends BaseSessionBeanImpl implements SessionBean JavaDoc
31 {
32
33     /**
34      * @see com.nightlabs.ipanema.base.BaseSessionBeanImpl#setSessionContext(javax.ejb.SessionContext)
35      */

36     public void setSessionContext(SessionContext JavaDoc sessionContext)
37             throws EJBException JavaDoc, RemoteException JavaDoc
38     {
39         super.setSessionContext(sessionContext);
40     }
41     /**
42      * @ejb.create-method
43      * @ejb.permission role-name="RoleManager-read"
44      */

45     public void ejbCreate() throws CreateException JavaDoc
46     {
47 // try
48
// {
49
// System.out.println("RoleManager created by " + this.getPrincipalString());
50
// }
51
// catch (ModuleException e)
52
// {
53
// throw new CreateException(e.getMessage());
54
// }
55
}
56     /**
57      * @see javax.ejb.SessionBean#ejbRemove()
58      *
59      * @ejb.permission unchecked="true"
60      */

61     public void ejbRemove() throws EJBException JavaDoc, RemoteException JavaDoc { }
62     
63     /**
64      * @ejb.interface-method
65      * @ejb.permission role-name="RoleManager-write"
66      * @ejb.transaction type = "Required"
67      **/

68     public void createRole(String JavaDoc roleID)
69     throws SecurityException JavaDoc
70     {
71         System.out.println("RoleManagerBean.createRole");
72         try {
73             PersistenceManager pm = getPersistenceManager();
74             try {
75                 Role newRole = new Role(roleID);
76                 pm.makePersistent(newRole);
77                 System.out.println("new role created..");
78             } finally {
79                 if (AuthorityManagerBean.CLOSE_PM) pm.close();
80             }
81         } catch(Exception JavaDoc e) {
82             throw new SecurityException JavaDoc(e);
83         }
84     }
85
86     /**
87      * @ejb.interface-method
88      * @ejb.permission role-name="RoleManager-read"
89      **/

90     public RoleGroupSearchResult searchRoleGroups (
91             String JavaDoc searchStr, boolean exact, int itemsPerPage, int pageIndex, int roleGroupIncludeMask)
92         throws SecurityException JavaDoc
93     {
94         try {
95             PersistenceManager pm = getPersistenceManager();
96             try {
97                 RoleGroupSearchResult result = RoleGroup.searchRoleGroups(
98                         pm,
99                         searchStr, exact, itemsPerPage, pageIndex);
100                 result.makeTransient(roleGroupIncludeMask);
101                 return result;
102             } finally {
103                 if (AuthorityManagerBean.CLOSE_PM) pm.close();
104             }
105         } catch (Exception JavaDoc x) {
106             throw new SecurityException JavaDoc(x);
107         }
108     }
109
110     /**
111      * @ejb.interface-method
112      * @ejb.permission role-name="RoleManager-write"
113      * @ejb.transaction type = "Required"
114      **/

115     public RoleImportSet roleImport_prepare()
116     throws ModuleException
117     {
118         IpanemaServerManager ism = getIpanemaServerManager();
119         try {
120             return ism.roleImport_prepare(getOrganisationID());
121         } finally {
122             ism.close();
123         }
124     }
125
126     /**
127      * @ejb.interface-method
128      * @ejb.permission role-name="RoleManager-write"
129      * @ejb.transaction type = "Required"
130      **/

131     public void roleImport_commit(RoleImportSet roleImportSet)
132     throws ModuleException
133     {
134         IpanemaServerManager ism = getIpanemaServerManager();
135         try {
136             ism.roleImport_commit(roleImportSet);
137         } finally {
138             ism.close();
139         }
140     }
141     
142 // /**
143
// * @ejb.interface-method
144
// * view-type="remote"
145
// *
146
// * @ejb.permission role-name="RoleManager-write"
147
// **/
148
// public void addUserToRole(String roleID, String userID)
149
// throws SecurityException
150
// {
151
// System.out.println("RoleManagerBean.addUserToRole");
152
// try {
153
// PersistenceManager pm = getPersistenceManager();
154
// try
155
// {
156
// // initialize jdo meta data
157
// pm.getExtent(User.class, true);
158
// pm.getExtent(Role.class, true);
159
//
160
// // find user & role and create links between
161
// User usr = (User)pm.getObjectById(UserID.create(getOrganisationID(), userID), true);
162
// Role role = (Role)pm.getObjectById(RoleID.create(roleID), true);
163
// role.addUser(usr);
164
// } finally {
165
// if (AuthorityManagerBean.CLOSE_PM) pm.close();
166
// }
167
// } catch (Exception x) {
168
// throw new SecurityException(x);
169
// }
170
// }
171

172 }
173
Popular Tags