logo DevMedia  
Home Entenda o site Revistas Canais Cursos Palestras Suporte Fórum +Serviços Assine Compre Créditos

Edição do Mês
  Fórum DevMedia
Fórum de Discussão
Conheça também o NOVO fórum da DevMedia, no endereço: www.devmedia.com.br/forum
O novo fórum possui diversas vantagens! Saiba mais em
www.devmedia.com.br/articles/viewcomp.asp?comp=14726
Estamos sempre trabalhando na melhora do site como um todo! Bons códigos!
Equipe DevMedia

 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos  RegistrarRegistrar   
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 
Edição do Mês

problema no netbeans
 
Novo Tópico   Responder Mensagem    Fórum DevMedia - Índice do Fórum -> Linguagem Java - Geral
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
eduenr1
Novato


Registrado em: Segunda-Feira, 31 de Agosto de 2009
Mensagens: 1

MensagemEnviada: Qua Set 16, 2009 10:02 pm    Assunto: problema no netbeans Responder com Citação

import br.com.dm.completejavaee.entity.Product;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

/**
*
* @author eduardo
*/
@Stateless
public class ProductSessionBean implements ProductSessionLocal {

@PersistenceContext
private EntityManager em;

@Override
public void addProduct(Product prod) throws BusinessViolation {
validateProduct(prod);
em.persist(prod);
}

@Override
public void updateProduct(Product prod) throws BusinessViolation {
validateProduct(prod);
em.merge(prod);
}

@Override
public void removeProduct(int productId) {
Product prod = em.find(Product.class, productId);
if (prod != null) {
em.remove(prod);
}
}

@Override
public Product getProducts(int productId) {
return em.find(Product.class, productId);
}

@Override
@SuppressWarnings("unchecked")
public List<Product> getProducts() {
Query query = em.createQuery("select pr from Product pr");
return query.getResultList();
}

private void validateProduct(Product prod) throws BusinessViolation {
boolean valid = true;
String msg = "";
if (prod.getId() == null) {
valid = false;
msg = "Id invalid";
} else
if (prod.getName() == null || "".equals(prod.getName())) {
valid = false;
msg = "Name invalid";
} else
if (prod.getPrice() < 0f) {
valid = false;
msg = "Preço invalid";
} else
if (!valid){
throw new BusinessViolation(msg);
}
}

public EntityManager getEm() {
return em;
}

public void setEm(EntityManager em) {
this.em = em;
}


}

java.lang.NullPointerException
at org.netbeans.api.java.source.JavaSource.<init>(JavaSource.java:329)
at org.netbeans.api.java.source.JavaSource.create(JavaSource.java:200)
at org.netbeans.api.java.source.JavaSource.create(JavaSource.java:184)
at org.netbeans.modules.j2ee.ejbverification.fixes.ExposeBusinessMethod.implement(ExposeBusinessMethod.java:116)
at org.netbeans.modules.editor.hints.HintsUI$1.run(HintsUI.java:586)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:577)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1030)

ta com problema com o @}Override.


por favor me ajudem
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
dyego.carmo
Novato


Registrado em: Sexta-Feira, 14 de Agosto de 2009
Mensagens: 42

MensagemEnviada: Sex Set 18, 2009 1:57 pm    Assunto: Nao entendi ! Responder com Citação

Opa !

Poderia descrever melhor o seu problema ?
_________________
Controverso, eu ?
http://www.go-java.com/blog
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar Email
Discorpio
Membro Pleno


Registrado em: Segunda-Feira, 14 de Julho de 2008
Mensagens: 144
Localiza?: Rio de Janeiro

MensagemEnviada: Qui Out 08, 2009 9:38 am    Assunto: NullPointer Responder com Citação

Bom dia a todos.

O seu problema não está no @Override que é um diretiva de compilação em que orienta o compilador a sobrescrever o método que está declarado na Interface "ProdutSessionLocal".

O erro reportado "java.lang.NullPointerException" significa que voce está tentando utilizar métodos de um objeto que não foi instanciado na memória, e eu acredito que seja o EntityManager, porém não tenho certeza pois eu particularmente não conheço essa classe, não sei se ela é abstrata ou não, caso seja, voce não pode instanciá-la na memória, caso não ai sim voce pode instanciá-la.

Vejo que voce encapsulou essa variável assim:

C?o:

  @PersistenceContext
  private EntityManager em;
  ....
  ....
  ....
  public EntityManager getEm() {
      return em;
  }

  public void setEm(EntityManager em) {
     this.em = em;
  }


Para evitar o NullPointer, no método getEm() coloque assim:

C?o:

   public EntityManager getEm() {
      if (this.em==null) this.em = new EntityManager();
      return em;
  }


Agora devo alertá-lo se a classe EntityManager for um classe Abstrata então descarte o código acima e depure o seu código em outras classes e veja onde ele está com o NullPointer (Ponteiro Nulo).
_________________
Um abraço.

Jorge da Silva Abreu

O Senhor é meu Pastor e nada me faltará. SL 23:1
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
dyego.carmo
Novato


Registrado em: Sexta-Feira, 14 de Agosto de 2009
Mensagens: 42

MensagemEnviada: Qui Out 08, 2009 9:41 am    Assunto: Opa ! Responder com Citação

Lembrete:

A sugestão do nosso amigo ai em cima não funciona se você está dentro de um container EJB (e é o que parece)
_________________
Controverso, eu ?
http://www.go-java.com/blog
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar Email
Discorpio
Membro Pleno


Registrado em: Segunda-Feira, 14 de Julho de 2008
Mensagens: 144
Localiza?: Rio de Janeiro

MensagemEnviada: Qui Out 08, 2009 11:54 am    Assunto: Enterprise JavaBeans Responder com Citação

Bom dia a todos.

Como disse antes, eu não conheco o Enterprise JavaBeans porque não trabalho com ele, e nem sabia de sua classe EntityManager, porém sei que é um dos principais componentes da plataforma J2EE (Java 2 Enterprise Edition). É um componente do tipo servidor que executa no container do servidor de aplicação. Os principais objectivos da tecnologia EJB são fornecer um rápido e simplificado desenvolvimento de aplicações Java baseado em componentes distribuídas, transacionais, seguras e portáveis.

Eu não utilizo, pois prefiro criar as minhas próprias classes de regra de negócios, trabalhando com Servlets e criando minhas próprias Action

Porém de uma coisa eu tenho certeza, o NullPointerException é um erro onde voce está fazendo referência (invocando métodos) a um objeto que não está instanciado em memória.
_________________
Um abraço.

Jorge da Silva Abreu

O Senhor é meu Pastor e nada me faltará. SL 23:1
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    Fórum DevMedia - Índice do Fórum -> Linguagem Java - Geral Todos os horários são GMT - 3 Hours
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibído.
Responder Tópicos Proibído
Editar Mensagens: Proibído.
Excluir Mensagens: Proibído.
Votar em Enquetes: Proibído.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB