Erro Method not found

Java

22/10/2014

Senhores, boa tarde.
Estou com dificuldade em meu projeto. Estou utilizando TomCat 7, JSF, MYSQL. primefaces.
Criei um DataTable e uma coluna com os botões para Editar e excluir o registro.
Ele exibe os registros corretamente, porém quando eu clico n botão, seja de editar ou excluir ocorre o erro:


out 22, 2014 3:56:09 PM javax.faces.event.MethodExpressionActionListener processAction
GRAVE: 'javax.el.MethodNotFoundException' recebido ao invocar escuta de ação '#{categoriaBean.editar1}' para o componente 'btnEditar'
out 22, 2014 3:56:09 PM javax.faces.event.MethodExpressionActionListener processAction
GRAVE: javax.el.MethodNotFoundException: Method not found: categoriaproduto.CategoriaBean@3e208695.editar1()
	at org.apache.el.util.ReflectionUtil.getMethod(ReflectionUtil.java:245)
	at org.apache.el.parser.AstValue.invoke(AstValue.java:271)
	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
	at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:153)
	at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
	at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:778)
	at javax.faces.component.UICommand.broadcast(UICommand.java:300)
	at javax.faces.component.UIData.broadcast(UIData.java:915)
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

out 22, 2014 3:56:09 PM com.sun.faces.context.AjaxExceptionHandlerImpl log
GRAVE: JSF1073: javax.faces.event.AbortProcessingException obtido durante o processamento de INVOKE_APPLICATION 5: UIComponent-ClientId=frmCategoria:categoriasTable:3, Message=Method not found: categoriaproduto.CategoriaBean@3e208695.editar1()
out 22, 2014 3:56:09 PM com.sun.faces.context.AjaxExceptionHandlerImpl log
GRAVE: Method not found: categoriaproduto.CategoriaBean@3e208695.editar1()
javax.faces.event.AbortProcessingException: Method not found: categoriaproduto.CategoriaBean@3e208695.editar1()
	at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:182)
	at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
	at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:778)
	at javax.faces.component.UICommand.broadcast(UICommand.java:300)
	at javax.faces.component.UIData.broadcast(UIData.java:915)
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: javax.el.MethodNotFoundException: Method not found: categoriaproduto.CategoriaBean@3e208695.editar1()
	at org.apache.el.util.ReflectionUtil.getMethod(ReflectionUtil.java:245)
	at org.apache.el.parser.AstValue.invoke(AstValue.java:271)
	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
	at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:153)
	... 26 more



Eu sei que METHOD NOT FOUND é que ele não encontrou o método. Porém já renomeie e mesmo assim, o erro persiste.

Segue meus códigos:


Categoria.java


package categoriaproduto;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;




@Entity
@Table(name = "CATEGORIA")
public class Categoria implements Serializable {

	private static final long serialVersionUID = 1L;
	
 @Id
 @GeneratedValue
 private Integer idcategoria;
 
 @Column(name="nmcategoria", length=100, nullable=false)
 private String nmcategoria;
 
 @Column(name="vldescontomax", scale=2, precision=10)
 private BigDecimal vldescontomax;
 
 @Column(name="prdescpadrao", scale=2, precision=2)
 private BigDecimal prdescpadrao;
 
 @Column(name="usuinclusao", length=100)
 private String usuinclusao;
 
 @Column(name="usualteracao", length=100)
 private String usualteracao;
 
 @Column(name="compinclusao", length=20)
 private String compinclusao;

 @Column(name="compalteracao", length=20)
 private String compalteracao;
 
 @Temporal(TemporalType.DATE)
 private Date dtinclusao;
 
 @Temporal(TemporalType.DATE)
 private Date  dtalteracao;

