Coverage report

  %line %branch
org.apache.turbine.services.security.torque.TorqueRole
38% 
89% 

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

This report is generated by jcoverage, Maven and Maven JCoverage Plugin.