(JdoOperation) PlexusJdoUtils.saveObject( getPersistenceManager(), operation, null );
operations.put( operation.getName(), operation );
}
permission.setOperation( operation );
JdoResource resource = (JdoResource) permission.getResource();
if ( resources.containsKey( resource.getIdentifier() ) )
{
resource = resources.get( resource.getIdentifier() );
}
else if ( objectExists( resource ) )
{
resource = (JdoResource) PlexusJdoUtils.getObjectById( getPersistenceManager(),
JdoResource.class,
resource.getIdentifier() );
resources.put( resource.getIdentifier(), resource );
}
else
{
RBACObjectAssertions.assertValid( resource );
resource = (JdoResource) PlexusJdoUtils.saveObject( getPersistenceManager(), resource, null );
resources.put( resource.getIdentifier(), resource );
}
permission.setResource( resource );
RBACObjectAssertions.assertValid( permission );
permission = (JdoPermission) PlexusJdoUtils.saveObject( getPersistenceManager(), permission, null );