 @Column(name="idempresa")
 private Integer idempresa;
 
 
 

public Integer getIdcategoria() {
	return idcategoria;
}

public void setIdcategoria(Integer idcategoria) 
{
 this.idcategoria = idcategoria;
}

public String getNmcategoria() {
	return nmcategoria;
}

public void setNmcategoria(String nmcategoria) {
	this.nmcategoria = nmcategoria.toUpperCase();
}

public BigDecimal getVldescontomax() {
	return vldescontomax;
}

public void setVldescontomax(BigDecimal vldescontomax) {
	this.vldescontomax = vldescontomax;
}

public BigDecimal getPrdescpadrao() {
	return prdescpadrao;
}

public void setPrdescpadrao(BigDecimal prdescpadrao) {
	this.prdescpadrao = prdescpadrao;
}

public String getUsuinclusao() {
	return usuinclusao.toUpperCase();
}

public void setUsuinclusao(String usuinclusao) {
	this.usuinclusao = usuinclusao.toUpperCase();
}

public String getUsualteracao() {
	return usualteracao.toUpperCase();
}

public void setUsualteracao(String usualteracao) {
	this.usualteracao = usualteracao.toUpperCase();
}

public String getCompinclusao() {
	return compinclusao.toUpperCase();
}

public void setCompinclusao(String compinclusao) {
	this.compinclusao = compinclusao.toUpperCase();
}

public String getCompalteracao() {
	return compalteracao.toUpperCase();
}

public void setCompalteracao(String compalteracao) {
	this.compalteracao = compalteracao.toUpperCase();
}

public Date getDtinclusao() {
	return dtinclusao;
}

public void setDtinclusao(Date dtinclusao) {
	this.dtinclusao = dtinclusao;
}

public Date getDtalteracao() 
{
 return dtalteracao;
}

public void setDtalteracao(Date dtalteracao) 
{
 this.dtalteracao = dtalteracao;
}

public Integer getIdempresa() 
{
 return idempresa;
}

public void setIdempresa(Integer idempresa) 
{
 this.idempresa = idempresa;
}

public static long getSerialversionuid() 
{
 return serialVersionUID;
}


@Override
public int hashCode() {
	final int prime = 31;
	int result = 1;
	result = prime * result
			+ ((compalteracao == null) ? 0 : compalteracao.hashCode());
	result = prime * result
			+ ((compinclusao == null) ? 0 : compinclusao.hashCode());
	result = prime * result
			+ ((dtalteracao == null) ? 0 : dtalteracao.hashCode());
	result = prime * result
			+ ((dtinclusao == null) ? 0 : dtinclusao.hashCode());
	result = prime * result
			+ ((idcategoria == null) ? 0 : idcategoria.hashCode());
	result = prime * result + ((idempresa == null) ? 0 : idempresa.hashCode());
	result = prime * result
			+ ((nmcategoria == null) ? 0 : nmcategoria.hashCode());
	result = prime * result
			+ ((prdescpadrao == null) ? 0 : prdescpadrao.hashCode());
	result = prime * result
			+ ((usualteracao == null) ? 0 : usualteracao.hashCode());
	result = prime * result
			+ ((usuinclusao == null) ? 0 : usuinclusao.hashCode());
	result = prime * result
			+ ((vldescontomax == null) ? 0 : vldescontomax.hashCode());
	return result;
}

@Override
public boolean equals(Object obj) {
	if (this == obj)
		return true;
	if (obj == null)
		return false;
	if (getClass() != obj.getClass())
		return false;
	Categoria other = (Categoria) obj;
	if (compalteracao == null) {
		if (other.compalteracao != null)
			return false;
	} else if (!compalteracao.equals(other.compalteracao))
		return false;
	if (compinclusao == null) {
		if (other.compinclusao != null)
			return false;
	} else if (!compinclusao.equals(other.compinclusao))
		return false;
	if (dtalteracao == null) {
		if (other.dtalteracao != null)
			return false;
	} else if (!dtalteracao.equals(other.dtalteracao))
		return false;
	if (dtinclusao == null) {
		if (other.dtinclusao != null)
			return false;
	} else if (!dtinclusao.equals(other.dtinclusao))
		return false;
	if (idcategoria == null) {
		if (other.idcategoria != null)
			return false;
	} else if (!idcategoria.equals(other.idcategoria))
		return false;
	if (idempresa == null) {
		if (other.idempresa != null)
			return false;
	} else if (!idempresa.equals(other.idempresa))
		return false;
	if (nmcategoria == null) {
		if (other.nmcategoria != null)
			return false;
	} else if (!nmcategoria.equals(other.nmcategoria))
		return false;
	if (prdescpadrao == null) {
		if (other.prdescpadrao != null)
			return false;
	} else if (!prdescpadrao.equals(other.prdescpadrao))
		return false;
	if (usualteracao == null) {
		if (other.usualteracao != null)
			return false;
	} else if (!usualteracao.equals(other.usualteracao))
		return false;
	if (usuinclusao == null) {
		if (other.usuinclusao != null)
			return false;
	} else if (!usuinclusao.equals(other.usuinclusao))
		return false;
	if (vldescontomax == null) {
		if (other.vldescontomax != null)
			return false;
	} else if (!vldescontomax.equals(other.vldescontomax))
		return false;
	return true;
}





}




CategoriaDao.java

package categoriaproduto;

import java.util.List;



public interface CategoriaDAO 
{
	public void novo(Categoria categoria);
	public void salvar(Categoria categoria);
	public void editar(Categoria categoria);
	public void excluir(Categoria categoria);
	public List<Categoria> listarTudo(); 
	public Categoria buscaCategoria(Integer codigo);
	public Categoria carregar(Integer categoria);

}




CategoriaImpl.java

package categoriaproduto;

import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Restrictions;
import utilitarios.HibernateUtil;




public class CategoriaImpl implements CategoriaDAO 
{

 private Session sessao = null;
 private Transaction transacao = null;
 
 
public void setSessao(Session sessao)
 {
  this.sessao = sessao; 	 
 }
 
 public CategoriaImpl()
 {
	 
 }

  @Override
  public void novo(Categoria categoria) 
  {
   categoria = new Categoria();	  
  }

  @Override
  public void salvar(Categoria categoria) 
  {
   try 
   {
	this.sessao = HibernateUtil.getSessionFactory().getCurrentSession();
	this.transacao = this.sessao.beginTransaction();
 	 this.sessao.save(categoria);
	this.transacao.commit();
	FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Categoria de Produto Salvo Com Sucesso.", null);
	FacesContext.getCurrentInstance().addMessage(null, msg);
   }catch (Exception e) 
   {
 	FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erro ao Salvar Cadastro de Categoria de Produtos. "+e.getMessage(), null);
 	System.out.println(e.getMessage());
	FacesContext.getCurrentInstance().addMessage(null, msg);
 	this.transacao.rollback();
   }finally
    {
	 System.out.println("Nome da categoria Após Salvar."+categoria.getNmcategoria());
	 if(this.sessao.isOpen())
	 {
	  this.sessao.close();	 
	 }		 
    }
   
  }

