private void processDelegatedAdminCommand()

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 );
        }
    }