Subversion Repositories Sigmater

Rev

Blame | Last modification | View Log | Download | RSS feed

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<%@ page contentType="text/html;charset=UTF-8"%>
<%@page import="it.corenet.sigmater.sinteg.admin.common.LogPrinter"%>
<%@page import="javax.security.auth.Subject"%>
<%@page import="it.corenet.sigmater.sinteg.admin.pages.amministrazionesinteg.AmministrazioneSintegServizio"%>
<%@page import="it.corenet.sigmater.sinteg.admin.pages.amministrazionesinteg.AmministrazioneSintegConnector"%>
<%@page import="java.util.ArrayList"%>
<%@page import="it.corenet.sigmater.sinteg.admin.pages.amministrazionesinteg.AmministrazioneSintegUtil"%>
<%@page import="it.corenet.sigmater.sinteg.admin.common.Constants"%>
<%@page import="it.corenet.sigmater.sinteg.admin.pages.amministrazionesinteg.FinestraSinteg"%>
<html lang="it" xml:lang="it" xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>SIGMA TER - Amministrazione finestre SINTEG</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <meta http-equiv="Content-Language" content="it" />
        <!-- stylesheet che vengono usati per la stampa (screen, print) e per la visualizzazione su schermo -->
        <link rel="stylesheet" type="text/css" href="css/Main.css" title="normale" media="screen, print" />
        <!-- immagini -->
        <link rel="shortcut icon" href="img/favicon.ico" />
        <!-- javascript -->
        <script type="text/javascript" src="js/divUtili.js" >/** **/</script>
    </head>
    <body>
    <!-- Dichiarazione Variabili Globali-->
    
    <%!
        // nome JSP
        protected static final String JSP_NAME = "1_AmministrazioneSinteg.jsp";
        private LogPrinter logPrinter = null;
        public void jspInit()
        {
            //inizializzazione logger;
            logPrinter = new LogPrinter();
        }
    %>
    <%
        //lettura parametri CGI
        AmministrazioneSintegServizio servizioAmmSinteg = new AmministrazioneSintegServizio();
        //parametro utilizzato per discriminare la prima volta che si accede alla pagina dalle successive
        
        String salvaString = request.getParameter("Salva");
        boolean salva = false;
        if(salvaString != null && !salvaString.equals("null"))
            salva = true;
        
        String taskManager = request.getParameter("TaskManager");
        String sxcr = request.getParameter("Sxcr");
        logPrinter.debug(JSP_NAME,"\n PARAMETRI CGI LETTI: salva: " + salva+
                        "\n taskManager: " +taskManager+
                        "\n sxcr: " + sxcr);

        AmministrazioneSintegUtil ammSintegUtil = new AmministrazioneSintegUtil();
        String msgError = "";
        try{
                if(salva == true){
                        String esito = null;
                        String firstStart = null;
                    String firstStop = null;
                    String secondStart = null;
                    String secondStop = null;
                    String realFirstStart = null;
                    String realFirstStop = null;
                    String realSecondStart = null;
                    String realSecondStop = null;
                        for(int i=1;i<=7;i++){
                                //lettura parametri
                                firstStart = request.getParameter("firstStartDay"+i);
                        firstStop = request.getParameter("firstStopDay"+i);
                        secondStart = request.getParameter("secondStartDay"+i);
                        secondStop = request.getParameter("secondStopDay"+i);
                        //conversione casi particolari
                        realFirstStart = AmministrazioneSintegUtil.convertiOrario24in23e59(firstStart);
                        realFirstStop = AmministrazioneSintegUtil.convertiOrario24in23e59(firstStop);
                        realSecondStart = AmministrazioneSintegUtil.convertiOrario24in23e59(secondStart);
                        realSecondStop = AmministrazioneSintegUtil.convertiOrario24in23e59(secondStop);
                        logPrinter.debug("errore durate il salvataggio della finestra: "+ i +"; "+ realFirstStart +"; "+realFirstStop+ "; "+ realSecondStart +"; "+realSecondStop+ "; esito: " + esito);
                        //controllo della sintassi/coerenza e creazione della finestra sinteg
                        FinestraSinteg finestraSinteg = AmministrazioneSintegUtil.createWindow(i,realFirstStart, realFirstStop, realSecondStart,realSecondStop);                        
                        esito = AmministrazioneSintegServizio.setWindow(finestraSinteg);
                        if(esito.startsWith(Constants.COD_ESITO_STORE_PROCEDURE_ERRORE))
                        {
                                logPrinter.debug("errore durate il salvataggio della finestra: "+ i +" "+ firstStart +" "+firstStop+ " esito: " + esito  );
                                throw new IllegalArgumentException("errore durate il salvataggio della finestra: "+ i +" "+ firstStart +" "+firstStop+ " esito: " + esito);
                        }
                    }
                }
        }
        catch(IllegalArgumentException iae)
        {
                logPrinter.error("Errori nel formato o nella coerenza degli orari inseriti",iae);
                msgError = "Errori nel formato o nella coerenza degli orari inseriti. Intervalli  di operativit&agrave; non salvati correttamente";
        }
        //avvio/disattivazione task manager e sxcr
        String resultTaskManager = null;
        String resultSxcr = null;
        if(taskManager != null && !taskManager.equals("")) {
                int avvio= Integer.parseInt(taskManager);
                if(avvio == Constants.COD_AVVIA_TASK_MANAGER){
                        resultTaskManager = AmministrazioneSintegServizio.startTaskManager();
                }
                else if(avvio == Constants.COD_STOP_TASK_MANAGER){
                        resultTaskManager = AmministrazioneSintegServizio.stopTaskManager();
                }
        }
        if(sxcr != null && !sxcr.equals("")){
            int avvio= Integer.parseInt(sxcr);
            if(avvio == Constants.COD_AVVIA_TASK_MANAGER){
                resultSxcr = AmministrazioneSintegServizio.startSxcr();
            }
            else if(avvio == Constants.COD_STOP_TASK_MANAGER){
                resultSxcr = AmministrazioneSintegServizio.stopSxcr();
            }
        }

        ArrayList finestreSinteg = null;
        AmministrazioneSintegConnector ammConnector = servizioAmmSinteg.caricaFinestreSinteg();
        finestreSinteg = (ArrayList) ammConnector.getElencoFinesteSinteg();
        %>
        <div id="global">
            <div id="header">
                    <img src="img/s3LogoS3.gif" alt="Logo Sigmater" />
                <div id="mainnav">
                    <ul>
                        <li>
                            <a href="index.html" accesskey="a">Menu principale</a>
                        </li>
                    </ul>
                </div>
            </div>
            <!-- fine header -->
            <div id="content">
                <div id="richiesta">
                    <div id="pdf">
                        <a href="html/1_HelpAmministrazioneSinteg.html" target="_blank">
                            <img src="img/s3help.gif" alt="Help pagina 1 Amministrazione Sinteg" />
                        </a>
                    </div>
                    <h1>Amministrazione del SINTEG e del DBTI</h1>
                    <h2>Amministrazione del SINTEG</h2>
                    <p />
                        <!-- ********************************************  Parametri richiesta  **************************************-->
                        <%
                           if(!msgError.equals(""))
                           {
                              out.print("<fieldset><legend>Attenzione!</legend><p style=\"color:red;\">"+msgError+"</p></fieldset>");
                           }
                           else if(salva == true)
                           {
                             out.print("<fieldset><p style=\"color:black;\">Intervalli di operativit&agrave; salvati correttamente</p></fieldset>");
                           }
                           if(resultTaskManager != null && !resultTaskManager.equals(Constants.COD_ESITO_STORE_PROCEDURE_OK))
                           {
                               out.print("<fieldset><legend>Attenzione!</legend><p style=\"color:red;\">Operazione su Task manager non riuscita: "+resultTaskManager+"</p></fieldset>");
                           }
                           if(resultSxcr != null && !resultSxcr.equals(Constants.COD_ESITO_STORE_PROCEDURE_OK))
                           {
                               out.print("<fieldset><legend>Attenzione!</legend><p style=\"color:red;\">Operazione su SXCR Task manager non riuscita: "+resultSxcr+"</p></fieldset>");
                           }
                        %>
                        <fieldset>
                            <legend>Controllo operativit&agrave; del SINTEG</legend>
                            <table style="width:75%;">
                                <tbody>
                                <tr>
                                   <th style="width:25%;">
                                   <th style="width:10%;">
                                   <th style="width:45%;">
                                </tr>
                                    <tr>
                                        <td>
                                            <p>Stato SINTEG:</p>
                                        </td>
                                        <td>     
                                            <strong>
                                            <%
                                            if(AmministrazioneSintegUtil.getTaskManagerStatus().equals(Constants.COD_STATO_TASK_MANAGER_SXCR_ATTIVO)){
                                                out.print("ATTIVO");
                                            }else{
                                                out.print("DISATTIVO");
                                            }
                                            %>
                                            </strong>
                                        </td>
                                        <td>
                                            <form action="1_AmministrazioneSinteg.jsp" method="post">
                                            <%
                                            if(AmministrazioneSintegUtil.getTaskManagerStatus().equals(Constants.COD_STATO_TASK_MANAGER_SXCR_ATTIVO))
                                            {
                                                out.print("<input name=\"TaskManager\" value=\"0\" type=\"hidden\"/>");
                                                out.print("<input class=\"submit\" value=\"Disattiva\" type=\"submit\"/>");
                                            }
                                            else
                                            {
                                                out.print("<input name=\"TaskManager\" value=\"1\" type=\"hidden\"/>");
                                                out.print("<input class=\"submit\" value=\"Attiva\" type=\"submit\"/>");
                                            }
                                            %>
                                            <img src="img/punto-interrogativo.gif" alt="Vedere nota 1" title="Vedere nota 1"/>
                                            </form>
                                        </td>
                                  </tr>
                                  <tr>
                                        <td>
                                            <p>Pianificazione attivit&agrave; di aggiornamento incrementale:</p>
                                        </td>
                                        <td> 
                                            <strong>
                                            <%
                                            if(AmministrazioneSintegUtil.getSXCRStatus().equals(Constants.COD_STATO_TASK_MANAGER_SXCR_ATTIVO)){
                                                out.print("ATTIVO");
                                            }else{
                                                out.print("DISATTIVO");
                                            }
                                            %>
                                            </strong>
                                       </td>
                                       <td>
                                            <form action="1_AmministrazioneSinteg.jsp" method="post">
                                            <%
                                            if(AmministrazioneSintegUtil.getSXCRStatus().equals(Constants.COD_STATO_TASK_MANAGER_SXCR_ATTIVO)){
                                                out.print("<input name=\"Sxcr\" value=\"0\" type=\"hidden\"/>");
                                                out.print("<input class=\"submit\" value=\"Disattiva\" type=\"submit\"/>");
                                            }else{
                                                out.print("<input name=\"Sxcr\" value=\"1\" type=\"hidden\"/>");
                                                out.print("<input class=\"submit\" value=\"Attiva\" type=\"submit\"/>");
                                            }
                                            %>
                                             <img src="img/punto-interrogativo.gif" title="Vedere nota 2"/>
                                            </form>
                                        </td>
                                    </tr>
                                </tbody>
                            </table>
                            <br/>
                      <strong>Note</strong>
                      <br/>
                                      <span class="nota">1) Il SINTEG pu&ograve; essere attivato solo all'interno degli intervalli temporali di operativit&agrave; definiti nel seguito.</span>
                                      <br/>
                                      <span class="nota">2) La pianificazione di attivit&agrave; di aggiornamento incrementale pu&ograve; essere attivata o disattivata a piacimento, in modo indipendente dallo stato operativo del SINTEG.</span>
                        </fieldset>                         
                        <form action="1_AmministrazioneSinteg.jsp" method="post" id="formSalva">  
                        <fieldset>
                            <!-- Filtri disponibili -->
                            <legend>Intervalli di operativit&agrave; del SINTEG</legend>
                            <table class="ListaGenerica" summary="Questa tabella contiene i dati relativi ad una serie di cose...">
                                <!--    <caption>Stato caricamento comuni DBTI</caption>-->
                                <tbody>
                                    <tr>
                                        <th>Giorno</th>
                                        <th>Ora inizio intervallo 1</th>
                                        <th>Ora fine intervallo 1</th>
                                        <th>Ora inizio intervallo 2</th>
                                        <th>Ora fine intervallo 2</th>
                                    </tr>
                                    <%
                                        out.print(ammSintegUtil.getFinestreSintegTableEntry(finestreSinteg));
                                    %>
                                </tbody>
                            </table>
                             <p>
                                    <input type="hidden" name="Salva" value="true"/>
                                    <input type="submit" class="submit" value="Imposta intervalli"/>
                             </p>
                            <p><strong>NOTA. </strong>Il SINTEG termina sempre le attivit&agrave; in corso allo scadere di un intervallo temporale di funzionamento. La fine di un intervallo indica solamente l'orario a partire dal quale non vengono pi&ugrave; avviate nuove attivit&agrave;.
                            </p>
                        </fieldset>
                        <!-- ****************************************  Pulsanti avanti e indietro ***************************************-->
                    </form>
                </div>
            </div>
            <!-- fine content -->
            <div id="footer">         
                    Sistema SIGMA TER
                    <div id="core"><a href="http://www.sigmater.it" title="Link al sito SigmaTER">SigmaTER - Servizi Integrati catastali e Geografici per il Monitoraggio Amministrativo del TERritorio</a></div>
                <div id="validator">
                    <a href="http://validator.w3.org/check?uri=referer" title="Valida questa pagina (inglese)">XHTML 1.0</a> | 
                     <a href="http://jigsaw.w3.org/css-validator/" title="Valida il foglio di stile (inglese)">CSS 2</a> | 
                     <a href="http://www.w3.org/WAI/about.html" title="Linee guida per l'accessibilità (inglese)">WAI-A</a>
                </div>
            </div>
        </div>
    </body>
</html>