public Permission createPermission( String name ) throws RbacManagerException { Permission permission; try { permission = getPermission( name ); } catch ( RbacObjectNotFoundException e ) { permission = new MemoryPermission(); permission.setName( name ); } return permission; }
public Permission createPermission( String name, String operationName, String resourceIdentifier ) throws RbacManagerException { Permission permission; try { permission = getPermission( name ); if ( StringUtils.equals( operationName, permission.getOperation().getName() ) ) { throw new RbacManagerException( "Attempted to create a permission named '" + name + "' with an operation named '" + operationName + "', but that overides the existing '" + name + "' permission with operation '" + permission.getOperation().getName() + "'" ); } } catch ( RbacObjectNotFoundException e ) { permission = new MemoryPermission(); permission.setName( name ); permission.setOperation( createOperation( operationName ) ); permission.setResource( createResource( resourceIdentifier ) ); } return permission; }