private void invalidateCachedResource( Resource resource ) { if ( resource != null ) { resourcesCache.remove( resource.getIdentifier() ); } }
public Resource( org.apache.archiva.redback.rbac.Resource resource ) { this.identifier = resource.getIdentifier(); this.pattern = resource.isPattern(); this.permanent = resource.isPermanent(); }
public Resource getGlobalResource() throws RbacManagerException { if ( globalResource == null ) { globalResource = createResource( Resource.GLOBAL ); globalResource.setPermanent( true ); globalResource = saveResource( globalResource ); } return globalResource; }
public void removeResource( Resource resource ) throws RbacObjectNotFoundException, RbacManagerException { RBACObjectAssertions.assertValid( "Remove Resource", resource ); if ( resource.isPermanent() ) { throw new RbacPermanentException( "Unable to delete permanent resource [" + resource.getIdentifier() + "]" ); } assertResourceExists( resource.getIdentifier() ); resources.remove( resource.getIdentifier() ); }
resource.setIdentifier( p.getResource().getIdentifier() ); resource.setPattern( p.getResource().isPattern() ); permission.setResource( resource );
public Resource createResource( String identifier ) throws RbacManagerException { Resource resource; try { resource = getResource( identifier ); } catch ( RbacObjectNotFoundException e ) { resource = new MemoryResource(); resource.setIdentifier( identifier ); } return resource; }
public boolean resourceExists( String identifier ) { try { for ( Resource resource : getAllResources() ) { if ( StringUtils.equals( resource.getIdentifier(), identifier ) ) { return true; } } } catch ( RbacManagerException e ) { return false; } return false; }
private void processResource( ModelTemplate template, String resource ) throws RoleManagerException { if ( !rbacManager.resourceExists( resource ) ) { try { Resource res = rbacManager.createResource( resource ); res.setPermanent( template.isPermanentResource() ); rbacManager.saveResource( res ); } catch ( RbacManagerException e ) { throw new RoleManagerException( "error creating resource '" + resource + "'", e ); } } }
public static void assertValid( String scope, Resource resource ) throws RbacObjectInvalidException { if ( resource == null ) { throw new RbacObjectInvalidException( scope, "Null Resource object is invalid." ); } if ( StringUtils.isEmpty( resource.getIdentifier() ) ) { throw new RbacObjectInvalidException( scope, "Resource.identifier must not be empty." ); } }
resource.setPermanent( profileResource.isPermanent() ); resource = rbacManager.saveResource( resource );
public Resource saveResource( Resource resource ) throws RbacManagerException { triggerInit(); RBACObjectAssertions.assertValid( "Save Resource", resource ); resources.put( resource.getIdentifier(), resource ); return resource; }
public boolean resourceExists( Resource resource ) { if ( resourcesCache.hasKey( resource.getIdentifier() ) ) { return true; } return this.rbacImpl.resourceExists( resource ); }
@Override public List<Resource> getAllResources() throws RbacManagerException { Map<String, Resource> allResources = new HashMap<>(); boolean allFailed = true; Exception lastException = null; for ( RBACManager rbacManager : rbacManagersPerId.values() ) { try { List<? extends Resource> resources = rbacManager.getAllResources(); for ( Resource r : resources ) { allResources.put( r.getIdentifier(), r ); } allFailed = false; } catch ( Exception e ) { lastException = e; } } if ( lastException != null && allFailed ) { throw new RbacManagerException( lastException.getMessage(), lastException ); } return new ArrayList<>( allResources.values() ); }
@Override public List<Resource> getAllResources() throws RbacManagerException { Map<String, Resource> allResources = new HashMap<>(); boolean allFailed = true; Exception lastException = null; for ( RBACManager rbacManager : rbacManagersPerId.values() ) { try { List<Resource> resources = rbacManager.getAllResources(); for ( Resource r : resources ) { allResources.put( r.getIdentifier(), r ); } allFailed = false; } catch ( Exception e ) { lastException = e; } } if ( lastException != null && allFailed ) { throw new RbacManagerException( lastException.getMessage(), lastException ); } return new ArrayList<>( allResources.values() ); }
@Override public void removeResource( Resource resource ) throws RbacObjectNotFoundException, RbacObjectInvalidException, RbacManagerException { boolean allFailed = true; Exception lastException = null; for ( RBACManager rbacManager : rbacManagersPerId.values() ) { try { rbacManager.removeResource( resource ); resourcesCache.remove( resource.getIdentifier() ); allFailed = false; } catch ( Exception e ) { lastException = e; } } if ( lastException != null && allFailed ) { throw new RbacManagerException( lastException.getMessage(), lastException ); } }
@Override public void removeResource( Resource resource ) throws RbacObjectNotFoundException, RbacObjectInvalidException, RbacManagerException { boolean allFailed = true; Exception lastException = null; for ( RBACManager rbacManager : rbacManagersPerId.values() ) { try { rbacManager.removeResource( resource ); resourcesCache.remove( resource.getIdentifier() ); allFailed = false; } catch ( Exception e ) { lastException = e; } } if ( lastException != null && allFailed ) { throw new RbacManagerException( lastException.getMessage(), lastException ); } }
if ( permission.getResource().getIdentifier().equals( Resource.GLOBAL ) ) resourceGrants.add( permission.getResource().getIdentifier() );
@Test public void testPerformanceResource() throws RbacManagerException { assertNotNull( rbacManager ); rbacManager.eraseDatabase(); Resource resource = rbacManager.createResource( "foo" ); Resource resource2 = rbacManager.createResource( "bar" ); assertNotNull( resource ); Resource added = rbacManager.saveResource( resource ); assertNotNull( added ); Resource added2 = rbacManager.saveResource( resource2 ); assertNotNull( added2 ); assertEquals( 2, rbacManager.getAllResources().size() ); String resFooId = resource.getIdentifier(); String resBarId = resource2.getIdentifier(); long startTime = System.currentTimeMillis(); for ( int i = 0; i <= ITERATIONS; i++ ) { Resource resFoo = rbacManager.getResource( resFooId ); Resource resBar = rbacManager.getResource( resBarId ); assertNotNull( resFoo ); assertNotNull( resBar ); assertEquals( "foo", resFoo.getIdentifier() ); assertEquals( "bar", resBar.getIdentifier() ); } long endTime = System.currentTimeMillis(); assertPerformance( "Resource", startTime, endTime, ITERATIONS, 500.0 ); }
if ( resources.containsKey( resource.getIdentifier() ) ) resource = resources.get( resource.getIdentifier() ); resource = manager.getResource( resource.getIdentifier() ); resources.put( resource.getIdentifier(), resource ); resources.put( resource.getIdentifier(), resource );
manager.getGlobalResource().getIdentifier() ); manager.savePermission( editConfiguration ); .getIdentifier() ); .getGlobalResource().getIdentifier() ); manager.savePermission( runIndexer ); .getGlobalResource().getIdentifier() ); .getGlobalResource().getIdentifier() ); .getGlobalResource().getIdentifier() );