Hibernate Validator com Swing?

Alguém já usou ou sabe como fazer para usar o Hibernate Validator com Java Swing? Já procurei muito e até agora encontrei apenas informações bem vagas, uns exemplos confusos que não dão certo, mas nada muito claro.

Se alguém puder dar alguma dica eu agradeço.

Qual o segredo em usar com Swing? É exatamente da mesma forma que você usa Hibernate Validator em qualquer contexto. O que você quer fazer especificamente?

Quero saber, por exemplo, quais os .jars necessários.

Estou tentando aqui e a todo instante falta classe tal que está em algum .jar mas não sei em qual .jar

Outra coisa que acho horrível é ter que usar o core do hibernate apenas para fazer validação (v3), mas até aí tudo bem, o problema são esses vários jars.

Código de teste:

[code]Usuario item = new Usuario();
item.setNome(“FRANCISCO ANTONIO VIEIRA SOUZA DA SILVA MOREIRA”); // validando tamanho maximo de 20 caracteres
item.setCodigo(1);
item.setNivel(3);
item.setSenha(“tomate”);

InvalidValue[] invalidValues = userValidator.getInvalidValues(item);
for (InvalidValue value : invalidValues) {
System.out.println("========");
System.out.println(value);
System.out.println("message = " + value.getMessage());
System.out.println("propertyName = " + value.getPropertyName());
System.out.println("propertyPath = " + value.getPropertyPath());
System.out.println("value = " + value.getValue());
}[/code]

Última exception:

java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69) at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:243) at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:255) at org.hibernate.validator.ClassValidator.<clinit>(ClassValidator.java:53) at horus.ui.HorusMainUI.<clinit>(HorusMainUI.java:52) at horus.Main.main(Main.java:21) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.sun.javaws.Launcher.executeApplication(Launcher.java:1302) at com.sun.javaws.Launcher.executeMainClass(Launcher.java:1248) at com.sun.javaws.Launcher.doLaunchApp(Launcher.java:1066) at com.sun.javaws.Launcher.run(Launcher.java:116) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at com.sun.jnlp.JNLPClassLoader.findClass(JNLPClassLoader.java:257) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source
Tenho no projeto:

hibernate-validator hibernate-commons-annotations hibernate-core antlr-2.7 commons-collections-3.1 dom4j slf4j jta sfl4j-jlc

[quote=javer]Quero saber, por exemplo, quais os .jars necessários.

sfl4j-jlc
[/quote]

Tira esse e põe o slf4j-jdk14.

Ok, Mister M, obrigado pelas dicas.

Fiz o que você disse e agora tenho uma nova Exception:

03/12/2009 12:29:01 org.hibernate.validator.Version <clinit> INFO: Hibernate Validator 3.1.0.GA 03/12/2009 12:29:01 org.hibernate.annotations.common.Version <clinit> INFO: Hibernate Commons Annotations 3.1.0.GA java.lang.AbstractMethodError: org.slf4j.impl.JDK14LoggerAdapter.trace(Ljava/lang/String;Ljava/lang/Object;)V at org.hibernate.validator.ClassValidator.getDefaultResourceBundle(ClassValidator.java:167) at org.hibernate.validator.ClassValidator.<init>(ClassValidator.java:125) at org.hibernate.validator.ClassValidator.<init>(ClassValidator.java:104) at org.hibernate.validator.ClassValidator.<init>(ClassValidator.java:96) at horus.ui.HorusMainUI.<clinit>(HorusMainUI.java:52) at horus.Main.main(Main.java:21) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.sun.javaws.Launcher.executeApplication(Launcher.java:1302) at com.sun.javaws.Launcher.executeMainClass(Launcher.java:1248) at com.sun.javaws.Launcher.doLaunchApp(Launcher.java:1066) at com.sun.javaws.Launcher.run(Launcher.java:116) at java.lang.Thread.run(Unknown Source)

Eu não entendo isso, se eu baixei o Hibernate Validator 3.1.0 e coloquei TODOS os .jars no projeto, por que não funciona sem faltar classe ou método com assinatura diferente, etc?

Consegui utilizando aquele famoso método tentativa-e-erro, acabei resolvendo com esse arquivo: log4j-1.2.14.jar e slf4j-log4j12-1.4.2.jar, mas como alguém vai advinhar um trosso desse!? Nunca!!

Resultado da validação agora:

[code]log4j:WARN No appenders could be found for logger (org.hibernate.validator.Version).
log4j:WARN Please initialize the log4j system properly.

nome Nome deve ter no máximo 20 letras.
message = Nome deve ter no máximo 20 letras.
propertyName = nome
propertyPath = nome
value = FRANCISCO ANTONIO VIEIRA SOUZA DA SILVA MOREIRA
[/code]

Cara, tava justamente procurando sobre isso hj.

Só q queria ver com EclipseLink, pq eu to pensando em “testá-lo”, mas pelo visto, só Hibernate tem isso, daí fica
estranho usar uma coisa e outra (eu acho) *r.

Na verdade estou usando: Swing + TopLink + Hibernate Validator

Estou procurando uma classe genérica para captação de erro em qualquer entidade, se alguém souber como fazer.