Rational Developer for System z


Lección 8: Crear el código para la clase ActionValidator

La clase ActionValidator comprobará que como mínimo uno de los parámetros de serie tenga un valor, pero no ambos. También convertirá el parámetro Value en obligatorio y codificará la clase ActionValidator para que marque el parámetro con un asterisco.
  1. En la vista Explorador de paquetes, abra la clase ActionValidator navegando a com.ibm.carma.plugin.howto > src > com.ibm.carma.plugin.howto.action y efectuando una doble pulsación sobre la clase para abrirla en el editor.
  2. Empezará por alterar temporalmente el método isParameterRequired. En este ejemplo codificará sólo el parámetro Value como obligatorio. A continuación figura un pseudocódigo que lo muestra:
    si paramID = paramID del parámetro value
    	devolver true
    else
    	devolver false
    Utilice el siguiente código de muestra para alterar temporalmente el método isParameterRequired:
    /( Marcar el parámetro value como obligatorio.*/
    public boolean isParameterRequired(Action action, Parameter param)
    {
       //El parameterID de value es 000
       if(param.getParameterID().equals("000"))
       {
          return true;
       }
    
       return false;
    }
  3. A continuación, alterará temporalmente el método validateAction para que sólo permita un valor en el parámetro de series de entrada, pero no ambos. A continuación figura un pseudocódigo que lo muestra:
    Recoger todos los objetos Parameter asociados con la acción
    Iterar los objetos Parameter y obtener los objetos Parameter string1 y string2
    Recuperar el valor de serie de string1, comprobar si es nulo o tiene una longitud de 0
    Recuperar el valor de serie de string2, comprobar si es nulo o tiene una longitud de 0
    Determinar si ambos parámetros tienen valores
    	Devolver un mensaje de error
    Determinar si ninguno de los parámetros tiene valores
    	Devolver un mensaje informativo 
    Utilice el siguiente código de muestra para alterar temporalmente este método:
    public ValidationResult validateAction(ActionValidationEvent event) 
    {
       Parameter string1Param = null;
       Parameter string2Param = null;
       ValidationResult result = new ValidationResult();
    		
       //Iterar y recuperar los objetos de parámetro
       for (Object o : event.action.getParameters()) 
       {
          if (((Parameter) o).getParameterId().equals("001"))  
          {
             string1Param = (Parameter) o;
          } 
          else if (((Parameter) o).getParameterId().equals("002")) 
          {
             string2Param = (Parameter) o;
          }
       ) 
    		
       //Recuperar el valor de parámetro para string1 y determinar si existe entrada
       String string1Val = (String) event.parameterValueMap.get(string1Param);
       boolean string1IsThere = !(string1Val == null || string1Val.length() == 0);
    		
       //Recuperar el valor de parámetro para string2 y determinar si existe entrada
       String string2Val = (String) event.parameterValueMap.get(string2Param);
       boolean string2IsThere = !(string2Val == null || string2Val.length() == 0);
    		
       //Determinar si se han especificado tanto string1 como string2.
       //Devolver mensaje de error.
       if (string1IsThere && string2IsThere)
       {
          result.severity = ValidationResult.ERROR;
          result.message = "Especifique String1 o String2.";
       }
    		
       //Determinar si no se ha especificado string1 ni string2.
       //Devolver mensaje informativo.
       else if(!string1IsThere && !string2IsThere)
       {
          result.severity = ValidationResult.INFO;
          result.message = "Especifique un valor para String1 o String2.";
       }
    							
       return result;
    }
  4. Guarde el código fuente y depure los errores.

Términos de uso | Comentarios



Este Information Center está basado en tecnología Eclipse. (http://www.eclipse.org)