Lezione 7: Creare il codice per la classe ValueParamValidator

La classe ValueParamValidator gestisce la verifica del parametro Value nell'azione HowTo . Questa lezione descrive in dettaglio come creare il codice per dimostrare le funzioni di verifica e convalida del parametro del punto di estensione com.ibm.carma.ui.parameterValidators .

Informazioni su questa attività

Per questo esempio, di seguito sono riportati un elenco di possibili input dall'utente e i messaggi informativi visualizzati.
  • Quando l'utente immette uno 0, viene visualizzato un messaggio informativo
  • Quando l'utente immette 1, viene visualizzato un messaggio di avvertenza
  • Quando l'utente immette un valore pari o superiore a 2, viene visualizzato un messaggio di errore
  • Quando l'utente immette un carattere non numerico, l'immissione non sarà consentita

Procedura

  1. Nella vista Esplora package , aprire la classe ValueParamValidator selezionando com.ibm.carma.plugin.howto > src > com.ibm.carma.plugin.howto.action e facendo doppio clic sulla classe per aprirla nell'editor.
  2. Implementare prima il metodo verifyInput . Questo metodo controlla eventuali caratteri non validi nel testo di input. Per questo esempio, questo metodo accetta solo caratteri numerici. Il seguente pseudocodice lo dimostra:
    if the length of input is greater than 0
       then allow input if the input characters are 0-9
    else
       do not allow input
    Utilizzare il seguente codice di esempio per implementare il metodo verifyInput :
    /*Accept only numeric characters as valid. */
    public void verifyInput(ParameterValidationEvent event)
    {
       if(event.text.length() > 0)
          event.allowInput = (event.text.matches("[0-9]"));
    } 
  3. Successivamente, si sovrascriverà il metodo validateParameter per visualizzare i metodi appropriati in base ai valori immessi, come descritto in precedenza.
    Il seguente pseudo codice lo dimostra:
    if input = 0
       return an informational message
    else if input = 1
       return a warning message
    else
       return an error message 
    Utilizzare il seguente codice di esempio per sovrascrivere questo metodo:
    /* Returns an informational message if 0 is entered,
     * Returns a warning message if 1 is entered,
     * Returns an error message if a numeric value greater than 1 is entered
     */
    public ValidationResult validateParameter(ParameterValidationevent event)
    {
       ValidationResult result = new ValidationResult();
       if(event.text.contains("0"))
       {
          //Display informational message.
          result.severity = ValidationResult.INFO;
          result.message = "You entered a 0!";
       }
       else if(event.text.contains("1"))
       {
          //Display a warning message
          result.severity = ValidationResult.WARNING;
          result.message = "Values greater than 1 will result in an error!";
       }
       else
       {
          //Display an error message.
          result.severity = ValidationResult.ERROR;
          result.message = "Value is too great, enter a lower value.";
       }
    
       return result;
    }
  4. Salvare l'origine ed eseguire il debug degli errori.