ips1ap101.web.fragments.FragmentoCabeza2.java Source code

Java tutorial

Introduction

Here is the source code for ips1ap101.web.fragments.FragmentoCabeza2.java

Source

/*
 * 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 ips1ap101.web.fragments;

import com.sun.rave.web.ui.appbase.AbstractFragmentBean;
import com.sun.rave.web.ui.appbase.AbstractPageBean;
import java.io.File;
import java.util.ArrayList;
import javax.ejb.EJB;
import javax.faces.convert.IntegerConverter;
import ips1ap101.ejb.core.exporter.ExporterBrokerLocal;
import ips1ap101.ejb.core.reporter.ReporterBrokerLocal;
import ips1ap101.lib.base.BaseBundle;
import ips1ap101.lib.base.app.constant.EAB;
import ips1ap101.lib.base.app.constant.URX;
import ips1ap101.lib.base.bundle.BundleWebui;
import ips1ap101.lib.base.constant.CPP;
import ips1ap101.lib.base.list.ListOptions;
import ips1ap101.lib.base.util.Bit;
import ips1ap101.lib.base.util.BitUtils;
import ips1ap101.lib.core.app.ListaParametros;
import ips1ap101.lib.core.app.TLC;
import ips1ap101.lib.core.control.UsuarioAutenticado;
import ips1ap101.lib.core.control.UsuarioAutenticadoCachingServiceLocator;
import ips1ap101.lib.core.db.util.DB;
import ips1ap101.lib.core.db.util.Reporter;
import ips1ap101.lib.core.jsf.JSF;
import ips1ap101.lib.core.util.EA;
import ips1ap101.lib.core.web.app.GestorPaginaActualizacion;
import ips1ap101.lib.core.web.app.GestorPaginaActualizacionConArbol;
import ips1ap101.lib.core.web.app.GestorPaginaActualizacionConTabla;
import ips1ap101.lib.core.web.app.GestorPaginaBasica;
import ips1ap101.lib.core.web.app.PaginaBasica;
import ips1ap101.lib.core.web.app.PaginaConsulta;
import ips1ap101.lib.core.web.app.PaginaConsultaConArbol;
import ips1ap101.lib.core.web.app.PaginaConsultaConExportacion;
import ips1ap101.lib.core.web.app.PaginaConsultaConInforme;
import ips1ap101.lib.core.web.app.PaginaConsultaConMaestro;
import ips1ap101.lib.core.web.app.PaginaConsultaConTabla;
import ips1ap101.lib.core.web.app.ThreadContext;
import org.apache.commons.lang.StringUtils;

/**
 * @author Jorge Campins
 */
public class FragmentoCabeza2 extends AbstractFragmentBean {

    // <editor-fold defaultstate="collapsed" desc="Managed Component Definition">
    private IntegerConverter listaComandoAbrir1Converter = new IntegerConverter();

    public IntegerConverter getListaComandoAbrir1Converter() {
        return listaComandoAbrir1Converter;
    }

    public void setListaComandoAbrir1Converter(IntegerConverter ic) {
        this.listaComandoAbrir1Converter = ic;
    }

    private IntegerConverter listaComandoGuardar1Converter = new IntegerConverter();

    public IntegerConverter getListaComandoGuardar1Converter() {
        return listaComandoGuardar1Converter;
    }

    public void setListaComandoGuardar1Converter(IntegerConverter ic) {
        this.listaComandoGuardar1Converter = ic;
    }

    private IntegerConverter listaComandoVer1Converter = new IntegerConverter();

    public IntegerConverter getListaComandoVer1Converter() {
        return listaComandoVer1Converter;
    }

    public void setListaComandoVer1Converter(IntegerConverter ic) {
        this.listaComandoVer1Converter = ic;
    }
    // </editor-fold>

    public FragmentoCabeza2() {
        super();
    }

    private PaginaBasica getPaginaBasica() {
        AbstractPageBean paginaActual = ThreadContext.getPaginaActual();
        return paginaActual instanceof PaginaBasica ? (PaginaBasica) paginaActual : null;
    }

