ConfigurazioneSistemaExporter.java

  1. /*
  2.  * GovWay - A customizable API Gateway
  3.  * https://govway.org
  4.  *
  5.  * Copyright (c) 2005-2025 Link.it srl (https://link.it).
  6.  *
  7.  * This program is free software: you can redistribute it and/or modify
  8.  * it under the terms of the GNU General Public License version 3, as published by
  9.  * the Free Software Foundation.
  10.  *
  11.  * This program is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.  * GNU General Public License for more details.
  15.  *
  16.  * You should have received a copy of the GNU General Public License
  17.  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  18.  *
  19.  */


  20. package org.openspcoop2.web.ctrlstat.servlet.config;

  21. import java.io.IOException;
  22. import java.io.OutputStream;
  23. import java.util.ArrayList;
  24. import java.util.Enumeration;
  25. import java.util.HashMap;
  26. import java.util.List;

  27. import javax.servlet.ServletException;
  28. import javax.servlet.http.HttpServlet;
  29. import javax.servlet.http.HttpServletRequest;
  30. import javax.servlet.http.HttpServletResponse;
  31. import javax.servlet.http.HttpSession;

  32. import org.openspcoop2.pdd.core.jmx.InformazioniStatoPoolThreads;
  33. import org.openspcoop2.pdd.core.jmx.InformazioniStatoPorta;
  34. import org.openspcoop2.pdd.core.jmx.InformazioniStatoPortaCache;
  35. import org.openspcoop2.pdd.timers.TimerState;
  36. import org.openspcoop2.utils.transport.http.HttpUtilities;
  37. import org.openspcoop2.web.ctrlstat.core.ControlStationCore;
  38. import org.openspcoop2.web.lib.mvc.PageData;

  39. /**
  40.  * Questa servlet si occupa di esportare le tracce in formato xml zippandole
  41.  *
  42.  *
  43.  * @author Andrea Poli (apoli@link.it)
  44.  * @author Stefano Corallo (corallo@link.it)
  45.  * @author Sandra Giangrandi (sandra@link.it)
  46.  * @author $Author$
  47.  * @version $Rev$, $Date$
  48.  *
  49.  */
  50. public class ConfigurazioneSistemaExporter extends HttpServlet {

  51.     private static final long serialVersionUID = -7341279067126334095L;
  52.    
  53.     @Override
  54.     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  55.         this.processRequest(req, resp);
  56.     }

  57.     @Override
  58.     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  59.         this.processRequest(req, resp);
  60.     }

  61.     /**
  62.      * Processa la richiesta pervenuta e si occupa di fornire i dati richiesti
  63.      * in formato zip
  64.      *
  65.      * @param req
  66.      * @param resp
  67.      * @throws ServletException
  68.      * @throws IOException
  69.      */
  70.     private void processRequest(HttpServletRequest request, HttpServletResponse response) {

  71.         HttpSession session = request.getSession(true);

  72.         // Inizializzo PageData
  73.         PageData pd = new PageData();
  74.        
  75.         ConfigurazioneHelper confHelper = null;
  76.         try {
  77.             confHelper = new ConfigurazioneHelper(request, pd, session);
  78.        
  79.             ControlStationCore.logDebug("Ricevuta Richiesta di esportazione configurazione di Sistema...");
  80.             Enumeration<?> en = confHelper.getParameterNames();
  81.             ControlStationCore.logDebug("Parametri (nome = valore):\n-----------------");
  82.             while (en.hasMoreElements()) {
  83.                 String param = (String) en.nextElement();
  84.                 String value = confHelper.getParameter(param);
  85.                 ControlStationCore.logDebug(param + " = " + value);
  86.             }
  87.             ControlStationCore.logDebug("-----------------");
  88.            
  89.            
  90.             String alias = confHelper.getParameter(ConfigurazioneCostanti.PARAMETRO_CONFIGURAZIONE_SISTEMA_NODO_CLUSTER);
  91.            
  92.             ConfigurazioneCore confCore = new ConfigurazioneCore();
  93.            
  94.             // Setto Proprietà Export File
  95.             HttpUtilities.setOutputFile(response, true, "ConfigurazioneSistema.txt");
  96.                
  97.             OutputStream out = response.getOutputStream();  
  98.             out.write(getInformazioniStatoPorta(alias, confCore).getBytes());
  99.             out.flush();
  100.             out.close();
  101.        
  102.         } catch (Exception e) {
  103.             ControlStationCore.logError("Errore durante l'export della configurazione di sistema: "+e.getMessage(), e);
  104.         }
  105.     }

  106.    
  107.     private String getInformazioniStatoPorta(String alias, ConfigurazioneCore confCore) throws Exception{
  108.        
  109.         InformazioniStatoPorta infoStatoPorta = new InformazioniStatoPorta();
  110.        
  111.         String versionePdD = null;
  112.         try{
  113.             versionePdD = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  114.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsa(alias),
  115.                     confCore.getJmxPdDConfigurazioneSistemaNomeMetodoVersionePdD(alias));
  116.         }catch(Exception e){
  117.             ControlStationCore.logError("Errore durante la lettura della versione della PdD (jmxResourcePdD): "+e.getMessage(),e);
  118.             versionePdD = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  119.         }
  120.        
  121.         String versioneBaseDati = null;
  122.         try{
  123.             versioneBaseDati = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  124.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsa(alias),
  125.                     confCore.getJmxPdDConfigurazioneSistemaNomeMetodoVersioneBaseDati(alias));
  126.         }catch(Exception e){
  127.             ControlStationCore.logError("Errore durante la lettura della versione della base dati (jmxResourcePdD): "+e.getMessage(),e);
  128.             versioneBaseDati = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  129.         }
  130.        
  131.         String confDir = null;
  132.         try{
  133.             confDir = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  134.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsa(alias),
  135.                     confCore.getJmxPdDConfigurazioneSistemaNomeMetodoDirectoryConfigurazione(alias));
  136.         }catch(Exception e){
  137.             ControlStationCore.logError("Errore durante la lettura della directory di configurazione (jmxResourcePdD): "+e.getMessage(),e);
  138.             confDir = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  139.         }
  140.        
  141.         String versioneJava = null;
  142.         try{
  143.             versioneJava = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  144.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsa(alias),
  145.                     confCore.getJmxPdDConfigurazioneSistemaNomeMetodoVersioneJava(alias));
  146.         }catch(Exception e){
  147.             ControlStationCore.logError("Errore durante la lettura della versione di java (jmxResourcePdD): "+e.getMessage(),e);
  148.             versioneJava = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  149.         }
  150.        
  151.         String vendorJava = null;
  152.         try{
  153.             vendorJava = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  154.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsa(alias),
  155.                     confCore.getJmxPdDConfigurazioneSistemaNomeMetodoVendorJava(alias));
  156.         }catch(Exception e){
  157.             ControlStationCore.logError("Errore durante la lettura delle informazioni sul vendor di java (jmxResourcePdD): "+e.getMessage(),e);
  158.             vendorJava = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  159.         }
  160.        
  161.         String messageFactory = null;
  162.         try{
  163.             messageFactory = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  164.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsa(alias),
  165.                     confCore.getJmxPdDConfigurazioneSistemaNomeMetodoMessageFactory(alias));
  166.         }catch(Exception e){
  167.             ControlStationCore.logError("Errore durante la lettura della message factory (jmxResourcePdD): "+e.getMessage(),e);
  168.             messageFactory = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  169.         }
  170.        
  171.         String statoServizioPD = null;
  172.         try{
  173.             statoServizioPD = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  174.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaStatoServiziPdD(alias),
  175.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoStatoServizioPortaDelegata(alias));
  176.         }catch(Exception e){
  177.             ControlStationCore.logError("Errore durante la lettura dello stato del servizio Porta Delegata (jmxResourcePdD): "+e.getMessage(),e);
  178.             statoServizioPD = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  179.         }
  180.        
  181.         String statoServizioPD_abilitazioni = null;
  182.         try{
  183.             statoServizioPD_abilitazioni = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  184.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaStatoServiziPdD(alias),
  185.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoStatoServizioPortaDelegataAbilitazioniPuntuali(alias));
  186.         }catch(Exception e){
  187.             ControlStationCore.logError("Errore durante la lettura dello stato del servizio Porta Delegata 'Abilitazioni Puntuali' (jmxResourcePdD): "+e.getMessage(),e);
  188.             statoServizioPD_abilitazioni = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  189.         }
  190.        
  191.         String statoServizioPD_disabilitazioni = null;
  192.         try{
  193.             statoServizioPD_disabilitazioni = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  194.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaStatoServiziPdD(alias),
  195.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoStatoServizioPortaDelegataDisabilitazioniPuntuali(alias));
  196.         }catch(Exception e){
  197.             ControlStationCore.logError("Errore durante la lettura dello stato del servizio Porta Delegata 'Disabilitazioni Puntuali' (jmxResourcePdD): "+e.getMessage(),e);
  198.             statoServizioPD_disabilitazioni = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  199.         }
  200.        
  201.         String statoServizioPA = null;
  202.         try{
  203.             statoServizioPA = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  204.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaStatoServiziPdD(alias),
  205.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoStatoServizioPortaApplicativa(alias));
  206.         }catch(Exception e){
  207.             ControlStationCore.logError("Errore durante la lettura dello stato del servizio Porta Applicativa (jmxResourcePdD): "+e.getMessage(),e);
  208.             statoServizioPA = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  209.         }
  210.        
  211.         String statoServizioPA_abilitazioni = null;
  212.         try{
  213.             statoServizioPA_abilitazioni = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  214.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaStatoServiziPdD(alias),
  215.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoStatoServizioPortaApplicativaAbilitazioniPuntuali(alias));
  216.         }catch(Exception e){
  217.             ControlStationCore.logError("Errore durante la lettura dello stato del servizio Porta Applicativa 'Abilitazioni Puntuali' (jmxResourcePdD): "+e.getMessage(),e);
  218.             statoServizioPA_abilitazioni = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  219.         }
  220.        
  221.         String statoServizioPA_disabilitazioni = null;
  222.         try{
  223.             statoServizioPA_disabilitazioni = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  224.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaStatoServiziPdD(alias),
  225.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoStatoServizioPortaApplicativaDisabilitazioniPuntuali(alias));
  226.         }catch(Exception e){
  227.             ControlStationCore.logError("Errore durante la lettura dello stato del servizio Porta Applicativa 'Disabilitazioni Puntuali' (jmxResourcePdD): "+e.getMessage(),e);
  228.             statoServizioPA_disabilitazioni = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  229.         }
  230.        
  231.         String statoServizioIM = null;
  232.         try{
  233.             statoServizioIM = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  234.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaStatoServiziPdD(alias),
  235.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoStatoServizioPortaApplicativa(alias));
  236.         }catch(Exception e){
  237.             ControlStationCore.logError("Errore durante la lettura dello stato del servizio Integration Manager (jmxResourcePdD): "+e.getMessage(),e);
  238.             statoServizioIM = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  239.         }
  240.        
  241.         String livelloSeveritaDiagnostici = null;
  242.         try{
  243.             livelloSeveritaDiagnostici = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  244.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  245.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoSeveritaDiagnostici(alias));
  246.         }catch(Exception e){
  247.             ControlStationCore.logError("Errore durante la lettura del livello di severità dei diagnostici (jmxResourcePdD): "+e.getMessage(),e);
  248.             livelloSeveritaDiagnostici = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  249.         }
  250.        
  251.         String livelloSeveritaDiagnosticiLog4j = null;
  252.         try{
  253.             livelloSeveritaDiagnosticiLog4j = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  254.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  255.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoSeveritaDiagnosticiLog4j(alias));
  256.         }catch(Exception e){
  257.             ControlStationCore.logError("Errore durante la lettura del livello di severità log4j dei diagnostici (jmxResourcePdD): "+e.getMessage(),e);
  258.             livelloSeveritaDiagnosticiLog4j = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  259.         }
  260.        
  261.         String log4jDiagnostica = null;
  262.         try{
  263.             log4jDiagnostica = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  264.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  265.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoLog4jDiagnostica(alias));
  266.         }catch(Exception e){
  267.             ControlStationCore.logError("Errore durante la lettura dello stato del file di log Log4j govway_diagnostici.log (jmxResourcePdD): "+e.getMessage(),e);
  268.             log4jDiagnostica = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  269.         }
  270.        
  271.         String log4jOpenspcoop = null;
  272.         try{
  273.             log4jOpenspcoop = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  274.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  275.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoLog4jOpenspcoop(alias));
  276.         }catch(Exception e){
  277.             ControlStationCore.logError("Errore durante la lettura dello stato del file di log Log4j govway.log (jmxResourcePdD): "+e.getMessage(),e);
  278.             log4jOpenspcoop = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  279.         }
  280.        
  281.         String log4jIntegrationManager = null;
  282.         try{
  283.             log4jIntegrationManager = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  284.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  285.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoLog4jIntegrationManager(alias));
  286.         }catch(Exception e){
  287.             ControlStationCore.logError("Errore durante la lettura dello stato del file di log Log4j govway_integrationManager.log (jmxResourcePdD): "+e.getMessage(),e);
  288.             log4jIntegrationManager = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  289.         }
  290.        
  291.         String tracciamento = null;
  292.         try{
  293.             tracciamento = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  294.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  295.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTracciamento(alias));
  296.         }catch(Exception e){
  297.             ControlStationCore.logError("Errore durante la lettura dello stato del tracciamento buste (jmxResourcePdD): "+e.getMessage(),e);
  298.             tracciamento = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  299.         }
  300.        
  301.         String dumpPD = null;
  302.         try{
  303.             dumpPD = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  304.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  305.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoDumpPD(alias));
  306.         }catch(Exception e){
  307.             ControlStationCore.logError("Errore durante la lettura dello stato del dump binario della Porta Delegata (jmxResourcePdD): "+e.getMessage(),e);
  308.             dumpPD = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  309.         }
  310.        
  311.         String dumpPA = null;
  312.         try{
  313.             dumpPA = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  314.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  315.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoDumpPA(alias));
  316.         }catch(Exception e){
  317.             ControlStationCore.logError("Errore durante la lettura dello stato del dump binario della Porta Applicativa (jmxResourcePdD): "+e.getMessage(),e);
  318.             dumpPA = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  319.         }
  320.        
  321.         String log4j_tracciamento = null;
  322.         try{
  323.             log4j_tracciamento = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  324.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  325.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoLog4jTracciamento(alias));
  326.         }catch(Exception e){
  327.             ControlStationCore.logError("Errore durante la lettura dello stato del file di log Log4j govway_tracciamento.log (jmxResourcePdD): "+e.getMessage(),e);
  328.             log4j_tracciamento = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  329.         }
  330.        
  331.         String log4j_dump = null;
  332.         try{
  333.             log4j_dump = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  334.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  335.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoLog4jDump(alias));
  336.         }catch(Exception e){
  337.             ControlStationCore.logError("Errore durante la lettura dello stato del file di log Log4j govway_dump.log (jmxResourcePdD): "+e.getMessage(),e);
  338.             log4j_dump = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  339.         }
  340.        
  341.         String fileTraceGovWayState = null;
  342.         try{
  343.             fileTraceGovWayState = confCore.getInvoker().invokeJMXMethod(alias, confCore.getJmxPdDConfigurazioneSistemaType(alias),
  344.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsa(alias),
  345.                     confCore.getJmxPdDConfigurazioneSistemaNomeMetodoGetFileTrace(alias));
  346.         }catch(Exception e){
  347.             ControlStationCore.logError("Errore durante la lettura dello stato di configurazione del file trace (jmxResourcePdD): "+e.getMessage(),e);
  348.             log4j_dump = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  349.         }
  350.        
  351.        
  352.         String errorSpecificTypeProcessRequest = null;
  353.         try{
  354.             errorSpecificTypeProcessRequest = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  355.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  356.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTransactionSpecificErrorTypeInternalRequestError(alias));
  357.         }catch(Exception e){
  358.             String tipo = ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_TRANSACTION_ERROR_TYPE+" ("+
  359.                     ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_TRANSACTION_ERROR_SPECIFIC_ERROR_TYPE_PROCESS_REQUEST+")";
  360.             ControlStationCore.logError("Errore durante la lettura dello stato (jmxResourcePdD) ["+tipo+"]: "+e.getMessage(),e);
  361.             errorSpecificTypeProcessRequest = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  362.         }
  363.        
  364.         String errorSpecificTypeProcessResponse_1 = null;
  365.         try{
  366.             errorSpecificTypeProcessResponse_1 = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  367.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  368.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTransactionSpecificErrorTypeBadResponse(alias));
  369.         }catch(Exception e){
  370.             String tipo = ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_TRANSACTION_ERROR_TYPE+" ("+
  371.                     ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_TRANSACTION_ERROR_SPECIFIC_ERROR_TYPE_PROCESS_RESPONSE+")";
  372.             ControlStationCore.logError("Errore durante la lettura dello stato (jmxResourcePdD) ["+tipo+"]: "+e.getMessage(),e);
  373.             errorSpecificTypeProcessResponse_1 = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  374.         }
  375.         String errorSpecificTypeProcessResponse_2 = null;
  376.         try{
  377.             errorSpecificTypeProcessResponse_2 = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  378.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  379.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTransactionSpecificErrorTypeInternalResponseError(alias));
  380.         }catch(Exception e){
  381.             String tipo = ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_TRANSACTION_ERROR_TYPE+" ("+
  382.                     ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_TRANSACTION_ERROR_SPECIFIC_ERROR_TYPE_PROCESS_RESPONSE+")";
  383.             ControlStationCore.logError("Errore durante la lettura dello stato (jmxResourcePdD) ["+tipo+"]: "+e.getMessage(),e);
  384.             errorSpecificTypeProcessResponse_2 = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  385.         }
  386.         String errorSpecificTypeProcessResponse = null;
  387.         if(ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE.contentEquals(errorSpecificTypeProcessResponse_1)) {
  388.             errorSpecificTypeProcessResponse = errorSpecificTypeProcessResponse_1;
  389.         }
  390.         else if(ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE.contentEquals(errorSpecificTypeProcessResponse_2)) {
  391.             errorSpecificTypeProcessResponse = errorSpecificTypeProcessResponse_2;
  392.         }
  393.         else {
  394.             errorSpecificTypeProcessResponse = ("true".equals(errorSpecificTypeProcessResponse_1) && "true".equals(errorSpecificTypeProcessResponse_2)) + "";
  395.         }
  396.        
  397.         String errorSpecificTypeInternalError = null;
  398.         try{
  399.             errorSpecificTypeInternalError = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  400.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  401.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTransactionSpecificErrorTypeInternalError(alias));
  402.         }catch(Exception e){
  403.             String tipo = ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_TRANSACTION_ERROR_TYPE+" ("+
  404.                     ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_TRANSACTION_ERROR_SPECIFIC_ERROR_TYPE_INTERNAL_ERROR+")";
  405.             ControlStationCore.logError("Errore durante la lettura dello stato (jmxResourcePdD) ["+tipo+"]: "+e.getMessage(),e);
  406.             errorSpecificTypeInternalError = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  407.         }
  408.        
  409.         String errorStatus = null;
  410.         try{
  411.             errorStatus = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  412.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  413.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTransactionErrorStatusCode(alias));
  414.         }catch(Exception e){
  415.             String tipo = ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_TRANSACTION_ERROR_STATUS+" ("+
  416.                     ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_TRANSACTION_ERROR_STATUS_CODE+")";
  417.             ControlStationCore.logError("Errore durante la lettura dello stato (jmxResourcePdD) ["+tipo+"]: "+e.getMessage(),e);
  418.             errorStatus = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  419.         }
  420.        
  421.         String errorStatusInSoapFaultCode = null;
  422.         try{
  423.             errorStatusInSoapFaultCode = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  424.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  425.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTransactionErrorUseStatusCodeAsFaultCode(alias));
  426.         }catch(Exception e){
  427.             String tipo = ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_TRANSACTION_ERROR_STATUS+" ("+
  428.                     ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_TRANSACTION_ERROR_SOAP_USE_STATUS_CODE_AS_SOAP_FAULT+")";
  429.             ControlStationCore.logError("Errore durante la lettura dello stato (jmxResourcePdD) ["+tipo+"]: "+e.getMessage(),e);
  430.             errorStatusInSoapFaultCode = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  431.         }
  432.        
  433.         String errorSpecificDetails = null;
  434.         try{
  435.             errorSpecificDetails = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  436.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  437.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTransactionSpecificErrorDetails(alias));
  438.         }catch(Exception e){
  439.             String tipo = ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_TRANSACTION_ERROR_DETAILS+" ("+
  440.                     ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_TRANSACTION_ERROR_SPECIFIC_ERROR_DETAILS+")";
  441.             ControlStationCore.logError("Errore durante la lettura dello stato (jmxResourcePdD) ["+tipo+"]: "+e.getMessage(),e);
  442.             errorSpecificDetails = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  443.         }
  444.        
  445.         String errorInstanceId = null;
  446.         try{
  447.             errorInstanceId = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  448.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  449.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTransactionErrorInstanceId(alias));
  450.         }catch(Exception e){
  451.             String tipo = ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_TRANSACTION_ERROR_INSTANCE+" ("+
  452.                     ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_TRANSACTION_ERROR_INSTANCE_ID+")";
  453.             ControlStationCore.logError("Errore durante la lettura dello stato (jmxResourcePdD) ["+tipo+"]: "+e.getMessage(),e);
  454.             errorInstanceId = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  455.         }
  456.        
  457.         String errorGenerateHttpErrorCodeInSoap = null;
  458.         try{
  459.             errorGenerateHttpErrorCodeInSoap = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  460.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  461.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTransactionErrorGenerateHttpHeaderGovWayCode(alias));
  462.         }catch(Exception e){
  463.             String tipo = ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_TRANSACTION_ERROR_SOAP_GENERATE_HTTP+" ("+
  464.                     ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_TRANSACTION_ERROR_SOAP_GENERATE_HTTP_CODE+")";
  465.             ControlStationCore.logError("Errore durante la lettura dello stato (jmxResourcePdD) ["+tipo+"]: "+e.getMessage(),e);
  466.             errorGenerateHttpErrorCodeInSoap = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  467.         }      

  468.         String infoDatabase = null;
  469.         try{
  470.             infoDatabase = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  471.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsa(alias),
  472.                     confCore.getJmxPdDConfigurazioneSistemaNomeMetodoInformazioniDatabase(alias));
  473.         }catch(Exception e){
  474.             ControlStationCore.logError("Errore durante la lettura delle informazioni sul database (jmxResourcePdD): "+e.getMessage(),e);
  475.             infoDatabase = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  476.         }
  477.        
  478.         HashMap<String, String> infoConnessioneAltriDB = null;
  479.         HashMap<String, String> statoConnessioniAltriDB = null;
  480.         try{
  481.             int numeroDatasource = 0;
  482.             try{
  483.                 String stato = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  484.                         confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaDatasourceGW(alias),
  485.                         confCore.getJmxPdDConfigurazioneSistemaNomeAttributoNumeroDatasourceGW(alias));
  486.                 if(stato!=null && !"".equals(stato)) {
  487.                     numeroDatasource = Integer.valueOf(stato);
  488.                 }
  489.             }catch(Exception e){
  490.                 ControlStationCore.logDebug("Numero di datasource attivi non ottenibili: "+e.getMessage());
  491.             }
  492.             if(numeroDatasource>0) {
  493.                 String nomiDatasource = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  494.                         confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaDatasourceGW(alias),
  495.                         confCore.getJmxPdDConfigurazioneSistemaNomeMetodoGetDatasourcesGW(alias));
  496.                 if(nomiDatasource!=null && !"".equals(nomiDatasource)) {
  497.                     /* Esempio:
  498.                      * 3 datasource allocati:
  499.     (2020-01-23_15:40:22.391) idDatasource:88c4db87-07a5-4fa6-95a5-e6caf4c21a7f jndiName:org.govway.datasource.tracciamento ConnessioniAttive:0
  500.     (2020-01-23_15:40:22.396) idDatasource:bae6582a-659b-4b70-bc9c-aca3570b45af jndiName:org.govway.datasource.statistiche ConnessioniAttive:0
  501.     (2020-01-23_15:40:22.627) idDatasource:4ff843af-94d6-4506-8ecf-aac52bcb3525 jndiName:org.govway.datasource.console ConnessioniAttive:0
  502.                      **/
  503.                     String [] lines = nomiDatasource.split("\n");
  504.                     if(lines!=null && lines.length>0) {
  505.                         for (String line : lines) {
  506.                             if(line.startsWith("(")) {
  507.                                 String [] tmp = line.split(" ");
  508.                                 if(tmp!=null && tmp.length>3) {
  509.                                     String nomeDS = tmp[2]+" "+tmp[1];
  510.                                     try{
  511.                                         String idDS = tmp[1].split(":")[1];
  512.                                        
  513.                                         String statoInfo = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  514.                                                 confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaDatasourceGW(alias),
  515.                                                 confCore.getJmxPdDConfigurazioneSistemaNomeMetodoGetInformazioniDatabaseDatasourcesGW(alias),
  516.                                                 idDS);
  517.                                         if(infoConnessioneAltriDB==null) {
  518.                                             infoConnessioneAltriDB = new HashMap<>();
  519.                                         }
  520.                                         infoConnessioneAltriDB.put(nomeDS,statoInfo);
  521.                                        
  522.                                         if(!confCore.isClusterAsyncUpdate()) {
  523.                                             String statoConnessioni = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  524.                                                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaDatasourceGW(alias),
  525.                                                     confCore.getJmxPdDConfigurazioneSistemaNomeMetodoGetUsedConnectionsDatasourcesGW(alias),
  526.                                                     idDS);
  527.                                             if(statoConnessioniAltriDB==null) {
  528.                                                 statoConnessioniAltriDB = new HashMap<>();
  529.                                             }
  530.                                             statoConnessioniAltriDB.put(nomeDS,statoConnessioni);
  531.                                         }
  532.                                        
  533.                                     }catch(Exception e){
  534.                                         ControlStationCore.logError("Errore durante la lettura delle informazioni verso il database "+nomeDS+" (jmxResourcePdD): "+e.getMessage(),e);
  535.                                        
  536.                                         if(infoConnessioneAltriDB==null) {
  537.                                             infoConnessioneAltriDB = new HashMap<>();
  538.                                         }
  539.                                         infoConnessioneAltriDB.put(nomeDS,ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE);
  540.                                        
  541.                                         if(!confCore.isClusterAsyncUpdate()) {
  542.                                             if(statoConnessioniAltriDB==null) {
  543.                                                 statoConnessioniAltriDB = new HashMap<>();
  544.                                             }
  545.                                             statoConnessioniAltriDB.put(nomeDS,ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE);
  546.                                         }
  547.                                     }      
  548.                                 }
  549.                             }
  550.                         }
  551.                     }
  552.                 }
  553.             }
  554.         }catch(Exception e){
  555.             ControlStationCore.logError("Errore durante la lettura delle informazioni verso altri database (jmxResourcePdD): "+e.getMessage(),e);
  556.            
  557.             if(infoConnessioneAltriDB==null) {
  558.                 infoConnessioneAltriDB = new HashMap<>();
  559.             }
  560.             infoConnessioneAltriDB.put("GovWayDatasources",ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE);
  561.            
  562.             if(!confCore.isClusterAsyncUpdate()) {
  563.                 if(statoConnessioniAltriDB==null) {
  564.                     statoConnessioniAltriDB = new HashMap<>();
  565.                 }
  566.                 statoConnessioniAltriDB.put("GovWayDatasources",ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE);
  567.             }
  568.         }
  569.         if(confCore.isClusterAsyncUpdate()) {
  570.             if(statoConnessioniAltriDB==null) {
  571.                 statoConnessioniAltriDB = new HashMap<>();
  572.             }
  573.             statoConnessioniAltriDB.put("GovWayDatasources",ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE_CLUSTER_ASYNC_UPDATE);
  574.         }
  575.        
  576.        
  577.        
  578.         String infoSSL = null;
  579.         try{
  580.             infoSSL = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  581.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsa(alias),
  582.                     confCore.getJmxPdDConfigurazioneSistemaNomeMetodoInformazioniCompleteSSL(alias));
  583.         }catch(Exception e){
  584.             ControlStationCore.logError("Errore durante la lettura delle informazioni SSL (jmxResourcePdD): "+e.getMessage(),e);
  585.             infoSSL = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  586.         }
  587.        
  588.         String infoCryptographyKeyLength = null;
  589.         try{
  590.             infoCryptographyKeyLength = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  591.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsa(alias),
  592.                     confCore.getJmxPdDConfigurazioneSistemaNomeMetodoInformazioniCryptographyKeyLength(alias));
  593.         }catch(Exception e){
  594.             ControlStationCore.logError("Errore durante la lettura delle informazioni sulla lunghezza delle chiavi di cifratura (jmxResourcePdD): "+e.getMessage(),e);
  595.             infoCryptographyKeyLength = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  596.         }
  597.        
  598.         String infoCharset = null;
  599.         try{
  600.             infoCharset = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  601.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsa(alias),
  602.                     confCore.getJmxPdDConfigurazioneSistemaNomeMetodoInformazioniCharset(alias));
  603.         }catch(Exception e){
  604.             ControlStationCore.logError("Errore durante la lettura delle informazioni sul charset (jmxResourcePdD): "+e.getMessage(),e);
  605.             infoCharset = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  606.         }
  607.        
  608.         String infoInternazionalizzazione = null;
  609.         try{
  610.             infoInternazionalizzazione = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  611.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsa(alias),
  612.                     confCore.getJmxPdDConfigurazioneSistemaNomeMetodoInformazioniCompleteInternazionalizzazione(alias));
  613.         }catch(Exception e){
  614.             ControlStationCore.logError("Errore durante la lettura delle informazioni sull'internazionalizzazione (jmxResourcePdD): "+e.getMessage(),e);
  615.             infoInternazionalizzazione = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  616.         }
  617.        
  618.         String infoTimeZone = null;
  619.         try{
  620.             infoTimeZone = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  621.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsa(alias),
  622.                     confCore.getJmxPdDConfigurazioneSistemaNomeMetodoInformazioniCompleteTimeZone(alias));
  623.         }catch(Exception e){
  624.             ControlStationCore.logError("Errore durante la lettura delle informazioni sul TimeZone (jmxResourcePdD): "+e.getMessage(),e);
  625.             infoTimeZone = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  626.         }
  627.        
  628.         String infoProprietaJavaNetworking = null;
  629.         try{
  630.             infoProprietaJavaNetworking = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  631.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsa(alias),
  632.                     confCore.getJmxPdDConfigurazioneSistemaNomeMetodoInformazioniCompleteProprietaJavaNetworking(alias));
  633.         }catch(Exception e){
  634.             ControlStationCore.logError("Errore durante la lettura delle informazioni sulle proprietà java di networking (jmxResourcePdD): "+e.getMessage(),e);
  635.             infoProprietaJavaNetworking = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  636.         }
  637.        
  638.         String infoProprietaJavaAltro = null;
  639.         try{
  640.             infoProprietaJavaAltro = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  641.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsa(alias),
  642.                     confCore.getJmxPdDConfigurazioneSistemaNomeMetodoInformazioniProprietaJavaAltro(alias));
  643.         }catch(Exception e){
  644.             ControlStationCore.logError("Errore durante la lettura delle informazioni sulle proprietà java (escluse quelle di networking) (jmxResourcePdD): "+e.getMessage(),e);
  645.             infoProprietaJavaAltro = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  646.         }
  647.        
  648.         String infoProprietaSistema = null;
  649.         try{
  650.             infoProprietaSistema = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  651.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsa(alias),
  652.                     confCore.getJmxPdDConfigurazioneSistemaNomeMetodoInformazioniProprietaSistema(alias));
  653.         }catch(Exception e){
  654.             ControlStationCore.logError("Errore durante la lettura delle informazioni sulle proprietà di sistema (jmxResourcePdD): "+e.getMessage(),e);
  655.             infoProprietaSistema = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  656.         }
  657.        
  658.         String infoProtocolli = null;
  659.         try{
  660.             infoProtocolli = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  661.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsa(alias),
  662.                     confCore.getJmxPdDConfigurazioneSistemaNomeMetodoPluginProtocols(alias));
  663.         }catch(Exception e){
  664.             ControlStationCore.logError("Errore durante la lettura delle informazioni sui protocolli (jmxResourcePdD): "+e.getMessage(),e);
  665.             infoProtocolli = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  666.         }
  667.        
  668.         InformazioniStatoPortaCache [] cacheArray = null;
  669.        
  670.         List<String> caches = confCore.getJmxPdDCaches(alias);
  671.         if(caches!=null && caches.size()>0){
  672.            
  673.             cacheArray = new InformazioniStatoPortaCache[caches.size()];
  674.             int i = 0;
  675.             for (String cacheName : caches) {
  676.                
  677.                 boolean enabled = false;
  678.                 try{
  679.                     String stato = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  680.                             cacheName,
  681.                             confCore.getJmxPdDCacheNomeAttributoCacheAbilitata(alias));
  682.                     if(stato.equalsIgnoreCase("true")){
  683.                         enabled = true;
  684.                     }
  685.                 }catch(Exception e){
  686.                     ControlStationCore.logError("Errore durante la lettura dello stato della cache ["+cacheName+"](jmxResourcePdD): "+e.getMessage(),e);
  687.                 }
  688.                
  689.                 cacheArray[i] = new InformazioniStatoPortaCache(cacheName, enabled);
  690.                
  691.                 if(enabled){
  692.                     String params = null;
  693.                     try{
  694.                         params = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDCacheType(alias),
  695.                                 cacheName,
  696.                                 confCore.getJmxPdDCacheNomeMetodoStatoCache(alias));
  697.                     }catch(Exception e){
  698.                         ControlStationCore.logError("Errore durante la lettura dello stato della cache ["+cacheName+"](jmxResourcePdD): "+e.getMessage(),e);
  699.                         params = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  700.                     }
  701.                     cacheArray[i].setStatoCache(params);
  702.                 }
  703.                        
  704.                 i++;
  705.             }
  706.         }
  707.        
  708.         String statoConnessioniDB = null;
  709.         if(!confCore.isClusterAsyncUpdate()) {
  710.             try{
  711.                 statoConnessioniDB = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  712.                         confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaMonitoraggio(alias),
  713.                         confCore.getJmxPdDConfigurazioneSistemaNomeMetodoConnessioniDB(alias));
  714.             }catch(Exception e){
  715.                 ControlStationCore.logError("Errore durante la lettura dello stato delle connessioni al database (jmxResourcePdD): "+e.getMessage(),e);
  716.                 statoConnessioniDB = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  717.             }
  718.         }
  719.         else {
  720.             statoConnessioniDB = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE_CLUSTER_ASYNC_UPDATE;
  721.         }
  722.        
  723.         // statoConnessioniAltriDB, letto prima durante l'acquisizione delle informazioni
  724.                
  725.         String statoConnessioniJMS = null;
  726.         if(!confCore.isClusterAsyncUpdate()) {
  727.             try{
  728.                 statoConnessioniJMS = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  729.                         confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaMonitoraggio(alias),
  730.                         confCore.getJmxPdDConfigurazioneSistemaNomeMetodoConnessioniJMS(alias));
  731.             }catch(Exception e){
  732.                 ControlStationCore.logError("Errore durante la lettura dello stato delle connessioni al broker JMS (jmxResourcePdD): "+e.getMessage(),e);
  733.                 statoConnessioniJMS = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  734.             }
  735.         }
  736.         else {
  737.             statoConnessioniJMS = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE_CLUSTER_ASYNC_UPDATE;
  738.         }
  739.        
  740.         String statoTransazioniId = null;
  741.         if(!confCore.isClusterAsyncUpdate()) {
  742.             try{
  743.                 statoTransazioniId = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  744.                         confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaMonitoraggio(alias),
  745.                         confCore.getJmxPdDConfigurazioneSistemaNomeMetodoIdTransazioniAttive(alias));
  746.             }catch(Exception e){
  747.                 ControlStationCore.logError("Errore durante la lettura degli identificativi delle transazioni attive (jmxResourcePdD): "+e.getMessage(),e);
  748.                 statoTransazioniId = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  749.             }
  750.         }
  751.         else {
  752.             statoTransazioniId = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE_CLUSTER_ASYNC_UPDATE;
  753.         }
  754.        
  755.         String statoTransazioniIdProtocollo = null;
  756.         if(!confCore.isClusterAsyncUpdate()) {
  757.             try{
  758.                 statoTransazioniIdProtocollo = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  759.                         confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaMonitoraggio(alias),
  760.                         confCore.getJmxPdDConfigurazioneSistemaNomeMetodoIdProtocolloTransazioniAttive(alias));
  761.             }catch(Exception e){
  762.                 ControlStationCore.logError("Errore durante la lettura degli identificativi di protocollo delle transazioni attive (jmxResourcePdD): "+e.getMessage(),e);
  763.                 statoTransazioniIdProtocollo = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  764.             }
  765.         }
  766.         else {
  767.             statoTransazioniIdProtocollo = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE_CLUSTER_ASYNC_UPDATE;
  768.         }
  769.        
  770.         String statoTimerVerificaConnessioni = null;
  771.         try{
  772.             statoTimerVerificaConnessioni = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  773.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  774.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTimerGestoreMessaggiVerificaConnessioniAttive(alias));
  775.         }catch(Exception e){
  776.             String tipo ="stato timer '"+
  777.                     ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_SISTEMA_GESTORE_MESSAGGI_VERIFICA_CONNESSIONI_ATTIVE+"'";
  778.             ControlStationCore.logError("Errore durante la lettura dello stato (jmxResourcePdD) ["+tipo+"]: "+e.getMessage(),e);
  779.             statoTimerVerificaConnessioni = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  780.         }
  781.        
  782.         String statoConnessioniPD = null;
  783.         if(!confCore.isClusterAsyncUpdate()) {
  784.             try{
  785.                 statoConnessioniPD = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  786.                         confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaMonitoraggio(alias),
  787.                         confCore.getJmxPdDConfigurazioneSistemaNomeMetodoConnessioniPD(alias));
  788.             }catch(Exception e){
  789.                 ControlStationCore.logError("Errore durante la lettura dello stato delle connessioni al servizio PD (jmxResourcePdD): "+e.getMessage(),e);
  790.                 statoConnessioniPD = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  791.             }
  792.         }
  793.         else {
  794.             statoConnessioniPD = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE_CLUSTER_ASYNC_UPDATE;
  795.         }
  796.        
  797.         String statoConnessioniPA = null;
  798.         if(!confCore.isClusterAsyncUpdate()) {
  799.             try{
  800.                 statoConnessioniPA = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  801.                         confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaMonitoraggio(alias),
  802.                         confCore.getJmxPdDConfigurazioneSistemaNomeMetodoConnessioniPA(alias));
  803.             }catch(Exception e){
  804.                 ControlStationCore.logError("Errore durante la lettura dello stato delle connessioni al servizio PA (jmxResourcePdD): "+e.getMessage(),e);
  805.                 statoConnessioniPA = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  806.             }
  807.         }
  808.         else {
  809.             statoConnessioniPA = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE_CLUSTER_ASYNC_UPDATE;
  810.         }
  811.        
  812.         String statoTimerConsegnaAsincrona = null;
  813.         try{
  814.             statoTimerConsegnaAsincrona = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  815.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  816.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTimerConsegnaContenutiApplicativi(alias));
  817.         }catch(Exception e){
  818.             String tipo ="stato timer '"+
  819.                     ConfigurazioneCostanti.LABEL_CONFIGURAZIONE_SISTEMA_NOTIFICHE+"'";
  820.             ControlStationCore.logError("Errore durante la lettura dello stato (jmxResourcePdD) ["+tipo+"]: "+e.getMessage(),e);
  821.             statoTimerConsegnaAsincrona = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  822.         }
  823.        
  824.         TimerState timerState = null;
  825.         try {
  826.             timerState = TimerState.valueOf(statoTimerConsegnaAsincrona);
  827.         }catch(Throwable t) {}
  828.         boolean timerAttivo = timerState!=null && TimerState.ENABLED.equals(timerState);
  829.        
  830.         List<InformazioniStatoPoolThreads> statoPoolThread = null;
  831.         if(timerAttivo) {
  832.             statoPoolThread = new ArrayList<InformazioniStatoPoolThreads>();
  833.            
  834.             List<String> code = confCore.getConsegnaNotificaCode();
  835.             for (String coda : code) {
  836.            
  837.                 String stato = null;
  838.                 try{
  839.                     stato = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  840.                             confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConsegnaContenutiApplicativi(alias),
  841.                             confCore.getJmxPdDConfigurazioneSistemaNomeMetodoGetThreadPoolStatus(alias),
  842.                             coda);
  843.                 }catch(Exception e){
  844.                     ControlStationCore.logError("Errore durante la lettura dello stato del thread pool della coda '"+coda+"' per la consegna agli applicativi (jmxResourcePdD): "+e.getMessage(),e);
  845.                     stato = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  846.                 }
  847.                
  848.                 String configurazione = null;
  849.                 try{
  850.                     configurazione = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  851.                             confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConsegnaContenutiApplicativi(alias),
  852.                             confCore.getJmxPdDConfigurazioneSistemaNomeMetodoGetQueueConfig(alias),
  853.                             coda);
  854.                 }catch(Exception e){
  855.                     ControlStationCore.logError("Errore durante la lettura della configurazione del thread pool della coda '"+coda+"' per la consegna agli applicativi (jmxResourcePdD): "+e.getMessage(),e);
  856.                     configurazione = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  857.                 }
  858.                
  859.                 String connettoriPrioritari = null;
  860.                 try{
  861.                     connettoriPrioritari = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  862.                             confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConsegnaContenutiApplicativi(alias),
  863.                             confCore.getJmxPdDConfigurazioneSistemaNomeMetodoGetConnettoriPrioritari(alias),
  864.                             coda);
  865.                 }catch(Exception e){
  866.                     ControlStationCore.logError("Errore durante la lettura della configurazione (connettori prioritari) del thread pool della coda '"+coda+"' per la consegna agli applicativi (jmxResourcePdD): "+e.getMessage(),e);
  867.                     connettoriPrioritari = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  868.                 }
  869.                
  870.                 String applicativiPrioritari = null;
  871.                 try{
  872.                     applicativiPrioritari = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  873.                             confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConsegnaContenutiApplicativi(alias),
  874.                             confCore.getJmxPdDConfigurazioneSistemaNomeMetodoGetApplicativiPrioritari(alias),
  875.                             coda);
  876.                 }catch(Exception e){
  877.                     ControlStationCore.logError("Errore durante la lettura della configurazione (applicativi prioritari) del thread pool della coda '"+coda+"' per la consegna agli applicativi (jmxResourcePdD): "+e.getMessage(),e);
  878.                     applicativiPrioritari = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  879.                 }
  880.                
  881.                 InformazioniStatoPoolThreads info = new InformazioniStatoPoolThreads(coda, stato, configurazione, connettoriPrioritari);
  882.                 info.setApplicativiPrioritari(applicativiPrioritari);
  883.                 statoPoolThread.add(info);
  884.             }
  885.         }
  886.        
  887.         String statoTimerGenerazioneStatisticheOrarie = null;
  888.         try{
  889.             statoTimerGenerazioneStatisticheOrarie = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  890.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  891.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTimerStatisticheOrarie(alias));
  892.         }catch(Exception e){
  893.             String tipo ="stato timer 'Statistiche "+
  894.                     ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_SISTEMA_STATISTICHE_ORARIE+"'";
  895.             ControlStationCore.logError("Errore durante la lettura dello stato (jmxResourcePdD) ["+tipo+"]: "+e.getMessage(),e);
  896.             statoTimerGenerazioneStatisticheOrarie = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  897.         }
  898.        
  899.         String statoTimerGenerazioneStatisticheGiornaliere = null;
  900.         try{
  901.             statoTimerGenerazioneStatisticheGiornaliere = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  902.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  903.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTimerStatisticheGiornaliere(alias));
  904.         }catch(Exception e){
  905.             String tipo ="stato timer 'Statistiche "+
  906.                     ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_SISTEMA_STATISTICHE_GIORNALIERE+"'";
  907.             ControlStationCore.logError("Errore durante la lettura dello stato (jmxResourcePdD) ["+tipo+"]: "+e.getMessage(),e);
  908.             statoTimerGenerazioneStatisticheGiornaliere = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  909.         }
  910.        
  911.         String statoTimerGenerazioneStatisticheSettimanali = null;
  912.         try{
  913.             statoTimerGenerazioneStatisticheSettimanali = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  914.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  915.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTimerStatisticheSettimanali(alias));
  916.         }catch(Exception e){
  917.             String tipo ="stato timer 'Statistiche "+
  918.                     ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_SISTEMA_STATISTICHE_SETTIMANALI+"'";
  919.             ControlStationCore.logError("Errore durante la lettura dello stato (jmxResourcePdD) ["+tipo+"]: "+e.getMessage(),e);
  920.             statoTimerGenerazioneStatisticheSettimanali = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  921.         }
  922.        
  923.         String statoTimerGenerazioneStatisticheMensili = null;
  924.         try{
  925.             statoTimerGenerazioneStatisticheMensili = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  926.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  927.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTimerStatisticheMensili(alias));
  928.         }catch(Exception e){
  929.             String tipo ="stato timer 'Statistiche "+
  930.                     ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_SISTEMA_STATISTICHE_MENSILI+"'";
  931.             ControlStationCore.logError("Errore durante la lettura dello stato (jmxResourcePdD) ["+tipo+"]: "+e.getMessage(),e);
  932.             statoTimerGenerazioneStatisticheMensili = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  933.         }
  934.        
  935.         String statoTimerMessaggiEliminati = null;
  936.         try{
  937.             statoTimerMessaggiEliminati = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  938.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  939.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTimerGestoreMessaggiPuliziaMessaggiEliminati(alias));
  940.         }catch(Exception e){
  941.             String tipo ="stato timer '"+
  942.                     ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_SISTEMA_GESTORE_MESSAGGI_PULIZIA_MESSAGGI_ELIMINATI+"'";
  943.             ControlStationCore.logError("Errore durante la lettura dello stato (jmxResourcePdD) ["+tipo+"]: "+e.getMessage(),e);
  944.             statoTimerMessaggiEliminati = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  945.         }
  946.        
  947.         String statoTimerMessaggiScaduti = null;
  948.         try{
  949.             statoTimerMessaggiScaduti = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  950.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  951.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTimerGestoreMessaggiPuliziaMessaggiScaduti(alias));
  952.         }catch(Exception e){
  953.             String tipo ="stato timer '"+
  954.                     ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_SISTEMA_GESTORE_MESSAGGI_PULIZIA_MESSAGGI_SCADUTI+"'";
  955.             ControlStationCore.logError("Errore durante la lettura dello stato (jmxResourcePdD) ["+tipo+"]: "+e.getMessage(),e);
  956.             statoTimerMessaggiScaduti = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  957.         }
  958.        
  959.         String statoTimerBuste = null;
  960.         try{
  961.             statoTimerBuste = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  962.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  963.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTimerGestoreRepositoryBuste(alias));
  964.         }catch(Exception e){
  965.             String tipo ="stato timer '"+
  966.                     ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_SISTEMA_GESTORE_REPOSITORY_BUSTE+"'";
  967.             ControlStationCore.logError("Errore durante la lettura dello stato (jmxResourcePdD) ["+tipo+"]: "+e.getMessage(),e);
  968.             statoTimerBuste = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  969.         }
  970.        
  971.         String statoTimerCorrelazioneApplicativa = null;
  972.         try{
  973.             statoTimerCorrelazioneApplicativa = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  974.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  975.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTimerGestoreMessaggiPuliziaCorrelazioneApplicativa(alias));
  976.         }catch(Exception e){
  977.             String tipo ="stato timer '"+
  978.                     ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_SISTEMA_GESTORE_MESSAGGI_PULIZIA_CORRELAZIONE_APPLICATIVA+"'";
  979.             ControlStationCore.logError("Errore durante la lettura dello stato (jmxResourcePdD) ["+tipo+"]: "+e.getMessage(),e);
  980.             statoTimerCorrelazioneApplicativa = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  981.         }
  982.        
  983.         String statoTimerMessaggiNonGestiti = null;
  984.         try{
  985.             statoTimerMessaggiNonGestiti = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  986.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  987.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTimerGestoreMessaggiPuliziaMessaggiNonGestiti(alias));
  988.         }catch(Exception e){
  989.             String tipo ="stato timer '"+
  990.                     ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_SISTEMA_GESTORE_MESSAGGI_PULIZIA_MESSAGGI_NON_GESTITI+"'";
  991.             ControlStationCore.logError("Errore durante la lettura dello stato (jmxResourcePdD) ["+tipo+"]: "+e.getMessage(),e);
  992.             statoTimerMessaggiNonGestiti = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  993.         }
  994.        
  995.         String statoTimerMessaggiAnomali = null;
  996.         try{
  997.             statoTimerMessaggiAnomali = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  998.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  999.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTimerGestorePuliziaMessaggiAnomali(alias));
  1000.         }catch(Exception e){
  1001.             String tipo ="stato timer '"+
  1002.                     ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_SISTEMA_GESTORE_PULIZIA_MESSAGGI_ANOMALI+"'";
  1003.             ControlStationCore.logError("Errore durante la lettura dello stato (jmxResourcePdD) ["+tipo+"]: "+e.getMessage(),e);
  1004.             statoTimerMessaggiAnomali = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  1005.         }
  1006.        
  1007.         String statoTimerMonitoraggioRisorse = null;
  1008.         try{
  1009.             statoTimerMonitoraggioRisorse = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  1010.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  1011.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTimerMonitoraggioRisorseThread(alias));
  1012.         }catch(Exception e){
  1013.             String tipo ="stato timer '"+
  1014.                     ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_SISTEMA_MONITORAGGIO_RISORSE_THREAD+"'";
  1015.             ControlStationCore.logError("Errore durante la lettura dello stato (jmxResourcePdD) ["+tipo+"]: "+e.getMessage(),e);
  1016.             statoTimerMonitoraggioRisorse = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  1017.         }
  1018.        
  1019.         String statoTimerThreshold = null;
  1020.         try{
  1021.             statoTimerThreshold = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  1022.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  1023.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTimerThresholdThread(alias));
  1024.         }catch(Exception e){
  1025.             String tipo ="stato timer '"+
  1026.                     ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_SISTEMA_THRESHOLD_THREAD+"'";
  1027.             ControlStationCore.logError("Errore durante la lettura dello stato (jmxResourcePdD) ["+tipo+"]: "+e.getMessage(),e);
  1028.             statoTimerThreshold = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  1029.         }
  1030.        
  1031.         String statoTimerEventi = null;
  1032.         try{
  1033.             statoTimerEventi = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  1034.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  1035.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTimerEventi(alias));
  1036.         }catch(Exception e){
  1037.             String tipo ="stato timer '"+
  1038.                     ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_SISTEMA_EVENTI+"'";
  1039.             ControlStationCore.logError("Errore durante la lettura dello stato (jmxResourcePdD) ["+tipo+"]: "+e.getMessage(),e);
  1040.             statoTimerEventi = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  1041.         }
  1042.        
  1043.         String statoTimerFileSystemRecovery = null;
  1044.         try{
  1045.             statoTimerFileSystemRecovery = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  1046.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  1047.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTimerFileSystemRecovery(alias));
  1048.         }catch(Exception e){
  1049.             String tipo ="stato timer '"+
  1050.                     ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_SISTEMA_FILE_SYSTEM_RECOVERY+"'";
  1051.             ControlStationCore.logError("Errore durante la lettura dello stato (jmxResourcePdD) ["+tipo+"]: "+e.getMessage(),e);
  1052.             statoTimerFileSystemRecovery = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  1053.         }
  1054.        
  1055.         String statoTimerBusteOneway = null;
  1056.         try{
  1057.             statoTimerBusteOneway = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  1058.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  1059.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTimerGestoreBusteOnewayNonRiscontrate(alias));
  1060.         }catch(Exception e){
  1061.             String tipo ="stato timer '"+
  1062.                     ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_SISTEMA_GESTORE_BUSTE_ONEWAY_NON_RISCONTRATE+"'";
  1063.             ControlStationCore.logError("Errore durante la lettura dello stato (jmxResourcePdD) ["+tipo+"]: "+e.getMessage(),e);
  1064.             statoTimerBusteOneway = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  1065.         }
  1066.        
  1067.         String statoTimerBusteAsincrone = null;
  1068.         try{
  1069.             statoTimerBusteAsincrone = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  1070.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  1071.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTimerGestoreBusteAsincroneNonRiscontrate(alias));
  1072.         }catch(Exception e){
  1073.             String tipo ="stato timer '"+
  1074.                     ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_SISTEMA_GESTORE_BUSTE_ASINCRONE_NON_RISCONTRATE+"'";
  1075.             ControlStationCore.logError("Errore durante la lettura dello stato (jmxResourcePdD) ["+tipo+"]: "+e.getMessage(),e);
  1076.             statoTimerBusteAsincrone = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  1077.         }
  1078.        
  1079.         String statoTimerRepositoryStateful = null;
  1080.         try{
  1081.             statoTimerRepositoryStateful = confCore.getInvoker().readJMXAttribute(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  1082.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(alias),
  1083.                     confCore.getJmxPdDConfigurazioneSistemaNomeAttributoTimerRepositoryStatefulThread(alias));
  1084.         }catch(Exception e){
  1085.             String tipo ="stato timer '"+
  1086.                     ConfigurazioneCostanti.LABEL_PARAMETRO_CONFIGURAZIONE_SISTEMA_REPOSITORY_STATEFUL_THREAD+"'";
  1087.             ControlStationCore.logError("Errore durante la lettura dello stato (jmxResourcePdD) ["+tipo+"]: "+e.getMessage(),e);
  1088.             statoTimerRepositoryStateful = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  1089.         }

  1090.         String infoInstallazione = null;
  1091.         try{
  1092.             infoInstallazione = confCore.getInvoker().invokeJMXMethod(alias,confCore.getJmxPdDConfigurazioneSistemaType(alias),
  1093.                     confCore.getJmxPdDConfigurazioneSistemaNomeRisorsa(alias),
  1094.                     confCore.getJmxPdDConfigurazioneSistemaNomeMetodoInformazioniInstallazione(alias));
  1095.         }catch(Exception e){
  1096.             ControlStationCore.logError("Errore durante la lettura delle informazioni sull'installazione (jmxResourcePdD): "+e.getMessage(),e);
  1097.             infoInstallazione = ConfigurazioneCostanti.LABEL_INFORMAZIONE_NON_DISPONIBILE;
  1098.         }
  1099.        
  1100.         return infoStatoPorta.formatStatoPorta(versionePdD, versioneBaseDati, confDir, versioneJava, vendorJava, messageFactory,
  1101.                 statoServizioPD,statoServizioPD_abilitazioni,statoServizioPD_disabilitazioni,
  1102.                 statoServizioPA,statoServizioPA_abilitazioni,statoServizioPA_disabilitazioni,
  1103.                 statoServizioIM,
  1104.                 livelloSeveritaDiagnostici, livelloSeveritaDiagnosticiLog4j,
  1105.                 "true".equals(log4jDiagnostica), "true".equals(log4jOpenspcoop), "true".equals(log4jIntegrationManager),
  1106.                 "true".equals(tracciamento), "true".equals(dumpPD), "true".equals(dumpPA),
  1107.                 "true".equals(log4j_tracciamento), "true".equals(log4j_dump),
  1108.                 fileTraceGovWayState,
  1109.                 "true".equals(errorSpecificTypeProcessRequest), "true".equals(errorSpecificTypeProcessResponse), "true".equals(errorSpecificTypeInternalError),
  1110.                 "true".equals(errorStatus), "true".equals(errorStatusInSoapFaultCode),
  1111.                 "true".equals(errorSpecificDetails), "true".equals(errorInstanceId), "true".equals(errorGenerateHttpErrorCodeInSoap),
  1112.                 infoDatabase, infoConnessioneAltriDB ,
  1113.                 infoSSL, infoCryptographyKeyLength,
  1114.                 infoCharset, infoInternazionalizzazione, infoTimeZone,
  1115.                 infoProprietaJavaNetworking, infoProprietaJavaAltro, infoProprietaSistema,
  1116.                 infoProtocolli,
  1117.                 statoConnessioniDB, statoConnessioniAltriDB, statoConnessioniJMS,
  1118.                 statoTransazioniId, statoTransazioniIdProtocollo,
  1119.                 statoTimerVerificaConnessioni, statoConnessioniPD, statoConnessioniPA,
  1120.                 statoTimerConsegnaAsincrona, statoPoolThread,
  1121.                 statoTimerGenerazioneStatisticheOrarie, statoTimerGenerazioneStatisticheGiornaliere, statoTimerGenerazioneStatisticheSettimanali, statoTimerGenerazioneStatisticheMensili,
  1122.                 statoTimerMessaggiEliminati, statoTimerMessaggiScaduti, statoTimerBuste, statoTimerCorrelazioneApplicativa, statoTimerMessaggiNonGestiti, statoTimerMessaggiAnomali,
  1123.                 statoTimerMonitoraggioRisorse, statoTimerThreshold,
  1124.                 statoTimerEventi, statoTimerFileSystemRecovery, statoTimerBusteOneway, statoTimerBusteAsincrone, statoTimerRepositoryStateful,
  1125.                 infoInstallazione,
  1126.                 cacheArray);
  1127.     }
  1128. }