##### Coverage Report - org.apache.turbine.services.security.torque.TorqueRole

Classes in this File | Line Coverage | Branch Coverage | Complexity
TorqueRole |
0% | 0/39
0% | 0/6
| 1.1578947368421053;1,158

1 |  |
     package org.apache.turbine.services.security.torque;
2 |  |
3 |  |
     /*
4 |  |
      * Licensed to the Apache Software Foundation (ASF) under one
5 |  |
      * or more contributor license agreements.  See the NOTICE file
6 |  |
      * distributed with this work for additional information
7 |  |
      * regarding copyright ownership.  The ASF licenses this file
8 |  |
      * to you under the Apache License, Version 2.0 (the
9 |  |
      * "License"); you may not use this file except in compliance
10 |  |
      * with the License.  You may obtain a copy of the License at
11 |  |
      *
12 |  |
      *   http://www.apache.org/licenses/LICENSE-2.0
13 |  |
      *
14 |  |
      * Unless required by applicable law or agreed to in writing,
15 |  |
      * software distributed under the License is distributed on an
16 |  |
      * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17 |  |
      * KIND, either express or implied.  See the License for the
18 |  |
      * specific language governing permissions and limitations
19 |  |
      * under the License.
20 |  |
      */
21 |  |
22 |  |
     import java.util.Iterator;
23 |  |
24 |  |
     import org.apache.turbine.om.security.Permission;
25 |  |
     import org.apache.turbine.om.security.Role;
26 |  |
     import org.apache.turbine.services.security.TurbineSecurity;
27 |  |
     import org.apache.turbine.util.security.PermissionSet;
28 |  |
     import org.apache.turbine.util.security.TurbineSecurityException;
29 |  |
30 |  |
     import org.apache.torque.om.Persistent;
31 |  |
32 |  |
     /**
33 |  |
      * This class represents a role played by the User associated with the
34 |  |
      * current Session. It is separated from the actual Torque peer object
35 |  |
      * to be able to replace the Peer with an user supplied Peer (and Object)
36 |  |
      *
37 |  |
      * @author <a href="mailto:frank.kim@clearink.com">Frank Y. Kim</a>
38 |  |
      * @author <a href="mailto:jmcnally@collab.net">John D. McNally</a>
39 |  |
      * @author <a href="mailto:bmclaugh@algx.net">Brett McLaughlin</a>
40 |  |
      * @author <a href="mailto:mpoeschl@marmot.at">Martin Poeschl</a>
41 |  |
      * @author <a href="mailto:hps@intermeta.de">Henning P. Schmiedehausen</a>
42 |  |
      * @version $Id: TorqueRole.java 534527 2007-05-02 16:10:59Z tv $
43 |  |
      */
44 |  |
45 |  |
     public class TorqueRole
46 |  |
         extends TorqueObject
47 |  |
         implements Role,
48 |  |
                    Comparable