    private PaginaConsulta getPaginaConsulta() {
        AbstractPageBean paginaActual = ThreadContext.getPaginaActual();
        return paginaActual instanceof PaginaConsulta ? (PaginaConsulta) paginaActual : null;
    }

    private PaginaConsultaConArbol getPaginaConsultaConArbol() {
        AbstractPageBean paginaActual = ThreadContext.getPaginaActual();
        return paginaActual instanceof PaginaConsultaConArbol ? (PaginaConsultaConArbol) paginaActual : null;
    }

    private PaginaConsultaConTabla getPaginaConsultaConTabla() {
        AbstractPageBean paginaActual = ThreadContext.getPaginaActual();
        return paginaActual instanceof PaginaConsultaConTabla ? (PaginaConsultaConTabla) paginaActual : null;
    }

    private PaginaConsultaConMaestro getPaginaConsultaConMaestro() {
        AbstractPageBean paginaActual = ThreadContext.getPaginaActual();
        return paginaActual instanceof PaginaConsultaConMaestro ? (PaginaConsultaConMaestro) paginaActual : null;
    }

    private PaginaConsultaConInforme getPaginaConsultaConInforme() {
        AbstractPageBean paginaActual = ThreadContext.getPaginaActual();
        return paginaActual instanceof PaginaConsultaConInforme ? (PaginaConsultaConInforme) paginaActual : null;
    }

    private PaginaConsultaConExportacion getPaginaConsultaConExportacion() {
        AbstractPageBean paginaActual = ThreadContext.getPaginaActual();
        return paginaActual instanceof PaginaConsultaConExportacion ? (PaginaConsultaConExportacion) paginaActual
                : null;
    }

    private GestorPaginaActualizacion getGestorPaginaActualizacion() {
        GestorPaginaBasica gestorActual = ThreadContext.getGestorActual();
        return gestorActual instanceof GestorPaginaActualizacion ? (GestorPaginaActualizacion) gestorActual : null;
    }

    private GestorPaginaActualizacionConArbol getGestorPaginaActualizacionConArbol() {
        GestorPaginaBasica gestorActual = ThreadContext.getGestorActual();
        return gestorActual instanceof GestorPaginaActualizacionConArbol
                ? (GestorPaginaActualizacionConArbol) gestorActual
                : null;
    }

    private GestorPaginaActualizacionConTabla getGestorPaginaActualizacionConTabla() {
        GestorPaginaBasica gestorActual = ThreadContext.getGestorActual();
        return gestorActual instanceof GestorPaginaActualizacionConTabla
                ? (GestorPaginaActualizacionConTabla) gestorActual
                : null;
    }

    public GestorPaginaBasica getGestor() {
        GestorPaginaBasica gestorActual = ThreadContext.getGestorActual();
        return gestorActual;
    }

    public boolean isPaginaBasica() {
        return this.getPaginaBasica() != null;
    }

    public boolean isPaginaConsulta() {
        return this.getPaginaConsulta() != null;
    }

    public boolean isPaginaConsultaConArbol() {
        return this.getPaginaConsultaConArbol() != null;
    }

    public boolean isPaginaConsultaConTabla() {
        return this.getPaginaConsultaConTabla() != null;
    }

    public boolean isPaginaConsultaConMaestro() {
        return this.getPaginaConsultaConMaestro() != null;
    }

    public boolean isPaginaConsultaConInforme() {
        return this.getPaginaConsultaConInforme() != null;
    }

    public boolean isPaginaConsultaConExportacion() {
        return this.getPaginaConsultaConExportacion() != null;
    }

    public boolean isGestorPaginaActualizacion() {
        return this.getGestorPaginaActualizacion() != null;
    }

    public boolean isGestorPaginaActualizacionConArbol() {
        return this.getGestorPaginaActualizacionConArbol() != null;
    }

    public boolean isGestorPaginaActualizacionConTabla() {
        return this.getGestorPaginaActualizacionConTabla() != null;
    }

    public boolean isArbolDisponible() {
        return ((this.isGestorPaginaActualizacionConTabla()
                && this.getGestorPaginaActualizacionConTabla().isArbolDisponible()));
    }

    public boolean isTablaDisponible() {
        return ((this.isGestorPaginaActualizacionConArbol()
                && this.getGestorPaginaActualizacionConArbol().isTablaDisponible()));
    }

