Facade Criteria pesquisar em 2 campos?

12 respostas
juniorsatanas

Pessoal tenho que fazer uma critéria que pesquise por nome e cpf, estou usando Facade:
segue meu código e meu erro :

Eu tenho:


classe DAO.java

package br.gov.nutec.dao;

import java.util.List;

import org.apache.log4j.Logger;
import org.hibernate.Session;

public class DAO<T> {

    private static Logger logger = Logger.getLogger(DAO.class);
    private Class persistentClass;
    protected Session session;

    public DAO(Session session, Class persistentClass) {
        this.session = session;
        this.persistentClass = persistentClass;
    }

    protected Session getSession(){
		return session; 	
	}
    
    @SuppressWarnings("unchecked")
    public T load(Long id) {
        logger.info("lendo " + persistentClass + " com id " + id);
        return (T) session.load(persistentClass, id);
    }
   
    public void save(T t) {
        logger.info("salvando  " + t);
        session.save(t);
    }
    
	public void delete(T t) {
		logger.info("Deletando " + t);
		session.delete(t);
	}
	
    @SuppressWarnings("unchecked")
	public List<T> list() {
		logger.info("Listando todos");
    	return session.createCriteria(persistentClass).list();
    }

    public void merge(T t) {
        logger.info("Salvando ou atualizando " + t);
        session.merge(t);
    }
}

classe ClientefDAO.java

@SuppressWarnings("unchecked") // busca tudo
	public List<Clientef> pesquisaClientefs(String nome, String cpf) {
		Criteria c = session.createCriteria(Clientef.class);
		c.add(Restrictions.ilike("nome", "%" + nome + "%"));
		c.add(Restrictions.ilike("cpf", "%" + cpf + "%"));
		c.addOrder(Order.asc("nome"));
		return c.list();
	}

classe ClietenfMB.java


public List<Clientef> getClientefsByNome() { // lista tudo
		ClientefFacade clientefService = new ClientefFacadeImpl();
		//ClientefDao ClientefDao = new ClientefDao(session, Clientef.class);
		List<Clientef> lista = clientefService.pesquisaClientefsByNome(this.getClientef().getNome());
				
		return lista;
	}

classe ClietenfImpl.java


