in src/main/java/org/apache/directory/fortress/core/cli/CommandLineInterpreter.java [262:473]
private void processDelegatedAdminCommand( Set<String> commands, Options options )
{
String command;
try
{
if ( commands.contains( ADD_ROLE ) )
{
command = ADD_ROLE;
LOG.info( command );
AdminRole role = options.getAdminRole();
delAdminMgr.addRole( role );
}
else if ( commands.contains( UPDATE_ROLE ) )
{
command = UPDATE_ROLE;
LOG.info( command );
AdminRole role = options.getAdminRole();
delAdminMgr.updateRole( role );
}
else if ( commands.contains( DELETE_ROLE ) )
{
command = DELETE_ROLE;
LOG.info( command );
AdminRole role = options.getAdminRole();
delAdminMgr.deleteRole( role );
}
else if ( commands.contains( ASSIGN_ROLE ) )
{
command = ASSIGN_ROLE;
LOG.info( command );
Role role = options.getRole();
String userId = options.getUserId();
delAdminMgr.assignUser( new UserAdminRole( userId, role ) );
}
else if ( commands.contains( DEASSIGN_ROLE ) )
{
command = DEASSIGN_ROLE;
LOG.info( command );
Role role = options.getRole();
String userId = options.getUserId();
delAdminMgr.deassignUser( new UserAdminRole( userId, role ) );
}
else if ( commands.contains( ADD_ROLE_INHERITANCE ) )
{
command = ADD_ROLE_INHERITANCE;
LOG.info( command );
Relationship relationship = options.getRelationship();
delAdminMgr.addInheritance( new AdminRole( relationship.getParent() ),
new AdminRole( relationship.getChild() ) );
}
else if ( commands.contains( DELETE_ROLE_INHERITANCE ) )
{
command = DELETE_ROLE_INHERITANCE;
LOG.info( command );
Relationship relationship = options.getRelationship();
delAdminMgr.deleteInheritance( new AdminRole( relationship.getParent() ),
new AdminRole( relationship.getChild() ) );
}
else if ( commands.contains( ADD_POBJ ) )
{
command = ADD_POBJ;
LOG.info( command );
PermObj permObj = options.getPermObj();
delAdminMgr.addPermObj( permObj );
}
else if ( commands.contains( UPDATE_POBJ ) )
{
command = UPDATE_POBJ;
LOG.info( command );
PermObj permObj = options.getPermObj();
delAdminMgr.updatePermObj( permObj );
}
else if ( commands.contains( DELETE_POBJ ) )
{
command = DELETE_POBJ;
LOG.info( command );
PermObj permObj = options.getPermObj();
delAdminMgr.deletePermObj( permObj );
}
else if ( commands.contains( ADD_PERM ) )
{
command = ADD_PERM;
LOG.info( command );
Permission perm = options.getPermission();
delAdminMgr.addPermission( perm );
}
else if ( commands.contains( UPDATE_PERM ) )
{
command = UPDATE_PERM;
LOG.info( command );
Permission perm = options.getPermission();
delAdminMgr.updatePermission( perm );
}
else if ( commands.contains( DELETE_PERM ) )
{
command = DELETE_PERM;
LOG.info( command );
Permission permObj = options.getPermission();
delAdminMgr.deletePermission( permObj );
}
else if ( commands.contains( GRANT ) )
{
command = GRANT;
LOG.info( command );
Permission perm = options.getPermission();
AdminRole role = options.getAdminRole();
role.setName( options.getRoleNm() );
delAdminMgr.grantPermission( perm, role );
}
else if ( commands.contains( REVOKE ) )
{
command = REVOKE;
LOG.info( command );
Permission perm = options.getPermission();
AdminRole role = options.getAdminRole();
role.setName( options.getRoleNm() );
delAdminMgr.revokePermission( perm, role );
}
else if ( commands.contains( ADD_USERORG ) )
{
command = ADD_USERORG;
LOG.info( command );
OrgUnit orgUnit = options.getOrgUnit();
orgUnit.setType( OrgUnit.Type.USER );
delAdminMgr.add( orgUnit );
}
else if ( commands.contains( UPDATE_USERORG ) )
{
command = UPDATE_USERORG;
LOG.info( command );
OrgUnit orgUnit = options.getOrgUnit();
orgUnit.setType( OrgUnit.Type.USER );
delAdminMgr.update( orgUnit );
}
else if ( commands.contains( DELETE_USERORG ) )
{
command = DELETE_USERORG;
LOG.info( command );
OrgUnit orgUnit = options.getOrgUnit();
orgUnit.setType( OrgUnit.Type.USER );
delAdminMgr.delete( orgUnit );
}
else if ( commands.contains( ADD_USERORG_INHERITANCE ) )
{
command = ADD_USERORG_INHERITANCE;
LOG.info( command );
Relationship relationship = options.getRelationship();
delAdminMgr.addInheritance( new OrgUnit( relationship.getParent(), OrgUnit.Type.USER ), new OrgUnit(
relationship.getChild(), OrgUnit.Type.USER ) );
}
else if ( commands.contains( DELETE_USERORG_INHERITANCE ) )
{
command = DELETE_USERORG_INHERITANCE;
LOG.info( command );
Relationship relationship = options.getRelationship();
delAdminMgr.deleteInheritance( new OrgUnit( relationship.getParent(), OrgUnit.Type.USER ), new OrgUnit(
relationship.getChild(), OrgUnit.Type.USER ) );
}
else if ( commands.contains( ADD_PERMORG ) )
{
command = ADD_PERMORG;
LOG.info( command );
OrgUnit orgUnit = options.getOrgUnit();
orgUnit.setType( OrgUnit.Type.PERM );
delAdminMgr.add( orgUnit );
}
else if ( commands.contains( UPDATE_PERMORG ) )
{
command = UPDATE_PERMORG;
LOG.info( command );
OrgUnit orgUnit = options.getOrgUnit();
orgUnit.setType( OrgUnit.Type.PERM );
delAdminMgr.update( orgUnit );
}
else if ( commands.contains( DELETE_PERMORG ) )
{
command = DELETE_PERMORG;
LOG.info( command );
OrgUnit orgUnit = options.getOrgUnit();
orgUnit.setType( OrgUnit.Type.PERM );
delAdminMgr.delete( orgUnit );
}
else if ( commands.contains( ADD_PERMORG_INHERITANCE ) )
{
command = ADD_PERMORG_INHERITANCE;
LOG.info( command );
Relationship relationship = options.getRelationship();
delAdminMgr.addInheritance( new OrgUnit( relationship.getParent(), OrgUnit.Type.PERM ), new OrgUnit(
relationship.getChild(), OrgUnit.Type.PERM ) );
}
else if ( commands.contains( DELETE_PERMORG_INHERITANCE ) )
{
command = DELETE_PERMORG_INHERITANCE;
LOG.info( command );
Relationship relationship = options.getRelationship();
delAdminMgr.deleteInheritance( new OrgUnit( relationship.getParent(), OrgUnit.Type.PERM ), new OrgUnit(
relationship.getChild(), OrgUnit.Type.PERM ) );
}
else
{
LOG.warn( "unknown delegated admin operation detected" );
return;
}
LOG.info( "command:{} was successful", command );
}
catch ( org.apache.directory.fortress.core.SecurityException se )
{
String error = "processDelegatedAdminCommand caught SecurityException=" + se + ", return code="
+ se.getErrorId();
LOG.error( error );
}
}