    public boolean isDetalleDisponible() {
        return ((this.isGestorPaginaActualizacionConTabla()
                && this.getGestorPaginaActualizacionConTabla().isDetalleDisponible())
                || (this.isGestorPaginaActualizacionConArbol()
                        && this.getGestorPaginaActualizacionConArbol().isDetalleDisponible()));
    }

    public boolean isFuncionReportDisponible() {
        return this.isPaginaConsultaConInforme() || this.reportFileExists();
    }

    public boolean isFuncionExportDisponible() {
        return this.isPaginaConsulta();
    }

    public boolean isFuncionSelectHabilitada() {
        return this.isPaginaConsulta()
                && this.getPaginaConsulta().getRecursoDataProvider().isFuncionSelectHabilitada();
    }

    public boolean isFuncionSelectInhabilitada() {
        return !this.isFuncionSelectHabilitada();
    }

    public boolean isFuncionDetalleHabilitada() {
        return this.isPaginaConsulta()
                && this.getPaginaConsulta().getRecursoDataProvider().isFilaEscogidaDisponible();
    }

    public boolean isFuncionDetalleInhabilitada() {
        return !isFuncionDetalleHabilitada();
    }

    public boolean isFuncionAbrirFavoritosHabilitada() {
        String enabled = BaseBundle.getCurrentPageString("fragmento_cabeza_boton_abrir_favoritos_enabled");
        return BitUtils.valueOf(enabled);
    }

    private Bit bitFuncionAbrirFavoritosDisponible = new Bit() {

        @Override
        public boolean isOn() {
            return isFuncionAbrirFavoritosHabilitada();
        }

    };

    public Bit getBitFuncionAbrirFavoritosDisponible() {
        return bitFuncionAbrirFavoritosDisponible;
    }

    public boolean isFuncionAgregarFavoritosHabilitada() {
        String enabled = BaseBundle.getCurrentPageString("fragmento_cabeza_boton_agregar_favoritos_enabled");
        return !BitUtils.valueOf(enabled) ? false
                : this.isPaginaConsultaConMaestro() ? false
                        : this.isPaginaConsultaConTabla() || this.isPaginaConsultaConArbol() ? true
                                : this.isPaginaConsulta() ? false : this.isPaginaBasica();
    }

    private Bit bitFuncionAgregarFavoritosDisponible = new Bit() {

        @Override
        public boolean isOn() {
            return isFuncionAgregarFavoritosHabilitada();
        }

    };

    public Bit getBitFuncionAgregarFavoritosDisponible() {
        return bitFuncionAgregarFavoritosDisponible;
    }

    public boolean isFuncionAbrirTareasHabilitada() {
        String enabled = BaseBundle.getCurrentPageString("fragmento_cabeza_boton_abrir_tareas_enabled");
        return BitUtils.valueOf(enabled);
    }

    private Bit bitFuncionAbrirTareasDisponible = new Bit() {

        @Override
        public boolean isOn() {
            return isFuncionAbrirTareasHabilitada();
        }

    };

    public Bit getBitFuncionAbrirTareasDisponible() {
        return bitFuncionAbrirTareasDisponible;
    }

    public boolean isFuncionCambiarPasswordHabilitada() {
        String enabled = BaseBundle.getCurrentPageString("fragmento_cabeza_boton_cambiar_password_enabled");
        return BitUtils.valueOf(enabled);
    }

    private Bit bitFuncionCambiarPasswordDisponible = new Bit() {

        @Override
        public boolean isOn() {
            return EA.isDynamicAccess() && isFuncionCambiarPasswordHabilitada();
        }

    };

    public Bit getBitFuncionCambiarPasswordDisponible() {
        return bitFuncionCambiarPasswordDisponible;
    }

    public String getNombreAplicacion() {
        return BundleWebui.getCurrentPageString("nombre_aplicacion",
                BundleWebui.getString(EAB.ENTERPRISE_APPLICATION_CODE));
    }