	@Override
	public void editar(Categoria categoria) 
	{
	   try 
	   {
		this.sessao = HibernateUtil.getSessionFactory().getCurrentSession();
		this.transacao = this.sessao.beginTransaction();
		this.sessao.saveOrUpdate(categoria);
		this.transacao.commit();
		FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Categoria de Produto Atualizado Com Sucesso.", null);
		FacesContext.getCurrentInstance().addMessage(null, msg);
	   }catch (Exception e) 
	   {
	 	FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erro ao Atualizar Cadastro de Categoria de Produtos", null);
		FacesContext.getCurrentInstance().addMessage(null, msg);
	 	this.transacao.rollback();
	   }finally
	    {
		 if(this.sessao.isOpen())
		 {
		  this.sessao.close();	 
		 }		 
	    }
		
	}

	@Override
	public void excluir(Categoria categoria) 
	{
	   try 
	   {
		this.sessao = HibernateUtil.getSessionFactory().getCurrentSession();
		this.transacao = this.sessao.beginTransaction();
		this.sessao.delete(categoria);
		this.transacao.commit();
		FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Categoria de Produto Excluído Com Sucesso.", null);
		FacesContext.getCurrentInstance().addMessage(null, msg);
	   }catch (Exception e) 
	   {
	 	FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erro ao Salvar Cadastro de Categoria de Produtos", null);
		FacesContext.getCurrentInstance().addMessage(null, msg);
	 	this.transacao.rollback();
	   }finally
	    {
		 if(this.sessao.isOpen())
		 {
		  this.sessao.close();	 
		 }		 
	    }
		
		
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Categoria> listarTudo() 
	{
	 List<Categoria> retorno = null;
	 try 
	 {
	   this.sessao = HibernateUtil.getSessionFactory().getCurrentSession();
	   this.transacao = this.sessao.beginTransaction();
	   retorno = this.sessao.createCriteria(Categoria.class).list();
	 }catch (Exception e) 
	  {
	 	FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erro ao Listar Categoria de Produtos", null);
		FacesContext.getCurrentInstance().addMessage(null, msg);
	 	this.transacao.rollback();
 	  }finally
 	   {
 		this.sessao.close();  
 	   }
	 return retorno;
	 
	}
	
	public Integer porIdCategoria(Integer vlId)
	{
	 String sResult = null;
	 try 
	 {
	  this.sessao = HibernateUtil.getSessionFactory().getCurrentSession();
	  this.transacao = this.sessao.beginTransaction();
	  sResult = this.sessao.createCriteria(Categoria.class).add(Restrictions.eq("idcategoria", vlId)).toString();
	  this.transacao.commit();
	 }catch (Exception e) 
	  {
	   System.out.println(e.getMessage());
	  }
	  return Integer.parseInt(sResult);
	}

	@Override
	public Categoria buscaCategoria(Integer codigo) 
	{
	 Categoria categoria = null;	
      try 
      {
	    this.sessao = HibernateUtil.getSessionFactory().getCurrentSession();
	    this.transacao = this.sessao.beginTransaction();
	    Criteria filtro = this.sessao.createCriteria(Categoria.class);
	    filtro.add(Restrictions.eq("categoria", codigo));
	    categoria = (Categoria) filtro.uniqueResult();
	    this.transacao.commit();
	  } catch (Throwable e) 
	  {
		if(this.transacao.isActive())
		{
		 this.transacao.rollback();	
		}	
  	  }finally
  	   {
  		 try 
  		 {
  	  		 if(this.sessao.isOpen())
  	  		 {
  	  		  this.sessao.close();	 
  	  		 }	 
			
		 } catch (Throwable t) 
		 {
		  System.out.println("Erro ao fechar operação de busca. Erro: "+t.getMessage());	 	
		 }  
  		  
  		  
  	   }
      	return categoria;
	}

	@Override
	public Categoria carregar(Integer categoria) 
	{
	 return (Categoria) this.sessao.get(Categoria.class, categoria);	
	}
	

}






CategoriaBean.java


package categoriaproduto;

import java.io.Serializable;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.event.ActionEvent;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;




@ManagedBean(name="categoriaBean")
@RequestScoped
public class CategoriaBean implements Serializable 
{
 private static final long serialVersionUID = 1L;
 
