VRaptor 3 - Melhorias

Bom Dia, Lucas obrigado pela ajuda que voce vem me dando ai.

1-Estou tendo muita dificuldade de mexer com a parte de redirecionamento do VRaptor 3 porque estou tendo estes problemas faço toda parte de edição gravação localização na mesma tela entao as vezes estou tendo que reescrever codigos se fosse ver isso nao precisaria vou te dar um exemplo
Hoje estou tendo que fazer isso

   @Post  
   @Path("/cadclassificacao")  
   public void adiciona(CadClassificacao cadclassificacao) {  
           // TODO Auto-generated method stub  
           this.validator.addAll(Hibernate.validate(cadclassificacao));  
           if (this.validator.hasErrors() == true) {  
               this.result.include("cadclassificacao", cadclassificacao).include("cadclassificacaolist", this.lista);  
               this.validator.onErrorUse(Results.page()).forward("/WEB-INF/jsp/cadClassificacao/cadclassificacao.jsp");              
           }  
           this.beanCadClassificacao.getDaoGenerico().getDao().salvar(cadclassificacao);  
           //RedirectTo redireciona a logica de negocio URI          
           this.result.use(Results.logic()).redirectTo(CadClassificacaoController.class).formulario();  
   }  
  
   @Get  
   @Path("/cadclassificacao")  
   public void formulario() {  
       // TODO Auto-generated method stub  
       //Forward redireciona direto a pagina         
       this.result.include("cadclassificacaolist", lista()).include("cadclassificacao", this.cadClassificacao).use(Results.page()).forward("/WEB-INF/jsp/cadClassificacao/cadclassificacao.jsp");        
       return new CadClassificacao();  
  }  

O que poderia melhorar

   @Post  
   @Path("/cadclassificacao")  
   public void adiciona(CadClassificacao cadclassificacao) {  
           // TODO Auto-generated method stub  
           this.validator.addAll(Hibernate.validate(cadclassificacao));  
           if (this.validator.hasErrors() == true) {  
               this.cadclassificacao = cadclassificacao;
               this.validator.onErrorUse(Results.method()).formulario();              
           }  
           this.beanCadClassificacao.getDaoGenerico().getDao().salvar(cadclassificacao);  
           //RedirectTo redireciona a logica de negocio URI          
           this.result.use(Results.logic()).redirectTo(CadClassificacaoController.class).formulario();  
   }  
  
   @Get  
   @Path("/cadclassificacao")  
   public void formulario() {  
       // TODO Auto-generated method stub  
       //Forward redireciona direto a pagina         
       this.result.include("cadclassificacaolist", lista()).include("cadclassificacao", this.cadClassificacao).use(Results.page()).forward("/WEB-INF/jsp/cadClassificacao/cadclassificacao.jsp");        
       return new CadClassificacao();  
  }  

OBS: Ou seja hoje eu trabalho com desenvolvimento de sistema e os usarios nao quer ficar abrindo um monte de tela quer que na tela que ele esta ja tenha tudo a li hoje isto e uma das grandes reclamações de empresa que não utiliza sistema na web devido a estes problemas que o pessoal de desenvolvimento de web faz.

uma das coisas que reparei foi isso:
validator.onErrorUse(Results.page()).of(CadClassificacao.class).formulario(); ele tenta procurar o “cadClassificacao/formulario.jsp” e nao “cadClassificacao/cadclassificacao.jsp” achei um comportamento estranho acho por exemplo que deveria entrar no metodo formulario e executar o que esta la neste metodo.

Obrigado !!!
joao vitor

algum motivo especial para dar forward para “/WEB-INF/jsp/cadClassificacao/cadclassificacao.jsp”? pq vc não renomeia o jsp para o padrão “/WEB-INF/jsp/cadClassificacao/formulario.jsp”?

se vc está usando o page()).of(…)… o vraptor não executa a lógica, só vai pra página padrão… se vc quiser que a lógica seja executada, use o logic()).forwardTo(…)…

[quote=lucascs]algum motivo especial para dar forward para “/WEB-INF/jsp/cadClassificacao/cadclassificacao.jsp”? pq vc não renomeia o jsp para o padrão “/WEB-INF/jsp/cadClassificacao/formulario.jsp”?