    public String getNombrePagina() {
        //      if (this.isPaginaConsulta()) {
        //          return this.getPaginaConsulta().getEtiquetaClaseDetalle();
        //      } else if (this.isPaginaBasica()) {
        //          return this.getPaginaBasica().getEtiquetaMigasPan();
        //      } else {
        //          return null;
        //      }
        return isPaginaBasica() ? getPaginaBasica().getNombrePagina() : null;
    }

    public String getUrlImagenVerArbol() {
        return this.isFuncionSelectHabilitada() ? "resources/vtree.gif" : "resources/vtree_dimmed.gif";
    }

    public String getUrlImagenVerTabla() {
        return this.isFuncionSelectHabilitada() ? "resources/vtable.gif" : "resources/vtable_dimmed.gif";
    }

    public String getUrlImagenVerDetalle() {
        return this.isFuncionDetalleHabilitada() ? "resources/vform.gif" : "resources/vform_dimmed.gif";
    }

    public String getUrlImagenEjecutarInforme() {
        return this.isFuncionSelectHabilitada() ? "resources/run_report.gif" : "resources/run_report_dimmed.gif";
    }

    public String getUrlImagenExportarArchivo() {
        return this.isFuncionSelectHabilitada() ? "resources/run_export.gif" : "resources/run_export_dimmed.gif";
    }

    public String botonVerArbol1_action() {
        return this.accionVincularArbol();
    }

    public String botonVerTabla1_action() {
        return this.accionVincularTabla();
    }

    public String botonVerDetalle1_action() {
        return this.accionVincularDetalle();
    }

    public String botonEjecutarInforme1_action() {
        return this.accionEjecutarInforme();
    }

    public String botonExportarArchivo1_action() {
        return this.accionExportarArchivo();
    }

    public String botonFavoritos1_action() {
        return null;
    }

    public String botonFavoritos2_action() {
        try {
            String requestContextPath = getFacesContext().getExternalContext().getRequestContextPath();
            String aplicacion = StringUtils.removeStart(requestContextPath, "/");
            AbstractPageBean paginaActual = ThreadContext.getPaginaActual();
            String pagina = paginaActual.getClass().getSimpleName();
            UsuarioAutenticado usuarioAutenticado = UsuarioAutenticadoCachingServiceLocator.getInstance();
            Long usuario = usuarioAutenticado.getIdUsuario();
            TLC.getAgenteSql().executeProcedure(DB.PAGINA_USUARIO_INSERT,
                    new Object[] { aplicacion, pagina, usuario });
            TLC.getBitacora()
                    .info(ips1ap101.lib.base.bundle.BundleWebui.getString("favorito_agregado_exitosamente"));
        } catch (Exception ex) {
            TLC.getBitacora().error(ex);
        }
        return null;
    }

    public String botonTareas1_action() {
        return null;
    }

    public String getScriptFunciones() {
        String urx = URX.RASTRO_FUNCION;
        return JSF.getOpenWindowJavaScript(urx, null);
    }

    public String getScriptInformes() {
        String urx = URX.RASTRO_INFORME;
        return JSF.getOpenWindowJavaScript(urx, null);
    }

    public String getScriptProcesos() {
        String urx = URX.RASTRO_PROCESO;
        return JSF.getOpenWindowJavaScript(urx, null);
    }

    public String getScriptFavoritos() {
        String urx = URX.FAVORITOS;
        return JSF.getOpenWindowJavaScript(urx, null);
    }

    public String getScriptTareas() {
        String urx = URX.TAREA_USUARIO_READING_TABLE;
        return JSF.getOpenWindowJavaScript(urx, null);
    }

    public String getScriptCambiarPassword() {
        ListaParametros rpl = new ListaParametros();
        UsuarioAutenticado usuarioAutenticado = UsuarioAutenticadoCachingServiceLocator.getInstance();
        Long recurso = usuarioAutenticado.getIdUsuario();
        rpl.addParametro(CPP.ID_RECURSO, recurso);
        return JSF.getOpenWindowJavaScript(URX.CAMBIO_PASSWORD, null);
    }

    public String getScriptAyuda() {
        AbstractPageBean paginaActual = ThreadContext.getPaginaActual();
        String pagina = paginaActual.getClass().getSimpleName();
        return JSF.getOpenHelpWindowJavaScript(pagina);
    }

