Problema/Dúvida: VRaptor3 + Google App Engine  XML
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Autor Mensagem
lgi2020
Virtual Machine Man
[Avatar]

Membro desde: 19/07/2006 10:51:13
Mensagens: 550
Localização: Rio de Janeiro
Offline

Prezados,

Já tentei um bocado mas não obtive sucesso.

Estou tentando fazer uma aplicação básica (CRUD) com VRaptor 3 na estrutura do Google App Engine.
Meu problema está quando tento salvar uma entidade a partir de dados de um form.

Acho que o VRaptor não está conseguindo instanciar e popular as propriedades da entidade em questão.
E isso só acontece se a aplicação estiver na App Engine.
Se eu instanciar e setar as propriedades manualmente funciona sem problemas.

Se alguém tiver alguma idéia ou enxergar algo que eu esteja fazendo de errado, por favor, dê uma luz.

Abaixo, segue o código.




Abraços.

This message was edited 1 time. Last update was at 14/10/2009 13:44:30


Lennon Jesus | CSM | SCJP
http://twitter.com/LennonJesus
[WWW]
Paulo Silveira
Administrador
[Avatar]

Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline

Ola Lennon!

Voce utilizou o blank-project do GAE que o vraptor ja disponibiliza? Olhe aqui:
http://code.google.com/p/vraptor3/downloads/list

Ele ja vem com as configuracoes adequadas e jars apropriados para que o SecurityManager do GAE nao reclame.

abracos

http://blog.caelum.com.br twitter: @paulo_caelum


[Email] [WWW]
garcia-jj
JWizard

Membro desde: 13/04/2009 22:11:50
Mensagens: 2715
Localização: Porto Alegre
Offline

Como você está compilando e empacotando a aplicação para enviar ao GAE?

Note que o vraptor3 usa o paranamer para saber o nome dos parametros para injeção dos valores. Se você compilar sem a opção de debug o paranamer não consegue saber o nome dos atributos do método e consecutivamente ele não consegue popular os valores.

Paulo, será que pode ser proposto uma alternativa a isso? Por exemplo uma annotation opcional como tinha a @Logic(parameters="foo") no vraptor2? No meu caso como minha app é comercial envio os fontes sem opções de debug.

Abraços

http://github.com/garcia-jj
Não respondo dúvidas via MP. Use o fórum.
Paulo Silveira
Administrador
[Avatar]

Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline

garcia-jj wrote:
Paulo, será que pode ser proposto uma alternativa a isso? Por exemplo uma annotation opcional como tinha a @Logic(parameters="foo") no vraptor2? No meu caso como minha app é comercial envio os fontes sem opções de debug.


Oi Garcia! é uma boa... mas lembre-se que a opcao de debug mode já é default de todas as principais IDEs e não tem custo de performance pra aplicação, alem de te livrar de mais anotacoes . Mas realmente precisamos. nao quer colocar a issue pra gente no github?

http://blog.caelum.com.br twitter: @paulo_caelum


[Email] [WWW]
lgi2020
Virtual Machine Man
[Avatar]

Membro desde: 19/07/2006 10:51:13
Mensagens: 550
Localização: Rio de Janeiro
Offline

Paulo,

Eu já estava utilizando o blank-project do link que você indicou.
De qualquer forma, comecei a refazer do zero e parece que agora funcionou ok.

Acho que de tanto mexer no projeto para encontrar a solução para o problema que tive ontem acabei ferrando com alguma coisa.

Obrigado pela ajuda.

Lennon Jesus | CSM | SCJP
http://twitter.com/LennonJesus
[WWW]
lgi2020
Virtual Machine Man
[Avatar]

Membro desde: 19/07/2006 10:51:13
Mensagens: 550
Localização: Rio de Janeiro
Offline

Caros amigos...

Continuo tomando uma meia dúzia de tocos com estes meus testes.
Tenho conseguido resolver alguns...
Porém, o problema da vez já tá me enervando.