se vc está usando o page()).of(…)… o vraptor não executa a lógica, só vai pra página padrão… se vc quiser que a lógica seja executada, use o logic()).forwardTo(…)…[/quote]

nao deixo o nome da pagina como formulario.jsp devido quem desenvolve os jsp e o web designer isto ele deixa com o nome da tabela no banco para nao se perder senao todos vai ter nome de formulario.jsp isto nao e legal caso vc arraste sem querer um arquivo para um pasta pode acabar substituindo o seu jsp.

Outro detalhe e parte que vc citou sobre (logic()).forwardTo(…)… ja fiz isto mas toda vez recebo esta exception

SEVERE: Servlet.service() for servlet default threw exception
br.com.caelum.vraptor.InterceptionException: br.com.caelum.vraptor.view.ResultException: java.lang.reflect.InvocationTargetException
	at br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:76)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:48)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:72)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:42)
	at br.com.caelum.vraptor.core.InstantiatedInterceptorHandler.execute(InstantiatedInterceptorHandler.java:41)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:48)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:46)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:80)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:62)
	at br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:91)
	at br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:55)
	at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:88)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
	at java.lang.Thread.run(Thread.java:637)
Caused by: br.com.caelum.vraptor.view.ResultException: java.lang.reflect.InvocationTargetException
	at br.com.caelum.vraptor.view.ValidationLogicResult$1.intercept(ValidationLogicResult.java:50)
	at br.com.caelum.vraptor.proxy.AbstractCglibProxifier$2.intercept(AbstractCglibProxifier.java:33)
	at com.jvds.telecon.controller.CadClassificacaoController$$EnhancerByCGLIB$$3ca4c74e.formulario(<generated>)
	at com.jvds.telecon.controller.CadClassificacaoController.adiciona(CadClassificacaoController.java:49)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:50)
	... 40 more
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at br.com.caelum.vraptor.view.ValidationLogicResult$1.intercept(ValidationLogicResult.java:48)
	... 48 more
Caused by: br.com.caelum.vraptor.proxy.ProxyInvocationException: java.lang.IllegalStateException: Cannot forward after response has been committed
	at br.com.caelum.vraptor.view.DefaultLogicResult$1.intercept(DefaultLogicResult.java:91)
	at br.com.caelum.vraptor.proxy.AbstractCglibProxifier$2.intercept(AbstractCglibProxifier.java:33)
	at com.jvds.telecon.controller.CadClassificacaoController$$EnhancerByCGLIB$$3ca4c74e.formulario(<generated>)
	... 53 more
Caused by: java.lang.IllegalStateException: Cannot forward after response has been committed
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:312)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
	at br.com.caelum.vraptor.view.DefaultLogicResult$1.intercept(DefaultLogicResult.java:88)
	... 55 more

Há uma coisa muito boa no vraptor que é a “convention over configuration”. Assim temos convenções padrão que facilitam nosso dia a dia. Conforme o exemplo que o Lucas deu se você tem o controle UsuarioController e um método cadastrar, no final de tudo o resultado será o JSP /WEB-INF/jsp/usuario/cadastrar.jsp. Ou seja, seu controller + método. Isso é uma convenção, e você pode querer mudar. Ou você pode fazer isso manual a cada método ou sobrecrever isso a teu modo. Isso tudo é bem flexível.

No meu caso eu uso JSPX, então no inicio eu fazia tudo manual, algo como isso aqui:

public class YearController { public void list(Paging paging) { result.use(Results.page()).forward("/WEB-INF/jspx/management/year.list.jspx"); } }

Ou seja, além de eu usar JSPX ao invés de JSP eu achei que para mim não servia usar controller/método, eu queria modulo/controller.metodo. Então o que eu fiz foi fazer foi implementar um PathResolver assim:

[code]@Component
public class JspxPathResolver implements PathResolver {

@Override
public String pathFor(ResourceMethod method) {
    final Class<?> clazz = method.getResource().getType();
    final String clazzName = clazz.getSimpleName();
    final Package pkg = clazz.getPackage();

    final StringBuilder s = new StringBuilder(60);
    s.append("/WEB-INF/jspx/");
    s.append(StringUtils.substringAfterLast(pkg.getName(), "."));
    s.append("/");
    s.append(StringUtils.substringBefore(clazzName, "Controller").toLowerCase());
    s.append(".");
    s.append(method.getMethod().getName().toLowerCase());
    s.append(".jspx");

    return s.toString();
}

}[/code]