 private Categoria categoria = new Categoria();
 private List<Categoria> listar;
 @SuppressWarnings("rawtypes")
private DataModel lstCategoria;
 
 
 
public Categoria getCategoria() 
{
 return categoria;
}

public void setCategoria(Categoria categoria) 
{
 this.categoria = categoria;
}

public void novo()
{
}

public void editar(ActionEvent event)
{
 System.out.println("Método Ediar");
 CategoriaImpl dao = new CategoriaImpl();
 dao.editar(categoria);
}

public void salvar(ActionEvent event)
{
 CategoriaImpl dao = new CategoriaImpl();
 dao.salvar(this.categoria);
}
 

public void excluir(ActionEvent event)
{
 CategoriaImpl dao = new CategoriaImpl();
 dao.excluir(this.categoria);
 System.out.println("Excluir Registro Bean"+categoria.getNmcategoria());	
}

public List<Categoria> getListar() 
{
 if(this.listar == null)
  {
   CategoriaImpl dao = new CategoriaImpl();
   this.listar = dao.listarTudo();
  } 
  return this.listar;
  
}


public static long getSerialversionuid() 
{
return serialVersionUID;
}


@SuppressWarnings({ "rawtypes", "unchecked" })
public DataModel getListarCategorias()
{
 List<Categoria> lst = new CategoriaImpl().listarTudo();
 lstCategoria = new ListDataModel(lst);
 System.out.println("Listar Categoria DataModel");
 return lstCategoria;
}

public void editar1()
{
 categoria = (Categoria)(lstCategoria.getRowData());
 System.out.println("Prepara Editar Categoria DATAMODEL. "+categoria.getNmcategoria());
}


public String novo1()
{
 categoria = new Categoria();
 System.out.println("Prepara Categoria");
 return "Categorias";
}


public String excluir1()
{
 Categoria catTemp = (Categoria)(lstCategoria.getRowData());
 CategoriaImpl dao = new CategoriaImpl();
 System.out.println("Excluir Categoria DataModel");
 dao.excluir(catTemp);
 return "Categorias"; 
 
}






  


 
 
}



HibernateUtil.java


package utilitarios;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;


public class HibernateUtil 
{
 private static final SessionFactory sessionFactory = buildSessionFactory();
 
 private static SessionFactory buildSessionFactory()
 {
  try
  {
	AnnotationConfiguration cfg = new AnnotationConfiguration();  
   cfg.configure("hibernate.cfg.xml");
   return cfg.buildSessionFactory();
  }catch(Throwable e)
  {
   System.out.println("Criação do Objeto SessionFactory Falhou. Erro: "+e);
   throw new ExceptionInInitializerError(e);
  }
  
 }
 
 public static SessionFactory getSessionFactory()
 {
  return sessionFactory;	 
 }
 
}




Categorias.xml

<ui:composition template="/WEB-INF/template/LayoutPadrao.xhtml"
      			xmlns:h="http://java.sun.com/jsf/html"
      			xmlns:p= "http://primefaces.org/ui"
      			xmlns:ui="http://java.sun.com/jsf/facelets"
      			xmlns:f="http://java.sun.com/jsf/core">
 
 <ui:define name="titulo">Cadastro de Categorias</ui:define>
 
 <ui:define name="corpo">

 <h:form id="frmCategoria">
 
 
 <p:messages autoUpdate="true" />
 
  <p:toolbar style="margin-top:60px" id="barraPrincipal">
   <p:toolbarGroup align="left">
    <h:outputLabel style="font-weight:bold;font-size:18px;font-style:italic" >Categoria de Produtos</h:outputLabel>
   </p:toolbarGroup>
  
    <p:toolbarGroup align="right">
     <p:commandButton type="button" value=" Inserir Categoria"  icon="ui-icon-plusthick" onclick="dlgCadastroCategoria.show();" />
     <p:button value=" Imprimir Lista de Categorias" icon="ui-icon-print" />
    </p:toolbarGroup>
    
   </p:toolbar>
  
  
 	<p:dataTable  id="categoriasTable" 
        	      value="#{categoriaBean.listarCategorias}" 
    	          var="cat"
	              style="margin-top: 20px" 
	              emptyMessage="Nenhuma categoria de produto encontrada." 
    	          rows="20"
	    		  paginator="true" 
            	  paginatorTemplate="       "
	              rowsPerPageTemplate="5,10,15"	    	   
		    	  paginatorPosition="bottom">

	    		<p:column headerText="Código" style="text-align: center; width: 80px">
	    			<h:outputText value="#{cat.idcategoria}" />
	    		</p:column>
	    		
	    		<p:column headerText="Categoria" style="width:600px">
	    		 <h:outputText value="#{cat.nmcategoria}"  />
	    		</p:column>
	    		
	    		<p:column headerText="% Desconto" style="width:70px" >
	    			<h:outputText value="#{cat.prdescpadrao}" />
	    		</p:column>
	    		
	    		<p:column headerText="$ Máx. Desconto" style="width:70px">
	    			<h:outputText value="#{cat.vldescontomax}" />
	    		</p:column>
	    		
	    		<p:column style="width: 100px; text-align: center" headerText="Ações">
	    		
	    			<p:commandButton id="btnEditar" icon="ui-icon-pencil" title="Editar" 
	    							 actionListener="#{categoriaBean.editar1}"   
	    							 oncomplete="dlgCadastroCategoria.show()"   >
  	    		     <f:setPropertyActionListener target="#{categoriaBean.categoria}" value="#" />
	    			</p:commandButton>
	    		
