A classe ValueParamValidator tratará
da verificação do parâmetro de Valor na ação Instruções. Esta
lição descreverá em detalhes como criar o código para demonstrar
os recursos de verificação e validação do parâmetro do ponto de extensão com.ibm.carma.ui.parameterValidators.
Para essa amostra, abaixo há uma lista de possíveis
entradas do usuário e das mensagens informativas que são exibidas.
- Quando um usuário inserir um 0, uma mensagem informativa será exibida
- Quando um usuário inserir um 1, uma mensagem de aviso será exibida
- Quando um usuário inserir um valor de 2 ou maior, uma mensagem de erro
será exibida
- Quando um usuário inserir um caractere não numérico, a entrada não será
permitida
- Na visualização Package Explorer, abra a classe ValueParamValidator
navegando por com.ibm.carma.plugin.howto > src > com.ibm.carma.plugin.howto.action e
dando um clique duplo na classe para abri-la no editor.
- Implemente primeiro o método verifyInput.
Esse método verifica qualquer caractere inválido no texto de entrada. Para
essa amostra, esse método só aceitará caracteres numéricos. O pseudocódigo a seguir demonstra isso:
if the length of input is greater than 0
then allow input if the input characters are 0-9
else
do not allow input
Use o código de amostra de exemplo a seguir para
implementar o método verifyInput:
/*Accept only numeric characters as valid. */
public void verifyInput(ParameterValidationEvent event)
{
if(event.text.length() > 0)
event.allowInput = (event.text.matches("[0-9]"));
}
- Em seguida, substitua o método validateParameter
para exibir os métodos apropriados, dependendo dos valores inseridos,
conforme descrito acima. O pseudocódigo a seguir demonstra isso:
if input = 0
return an informational message
else if input = 1
return a warning message
else
return an error message
Use o código de amostra de exemplo a seguir para substituir
esse método:
/* 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;
}
- Salve a origem e depure qualquer erro.