Tenho um controller: PersonsController.
Tenho um método list() neste controller.
Se eu fizer acesso direto à url do método (/persons/list), tudo funciona em paz.
Contudo, ao tentar fazer um redirecionamento para este mesmo método através de um Result recebo uma página em branco e no log uma exceção.

Código de redirecionamento:


Exceção:


Alguma idéia para ajudar um cidadão desesperado como eu?

Abraços.

Lennon Jesus | CSM | SCJP
http://twitter.com/LennonJesus
[WWW]
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6394
Offline

Tenta acessar 2 vezes esse método (sem derrubar a aplicação) que está dando problema, e vê se o nome da classe que tá dando ClassNotFound é o mesmo...

o nome vai ser algo do tipo:
PersonsController$list$1545341940$2

o que vc tem que ver é se os números da frente são diferentes...

se isso estiver acontecendo, receba no construtor da sua lógica um TypeCreator, e imprime de algum jeito a classe do objeto que veio:



a classe que tem que vir é a CacheBasedTypeCreator, se não for ela me diz, q eu tento ver outras possibilidades

[]'sw

--
Caelum
www.caelum.com.br

Paulo Silveira
Administrador
[Avatar]

Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline

Oi Lennon

Dessa forma que o Lucas falou, voce ajuda a gente a descobrir esse possivel bug. Engracado que estamos rodando varias aplicacoes no GAE sem problemas.... mas cloud ainda é uma caixinha de supresas nao?

http://blog.caelum.com.br twitter: @paulo_caelum


[Email] [WWW]
lgi2020
Virtual Machine Man
[Avatar]

Membro desde: 19/07/2006 10:51:13
Mensagens: 550
Localização: Rio de Janeiro
Offline

Obrigado pelas respostas.

Ainda não tive a oportunidade de testar por causa do trabalho...

Assim que chegar em casa farei os testes sugeridos e posto o resultado.

Abraços.

Lennon Jesus | CSM | SCJP
http://twitter.com/LennonJesus
[WWW]
garcia-jj
JWizard

Membro desde: 13/04/2009 22:11:50
Mensagens: 2715
Localização: Porto Alegre
Offline

Paulo Silveira wrote:Oi Garcia! é uma boa... mas lembre-se que a opcao de debug mode já é default de todas as principais IDEs e não tem custo de performance pra aplicação, alem de te livrar de mais anotacoes . Mas realmente precisamos. nao quer colocar a issue pra gente no github?


Paulo, cadastro sim. Chegando em casa crio uma conta lá e adiciono a issue.

Como minha aplicação é comercial, para evitar engenharia reversa (ou pelo menos dificultar) os fontes irão para o cliente ofuscados. Sendo assim eu vou perder todos os nomes de atributos. Por isso minha sugestão.

Abraços

http://github.com/garcia-jj
Não respondo dúvidas via MP. Use o fórum.
lgi2020
Virtual Machine Man
[Avatar]

Membro desde: 19/07/2006 10:51:13
Mensagens: 550
Localização: Rio de Janeiro
Offline

Prezados,

Fiz uns testes.

O nome da classe no log é o mesmo sempre.

A classe que retorna no construtor é br.com.caelum.vraptor.reflection.CacheBasedTypeCreator.

Paulo,

Achei um e-mail (gmail) seu na net e mandei um invite para acessar a aplicação.

Abraços.

Lennon Jesus | CSM | SCJP
http://twitter.com/LennonJesus
[WWW]
Paulo Silveira
Administrador
[Avatar]

Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline

oi lenon!

convida o lucas tambem?

lucascs@gmail.com

abracos!

http://blog.caelum.com.br twitter: @paulo_caelum


[Email] [WWW]
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6394
Offline

o email do gmail certo é: lucasmrtuner

[]s

--
Caelum
www.caelum.com.br

lgi2020
Virtual Machine Man
[Avatar]

Membro desde: 19/07/2006 10:51:13
Mensagens: 550
Localização: Rio de Janeiro
Offline

Opa.

Está convidado, Lucas.

Abraços.

Lennon Jesus | CSM | SCJP
http://twitter.com/LennonJesus
[WWW]
 
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Ir para:   
Powered by JForum 2.1.8 © JForum Team