Olá pessoal,
Tenho a seguinte situação:
classe Sale
e classe AddedValueSale extends Sale
e outras classes que também extends de Sale
A classe AddedValueSale possui um objeto AddedValue.
No meu formulário, tenho uma combo com o name=“sale” que define o tipo específico a ser usado. Criei um converter do Vraptor para isso e ele funciona muito bem nesse ponto. O converter ficou assim:
@Convert(Sale.class)
public class SaleConverter implements Converter<Sale> {
@Override
public Sale convert(String value, Class<? extends Sale> type, ResourceBundle bundle) {
try {
if (value.equals(ESale.ADDEDVALUE.value().toString()))
return new AddedValueSale();
else if (value.equals(ESale.DAILY.value().toString()))
return new DailySale();
else if (value.equals(ESale.PROMOTIONAL.value().toString()))
return new PromotionalCodeSale();
else if (value.equals(ESale.VALUE.value().toString()))
return new ValueSale();
}
catch(Exception e) {
throw new ConversionError("Não existe promoção configurada");
}
return null;
}
}
Após a escolha na combo, adiciono o formulário específico da classe filha via Ajax com o seguinte campo:
O problema se dá no submit do formulário, pois o vraptor passa no converter mas nem chega no meu controller dando um erro na hora de popular esse objeto. O erro é esse:
Unable to find converter for br.com.***.AddedValue
Gostaria de saber se isso é um bug do vraptor? ou eu estou fazendo algo errado?
Qualquer contribuição é bem vinda…
Muito Obrigado…