Estou com dificuldade de achar uma maneira melhor de fazer o codigo a baixo, se puderem ajudar.
A situação atual é a seguinte, este algoritmo identifica qual atributo do meu bean teve a constraint violada, e qual foi
a violacao que teve.
Indentificado isso, o meu bean possui para cada atributo um outro atributo de erro, onde ficara o codigo de erro.
Não acho que seja a melhor opção, mas da certo.
Mas um dos problemas que tenho nisso, é que tenho que fazer o mesmo processo do passo 1 ao passo 3, para diferentes beans,
e para cada atributo dele.
Neste caso só tive que repetir este processo para o atributo usuario e comentario do bean Acao, mas para outros Beans
a quantidade de atributos é enorme o que faz com que seja inviavel essa abordagem, pois terei que reescrever muito codigo
repetitivo.
Alguma sugestao para solucionar este problema?
	public void validar(Set<ConstraintViolation<T>> cons){
		
		Acao acao = null;
		Set<ConstraintViolation<Acao>> constraints = cons;
			for(ConstraintViolation<Acao> con : constraints){
				acao = (Acao) con.getLeafBean();
				if("usuario".equals(con.getPropertyPath()) == true){		// passo 1
					if(con.getMessage().equals(BeanErro.NULO)){		// passo 2
						acao.setUsuario_erro(1);
					}
					else if(con.getMessage().equals(BeanErro.TAMANHO)){  // passo 3
						acao.setUsuario_erro(2);
					}
				}
				else if("comentario".equals(con.getPropertyPath()) == true){ 
					if(con.getMessage().equals(BeanErro.NULO)){			
						acao.setComentario_erro(1);
					}
					else if(con.getMessage().equals(BeanErro.TAMANHO)){
						acao.setComentario_erro(2);
					}
				}
			}
	   }
	   
Codigo do bean Acao:
public class Acao {
	@NotNull
	@Size(min=1)
	private String usuario;
		
	@NotNull
	@Size(min=1)
	private String comentario;
	private int usuario_erro;
	
	private int comentario_erro;
	
	// Getts and setts
}
Atenciosamente