| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2010 10:48:54
|
Ramon.Onix
JavaChild
![[Avatar]](/images/avatar/daef3dd225154d7a50df068cdc4c07b8.jpg)
Membro desde: 21/11/2009 13:36:09
Mensagens: 148
Offline
|
Bom, não sei bem o que esta acontecendo, sou cabaço em java ainda, mas conversando com o Mestre Lucas ele me pediu pra que colocasse o código aki!
[code] SEVERE: StandardWrapperValve [default]: PWC1406: Servlet.service () for servlet default jogou exceção
br.com.caelum.vraptor.http.InvalidParameterException: Impossível encontrar o construtor correto
...
...
Java.lang.Integer Caused by: java.lang.NoSuchMethodException:. <init> ()
na java.lang.Class.getConstructor0 (Class.java: 2706)
na java.lang.Class.getDeclaredConstructor (Class.java: 1985)
na br.com.caelum.vraptor.http.ognl.GenericNullHandler.instantiate (GenericNullHandler.java: 70)
na br.com.caelum.vraptor.http.ognl.ReflectionBasedNullHandler.nullPropertyValue (ReflectionBasedNullHandler.java: 79)
[/ code]
Este erro ocorre o locatário tentar salvar um, provavelmente o erro Deve Ser nestas classes.
Modelo
[code]
javax.persistence importação .*;
org.hibernate.validator.Length importação;
org.hibernate.validator.NotNull de importação;
/ **
*
* @ Author Onix
* /
@ Entity
Locatario class (
@ Id
@ GeneratedValue
@ Column (name = id_locatario ")
private Integer id;
@ NotNull
@ Length (min = 3, max = 150)
@ Column (name = "locatario")
private String nome;
@ NotNull
@ Length (min = 3, max = 150)
condominio private String;
@ NotNull
@ Length (min = 3, max = 150)
Unidade private Integer;
@ NotNull
@ Length (min = 3, max = 150)
private String telefone;
@ NotNull
private String email;
getCondominio String () (
condominio de retorno;
)
setCondominio void (condominio String) (
this.condominio = condominio;
)
public String () (
e-mail de retorno;
)
public void (String email) (
this.email = email;
)
public Integer getId () (
return id;
)
public void setId (Integer id) (
this.id = id;
)
public String getNome () (
Nome de retorno;
)
public void setNome (String nome) (
this.nome = nome;
)
getTelefone String () (
telefone de retorno;
)
setTelefone void (String telefone) (
this.telefone = telefone;
)
getUnidade public Integer () (
Unidade de retorno;
)
setUnidade void (unidade Integer) (
this.unidade = unidade;
)
)
[/ code]
Controlador
[code]
br.com.caelum.vraptor importação .*;
br.com.caelum.vraptor.validator.Hibernate de importação;
br.com.caelum.vraptor.validator.ValidationMessage de importação;
br.com.webcond.dao.CondominioDao de importação;
br.com.webcond.dao.LocatarioDao de importação;
br.com.webcond.dao.UnidadeDao de importação;
br.com.webcond.infra.Restrito de importação;
br.com.webcond.modelo.Locatario de importação;
import java.util.List;
br.com.caelum.vraptor.view.Results importação estática .*;
/ **
*
* @ Author Onix
* /
@ Resource
public class LocatarioController (
private DAO LocatarioDao final;
privado daoc CondominioDao final;
privado Daou UnidadeDao final;
Resultado resultado final privado;
privado validator validador final;
LocatarioController pública (LocatarioDao dao, CondominioDao daoc, UnidadeDao Daou, resultado Resultado, validator validador) (
this.dao = dao;
this.daoc = daoc;
this.daou = Daou;
resultado this.result =;
validador this.validator =;
)
@ Restrito
@ Path ( "locatario /")
@ Post
public void adiciona (Locatario locatario) (
if (dao.existeLocat (locatario)) (
ValidationMessage (validator.add novo ( "Já existe um locatário com este nome." locatario.nome "));
)
validator.addAll (Hibernate.validate (locatario)); / / importação do VRaptor
validator.onErrorUse (lógica ()). viar (LocatarioController.class). Novo ();
dao.salva (locatario);
result.redirectTo (LocatarioController.class). Lista ();
)
@ Restrito
@ Path ( "locatario / / (locatario.id)")
Put @
Altera void (Locatario locatario) (
validator.addAll (Hibernate.validate (locatario)); / / importação do VRaptor
validator.onErrorUse (lógica ()). viar (LocatarioController.class). Edita ();
dao.altera (locatario);
result.redirectTo (LocatarioController.class). Lista ();
)
@ Restrito
@ Path ( "locatario / / (id) / remover")
@ Delete
public void remove (Integer id) (
Locatario locatario = dao.carrega (id);
locatario (dao.remove);
result.redirectTo (LocatarioController.class). Lista ();
)
@ Restrito
@ Path ( "locatario / / (id) / Edita")
@ Get
Edita Locatario pública (Integer id) (
result.include ( "condominios", daoc.listaTudo ());
result.include ( "unidades", daou.listaTudo ());
dao.carrega return (id);
)
@ Restrito
@ Path ( "locatario /")
@ Get
Lista <Locatario> public List () (
dao.listaTudo retorno ();
)
@ Restrito
@ Path ( "/ locatario / Novo")
@ Get
Novo void () (
result.include ( "condominios", daoc.listaTudo ());
result.include ( "unidades", daou.listaTudo ());
)
@ Restrito
@ Path ( "locatario / / (id) / Edita")
@ Post
Edita void () (
)
)
[/ code]
E o Dao
[code]
br.com.caelum.vraptor.ioc.Component importação;
br.com.webcond.modelo.Locatario de importação;
import java.util.List;
importação org.hibernatee .*;
org.hibernate.criterion.Restrictions de importação;
/ **
*
* @ Author Onix
* /
@ Component
public class LocatarioDao (
private Session session;
LocatarioDao pública (Session session) (
sessão this.session =;
)
public void salva (Locatario locatario) (
Transaction tx = session.beginTransaction ();
locatario session.save ();
session.close ();
tx.commit ();
session.close ();
)
public void remove (locatario Locatario) (
Transaction tx = session.beginTransaction ();
session.delete (locatario);
session.close ();
tx.commit ();
session.close ();
)
Altera void (Locatario locatario) (
Transaction tx = session.beginTransaction ();
session.update (locatario);
session.close ();
tx.commit ();
session.close ();
)
public void atualiza (Locatario locatario) (
Transaction tx = session.beginTransaction ();
this.session.update (locatario);
session.close ();
tx.commit ();
session.close ();
)
existeLocat public boolean (Locatario locatario) (
Locatario encontrado = (Locatario session.createCriteria) (Locatario.class). Add (Restrictions.eq ( "nome", locatario.getNome ())). uniqueResult ();
encontrado retorno! = null;
)
Carrega Locatario pública (Integer id) (
return (Locatario this.session.load) (Locatario.class, id);
)
lista pública <Locatario> listaTudo () (
this.session.createCriteria retorno (Locatario.class). list ();
)
)
[/ code]
Se alguém puder me ajudar ...
Serei Grato!
This message was edited 1 time. Last update was at 22/03/2010 15:54:49
|
Onix
I have .Class do you?
ATENÇÃO... Este é o elemento adversário, que por falta dele, constantemente ameaça destruir seus códigos...
 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2010 11:13:23
|
Lavieri
GUJ Master
![[Avatar]](/images/avatar/7b41bfa5085806dfa24b8c9de0ce567f.png)
Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline
|
Vc tem um ComponentFactory para Session ?
|
Sun Certified Java Programmer (SCJP 6)
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999
Meu blog -> http://blog.tomazlavieri.com.br/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2010 11:24:44
|
Ramon.Onix
JavaChild
![[Avatar]](/images/avatar/daef3dd225154d7a50df068cdc4c07b8.jpg)
Membro desde: 21/11/2009 13:36:09
Mensagens: 148
Offline
|
tenho um CriadorDeSessionFactory
Seria isso?
|
Onix
I have .Class do you?
ATENÇÃO... Este é o elemento adversário, que por falta dele, constantemente ameaça destruir seus códigos...
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2010 11:30:11
|
Lavieri
GUJ Master
![[Avatar]](/images/avatar/7b41bfa5085806dfa24b8c9de0ce567f.png)
Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline
|
nop seria um assim
|
Sun Certified Java Programmer (SCJP 6)
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999
Meu blog -> http://blog.tomazlavieri.com.br/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2010 11:34:25
|
Ramon.Onix
JavaChild
![[Avatar]](/images/avatar/daef3dd225154d7a50df068cdc4c07b8.jpg)
Membro desde: 21/11/2009 13:36:09
Mensagens: 148
Offline
|
CriadorDeSession ? Entendi errado sua pergunta... Foi mal Mas como seria o CriadorDeSession se nas demais lógicas não dá erro?
This message was edited 1 time. Last update was at 20/03/2010 11:35:18
|
Onix
I have .Class do you?
ATENÇÃO... Este é o elemento adversário, que por falta dele, constantemente ameaça destruir seus códigos...
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2010 11:41:00
|
Lavieri
GUJ Master
![[Avatar]](/images/avatar/7b41bfa5085806dfa24b8c9de0ce567f.png)
Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline
|
bem estranho, pois ele esta relcmanado que não acha o construtor correto...
tem mais de 1 construtor não ? como o construtor vazio ?
|
Sun Certified Java Programmer (SCJP 6)
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999
Meu blog -> http://blog.tomazlavieri.com.br/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2010 11:52:08
|
Ramon.Onix
JavaChild
![[Avatar]](/images/avatar/daef3dd225154d7a50df068cdc4c07b8.jpg)
Membro desde: 21/11/2009 13:36:09
Mensagens: 148
Offline
|
Não tem!
E só dá erro nesta fase, apenas na hr de salvar um locatário!
Tudo funciona, menos isso!
|
Onix
I have .Class do you?
ATENÇÃO... Este é o elemento adversário, que por falta dele, constantemente ameaça destruir seus códigos...
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2010 12:01:40
|
Lavieri
GUJ Master
![[Avatar]](/images/avatar/7b41bfa5085806dfa24b8c9de0ce567f.png)
Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline
|
vc esta usando _method="put" na hora de enviar ?
|
Sun Certified Java Programmer (SCJP 6)
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999
Meu blog -> http://blog.tomazlavieri.com.br/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2010 12:06:45
|
Ramon.Onix
JavaChild
![[Avatar]](/images/avatar/daef3dd225154d7a50df068cdc4c07b8.jpg)
Membro desde: 21/11/2009 13:36:09
Mensagens: 148
Offline
|
Vc fala na view?
Na View eu to usando "POST"
|
Onix
I have .Class do you?
ATENÇÃO... Este é o elemento adversário, que por falta dele, constantemente ameaça destruir seus códigos...
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/03/2010 09:27:44
|
garcia-jj
JWizard
Membro desde: 13/04/2009 22:11:50
Mensagens: 2715
Localização: Porto Alegre
Offline
|
O mais bizarro é saber que ele não encontra o construtor default da classe integer.
Será que é porque integer não possui um construtor padrão?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/03/2010 10:47:46
|
Lucas Cavalcanti
GUJ Hacker
![[Avatar]](/images/avatar/5f6780632f5d27dd0cded5fc9361169e.jpg)
Membro desde: 08/07/2007 00:08:14
Mensagens: 6396
Offline
|
posta seu formulário de adição de locatários por favor
|
--
Caelum
www.caelum.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/03/2010 11:33:10
|
Ramon.Onix
JavaChild
![[Avatar]](/images/avatar/daef3dd225154d7a50df068cdc4c07b8.jpg)
Membro desde: 21/11/2009 13:36:09
Mensagens: 148
Offline
|
|
Onix
I have .Class do you?
ATENÇÃO... Este é o elemento adversário, que por falta dele, constantemente ameaça destruir seus códigos...
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/03/2010 11:37:34
|
garcia-jj
JWizard
Membro desde: 13/04/2009 22:11:50
Mensagens: 2715
Localização: Porto Alegre
Offline
|
Eu tive esse erro quando tentei usar o iogi. Tudo que é parametro de método ele tentava chamar o construtor padrão. Obvio que nos casos das wrappers dos tipos primitivos daria me***.
Pela stacktrace não me parece nada a ver com SessionFactory nem mesmo com a view. A impressão que tenho, posso estar errado, é algo interno na hora de injetar os parametros no método.
Você pode nos passar a stacktrace inteira, Ramon.Onix?
Uma observação: você não precisa dessa CriadorDeSession, pois o vraptor já faz isso para você: http://vraptor.caelum.com.br/documentacao/componentes-utilitarios-opcionais/
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/03/2010 11:47:23
|
Ramon.Onix
JavaChild
![[Avatar]](/images/avatar/daef3dd225154d7a50df068cdc4c07b8.jpg)
Membro desde: 21/11/2009 13:36:09
Mensagens: 148
Offline
|
Sr. Garcia-jj, eu estou aprendendo ainda! E na apostila que estava seguindo tinha um criador de session... Mas eu vou ver como retiro! Bom o Stack Trace ta ai como vc me pediu:
This message was edited 1 time. Last update was at 22/03/2010 12:07:28
|
Onix
I have .Class do you?
ATENÇÃO... Este é o elemento adversário, que por falta dele, constantemente ameaça destruir seus códigos...
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/03/2010 12:06:29
|
Ramon.Onix
JavaChild
![[Avatar]](/images/avatar/daef3dd225154d7a50df068cdc4c07b8.jpg)
Membro desde: 21/11/2009 13:36:09
Mensagens: 148
Offline
|
Só por curiosidade mudei o Integer unidade, na classe locatario, por String unidade, o erro não acontece mais ao salvar, mas não salva pq o Nome do Condominio não passou na validação, .
A combo está vindo preenchida, mas na hr de enviar deve estar indo vazia! Seilá, agora só sei que nada sei!
|
Onix
I have .Class do you?
ATENÇÃO... Este é o elemento adversário, que por falta dele, constantemente ameaça destruir seus códigos...
 |
|
|
 |
|
|