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-2005 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 264148 2005-08-29 14:21:04Z henning $
 40  
  */
 41  
 
 42  
 public class TorqueRole
 43  
     extends TorqueObject
 44  
     implements Role,
 45  
                Comparable
 46  
 {
 47  
     /** The permissions for this role. */
 48  190
     private PermissionSet permissionSet = null;
 49  
 
 50  
     /**
 51  
      * Constructs a new Role
 52  
      */
 53  
     public TorqueRole()
 54  
     {
 55  16
         super();
 56  16
     }
 57  
 
 58  
     /**
 59  
      * Constructs a new Role with the specified name.
 60  
      *
 61  
      * @param name The name of the new object.
 62  
      */
 63  
     public TorqueRole(String name)
 64  
     {
 65  0
         super(name);
 66  0
     }
 67  
 
 68  
     /**
 69  
      * The package private Constructor is used when the RolePeerManager
 70  
      * has retrieved a list of Database Objects from the peer and
 71  
      * must 'wrap' them into TorqueRole Objects. You should not use it directly!
 72  
      *
 73  
      * @param obj An Object from the peer
 74  
      */
 75  
     public TorqueRole(Persistent obj)
 76  
     {
 77  174
         super(obj);
 78  174
     }
 79  
 
 80  
     /**
 81  
      * Returns the underlying Object for the Peer
 82  
      *
 83  
      * Used in the RolePeerManager when building a new Criteria.
 84  
      *
 85  
      * @return The underlying persistent object
 86  
      *
 87  
      */
 88  
 
 89  
     public Persistent getPersistentObj()
 90  
     {
 91  1110
         if (obj == null)
 92  
         {
 93  14
             obj = RolePeerManager.newPersistentInstance();
 94  
         }
 95  1110
         return obj;
 96  
     }
 97  
 
 98  
     /**
 99  
      * Returns the name of this role.
 100  
      *
 101  
      * @return The name of the role.
 102  
      */
 103  
     public String getName()
 104  
     {
 105  290
         return RolePeerManager.getRoleName(getPersistentObj());
 106  
     }
 107  
 
 108  
     /**
 109  
      * Sets the name of this Role
 110  
      *
 111  
      * @param name The name of the role.
 112  
      */
 113  
     public void setName(String name)
 114  
     {
 115  14
         RolePeerManager.setRoleName(getPersistentObj(), name);
 116  14
     }
 117  
 
 118  
     /**
 119  
      * Gets the Id of this object
 120  
      *
 121  
      * @return The Id of the object
 122  
      */
 123  
     public int getId()
 124  
     {
 125  0
         return RolePeerManager.getIdAsObj(getPersistentObj()).intValue();
 126  
     }
 127  
 
 128  
     /**
 129  
      * Gets the Id of this object
 130  
      *
 131  
      * @return The Id of the object
 132  
      */
 133  
     public Integer getIdAsObj()
 134  
     {
 135  176
         return RolePeerManager.getIdAsObj(getPersistentObj());
 136  
     }
 137  
 
 138  
     /**
 139  
      * Sets the Id of this object
 140  
      *
 141  
      * @param id The new Id
 142  
      */
 143  
     public void setId(int id)
 144  
     {
 145  0
         RolePeerManager.setId(getPersistentObj(), id);
 146  0
     }
 147  
     /**
 148  
      * Returns the set of Permissions associated with this Role.
 149  
      *
 150  
      * @return A PermissionSet.
 151  
      *
 152  
      * @exception Exception a generic exception.
 153  
      */
 154  
     public PermissionSet getPermissions()
 155  
         throws Exception
 156  
     {
 157  12
         return permissionSet;
 158  
     }
 159  
 
 160  
     /**
 161  
      * Sets the Permissions associated with this Role.
 162  
      *
 163  
      * @param permissionSet A PermissionSet.
 164  
      */
 165  
     public void setPermissions(PermissionSet permissionSet)
 166  
     {
 167  48
         this.permissionSet = permissionSet;
 168  48
     }
 169  
 
 170  
     // These following methods are wrappers around TurbineSecurity
 171  
 
 172  
     /**
 173  
      * Creates a new Role in the system.
 174  
      *
 175  
      * @param name The name of the new Role.
 176  
      * @return An object representing the new Role.
 177  
      * @throws TurbineSecurityException if the Role could not be created.
 178  
      */
 179  
     public Role create(String name)
 180  
         throws TurbineSecurityException
 181  
     {
 182  0
         return TurbineSecurity.createRole(name);
 183  
     }
 184  
 
 185  
     /**
 186  
      * Makes changes made to the Role attributes permanent.
 187  
      *
 188  
      * @throws TurbineSecurityException if there is a problem while
 189  
      *  saving data.
 190  
      */
 191  
     public void save()
 192  
         throws TurbineSecurityException
 193  
     {
 194  0
         TurbineSecurity.saveRole(this);
 195  0
     }
 196  
 
 197  
     /**
 198  
      * Removes a role from the system.
 199  
      *
 200  
      * @throws TurbineSecurityException if the Role could not be removed.
 201  
      */
 202  
     public void remove()
 203  
         throws TurbineSecurityException
 204  
     {
 205  0
         TurbineSecurity.removeRole(this);
 206  0
     }
 207  
 
 208  
     /**
 209  
      * Renames the role.
 210  
      *
 211  
      * @param name The new Role name.
 212  
      * @throws TurbineSecurityException if the Role could not be renamed.
 213  
      */
 214  
     public void rename(String name)
 215  
         throws TurbineSecurityException
 216  
     {
 217  0
         TurbineSecurity.renameRole(this, name);
 218  0
     }
 219  
 
 220  
     /**
 221  
      * Grants a Permission to this Role.
 222  
      *
 223  
      * @param permission A Permission.
 224  
      * @throws TurbineSecurityException if there is a problem while assigning
 225  
      * the Permission.
 226  
      */
 227  
     public void grant(Permission permission)
 228  
         throws TurbineSecurityException
 229  
     {
 230  0
         TurbineSecurity.grant(this, permission);
 231  0
     }
 232  
 
 233  
     /**
 234  
      * Grants Permissions from a PermissionSet to this Role.
 235  
      *
 236  
      * @param permissionSet A PermissionSet.
 237  
      * @throws TurbineSecurityException if there is a problem while assigning
 238  
      * the Permissions.
 239  
      */
 240  
     public void grant(PermissionSet permissionSet)
 241  
         throws TurbineSecurityException
 242  
     {
 243  0
         Iterator permissions = permissionSet.iterator();
 244  0
         while (permissions.hasNext())
 245  
         {
 246  0
             TurbineSecurity.grant(this, (Permission) permissions.next());
 247  
         }
 248  0
     }
 249  
 
 250  
     /**
 251  
      * Revokes a Permission from this Role.
 252  
      *
 253  
      * @param permission A Permission.
 254  
      * @throws TurbineSecurityException if there is a problem while unassigning
 255  
      * the Permission.
 256  
      */
 257  
     public void revoke(Permission permission)
 258  
         throws TurbineSecurityException
 259  
     {
 260  0
         TurbineSecurity.revoke(this, permission);
 261  0
     }
 262  
 
 263  
     /**
 264  
      * Revokes Permissions from a PermissionSet from this Role.
 265  
      *
 266  
      * @param permissionSet A PermissionSet.
 267  
      * @throws TurbineSecurityException if there is a problem while unassigning
 268  
      * the Permissions.
 269  
      */
 270  
     public void revoke(PermissionSet permissionSet)
 271  
         throws TurbineSecurityException
 272  
     {
 273  0
         Iterator permissions = permissionSet.iterator();
 274  0
         while (permissions.hasNext())
 275  
         {
 276  0
             TurbineSecurity.revoke(this, (Permission) permissions.next());
 277  
         }
 278  0
     }
 279  
 }

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