001: /* Copyright 2001 The JA-SIG Collaborative. All rights reserved.
002: * See license distributed with this file and
003: * available online at http://www.uportal.org/license.html
004: */
005:
006: package org.jasig.portal.security.provider;
007:
008: import org.jasig.portal.AuthorizationException;
009: import org.jasig.portal.security.IAuthorizationPrincipal;
010: import org.jasig.portal.security.IPermission;
011: import org.jasig.portal.security.IUpdatingPermissionManager;
012:
013: /**
014: * @author Dan Ellentuck (de3@columbia.edu)
015: * @version $Revision: 34778 $
016: */
017: public class UpdatingPermissionManagerImpl extends
018: PermissionManagerImpl implements IUpdatingPermissionManager {
019: /**
020: * This constructor ensures that the PermissionManager will be created with an owner specified
021: * @param newOwner the new owner
022: * @param authService the authorization service
023: */
024: public UpdatingPermissionManagerImpl(String newOwner,
025: AuthorizationImpl authService) {
026: super (newOwner, authService);
027: }
028:
029: /**
030: * Add a new set of IPermission objects to the system.
031: * @param newPermissions
032: */
033: public void addPermissions(IPermission[] newPermissions)
034: throws AuthorizationException {
035: getAuthorizationService().addPermissions(newPermissions);
036: }
037:
038: /**
039: * Retrieve an array of <code>IPermission</code> objects based on the given parameters.
040: * Includes inherited <code>IPermissions</code>. Any null parameters will be ignored.
041: *
042: * @param principal IAuthorizationPrincipal
043: * @param activity String
044: * @param target String
045: * @return IPermission[]
046: * @exception AuthorizationException
047: */
048: public IPermission[] getAllPermissions(
049: IAuthorizationPrincipal principal, String activity,
050: String target) throws AuthorizationException {
051: return principal
052: .getAllPermissions(getOwner(), activity, target);
053: }
054:
055: /**
056: * Retrieve an array of IPermission objects based on the given parameters. Any null parameters
057: * will be ignored.
058: *
059: * @param principal IAuthorizationPrincipal
060: * @param activity String
061: * @param target String
062: * @return IPermission[]
063: * @exception AuthorizationException
064: */
065: public IPermission[] getPermissions(
066: IAuthorizationPrincipal principal, String activity,
067: String target) throws AuthorizationException {
068: return getAuthorizationService()
069: .getUncachedPermissionsForPrincipal(principal,
070: getOwner(), activity, target);
071: }
072:
073: /**
074: * Creates a new <code>IPermission</code> for the <code>principal</code> on behalf of the
075: * owner of this <code>IPermissionManager</code>.
076: *
077: * @param principal IAuthorizationPrincipal
078: */
079: public IPermission newPermission(IAuthorizationPrincipal principal)
080: throws AuthorizationException {
081: return getAuthorizationService().newPermission(getOwner(),
082: principal);
083: }
084:
085: /**
086: * Remove set of IPermission objects from the system.
087: * @param oldPermissions
088: */
089: public void removePermissions(IPermission[] oldPermissions)
090: throws AuthorizationException {
091: getAuthorizationService().removePermissions(oldPermissions);
092: }
093:
094: /**
095: * Update a set of IPermission objects to the system.
096: * @param changedPermissions
097: */
098: public void updatePermissions(IPermission[] changedPermissions)
099: throws AuthorizationException {
100: getAuthorizationService().updatePermissions(changedPermissions);
101: }
102:
103: }
|