in src/main/java/org/apache/directory/fortress/core/impl/PermP.java [660:724]
private void validate( Permission pOp, boolean isUpdate )
throws SecurityException
{
if ( !isUpdate )
{
//operation
if ( pOp.getOpName() != null && pOp.getOpName().length() > 0 )
{
VUtil.description( pOp.getOpName() );
}
}
if ( StringUtils.isNotEmpty( pOp.getType() ) )
{
VUtil.description( pOp.getType() );
}
if ( StringUtils.isNotEmpty( pOp.getDescription() ) )
{
VUtil.description( pOp.getDescription() );
}
// Validate Role Grants:
if ( CollectionUtils.isNotEmpty( pOp.getRoles() ) )
{
Set<String> roles = pOp.getRoles();
if ( pOp.isAdmin() )
{
AdminRoleP arp = new AdminRoleP();
for ( String roleNm : roles )
{
AdminRole adminRole = new AdminRole( roleNm );
adminRole.setContextId( pOp.getContextId() );
arp.read( adminRole );
}
}
else
{
RoleP rp = new RoleP();
for ( String roleNm : roles )
{
Role role = new Role( roleNm );
role.setContextId( pOp.getContextId() );
rp.readConstraints( role );
}
}
}
// Validate User Grants:
if ( CollectionUtils.isNotEmpty( pOp.getUsers() ) )
{
Set<String> users = pOp.getUsers();
UserP up = new UserP();
for ( String userId : users )
{
User user = new User( userId );
user.setContextId( pOp.getContextId() );
up.read( user, false );
}
}
// Validate Perm Attr Set Name
if( CollectionUtils.isNotEmpty( pOp.getPaSets() ))
{
for(String paSetName : pOp.getPaSets())
{
validatePaSet( paSetName, pOp.getContextId() );
}
}
}