    public String getScriptCerrar() {
        return JSF.getCloseWindowJavaScript();
    }

    public String accionVincularArbol() {
        return this.isGestorPaginaActualizacionConTabla()
                ? this.getGestorPaginaActualizacionConTabla().accionVincularArbol()
                : null;
    }

    public String accionVincularTabla() {
        return this.isGestorPaginaActualizacionConArbol()
                ? this.getGestorPaginaActualizacionConArbol().accionVincularTabla()
                : null;
    }

    public String accionVincularDetalle() {
        if (this.isGestorPaginaActualizacionConTabla()) {
            return this.getGestorPaginaActualizacionConTabla().accionVincularDetalle();
        }
        if (this.isGestorPaginaActualizacionConArbol()) {
            return this.getGestorPaginaActualizacionConArbol().accionVincularDetalle();
        }
        return null;
    }

    @EJB
    private ReporterBrokerLocal reporter;

    private String accionEjecutarInforme() {
        if (this.isPaginaConsultaConInforme()) {
            this.getPaginaConsultaConInforme().informar();
        } else if (this.isPaginaConsulta()) {
            //          String informe = this.getJasperReportName();
            //          if (StringUtils.isNotBlank(informe)) {
            //              long funcion = this.getPaginaConsulta().getRecursoDataProvider().getFuncionSelect();
            //              String select = this.getPaginaConsulta().getRecursoDataProvider().getComandoSelectRestringido();
            //              reporter.executeReport(informe, funcion, select, true);
            //          }
            String informe = this.getPaginaConsulta().getRecursoDataProvider().getCodigoDominioRecurso();
            long funcion = this.getPaginaConsulta().getRecursoDataProvider().getFuncionSelect();
            String select = this.getPaginaConsulta().getRecursoDataProvider().getComandoSelectRestringido();
            reporter.executeReport(informe, funcion, select, true);
        }
        return null;
    }

    @EJB
    private ExporterBrokerLocal exporter;

    private String accionExportarArchivo() {
        if (this.isPaginaConsultaConExportacion()) {
            this.getPaginaConsultaConExportacion().exportar();
        } else if (this.isPaginaConsulta()) {
            //          String informe = this.getJasperReportName();
            //          if (StringUtils.isBlank(informe)) {
            //              informe = this.getPaginaConsulta().getRecursoDataProvider().getCodigoDominioRecurso();
            //          }
            String informe = this.getPaginaConsulta().getRecursoDataProvider().getCodigoDominioRecurso();
            long funcion = this.getPaginaConsulta().getRecursoDataProvider().getFuncionSelect();
            String select = this.getPaginaConsulta().getRecursoDataProvider().getComandoSelectRestringido();
            exporter.executeExport(informe, funcion, select, true);
        }
        return null;
    }

    private boolean reportFileExists() {
        File file = this.getJasperReportFile();
        return file != null && file.exists();
    }
    //
    //  private String getJasperReportName() {
    //      return this.getJasperReportName(this.getJasperReportFile());
    //  }
    //
    //  private String getJasperReportName(File file) {
    //      if (file == null || !file.exists()) {
    //          return null;
    //      }
    //      String filename = file.getName();
    //      int i = filename.lastIndexOf('.');
    //      int j = i < 0 ? filename.length() : i;
    //      return filename.substring(0, j);
    //  }

    private File getJasperReportFile() {
        File file = null;
        String reportName;
        String reportSourceFileName;
        if (this.isPaginaConsulta()) {
            reportName = this.getPaginaConsulta().getClass().getSimpleName();
            reportSourceFileName = Reporter.getReportSourceFileName(reportName);
            file = new File(reportSourceFileName);
            if (!file.exists()) {
                reportName = this.getPaginaConsulta().getRecursoDataProvider().getCodigoDominioRecurso();
                reportSourceFileName = Reporter.getReportSourceFileName(reportName);
                file = new File(reportSourceFileName);
            }
        }
        return file;
    }

    static final int ABRIR_BITACORA_FUNCIONES = 3;

    static final int ABRIR_BITACORA_INFORMES = 1;

    static final int ABRIR_BITACORA_PROCESOS = 2;