Dessa forma meus métodos não precisa mais ficar difinindo um a um para qual view ir. Isso fica automatico através de uma convenção.

Uma outra coisa que notei pela diferença nos códigos que você não quer usar o result.include. Há uma opção de você usar os dados que você quer jogar na tela via retorno do método, algo como:

public CadClassificacao adiciona(CadClassificacao cadclassificacao) { ... return new CadClassificacao(blah blah blah); }

Abraços

muda o nome do método para cadclassificacao então :wink:

você não precisa desse código, o vraptor já faz isso pra vc:

 if (this.validator.hasErrors() == true) {    
              this.cadclassificacao = cadclassificacao;  
              this.validator.onErrorUse(Results.method()).formulario();                
          }    

deixe só o

this.validator.onErrorUse(Results.method()).formulario();

se vc renomear o método formulario para cadclassificacao e tirar o results.use(page())… vai funcionar… essa exception é um bug que já foi corrigido… se vc baixar a versão do repositório já está funcionando…

[quote=garcia-jj]Há uma coisa muito boa no vraptor que é a “convention over configuration”. Assim temos convenções padrão que facilitam nosso dia a dia. Conforme o exemplo que o Lucas deu se você tem o controle UsuarioController e um método cadastrar, no final de tudo o resultado será o JSP /WEB-INF/jsp/usuario/cadastrar.jsp. Ou seja, seu controller + método. Isso é uma convenção, e você pode querer mudar. Ou você pode fazer isso manual a cada método ou sobrecrever isso a teu modo. Isso tudo é bem flexível.

No meu caso eu uso JSPX, então no inicio eu fazia tudo manual, algo como isso aqui:

public class YearController { public void list(Paging paging) { result.use(Results.page()).forward("/WEB-INF/jspx/management/year.list.jspx"); } }

Ou seja, além de eu usar JSPX ao invés de JSP eu achei que para mim não servia usar controller/método, eu queria modulo/controller.metodo. Então o que eu fiz foi fazer foi implementar um PathResolver assim:

[code]@Component
public class JspxPathResolver implements PathResolver {

@Override
public String pathFor(ResourceMethod method) {
    final Class<?> clazz = method.getResource().getType();
    final String clazzName = clazz.getSimpleName();
    final Package pkg = clazz.getPackage();

    final StringBuilder s = new StringBuilder(60);
    s.append("/WEB-INF/jspx/");
    s.append(StringUtils.substringAfterLast(pkg.getName(), "."));
    s.append("/");
    s.append(StringUtils.substringBefore(clazzName, "Controller").toLowerCase());
    s.append(".");
    s.append(method.getMethod().getName().toLowerCase());
    s.append(".jspx");

    return s.toString();
}

}[/code]

Dessa forma meus métodos não precisa mais ficar difinindo um a um para qual view ir. Isso fica automatico através de uma convenção.

Uma outra coisa que notei pela diferença nos códigos que você não quer usar o result.include. Há uma opção de você usar os dados que você quer jogar na tela via retorno do método, algo como:

public CadClassificacao adiciona(CadClassificacao cadclassificacao) { ... return new CadClassificacao(blah blah blah); }

Abraços[/quote]

Muito obrigado garcia valeu pela dica muito util.

[quote=lucascs]muda o nome do método para cadclassificacao então :wink:

você não precisa desse código, o vraptor já faz isso pra vc:

 if (this.validator.hasErrors() == true) {    
              this.cadclassificacao = cadclassificacao;  
              this.validator.onErrorUse(Results.method()).formulario();                
          }    

deixe só o

this.validator.onErrorUse(Results.method()).formulario();

se vc renomear o método formulario para cadclassificacao e tirar o results.use(page())… vai funcionar… essa exception é um bug que já foi corrigido… se vc baixar a versão do repositório já está funcionando…
[/quote]

