Java tutorial
/* * Copyright (C) 2008, EGT Consultores, C.A. * * Este programa es software libre; usted puede redistribuirlo y/o modificarlo bajo los trminos * de la licencia "GNU General Public License" publicada por la Fundacin "Free Software Foundation". * * Este programa se distribuye con la esperanza de que pueda ser til, pero SIN NINGUNA GARANTIA; * vea la licencia "GNU General Public License" para obtener mas informacin. * */ package com.egt.web.configuracion.basica; import com.egt.base.constants.CPP; import com.egt.base.constants.URX2; import com.egt.commons.util.Bit; import com.egt.commons.util.BitUtils; import com.egt.commons.util.ThrowableUtils; import com.egt.core.aplicacion.Bitacora; import com.egt.core.aplicacion.ExcepcionAplicacion; import com.egt.core.aplicacion.FiltroBusqueda; import com.egt.core.aplicacion.ListaParametros; import com.egt.core.aplicacion.Mensaje; import com.egt.core.aplicacion.TLC; import com.egt.core.aplicacion.web.ContextoAplicacionEstandar; import com.egt.core.aplicacion.web.ContextoPeticionEstandar; import com.egt.core.aplicacion.web.ContextoSesionEstandar; import com.egt.core.aplicacion.web.FragmentoFiltroEstandar; import com.egt.core.aplicacion.web.GestorPaginaBasica; import com.egt.core.aplicacion.web.PaginaConsultaConFiltro; import com.egt.core.constants.Global; import com.egt.core.db.xdp.RecursoCachedRowSetDataProvider; import com.egt.core.enums.EnumColumnaEtiqueta; import com.egt.core.jsf.JSF; import com.egt.data.general.xdp2.FiltroFuncionCachedRowSetDataProvider2; import com.sun.rave.web.ui.appbase.AbstractFragmentBean; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; import com.sun.webui.jsf.component.Button; import com.sun.webui.jsf.component.DropDown; import com.sun.webui.jsf.component.HiddenField; import com.sun.webui.jsf.component.ImageComponent; import com.sun.webui.jsf.component.Label; import com.sun.webui.jsf.component.TextField; import java.util.Iterator; import javax.faces.FacesException; import javax.faces.component.html.HtmlPanelGrid; import javax.faces.convert.LongConverter; import javax.faces.event.ValueChangeEvent; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang.StringUtils; /** * <p>Fragment bean that corresponds to a similarly named JSP page * fragment. This class contains component definitions (and initialization * code) for all components that you have defined on this fragment, as well as * lifecycle methods and event handlers where you may add behavior * to respond to incoming events.</p> */ public class FragmentoFiltro extends AbstractFragmentBean implements FragmentoFiltroEstandar { // <editor-fold defaultstate="collapsed" desc="Managed Component Definition"> /** * <p>Automatically managed component initialization. <strong>WARNING:</strong> * This method is automatically generated, so any user-specified code inserted * here is subject to being replaced.</p> */ private void _init() throws Exception { filtroDataProvider .setCachedRowSet((javax.sql.rowset.CachedRowSet) getValue("#{SessionBean1.filtroRowSet}")); } private FiltroFuncionCachedRowSetDataProvider2 filtroDataProvider = new FiltroFuncionCachedRowSetDataProvider2(); public FiltroFuncionCachedRowSetDataProvider2 getFiltroDataProvider() { return filtroDataProvider; } public void setFiltroDataProvider(FiltroFuncionCachedRowSetDataProvider2 crsdp) { this.filtroDataProvider = crsdp; } private HiddenField campoAplicarFiltro1 = new HiddenField(); public HiddenField getCampoAplicarFiltro1() { return campoAplicarFiltro1; } public void setCampoAplicarFiltro1(HiddenField hf) { this.campoAplicarFiltro1 = hf; } private HtmlPanelGrid gridPanelCodigo1 = new HtmlPanelGrid(); public HtmlPanelGrid getGridPanelCodigo1() { return gridPanelCodigo1; } public void setGridPanelCodigo1(HtmlPanelGrid hpg) { this.gridPanelCodigo1 = hpg; } private ImageComponent imagenTextoFiltro1 = new ImageComponent(); public ImageComponent getImagenTextoFiltro1() { return imagenTextoFiltro1; } public void setImagenTextoFiltro1(ImageComponent ic) { this.imagenTextoFiltro1 = ic; } private Label etiquetaTextoFiltro1 = new Label(); public Label getEtiquetaTextoFiltro1() { return etiquetaTextoFiltro1; } public void setEtiquetaTextoFiltro1(Label l) { this.etiquetaTextoFiltro1 = l; } private HtmlPanelGrid gridPanelCodigo2 = new HtmlPanelGrid(); public HtmlPanelGrid getGridPanelCodigo2() { return gridPanelCodigo2; } public void setGridPanelCodigo2(HtmlPanelGrid hpg) { this.gridPanelCodigo2 = hpg; } private TextField textoFiltro1 = new com.egt.core.jsf.component.CampoTexto(); public TextField getTextoFiltro1() { return textoFiltro1; } public void setTextoFiltro1(TextField tf) { this.textoFiltro1 = tf; } private HtmlPanelGrid gridPanelCodigo3 = new HtmlPanelGrid(); public HtmlPanelGrid getGridPanelCodigo3() { return gridPanelCodigo3; } public void setGridPanelCodigo3(HtmlPanelGrid hpg) { this.gridPanelCodigo3 = hpg; } private Button botonBorrar1 = new Button(); public Button getBotonBorrar1() { return botonBorrar1; } public void setBotonBorrar1(Button b) { this.botonBorrar1 = b; } private HtmlPanelGrid gridPanelNombre1 = new HtmlPanelGrid(); public HtmlPanelGrid getGridPanelNombre1() { return gridPanelNombre1; } public void setGridPanelNombre1(HtmlPanelGrid hpg) { this.gridPanelNombre1 = hpg; } private ImageComponent imagenTextoFiltro2 = new ImageComponent(); public ImageComponent getImagenTextoFiltro2() { return imagenTextoFiltro2; } public void setImagenTextoFiltro2(ImageComponent ic) { this.imagenTextoFiltro2 = ic; } private Label etiquetaTextoFiltro2 = new Label(); public Label getEtiquetaTextoFiltro2() { return etiquetaTextoFiltro2; } public void setEtiquetaTextoFiltro2(Label l) { this.etiquetaTextoFiltro2 = l; } private HtmlPanelGrid gridPanelNombre2 = new HtmlPanelGrid(); public HtmlPanelGrid getGridPanelNombre2() { return gridPanelNombre2; } public void setGridPanelNombre2(HtmlPanelGrid hpg) { this.gridPanelNombre2 = hpg; } private TextField textoFiltro2 = new com.egt.core.jsf.component.CampoTexto(); public TextField getTextoFiltro2() { return textoFiltro2; } public void setTextoFiltro2(TextField tf) { this.textoFiltro2 = tf; } private HtmlPanelGrid gridPanelNombre3 = new HtmlPanelGrid(); public HtmlPanelGrid getGridPanelNombre3() { return gridPanelNombre3; } public void setGridPanelNombre3(HtmlPanelGrid hpg) { this.gridPanelNombre3 = hpg; } private Button botonBorrar2 = new Button(); public Button getBotonBorrar2() { return botonBorrar2; } public void setBotonBorrar2(Button b) { this.botonBorrar2 = b; } private HtmlPanelGrid gridPanelFiltro1 = new HtmlPanelGrid(); public HtmlPanelGrid getGridPanelFiltro1() { return gridPanelFiltro1; } public void setGridPanelFiltro1(HtmlPanelGrid hpg) { this.gridPanelFiltro1 = hpg; } private ImageComponent imagenListaFiltro1 = new ImageComponent(); public ImageComponent getImagenListaFiltro1() { return imagenListaFiltro1; } public void setImagenListaFiltro1(ImageComponent ic) { this.imagenListaFiltro1 = ic; } private Label etiquetaListaFiltro1 = new Label(); public Label getEtiquetaListaFiltro1() { return etiquetaListaFiltro1; } public void setEtiquetaListaFiltro1(Label l) { this.etiquetaListaFiltro1 = l; } private HtmlPanelGrid gridPanelFiltro2 = new HtmlPanelGrid(); public HtmlPanelGrid getGridPanelFiltro2() { return gridPanelFiltro2; } public void setGridPanelFiltro2(HtmlPanelGrid hpg) { this.gridPanelFiltro2 = hpg; } private DropDown listaFiltro1 = new com.egt.core.jsf.component.ListaDesplegable(); public DropDown getListaFiltro1() { return listaFiltro1; } public void setListaFiltro1(DropDown dd) { this.listaFiltro1 = dd; } private HtmlPanelGrid gridPanelFiltro3 = new HtmlPanelGrid(); public HtmlPanelGrid getGridPanelFiltro3() { return gridPanelFiltro3; } public void setGridPanelFiltro3(HtmlPanelGrid hpg) { this.gridPanelFiltro3 = hpg; } private Button botonBorrarFiltro1 = new Button(); public Button getBotonBorrarFiltro1() { return botonBorrarFiltro1; } public void setBotonBorrarFiltro1(Button b) { this.botonBorrarFiltro1 = b; } private Button botonBuscarFiltro1 = new Button(); public Button getBotonBuscarFiltro1() { return botonBuscarFiltro1; } public void setBotonBuscarFiltro1(Button b) { this.botonBuscarFiltro1 = b; } private Button botonBuscarFiltro2 = new Button(); public Button getBotonBuscarFiltro2() { return botonBuscarFiltro2; } public void setBotonBuscarFiltro2(Button b) { this.botonBuscarFiltro2 = b; } private Button botonAplicarFiltro1 = new Button(); public Button getBotonAplicarFiltro1() { return botonAplicarFiltro1; } public void setBotonAplicarFiltro1(Button b) { this.botonAplicarFiltro1 = b; } private Button botonQuitarFiltro1 = new Button(); public Button getBotonQuitarFiltro1() { return botonQuitarFiltro1; } public void setBotonQuitarFiltro1(Button b) { this.botonQuitarFiltro1 = b; } private Button botonRestaurarFiltro1 = new Button(); public Button getBotonRestaurarFiltro1() { return botonRestaurarFiltro1; } public void setBotonRestaurarFiltro1(Button b) { this.botonRestaurarFiltro1 = b; } private Button botonOcultarFiltro1 = new Button(); public Button getBotonOcultarFiltro1() { return botonOcultarFiltro1; } public void setBotonOcultarFiltro1(Button b) { this.botonOcultarFiltro1 = b; } private Button botonMostrarFiltro1 = new Button(); public Button getBotonMostrarFiltro1() { return botonMostrarFiltro1; } public void setBotonMostrarFiltro1(Button b) { this.botonMostrarFiltro1 = b; } private LongConverter longConverter1 = new LongConverter(); public LongConverter getLongConverter1() { return longConverter1; } public void setLongConverter1(LongConverter lc) { this.longConverter1 = lc; } // </editor-fold> public FragmentoFiltro() { } /** * <p>Callback method that is called whenever a page containing * this page fragment is navigated to, either directly via a URL, * or indirectly via page navigation. Override this method to acquire * resources that will be needed for event handlers and lifecycle methods.</p> * * <p>The default implementation does nothing.</p> */ @Override //@PostConstruct public void init() { // Perform initializations inherited from our superclass super.init(); // Perform application initialization that must complete // *before* managed components are initialized // -> add your own initialization code here this.preiniciar(); // <editor-fold defaultstate="collapsed" desc="Visual-Web-managed Component Initialization"> // Initialize automatically managed components // *Note* - this logic should NOT be modified try { _init(); } catch (Exception e) { log(com.egt.core.util.Bundle.getString("bean.initialization.error"), e); throw e instanceof FacesException ? (FacesException) e : new FacesException(e); } // </editor-fold> // Perform application initialization that must complete // *after* managed components are initialized // -> add your own initialization code here this.iniciar(); } /** * <p>Callback method that is called after rendering is completed for * this request, if <code>init()</code> was called. Override this * method to release resources acquired in the <code>init()</code> * resources that will be needed for event handlers and lifecycle methods.</p> * * <p>The default implementation does nothing.</p> */ @Override //@PreDestroy public void destroy() { filtroDataProvider.close(); } /** * <p>Return a reference to the scoped data bean.</p> * * @return reference to the scoped data bean */ protected RequestBean1 getRequestBean1() { return (RequestBean1) getBean("RequestBean1"); } /** * <p>Return a reference to the scoped data bean.</p> * * @return reference to the scoped data bean */ protected ApplicationBean1 getApplicationBean1() { return (ApplicationBean1) getBean("ApplicationBean1"); } /** * <p>Return a reference to the scoped data bean.</p> * * @return reference to the scoped data bean */ protected SessionBean1 getSessionBean1() { return (SessionBean1) getBean("SessionBean1"); } // <editor-fold defaultstate="collapsed" desc="implementacion estandar de propiedades de la interfaz PaginaBasica"> public ContextoPeticionEstandar getContextoPeticion() { return (ContextoPeticionEstandar) this.getRequestBean1().getContextoPeticion(); } public ContextoSesionEstandar getContextoSesion() { return (ContextoSesionEstandar) this.getSessionBean1().getContextoSesion(); } public ContextoAplicacionEstandar getContextoAplicacion() { return (ContextoAplicacionEstandar) this.getApplicationBean1().getContextoAplicacion(); } // </editor-fold> private PaginaConsultaConFiltro getPaginaConsultaConFiltro() { return (PaginaConsultaConFiltro) this.getContextoPeticion().getPaginaActual(); } public GestorPaginaBasica getGestor() { return this.getContextoPeticion().getGestorActual(); } public RecursoCachedRowSetDataProvider getRecursoDataProvider() { return this.getPaginaConsultaConFiltro().getRecursoDataProvider(); } private Bit bitFuncionHideFilterHabilitada = new Bit() { @Override public boolean isOn() { return getRecursoDataProvider().isFuncionHideFilterHabilitada(); } }; public Bit getBitFuncionHideFilterHabilitada() { return bitFuncionHideFilterHabilitada; } private Bit bitFuncionShowFilterHabilitada = new Bit() { @Override public boolean isOn() { return getRecursoDataProvider().isFuncionShowFilterHabilitada(); } }; public Bit getBitFuncionShowFilterHabilitada() { return bitFuncionShowFilterHabilitada; } private Bit bitFuncionViewFilterHabilitada = new Bit() { @Override public boolean isOn() { return getRecursoDataProvider().isFuncionViewFilterHabilitada(); } }; public Bit getBitFuncionViewFilterHabilitada() { return bitFuncionViewFilterHabilitada; } public boolean isFuncionSelectHabilitada() { return this.getRecursoDataProvider().isFuncionSelectHabilitada(); } public boolean isFuncionSelectInhabilitada() { return !this.isFuncionSelectHabilitada(); } public boolean isFuncionApplyFilterHabilitada() { return this.getRecursoDataProvider().isFuncionApplyFilterHabilitada(); } public boolean isFuncionApplyFilterInhabilitada() { return !this.isFuncionApplyFilterHabilitada(); } public boolean isFuncionRemoveFilterHabilitada() { return this.getRecursoDataProvider().isFuncionRemoveFilterHabilitada(); } public boolean isFuncionRemoveFilterInhabilitada() { return !this.isFuncionRemoveFilterHabilitada(); } public boolean isFuncionRestoreFilterHabilitada() { return this.getRecursoDataProvider().isFuncionRestoreFilterHabilitada(); } public boolean isFuncionRestoreFilterInhabilitada() { return !this.isFuncionRestoreFilterHabilitada(); } public boolean isFiltroPorCodigoHabilitado() { return this.getRecursoDataProvider().isRecursoCodificable() && this.isFuncionSelectHabilitada(); } public boolean isFiltroPorCodigoInhabilitado() { return !this.isFiltroPorCodigoHabilitado(); } public boolean isFiltroPorNombreHabilitado() { return this.getRecursoDataProvider().isRecursoNombrable() && this.isFuncionSelectHabilitada(); } public boolean isFiltroPorNombreInhabilitado() { return !this.isFiltroPorNombreHabilitado(); } public boolean isListaFiltroHabilitada() { String enabled = Bundle.getString("fragmento.filtro.lista.filtro.enabled"); return BitUtils.valueOf(enabled) && this.isFuncionSelectHabilitada(); } public boolean isListaFiltroInhabilitada() { return !this.isListaFiltroHabilitada(); } public boolean isBotonFiltroHabilitado() { String enabled = Bundle.getString("fragmento.filtro.boton.filtro.enabled"); return BitUtils.valueOf(enabled) && this.isFuncionSelectHabilitada(); } public boolean isBotonFiltroInhabilitado() { return !this.isBotonFiltroHabilitado(); } public String getEtiquetaCodigo() { return this.getRecursoDataProvider().isRecursoCodificable() ? this.getRecursoDataProvider().getRecursoCodificableDataProvider().getEtiquetaCodigoRecurso() : null; } public String getEtiquetaNombre() { return this.getRecursoDataProvider().isRecursoNombrable() ? this.getRecursoDataProvider().getRecursoNombrableDataProvider().getEtiquetaNombreRecurso() : null; } private static final String URL_IMAGEN_OK = "resources/ok_small.gif"; private static final String URL_IMAGEN_OK_DIMMED = "resources/ok_dimmed.gif"; private static final String URL_IMAGEN_WARNING = "resources/warning_small.gif"; public String getValorTextoFiltro1() { return StringUtils.trimToNull(this.getRecursoDataProvider().getCodigoFuncionSelect()); } public void setValorTextoFiltro1(String valor) { this.getRecursoDataProvider().setCodigoFuncionSelect(StringUtils.trimToNull(valor)); } public String getUrlImagenTextoFiltro1() { String cx = this.getRecursoDataProvider().getCodigoFuncionSelect(); cx = StringUtils.trimToNull(cx); return this.getRecursoDataProvider().isCodigoFuncionSelectModificado() ? URL_IMAGEN_WARNING : cx == null ? URL_IMAGEN_OK_DIMMED : URL_IMAGEN_OK; } public String getValorTextoFiltro2() { return StringUtils.trimToNull(this.getRecursoDataProvider().getNombreFuncionSelect()); } public void setValorTextoFiltro2(String valor) { this.getRecursoDataProvider().setNombreFuncionSelect(StringUtils.trimToNull(valor)); } public String getUrlImagenTextoFiltro2() { String nx = this.getRecursoDataProvider().getNombreFuncionSelect(); nx = StringUtils.trimToNull(nx); return this.getRecursoDataProvider().isNombreFuncionSelectModificado() ? URL_IMAGEN_WARNING : nx == null ? URL_IMAGEN_OK_DIMMED : URL_IMAGEN_OK; } public Long getValorListaFiltro1() { return this.getRecursoDataProvider().getFiltroFuncionSelect(); } public void setValorListaFiltro1(Long valor) { this.getRecursoDataProvider().setFiltroFuncionSelect(valor); } public String getUrlImagenListaFiltro1() { Long fx = this.getRecursoDataProvider().getFiltroFuncionSelect(); return this.getRecursoDataProvider().isFiltroFuncionSelectModificado() ? URL_IMAGEN_WARNING : fx == null ? URL_IMAGEN_OK_DIMMED : URL_IMAGEN_OK; } protected void preiniciar() { this.track("preiniciar"); this.getContextoPeticion().setFragmentoFiltroActual(this); } protected void iniciar() { this.track("iniciar"); try { this.inicializarControles(); } catch (Exception ex) { this.handle(ex); } } @Override public void reiniciar() { this.track("reiniciar"); try { this.setValorListaFiltro1(null); this.setValorTextoFiltro1(null); this.setValorTextoFiltro2(null); this.consultar(); } catch (Exception ex) { this.handle(ex); } } protected void inicializarControles() { this.getGridPanelCodigo1().setRendered(this.getRecursoDataProvider().isRecursoCodificable()); this.getGridPanelCodigo2().setRendered(this.getRecursoDataProvider().isRecursoCodificable()); this.getGridPanelCodigo3().setRendered(this.getRecursoDataProvider().isRecursoCodificable()); this.getGridPanelNombre1().setRendered(this.getRecursoDataProvider().isRecursoNombrable()); this.getGridPanelNombre2().setRendered(this.getRecursoDataProvider().isRecursoNombrable()); this.getGridPanelNombre3().setRendered(this.getRecursoDataProvider().isRecursoNombrable()); } public Object getItemsListaFiltro1() { this.track("getItemsListaFiltro1"); Object items = null; Long valor = this.getRecursoDataProvider().getFuncionSelect(); if (valor != null && valor > 0) { FiltroBusqueda filtro = new FiltroBusqueda(); String clave = FiltroFuncionCachedRowSetDataProvider2.COLUMNA_ID_FUNCION; try { filtro.addCriterio(clave, valor); this.getFiltroDataProvider().consultarFiltroFuncion(filtro); items = this.getFiltroDataProvider().getListaOpciones(true, EnumColumnaEtiqueta.COLUMNA_NOMBRE); } catch (ExcepcionAplicacion ex) { items = null; } } return items; } protected void consultar() { /* * es necesario dejar que sea la pagina la que ejecute la consulta, dado que en preprsentar * la pagina tiene logica de validacion que debe ejecutarse antes de consultar. */ this.setConsultaPendiente(); } protected void consultar(Long filtro, String codigo, String nombre) { /* * es necesario dejar que sea la pagina la que ejecute la consulta, dado que en preprsentar * la pagina tiene logica de validacion que debe ejecutarse antes de consultar. */ this.setConsultaPendiente(filtro, codigo, nombre); } protected void setConsultaPendiente() { this.setConsultaPendiente(this.getValorListaFiltro1(), this.getValorTextoFiltro1(), this.getValorTextoFiltro2()); } protected void setConsultaPendiente(Long filtro, String codigo, String nombre) { this.getContextoPeticion().setFiltroFuncionSelect(filtro); this.getContextoPeticion().setCodigoFuncionSelect(StringUtils.trimToNull(codigo)); this.getContextoPeticion().setNombreFuncionSelect(StringUtils.trimToNull(nombre)); this.getPaginaConsultaConFiltro().setConsultaPendiente(true); } public String botonBorrar1_action() { this.setValorTextoFiltro1(null); return null; } public String botonBorrar2_action() { this.setValorTextoFiltro2(null); return null; } public String botonBorrarFiltro1_action() { this.setValorListaFiltro1(null); return null; } public String botonBuscarFiltro1_action() { this.track("botonBuscarFiltro1_action"); return null; } public String getScriptBotonBuscarFiltro1() { this.track("getScriptBotonBuscarFiltro1"); String car = this.getCampoAplicarFiltro1().getClientId(this.getFacesContext()); String bar = this.getBotonAplicarFiltro1().getClientId(this.getFacesContext()); long funcion = this.getRecursoDataProvider().getFuncionSelect(); return this.getScriptAbrirVentanaFiltros(URX2.FILTRO_FUNCION, car, bar, funcion); } public String getScriptBotonBuscarFiltro2() { this.track("getScriptBotonBuscarFiltro2"); String car = this.getCampoAplicarFiltro1().getClientId(this.getFacesContext()); String bar = this.getBotonAplicarFiltro1().getClientId(this.getFacesContext()); long funcion = this.getRecursoDataProvider().getFuncionSelect(); Long filtro = this.getValorListaFiltro1(); if (filtro == null) { return this.getScriptAbrirVentanaFiltros(URX2.FILTRO_FUNCION, car, bar, funcion); } else { return this.getScriptAbrirVentanaFiltros(URX2.FILTRO_FUNCION_PAR, car, bar, filtro); } } private String getScriptAbrirVentanaFiltros(String url, String car, String bar, long rm) { ListaParametros rpl = new ListaParametros(); rpl.addParametro(CPP.ID_OPCION_CAMPO_RETORNO, FiltroFuncionCachedRowSetDataProvider2.COLUMNA_ID_FILTRO_FUNCION); rpl.addParametro(CPP.ID_CAMPO_ACCION_RETORNO, car); rpl.addParametro(CPP.ID_BOTON_ACCION_RETORNO, bar); rpl.addParametro(CPP.ID_RECURSO_MAESTRO, String.valueOf(rm)); return JSF.getOpenWindowJavaScript(url, rpl.toString()); } public String botonAplicarFiltro1_action() { try { if (this.getCampoAplicarFiltro1().getText() != null) { String filtro = (String) this.getCampoAplicarFiltro1().getText(); this.getCampoAplicarFiltro1().setText(null); if (StringUtils.isNotBlank(filtro) && filtro.startsWith(Global.PREFIJO_STRING_ID_RECURSO)) { Long valor = Long.valueOf(filtro.substring(1)); this.setValorListaFiltro1(valor); } } this.consultar(); } catch (Exception ex) { this.handle(ex); } finally { return null; } } public String botonQuitarFiltro1_action() { this.consultar(null, null, null); return null; } public String botonRestaurarFiltro1_action() { this.setValorTextoFiltro1(this.getRecursoDataProvider().getCodigoFuncionSelectAnterior()); this.setValorTextoFiltro2(this.getRecursoDataProvider().getNombreFuncionSelectAnterior()); this.setValorListaFiltro1(this.getRecursoDataProvider().getFiltroFuncionSelectAnterior()); this.consultar(); return null; } public String botonOcultarFiltro1_action() { this.getRecursoDataProvider().setFiltroEscondido(true); return null; } public String botonMostrarFiltro1_action() { this.getRecursoDataProvider().setFiltroEscondido(false); return null; } public void listaFiltro1_processValueChange(ValueChangeEvent event) { /* * Dado que este drop-down tiene la opcion de enviar automaticamente al modificar * y la pagina puede tener una tabla actualizable, entonces no se debe consultar aqui; * hay que hacerlo en el prerender. Esto se logra con la propiedad consultaPendiente. * * OJO: con la funcion "erase" se podria haber solucionado este problema, pero ahora * es necesario dejar que sea la pagina la que ejecute la consulta, dado que en preprsentar * la pagina tiene logica de validacion que debe ejecutarse antes de consultar. */ /* * Como ahora se aplican los 3 criterios (filtro, codigo y nombre) con un solo boton, * ya no se hace nada aqui; per aun se mantiene la opcion de enviar automaticamente * para actualizar el script cuando cambia de filtro. */ } // <editor-fold defaultstate="collapsed" desc="metodos estandar para el manejo de errores (track, trace, handle, show, ...)"> public void track(String metodo) { Bitacora.trace(this.getClass(), metodo); } public void trace(String mensaje) { Bitacora.trace(mensaje); } public void tell() { Iterator iterator = TLC.getBitacora().iterator(); while (iterator.hasNext()) { Mensaje mensaje = (Mensaje) iterator.next(); if (mensaje != null) { switch (mensaje.getSeveridad()) { case INFORMATIVO: this.info(mensaje.toString()); break; case ADVERTENCIA: this.warn(mensaje.toString()); break; case ERROR: this.error(mensaje.toString()); break; case FATAL: this.fatal(mensaje.toString()); break; default: this.info(mensaje.toString()); break; } } } TLC.getBitacora().clear(); } public void handle(Exception ex) { String string = ThrowableUtils.getString(ex); if (TLC.getBitacora().contiene(string)) { this.tell(); } else { this.tell(); this.fatal(string); this.log(string, ex); } } // </editor-fold> }