	    			<p:commandButton id="btnExcluir" icon="ui-icon-trash" title="Excluir" 
	    							 actionListener="#{categoriaBean.excluir1}"   
	    							 oncomplete="confirmaExclusao.show()"   >
  	    		     <f:setPropertyActionListener target="#{categoriaBean.categoria}" value="#" />
	    			</p:commandButton>
	    			
	    		</p:column>
	    		
	</p:dataTable>    		
  
</h:form>


	<p:dialog id="dlCadastro" 
	 		header="Inserir/Editar" 
		  	widgetVar="dlgCadastroCategoria"
		  	closable="true" 
		  	modal="false" 
          	height="200" 
          	width="300" 
          	resizable="false">

		  <h:form id="frmdlgCategoria" prependId="false">
		  
		  <p:outputLabel id="lblnomeCategoria" for="txtNomeCategoria" value="Descrição:" /><br/>
		  <p:inputText value="#{categoriaBean.categoria.nmcategoria}"  id="txtNomeCategoria"  size="60" maxlength="60"  style="width:250px;text-transform:uppercase" required="true" requiredMessage="Campo Obrigatório. Descrição da Categoria do Produto."/><br/>
		  
		  <p:outputLabel id="lblPercDesconto" for="txtPercentualDesconto" value="% Desconto" /><br/>
		  <p:inputText value="#{categoriaBean.categoria.prdescpadrao}"   id="txtPercentualDesconto"  size="60" maxlength="60"  style="width:150px;" >
		 	 <f:convertNumber type="percent" locale="pt_BR"   pattern="#0.000"  />  
		  </p:inputText><br/>
		  
		  <p:outputLabel id="lblVlMaxDesconto" for="txtValorMaximoDesconto" value="$ Máximo Desconto" />
		  <p:inputText value="#{categoriaBean.categoria.vldescontomax}"  id="txtValorMaximoDesconto"  size="60" maxlength="60"  style="width:150px;" >
		 	 <f:convertNumber type="percent" locale="pt_BR"  pattern="#0.000"  />  
		  </p:inputText>
		 <br/>
		 <br/>
		 <p:commandButton id="btnSalvar" value="Salvar" icon="ui-icon-circle-check" action="#{categoriaBean.salvar}" onclick="dlgCadastroCategoria.close();" />
		 <p:button id="btnFechar" icon="ui-icon-circle-close" value="Fechar" />
		
		  </h:form>
  
	</p:dialog>
	
	
	<h:form id="frmExcluir">
	<p:confirmDialog id="Excluir" widgetVar="confirmaExclusao" severity="alert"
					 message="Tem certeza que deseja excluir #{categoriaBean.categoria.nmcategoria} ?">
		<p:commandButton id="confirm" value="Sim" 
						 oncomplete="confirmaExclusao.hide()"
						 actionListener="#{categoriaBean.excluir}" />
						
		<p:commandButton id="decline" value="Não" type="button" onclick="confirmaExclusao.hide()" />				 
	
	</p:confirmDialog>


	
	</h:form>

 

  
 </ui:define> 
</ui:composition>



Peço ajuda, se possível. Desde já agradeço a disponibilidade.
Plinio Costa

Plinio Costa

Curtidas 0

Respostas

Ronaldo Lanhellas

Ronaldo Lanhellas

22/10/2014

Tire o parâmetro "ActionEvent" do seu categoriaBean, deixando assim:

public void editar()
{
 System.out.println("Método Ediar");
 CategoriaImpl dao = new CategoriaImpl();
 dao.editar(categoria);
}


Depois coloque o parenteses na chamada ao método, assim:


                    <p:commandButton id="btnEditar" icon="ui-icon-pencil" title="Editar"
                                     actionListener="#{categoriaBean.editar1()}"  
                                     oncomplete="dlgCadastroCategoria.show()"   >
                     <f:setPropertyActionListener target="#{categoriaBean.categoria}" value="#" />
                    </p:commandButton>
GOSTEI 0
Plinio Costa

Plinio Costa

22/10/2014

Ronaldo, boa tarde.
Fiz exatamente como me auxiliou, mas o erro persiste:

out 22, 2014 4:16:34 PM javax.faces.event.MethodExpressionActionListener processAction
GRAVE: 'javax.el.MethodNotFoundException' recebido ao invocar escuta de ação '#{categoriaBean.editar1()}' para o componente 'btnEditar'
out 22, 2014 4:16:34 PM javax.faces.event.MethodExpressionActionListener processAction
GRAVE: javax.el.MethodNotFoundException: Method not found: categoriaproduto.CategoriaBean@658edda4.editar1()
	at org.apache.el.util.ReflectionUtil.getMethod(ReflectionUtil.java:245)
	at org.apache.el.parser.AstValue.invoke(AstValue.java:271)
	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
	at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:153)
	at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
	at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:778)
	at javax.faces.component.UICommand.broadcast(UICommand.java:300)
	at javax.faces.component.UIData.broadcast(UIData.java:915)
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