49 |  |
     {
50 |  |
51 |  |
             private static final long serialVersionUID = -7774684697021445523L;
52 |  |
53 |  |
         /** The permissions for this role. */
54 | 0 |
         private PermissionSet permissionSet = null;
55 |  |
56 |  |
         /**
57 |  |
          * Constructs a new Role
58 |  |
          */
59 |  |
         public TorqueRole()
60 |  |
         {
61 | 0 |
             super();
62 | 0 |
         }
63 |  |
64 |  |
         /**
65 |  |
          * Constructs a new Role with the specified name.
66 |  |
          *
67 |  |
          * @param name The name of the new object.
68 |  |
          */
69 |  |
         public TorqueRole(String name)
70 |  |
         {
71 | 0 |
             super(name);
72 | 0 |
         }
73 |  |
74 |  |
         /**
75 |  |
          * The package private Constructor is used when the RolePeerManager
76 |  |
          * has retrieved a list of Database Objects from the peer and
77 |  |
          * must 'wrap' them into TorqueRole Objects. You should not use it directly!
78 |  |
          *
79 |  |
          * @param obj An Object from the peer
80 |  |
          */
81 |  |
         public TorqueRole(Persistent obj)
82 |  |
         {
83 | 0 |
             super(obj);
84 | 0 |
         }
85 |  |
86 |  |
         /**
87 |  |
          * Returns the underlying Object for the Peer
88 |  |
          *
89 |  |
          * Used in the RolePeerManager when building a new Criteria.
90 |  |
          *
91 |  |
          * @return The underlying persistent object
92 |  |
          *
93 |  |
          */
94 |  |
95 |  |
         public Persistent getPersistentObj()
96 |  |
         {
97 | 0 |
             if (obj == null)
98 |  |
             {
99 | 0 |
                 obj = RolePeerManager.newPersistentInstance();
100 |  |
             }
101 | 0 |
             return obj;
102 |  |
         }
103 |  |
104 |  |
         /**
105 |  |
          * Returns the name of this role.
106 |  |
          *
107 |  |
          * @return The name of the role.
108 |  |
          */
109 |  |
         public String getName()
110 |  |
         {
111 | 0 |
             return RolePeerManager.getRoleName(getPersistentObj());
112 |  |
         }
113 |  |
114 |  |
         /**
115 |  |
          * Sets the name of this Role
116 |  |
          *
117 |  |
          * @param name The name of the role.
118 |  |
          */
119 |  |
         public void setName(String name)
120 |  |
         {
121 | 0 |
             RolePeerManager.setRoleName(getPersistentObj(), name);
122 | 0 |
         }
123 |  |
124 |  |
         /**
125 |  |
          * Gets the Id of this object
126 |  |
          *
127 |  |
          * @return The Id of the object
128 |  |
          */
129 |  |
         public int getId()
130 |  |
         {
131 | 0 |
             return RolePeerManager.getIdAsObj(getPersistentObj()).intValue();
132 |  |
         }
133 |  |
134 |  |
         /**
135 |  |
          * Gets the Id of this object
136 |  |
          *
137 |  |
          * @return The Id of the object
138 |  |
          */
139 |  |
         public Integer getIdAsObj()
140 |  |
         {
141 | 0 |
             return RolePeerManager.getIdAsObj(getPersistentObj());
142 |  |
         }
143 |  |
144 |  |
         /**
145 |  |
          * Sets the Id of this object
146 |  |
          *
147 |  |
          * @param id The new Id
148 |  |
          */
149 |  |
         public void setId(int id)
150 |  |
         {
151 | 0 |
             RolePeerManager.setId(getPersistentObj(), id);
152 | 0 |
         }
153 |  |
         /**
154 |  |
          * Returns the set of Permissions associated with this Role.
155 |  |
          *
156 |  |
          * @return A PermissionSet.
157 |  |
          *
158 |  |
          * @exception Exception a generic exception.
159 |  |
          */
160 |  |
         public PermissionSet getPermissions()
161 |  |
             throws Exception
162 |  |
         {
163 | 0 |
             return permissionSet;
164 |  |
         }
165 |  |
166 |  |
         /**
167 |  |
          * Sets the Permissions associated with this Role.
168 |  |
          *
169 |  |
          * @param permissionSet A PermissionSet.
170 |  |
          */
171 |  |
         public void setPermissions(PermissionSet permissionSet)
172 |  |
         {
173 | 0 |
             this.permissionSet = permissionSet;
174 | 0 |
         }
175 |  |
176 |  |
         // These following methods are wrappers around TurbineSecurity
177 |  |
178 |  |
         /**
179 |  |
          * Creates a new Role in the system.
180 |  |
          *
181 |  |
          * @param name The name of the new Role.
182 |  |
          * @return An object representing the new Role.
183 |  |
          * @throws TurbineSecurityException if the Role could not be created.
184 |  |
          */
185 |  |
         public Role create(String name)
186 |  |
             throws TurbineSecurityException
187 |  |
         {
188 | 0 |
             return TurbineSecurity.createRole(name);
189 |  |
         }
190 |  |
191 |  |
         /**
192 |  |
          * Makes changes made to the Role attributes permanent.
193 |  |
          *
194 |  |
          * @throws TurbineSecurityException if there is a problem while
195 |  |
          *  saving data.
196 |  |
          */
197 |  |
         public void save()
198 |  |
             throws TurbineSecurityException
199 |  |
         {
200 | 0 |
             TurbineSecurity.saveRole(this);
201 | 0 |
         }
202 |  |
203 |  |
         /**
204 |  |
          * Removes a role from the system.
205 |  |
          *
206 |  |
          * @throws TurbineSecurityException if the Role could not be removed.
207 |  |
          */
208 |  |
         public void remove()
209 |  |
             throws TurbineSecurityException
210 |  |
         {
211 | 0 |
             TurbineSecurity.removeRole(this);
212 | 0 |
         }
213 |  |
214 |  |
         /**
215 |  |
          * Renames the role.
216 |  |
          *
217 |  |
          * @param name The new Role name.
218 |  |
          * @throws TurbineSecurityException if the Role could not be renamed.
219 |  |
          */
220 |  |
         public void rename(String name)
221 |  |
             throws TurbineSecurityException
222 |  |
         {
223 | 0 |
             TurbineSecurity.renameRole(this, name);
224 | 0 |
         }
225 |  |
226 |  |
         /**
227 |  |
          * Grants a Permission to this Role.
228 |  |
          *
229 |  |
          * @param permission A Permission.
230 |  |
          * @throws TurbineSecurityException if there is a problem while assigning
231 |  |
          * the Permission.
232 |  |
          */
233 |  |
         public void grant(Permission permission)
234 |  |
             throws TurbineSecurityException
235 |  |
         {
236 | 0 |
             TurbineSecurity.grant(this, permission);
237 | 0 |
         }
238 |  |
239 |  |
         /**
240 |  |
          * Grants Permissions from a PermissionSet to this Role.
241 |  |
          *
242 |  |
          * @param permissionSet A PermissionSet.
243 |  |
          * @throws TurbineSecurityException if there is a problem while assigning
244 |  |
          * the Permissions.
245 |  |
          */
246 |  |
         public void grant(PermissionSet permissionSet)
247 |  |
             throws TurbineSecurityException
248 |  |
         {
249 | 0 |
             Iterator permissions = permissionSet.iterator();
250 | 0 |
             while (permissions.hasNext())
251 |  |
             {
252 | 0 |
                 TurbineSecurity.grant(this, (Permission) permissions.next());
253 |  |
             }
254 | 0 |
         }
255 |  |
256 |  |
         /**
257 |  |
          * Revokes a Permission from this Role.
258 |  |
          *
259 |  |
          * @param permission A Permission.
260 |  |
          * @throws TurbineSecurityException if there is a problem while unassigning
261 |  |
          * the Permission.
262 |  |
          */
263 |  |
         public void revoke(Permission permission)
264 |  |
             throws TurbineSecurityException
265 |  |
         {
266 | 0 |
             TurbineSecurity.revoke(this, permission);
267 | 0 |
         }
268 |  |
269 |  |
         /**
270 |  |
          * Revokes Permissions from a PermissionSet from this Role.
271 |  |
          *
272 |  |
          * @param permissionSet A PermissionSet.
273 |  |
          * @throws TurbineSecurityException if there is a problem while unassigning
274 |  |
          * the Permissions.
275 |  |
          */
276 |  |
         public void revoke(PermissionSet permissionSet)
277 |  |
             throws TurbineSecurityException
278 |  |
         {
279 | 0 |
             Iterator permissions = permissionSet.iterator();
280 | 0 |
             while (permissions.hasNext())
281 |  |
             {
282 | 0 |
                 TurbineSecurity.revoke(this, (Permission) permissions.next());
283 |  |
             }
284 | 0 |
         }
285 |  |
     }