SelectoneMenu objeto chega vazio ao método

0 respostas
java
J

Dentro de um panelGrid tenho vários componentes, o problema é que um deles, o selectonemenu não leva o objeto para o método. Segue os códigos:

<h:form id="formGrid">
                    <p:panelGrid columns="7">
                    Data Inicial: <p:calendar id="popup" value="#{relatorioHistoricoMB.dataInicial}" />
                    Data Final: <p:calendar id="popup2" value="#{relatorioHistoricoMB.dataFinal}" />
                    <p:selectOneMenu value="#{relatorioHistoricoMB.reservatorio.idReservatorio}"
                        style="width:170px" required="true"
                        requiredMessage="Selecione algum.">
                        <f:selectItem itemLabel="Selecione o Reservatório" itemValue="0" />
                        <f:selectItems value="#{ReservatorioBean.listaReservatorio}"
                            var="reservatorio" itemLabel="#{reservatorio.nomeReservatorio}"
                            itemValue="#{reservatorio.idReservatorio}" />
                    </p:selectOneMenu>
                    <h:selectOneMenu id="txt3" value="#{relatorioHistoricoMB.nivel}" required="true" label="Text 3">
                            <f:selectItem itemLabel="Evento/Nível" itemValue="" noSelectionOption="true" />
                          <f:selectItem itemLabel="0%" itemValue="0" />
                            <f:selectItem itemLabel="25%" itemValue="25" />
                         <f:selectItem itemLabel="50%" itemValue="50" />
                         <f:selectItem itemLabel="75%" itemValue="75" /> 
                         <f:selectItem itemLabel="100%" itemValue="100" /> 
                         <f:selectItem itemLabel="Ligado" itemValue="Ligado" />
                         <f:selectItem itemLabel="Desligado" itemValue="Desligado" />  
                    </h:selectOneMenu>
                    <p:commandButton ajax="false"  value="Gerar relatório" update="formGrid"
                        actionListener="#{relatorioHistoricoMB.executar}" />
                    </p:panelGrid>    
                    </h:form>

O método

public void executar() throws Exception {

        List<Historico> ListaHistorico = new ArrayList<Historico>();

        HistoricoCrudAnnotations HistoricoDAO = new HistoricoCrudAnnotations();
        ListaHistorico = HistoricoDAO.listar();
        int x = ListaHistorico.size();
        Historico2[] ListaHistorico2 = new Historico2[x];
        List<Historico2> Historico = new ArrayList<Historico2>();
        GregorianCalendar dataCal = new GregorianCalendar();

        dataCal.setTime(dataInicial);

        int mesInicial = (dataCal.get(Calendar.MONTH)) + 1;
        dataCal.setTime(dataFinal);

        int mesFinal = (dataCal.get(Calendar.MONTH)) + 1;
        System.out.println("MÉTODO EXECUTAR");
        for (int i = 0; i < ListaHistorico.size(); i++) {
            String mesBanco = historicoDAO.listar().get(i).getDataHistorico()
                    .substring(3, 5);
            int mesBancoi = Integer.parseInt(mesBanco);

            // reservatorio.setIdReservatorio(5);
            SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
            java.util.Date data = new java.util.Date(format.parse(
                    historicoDAO.listar().get(i).getDataHistorico()).getTime());
            System.out.println("Data Inicial:" + dataInicial);
            System.out.println("Data Final:" + dataFinal);
            System.out.println("Data :" + data);
            System.out.println("Reservatório: "+reservatorio.getNomeReservatorio());
            /*
             * System.out.println("Data Inicial:"+ dataInicial);
             * System.out.println("Data Final:"+ dataFinal);
             * System.out.println("Data Inicial:"+ data); }
             */
        if(ListaHistorico.get(i).getReservatorio().equals(reservatorio)){
            System.out.println("ENCONTREI O RESERVATÓRIO");
            if (((data.compareTo(dataInicial) >= 0) && (data.compareTo(dataFinal) <= 0)))
            {
                System.out.println("ENCONTREI A DATA");
                if(ListaHistorico.get(i).getReservatorio().getObsReservatorio().equalsIgnoreCase(nivel))
                {
                    System.out.println("ENCONTREI O EVENTO");
                
                ListaHistorico2[i] = new Historico2();
                ListaHistorico2[i].setIdHistorico(ListaHistorico.get(i)
                        .getIdHistorico());
                ListaHistorico2[i].setNomeBomba(ListaHistorico.get(i)
                        .getBomba().getNomeBomba());
                ListaHistorico2[i].setNomeReservatorio(ListaHistorico.get(i)
                        .getReservatorio().getNomeReservatorio());
                ListaHistorico2[i].setNovoStatusHistorico(ListaHistorico.get(i)
                        .getNovoStatusHistorico());
                ListaHistorico2[i].setDataHistorico(ListaHistorico.get(i)
                        .getDataHistorico());
                ListaHistorico2[i].setObsReservatorio(ListaHistorico.get(i)
                        .getReservatorio().getObsReservatorio());
                Historico.add(ListaHistorico2[i]);
                }
            }
          }
        }
        // System.out.println("HISTORICO"+Historico.get(0).getNovoStatusHistorico());
        // System.out.println("HISTORICO"+Historico.get(1).getNovoStatusHistorico());
        JRBeanCollectionDataSource beanCollectionDataSource = new JRBeanCollectionDataSource(
                Historico, false);
        Map<String, Object> parameterMap = new HashMap<String, Object>();
        Image logo = new ImageIcon(getClass().getResource("Logo.png"))
                .getImage();
        parameterMap.put("logo", logo);
        ReportUtil.executarRelatorio("/WEB-INF/jasper/Rhistorico.jasper",
                parameterMap, "RelatorioHistorico", beanCollectionDataSource);

    }
Criado 17 de abril de 2016
Respostas 0
Participantes 1