out 22, 2014 4:16:34 PM com.sun.faces.context.AjaxExceptionHandlerImpl log
GRAVE: JSF1073: javax.faces.event.AbortProcessingException obtido durante o processamento de INVOKE_APPLICATION 5: UIComponent-ClientId=frmCategoria:categoriasTable:3, Message=Method not found: categoriaproduto.CategoriaBean@658edda4.editar1()
out 22, 2014 4:16:34 PM com.sun.faces.context.AjaxExceptionHandlerImpl log
GRAVE: Method not found: categoriaproduto.CategoriaBean@658edda4.editar1()
javax.faces.event.AbortProcessingException: Method not found: categoriaproduto.CategoriaBean@658edda4.editar1()
	at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:182)
	at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
	at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:778)
	at javax.faces.component.UICommand.broadcast(UICommand.java:300)
	at javax.faces.component.UIData.broadcast(UIData.java:915)
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: javax.el.MethodNotFoundException: Method not found: categoriaproduto.CategoriaBean@658edda4.editar1()
	at org.apache.el.util.ReflectionUtil.getMethod(ReflectionUtil.java:245)
	at org.apache.el.parser.AstValue.invoke(AstValue.java:271)
	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
	at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:153)
	... 26 more
GOSTEI 0
Ronaldo Lanhellas

Ronaldo Lanhellas

22/10/2014

Reparou que o nome do seu método é editar() e você está chamando editar1() ?

Chame assim:

<p:commandButton id="btnEditar" icon="ui-icon-pencil" title="Editar"
                 actionListener="#{categoriaBean.editar()}" 
                 oncomplete="dlgCadastroCategoria.show()"   >
 <f:setPropertyActionListener target="#{categoriaBean.categoria}" value="#" />
</p:commandButton>
GOSTEI 0
Plinio Costa

Plinio Costa

22/10/2014

Na verdade eu tenho os dois métodos: editar() e editar1()
o editar1() chamava-se antes prepararEditar(), mas renomeiei para ver se resolvia.
GOSTEI 0
Ronaldo Lanhellas

Ronaldo Lanhellas

22/10/2014

Você está usando JSF 2 ou 1 ?
GOSTEI 0
Plinio Costa

Plinio Costa

22/10/2014

Estou usando o javax.faces-2.0.10.rar
É a versão 2.0, certo? Sou iniciante...
GOSTEI 0
Ronaldo Lanhellas

Ronaldo Lanhellas

22/10/2014

Sim, é a 2.0. Bom, o seu método editar1() estava sem ActionEvent pelo que vi no primeiro post seu, tente colocar e testar, se estava sem. Ficando assim:

public void editar1(ActionEvent event)
{
 categoria = (Categoria)(lstCategoria.getRowData());
 System.out.println("Prepara Editar Categoria DATAMODEL. "+categoria.getNmcategoria());
}
 


E no seu XHTML:
<p:commandButton id="btnEditar" icon="ui-icon-pencil" title="Editar"
                 actionListener="#{categoriaBean.editar1()}"
                 oncomplete="dlgCadastroCategoria.show()"   >
 <f:setPropertyActionListener target="#{categoriaBean.categoria}" value="#" />
</p:commandButton>


Só 1 coisa: Quando for importar o ActionEvent fique atento para não importar do pacote java.awt.AWTEvent, mas sim do javax.faces.event.ActionEvent
GOSTEI 0
Plinio Costa

Plinio Costa

22/10/2014

Então, eu já havia tirado para testar, mas o erro persiste.
Uma situação que reparei foi a seguinte: Esse erro só ocorre quando eu implementei as rotinas com DataModel.
sobre o ActiveEvent é o import está correto.
GOSTEI 0
Ronaldo Lanhellas

Ronaldo Lanhellas

22/10/2014

Você consegue chamar outros métodos normalmente ? Faça um teste chamando um método simples como:

public void testeCall(){
 System.out.println('chamou normalmente');
}
GOSTEI 0
Plinio Costa

Plinio Costa

22/10/2014

Peguei o método q vc me passou:

public void testeCall()
{
 System.out.println('chamou normalmente');
}


	    			<p:commandButton id="btnEditar" icon="ui-icon-pencil" title="Editar" 
	    							 actionListener="#{categoriaBean.testeCall()}"   
	    							 oncomplete="dlgCadastroCategoria.show()"   >
  	    		     <f:setPropertyActionListener target="#{categoriaBean.categoria}" value="#" />
	    			</p:commandButton>



out 22, 2014 5:33:17 PM javax.faces.event.MethodExpressionActionListener processAction
GRAVE: 'javax.el.MethodNotFoundException' recebido ao invocar escuta de ação '#{categoriaBean.testeCall()}' para o componente 'btnEditar'
out 22, 2014 5:33:17 PM javax.faces.event.MethodExpressionActionListener processAction
GRAVE: javax.el.MethodNotFoundException: Method not found: categoriaproduto.CategoriaBean@5caf41dc.testeCall()
	at org.apache.el.util.ReflectionUtil.getMethod(ReflectionUtil.java:245)
	at org.apache.el.parser.AstValue.invoke(AstValue.java:271)
	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
	at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:153)
	at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
	at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:778)
	at javax.faces.component.UICommand.broadcast(UICommand.java:300)
	at javax.faces.component.UIData.broadcast(UIData.java:915)
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