    static final int ABRIR_PASSWORD = 4;

    public ArrayList getOpcionesListaComandoAbrir() {
        ListOptions list = new ListOptions(false, false);
        //      list.add("",
        //              this.getGestor().getI18n().getEtiquetaSeleccioneUnaOpcionListaComandoAbrir(),
        //              this.getGestor().getI18n().getToolTipListaComandoAbrir());
        list.add(Integer.valueOf(ABRIR_BITACORA_FUNCIONES),
                this.getGestor().getI18n().getTextoBotonAbrirBitacoraFunciones(),
                this.getGestor().getI18n().getToolTipBotonAbrirBitacoraFunciones());
        //      if (this.isFuncionExportDisponible() || this.isFuncionReportDisponible()) {
        list.add(Integer.valueOf(ABRIR_BITACORA_INFORMES),
                this.getGestor().getI18n().getTextoBotonAbrirBitacoraInformes(),
                this.getGestor().getI18n().getToolTipBotonAbrirBitacoraInformes());
        //      }
        list.add(Integer.valueOf(ABRIR_BITACORA_PROCESOS),
                this.getGestor().getI18n().getTextoBotonAbrirBitacoraProcesos(),
                this.getGestor().getI18n().getToolTipBotonAbrirBitacoraProcesos());
        //      list.add(Integer.valueOf(ABRIR_PASSWORD),
        //              this.getGestor().getI18n().getTextoBotonCambiarPassword(),
        //              this.getGestor().getI18n().getToolTipBotonCambiarPassword());
        return JSF.getListaOpciones(list);
    }

    private Bit bitComandoAbrirDisponible = new Bit();

    public Bit getBitComandoAbrirDisponible() {
        return bitComandoAbrirDisponible;
    }

    private Integer comandoAbrir;

    public Integer getComandoAbrir() {
        return comandoAbrir;
    }

    public void setComandoAbrir(Integer comandoAbrir) {
        this.comandoAbrir = comandoAbrir;
    }

    public boolean isComandoAbrirHabilitado() {
        return comandoAbrir != null;
    }

    public boolean isComandoAbrirInhabilitado() {
        return !this.isComandoAbrirHabilitado();
    }

    public String botonComandoAbrir1_action() {
        return null;
    }

    public String getScriptComandoAbrir() {
        if (this.isComandoAbrirHabilitado()) {
            switch (comandoAbrir) {
            case ABRIR_BITACORA_FUNCIONES:
                return this.getScriptFunciones();
            case ABRIR_BITACORA_INFORMES:
                return this.getScriptInformes();
            case ABRIR_BITACORA_PROCESOS:
                return this.getScriptProcesos();
            //              case ABRIR_PASSWORD:
            //                  return this.getScriptCambiarPassword();
            default:
                return null;
            }
        }
        //      return this.isFuncionExportDisponible() || this.isFuncionReportDisponible() ? this.getScriptInformes() : this.getScriptProcesos();
        return this.getScriptInformes();
    }

    static final int GUARDAR_ARCHIVO = 2;

    static final int GUARDAR_INFORME = 1;

    public ArrayList getOpcionesListaComandoGuardar() {
        ListOptions list = new ListOptions(false, false);
        //      list.add("",
        //              this.getGestor().getI18n().getEtiquetaSeleccioneUnaOpcionListaComandoGuardar(),
        //              this.getGestor().getI18n().getToolTipListaComandoGuardar());
        if (this.isFuncionExportDisponible()) {
            list.add(Integer.valueOf(GUARDAR_ARCHIVO), this.getGestor().getI18n().getTextoBotonExportarArchivo(),
                    this.getGestor().getI18n().getToolTipBotonExportarArchivo());
        }
        if (this.isFuncionReportDisponible()) {
            list.add(Integer.valueOf(GUARDAR_INFORME), this.getGestor().getI18n().getTextoBotonEjecutarInforme(),
                    this.getGestor().getI18n().getToolTipBotonEjecutarInforme());
        }
        return JSF.getListaOpciones(list);
    }

    private Bit bitComandoGuardarDisponible = new Bit() {
        // override isOn

        @Override
        public boolean isOn() {
            return isFuncionExportDisponible() || isFuncionReportDisponible();
        }

    };