Como faço isso tenho que baixar em http://github.com/caelum/vraptor
pegar pasta vraptor-core e dar ANT e isso ?

[quote]Como faço isso tenho que baixar em http://github.com/caelum/vraptor
pegar pasta vraptor-core e dar ANT e isso ? [/quote]

Sim, você pode ir no site que você falou e baixar a última versão. Após isso rode o ant e será criado um diretório chamado dist. Lá dentro terá um jar que se não me engano é vraptor3-snapshot.jar.

isso… entra na pasta vraptor-core, digita ant, e o jar vai estar em vraptor-core/target

[quote=lucascs]muda o nome do método para cadclassificacao então :wink:

você não precisa desse código, o vraptor já faz isso pra vc:

 if (this.validator.hasErrors() == true) {    
              this.cadclassificacao = cadclassificacao;  
              this.validator.onErrorUse(Results.method()).formulario();                
          }    

deixe só o

this.validator.onErrorUse(Results.method()).formulario();

se vc renomear o método formulario para cadclassificacao e tirar o results.use(page())… vai funcionar… essa exception é um bug que já foi corrigido… se vc baixar a versão do repositório já está funcionando…
[/quote]

Baixei la a versao vraptor-3.0.3-SNAPSHOT.jar

e esta dando a seguinte exception quando faz (logic()).forwardTo(…).formulario();

br.com.caelum.vraptor.InterceptionException: br.com.caelum.vraptor.view.ResultException: java.lang.reflect.InvocationTargetException
	at br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:77)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:48)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:77)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:42)
	at br.com.caelum.vraptor.core.InstantiatedInterceptorHandler.execute(InstantiatedInterceptorHandler.java:41)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:48)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:46)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:80)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:62)
	at br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:91)
	at br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:55)
	at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:88)
	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
	at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
	at org.mortbay.jetty.Server.handle(Server.java:326)
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

o que tem mais pra baixo na exception? algo que não seja InvocationTarget…

pelo Jetty 6.1.22 exception

2009-12-04 23:29:41.093:WARN::/jvds/cadclassificacao
br.com.caelum.vraptor.InterceptionException: br.com.caelum.vraptor.view.ResultException: java.lang.reflect.InvocationTargetException
	at br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:77)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:48)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:77)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:42)
	at br.com.caelum.vraptor.core.InstantiatedInterceptorHandler.execute(InstantiatedInterceptorHandler.java:41)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:48)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:46)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:80)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:62)
	at br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:91)
	at br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:55)
	at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:88)
	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
	at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
	at org.mortbay.jetty.Server.handle(Server.java:326)
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

Pelo Tomcat 6.0.20 exception

Dec 4, 2009 11:32:25 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet default threw exception
br.com.caelum.vraptor.InterceptionException: br.com.caelum.vraptor.view.ResultException: java.lang.reflect.InvocationTargetException
	at br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:77)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:48)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:77)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:42)
	at br.com.caelum.vraptor.core.InstantiatedInterceptorHandler.execute(InstantiatedInterceptorHandler.java:41)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:48)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:46)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:80)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:62)
	at br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:91)
	at br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:55)
	at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:88)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
	at java.lang.Thread.run(Thread.java:637)
Caused by: br.com.caelum.vraptor.view.ResultException: java.lang.reflect.InvocationTargetException
	at br.com.caelum.vraptor.view.ValidationLogicResult$1.intercept(ValidationLogicResult.java:50)
	at br.com.caelum.vraptor.proxy.AbstractCglibProxifier$2.intercept(AbstractCglibProxifier.java:38)
	at com.jvds.telecon.controller.CadClassificacaoController$$EnhancerByCGLIB$$7416486a.formulario(<generated>)
	at com.jvds.telecon.controller.CadClassificacaoController.adiciona(CadClassificacaoController.java:49)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:50)
	... 40 more
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at br.com.caelum.vraptor.view.ValidationLogicResult$1.intercept(ValidationLogicResult.java:48)
	... 48 more
