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,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  
 }