Pessoal,
Estou fazendo um formulário para cadastro de um fornecedor. Neste tenho um campo "Cidade".
Gostaria que quando o usuário digitasse neste campo e clicasse no link "Digite o nome da cidade para pesquisa" o mesmo filtrasse as cidades no grid do Modal que eu abro na tela.
Tudo funciona, o que eu não consigo e passar o mesmo como parametro.
Segue abaixo o código:
Formulário
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich"
xmlns:ajax="https://ajax4jsf.dev.java.net/ajax"
xmlns:c="http://java.sun.com/jstl/core">
<head>
<link href="./css/estilos.css" rel="stylesheet" type="text/css" />
<title>
<ui:insert name="title">
Cadastro de Fornecedores
</ui:insert>
</title>
<style type="text/css">
.odd-row {
background-color: #ECF3FE;
}
.even-row {
background-color: #FCFFFE;
}
.col {
text-align: center;
}
.col2 {
text-align: right;
}
.col3 {
text-align: left;
background-color: #ECF3FE;
}
.col4 {
text-align: left;
}
</style>
</head>
<!-- define searchlistBlock -->
<a4j:outputPanel ajaxRendered="true" id="mainOutputPanel">
<a4j:form>
<!-- bloco de pesquisa -->
<rich:panel id="searchlistBlock" rendered="#{FornecedorAction.pesquisarState}" style="text-align:center;" >
<f:facet name="header" >
Pesquisar
</f:facet>
<h:panelGrid columns="1">
<h:column>
<rich:spacer height="20" />
<a4j:commandButton value="Adicionar" action="#{FornecedorAction.prepareAdicionar}" immediate="true"/>
</h:column>
</h:panelGrid>
<rich:spacer height="20" />
<rich:dataTable width="683" id="fornecedorList" rows="10" reRender="ds" ajaxSingle="true"
rowClasses="odd-row,even-row"
columnClasses="col" value="#{FornecedorAction.fornecedores}" var="row">
<rich:column sortBy="#{row.codigo}" >
<f:facet name="header">
<h:outputText styleClass="headerText" value="Código" />
</f:facet>
<h:outputText value="#{row.codigo}" />
</rich:column>
<rich:column sortBy="#{row.nome}" filterBy="#{row.nome}" filterEvent="onkeyup">
<f:facet name="header">
<h:outputText styleClass="headerText" value="Nome" />
</f:facet>
<h:outputText value="#{row.nome}" />
</rich:column>
<rich:column sortBy="#{row.cpfCnpj}" filterBy="#{row.cpfCnpj}" filterEvent="onkeyup" >
<f:facet name="header">
<h:outputText styleClass="headerText" value="CPF/CNPJ" />
</f:facet>
<h:outputText value="#{row.cpfCnpj}" />
</rich:column>
<rich:column sortBy="#{row.cidade.descricao}" filterBy="#{row.cidade.descricao}" filterEvent="onkeyup" >
<f:facet name="header">
<h:outputText styleClass="headerText" value="Cidade" />
</f:facet>
<h:outputText value="#{row.cidade.descricao}" />
</rich:column>
<rich:column width="50" >
<f:facet name="header">
<h:outputText styleClass="headerText" value="Ações" />
</f:facet>
<span>
<a4j:commandLink action="#{FornecedorAction.prepareEditar}" immediate="true">
<h:graphicImage value="/imagens/edit.gif" style="border:0"/>
<f:setPropertyActionListener value="#{row}" target="#{FornecedorAction.fornecedor}"/>
</a4j:commandLink>
</span>
<!-- <span>
<a4j:commandLink immediate="true" action="#{FornecedorAction.getFornecedores}" oncomplete="Richfaces.showModalPanel('panel',{width:550, top:200});">
<h:graphicImage value="/imagens/delete.gif" style="border:0"/>
<f:setPropertyActionListener value="#{row}" target="#{FornecedorAction.fornecedor}"/>
</a4j:commandLink>
</span> -->
</rich:column>
<f:facet name="footer" styleClass="footerText" >
<rich:datascroller align="center" id="ds" renderIfSinglePage="false" maxPages="20" />
</f:facet>
</rich:dataTable>
<rich:modalPanel id="panel" width="350" height="100">
<f:facet name="header">
<h:panelGroup>
<h:outputText value="Confirmação"></h:outputText>
</h:panelGroup>
</f:facet>
<f:facet name="controls">
<h:panelGroup>
<h:graphicImage value="imagens/images.jpeg" styleClass="hidelink" id="hidelink"/>
<rich:componentControl for="panel" attachTo="hidelink" operation="hide" event="onclick"/>
</h:panelGroup>
</f:facet>
<h:outputText value="Deseja excluir a fornecedor selecionada ?"></h:outputText>
<br/><br/>
<a4j:commandButton value="excluir" action="#{FornecedorAction.excluir}" immediate="true">
</a4j:commandButton>
<a4j:commandButton value="cancelar" action="#{FornecedorAction.voltar}" immediate="true">
</a4j:commandButton>
</rich:modalPanel>
<rich:spacer height="20" />
</rich:panel>
<!-- define addUpdateBlock -->
<rich:panel id="addUpdateBlock" style="text-align:center;" rendered="#{FornecedorAction.adicionarState or FornecedorAction.editarState}">
<f:facet name="header">
Dados
</f:facet>
<rich:spacer height="20" />
<h:panelGrid witch="300" columns="3" border="0" id="panel2" binding="#{FornecedorAction.panelForm}" columnClasses="col4">
<h:outputLabel value="Tipo:"/>
<h:column>
<rich:comboBox id="tipo" value="#{FornecedorAction.fornecedor.tipo}" maxlength="10" size="10" defaultLabel="Fisica" required="true"
requiredMessage="Campo Tipo de fornecedor é obrigatório." selectFirstOnUpdate="true" >
<f:selectItem itemValue="Fisica" />
<f:selectItem itemValue="Juridica"/>
</rich:comboBox>
</h:column>
<h:column>
<h:message for="tipo" errorStyle="color: darkred;"/>
</h:column>
<h:outputLabel value="CPF / CNPJ:"/>
<h:column>
<h:inputText value="#{FornecedorAction.fornecedor.cpfCnpj}" maxlength="20" size="20" required="true" id="cpfcnpj"
requiredMessage="Campo CPF / CNPJ é obrigatório." />
</h:column>
<h:column>
<h:message for="cpfcnpj" errorStyle="color: darkred;"/>
</h:column>
<h:outputLabel value="RG / Inscrição:"/>
<h:column >
<h:inputText value="#{FornecedorAction.fornecedor.rgInscricao}" maxlength="20" size="20" required="true" id="rgInscricao"
requiredMessage="Campo RG / Inscrição é obrigatório." />
</h:column>
<h:column>
<h:message for="rgInscricao" errorStyle="color: darkred;"/>
</h:column>
<h:outputLabel value="Nome:"/>
<h:column>
<h:inputText value="#{FornecedorAction.fornecedor.nome}" maxlength="20" size="20" required="true" id="nome"
requiredMessage="Campo nome é obrigatório." />
</h:column>
<h:column>
<h:message for="nome" errorStyle="color: darkred;"/>
</h:column>
<h:outputLabel value="Nome Fantasia:"/>
<h:column>
<h:inputText value="#{FornecedorAction.fornecedor.nomeFantasia}" maxlength="100" size="50" required="true" id="nomeFantasia"
requiredMessage="Campo nome fantasia é obrigatório." />
</h:column>
<h:column>
<h:message for="nomeFantasia" errorStyle="color: darkred;"/>
</h:column>
<h:outputLabel value="Endereço:"/>
<h:column>
<h:inputText value="#{FornecedorAction.fornecedor.endereco}" maxlength="100" size="50" id="endereco" />
</h:column>
<h:column>
</h:column>
<h:outputLabel value="Bairro:"/>
<h:column>
<h:inputText value="#{FornecedorAction.fornecedor.bairro}" maxlength="25" size="25" id="bairro" />
</h:column>
<h:column>
</h:column>
<h:outputLabel value="Telefone:"/>
<h:column>
<h:inputText value="#{FornecedorAction.fornecedor.fone}" maxlength="20" size="20" id="fone" />
</h:column>
<h:column>
</h:column>
<h:outputLabel value="Telefax:"/>
<h:column>
<h:inputText value="#{FornecedorAction.fornecedor.fax}" maxlength="40" size="40" id="fax" />
</h:column>
<h:column>
</h:column>
<h:outputLabel value="Cidade:"/>
<h:column>
<h:inputText value="#{FornecedorAction.codigoCidade}" readonly="true" maxlength="4" size="4" required="true" id="codigoCidade"
requiredMessage="Campo cidade é obrigatório." />
<a4j:outputPanel ajaxRendered="true" >
<h:inputText value="#{FornecedorAction.descricaoCidade}" maxlength="20" size="20" id="cidade" />
</a4j:outputPanel>
<a4j:commandLink value="Digite o nome da cidade para pesquisa" immediate="true" oncomplete="Richfaces.showModalPanel('selectCidade',{width:800, top:200, height:300});">
</a4j:commandLink>
</h:column>
<h:column>
</h:column>
<h:outputLabel value="CEP:"/>
<h:column>
<h:inputText value="#{FornecedorAction.fornecedor.cep}" maxlength="10" size="10" id="cep" />
</h:column>
<h:column>
</h:column>
<h:outputLabel value="eMail:"/>
<h:column>
<h:inputText value="#{FornecedorAction.fornecedor.email}" maxlength="40" size="40" id="email" />
</h:column>
<h:column>
</h:column>
<h:outputLabel value="Contato:"/>
<h:column>
<h:inputText value="#{FornecedorAction.fornecedor.contato}" maxlength="40" size="40" id="contato" />
</h:column>
<h:column>
</h:column>
<h:outputLabel value="Observação:"/>
<h:column>
<h:inputTextarea value="#{FornecedorAction.fornecedor.observacao}" style="height: 46px; width: 336px" maxlength="255" size="255" id="observacao" />
</h:column>
</h:panelGrid>
<rich:spacer height="40" />
<a4j:commandButton value="Adicionar" action="#{FornecedorAction.adicionar}" rendered="#{FornecedorAction.adicionarState}"/>
<a4j:commandButton value="Salvar" action="#{FornecedorAction.editar}" rendered="#{FornecedorAction.editarState}"/>
<a4j:commandButton value="Voltar" action="#{FornecedorAction.voltar}" immediate="true"/>
<rich:modalPanel id="selectCidade" width="350" height="100" style="text-align:center;" >
<f:facet name="header">
<h:panelGroup>
<h:outputText value="Selecione a cidade: "></h:outputText>
</h:panelGroup>
</f:facet>
<f:facet name="controls">
<h:panelGroup>
<h:graphicImage value="imagens/images.jpeg" styleClass="hidelink1" id="hidelink1"/>
<rich:componentControl for="selectCidade" attachTo="hidelink1" operation="hide" event="onclick"/>
</h:panelGroup>
</f:facet>
<h:inputText value="#{FornecedorAction.descricaoCidade}" maxlength="20" size="20" id="PesquisaCidade" />
<rich:dataTable width="683" id="cidadeList" rows="10" reRender="ds" ajaxSingle="true"
rowClasses="odd-row,even-row"
columnClasses="col" value="#{FornecedorAction.cidades}" var="rowCid">
<rich:column sortBy="#{rowCid.codigo}" >
<f:facet name="header">
<h:outputText styleClass="headerText" value="Código" />
</f:facet>
<h:outputText value="#{rowCid.codigo}" />
</rich:column>
<rich:column sortBy="#{rowCid.descricao}" filter="#{rowCid.descricao}" >
<f:facet name="header">
<h:outputText styleClass="headerText" value="Descrição" />
</f:facet>
<h:outputText value="#{rowCid.descricao}" />
</rich:column>
<rich:column sortBy="#{rowCid.estado}" >
<f:facet name="header">
<h:outputText styleClass="headerText" value="Estado" />
</f:facet>
<h:outputText value="#{rowCid.estado}" />
</rich:column>
<rich:column width="50" >
<f:facet name="header">
<h:outputText styleClass="headerText" value="Ações" />
</f:facet>
<span>
<a4j:commandLink action="#{FornecedorAction.searchCidade}" value="Selecionar" immediate="true" ajaxSingle="false" reRender="cidade" >
<f:setPropertyActionListener value="#{rowCid}" target="#{FornecedorAction.fornecedor.cidade}"/>
<f:setPropertyActionListener value="#{rowCid.codigo}" target="#{FornecedorAction.codigoCidade}"/>
</a4j:commandLink>
</span>
</rich:column>
<f:facet name="footer" styleClass="footerText" >
<rich:datascroller align="center" id="ds" renderIfSinglePage="false" maxPages="20" />
</f:facet>
</rich:dataTable>
</rich:modalPanel>
</rich:panel>
</a4j:form>
</a4j:outputPanel>
</ui:composition>
</html>
Classe Action:
package br.bcs.action;
import br.bcs.bo.CidadeBo;
import br.bcs.bo.FornecedorBo;
import br.bcs.entity.Fornecedor;
import br.bcs.entity.Cidade;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import javax.faces.model.ListDataModel;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.component.UIComponent;
import javax.faces.component.UIPanel;
import javax.faces.model.DataModel;
/**
*
* @author Márcio Neves
*/
public class FornecedorAction {
public static final String PESQUISAR_STATE = "pesquisar";
public static final String ADICIONAR_STATE = "adicionar";
public static final String EDITAR_STATE = "editar";
private String currentState = PESQUISAR_STATE;
private Fornecedor fornecedor;
protected DataModel fornecedores;
private UIPanel panelForm;
private FornecedorBo fornecedorBo;
private CidadeBo cidadeBo;package br.bcs.action;
import br.bcs.bo.CidadeBo;
import br.bcs.bo.FornecedorBo;
import br.bcs.entity.Fornecedor;
import br.bcs.entity.Cidade;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import javax.faces.model.ListDataModel;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.component.UIComponent;
import javax.faces.component.UIPanel;
import javax.faces.model.DataModel;
/**
*
* @author Márcio Neves
*/
public class FornecedorAction {
public static final String PESQUISAR_STATE = "pesquisar";
public static final String ADICIONAR_STATE = "adicionar";
public static final String EDITAR_STATE = "editar";
private String currentState = PESQUISAR_STATE;
private Fornecedor fornecedor;
protected DataModel fornecedores;
private UIPanel panelForm;
private FornecedorBo fornecedorBo;
private CidadeBo cidadeBo;
protected DataModel cidades;
private String codigoCidade;
private String descricaoCidade;
/** Creates a new instance of CidadeAction */
public FornecedorAction() {
}
public String getCurrentState() {
return currentState;
}
public void setCurrentState(String currentState) {
this.currentState = currentState;
}
public UIPanel getPanelForm() {
return panelForm;
}
public void setPanelForm(UIPanel panelForm) {
this.panelForm = panelForm;
}
/**
* Prepara view adicionar
*/
public String prepareAdicionar() {
this.clear();
this.setCurrentState(ADICIONAR_STATE);
return "goToAdicionarFornecedor";
}
/**
* Prepara view adicionar
*/
public String preparePesquisarCidade() {
return "goToAdicionarFornecedor";
}
/**
* Prepara view editar
*/
public String prepareEditar() {
this.setCurrentState(EDITAR_STATE);
return "goToEditarFornecedor";
}
public String preparePesquisar() {
this.isPesquisarState();
return "goToPesquisarFornecedor";
}
/*
* Métodos que expõem o estado à página
*/
public boolean isPesquisarState() {
String state = this.getCurrentState();
return (state == null || PESQUISAR_STATE.equals(state));
}
public boolean isAdicionarState() {
return ADICIONAR_STATE.equals(this.getCurrentState());
}
public boolean isEditarState() {
return EDITAR_STATE.equals(this.getCurrentState());
}
/**
* Limpa os componentes filhos para que depois eles possam ser recriados
* @param component
*/
protected void cleanSubmittedValues(UIComponent component) {
component.getChildren().clear();
}
public void setFornecedores(DataModel fornecedores) {
this.fornecedores = fornecedores;
}
public FornecedorBo getFornecedorBo() {
if (fornecedorBo == null) {
fornecedorBo = new FornecedorBo();
}
return fornecedorBo;
}
public DataModel getFornecedores() {
this.setCurrentState(PESQUISAR_STATE);
List<Fornecedor> lista = getFornecedorBo().listFornecedor(currentState, currentState);
fornecedores = new ListDataModel(lista);
return fornecedores;
}
public Fornecedor getFornecedor() {
if (fornecedor == null) {
this.fornecedor = new Fornecedor();
}
return fornecedor;
}
public void setFornecedor(Fornecedor fornecedor) {
this.fornecedor = fornecedor;
}
public String getDescricaoCidade() {
return descricaoCidade;
}
public void setDescricaoCidade(String descricaoCidade) {
this.descricaoCidade = descricaoCidade;
}
/**
* Adiciona usuário
*/
public void adicionar() {
try {
this.getFornecedorBo().saveFornecedor(this.fornecedor, this.fornecedor.getCpfCnpj());
} catch (Exception ex) {
Logger.getLogger(FornecedorAction.class.getName()).log(Level.SEVERE, null, ex);
}
this.getFornecedores();
}
/**
* Edita usuário
*/
public void editar() {
try {
// já edita diretamente na lista (a lista está como static)
this.getFornecedorBo().updateFornecedor(this.fornecedor);
} catch (Exception ex) {
Logger.getLogger(FornecedorAction.class.getName()).log(Level.SEVERE, null, ex);
}
this.getFornecedores();
}
public String getCodigoCidade() {
return codigoCidade;
}
public void setCodigoCidade(String codigoCidade) {
this.codigoCidade = codigoCidade;
}
public Collection getEstado() {
return this.cidadeBo.listEstados();
}
public String searchCidade() {
Cidade cidade = new Cidade();
try {
cidade = this.fornecedorBo.searchCidade(Integer.parseInt(codigoCidade));
fornecedor.setCidade(cidade);
} catch (Exception ex) {
}
return null;
}
public CidadeBo getCidadeBo() {
if (cidadeBo == null) {
cidadeBo = new CidadeBo();
}
return cidadeBo;
}
public void setCidades(DataModel cidades) {
this.cidades = cidades;
}
public DataModel getCidades() {package br.bcs.action;
import br.bcs.bo.CidadeBo;
import br.bcs.bo.FornecedorBo;
import br.bcs.entity.Fornecedor;
import br.bcs.entity.Cidade;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import javax.faces.model.ListDataModel;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.component.UIComponent;
import javax.faces.component.UIPanel;
import javax.faces.model.DataModel;
/**
*
* @author Márcio Neves
*/
public class FornecedorAction {
public static final String PESQUISAR_STATE = "pesquisar";
public static final String ADICIONAR_STATE = "adicionar";
public static final String EDITAR_STATE = "editar";
private String currentState = PESQUISAR_STATE;
private Fornecedor fornecedor;
protected DataModel fornecedores;
private UIPanel panelForm;
private FornecedorBo fornecedorBo;
private CidadeBo cidadeBo;
protected DataModel cidades;
private String codigoCidade;
private String descricaoCidade;
/** Creates a new instance of CidadeAction */
public FornecedorAction() {
}
public String getCurrentState() {
return currentState;
}
public void setCurrentState(String currentState) {
this.currentState = currentState;
}
public UIPanel getPanelForm() {
return panelForm;
}
public void setPanelForm(UIPanel panelForm) {
this.panelForm = panelForm;
}
/**
* Prepara view adicionar
*/
public String prepareAdicionar() {
this.clear();
this.setCurrentState(ADICIONAR_STATE);
return "goToAdicionarFornecedor";
}
/**
* Prepara view adicionar
*/
public String preparePesquisarCidade() {package br.bcs.action;
import br.bcs.bo.CidadeBo;
import br.bcs.bo.FornecedorBo;
import br.bcs.entity.Fornecedor;
import br.bcs.entity.Cidade;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import javax.faces.model.ListDataModel;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.component.UIComponent;
import javax.faces.component.UIPanel;
import javax.faces.model.DataModel;
/**
*
* @author Márcio Neves
*/
public class FornecedorAction {
public static final String PESQUISAR_STATE = "pesquisar";
public static final String ADICIONAR_STATE = "adicionar";
public static final String EDITAR_STATE = "editar";
private String currentState = PESQUISAR_STATE;
private Fornecedor fornecedor;
protected DataModel fornecedores;
private UIPanel panelForm;
private FornecedorBo fornecedorBo;
private CidadeBo cidadeBo;
protected DataModel cidades;
private String codigoCidade;
private String descricaoCidade;
/** Creates a new instance of CidadeAction */
public FornecedorAction() {
}
public String getCurrentState() {
return currentState;
}
public void setCurrentState(String currentState) {
this.currentState = currentState;
}
public UIPanel getPanelForm() {
return panelForm;
}
public void setPanelForm(UIPanel panelForm) {
this.panelForm = panelForm;
}
/**
* Prepara view adicionar
*/
public String prepareAdicionar() {
this.clear();
this.setCurrentState(ADICIONAR_STATE);
return "goToAdicionarFornecedor";
}
/**
* Prepara view adicionar
*/
public String preparePesquisarCidade() {
return "goToAdicionarFornecedor";
}
/**
* Prepara view editar
*/
public String prepareEditar() {
this.setCurrentState(EDITAR_STATE);
return "goToEditarFornecedor";
}
public String preparePesquisar() {
this.isPesquisarState();
return "goToPesquisarFornecedor";
}
/*
* Métodos que expõem o estado à página
*/
public boolean isPesquisarState() {
String state = this.getCurrentState();
return (state == null || PESQUISAR_STATE.equals(state));
}
public boolean isAdicionarState() {
return ADICIONAR_STATE.equals(this.getCurrentState());
}
public boolean isEditarState() {
return EDITAR_STATE.equals(this.getCurrentState());
}
/**
* Limpa os componentes filhos para que depois eles possam ser recriados
* @param component
*/
protected void cleanSubmittedValues(UIComponent component) {
component.getChildren().clear();
}
public void setFornecedores(DataModel fornecedores) {
this.fornecedores = fornecedores;
}
public FornecedorBo getFornecedorBo() {
if (fornecedorBo == null) {
fornecedorBo = new FornecedorBo();
}
return fornecedorBo;
}
public DataModel getFornecedores() {
this.setCurrentState(PESQUISAR_STATE);
List<Fornecedor> lista = getFornecedorBo().listFornecedor(currentState, currentState);
fornecedores = new ListDataModel(lista);
return fornecedores;
}
public Fornecedor getFornecedor() {
if (fornecedor == null) {
this.fornecedor = new Fornecedor();
}
return fornecedor;
}
public void setFornecedor(Fornecedor fornecedor) {
this.fornecedor = fornecedor;
}
public String getDescricaoCidade() {
return descricaoCidade;
}
public void setDescricaoCidade(String descricaoCidade) {
this.descricaoCidade = descricaoCidade;
}
/**
* Adiciona usuário
*/
public void adicionar() {
try {
this.getFornecedorBo().saveFornecedor(this.fornecedor, this.fornecedor.getCpfCnpj());
} catch (Exception ex) {
Logger.getLogger(FornecedorAction.class.getName()).log(Level.SEVERE, null, ex);
}
this.getFornecedores();
}
/**
* Edita usuário
*/
public void editar() {
try {
// já edita diretamente na lista (a lista está como static)
this.getFornecedorBo().updateFornecedor(this.fornecedor);
} catch (Exception ex) {
Logger.getLogger(FornecedorAction.class.getName()).log(Level.SEVERE, null, ex);
}
this.getFornecedores();
}
public String getCodigoCidade() {
return codigoCidade;
}
public void setCodigoCidade(String codigoCidade) {
this.codigoCidade = codigoCidade;
}
public Collection getEstado() {
return this.cidadeBo.listEstados();
}
public String searchCidade() {
Cidade cidade = new Cidade();
try {
cidade = this.fornecedorBo.searchCidade(Integer.parseInt(codigoCidade));
fornecedor.setCidade(cidade);
} catch (Exception ex) {
}
return null;
}
public CidadeBo getCidadeBo() {
if (cidadeBo == null) {
cidadeBo = new CidadeBo();
}
return cidadeBo;
}
public void setCidades(DataModel cidades) {
this.cidades = cidades;
}
public DataModel getCidades() {
List<Cidade> lista = getCidadeBo().listCidade( "Descricao",this.descricaoCidade );
cidades = new ListDataModel(lista);
return cidades;
}
/**
* Exclui usuário
public void excluir() {
try {
this.getProdutoBo().deleteProduto(this.produto);
} catch (Exception ex) {
Logger.getLogger(ProdutoAction.class.getName()).log(Level.SEVERE, null, ex);
}
this.getProdutos();
}
* /**
* Referente ao botão voltar
*/
public String voltar() {
this.clear();
this.getFornecedores();
return "goToPesquisarFornecedor";
}
/**
* Limpa atributos
*/
private void clear() {
this.fornecedor = new Fornecedor();
this.cleanSubmittedValues(this.panelForm);
}
}
return "goToAdicionarFornecedor";
}
/**
* Prepara view editar
*/
public String prepareEditar() {
this.setCurrentState(EDITAR_STATE);
return "goToEditarFornecedor";
}
public String preparePesquisar() {
this.isPesquisarState();
return "goToPesquisarFornecedor";
}
/*
* Métodos que expõem o estado à página
*/
public boolean isPesquisarState() {
String state = this.getCurrentState();
return (state == null || PESQUISAR_STATE.equals(state));
}
public boolean isAdicionarState() {
return ADICIONAR_STATE.equals(this.getCurrentState());
}
public boolean isEditarState() {
return EDITAR_STATE.equals(this.getCurrentState());
}
/**
* Limpa os componentes filhos para que depois eles possam ser recriados
* @param component
*/
protected void cleanSubmittedValues(UIComponent component) {
component.getChildren().clear();
}
public void setFornecedores(DataModel fornecedores) {
this.fornecedores = fornecedores;
}
public FornecedorBo getFornecedorBo() {
if (fornecedorBo == null) {
fornecedorBo = new FornecedorBo();
}
return fornecedorBo;
}
public DataModel getFornecedores() {
this.setCurrentState(PESQUISAR_STATE);
List<Fornecedor> lista = getFornecedorBo().listFornecedor(currentState, currentState);
fornecedores = new ListDataModel(lista);
return fornecedores;
}
public Fornecedor getFornecedor() {
if (fornecedor == null) {
this.fornecedor = new Fornecedor();
}
return fornecedor;
}
public void setFornecedor(Fornecedor fornecedor) {
this.fornecedor = fornecedor;
}
public String getDescricaoCidade() {
return descricaoCidade;
}
public void setDescricaoCidade(String descricaoCidade) {
this.descricaoCidade = descricaoCidade;
}
/**
* Adiciona usuário
*/
public void adicionar() {
try {
this.getFornecedorBo().saveFornecedor(this.fornecedor, this.fornecedor.getCpfCnpj());
} catch (Exception ex) {
Logger.getLogger(FornecedorAction.class.getName()).log(Level.SEVERE, null, ex);
}
this.getFornecedores();
}
/**
* Edita usuário
*/
public void editar() {
try {
// já edita diretamente na lista (a lista está como static)
this.getFornecedorBo().updateFornecedor(this.fornecedor);
} catch (Exception ex) {
Logger.getLogger(FornecedorAction.class.getName()).log(Level.SEVERE, null, ex);
}
this.getFornecedores();
}
public String getCodigoCidade() {
return codigoCidade;
}
public void setCodigoCidade(String codigoCidade) {
this.codigoCidade = codigoCidade;
}
public Collection getEstado() {
return this.cidadeBo.listEstados();
}
public String searchCidade() {
Cidade cidade = new Cidade();
try {
cidade = this.fornecedorBo.searchCidade(Integer.parseInt(codigoCidade));
fornecedor.setCidade(cidade);
} catch (Exception ex) {
}
return null;
}
public CidadeBo getCidadeBo() {
if (cidadeBo == null) {
cidadeBo = new CidadeBo();
}
return cidadeBo;
}
public void setCidades(DataModel cidades) {
this.cidades = cidades;
}
public DataModel getCidades() {
List<Cidade> lista = getCidadeBo().listCidade( "Descricao",this.descricaoCidade );
cidades = new ListDataModel(lista);
return cidades;
}
/**
* Exclui usuário
public void excluir() {
try {
this.getProdutoBo().deleteProduto(this.produto);
} catch (Exception ex) {
Logger.getLogger(ProdutoAction.class.getName()).log(Level.SEVERE, null, ex);
}
this.getProdutos();
}
* /**
* Referente ao botão voltar
*/
public String voltar() {
this.clear();
this.getFornecedores();
return "goToPesquisarFornecedor";
}
/**
* Limpa atributos
*/
private void clear() {
this.fornecedor = new Fornecedor();
this.cleanSubmittedValues(this.panelForm);
}
}
List<Cidade> lista = getCidadeBo().listCidade( "Descricao",this.descricaoCidade );
cidades = new ListDataModel(lista);
return cidades;
}
/**
* Exclui usuário
public void excluir() {
try {
this.getProdutoBo().deleteProduto(this.produto);
} catch (Exception ex) {
Logger.getLogger(ProdutoAction.class.getName()).log(Level.SEVERE, null, ex);
}
this.getProdutos();
}
* /**
* Referente ao botão voltar
*/
public String voltar() {
this.clear();
this.getFornecedores();
return "goToPesquisarFornecedor";
}
/**
* Limpa atributos
*/
private void clear() {
this.fornecedor = new Fornecedor();
this.cleanSubmittedValues(this.panelForm);
}
}
protected DataModel cidades;
private String codigoCidade;
private String descricaoCidade;
/** Creates a new instance of CidadeAction */
public FornecedorAction() {
}
public String getCurrentState() {
return currentState;
}
public void setCurrentState(String currentState) {
this.currentState = currentState;
}
public UIPanel getPanelForm() {
return panelForm;
}
public void setPanelForm(UIPanel panelForm) {
this.panelForm = panelForm;
}
/**
* Prepara view adicionar
*/
public String prepareAdicionar() {
this.clear();
this.setCurrentState(ADICIONAR_STATE);
return "goToAdicionarFornecedor";
}
/**
* Prepara view adicionar
*/
public String preparePesquisarCidade() {
return "goToAdicionarFornecedor";
}
/**
* Prepara view editar
*/
public String prepareEditar() {
this.setCurrentState(EDITAR_STATE);
return "goToEditarFornecedor";
}
public String preparePesquisar() {
this.isPesquisarState();
return "goToPesquisarFornecedor";
}
/*
* Métodos que expõem o estado à página
*/
public boolean isPesquisarState() {
String state = this.getCurrentState();
return (state == null || PESQUISAR_STATE.equals(state));
}
public boolean isAdicionarState() {
return ADICIONAR_STATE.equals(this.getCurrentState());
}
public boolean isEditarState() {
return EDITAR_STATE.equals(this.getCurrentState());
}
/**
* Limpa os componentes filhos para que depois eles possam ser recriados
* @param component
*/
protected void cleanSubmittedValues(UIComponent component) {
component.getChildren().clear();
}
public void setFornecedores(DataModel fornecedores) {
this.fornecedores = fornecedores;
}
public FornecedorBo getFornecedorBo() {
if (fornecedorBo == null) {
fornecedorBo = new FornecedorBo();
}
return fornecedorBo;
}
public DataModel getFornecedores() {
this.setCurrentState(PESQUISAR_STATE);
List<Fornecedor> lista = getFornecedorBo().listFornecedor(currentState, currentState);
fornecedores = new ListDataModel(lista);
return fornecedores;
}
public Fornecedor getFornecedor() {
if (fornecedor == null) {
this.fornecedor = new Fornecedor();
}
return fornecedor;
}
public void setFornecedor(Fornecedor fornecedor) {
this.fornecedor = fornecedor;
}
public String getDescricaoCidade() {
return descricaoCidade;
}
public void setDescricaoCidade(String descricaoCidade) {
this.descricaoCidade = descricaoCidade;
}
/**
* Adiciona usuário
*/
public void adicionar() {
try {
this.getFornecedorBo().saveFornecedor(this.fornecedor, this.fornecedor.getCpfCnpj());
} catch (Exception ex) {
Logger.getLogger(FornecedorAction.class.getName()).log(Level.SEVERE, null, ex);
}
this.getFornecedores();
}
/**
* Edita usuário
*/
public void editar() {
try {
// já edita diretamente na lista (a lista está como static)
this.getFornecedorBo().updateFornecedor(this.fornecedor);
} catch (Exception ex) {
Logger.getLogger(FornecedorAction.class.getName()).log(Level.SEVERE, null, ex);
}
this.getFornecedores();
}
public String getCodigoCidade() {
return codigoCidade;
}
public void setCodigoCidade(String codigoCidade) {
this.codigoCidade = codigoCidade;
}
public Collection getEstado() {
return this.cidadeBo.listEstados();
}
public String searchCidade() {
Cidade cidade = new Cidade();
try {
cidade = this.fornecedorBo.searchCidade(Integer.parseInt(codigoCidade));
fornecedor.setCidade(cidade);
} catch (Exception ex) {
}
return null;
}
public CidadeBo getCidadeBo() {
if (cidadeBo == null) {
cidadeBo = new CidadeBo();
}
return cidadeBo;
}
public void setCidades(DataModel cidades) {
this.cidades = cidades;
}
public DataModel getCidades() {
List<Cidade> lista = getCidadeBo().listCidade( "Descricao",this.descricaoCidade );
cidades = new ListDataModel(lista);
return cidades;
}
/**
* Exclui usuário
public void excluir() {
try {
this.getProdutoBo().deleteProduto(this.produto);
} catch (Exception ex) {
Logger.getLogger(ProdutoAction.class.getName()).log(Level.SEVERE, null, ex);
}
this.getProdutos();
}
* /**
* Referente ao botão voltar
*/
public String voltar() {
this.clear();
this.getFornecedores();
return "goToPesquisarFornecedor";
}
/**
* Limpa atributos
*/
private void clear() {
this.fornecedor = new Fornecedor();
this.cleanSubmittedValues(this.panelForm);
}
}