isso parece ser um bug mesmo do VRaptor…
só pra eu conseguir reproduzir, essa classe está dentro de um jar?
isso parece ser um bug mesmo do VRaptor…
só pra eu conseguir reproduzir, essa classe está dentro de um jar?
não consegui reproduzir aqui =(
você tem como reproduzir o bug em um contexto menor, ou pelo menos me explicar melhor qual é o seu ambiente pra eu conseguir reproduzir, por favor?
Você mapeou o package no web.xml? O VRaptor só faz scan automatico para classes no WEB-INF/classes. Para classes dentro de um jar é necessário declarar o pacote no web.xml.
Esta classe é modelo e não usa anotação nenhuma, seja do VRaptor ou dos steriotypes do Spring.
Por coinscidência, implementei um serializer e marquei como @Deserializes. Ele não detecta esse cara, mesmo mapeando no web.xml um parâmetro de contexto com o nome br.com.caelum.vraptor.packages e adicionando o pacote do meu tipo JsonDeserializer.
[/quote]
Hmm, é verdade, erro meu.
seufagner, dúvidas:
-na requisição que está dando problemas, aparece alguma stacktrace com erros? tenta fazer um System.out.println(XXX.Type.values()), e vê o que aparece.
Ola
O Bootstrap do VRaptor não consegue encontrar inner Enums ? Quando coloco-a em um arquivo separado tudo funciona normalmente.
[code]public class Item extends MembaseBucketEntity {
private static final long serialVersionUID = 1L;
public enum Type {
DEFAULT;
}
@NotNull
@Min(1)
private Integer price = 0;
…
}[/code]
java.lang.NoClassDefFoundError: com/gazeus/musiccity/model/item/Item$Type
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at br.com.caelum.vraptor.scan.DynamicWebAppBootstrap.configure(DynamicWebAppBootstrap.java:45)
at br.com.caelum.vraptor.ioc.spring.SpringProvider.start(SpringProvider.java:84)
at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:110)
at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:103)
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:273)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:254)
Oi Lucas, está sim.
Claro Lucas.
A classe Enum está em um JAR-core, que por usa vez está no WEB-INF/libs da aplicação web que utiliza a tal inner enum.
As requisições chegam via JSON de um swf e minha resposta é dada no mesmo formato.
Esta é classe de domínio, argumento do método no Controller
public class XXX extends YYY {
private static final long serialVersionUID = 1L;
public enum Type {
SUBWAY, TINY, SMALL, MEDIUM, LARGE, XLARGE;
}
...
}
Estou testando via cURL:
curl -d … “xxx.type=SUBWAY&xxx.description=foo” http://localhost:8080/project/xxx/save
Erro:
12:15:01,077 DEBUG [ParametersInstantiatorInterceptor] There are conversion errors: [ValidationMessage{category=type, message=???is_not_a_valid_enum_value???, parameters=null}]
Esta classe é modelo e não usa anotação nenhuma, seja do VRaptor ou dos steriotypes do Spring.
Por coinscidência, implementei um serializer e marquei como @Deserializes. Ele não detecta esse cara, mesmo mapeando no web.xml um parâmetro de contexto com o nome br.com.caelum.vraptor.packages e adicionando o pacote do meu tipo JsonDeserializer.