Caused by: br.com.caelum.vraptor.proxy.ProxyInvocationException: java.lang.IllegalStateException: Cannot forward after response has been committed
	at br.com.caelum.vraptor.view.DefaultLogicResult$1.intercept(DefaultLogicResult.java:86)
	at br.com.caelum.vraptor.proxy.AbstractCglibProxifier$2.intercept(AbstractCglibProxifier.java:38)
	at com.jvds.telecon.controller.CadClassificacaoController$$EnhancerByCGLIB$$7416486a.formulario(<generated>)
	... 53 more
Caused by: java.lang.IllegalStateException: Cannot forward after response has been committed
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:312)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
	at br.com.caelum.vraptor.view.DefaultLogicResult$1.intercept(DefaultLogicResult.java:83)
	... 55 more

E isso ai só

Lucas, mudou muita coisa interna no vraptor? Eu baixei a versão do github via side deles. Depois rodei a ant-task e me gerou um jar de 500k ao invés dos normais 700k. Quando coloquei ovraptor3-3.0.0-SNAPSHOT.jar meu projeto apresentou 100 erros.

Um deles era a falta do flash-interceptor. Na verdade eu tenho alguns componentes vitais que uso customizados, e o mais importante dele é o CustomRequestExecution que implementa RequestExecution.

interceptorStack.add(ResourceLookupInterceptor.class); interceptorStack.add(FlashInterceptor.class); interceptorStack.add(InterceptorListPriorToExecutionExtractor.class); // interceptorStack.add(MultipartInterceptor.class); interceptorStack.add(instantiator); interceptorStack.add(ParametersInstantiatorInterceptor.class); interceptorStack.add(CustomExecuteMethodInterceptor.class); interceptorStack.add(OutjectResult.class); interceptorStack.add(DownloadInterceptor.class); interceptorStack.add(JsonInterceptor.class); interceptorStack.add(ForwardToDefaultViewInterceptor.class); interceptorStack.next(null, null);

Lucas, mudou muita coisa interna no vraptor? Eu baixei a versão do github via side deles. Depois rodei a ant-task e me gerou um jar de 500k ao invés dos normais 700k. Quando coloquei ovraptor3-3.0.0-SNAPSHOT.jar meu projeto apresentou 100 erros.

Um deles era a falta do flash-interceptor. Na verdade eu tenho alguns componentes vitais que uso customizados, e o mais importante dele é o CustomRequestExecution que implementa RequestExecution.

interceptorStack.add(ResourceLookupInterceptor.class); interceptorStack.add(FlashInterceptor.class); interceptorStack.add(InterceptorListPriorToExecutionExtractor.class); // interceptorStack.add(MultipartInterceptor.class); interceptorStack.add(instantiator); interceptorStack.add(ParametersInstantiatorInterceptor.class); interceptorStack.add(CustomExecuteMethodInterceptor.class); interceptorStack.add(OutjectResult.class); interceptorStack.add(DownloadInterceptor.class); interceptorStack.add(JsonInterceptor.class); interceptorStack.add(ForwardToDefaultViewInterceptor.class); interceptorStack.next(null, null); [/quote]

Eu gerei meu jar desta forma nao sei se estou certo
baixei primeiro:
$ git clone git://github.com/caelum/vraptor.git

depois:

$ cd vraptor/vraptor-core/
$ ant

Ai gerou 700 kb vraptor-3.0.3-SNAPSHOT.jar

Voce tambem esta com problema de (logic())forwardTo(…).formulario

Não, é que eu sou entusiasta do vraptor, então tenho acompanhado as versões e feito alguns testes aqui. Apenas aproveitei teu tópico para perguntar sobre isso.

Mas estou acompanhado a discução, assim que eu puder, ajudarei. Abraços