out 22, 2014 5:33:17 PM com.sun.faces.context.AjaxExceptionHandlerImpl log
GRAVE: JSF1073: javax.faces.event.AbortProcessingException obtido durante o processamento de INVOKE_APPLICATION 5: UIComponent-ClientId=frmCategoria:categoriasTable:0, Message=Method not found: categoriaproduto.CategoriaBean@5caf41dc.testeCall()
out 22, 2014 5:33:17 PM com.sun.faces.context.AjaxExceptionHandlerImpl log
GRAVE: Method not found: categoriaproduto.CategoriaBean@5caf41dc.testeCall()
javax.faces.event.AbortProcessingException: Method not found: categoriaproduto.CategoriaBean@5caf41dc.testeCall()
	at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:182)
	at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
	at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:778)
	at javax.faces.component.UICommand.broadcast(UICommand.java:300)
	at javax.faces.component.UIData.broadcast(UIData.java:915)
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: javax.el.MethodNotFoundException: Method not found: categoriaproduto.CategoriaBean@5caf41dc.testeCall()
	at org.apache.el.util.ReflectionUtil.getMethod(ReflectionUtil.java:245)
	at org.apache.el.parser.AstValue.invoke(AstValue.java:271)
	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
	at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:153)
	... 26 more




O erro persiste.
GOSTEI 0
Ronaldo Lanhellas

Ronaldo Lanhellas

22/10/2014

Vamos testar mudar o escopo do seu ManagedBean. Mude de @RequestedScoped para @ViewScoped
GOSTEI 0
Plinio Costa

Plinio Costa

22/10/2014

Fiz a alteração para @ViewScoped e o retorno é exatamente o mesmo.
Fiz o teste primeiro sem o parâmetro ActionEvent, retornou erro.
Fiz agora o teste sem o parâmetro da classe ActionEvent e o erro persiste.



out 22, 2014 5:47:37 PM javax.faces.event.MethodExpressionActionListener processAction
GRAVE: 'javax.el.MethodNotFoundException' recebido ao invocar escuta de ação '#{categoriaBean.editar1()}' para o componente 'btnEditar'
out 22, 2014 5:47:37 PM javax.faces.event.MethodExpressionActionListener processAction
GRAVE: javax.el.MethodNotFoundException: Method not found: categoriaproduto.CategoriaBean@7b9fa728.editar1()
	at org.apache.el.util.ReflectionUtil.getMethod(ReflectionUtil.java:245)
	at org.apache.el.parser.AstValue.invoke(AstValue.java:271)
	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
	at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:153)
	at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
	at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:778)
	at javax.faces.component.UICommand.broadcast(UICommand.java:300)
	at javax.faces.component.UIData.broadcast(UIData.java:915)
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

out 22, 2014 5:47:37 PM com.sun.faces.context.AjaxExceptionHandlerImpl log
GRAVE: JSF1073: javax.faces.event.AbortProcessingException obtido durante o processamento de INVOKE_APPLICATION 5: UIComponent-ClientId=frmCategoria:categoriasTable:3, Message=Method not found: categoriaproduto.CategoriaBean@7b9fa728.editar1()
out 22, 2014 5:47:37 PM com.sun.faces.context.AjaxExceptionHandlerImpl log
GRAVE: Method not found: categoriaproduto.CategoriaBean@7b9fa728.editar1()
javax.faces.event.AbortProcessingException: Method not found: categoriaproduto.CategoriaBean@7b9fa728.editar1()
	at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:182)
	at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
	at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:778)
	at javax.faces.component.UICommand.broadcast(UICommand.java:300)
	at javax.faces.component.UIData.broadcast(UIData.java:915)
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: javax.el.MethodNotFoundException: Method not found: categoriaproduto.CategoriaBean@7b9fa728.editar1()
	at org.apache.el.util.ReflectionUtil.getMethod(ReflectionUtil.java:245)
	at org.apache.el.parser.AstValue.invoke(AstValue.java:271)
	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
	at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:153)
	... 26 more



GOSTEI 0
Ronaldo Lanhellas

Ronaldo Lanhellas

22/10/2014

Só o que me resta pensar é que o seu arquivo .class não possui mesmo o método editar1(), sendo assim aconselho você a fazer um "Clean & Build" para recriar todos os .class do seu projeto e testar novamente. Se estiver usando maven, faça um Clean e depois Install, mas não deixe de fazer um Clean e Build no projeto.
GOSTEI 0
Plinio Costa

Plinio Costa

22/10/2014

Não estou usando Maven. Como faço para executar o clear, é só clicar com botão direito no servidor tomcat?
GOSTEI 0
Ronaldo Lanhellas

Ronaldo Lanhellas

22/10/2014

Para eclipse..
1 - Pare o servidor;
2 - Na barra de menu do Eclipse vá em "Project";
3 - Marque a opção "Build Automatically";
4 - Vá em "Clean...";
5 - Selecione o radio : "Clean projects selected bellow";
6 - Selecione o seu projeto e clique em OK.
GOSTEI 0
Ronaldo Lanhellas

Ronaldo Lanhellas

22/10/2014

Para eclipse..
1 - Pare o servidor;
2 - Na barra de menu do Eclipse vá em "Project";
3 - Marque a opção "Build Automatically";
4 - Vá em "Clean...";
5 - Selecione o radio : "Clean projects selected bellow";
6 - Selecione o seu projeto e clique em OK.
GOSTEI 0
Plinio Costa

