Validação de Bean e ConstraintViolation

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