public List<Clientef> pesquisaClientefsByNome(String nome, String cpf) {
		sf = new AnnotationConfiguration().configure().buildSessionFactory();
		session = sf.openSession();
		tx = session.beginTransaction();
		clientefDAO = new ClientefDAO(session, Clientef.class);

		List<Clientef> lista = this.clientefDAO.pesquisaClientefs(nome,cpf);
		tx.commit();
		session.close();

		return lista;

classe ClienteFacade.java


public List<Clientef> pesquisaClientefsByNome(String nome);
/home/junior/Dionisio/src/br/gov/nutec/facade/ClientefFacadeImpl.java:13: br.gov.nutec.facade.ClientefFacadeImpl is not abstract and does not override abstract method pesquisaClientefsByNome(java.lang.String) in br.gov.nutec.facade.ClientefFacade
public class ClientefFacadeImpl implements ClientefFacade {
1 error

Se eu fizer isto:

public List<Clientef> pesquisaClientefsByNome(String nome) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

para de da erro !

12 Respostas

Kleber-rr

/home/junior/Dionisio/src/br/gov/nutec/facade/ClientefFacadeImpl.java:13: br.gov.nutec.facade.ClientefFacadeImpl is not abstract and does not override abstract method pesquisaClientefsByNome(java.lang.String) in br.gov.nutec.facade.ClientefFacade public class ClientefFacadeImpl implements ClientefFacade { 1 error

Posta essa linha 13 da classe ClientefFacadeImpl.java pra gente dar uma olhada. Alias, o método todo (mas indique a linha).

Flws

juniorsatanas

TUDO :

package br.gov.nutec.facade;
import java.util.List;
import br.gov.nutec.modelo.Clientef;

public interface ClientefFacade extends BaseFacade<Clientef>{
	public void salva(Clientef p);

	public void remove(Clientef p);

	public Clientef procura(Long id);

	public void atualiza(Clientef p);

        public List<Clientef> lista(String nome);

        public List<Clientef> pesquisaClientefsByNome(String nome, String cpf);

        public List<Clientef> pesquisaClientefsByNomeCpf(String nome, String cpf);
        
        
}
package br.gov.nutec.facade;

import java.util.List;

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

import br.gov.nutec.dao.ClientefDAO;
import br.gov.nutec.modelo.Clientef;

public class ClientefFacadeImpl implements ClientefFacade {
	private static final long serialVersionUID = 1818242808424001885L;
	private ClientefDAO clientefDAO;
	private SessionFactory sf;
	private	Session session;
	private Transaction tx;

	public void salva(Clientef p) {
		sf = new AnnotationConfiguration().configure().buildSessionFactory();
		session = sf.openSession();
		tx = session.beginTransaction();
		clientefDAO = new ClientefDAO(session, Clientef.class);

		this.clientefDAO.save(p);

		tx.commit();
		session.close();
	}
	public void atualiza(Clientef p) {
		sf = new AnnotationConfiguration().configure().buildSessionFactory();
		session = sf.openSession();
		tx = session.beginTransaction();
		clientefDAO = new ClientefDAO(session, Clientef.class);

		this.clientefDAO.merge(p);

		tx.commit();
		session.close();
	}

	public Clientef procura(Long id) {
		sf = new AnnotationConfiguration().configure().buildSessionFactory();
		session = sf.openSession();
		tx = session.beginTransaction();
		clientefDAO = new ClientefDAO(session, Clientef.class);

		Clientef p = this.clientefDAO.load(id);

		tx.commit();
		session.close();

		return p;
	}

	public void remove(Clientef p) {
		sf = new AnnotationConfiguration().configure().buildSessionFactory();
		session = sf.openSession();
		tx = session.beginTransaction();
		clientefDAO = new ClientefDAO(session, Clientef.class);

		this.clientefDAO.delete(p);

		tx.commit();
		session.close();
	}

	public List<Clientef> lista() {
		sf = new AnnotationConfiguration().configure().buildSessionFactory();
		session = sf.openSession();
		tx = session.beginTransaction();
		clientefDAO = new ClientefDAO(session, Clientef.class);

		List<Clientef> lista = this.clientefDAO.list();

		tx.commit();
		session.close();

		return lista;
	}

	public List<Clientef> pesquisaClientefsByNome(String nome, String cpf) {
		sf = new AnnotationConfiguration().configure().buildSessionFactory();
		session = sf.openSession();
		tx = session.beginTransaction();
		clientefDAO = new ClientefDAO(session, Clientef.class);

		List<Clientef> lista = this.clientefDAO.pesquisaClientefs(nome,cpf);
		tx.commit();
		session.close();

		return lista;
	}

	public Clientef procuraById(Long id){
		sf = new AnnotationConfiguration().configure().buildSessionFactory();
		session = sf.openSession();
		tx = session.beginTransaction();
		clientefDAO = new ClientefDAO(session, Clientef.class);

		Clientef p = this.clientefDAO.pesquisaClientefsById(id);

		tx.commit();
		session.close();

		return p;
	}

	public Clientef procuraByNome(String nome){
		sf = new AnnotationConfiguration().configure().buildSessionFactory();
		session = sf.openSession();
		tx = session.beginTransaction();
		clientefDAO = new ClientefDAO(session, Clientef.class);

		Clientef p = this.clientefDAO.pesquisaClientefsByNome(nome);

		tx.commit();
		session.close();

		return p;
	}

	public Clientef procuraByEmail(String email){
		sf = new AnnotationConfiguration().configure().buildSessionFactory();
		session = sf.openSession();
		tx = session.beginTransaction();
		clientefDAO = new ClientefDAO(session, Clientef.class);

		Clientef p = this.clientefDAO.pesquisaClientefsByEmail(email);

		tx.commit();
		session.close();

		return p;
	}

	

       public List<Clientef> lista(String nome) {
       sf = new AnnotationConfiguration().configure().buildSessionFactory();
		session = sf.openSession();
		tx = session.beginTransaction();
		clientefDAO = new ClientefDAO(session, Clientef.class);

		List<Clientef> lista = this.clientefDAO.list();

		tx.commit();
		session.close();

		return lista;
    }

    public List<Clientef> pesquisaClientefsByNomeCpf(String nome, String cpf) {
      sf = new AnnotationConfiguration().configure().buildSessionFactory();
		session = sf.openSession();
		tx = session.beginTransaction();
		clientefDAO = new ClientefDAO(session, Clientef.class);
		List<Clientef> lista = this.clientefDAO.pesquisaClientefs(nome,cpf);
		tx.commit();
		session.close();
		return lista;
    }

  
}
package br.gov.nutec.mb;

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

import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import br.gov.nutec.facade.ClientefFacade;
import br.gov.nutec.facade.ClientefFacadeImpl;
import br.gov.nutec.modelo.Clientef;

public class ClientefMB implements Serializable {

	private static long serialVersionUID = -333995781063775201L;

              /**
               * @return the serialVersionUID
               */
              public static long getSerialVersionUID() {
                            return serialVersionUID;
              }

              /**
               * @param aSerialVersionUID the serialVersionUID to set
               */
              public static void setSerialVersionUID(long aSerialVersionUID) {
                            serialVersionUID = aSerialVersionUID;
              }

	private Clientef clientef = new Clientef();   //campos criados
	private Long id;
        

	public ClientefMB(){
		System.out.println(" >>>>>>>>>>>>>>>>>>>> Contrutor do CLIENTEF_MB <<<<<<<<<<<<<<<<<<");

		if(this.clientef == null){
			this.clientef = new Clientef();
		}
	}

public String login() throws Exception{
        boolean logado = true;


        HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
        HttpServletResponse rp = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
        HttpServletRequest rq = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
        ClientefFacade ClientefService = new ClientefFacadeImpl();

       //logado = ClientefService.autentica(this.getClientef().getEmail(), this.getClientef().getSenha(),this.getClientef().getStatus());

        if(logado){
            session.setAttribute("user", logado);
            rp.sendRedirect(rq.getContextPath() + "/pages/index.jsf");
            return "success";

        }else{

            session.setAttribute("user", null);
            session.removeAttribute("user");
            rp.sendRedirect(rq.getContextPath() + "/pages/login/login.jsf");
            return "failure";
        }


        }


	public String logout() {
		HttpServletRequest rq = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
		HttpServletResponse rp = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
		FacesContext facesContext = FacesContext.getCurrentInstance();
		HttpSession session = (HttpSession) facesContext.getExternalContext().getSession(false);
		session.invalidate();
		try {
			rp.sendRedirect(rq.getContextPath() + "/pages/login/login.jsf");
		} catch (IOException e) {
			e.printStackTrace();
		}

		return "logoutOk";
	}

	public String save(){
		ClientefFacade clientefService = new ClientefFacadeImpl();
		clientefService.salva(this.getClientef());
	        this.setClientef(new Clientef());
		return "cadastraSucesso";
	}

	public String delete(){
		ClientefFacade clientefService = new ClientefFacadeImpl();
                this.getClientef().setId(getId());
		clientefService.remove(this.getClientef());
	        this.setClientef(new Clientef());
		return "removeSucesso";
	}

	public String merge(){
		ClientefFacade clientefService = new ClientefFacadeImpl();
		clientefService.atualiza(this.getClientef());
	        this.setClientef(new Clientef());
		return "atualizaSucesso";
	}

	public String load(){
		ClientefFacade clientefService = new ClientefFacadeImpl();
	        this.setClientef(clientefService.procura(this.getId()));
		return "pesquisaSucesso";
	}
	public String pesquisaByNome(){
		ClientefFacadeImpl clientefService = new ClientefFacadeImpl();
		this.setClientef(clientefService.procuraByNome(this.getClientef().getNome()));
		return "pesquisaByNomeSucesso";
	}

	public List<Clientef> getClientefs(){
		ClientefFacade clientefService = new ClientefFacadeImpl();
		return clientefService.lista();
	}
        /*
	public List<Clientef> getClientefsByNome(){
		ClientefFacade clientefService = new ClientefFacadeImpl();// plural por causa da tabela
		List<Clientef> lista = clientefService.pesquisaClientefsByNome(this.getClientef().getNome());
		return lista;
	}
*/
/*
        public List<Clientef> getClientefsByNome() { // lista tudo
		ClientefFacade clientefService = new ClientefFacadeImpl();
		//ClientefDao ClientefDao = new ClientefDao(session, Clientef.class);
		List<Clientef> lista = clientefService.pesquisaClientefsByNome(this.getClientef().getNome());
				
		return lista;
	}


  */

          public List<Clientef> getClientefsByNomeCpf(){
            ClientefFacade clientefService = new ClientefFacadeImpl();
            List<Clientef> lista = clientefService.lista();
            return lista;
          }

    public Clientef getClientef() {
        return clientef;
    }

    public void setClientef(Clientef clientef) {
        this.clientef = clientef;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }




}
package br.gov.nutec.dao;

import java.util.List;

import org.apache.log4j.Logger;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;

import br.gov.nutec.modelo.Clientef;

public class ClientefDAO extends DAO<Clientef> {



	private Logger logger = Logger.getLogger(ClientefDAO.class);
          	public ClientefDAO(Session session, Class<?> classe) {
		super(session, classe);
	}
	public Clientef pesquisaClientefsById(Long idClientef) {
		logger.info("pesquisasClientefById : " + idClientef);
		return (Clientef) session.load(Clientef.class, idClientef);
	}
	public Clientef pesquisaClientefsByNome(String nome) {
		logger.info("pesquisasClientefByNome : " + nome);
		Criteria c = session.createCriteria(Clientef.class);
		c.add(Restrictions.ilike("nome", "%" + nome + "%"));
                c.addOrder(Order.desc("nome"));
                return (Clientef) c.list();
                //return (Clientef)c.uniqueResult();
	}
	public Clientef pesquisaClientefsByEmail(String email) {
		logger.info("pesquisasClientefByEmail : " + email);
		Criteria c = session.createCriteria(Clientef.class);
		c.add(Restrictions.ilike("email", email + "%"));
                c.addOrder(Order.desc("email"));
		return (Clientef)c.uniqueResult();
	}
        /*
	@SuppressWarnings("unchecked")
	public List<Clientef> pesquisaClientefs(String nome){  //no plural por causa da tabela
		Criteria c = session.createCriteria(Clientef.class);
		c.add(Restrictions.ilike("nome", "%" + nome + "%"));
		c.addOrder(Order.desc("nome"));
		return c.list();
	}
         * 
         */
	public Clientef buscaClientef(Long id){
		Query q = session.createQuery("select p from " + Clientef.class.getName() + " as p where p.id like :id");
		q.setParameter("id", id);
                return (Clientef)q.uniqueResult();
	}
     //   @SuppressWarnings("unchecked") // busca tudo
	public List<Clientef> pesquisaClientefs(String nome, String cpf) {
		Criteria c = session.createCriteria(Clientef.class);
		c.add(Restrictions.ilike("nome", "%" + nome + "%"));
		c.add(Restrictions.ilike("cpf", "%" + cpf + "%"));
		c.addOrder(Order.asc("nome"));
		return c.list();
	}


    }
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<%@ taglib prefix="rich" uri="http://richfaces.ajax4jsf.org/rich"%>
<%@ taglib prefix="stella" uri="http://stella.caelum.com.br/faces"%>
<%@ taglib prefix="a4j" uri="http://richfaces.org/a4j"%>
<%@ taglib uri="http://richfaces.ajax4jsf.org/rich" prefix="rich"%>
        <script type="text/javascript" src="/js/jquery-1.2.6.js"></script>
        <script type="text/javascript" src="/js/jsfocus.js"></script>
        <script type="text/javascript" src="/js/jquery.maskedinput-1.2.1.js"></script>
<xmlns:rich="http://richfaces.ajax4jsf.org/rich">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link rel="StyleSheet" type="text/css" href="../style/estilos.css" media="screen" />
         <title>Cadastro </title>
        <!BGSOUND id="sound" src="sounds/cpf.wav" /-->
        
</head>
<body>
    <f:view>
        <a4j:form>
                 <!-- PESQUISA -->
        <legend>Pesquisa de Clientes Pessoa Fisica</legend>
        <h:panelGrid columns="2">
            <h:outputLabel for="nomeLabel" value="Digite o nome: " />
            <h:inputText id="nomeInput" value="#{clientefMB.clientef.nome}"  styleClass="inputPesquisa2" validatorMessage="A nome pesquisa tem que ter no mínimo uma letra!">
                <f:validateLength minimum="1"/>
                <a4j:commandButton value="Pesquisar" action="#{clientefMB.pesquisaByNomeCpf}" styleClass="inputPesquisaBtn2" reRender="items,inputs">
                </a4j:commandButton>
            </h:inputText>
        </h:panelGrid>
               <!-- PESQUISA fim -->
                <fieldset>
                | <a4j:commandButton value="Inserir" action="#{clientefMB.save}" status="sts"   reRender="inputs,items" styleClass="botoes"/>
                | <a4j:commandButton value="Excluir" action="#{clientefMB.delete}" status="sts"   reRender="inputs,items" styleClass="botoes"/>
                | <a4j:commandButton value="Atualizar" action="#{clientefMB.merge}" status="sts"   reRender="inputs,items" styleClass="botoes"/>
                | <a4j:commandButton value="Pesquisar" action="#{clientefMB.load}" status="sts"   reRender="inputs,items" styleClass="botoes"/>
                | <a4j:commandButton value="Relatório" action="#{clientefMB.load}" status="sts"   reRender="inputs,items" styleClass="botoes"/>
                | <h:commandButton value="Voltar" immediate="true" action="toIndex" styleClass="botoes"/>
                |
            </fieldset>
                
            <a4j:keepAlive beanName="clientefMB" />
            <rich:messages/>:.
            <h:outputText value="#{clientefMB.clientef.nome}" id="ajaxText"/>
            <fieldset>
                <legend>Cadastro de Cliente Pessoa Física</legend>
                <a4j:region id="regiaoAjax">
                    <a4j:status id="sts">
                        <f:facet name="start">
                            <h:graphicImage value="/images/ajax-loader.gif" />
                        </f:facet>
                    </a4j:status>
                </a4j:region>
                <h:panelGrid columns="2" id="inputs">
                    <h:outputLabel for="nome" value="Nome.:"  />
                    <h:inputText id="nome" value="#{clientefMB.clientef.nome}" styleClass="edit" size="50" />
                    <h:outputLabel value="CPF.:" for="cpf" />
                    <h:inputText id="cpf" value="#{clientefMB.clientef.cpf}" title="CPF.:" size="11">
                    <rich:jQuery selector="#cpf" query="mask('[CPF removido]')" timing="onload"/>
                    </h:inputText>
                    <h:outputLabel for="Data Nascimento.:" value="Data Nascimento.: "  />
                    <rich:calendar id="datanacimento" value="#{clientefMB.clientef.datanacimento}">
                    <a4j:support event="ondateselected" reRender="mainTable"/>
                    </rich:calendar>
                    <h:outputLabel value="Naturalidade.:" for="naturalidade" />
                    <h:inputText id="naturalidade" value="#{clientefMB.clientef.naturalidade}" title="Naturalidade.:" />
                    <h:outputText value="UF.: "/>
                    <h:selectOneMenu value="#{clientefMB.clientef.uf_nas}">
                        <f:selectItem itemValue="AC" value=""/>
                        <f:selectItem itemValue="AL" value=""/>
                        <f:selectItem itemValue="AM" value=""/>
                        <f:selectItem itemValue="AP"value=""/>
                        <f:selectItem itemValue="BA" value=""/>
                        <f:selectItem itemValue="CE" value=""/>
                        <f:selectItem itemValue="DF" value=""/>
                        <f:selectItem itemValue="ES" value=""/>
                        <f:selectItem itemValue="FN" value=""/>
                        <f:selectItem itemValue="GO" value=""/>
                        <f:selectItem itemValue="MA" value=""/>
                        <f:selectItem itemValue="MG" value=""/>
                        <f:selectItem itemValue="MS" value=""/>
                        <f:selectItem itemValue="MT" value=""/>
                        <f:selectItem itemValue="PA" value=""/>
                        <f:selectItem itemValue="PB" value=""/>
                        <f:selectItem itemValue="PE" value=""/>
                        <f:selectItem itemValue="PI" value=""/>
                        <f:selectItem itemValue="PR" value=""/>
                        <f:selectItem itemValue="RJ" value=""/>
                        <f:selectItem itemValue="RN" value=""/>
                        <f:selectItem itemValue="RO" value=""/>
                        <f:selectItem itemValue="RR" value=""/>
                        <f:selectItem itemValue="RS" value=""/>
                        <f:selectItem itemValue="SC" value=""/>
                        <f:selectItem itemValue="SE" value=""/>
                        <f:selectItem itemValue="SP" value=""/>
                        <f:selectItem itemValue="TO" value=""/>
                    </h:selectOneMenu>
                    <h:outputLabel value="Documento.:" for="tipo_doc_ide" />
                    <h:selectOneMenu value="#{clientefMB.clientef.tipo_doc_ide}">
                        <f:selectItem itemValue="Carteira de Identidade - RG" value=""/>
                        <f:selectItem itemValue="Carteira de Trabalho e Previdência Social ? CTPS" value=""/>
                        <f:selectItem itemValue="Título de Eleitor" value=""/>
                        <f:selectItem itemValue="Cartão do PIS ou PASEP" value=""/>
                        <f:selectItem itemValue="Certificado de Reservista" value=""/>
                        <f:selectItem itemValue="Carteira Nacional de Habilitação ? CNH" value=""/>
                        <f:selectItem itemValue="Certidão de Casamento" value=""/>
                    </h:selectOneMenu>
                    <h:outputLabel value="Número do Documento.:" for="numero_doc" />
                    <h:inputText id="numero_doc" value="#{clientefMB.clientef.numero_doc}" title="Número Documento.:" />
                    <h:outputLabel value="Orgao Emissor.:" for="orgao_emi" />
                    <h:inputText id="orgao_emi" value="#{clientefMB.clientef.orgao_emi}" title="Orgao Emissor.:" />
                    <h:outputText value="UF Emissor .: "/>
                    <h:selectOneMenu value="#{clientefMB.clientef.uf_emis}">
                        <f:selectItem itemValue="AC" value=""/>
                        <f:selectItem itemValue="AL" value=""/>
                        <f:selectItem itemValue="AM" value=""/>
                        <f:selectItem itemValue="AP"value=""/>
                        <f:selectItem itemValue="BA" value=""/>
                        <f:selectItem itemValue="CE" value=""/>
                        <f:selectItem itemValue="DF" value=""/>
                        <f:selectItem itemValue="ES" value=""/>
                        <f:selectItem itemValue="FN" value=""/>
                        <f:selectItem itemValue="GO" value=""/>
                        <f:selectItem itemValue="MA" value=""/>
                        <f:selectItem itemValue="MG" value=""/>
                        <f:selectItem itemValue="MS" value=""/>
                        <f:selectItem itemValue="MT" value=""/>
                        <f:selectItem itemValue="PA" value=""/>
                        <f:selectItem itemValue="PB" value=""/>
                        <f:selectItem itemValue="PE" value=""/>
                        <f:selectItem itemValue="PI" value=""/>
                        <f:selectItem itemValue="PR" value=""/>
                        <f:selectItem itemValue="RJ" value=""/>
                        <f:selectItem itemValue="RN" value=""/>
                        <f:selectItem itemValue="RO" value=""/>
                        <f:selectItem itemValue="RR" value=""/>
                        <f:selectItem itemValue="RS" value=""/>
                        <f:selectItem itemValue="SC" value=""/>
                        <f:selectItem itemValue="SE" value=""/>
                        <f:selectItem itemValue="SP" value=""/>
                        <f:selectItem itemValue="TO" value=""/>
                    </h:selectOneMenu>
                    <h:outputLabel value="Data Emissão.:" for="data_emi" />
                    <rich:calendar id="data_emi" value="#{clientefMB.clientef.data_emi}">
                        <a4j:support event="ondateselected" reRender="mainTable"/>
                    </rich:calendar>
                    <h:outputLabel value="Data Vencimento.:" for="data_ven_doc" />
                    <rich:calendar id="data_ven_doc" value="#{clientefMB.clientef.data_ven_doc}">
                        <a4j:support event="ondateselected" reRender="mainTable"/>
                    </rich:calendar>
                    <h:outputLabel value="Endereço.:" for="endereco" />
                    <h:inputText id="endereco" value="#{clientefMB.clientef.endereco}" title="Endereço.:" styleClass="edit" size="40" />
                    <h:outputLabel value="CEP.:" for="cep" />
                    <h:inputText id="cep" value="#{clientefMB.clientef.cep}" title="Cep.:" />
                    <h:outputLabel value="Bairro.:" for="bairro" />
                    <h:inputText id="bairro" value="#{clientefMB.clientef.bairro}" title="Bairro.:" styleClass="edit" size="40"/>
                    <h:outputLabel value="Cidade.:" for="cidade" />
                    <h:inputText id="cidade" value="#{clientefMB.clientef.cidade}" title="Cidade.:" styleClass="edit" size="40"/>
                    <h:outputText value="UF.: "/>
                    <h:selectOneMenu value="#{clientefMB.clientef.uf_end}">
                        <f:selectItem itemValue="AC" value=""/>
                        <f:selectItem itemValue="AL" value=""/>
                        <f:selectItem itemValue="AM" value=""/>
                        <f:selectItem itemValue="AP"value=""/>
                        <f:selectItem itemValue="BA" value=""/>
                        <f:selectItem itemValue="CE" value=""/>
                        <f:selectItem itemValue="DF" value=""/>
                        <f:selectItem itemValue="ES" value=""/>
                        <f:selectItem itemValue="FN" value=""/>
                        <f:selectItem itemValue="GO" value=""/>
                        <f:selectItem itemValue="MA" value=""/>
                        <f:selectItem itemValue="MG" value=""/>
                        <f:selectItem itemValue="MS" value=""/>
                        <f:selectItem itemValue="MT" value=""/>
                        <f:selectItem itemValue="PA" value=""/>
                        <f:selectItem itemValue="PB" value=""/>
                        <f:selectItem itemValue="PE" value=""/>
                        <f:selectItem itemValue="PI" value=""/>
                        <f:selectItem itemValue="PR" value=""/>
                        <f:selectItem itemValue="RJ" value=""/>
                        <f:selectItem itemValue="RN" value=""/>
                        <f:selectItem itemValue="RO" value=""/>
                        <f:selectItem itemValue="RR" value=""/>
                        <f:selectItem itemValue="RS" value=""/>
                        <f:selectItem itemValue="SC" value=""/>
                        <f:selectItem itemValue="SE" value=""/>
                        <f:selectItem itemValue="SP" value=""/>
                        <f:selectItem itemValue="TO" value=""/>
                    </h:selectOneMenu>
                    <h:outputLabel value="Estado Civil.:" for="estado_civ" />
                    <h:selectOneMenu value="#{clientefMB.clientef.estado_civ}" onclick="reRender,itemValue" >
                        <f:selectItem itemValue="Solteiro(a)" value=""/>
                        <f:selectItem itemValue="Casado(a)" value=""/>
                        <f:selectItem itemValue="Separado(a) judicialmente" value=""/>
                        <f:selectItem itemValue="Divorciado(a)" value=""/>
                        <f:selectItem itemValue="Viúvo(a)" value=""/>
                        <f:selectItem itemValue="União estável" value=""/>
                    </h:selectOneMenu>
                    <h:outputLabel value="Data Cadastro.:" for="data_cad" />
                    <rich:calendar id="data_cad" value="#{clientefMB.clientef.data_cad}">
                    <a4j:support event="ondateselected" reRender="mainTable"/>
                    </rich:calendar>
                    <h:outputLabel value="Email.:" for="email_clientef" />
                    <h:inputText id="email_clientef" value="#{clientefMB.clientef.email_clientef}" title="Email.:" />
                    <h:outputLabel value="Telefone.:" for="telefone_clientef" />
                    <h:inputText id="telefone_clientef" value="#{clientefMB.clientef.telefone_clientef}" title="Telefone.:"styleClass="edit" size="20" />
                    <h:outputLabel value="Status.:" for="status_clientef" />
                    <h:selectOneMenu value="#{clientefMB.clientef.status_clientef}" title="Status.:">
                        <f:selectItem itemValue="Ativo" value=""/>
                        <f:selectItem itemValue="Inativo" value=""/>
                    </h:selectOneMenu>
                </h:panelGrid>
                <!-- FORM  fim -->
                <!-- GRID -->
                <rich:dataTable value="#{clientefMB.clientefs}" var="item" rows="10" id="items" width="100%" cellspacing="0" cellpadding="0" border="1">
                    <h:column>
                        <f:facet name="header">
                            <h:outputText value="CÓDIGO.:"/>
                        </f:facet>
                        <h:outputText value="#{item.id}"/>
                    </h:column>

                    <h:column>
                        <f:facet name="header">
                            <h:outputText value="Nome.:"/>
                        </f:facet>
                        <h:outputText value="#{item.nome}"/>
                    </h:column>
                    <h:column>
                        <f:facet name="header">
                            <h:outputText value="CPF.:"/>
                        </f:facet>
                        <h:outputText value="#{item.cpf}"/>
                    </h:column>
                    <h:column>
                        <f:facet name="header">
                            <h:outputText value="Endereço.;"/>
                        </f:facet>
                        <h:outputText value="#{item.endereco}"/>
                    </h:column>
                    <h:column>
                        <f:facet name="header">
                            <h:outputText value="CEP.:"/>
                        </f:facet>
                        <h:outputText value="#{item.cep}"/>
                    </h:column>
                    <h:column>
                        <f:facet name="header">
                            <h:outputText value="Bairro.:"/>
                        </f:facet>
                        <h:outputText value="#{item.bairro}"/>
                    </h:column>

                    <h:column>
                        <f:facet name="header">
                            <h:outputText value="Cidade.:"/>
                        </f:facet>
                        <h:outputText value="#{item.cidade}"/>
                    </h:column>

                    <h:column>
                        <f:facet name="header">
                            <h:outputText value="UF"/>
                        </f:facet>
                        <h:outputText value="#{item.uf_end}"/>
                    </h:column>

                    <h:column>
                        <f:facet name="header">
                            <h:outputText value="Email Cliente"/>
                        </f:facet>
                        <h:outputText value="#{item.email_clientef}"/>
                    </h:column>

                    <h:column>
                        <f:facet name="header">
                            <h:outputText value="Telefone "/>
                        </f:facet>
                        <h:outputText value="#{item.telefone_clientef}"/>
                    </h:column>
                    <h:column>
                        <f:facet name="header">
                            <h:outputText value="Perfil"/>
                        </f:facet>
                        <h:outputText value="#{item.perfil_clientef}"/>
                    </h:column>
                    <h:column>
                        <f:facet name="header">
                            <h:outputText value="Status"/>
                        </f:facet>
                        <h:outputText value="#{item.status_clientef}"/>
                    </h:column>
                    <h:column>
                    <f:facet name="header">
                        <h:outputText value="Excluir"/>
                    </f:facet>
                    <a4j:commandButton action="#{clientefMB.delete}" status="sts" reRender="items"  image="/images/delete_1.gif" styleClass="botoesImgs" style="text-align:center"  size="5">
                        <f:setPropertyActionListener value="#{item.id}" target="#{clientefMB.id}" />
                    </a4j:commandButton>
                    </h:column>
                    <h:column>
                        <f:facet name="header">
                            <h:outputText value="Selecionar"/>
                        </f:facet>
                        <a4j:commandLink reRender="inputs">
                            <h:outputText value="Selecionar"/>
                            <f:setPropertyActionListener  value="#{item}" target="#{clientefMB.clientef}"/>
                        </a4j:commandLink>
                    </h:column>
                    <f:facet name="footer">
                        <rich:datascroller />
                    </f:facet>
                </rich:dataTable>

            </fieldset>
            <!-- GRID  fim -->


           
     </a4j:form>
 <!-- form modal -->



</f:view>
</body>
</html>
juniorsatanas

Dei uma modificada no fonte ! ta compilando já… mas nao funciona…

diegosantiviago

eu não vou ler o código inteiro, mas achei interessante a exceção.

br.gov.nutec.facade.ClientefFacadeImpl is not abstract and does not override abstract method pesquisaClientefsByNome(java.lang.String) in br.gov.nutec.facade.ClientefFacade

assinatura

public List<Clientef> pesquisaClientefsByNome(String nome);

implementacao

public List<Clientef> pesquisaClientefsByNome(String nome, String cpf) {

:x

juniorsatanas

diegosantiviago não intendir o que vc quis dizer !

Kleber-rr

juniorsatanas:
diegosantiviago não intendir o que vc quis dizer !

Esse é o problema de usar tantas classes para fazer basicamente a mesma coisa… por isso eu te disse pra simplificar…

Na tua classe ClienteFacade.java, está:

public List&lt;Clientef&gt; pesquisaClientefsByNome(String nome)

tente:

public List&lt;Clientef&gt; pesquisaClientefsByNome(String nome, String cpf)

Flws

juniorsatanas

Kleber-rr vou tentar aqui ! valeu !

juniorsatanas

Kleber-rr tu já fez algo parecido ?!

Kleber-rr

juniorsatanas:
Kleber-rr tu já fez algo parecido ?!


Já, mas naum com essa complicação toda… como eu te disse, simplifiquei para o bean e dao.

juniorsatanas

Kleber-rr manda pra mim: [email removido] para eu dar uma olhda !

Kleber-rr

VOu desenrrolar um trabalho aqui e te mando mais tarde.

Flws

juniorsatanas

Kleber-rr Obrigado !

Vou refazer tudo Baseado no seu !..

Criado 29 de janeiro de 2010
Ultima resposta 29 de jan. de 2010
Respostas 12
Participantes 3