jvds, vc removeu o jar vraptor-3.0.2.jar? Não era pra estar dando essa exception mais =(

garcia, não teve nenhuma mudança grande não… pode ser que o github gerou um zip zuado (já vi isso acontecer uma vez)… tenta baixar o código pelo git mesmo (git clone…) e ver se o jar sai zuado ainda…

[]

[quote=lucascs]jvds, vc removeu o jar vraptor-3.0.2.jar? Não era pra estar dando essa exception mais =(

garcia, não teve nenhuma mudança grande não… pode ser que o github gerou um zip zuado (já vi isso acontecer uma vez)… tenta baixar o código pelo git mesmo (git clone…) e ver se o jar sai zuado ainda…

[][/quote]

quando faço isso
this.validator.onErrorUse(Results.logic()).forwardTo(CadClassificacaoController.class).formulario();

Sim logico removi sim

O que pode ser ?

Desculpa jvds, eh um bug do vraptor mesmo =(
achei que eu tinha mudado uma classe aqui, e não tinha =S

De qqer forma, no teste que eu fiz aqui, mesmo que tenha dado essa exception o redirecionamento funciona…
vou corrigir isso agora, e já te falo, pra vc atualizar o source…

Desculpe =(

Bug corrigido, se vc atualizar o source (git pull origin master) não vai dar mais esse problema, teoricamente…

[quote=lucascs]Bug corrigido, se vc atualizar o source (git pull origin master) não vai dar mais esse problema, teoricamente…

[/quote]

Lucas viu agora piorou nao esta nem redirecionando mais agora esta dando a exception no CONSOLE e na PAGINA

CONSOLE:

009-12-05 12:22:03.731:WARN::/jvds/cadclassificacao
br.com.caelum.vraptor.InterceptionException: br.com.caelum.vraptor.view.ResultException: java.lang.reflect.InvocationTargetException
	at br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:77)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:48)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:77)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:42)
	at br.com.caelum.vraptor.core.InstantiatedInterceptorHandler.execute(InstantiatedInterceptorHandler.java:41)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:48)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:46)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:80)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:62)
	at br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:91)
	at br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:55)
	at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:88)
	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
	at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
	at org.mortbay.jetty.Server.handle(Server.java:326)
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

PAGINA

br.com.caelum.vraptor.InterceptionException: br.com.caelum.vraptor.view.ResultException: java.lang.reflect.InvocationTargetException
	at br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:77)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:48)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:77)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:42)
	at br.com.caelum.vraptor.core.InstantiatedInterceptorHandler.execute(InstantiatedInterceptorHandler.java:41)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:48)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:46)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:80)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:62)
	at br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:91)
	at br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:55)
	at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:88)
	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
	at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
	at org.mortbay.jetty.Server.handle(Server.java:326)
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: br.com.caelum.vraptor.view.ResultException: java.lang.reflect.InvocationTargetException
	at br.com.caelum.vraptor.view.ValidationLogicResult$1.intercept(ValidationLogicResult.java:50)
	at br.com.caelum.vraptor.proxy.AbstractCglibProxifier$2.intercept(AbstractCglibProxifier.java:38)
	at com.jvds.telecon.controller.CadClassificacaoController$$EnhancerByCGLIB$$7a996c52.formulario(<generated>)
	at com.jvds.telecon.controller.CadClassificacaoController.adiciona(CadClassificacaoController.java:49)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:50)
	... 44 more
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at br.com.caelum.vraptor.view.ValidationLogicResult$1.intercept(ValidationLogicResult.java:48)
	... 52 more
Caused by: br.com.caelum.vraptor.proxy.ProxyInvocationException: br.com.caelum.vraptor.InterceptionException: java.lang.IllegalArgumentException: wrong number of arguments
	at br.com.caelum.vraptor.view.DefaultLogicResult$1.intercept(DefaultLogicResult.java:72)
	at br.com.caelum.vraptor.proxy.AbstractCglibProxifier$2.intercept(AbstractCglibProxifier.java:38)
	at com.jvds.telecon.controller.CadClassificacaoController$$EnhancerByCGLIB$$7a996c52.formulario(<generated>)
	... 57 more
Caused by: br.com.caelum.vraptor.InterceptionException: java.lang.IllegalArgumentException: wrong number of arguments
	at br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:69)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:48)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:77)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:42)
	at br.com.caelum.vraptor.core.InstantiatedInterceptorHandler.execute(InstantiatedInterceptorHandler.java:41)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:48)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:46)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:80)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:46)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:59)
	at br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:62)
	at br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:91)
	at br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:46)
	at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:88)
	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
	at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:327)
	at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
	at br.com.caelum.vraptor.view.DefaultLogicResult$1.intercept(DefaultLogicResult.java:68)
	... 59 more
Caused by: java.lang.IllegalArgumentException: wrong number of arguments
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:50)
	... 93 more