    public Bit getBitComandoGuardarDisponible() {
        return bitComandoGuardarDisponible;
    }

    private Integer comandoGuardar;

    public Integer getComandoGuardar() {
        return comandoGuardar;
    }

    public void setComandoGuardar(Integer comandoGuardar) {
        this.comandoGuardar = comandoGuardar;
    }

    public boolean isComandoGuardarHabilitado() {
        return comandoGuardar != null && this.isFuncionSelectHabilitada();
    }

    public boolean isComandoGuardarInhabilitado() {
        return !this.isComandoGuardarHabilitado();
    }

    public String botonComandoGuardar1_action() {
        return this.accionComandoGuardar();
    }

    public String getScriptComandoGuardar() {
        return null;
    }

    public String accionComandoGuardar() {
        if (this.isComandoGuardarHabilitado()) {
            switch (comandoGuardar) {
            case GUARDAR_ARCHIVO:
                return this.accionExportarArchivo();
            case GUARDAR_INFORME:
                return this.accionEjecutarInforme();
            default:
                return null;
            }
        }
        return null;
    }

    static final int VER_ARBOL = 1;

    static final int VER_DETALLE = 2;

    static final int VER_TABLA = 3;

    public ArrayList getOpcionesListaComandoVer() {
        ListOptions list = new ListOptions(false, false);
        //      list.add("",
        //          this.getGestor().getI18n().getEtiquetaSeleccioneUnaOpcionListaComandoVer(),
        //          this.getGestor().getI18n().getToolTipListaComandoVer());
        if (this.isArbolDisponible()) {
            list.add(Integer.valueOf(VER_ARBOL), this.getGestor().getI18n().getTextoBotonVerArbol(),
                    this.getGestor().getI18n().getToolTipBotonVerArbol());
        }
        if (this.isDetalleDisponible()) {
            list.add(Integer.valueOf(VER_DETALLE), this.getGestor().getI18n().getTextoBotonVerDetalle(),
                    this.getGestor().getI18n().getToolTipBotonVerDetalle());
        }
        if (this.isTablaDisponible()) {
            list.add(Integer.valueOf(VER_TABLA), this.getGestor().getI18n().getTextoBotonVerTabla(),
                    this.getGestor().getI18n().getToolTipBotonVerTabla());
        }
        return JSF.getListaOpciones(list);
    }

    private Bit bitComandoVerDisponible = new Bit() {
        // override isOn

        @Override
        public boolean isOn() {
            return isArbolDisponible() || isTablaDisponible() || isDetalleDisponible();
        }

    };

    public Bit getBitComandoVerDisponible() {
        return bitComandoVerDisponible;
    }

    private Integer comandoVer;

    public Integer getComandoVer() {
        return comandoVer;
        //      return comandoVer != null ? comandoVer
        //              : this.isArbolDisponible() ? VER_ARBOL
        //              : this.isTablaDisponible() ? VER_TABLA
        //              : this.isDetalleDisponible() ? VER_DETALLE
        //              : null;
    }

    public void setComandoVer(Integer comandoVer) {
        this.comandoVer = comandoVer;
    }

    public boolean isComandoVerHabilitado() {
        if (comandoVer != null) {
            switch (comandoVer) {
            case VER_ARBOL:
                return this.isFuncionSelectHabilitada();
            case VER_DETALLE:
                return this.isFuncionDetalleHabilitada();
            case VER_TABLA:
                return this.isFuncionSelectHabilitada();
            default:
                return false;
            }
        }
        return false;
    }

    public boolean isComandoVerInhabilitado() {
        return !this.isComandoVerHabilitado();
    }

    public String botonComandoVer1_action() {
        return this.accionComandoVer();
    }

    public String getScriptComandoVer() {
        return null;
    }

    public String accionComandoVer() {
        if (this.isComandoVerHabilitado()) {
            switch (comandoVer) {
            case VER_ARBOL:
                return this.accionVincularArbol();
            case VER_DETALLE:
                return this.accionVincularDetalle();
            case VER_TABLA:
                return this.accionVincularTabla();
            default:
                return null;
            }
        }
        return null;
    }

}