Olá pessoal, boa tarde.
Eu já havia relatado um probleminha que tive com o uso de letras maiúsculas e minusculas em URI (http://guj.com.br/posts/list/197963.java#994416).
Contornei o problema (provavelmente um bug no VRaptor).
Agora em atributos me parece que há problema semelhante.
Quando o formulario é enviado para o controller, o Vraptor não encontra nfe.nNf, deixando o valor nulo;
O problema começa no Eclipse quando mandamos gerar automaticamente getters e setters.
Exemplo: vTotal (Valor Total), o Eclipse gera getvTotal e setvTotal e o Vraptor se perde, pois não espera uma letra minuscula após get/set.
É um probleminha fácil de se contornar, mas há sistemas operacionais em que as colunas no banco de dados são “case-sensitive”.
antes de qqer coisa uma sugestão: nunca use abreviações, vc não ganha nada com isso, e só perde legibilidade do seu código… a pessoa que vai ler seu código precisa descobrir que NNF significa Número da nota fiscal (nem sei se é isso mesmo, eu chutei…)
vc tem o setter setNNf?
e ser case-sensitive não é um bug do vraptor, é o comportamento esperado, pois java é case-sentsitive…
se o problema são colunas do banco de dados, faça o seguinte:
@Column(name="nNf")
public String numeroNotaFiscal;
Eu concordo com você que não é legível a forma utilizada, mesmo assim eu queria manter os campos como constam no manual da Receita para evitar dois documentos.
Pretendo deixar o Manual do Contribuinte como documentação de usuário e parte da documentação do sistema.
De qualquer forma eu já alterei, e como sempre … problema resolvido.