Pessoal,
Já tentei várias vezes procurei no no fórum mas não encontrei a solução.
Quero fazer um sistema de controle de usuarios.
Tenho um formulário de cadastro e com isso eu envio o plano que que o usuario gostaria de ter esse valores seria a minha classe Enum.
Na hora de cadastrar consigo pegar o valor do plano dele via input=“radio” , mas na hora de cadastrar não sei como fazer. Já tentei várias coisas mas não consegui.
Fiz uma classe de teste e funciona perfeitamente passando na mão o perfil dele
usuario.setPerfil(Perfil.light);
Se alguém poder me ajudar agradeço muito mesmo.
Abraços!
public enum Perfil {
light, plus, master, administrador;
}
// UsuarioControlller
@Path("/usuarios/cadastro")
public void cadastro(Usuario usuario, ModeloSite modeloSite){
this.modeloSiteDAO.cadastra(modeloSite);
Perfil perfil = usuario.getPerfil();
//System.out.println("Esse é o perfil " + perfil);
usuario.setPerfil(Perfil.light);
if (perfil.equals("light")) {
data.add(data.DAY_OF_YEAR,10);
usuario.setDataExpiracao(data);
}else
data.add(data.YEAR,1);
usuario.setDataExpiracao(data);
this.usuarioDAO.cadastro(usuario);
result.redirectTo(UsuarioController.class).listaUsuarios();
}
// Modelo
@Enumerated(EnumType.STRING)
private Perfil perfil;
public Perfil getPerfil() {
return perfil;
}
public void setPerfil(Perfil perfil) {
this.perfil = perfil;
}
// Formulario de cadastro
Plano Contratado: <input type="radio" name="usuario.perfil" value="light" checked="checked" />Light |
<input type="radio" name="usuario.perfil" value="plus" />Plus |
<input type="radio" name="usuario.perfil" value="master" />Master </br></br>
Erro
java.lang.IllegalArgumentException: No enum const class br.com.SistemaCadastro.modelo.admin.Perfil.0
java.lang.Enum.valueOf(Enum.java:196)
org.hibernate.type.EnumType.nullSafeGet(EnumType.java:124)
org.hibernate.type.CustomType.nullSafeGet(CustomType.java:132)
org.hibernate.type.AbstractType.hydrate(AbstractType.java:105)
org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2267)
org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1423)
org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1351)
org.hibernate.loader.Loader.getRow(Loader.java:1251)
org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:619)
org.hibernate.loader.Loader.doQuery(Loader.java:745)
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:270)
org.hibernate.loader.Loader.doList(Loader.java:2294)
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2172)
org.hibernate.loader.Loader.list(Loader.java:2167)
org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:448)
org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:363)
org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
org.hibernate.impl.SessionImpl.list(SessionImpl.java:1258)
org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:236)
org.hibernate.ejb.criteria.CriteriaQueryCompiler$3.getResultList(CriteriaQueryCompiler.java:187)
br.com.SistemaCadastro.DAO.admin.UsuarioDAO.listaTudosUsuarios(UsuarioDAO.java:28)
br.com.SistemaCadastro.controller.admin.UsuarioController.listaUsuarios(UsuarioController.java:35)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:61)
br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
br.com.SistemaCadastro.interceptor.LoginInterceptor.intercept(LoginInterceptor.java:38)
br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
br.com.caelum.vraptor.util.jpa.JPATransactionInterceptor.intercept(JPATransactionInterceptor.java:51)
br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:83)
br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:71)
br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:48)
br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:69)
br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
br.com.caelum.vraptor.core.EnhancedRequestExecution.execute(EnhancedRequestExecution.java:44)
br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:58)
br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)