Plinio Costa

22/10/2014

Rapaz, fiz exatamente tudo que você me disse, passo a passo, mas o danado do problema persiste:


out 22, 2014 6:39:35 PM javax.faces.event.MethodExpressionActionListener processAction
GRAVE: 'javax.el.MethodNotFoundException' recebido ao invocar escuta de ação '#{categoriaBean.editar1()}' para o componente 'btnEditar'
out 22, 2014 6:39:35 PM javax.faces.event.MethodExpressionActionListener processAction
GRAVE: javax.el.MethodNotFoundException: Method not found: categoriaproduto.CategoriaBean@8ec2305.editar1()
	at org.apache.el.util.ReflectionUtil.getMethod(ReflectionUtil.java:245)
	at org.apache.el.parser.AstValue.invoke(AstValue.java:271)
	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
	at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:153)
	at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
	at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:778)
	at javax.faces.component.UICommand.broadcast(UICommand.java:300)
	at javax.faces.component.UIData.broadcast(UIData.java:915)
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

out 22, 2014 6:39:35 PM com.sun.faces.context.AjaxExceptionHandlerImpl log
GRAVE: JSF1073: javax.faces.event.AbortProcessingException obtido durante o processamento de INVOKE_APPLICATION 5: UIComponent-ClientId=frmCategoria:categoriasTable:3, Message=Method not found: categoriaproduto.CategoriaBean@8ec2305.editar1()
out 22, 2014 6:39:35 PM com.sun.faces.context.AjaxExceptionHandlerImpl log
GRAVE: Method not found: categoriaproduto.CategoriaBean@8ec2305.editar1()
javax.faces.event.AbortProcessingException: Method not found: categoriaproduto.CategoriaBean@8ec2305.editar1()
	at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:182)
	at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
	at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:778)
	at javax.faces.component.UICommand.broadcast(UICommand.java:300)
	at javax.faces.component.UIData.broadcast(UIData.java:915)
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: javax.el.MethodNotFoundException: Method not found: categoriaproduto.CategoriaBean@8ec2305.editar1()
	at org.apache.el.util.ReflectionUtil.getMethod(ReflectionUtil.java:245)
	at org.apache.el.parser.AstValue.invoke(AstValue.java:271)
	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
	at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:153)
	... 26 more

GOSTEI 0
Ronaldo Lanhellas

Ronaldo Lanhellas

22/10/2014

Considerando que você disse que o erro passou a ocorrer depois que colocou o método do DataModel, se você retirar este método não funciona ?

@SuppressWarnings({ "rawtypes", "unchecked" })
public DataModel getListarCategorias()
{
 List<Categoria> lst = new CategoriaImpl().listarTudo();
 lstCategoria = new ListDataModel(lst);
 System.out.println("Listar Categoria DataModel");
 return lstCategoria;
}
GOSTEI 0
Plinio Costa

Plinio Costa

22/10/2014

Ronaldo, fechei o eclipse, abri reiniciei o servidor, executei o clean e por incrível que pareça parou de dar o erro, acredita ( Mágico fechar e abrir novamente).
Agora ele não carregou os dados para editar no dialog do primefaces.
Mas já foi um avanço.
GOSTEI 0
Ronaldo Lanhellas

Ronaldo Lanhellas

22/10/2014

Ronaldo, fechei o eclipse, abri reiniciei o servidor, executei o clean e por incrível que pareça parou de dar o erro, acredita ( Mágico fechar e abrir novamente).
Agora ele não carregou os dados para editar no dialog do primefaces.
Mas já foi um avanço.


BOm, isso quer dizer que o problema era o ".class" que estava antigo, como havia lhe dito anteriormente. O clean feito de forma errada causa isso.
Em relação a não carregar os dados, apareceu algum erro ?
GOSTEI 0
Plinio Costa

Plinio Costa

22/10/2014

Bom dia Ronaldo.
Não aparace nenhum erro. Inclusive eu coloquei um sysout para exibir no log qual o nome da categoria e exibiu a categoria que eu selecionei.
GOSTEI 0
Ronaldo Lanhellas

Ronaldo Lanhellas

22/10/2014

Imagino que este seja o código que mostra a listagem:

@SuppressWarnings({ "rawtypes", "unchecked" })
public DataModel getListarCategorias()
{
 List<Categoria> lst = new CategoriaImpl().listarTudo();
 lstCategoria = new ListDataModel(lst);
 System.out.println("Listar Categoria DataModel");
 return lstCategoria;
}


A variável "lstCategoria" está preenchida ou vazia ? verifica se esta sendo populada com os registros.
GOSTEI 0
Plinio Costa

Plinio Costa

22/10/2014

[ RESOLVIDO ]

Ronaldo, obrigado pela ajuda !
GOSTEI 0
Ronaldo Lanhellas

Ronaldo Lanhellas

22/10/2014

[ RESOLVIDO ]

Ronaldo, obrigado pela ajuda !


De nada, qual foi a solução definitiva ? Poste aqui para ajudar outras pessoas que possam ter o mesmo problema.
GOSTEI 0
POSTAR