public void handleRequest(RequestContext rc) throws CLIException {
  super.handleRequest(rc);
  SSOToken adminSSOToken=getAdminSSOToken();
  IOutput outputWriter=getOutputWriter();
  String realm=getStringOptionValue(IArgument.REALM_NAME);
  String idName=getStringOptionValue(ARGUMENT_ID_NAME);
  String type=getStringOptionValue(ARGUMENT_ID_TYPE);
  IdType idType=convert2IdType(type);
  String[] params={realm,type,idName};
  try {
    AMIdentityRepository amir=new AMIdentityRepository(adminSSOToken,realm);
    Set set=amir.getAllowedIdOperations(idType);
    if (!set.contains(IdOperation.SERVICE)) {
      throw new CLIException(MessageFormat.format(getResourceString("realm-does-not-support-service"),(Object[])params),ExitCodes.REQUEST_CANNOT_BE_PROCESSED);
    }
    writeLog(LogWriter.LOG_ACCESS,Level.INFO,"ATTEMPT_GET_ASSIGNABLE_SERVICES",params);
    AMIdentity amid=new AMIdentity(adminSSOToken,idName,idType,realm,null);
    Set services=amid.getAssignableServices();
    if (idType.equals(IdType.USER)) {
      services.remove(Constants.SVC_NAME_USER);
      services.remove(Constants.SVC_NAME_AUTH_CONFIG);
      services.remove(Constants.SVC_NAME_SAML);
    }
    if ((services != null) && !services.isEmpty()) {
      String msg=getResourceString("assignable-service-result");
      String[] arg={""};
      for (Iterator i=services.iterator(); i.hasNext(); ) {
        arg[0]=(String)i.next();
        outputWriter.printlnMessage(MessageFormat.format(msg,(Object[])arg));
      }
    }
 else {
      outputWriter.printlnMessage(getResourceString("no-service-assignable"));
    }
    writeLog(LogWriter.LOG_ACCESS,Level.INFO,"SUCCEED_GET_ASSIGNABLE_SERVICES",params);
  }
 catch (  IdRepoException e) {
    String[] args={realm,type,idName,e.getMessage()};
    debugError("GetAssignableServices.handleRequest",e);
    writeLog(LogWriter.LOG_ERROR,Level.INFO,"FAILED_GET_ASSIGNABLE_SERVICES",args);
    throw new CLIException(e,ExitCodes.REQUEST_CANNOT_BE_PROCESSED);
  }
catch (  SSOException e) {
    String[] args={realm,type,idName,e.getMessage()};
    debugError("GetAssignableServices.handleRequest",e);
    writeLog(LogWriter.LOG_ERROR,Level.INFO,"FAILED_GET_ASSIGNABLE_SERVICES",args);
    throw new CLIException(e,ExitCodes.REQUEST_CANNOT_BE_PROCESSED);
  }
}

public void handleRequest ( RequestContext rc ) throws CLIException { super . handleRequest ( rc ) ; SSOToken adminSSOToken = getAdminSSOToken ( ) ; IOutput outputWriter = getOutputWriter ( ) ; String realm = getStringOptionValue ( IArgument . REALM_NAME ) ; String idName = getStringOptionValue ( ARGUMENT_ID_NAME ) ; String type = getStringOptionValue ( ARGUMENT_ID_TYPE ) ; IdType idType = convert2IdType ( type ) ; String [ ] params = { realm , type , idName } ; try { AMIdentityRepository amir = new AMIdentityRepository ( adminSSOToken , realm ) ; Set set = amir . getAllowedIdOperations ( idType ) ; if ( ! set . contains ( IdOperation . SERVICE ) ) { throw new CLIException ( MessageFormat . format ( getResourceString ( "realm-does-not-support-service" ) , ( Object [ ] ) params ) , ExitCodes . REQUEST_CANNOT_BE_PROCESSED ) ; } writeLog ( LogWriter . LOG_ACCESS , Level . INFO , "ATTEMPT_GET_ASSIGNABLE_SERVICES" , params ) ; AMIdentity amid = new AMIdentity ( adminSSOToken , idName , idType , realm , null ) ; Set services = amid . getAssignableServices ( ) ; if ( idType . equals ( IdType . USER ) ) { services . remove ( Constants . SVC_NAME_USER ) ; services . remove ( Constants . SVC_NAME_AUTH_CONFIG ) ; services . remove ( Constants . SVC_NAME_SAML ) ; } if ( ( services != null ) && ! services . isEmpty ( ) ) { String msg = getResourceString ( "assignable-service-result" ) ; String [ ] arg = { "" } ; for ( Iterator i = services . iterator ( ) ; i . hasNext ( ) ; ) { arg [ 0 ] = ( String ) i . next ( ) ; outputWriter . printlnMessage ( MessageFormat . format ( msg , ( Object [ ] ) arg ) ) ; } } else { outputWriter . printlnMessage ( getResourceString ( "no-service-assignable" ) ) ; } writeLog ( LogWriter . LOG_ACCESS , Level . INFO , "SUCCEED_GET_ASSIGNABLE_SERVICES" , params ) ; } catch ( IdRepoException e ) { String [ ] args = { realm , type , idName , e . getMessage ( ) } ; debugError ( "GetAssignableServices.handleRequest" , e ) ; writeLog ( LogWriter . LOG_ERROR , Level . INFO , "FAILED_GET_ASSIGNABLE_SERVICES" , args ) ; throw new CLIException ( e , ExitCodes . REQUEST_CANNOT_BE_PROCESSED ) ; } catch ( SSOException e ) { String [ ] args = { realm , type , idName , e . getMessage ( ) } ; debugError ( "GetAssignableServices.handleRequest" , e ) ; writeLog ( LogWriter . LOG_ERROR , Level . INFO , "FAILED_GET_ASSIGNABLE_SERVICES" , args ) ; throw new CLIException ( e , ExitCodes . REQUEST_CANNOT_BE_PROCESSED ) ; } }
services a commandline request .
