ConsoleProperties.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.config;


  21. import java.io.File;
  22. import java.io.FileInputStream;
  23. import java.io.InputStream;
  24. import java.util.ArrayList;
  25. import java.util.Enumeration;
  26. import java.util.Iterator;
  27. import java.util.List;
  28. import java.util.Map;
  29. import java.util.Properties;
  30. import java.util.zip.ZipEntry;
  31. import java.util.zip.ZipFile;

  32. import org.apache.commons.lang.StringUtils;
  33. import org.openspcoop2.core.controllo_traffico.driver.PolicyGroupByActiveThreadsType;
  34. import org.openspcoop2.core.mvc.properties.utils.PropertiesSourceConfiguration;
  35. import org.openspcoop2.pdd.config.ConfigurazioneNodiRuntime;
  36. import org.openspcoop2.pdd.config.ConfigurazionePriorita;
  37. import org.openspcoop2.pdd.config.OpenSPCoop2ConfigurationException;
  38. import org.openspcoop2.utils.BooleanNullable;
  39. import org.openspcoop2.utils.LoggerWrapperFactory;
  40. import org.openspcoop2.utils.Utilities;
  41. import org.openspcoop2.utils.UtilsException;
  42. import org.openspcoop2.utils.io.ZipUtilities;
  43. import org.openspcoop2.utils.resources.FileSystemUtilities;
  44. import org.slf4j.Logger;



  45. /**
  46. * ConsoleProperties
  47. *
  48. * @author Andrea Poli (apoli@link.it)
  49.  * @author $Author$
  50.  * @version $Rev$, $Date$
  51. */


  52. public class ConsoleProperties {    

  53.     /** Logger utilizzato per errori eventuali. */
  54.     private Logger log = null;



  55.     /* ********  F I E L D S  P R I V A T I  ******** */

  56.     /** Reader delle proprieta' impostate nel file 'console.properties' */
  57.     private ConsoleInstanceProperties reader;

  58.     /** Copia Statica */
  59.     private static ConsoleProperties consoleProperties = null;


  60.     /* ********  C O S T R U T T O R E  ******** */

  61.     /**
  62.      * Viene chiamato in causa per istanziare il properties reader
  63.      *
  64.      *
  65.      */
  66.     private ConsoleProperties(String confDir, String confPropertyName, String confLocalPathPrefix,Logger log) throws UtilsException {

  67.         if(log!=null)
  68.             this.log = log;
  69.         else
  70.             this.log = LoggerWrapperFactory.getLogger(ConsoleProperties.class);
  71.        
  72.         /* ---- Lettura del cammino del file di configurazione ---- */
  73.         Properties propertiesReader = new Properties();
  74.         try (java.io.InputStream properties = ConsoleProperties.class.getResourceAsStream("/console.properties");){  
  75.             if(properties==null){
  76.                 throw new UtilsException("File '/console.properties' not found");
  77.             }
  78.             propertiesReader.load(properties);
  79.         }catch(Exception e) {
  80.             String msg = "Riscontrato errore durante la lettura del file 'console.properties': \n\n"+e.getMessage();
  81.             this.log.error(msg);
  82.             throw new UtilsException("ConsoleProperties initialize error: "+e.getMessage());
  83.         }

  84.         this.reader = new ConsoleInstanceProperties(propertiesReader, this.log, confDir, confPropertyName, confLocalPathPrefix);
  85.     }

  86.     private boolean parse(BooleanNullable b, boolean defaultValue) {
  87.         return (b!=null && b.getValue()!=null) ? b.getValue() : defaultValue;
  88.     }

  89.     /**
  90.      * Il Metodo si occupa di inizializzare il propertiesReader
  91.      *
  92.      *
  93.      */
  94.     public static boolean initialize(String confDir, String confPropertyName, String confLocalPathPrefix,Logger log){

  95.         try {
  96.             ConsoleProperties.consoleProperties = new ConsoleProperties(confDir,confPropertyName,confLocalPathPrefix,log);  
  97.             return true;
  98.         }
  99.         catch(Exception e) {
  100.             log.error("Inizializzazione fallita: "+e.getMessage(),e);
  101.             return false;
  102.         }
  103.     }
  104.    
  105.     /**
  106.      * Ritorna l'istanza di questa classe
  107.      *
  108.      * @return Istanza di ClassNameProperties
  109.      *
  110.      */
  111.     public static ConsoleProperties getInstance() throws OpenSPCoop2ConfigurationException{
  112.         if(ConsoleProperties.consoleProperties==null){
  113.             // spotbugs warning 'SING_SINGLETON_GETTER_NOT_SYNCHRONIZED': l'istanza viene creata allo startup
  114.             synchronized (ConsoleProperties.class) {
  115.                 throw new OpenSPCoop2ConfigurationException("ConsoleProperties non inizializzato");
  116.             }
  117.         }
  118.         return ConsoleProperties.consoleProperties;
  119.     }
  120.    
  121.     public static void updateLocalImplementation(Properties prop){
  122.         ConsoleProperties.consoleProperties.reader.setLocalObjectImplementation(prop);
  123.     }








  124.     /* ********  M E T O D I  ******** */

  125.     private String getPropertyPrefix(String property) {
  126.         return "Property ["+property+"] ";
  127.     }
  128.     private String getMessageUncorrectValue(String tmp) {
  129.         return "with uncorrect value ["+tmp+"]";
  130.     }
  131.    
  132.     private String readProperty(boolean required,String property) throws UtilsException{
  133.         String tmp = this.reader.getValueConvertEnvProperties(property);
  134.         if(tmp==null){
  135.             if(required){
  136.                 throw new UtilsException(getPropertyPrefix(property)+"not found");
  137.             }
  138.             else{
  139.                 return null;
  140.             }
  141.         }else{
  142.             return tmp.trim();
  143.         }
  144.     }
  145.     private boolean readBooleanRequiredProperty(String property) throws UtilsException{
  146.         return readBooleanProperty(true,property).getValue();
  147.     }
  148.     private BooleanNullable readBooleanProperty(boolean required,String property) throws UtilsException{
  149.         String tmp = this.readProperty(required, property);
  150.         if(tmp==null && !required) {
  151.             return BooleanNullable.NULL(); // se e' required viene sollevata una eccezione dal metodo readProperty
  152.         }
  153.         if(!"true".equalsIgnoreCase(tmp) && !"false".equalsIgnoreCase(tmp)){
  154.             throw new UtilsException(getPropertyPrefix(property)+getMessageUncorrectValue(tmp)+" (true/value expected)");
  155.         }
  156.         return Boolean.parseBoolean(tmp) ? BooleanNullable.TRUE() : BooleanNullable.FALSE();
  157.     }
  158.     private Integer readIntegerProperty(boolean required,String property) throws UtilsException{
  159.         String tmp = this.readProperty(required, property);
  160.         if(tmp==null && !required) {
  161.             return null; // se e' required viene sollevata una eccezione dal metodo readProperty
  162.         }
  163.         try{
  164.             return Integer.parseInt(tmp);
  165.         }catch(Exception e){
  166.             throw new UtilsException(getPropertyPrefix(property)+getMessageUncorrectValue(tmp)+" (int value expected)");
  167.         }
  168.     }
  169.     private Long readLongProperty(boolean required,String property) throws UtilsException{
  170.         String tmp = this.readProperty(required, property);
  171.         if(tmp==null && !required) {
  172.             return null; // se e' required viene sollevata una eccezione dal metodo readProperty
  173.         }
  174.         try{
  175.             return Long.parseLong(tmp);
  176.         }catch(Exception e){
  177.             throw new UtilsException(getPropertyPrefix(property)+getMessageUncorrectValue(tmp)+" (long value expected)");
  178.         }
  179.     }
  180.    

  181.    
  182.     /* ----- Funzionalità Generiche -------- */
  183.    
  184.     public String getConfDirectory() throws UtilsException{
  185.         return this.readProperty(false, "confDirectory");
  186.     }
  187.    
  188.     public String getProtocolloDefault() throws UtilsException{
  189.         return this.readProperty(false, "protocolloDefault");
  190.     }
  191.    
  192.     public long getGestioneSerializableDBattesaAttiva() throws UtilsException {
  193.         Long l = this.readLongProperty(false, "jdbc.serializable.attesaAttiva");
  194.         return l!=null ? l.longValue() : -1;
  195.     }
  196.    
  197.     public int getGestioneSerializableDBcheckInterval() throws UtilsException {
  198.         Integer i = this.readIntegerProperty(false, "jdbc.serializable.check");
  199.         return i!=null ? i.intValue() : -1;
  200.     }
  201.    
  202.     public boolean isJdbcCloseConnectionCheckIsClosed() throws UtilsException{
  203.         return this.readBooleanRequiredProperty("jdbc.closeConnection.checkIsClosed");
  204.     }
  205.     public boolean isJdbcCloseConnectionCheckAutocommit() throws UtilsException{
  206.         return this.readBooleanRequiredProperty("jdbc.closeConnection.checkAutocommit");
  207.     }
  208.    
  209.     public Boolean isSinglePdD() throws UtilsException{
  210.         return this.readBooleanRequiredProperty("singlePdD");
  211.     }
  212.    
  213.     public Boolean isTokenGenerazioneAutomaticaPorteDelegateEnabled() throws UtilsException{
  214.         return this.readBooleanRequiredProperty("generazioneAutomaticaPorteDelegate.token.enabled");
  215.     }
  216.    
  217.     public Boolean isAutenticazioneGenerazioneAutomaticaPorteDelegateEnabled() throws UtilsException{
  218.         return this.readBooleanRequiredProperty("generazioneAutomaticaPorteDelegate.autenticazione.enabled");
  219.     }
  220.     public String getAutenticazioneGenerazioneAutomaticaPorteDelegate() throws UtilsException{
  221.         return this.readProperty(true, "generazioneAutomaticaPorteDelegate.autenticazione");
  222.     }
  223.    
  224.     public Boolean isAutorizzazioneGenerazioneAutomaticaPorteDelegateEnabled() throws UtilsException{
  225.         return this.readBooleanRequiredProperty("generazioneAutomaticaPorteDelegate.autorizzazione.enabled");
  226.     }
  227.     public String getAutorizzazioneGenerazioneAutomaticaPorteDelegate() throws UtilsException{
  228.         return this.readProperty(true, "generazioneAutomaticaPorteDelegate.autorizzazione");
  229.     }
  230.    
  231.     public Boolean isTokenGenerazioneAutomaticaPorteApplicativeEnabled() throws UtilsException{
  232.         return this.readBooleanRequiredProperty("generazioneAutomaticaPorteApplicative.token.enabled");
  233.     }
  234.    
  235.     public Boolean isAutenticazioneGenerazioneAutomaticaPorteApplicativeEnabled() throws UtilsException{
  236.         return this.readBooleanRequiredProperty("generazioneAutomaticaPorteApplicative.autenticazione.enabled");
  237.     }
  238.     public String getAutenticazioneGenerazioneAutomaticaPorteApplicative() throws UtilsException{
  239.         return this.readProperty(true, "generazioneAutomaticaPorteApplicative.autenticazione");
  240.     }
  241.    
  242.     public Boolean isAutorizzazioneGenerazioneAutomaticaPorteApplicativeEnabled() throws UtilsException{
  243.         return this.readBooleanRequiredProperty("generazioneAutomaticaPorteApplicative.autorizzazione.enabled");
  244.     }
  245.     public String getAutorizzazioneGenerazioneAutomaticaPorteApplicative() throws UtilsException{
  246.         return this.readProperty(true, "generazioneAutomaticaPorteApplicative.autorizzazione");
  247.     }
  248.    
  249.     public Boolean isAbilitatoControlloUnicitaImplementazionePortTypePerSoggetto() throws UtilsException{
  250.         return this.readBooleanRequiredProperty("accordi.portType.implementazioneUnicaPerSoggetto");
  251.     }
  252.    
  253.     public Boolean isAbilitatoControlloUnicitaImplementazioneAccordoPerSoggetto() throws UtilsException{
  254.         return this.readBooleanRequiredProperty("accordi.implementazioneUnicaPerSoggetto");
  255.     }
  256.    
  257.     public String getImportArchiveTipoPdD() throws UtilsException{
  258.         return this.readProperty(true, "importArchive.tipoPdD");
  259.     }
  260.    
  261.     public boolean isExportArchiveConfigurazioneSoloDumpCompleto() throws UtilsException{
  262.         return this.readBooleanRequiredProperty("exportArchive.configurazione.soloDumpCompleto");
  263.     }
  264.    
  265.     public boolean isExportArchiveServiziStandard() throws UtilsException{
  266.         return this.readBooleanRequiredProperty("exportArchive.servizi.standard");
  267.     }
  268.    
  269.     public boolean isGestoreConsistenzaDatiEnabled() throws UtilsException{
  270.         return this.readBooleanRequiredProperty("gestoreConsistenzaDati");
  271.     }
  272.    
  273.     public boolean isGestoreConsistenzaDatiForceCheckMapping() throws UtilsException{
  274.         return this.readBooleanRequiredProperty("gestoreConsistenzaDati.forceCheckMapping");
  275.     }
  276.        
  277.     public PropertiesSourceConfiguration getMessageSecurityPropertiesSourceConfiguration() throws UtilsException {
  278.         return getSourceConfigurationEngine("messageSecurity",
  279.                 "messageSecurity.dir", "messageSecurity.dir.refresh",
  280.                 "messageSecurity.builtIn", "messageSecurity.builtIn.refresh");
  281.     }
  282.    
  283.     public PropertiesSourceConfiguration getPolicyGestioneTokenPropertiesSourceConfiguration() throws UtilsException {
  284.         return getSourceConfigurationEngine("policyGestioneToken",
  285.                 "policyGestioneToken.dir", "policyGestioneToken.dir.refresh",
  286.                 "policyGestioneToken.builtIn", "policyGestioneToken.builtIn.refresh");
  287.     }
  288.    
  289.     public boolean isPolicyGestioneTokenVerificaCertificati() throws UtilsException{
  290.         return this.readBooleanRequiredProperty("policyGestioneToken.verificaCertificati");
  291.     }
  292.    
  293.     public List<String> getPolicyGestioneTokenPDND() throws UtilsException{
  294.         List<String> l = new ArrayList<>();
  295.         String p = this.readProperty(false, "policyGestioneToken.pdnd");
  296.         if(p!=null && !"".equals(p.trim())){
  297.             String [] tmp = p.trim().split(",");
  298.             for (int i = 0; i < tmp.length; i++) {
  299.                 tmp[i] = tmp[i].trim();
  300.                 l.add(tmp[i]);
  301.             }
  302.         }
  303.         return l;
  304.     }
  305.     public boolean isPolicyGestioneTokenUseAllPDNDStoresAsPolicyPDND() throws UtilsException{
  306.         return this.readBooleanRequiredProperty("policyGestioneToken.pdnd.useAllPDNDStores");
  307.     }
  308.    
  309.     public PropertiesSourceConfiguration getAttributeAuthorityPropertiesSourceConfiguration() throws UtilsException {
  310.         return getSourceConfigurationEngine("attributeAuthority",
  311.                 "attributeAuthority.dir", "attributeAuthority.dir.refresh",
  312.                 "attributeAuthority.builtIn", "attributeAuthority.builtIn.refresh");
  313.     }
  314.    
  315.     public boolean isAttributeAuthorityVerificaCertificati() throws UtilsException{
  316.         return this.readBooleanRequiredProperty("attributeAuthority.verificaCertificati");
  317.     }
  318.    
  319.     public boolean isControlloTrafficoPolicyGlobaleGroupByApi() throws UtilsException{
  320.         return this.readBooleanRequiredProperty("controlloTraffico.policyGlobale.groupBy.api");
  321.     }
  322.    
  323.     public boolean isControlloTrafficoPolicyGlobaleFiltroApi() throws UtilsException{
  324.         return this.readBooleanRequiredProperty("controlloTraffico.policyGlobale.filtro.api");
  325.     }
  326.    
  327.     public boolean isControlloTrafficoPolicyGlobaleFiltroApiSoggettoErogatore() throws UtilsException{
  328.         return this.readBooleanRequiredProperty("controlloTraffico.policyGlobale.filtro.api.soggettoErogatore");
  329.     }
  330.    
  331.     public List<PolicyGroupByActiveThreadsType> getControlloTrafficoPolicyRateLimitingTipiGestori() throws UtilsException{
  332.         List<PolicyGroupByActiveThreadsType> l = new ArrayList<>();
  333.         String p = this.readProperty(false, "controlloTraffico.policyRateLimiting.tipiGestori");
  334.         if(p!=null && !"".equals(p.trim())){
  335.             String [] tmp = p.trim().split(",");
  336.             for (int i = 0; i < tmp.length; i++) {
  337.                 tmp[i] = tmp[i].trim();
  338.                 l.add(PolicyGroupByActiveThreadsType.valueOf(tmp[i]));
  339.             }
  340.         }
  341.         return l;
  342.     }
  343.    
  344.     public boolean isAuditingRegistrazioneElementiBinari() throws UtilsException{
  345.         return this.readBooleanRequiredProperty("auditing.registrazioneElementiBinari");
  346.     }
  347.    
  348.     public boolean isIntegrationManagerEnabled() throws UtilsException{
  349.         return this.readBooleanRequiredProperty("integrationManager.enabled");
  350.     }
  351.    
  352.     public boolean isIntegrationManagerTraceMessageBoxOperationEnabled() throws UtilsException{
  353.         BooleanNullable b = this.readBooleanProperty(false, "integrationManager.traceMessageBoxOperation.enabled");
  354.         if(b==null || b.getValue()==null) {
  355.             return false;
  356.         }
  357.         return b.getValue();
  358.     }
  359.    
  360.     public Integer getSoggettiNomeMaxLength() throws UtilsException{
  361.         return this.readIntegerProperty(false, "soggetti.nome.maxLength");
  362.     }
  363.    
  364.     public boolean isSoggettiVerificaCertificati() throws UtilsException{
  365.         return this.readBooleanRequiredProperty("soggetti.verificaCertificati");
  366.     }
  367.     public boolean isSoggettiVerificaCertificatiCheckCertificatoSoggettoByIdUseApi() throws UtilsException{
  368.         return this.readBooleanRequiredProperty("soggetti.verificaCertificati.checkCertificatoSoggettoById.useApi");
  369.     }
  370.    
  371.     public boolean isApplicativiVerificaCertificati() throws UtilsException{
  372.         return this.readBooleanRequiredProperty("applicativi.verificaCertificati");
  373.     }
  374.     public boolean isApplicativiVerificaCertificatiCheckCertificatoApplicativoByIdUseApi() throws UtilsException{
  375.         return this.readBooleanRequiredProperty("applicativi.verificaCertificati.checkCertificatoApplicativoById.useApi");
  376.     }
  377.    
  378.     public boolean isApiResourcePathValidatorEnabled() throws UtilsException{
  379.         return this.readBooleanRequiredProperty("api.resource.pathValidator");
  380.     }
  381.    
  382.     public boolean isApiResourceHttpMethodAndPathQualsiasiEnabled() throws UtilsException{
  383.         return this.readBooleanRequiredProperty("api.resource.httpMethodAndPathQualsiasi.enabled");
  384.     }
  385.    
  386.     public List<String> getApiResourcePathQualsiasiSpecialChar() throws UtilsException{
  387.         List<String> l = new ArrayList<>();
  388.         String p = this.readProperty(false, "api.resource.pathQualsiasi.specialChar");
  389.         if(p!=null && !"".equals(p.trim())){
  390.             String [] tmp = p.trim().split(",");
  391.             for (int i = 0; i < tmp.length; i++) {
  392.                 tmp[i] = tmp[i].trim();
  393.                 l.add(tmp[i]);
  394.             }
  395.         }
  396.         return l;
  397.     }
  398.    
  399.     public boolean isApiOpenAPIValidateUriReferenceAsUrl() throws UtilsException{
  400.         return this.readBooleanRequiredProperty("api.openApi.openapi4j.validateUriReferenceAsUrl");
  401.     }
  402.    
  403.     public boolean isApiRestResourceRepresentationMessageTypeOverride() throws UtilsException{
  404.         return this.readBooleanRequiredProperty("api.resource.representation.messageTypeOverride");
  405.     }
  406.    
  407.     public boolean isApiDescriptionTruncate255() throws UtilsException{
  408.         return this.readBooleanRequiredProperty("api.description.truncate255");
  409.     }
  410.     public boolean isApiDescriptionTruncate4000() throws UtilsException{
  411.         return this.readBooleanRequiredProperty("api.description.truncate4000");
  412.     }
  413.    
  414.     public Properties getApiYamlSnakeLimits() throws UtilsException{

  415.         String pName = "api.yaml.snakeLimits";
  416.        
  417.         try{  
  418.             Properties pNull = null;
  419.            
  420.             String file = this.readProperty(false, pName);
  421.             if(file!=null && StringUtils.isNotEmpty(file)) {
  422.                 File f = new File(file);
  423.                 if(f.exists()) {
  424.                     if(!f.isFile()) {
  425.                         throw new UtilsException("Il file indicato '"+f.getAbsolutePath()+"' non è un file");
  426.                     }
  427.                     if(!f.canRead()) {
  428.                         throw new UtilsException("Il file indicato '"+f.getAbsolutePath()+"' non è accessibile in lettura");
  429.                     }
  430.                     try(InputStream is = new FileInputStream(f)){
  431.                         Properties p = new Properties();
  432.                         p.load(is);
  433.                         if (!p.isEmpty()){
  434.                             return p;
  435.                         }
  436.                     }
  437.                 }
  438.             }
  439.        
  440.             return pNull;
  441.            
  442.         }catch(java.lang.Exception e) {
  443.             throw new UtilsException("Proprieta' '"+pName+"' non impostate, errore:"+e.getMessage(),e);
  444.         }
  445.     }
  446.    
  447.     public boolean isAccordiCooperazioneEnabled() throws UtilsException{
  448.         return this.readBooleanRequiredProperty("accordiCooperazione.enabled");
  449.     }
  450.    
  451.     public boolean isErogazioniVerificaCertificati() throws UtilsException{
  452.         return this.readBooleanRequiredProperty("erogazioni.verificaCertificati");
  453.     }
  454.     public boolean isFruizioniVerificaCertificati() throws UtilsException{
  455.         return this.readBooleanRequiredProperty("fruizioni.verificaCertificati");
  456.     }

  457.     public List<String> getMessageEngines() throws UtilsException{
  458.         String s = this.readProperty(false, "messageEngine");
  459.         List<String>  l = null;
  460.         if(s!=null && !"".equals(s)) {
  461.             l = new ArrayList<>();
  462.             if(s.contains(",")) {
  463.                 String [] tmp = s.split(",");
  464.                 for (String ss : tmp) {
  465.                     String sTmp = ss.trim();
  466.                     if(sTmp!=null && !"".equals(sTmp)) {
  467.                         l.add(sTmp);
  468.                     }
  469.                 }
  470.             }
  471.             else {
  472.                 l.add(s);
  473.             }
  474.         }
  475.         return l;
  476.     }
  477.    
  478.     public boolean isSoggettiCredenzialiBasicCheckUniqueUsePassword() throws UtilsException{
  479.         return this.readBooleanRequiredProperty("soggetti.credenzialiBasic.checkUnique.usePassword");
  480.     }
  481.    
  482.     public boolean isApplicativiCredenzialiBasicCheckUniqueUsePassword() throws UtilsException{
  483.         return this.readBooleanRequiredProperty("applicativi.credenzialiBasic.checkUnique.usePassword");
  484.     }
  485.    
  486.     public boolean isSoggettiApplicativiCredenzialiBasicPermitSameCredentials() throws UtilsException{
  487.         return this.readBooleanRequiredProperty("soggettiApplicativi.credenzialiBasic.permitSameCredentials");
  488.     }
  489.     public boolean isSoggettiApplicativiCredenzialiSslPermitSameCredentials() throws UtilsException{
  490.         return this.readBooleanRequiredProperty("soggettiApplicativi.credenzialiSsl.permitSameCredentials");
  491.     }
  492.     public boolean isSoggettiApplicativiCredenzialiPrincipalPermitSameCredentials() throws UtilsException{
  493.         return this.readBooleanRequiredProperty("soggettiApplicativi.credenzialiPrincipal.permitSameCredentials");
  494.     }

  495.     public boolean isConnettoriAllTypesEnabled() throws UtilsException{
  496.         return this.readBooleanRequiredProperty("connettori.allTypes.enabled");
  497.     }
  498.    
  499.     public boolean isConnettoriMultipliEnabled() throws UtilsException{
  500.         return this.readBooleanRequiredProperty("connettoriMultipli.enabled");
  501.     }
  502.    
  503.     public boolean isConnettoriMultipliConsegnaCondizionaleStessFiltroPermesso() throws UtilsException{
  504.         return this.readBooleanRequiredProperty("connettoriMultipli.consegnaCondizionale.stessoFiltro");
  505.     }
  506.    
  507.     public boolean isConnettoriMultipliConsegnaMultiplaEnabled() throws UtilsException{
  508.         return this.readBooleanRequiredProperty("connettoriMultipli.consegnaMultipla.enabled");
  509.     }
  510.    
  511.     public boolean isApplicativiServerEnabled() throws UtilsException{
  512.         return this.readBooleanRequiredProperty("applicativiServer.enabled");
  513.     }
  514.    
  515.     public List<String> getConsegnaNotificaCode() throws UtilsException{
  516.         List<String> l = new ArrayList<>();
  517.         String p = this.readProperty(true, "consegnaNotifiche.code");
  518.         if(p!=null && !"".equals(p.trim())){
  519.             String [] tmp = p.trim().split(",");
  520.             for (int i = 0; i < tmp.length; i++) {
  521.                 tmp[i] = tmp[i].trim();
  522.                 l.add(tmp[i]);
  523.             }
  524.         }
  525.         return l;
  526.     }
  527.     public String getConsegnaNotificaCodaLabel(String nome) throws UtilsException{
  528.         return this.readProperty(true, "consegnaNotifiche.coda."+nome+".label");
  529.     }
  530.    
  531.     public List<String> getConsegnaNotificaPriorita() throws UtilsException{
  532.         List<String> l = new ArrayList<>();
  533.         String p = this.readProperty(true, "consegnaNotifiche.priorita");
  534.         if(p!=null && !"".equals(p.trim())){
  535.             String [] tmp = p.trim().split(",");
  536.             for (int i = 0; i < tmp.length; i++) {
  537.                 tmp[i] = tmp[i].trim();
  538.                 l.add(tmp[i]);
  539.             }
  540.         }
  541.         return l;
  542.     }
  543.    
  544.     public ConfigurazionePriorita getConsegnaNotificaConfigurazionePriorita(String nome) throws UtilsException{
  545.         Properties p = this.reader.readPropertiesConvertEnvProperties("consegnaNotifiche.priorita."+nome+".");
  546.         return new ConfigurazionePriorita(nome, p);
  547.     }
  548.    
  549.     public boolean isModipaErogazioniVerificaCertificati() throws UtilsException{
  550.         return this.readBooleanRequiredProperty("modipa.erogazioni.verificaCertificati");
  551.     }
  552.     public boolean isModipaFruizioniVerificaCertificati() throws UtilsException{
  553.         return this.readBooleanRequiredProperty("modipa.fruizioni.verificaCertificati");
  554.     }
  555.    
  556.     public boolean isModipaFruizioniConnettoreCheckHttps() throws UtilsException{
  557.         return this.readBooleanRequiredProperty("modipa.fruizioni.connettore.checkHttps");
  558.     }
  559.     public boolean isModipaFiltroRicercaProfiloQualsiasiVisualizzaDatiModi() throws UtilsException{
  560.         return this.readBooleanRequiredProperty("modipa.filtroRicerca.profiloQualsiasi.visualizzaDatiModi");
  561.     }
  562.    
  563.     public Boolean isConfigurazionePluginsEnabled() throws UtilsException{
  564.         return this.readBooleanRequiredProperty("plugins.enabled");
  565.     }
  566.    
  567.     public Integer getPluginsSeconds() throws UtilsException{
  568.         String cacheV = this.readProperty(true, "plugins.seconds");
  569.         if(cacheV!=null && StringUtils.isNotEmpty(cacheV)) {
  570.             Integer i = Integer.valueOf(cacheV);
  571.             if(i.intValue()>0) {
  572.                 return i;
  573.             }
  574.         }
  575.         return 300;
  576.     }
  577.    
  578.     public Boolean isConfigurazioneHandlersEnabled() throws UtilsException{
  579.         return this.readBooleanRequiredProperty("handlers.enabled");
  580.     }
  581.    
  582.     public Boolean isConfigurazioneAllarmiEnabled() throws UtilsException{
  583.         return this.readBooleanRequiredProperty("allarmi.enabled");
  584.     }
  585.    
  586.     public String getAllarmiConfigurazione() throws UtilsException{
  587.         return this.readProperty(true, "allarmi.configurazione");
  588.     }
  589.    
  590.     public Boolean isShowAllarmiIdentificativoRuntime() throws UtilsException{
  591.         return this.readBooleanRequiredProperty("allarmi.identificativoRuntime");
  592.     }
  593.     public Boolean isShowAllarmiFormNomeSuggeritoCreazione() throws UtilsException{
  594.         return this.readBooleanRequiredProperty("allarmi.form.nomeSuggeritoCreazione");
  595.     }
  596.     public Boolean isShowAllarmiFormStatoAllarme() throws UtilsException{
  597.         return this.readBooleanRequiredProperty("allarmi.form.statoAllarme");
  598.     }
  599.     public Boolean isShowAllarmiFormStatoAllarmeHistory() throws UtilsException{
  600.         return this.readBooleanRequiredProperty("allarmi.form.statoAllarme.history");
  601.     }
  602.     public Boolean isShowAllarmiSearchStatiAllarmi() throws UtilsException{
  603.         return this.readBooleanRequiredProperty("allarmi.search.statoAllarme");
  604.     }
  605.     public Boolean isShowAllarmiElenchiStatiAllarmi() throws UtilsException{
  606.         return this.readBooleanRequiredProperty("allarmi.elenchi.statoAllarme");
  607.     }
  608.    
  609.     public Boolean isRegistrazioneMessaggiMultipartPayloadParsingEnabled() throws UtilsException{
  610.         return this.readBooleanRequiredProperty("registrazioneMessaggi.multipartPayloadParsing.enabled");
  611.     }
  612.    
  613.     public Boolean isClusterDinamicoEnabled() throws UtilsException{
  614.         ConfigurazioneNodiRuntime config = getConfigurazioneNodiRuntime();
  615.         if(config!=null) {
  616.             return config.isClusterDinamico();
  617.         }
  618.         else {
  619.             /**return getBackwardCompatibilityConfigurazioneNodiRuntime().isClusterDinamico();*/
  620.             // abbiamo cambiato il nome della proprietà nella gestione 'ConfigurazioneNodiRuntime'
  621.             return this.readBooleanRequiredProperty("cluster_dinamico.enabled");
  622.         }
  623.     }
  624.    
  625.     public boolean isSecurityLoadBouncyCastle() throws UtilsException{
  626.         BooleanNullable b = this.readBooleanProperty(false, "security.addBouncyCastleProvider");
  627.         return parse(b, false);
  628.     }

  629.     public String getEnvMapConfig() throws UtilsException{
  630.         return this.readProperty(false, "env.map.config");
  631.     }
  632.     public boolean isEnvMapConfigRequired() throws UtilsException{
  633.         BooleanNullable b = this.readBooleanProperty(false, "env.map.required");
  634.         return parse(b, false);
  635.     }
  636.    
  637.     public String getHSMConfigurazione() throws UtilsException{
  638.         return this.readProperty(false, "hsm.config");
  639.     }
  640.     public boolean isHSMRequired() throws UtilsException{
  641.         BooleanNullable b = this.readBooleanProperty(false, "hsm.required");
  642.         return parse(b, false);
  643.     }
  644.     public boolean isHSMKeyPasswordConfigurable() throws UtilsException{
  645.         BooleanNullable b = this.readBooleanProperty(false, "hsm.keyPassword");
  646.         return parse(b, false);
  647.     }
  648.    
  649.     public String getBYOKConfig() throws UtilsException{
  650.         return this.readProperty(false, "byok.config");
  651.     }
  652.     public boolean isBYOKConfigRequired() throws UtilsException{
  653.         BooleanNullable b = this.readBooleanProperty(false, "byok.required");
  654.         return parse(b, false);
  655.     }
  656.     public String getBYOKEnvSecretsConfig() throws UtilsException{
  657.         return this.readProperty(false, "byok.env.secrets.config");
  658.     }
  659.     public boolean isBYOKEnvSecretsConfigRequired() throws UtilsException{
  660.         BooleanNullable b = this.readBooleanProperty(false, "byok.env.secrets.required");
  661.         return parse(b, false);
  662.     }
  663.     public boolean isConsoleBYOKShowUnwrapPolicy() throws UtilsException{
  664.         BooleanNullable b = this.readBooleanProperty(false, "console.byok.showUnwrapPolicy");
  665.         return parse(b, true);
  666.     }
  667.     public boolean isVisualizzaInformazioniCifrate() throws UtilsException{
  668.         BooleanNullable b = this.readBooleanProperty(false, "console.visualizzaInformazioniCifrate.enabled");
  669.         return parse(b, false);
  670.     }
  671.     public String getVisualizzaInformazioniCifrateWarningMessage() throws UtilsException {
  672.         return this.readProperty(false, "console.visualizzaInformazioniCifrate.warningMessage");
  673.     }
  674.     public String getNotaInformativaInformazioneMemorizzataInChiaro() throws UtilsException {
  675.         return this.readProperty(false, "console.informazioniCifrate.memorizzataInChiaro.nota");
  676.     }
  677.     public String getNotaInformativaInformazioneCifrataSecurityPolicyDifferente() throws UtilsException {
  678.         return this.readProperty(false, "console.informazioniCifrate.cifrataConSecurityPolicyDifferente.nota");
  679.     }
  680.     public boolean isVisualizzaCampiPasswordComeLock() throws UtilsException{
  681.         BooleanNullable b = this.readBooleanProperty(false, "console.visualizzaCampiPasswordComeLock.enabled");
  682.         return parse(b, false);
  683.     }
  684.    
  685.    
  686.     public Integer getVerificaCertificatiWarningExpirationDays() throws UtilsException{
  687.         String cacheV = this.readProperty(true, "verificaCertificati.warning.expirationDays");
  688.         if(cacheV!=null && StringUtils.isNotEmpty(cacheV)) {
  689.             Integer i = Integer.valueOf(cacheV);
  690.             if(i.intValue()>0) {
  691.                 return i;
  692.             }
  693.         }
  694.         return 10;
  695.     }
  696.    
  697.     public String getOCSPConfigurazione() throws UtilsException{
  698.         return this.readProperty(false, "ocsp.config");
  699.     }
  700.     public boolean isOCSPRequired() throws UtilsException{
  701.         BooleanNullable b = this.readBooleanProperty(false, "ocsp.required");
  702.         return parse(b, false);
  703.     }
  704.     public boolean isOCSPLoadDefault() throws UtilsException{
  705.         BooleanNullable b = this.readBooleanProperty(false, "ocsp.loadDefault");
  706.         return parse(b, true);
  707.     }
  708.     public boolean isOCSPPolicyChoiceConnettoreHTTPSVerificaServerDisabilitata() throws UtilsException{
  709.         BooleanNullable b = this.readBooleanProperty(false, "ocsp.https.verificaServerDisabilitata.policyChoice");
  710.         return parse(b, false);
  711.     }
  712.    
  713.     public boolean isVerificaCertificatiSceltaClusterId() throws UtilsException{
  714.         BooleanNullable b = this.readBooleanProperty(false, "verificaCertificati.sceltaClusterId");
  715.         return parse(b, true);
  716.     }
  717.    
  718.     public boolean isClusterAsyncUpdate() throws UtilsException{
  719.         BooleanNullable b = this.readBooleanProperty(false, "cluster.asyncUpdate");
  720.         return parse(b, true);
  721.     }
  722.     public int getClusterAsyncUpdateCheckInterval() throws UtilsException{
  723.         String cacheV = this.readProperty(true, "cluster.asyncUpdate.checkInterval");
  724.         if(cacheV!=null && StringUtils.isNotEmpty(cacheV)) {
  725.             Integer i = Integer.valueOf(cacheV);
  726.             if(i.intValue()>0) {
  727.                 return i.intValue();
  728.             }
  729.         }
  730.         return 60;
  731.     }
  732.    
  733.     public boolean isTracciamentoDatabaseRispostaConsegnataSelectEnabled() throws UtilsException{
  734.         BooleanNullable b = this.readBooleanProperty(false, "tracciamento.database.rispostaConsegnata.selectEnabled");
  735.         return parse(b, false);
  736.     }
  737.    
  738.     public boolean isKeystoreJksPasswordRequired() throws UtilsException{
  739.         BooleanNullable b = this.readBooleanProperty(false, "keystore.jks.passwordRequired");
  740.         return parse(b, true);
  741.     }
  742.     public boolean isKeystoreJksKeyPasswordRequired() throws UtilsException{
  743.         BooleanNullable b = this.readBooleanProperty(false, "keystore.jks.key.passwordRequired");
  744.         return parse(b, true);
  745.     }
  746.     public boolean isKeystorePkcs12PasswordRequired() throws UtilsException{
  747.         BooleanNullable b = this.readBooleanProperty(false, "keystore.pkcs12.passwordRequired");
  748.         return parse(b, true);
  749.     }
  750.     public boolean isKeystorePkcs12KeyPasswordRequired() throws UtilsException{
  751.         BooleanNullable b = this.readBooleanProperty(false, "keystore.pkcs12.key.passwordRequired");
  752.         return parse(b, true);
  753.     }
  754.    
  755.     public boolean isTruststoreJksPasswordRequired() throws UtilsException{
  756.         BooleanNullable b = this.readBooleanProperty(false, "truststore.jks.passwordRequired");
  757.         return parse(b, true);
  758.     }
  759.     public boolean isTruststorePkcs12PasswordRequired() throws UtilsException{
  760.         BooleanNullable b = this.readBooleanProperty(false, "truststore.pkcs12.passwordRequired");
  761.         return parse(b, true);
  762.     }
  763.    
  764.     public boolean isLoadCertificateWizardJksPasswordRequiredRequired() throws UtilsException{
  765.         BooleanNullable b = this.readBooleanProperty(false, "loadCertificateWizard.jks.passwordRequired");
  766.         return parse(b, true);
  767.     }
  768.     public boolean isLoadCertificateWizardPkcs12PasswordRequiredRequired() throws UtilsException{
  769.         BooleanNullable b = this.readBooleanProperty(false, "loadCertificateWizard.pkcs12.passwordRequired");
  770.         return parse(b, true);
  771.     }
  772.    
  773.    
  774.     /* ----- Gestione Password ------- */
  775.    
  776.     // Utenze Console
  777.    
  778.     public String getConsoleUtenzePassword() throws UtilsException{
  779.         return this.readProperty(true, "console.utenze.password");
  780.     }
  781.    
  782.     public int getConsoleUtenzeLunghezzaPasswordGenerate() throws UtilsException{
  783.         String lunghezzaS = this.readProperty(true, "console.utenze.passwordGenerated.length");
  784.         return Integer.parseInt(lunghezzaS);
  785.     }
  786.    
  787.     public boolean isConsoleUtenzeModificaProfiloUtenteDaLinkAggiornaDB() throws UtilsException{
  788.         return this.readBooleanRequiredProperty("console.utenze.modificaProfiloUtenteDaLink.aggiornaInfoSuDb");
  789.     }
  790.    
  791.     public boolean isConsoleUtenzeModificaProfiloUtenteDaFormAggiornaSessione() throws UtilsException{
  792.         return this.readBooleanRequiredProperty("console.utenze.modificaProfiloUtenteDaForm.aggiornaInfoInSessione");
  793.     }
  794.    
  795.     // Applicativi
  796.    
  797.     public String getConsoleApplicativiPassword() throws UtilsException{
  798.         return this.readProperty(true, "console.applicativi.password");
  799.     }
  800.    
  801.     public int getConsoleApplicativiBasicLunghezzaPasswordGenerate() throws UtilsException{
  802.         String lunghezzaS = this.readProperty(true, "console.applicativi.basic.passwordGenerated.length");
  803.         return Integer.parseInt(lunghezzaS);
  804.     }
  805.    
  806.     public int getConsoleApplicativiApiKeyLunghezzaPasswordGenerate() throws UtilsException{
  807.         String lunghezzaS = this.readProperty(true, "console.applicativi.api_key.passwordGenerated.length");
  808.         return Integer.parseInt(lunghezzaS);
  809.     }
  810.    
  811.     public boolean isConsoleApplicativiBasicPasswordEnableConstraints() throws UtilsException{
  812.         return this.readBooleanRequiredProperty("console.applicativi.basic.password.enableConstraints");
  813.     }
  814.    
  815.     // Soggetti
  816.    
  817.     public String getConsoleSoggettiPassword() throws UtilsException{
  818.         return this.readProperty(true, "console.soggetti.password");
  819.     }
  820.    
  821.     public int getConsoleSoggettiBasicLunghezzaPasswordGenerate() throws UtilsException{
  822.         String lunghezzaS = this.readProperty(true, "console.soggetti.basic.passwordGenerated.length");
  823.         return Integer.parseInt(lunghezzaS);
  824.     }
  825.    
  826.     public int getConsoleSoggettiApiKeyLunghezzaPasswordGenerate() throws UtilsException{
  827.         String lunghezzaS = this.readProperty(true, "console.soggetti.api_key.passwordGenerated.length");
  828.         return Integer.parseInt(lunghezzaS);
  829.     }
  830.    
  831.     public boolean isConsoleSoggettiBasicPasswordEnableConstraints() throws UtilsException{
  832.         return this.readBooleanRequiredProperty("console.soggetti.basic.password.enableConstraints");
  833.     }


  834.     /* ----- Impostazioni grafiche ------- */
  835.    
  836.     public String getConsoleNomeSintesi() throws UtilsException{
  837.         return this.readProperty(true, "console.nome.sintesi");
  838.     }
  839.    
  840.     public String getConsoleNomeEsteso() throws UtilsException{
  841.         return this.readProperty(true, "console.nome.esteso");
  842.     }
  843.    
  844.     public String getConsoleCSS() throws UtilsException{
  845.         return this.readProperty(true, "console.css");
  846.     }
  847.    
  848.     public String getConsoleLanguage() throws UtilsException{
  849.         return this.readProperty(true, "console.language");
  850.     }
  851.    
  852.     public int getConsoleLunghezzaLabel() throws UtilsException{
  853.         String lunghezzaS = this.readProperty(true, "console.lunghezzaLabel");
  854.         return Integer.parseInt(lunghezzaS);
  855.     }
  856.    
  857.     public int getConsoleNumeroColonneDefaultTextArea() throws UtilsException{
  858.         String lunghezzaS = this.readProperty(true, "console.colonneTextArea.default");
  859.         return Integer.parseInt(lunghezzaS);
  860.     }
  861.    
  862.     public String getLogoHeaderImage() throws UtilsException{
  863.         return this.readProperty(false,"console.header.logo.image");
  864.     }

  865.     public String getLogoHeaderTitolo() throws UtilsException{
  866.         return this.readProperty(false,"console.header.logo.titolo");
  867.     }

  868.     public String getLogoHeaderLink() throws UtilsException{
  869.         return this.readProperty(false,"console.header.logo.link");
  870.     }
  871.    
  872.     public boolean isVisualizzaLinkHomeHeader() throws UtilsException{
  873.         return this.readBooleanRequiredProperty("console.header.home.link.enabled");
  874.     }
  875.    
  876.     /* ----- Opzioni Accesso JMX della PdD ------- */
  877.    
  878.     public boolean isVisualizzaLinkClearAllCachesRemoteCheckCacheStatus() throws UtilsException{
  879.         return this.readBooleanRequiredProperty("risorseJmxPdd.linkClearAllCaches.remoteCheckCacheStatus");
  880.     }
  881.    
  882.     public String getJmxPdDExternalConfiguration() throws UtilsException{
  883.         return this.readProperty(false, "risorseJmxPdd.configurazioneNodiRun");
  884.     }
  885.    
  886.     public String getJmxPdDBackwardCompatibilityPrefix() {
  887.         return "risorseJmxPdd.";
  888.     }
  889.    
  890.     public Properties getJmxPdDBackwardCompatibilityProperties() throws UtilsException{
  891.        
  892.         String prefix = getJmxPdDBackwardCompatibilityPrefix();
  893.        
  894.         Properties p = new Properties();
  895.         Enumeration<?> en = this.reader.propertyNames();
  896.         while (en.hasMoreElements()) {
  897.             Object object = en.nextElement();
  898.             if(object instanceof String) {
  899.                 String key = (String) object;
  900.                 if(key.contains(prefix)) {
  901.                     String newKey = key.replace(prefix, "");
  902.                     p.put(newKey, this.reader.getValueConvertEnvProperties(key));
  903.                 }
  904.             }
  905.         }
  906.         return p;
  907.        
  908.     }
  909.    
  910.     private static ConfigurazioneNodiRuntime externalConfigurazioneNodiRuntime = null;
  911.     private static ConfigurazioneNodiRuntime backwardCompatibilityConfigurazioneNodiRuntime = null;
  912.     private static synchronized void initConfigurazioneNodiRuntime(String prefix) {
  913.         if(backwardCompatibilityConfigurazioneNodiRuntime==null) {
  914.             externalConfigurazioneNodiRuntime = ConfigurazioneNodiRuntime.getConfigurazioneNodiRuntime();
  915.             backwardCompatibilityConfigurazioneNodiRuntime = ConfigurazioneNodiRuntime.getConfigurazioneNodiRuntime(prefix);
  916.         }
  917.     }
  918.     private ConfigurazioneNodiRuntime getConfigurazioneNodiRuntimeEngine() {
  919.         if(backwardCompatibilityConfigurazioneNodiRuntime==null) {
  920.             initConfigurazioneNodiRuntime(getJmxPdDBackwardCompatibilityPrefix());
  921.         }
  922.         return externalConfigurazioneNodiRuntime;
  923.     }
  924.     private ConfigurazioneNodiRuntime getBackwardCompatibilityConfigurazioneNodiRuntimeEngine() {
  925.         if(backwardCompatibilityConfigurazioneNodiRuntime==null) {
  926.             initConfigurazioneNodiRuntime(getJmxPdDBackwardCompatibilityPrefix());
  927.         }
  928.         return backwardCompatibilityConfigurazioneNodiRuntime;
  929.     }
  930.     public ConfigurazioneNodiRuntime getConfigurazioneNodiRuntime() {
  931.         ConfigurazioneNodiRuntime config = getConfigurazioneNodiRuntimeEngine();
  932.         if(config==null) {
  933.             config = getBackwardCompatibilityConfigurazioneNodiRuntimeEngine();
  934.         }
  935.         return config;
  936.     }
  937.    
  938.     public List<String> getJmxPdDAliases() {
  939.        
  940.         List<String> lReturn = null;
  941.        
  942.         ConfigurazioneNodiRuntime config = getConfigurazioneNodiRuntime();
  943.         if(config!=null) {
  944.             return config.getAliases();
  945.         }
  946.         else {
  947.             return lReturn;
  948.         }
  949.     }
  950.    
  951.     public Map<String,List<String>> getJmxPdDGruppiAliases() {
  952.        
  953.         Map<String,List<String>> mapReturn = null;
  954.        
  955.         ConfigurazioneNodiRuntime config = getConfigurazioneNodiRuntime();
  956.         if(config!=null) {
  957.             return config.getGruppi_aliases();
  958.         }
  959.         else {
  960.             return mapReturn;
  961.         }
  962.     }
  963.    
  964.     public String getJmxPdDDescrizione(String alias) throws UtilsException {
  965.         ConfigurazioneNodiRuntime config = getConfigurazioneNodiRuntime();
  966.         if(config!=null) {
  967.             return config.getDescrizione(alias);
  968.         }
  969.         else {
  970.             return null;
  971.         }
  972.     }
  973.    
  974.     private String getJmxPdDValueEngine(boolean required, String alias, String prop) throws UtilsException{
  975.         String tmp = this.readProperty(false, alias+"."+prop);
  976.         if(tmp==null || "".equals(tmp)){
  977.             tmp = this.readProperty(required, prop);
  978.         }
  979.         return tmp;
  980.     }
  981.    
  982.     public String getJmxPdDDominio(String alias) throws UtilsException {
  983.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.dominio");
  984.     }
  985.     public String getJmxPdDConfigurazioneSistemaType(String alias) throws UtilsException {
  986.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.tipo");
  987.     }
  988.     public String getJmxPdDConfigurazioneSistemaNomeRisorsa(String alias) throws UtilsException {
  989.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeRisorsa");
  990.     }
  991.     public String getJmxPdDConfigurazioneSistemaNomeMetodoVersionePdD(String alias) throws UtilsException {
  992.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.versionePdD");
  993.     }
  994.     public String getJmxPdDConfigurazioneSistemaNomeMetodoVersioneBaseDati(String alias) throws UtilsException {
  995.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.versioneBaseDati");
  996.     }
  997.     public String getJmxPdDConfigurazioneSistemaNomeMetodoVersioneJava(String alias) throws UtilsException {
  998.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.versioneJava");
  999.     }
  1000.     public String getJmxPdDConfigurazioneSistemaNomeMetodoVendorJava(String alias) throws UtilsException {
  1001.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.vendorJava");
  1002.     }
  1003.     public String getJmxPdDConfigurazioneSistemaNomeMetodoTipoDatabase(String alias) throws UtilsException {
  1004.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.tipoDatabase");
  1005.     }
  1006.     public String getJmxPdDConfigurazioneSistemaNomeMetodoInformazioniDatabase(String alias) throws UtilsException {
  1007.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.infoDatabase");
  1008.     }
  1009.     public String getJmxPdDConfigurazioneSistemaNomeMetodoInformazioniSSL(String alias) throws UtilsException {
  1010.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.infoSSL");
  1011.     }
  1012.     public String getJmxPdDConfigurazioneSistemaNomeMetodoInformazioniCompleteSSL(String alias) throws UtilsException {
  1013.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.infoSSLComplete");
  1014.     }
  1015.     public boolean isJmxPdDConfigurazioneSistemaShowInformazioniCryptographyKeyLength() throws UtilsException {
  1016.         String tmp = this.readProperty(false, "risorseJmxPdd.configurazioneSistema.infoCryptographyKeyLength.show");
  1017.         if(tmp==null || "".equals(tmp)){
  1018.             return false;
  1019.         }
  1020.         return "true".equalsIgnoreCase(tmp.trim());
  1021.     }
  1022.     public String getJmxPdDConfigurazioneSistemaNomeMetodoInformazioniCryptographyKeyLength(String alias) throws UtilsException {
  1023.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.infoCryptographyKeyLength");
  1024.     }
  1025.     public String getJmxPdDConfigurazioneSistemaNomeMetodoInformazioniCharset(String alias) throws UtilsException {
  1026.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.infoCharset");
  1027.     }
  1028.     public String getJmxPdDConfigurazioneSistemaNomeMetodoInformazioniInternazionalizzazione(String alias) throws UtilsException {
  1029.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.infoInternazionalizzazione");
  1030.     }
  1031.     public String getJmxPdDConfigurazioneSistemaNomeMetodoInformazioniCompleteInternazionalizzazione(String alias) throws UtilsException {
  1032.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.infoInternazionalizzazioneComplete");
  1033.     }
  1034.     public String getJmxPdDConfigurazioneSistemaNomeMetodoInformazioniTimeZone(String alias) throws UtilsException {
  1035.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.infoTimeZone");
  1036.     }
  1037.     public String getJmxPdDConfigurazioneSistemaNomeMetodoInformazioniCompleteTimeZone(String alias) throws UtilsException {
  1038.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.infoTimeZoneComplete");
  1039.     }
  1040.     public String getJmxPdDConfigurazioneSistemaNomeMetodoInformazioniProprietaJavaNetworking(String alias) throws UtilsException {
  1041.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.infoProprietaJavaNetworking");
  1042.     }
  1043.     public String getJmxPdDConfigurazioneSistemaNomeMetodoInformazioniCompleteProprietaJavaNetworking(String alias) throws UtilsException {
  1044.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.infoProprietaJavaNetworkingComplete");
  1045.     }
  1046.     public String getJmxPdDConfigurazioneSistemaNomeMetodoInformazioniProprietaJavaAltro(String alias) throws UtilsException {
  1047.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.infoProprietaJavaAltro");
  1048.     }
  1049.     public String getJmxPdDConfigurazioneSistemaNomeMetodoInformazioniProprietaSistema(String alias) throws UtilsException {
  1050.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.infoProprietaSistema");
  1051.     }
  1052.     public String getJmxPdDConfigurazioneSistemaNomeMetodoMessageFactory(String alias) throws UtilsException {
  1053.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.messageFactory");
  1054.     }
  1055.     public String getJmxPdDConfigurazioneSistemaNomeMetodoDirectoryConfigurazione(String alias) throws UtilsException {
  1056.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.confDir");
  1057.     }
  1058.     public String getJmxPdDConfigurazioneSistemaNomeMetodoPluginProtocols(String alias) throws UtilsException {
  1059.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.pluginProtocols");
  1060.     }
  1061.     public String getJmxPdDConfigurazioneSistemaNomeMetodoInformazioniInstallazione(String alias) throws UtilsException {
  1062.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.infoInstallazione");
  1063.     }
  1064.     public String getJmxPdDConfigurazioneSistemaNomeMetodoGetFileTrace(String alias) throws UtilsException {
  1065.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.getFileTrace");
  1066.     }
  1067.     public String getJmxPdDConfigurazioneSistemaNomeMetodoUpdateFileTrace(String alias) throws UtilsException {
  1068.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.updateFileTrace");
  1069.     }
  1070.     public String getJmxPdDConfigurazioneSistemaNomeMetodoUnwrapKey(String alias) throws UtilsException {
  1071.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.unwrapKey");
  1072.     }
  1073.     public String getJmxPdDConfigurazioneSistemaNomeMetodoWrapKey(String alias) throws UtilsException {
  1074.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.wrapKey");
  1075.     }
  1076.     public String getJmxPdDConfigurazioneSistemaNomeRisorsaMonitoraggio(String alias) throws UtilsException {
  1077.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeRisorsaMonitoraggio");
  1078.     }
  1079.     public String getJmxPdDConfigurazioneSistemaNomeMetodoConnessioniDB(String alias) throws UtilsException {
  1080.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.connessioniDB");
  1081.     }
  1082.     public String getJmxPdDConfigurazioneSistemaNomeMetodoConnessioniJMS(String alias) throws UtilsException {
  1083.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.connessioniJMS");
  1084.     }
  1085.     public String getJmxPdDConfigurazioneSistemaNomeMetodoIdTransazioniAttive(String alias) throws UtilsException {
  1086.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.transazioniID");
  1087.     }
  1088.     public String getJmxPdDConfigurazioneSistemaNomeMetodoIdProtocolloTransazioniAttive(String alias) throws UtilsException {
  1089.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.transazioniIDProtocollo");
  1090.     }
  1091.     public String getJmxPdDConfigurazioneSistemaNomeMetodoConnessioniPD(String alias) throws UtilsException {
  1092.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.connessioniPD");
  1093.     }
  1094.     public String getJmxPdDConfigurazioneSistemaNomeMetodoConnessioniPA(String alias) throws UtilsException {
  1095.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.connessioniPA");
  1096.     }
  1097.     public String getJmxPdDConfigurazioneSistemaNomeRisorsaConfigurazionePdD(String alias) throws UtilsException {
  1098.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeRisorsaConfigurazionePdD");
  1099.     }
  1100.     public String getJmxPdDConfigurazioneSistemaNomeAttributoSeveritaDiagnostici(String alias) throws UtilsException {
  1101.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.severitaDiagnostici");
  1102.     }
  1103.     public String getJmxPdDConfigurazioneSistemaNomeAttributoSeveritaDiagnosticiLog4j(String alias) throws UtilsException {
  1104.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.severitaDiagnosticiLog4j");
  1105.     }
  1106.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTracciamento(String alias) throws UtilsException {
  1107.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.tracciamento");
  1108.     }
  1109.     public String getJmxPdDConfigurazioneSistemaNomeAttributoDumpPD(String alias) throws UtilsException {
  1110.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.dumpBinarioPD");
  1111.     }
  1112.     public String getJmxPdDConfigurazioneSistemaNomeAttributoDumpPA(String alias) throws UtilsException {
  1113.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.dumpBinarioPA");
  1114.     }
  1115.     public String getJmxPdDConfigurazioneSistemaNomeAttributoLog4jDiagnostica(String alias) throws UtilsException {
  1116.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.log4jDiagnostica");
  1117.     }
  1118.     public String getJmxPdDConfigurazioneSistemaNomeAttributoLog4jOpenspcoop(String alias) throws UtilsException {
  1119.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.log4jOpenspcoop");
  1120.     }
  1121.     public String getJmxPdDConfigurazioneSistemaNomeAttributoLog4jIntegrationManager(String alias) throws UtilsException {
  1122.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.log4jIntegrationManager");
  1123.     }
  1124.     public String getJmxPdDConfigurazioneSistemaNomeAttributoLog4jTracciamento(String alias) throws UtilsException {
  1125.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.log4jTracciamento");
  1126.     }
  1127.     public String getJmxPdDConfigurazioneSistemaNomeAttributoLog4jDump(String alias) throws UtilsException {
  1128.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.log4jDump");
  1129.     }
  1130.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTransactionErrorStatusCode(String alias) throws UtilsException {
  1131.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.transactionErrorStatusCode");
  1132.     }
  1133.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTransactionErrorInstanceId(String alias) throws UtilsException {
  1134.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.transactionErrorInstanceId");
  1135.     }
  1136.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTransactionSpecificErrorTypeBadResponse(String alias) throws UtilsException {
  1137.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.transactionSpecificErrorTypeBadResponse");
  1138.     }
  1139.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTransactionSpecificErrorTypeInternalResponseError(String alias) throws UtilsException {
  1140.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.transactionSpecificErrorTypeInternalResponseError");
  1141.     }
  1142.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTransactionSpecificErrorTypeInternalRequestError(String alias) throws UtilsException {
  1143.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.transactionSpecificErrorTypeInternalRequestError");
  1144.     }
  1145.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTransactionSpecificErrorTypeInternalError(String alias) throws UtilsException {
  1146.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.transactionSpecificErrorTypeInternalError");
  1147.     }
  1148.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTransactionSpecificErrorDetails(String alias) throws UtilsException {
  1149.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.transactionSpecificErrorDetails");
  1150.     }
  1151.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTransactionErrorUseStatusCodeAsFaultCode(String alias) throws UtilsException {
  1152.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.transactionErrorUseStatusCodeAsFaultCode");
  1153.     }
  1154.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTransactionErrorGenerateHttpHeaderGovWayCode(String alias) throws UtilsException {
  1155.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.transactionErrorGenerateHttpHeaderGovWayCode");
  1156.     }  
  1157.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTimerConsegnaContenutiApplicativi(String alias) throws UtilsException {
  1158.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.timerConsegnaContenutiApplicativi");
  1159.     }
  1160.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTimerEventi(String alias) throws UtilsException {
  1161.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.timerEventi");
  1162.     }
  1163.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTimerFileSystemRecovery(String alias) throws UtilsException {
  1164.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.timerFileSystemRecovery");
  1165.     }
  1166.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTimerGestoreBusteOnewayNonRiscontrate(String alias) throws UtilsException {
  1167.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.timerGestoreBusteOnewayNonRiscontrate");
  1168.     }
  1169.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTimerGestoreBusteAsincroneNonRiscontrate(String alias) throws UtilsException {
  1170.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.timerGestoreBusteAsincroneNonRiscontrate");
  1171.     }
  1172.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTimerGestoreMessaggiPuliziaMessaggiEliminati(String alias) throws UtilsException {
  1173.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.timerGestoreMessaggiPuliziaMessaggiEliminati");
  1174.     }
  1175.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTimerGestoreMessaggiPuliziaMessaggiScaduti(String alias) throws UtilsException {
  1176.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.timerGestoreMessaggiPuliziaMessaggiScaduti");
  1177.     }
  1178.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTimerGestoreMessaggiPuliziaMessaggiNonGestiti(String alias) throws UtilsException {
  1179.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.timerGestoreMessaggiPuliziaMessaggiNonGestiti");
  1180.     }
  1181.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTimerGestoreMessaggiPuliziaCorrelazioneApplicativa(String alias) throws UtilsException {
  1182.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.timerGestoreMessaggiPuliziaCorrelazioneApplicativa");
  1183.     }
  1184.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTimerGestoreMessaggiVerificaConnessioniAttive(String alias) throws UtilsException {
  1185.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.timerGestoreMessaggiVerificaConnessioniAttive");
  1186.     }
  1187.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTimerGestorePuliziaMessaggiAnomali(String alias) throws UtilsException {
  1188.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.timerGestorePuliziaMessaggiAnomali");
  1189.     }
  1190.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTimerGestoreRepositoryBuste(String alias) throws UtilsException {
  1191.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.timerGestoreRepositoryBuste");
  1192.     }
  1193.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTimerMonitoraggioRisorseThread(String alias) throws UtilsException {
  1194.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.timerMonitoraggioRisorseThread");
  1195.     }
  1196.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTimerRepositoryStatefulThread(String alias) throws UtilsException {
  1197.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.timerRepositoryStatefulThread");
  1198.     }
  1199.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTimerStatisticheOrarie(String alias) throws UtilsException {
  1200.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.timerStatisticheOrarie");
  1201.     }
  1202.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTimerStatisticheGiornaliere(String alias) throws UtilsException {
  1203.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.timerStatisticheGiornaliere");
  1204.     }
  1205.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTimerStatisticheSettimanali(String alias) throws UtilsException {
  1206.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.timerStatisticheSettimanali");
  1207.     }
  1208.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTimerStatisticheMensili(String alias) throws UtilsException {
  1209.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.timerStatisticheMensili");
  1210.     }
  1211.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTimerGestoreChiaviPDND(String alias) throws UtilsException {
  1212.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.timerGestoreChiaviPDND");
  1213.     }
  1214.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTimerGestoreCacheChiaviPDND(String alias) throws UtilsException {
  1215.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.timerGestoreCacheChiaviPDND");
  1216.     }
  1217.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTimerGestoreOperazioniRemote(String alias) throws UtilsException {
  1218.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.timerGestoreOperazioniRemote");
  1219.     }
  1220.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTimerSvecchiamentoOperazioniRemote(String alias) throws UtilsException {
  1221.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.timerSvecchiamentoOperazioniRemote");
  1222.     }
  1223.     public String getJmxPdDConfigurazioneSistemaNomeAttributoTimerThresholdThread(String alias) throws UtilsException {
  1224.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.timerThresholdThread");
  1225.     }
  1226.     public String getJmxPdDConfigurazioneSistemaNomeMetodoCheckConnettoreById(String alias) throws UtilsException {
  1227.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.checkConnettoreById");
  1228.     }
  1229.     public String getJmxPdDConfigurazioneSistemaNomeMetodoGetCertificatiConnettoreById(String alias) throws UtilsException {
  1230.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.getCertificatiConnettoreById");
  1231.     }
  1232.     public String getJmxPdDConfigurazioneSistemaNomeMetodoCheckConnettoreTokenPolicyValidazione(String alias) throws UtilsException {
  1233.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.checkConnettoreTokenPolicyValidazione");
  1234.     }
  1235.     public String getJmxPdDConfigurazioneSistemaNomeMetodoCheckConnettoreTokenPolicyNegoziazione(String alias) throws UtilsException {
  1236.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.checkConnettoreTokenPolicyNegoziazione");
  1237.     }
  1238.     public String getJmxPdDConfigurazioneSistemaNomeMetodoCheckConnettoreAttributeAuthority(String alias) throws UtilsException {
  1239.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.checkConnettoreAttributeAuthority");
  1240.     }
  1241.     public String getJmxPdDConfigurazioneSistemaNomeMetodoGetCertificatiConnettoreTokenPolicyValidazione(String alias) throws UtilsException {
  1242.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.getCertificatiConnettoreTokenPolicyValidazione");
  1243.     }
  1244.     public String getJmxPdDConfigurazioneSistemaNomeMetodoGetCertificatiConnettoreTokenPolicyNegoziazione(String alias) throws UtilsException {
  1245.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.getCertificatiConnettoreTokenPolicyNegoziazione");
  1246.     }
  1247.     public String getJmxPdDConfigurazioneSistemaNomeMetodoGetCertificatiConnettoreAttributeAuthority(String alias) throws UtilsException {
  1248.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.getCertificatiConnettoreAttributeAuthority");
  1249.     }  
  1250.     public String getJmxPdDConfigurazioneSistemaNomeMetodoEnablePortaDelegata(String alias) throws UtilsException {
  1251.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.enablePortaDelegata");
  1252.     }
  1253.     public String getJmxPdDConfigurazioneSistemaNomeMetodoDisablePortaDelegata(String alias) throws UtilsException {
  1254.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.disablePortaDelegata");
  1255.     }
  1256.     public String getJmxPdDConfigurazioneSistemaNomeMetodoEnablePortaApplicativa(String alias) throws UtilsException {
  1257.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.enablePortaApplicativa");
  1258.     }
  1259.     public String getJmxPdDConfigurazioneSistemaNomeMetodoDisablePortaApplicativa(String alias) throws UtilsException {
  1260.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.disablePortaApplicativa");
  1261.     }
  1262.     public String getJmxPdDConfigurazioneSistemaNomeMetodoEnableConnettoreMultiplo(String alias) throws UtilsException {
  1263.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.enableConnettoreMultiplo");
  1264.     }
  1265.     public String getJmxPdDConfigurazioneSistemaNomeMetodoDisableConnettoreMultiplo(String alias) throws UtilsException {
  1266.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.disableConnettoreMultiplo");
  1267.     }
  1268.     public String getJmxPdDConfigurazioneSistemaNomeMetodoEnableSchedulingConnettoreMultiplo(String alias) throws UtilsException {
  1269.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.enableSchedulingConnettoreMultiplo");
  1270.     }
  1271.     public String getJmxPdDConfigurazioneSistemaNomeMetodoDisableSchedulingConnettoreMultiplo(String alias) throws UtilsException {
  1272.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.disableSchedulingConnettoreMultiplo");
  1273.     }
  1274.     public String getJmxPdDConfigurazioneSistemaNomeMetodoEnableSchedulingConnettoreMultiploRuntimeRepository(String alias) throws UtilsException {
  1275.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.enableSchedulingConnettoreMultiploRuntimeRepository");
  1276.     }
  1277.     public String getJmxPdDConfigurazioneSistemaNomeMetodoDisableSchedulingConnettoreMultiploRuntimeRepository(String alias) throws UtilsException {
  1278.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.disableSchedulingConnettoreMultiploRuntimeRepository");
  1279.     }
  1280.     public String getJmxPdDConfigurazioneSistemaNomeMetodoRipulisciRiferimentiCacheAccordoCooperazione(String alias) throws UtilsException {
  1281.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.ripulisciRiferimentiCacheAccordoCooperazione");
  1282.     }
  1283.     public String getJmxPdDConfigurazioneSistemaNomeMetodoRipulisciRiferimentiCacheApi(String alias) throws UtilsException {
  1284.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.ripulisciRiferimentiCacheApi");
  1285.     }
  1286.     public String getJmxPdDConfigurazioneSistemaNomeMetodoRipulisciRiferimentiCacheErogazione(String alias) throws UtilsException {
  1287.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.ripulisciRiferimentiCacheErogazione");
  1288.     }
  1289.     public String getJmxPdDConfigurazioneSistemaNomeMetodoRipulisciRiferimentiCacheFruizione(String alias) throws UtilsException {
  1290.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.ripulisciRiferimentiCacheFruizione");
  1291.     }
  1292.     public String getJmxPdDConfigurazioneSistemaNomeMetodoRipulisciRiferimentiCacheSoggetto(String alias) throws UtilsException {
  1293.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.ripulisciRiferimentiCacheSoggetto");
  1294.     }
  1295.     public String getJmxPdDConfigurazioneSistemaNomeMetodoRipulisciRiferimentiCacheApplicativo(String alias) throws UtilsException {
  1296.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.ripulisciRiferimentiCacheApplicativo");
  1297.     }
  1298.     public String getJmxPdDConfigurazioneSistemaNomeMetodoRipulisciRiferimentiCacheRuolo(String alias) throws UtilsException {
  1299.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.ripulisciRiferimentiCacheRuolo");
  1300.     }
  1301.     public String getJmxPdDConfigurazioneSistemaNomeMetodoRipulisciRiferimentiCacheScope(String alias) throws UtilsException {
  1302.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.ripulisciRiferimentiCacheScope");
  1303.     }
  1304.     public String getJmxPdDConfigurazioneSistemaNomeMetodoRipulisciRiferimentiCacheTokenPolicyValidazione(String alias) throws UtilsException {
  1305.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.ripulisciRiferimentiCacheTokenPolicyValidazione");
  1306.     }
  1307.     public String getJmxPdDConfigurazioneSistemaNomeMetodoRipulisciRiferimentiCacheTokenPolicyNegoziazione(String alias) throws UtilsException {
  1308.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.ripulisciRiferimentiCacheTokenPolicyNegoziazione");
  1309.     }
  1310.     public String getJmxPdDConfigurazioneSistemaNomeMetodoRipulisciRiferimentiCacheAttributeAuthority(String alias) throws UtilsException {
  1311.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.ripulisciRiferimentiCacheAttributeAuthority");
  1312.     }
  1313.     public String getJmxPdDConfigurazioneSistemaNomeMetodoCheckCertificatoApplicativoById(String alias) throws UtilsException {
  1314.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.checkCertificatoApplicativoById");
  1315.     }
  1316.     public String getJmxPdDConfigurazioneSistemaNomeMetodoCheckCertificatoModIApplicativoById(String alias) throws UtilsException {
  1317.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.checkCertificatoModIApplicativoById");
  1318.     }
  1319.     public String getJmxPdDConfigurazioneSistemaNomeMetodoCheckCertificatiConnettoreHttpsById(String alias) throws UtilsException {
  1320.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.checkCertificatiConnettoreHttpsById");
  1321.     }
  1322.     public String getJmxPdDConfigurazioneSistemaNomeMetodoCheckCertificatiJvm(String alias) throws UtilsException {
  1323.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.checkCertificatiJvm");
  1324.     }
  1325.     public String getJmxPdDConfigurazioneSistemaNomeMetodoCheckCertificatiConnettoreHttpsTokenPolicyValidazione(String alias) throws UtilsException {
  1326.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.checkCertificatiConnettoreHttpsTokenPolicyValidazione");
  1327.     }
  1328.     public String getJmxPdDConfigurazioneSistemaNomeMetodoCheckCertificatiValidazioneJwtTokenPolicyValidazione(String alias) throws UtilsException {
  1329.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.checkCertificatiValidazioneJwtTokenPolicyValidazione");
  1330.     }
  1331.     public String getJmxPdDConfigurazioneSistemaNomeMetodoCheckCertificatiForwardToJwtTokenPolicyValidazione(String alias) throws UtilsException {
  1332.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.checkCertificatiForwardToJwtTokenPolicyValidazione");
  1333.     }
  1334.     public String getJmxPdDConfigurazioneSistemaNomeMetodoCheckCertificatiConnettoreHttpsTokenPolicyNegoziazione(String alias) throws UtilsException {
  1335.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.checkCertificatiConnettoreHttpsTokenPolicyNegoziazione");
  1336.     }
  1337.     public String getJmxPdDConfigurazioneSistemaNomeMetodoCheckCertificatiSignedJwtTokenPolicyNegoziazione(String alias) throws UtilsException {
  1338.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.checkCertificatiSignedJwtTokenPolicyNegoziazione");
  1339.     }
  1340.     public String getJmxPdDConfigurazioneSistemaNomeMetodoCheckCertificatiConnettoreHttpsAttributeAuthority(String alias) throws UtilsException {
  1341.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.checkCertificatiConnettoreHttpsAttributeAuthority");
  1342.     }
  1343.     public String getJmxPdDConfigurazioneSistemaNomeMetodoCheckCertificatiAttributeAuthorityJwtRichiesta(String alias) throws UtilsException {
  1344.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.checkCertificatiAttributeAuthorityJwtRichiesta");
  1345.     }
  1346.     public String getJmxPdDConfigurazioneSistemaNomeMetodoCheckCertificatiAttributeAuthorityJwtRisposta(String alias) throws UtilsException {
  1347.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.checkCertificatiAttributeAuthorityJwtRisposta");
  1348.     }
  1349.     public String getJmxPdDConfigurazioneSistemaNomeRisorsaAccessoRegistroServizi(String alias) throws UtilsException {
  1350.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeRisorsaAccessoRegistroServizi");
  1351.     }
  1352.     public String getJmxPdDConfigurazioneSistemaNomeRisorsaStatoServiziPdD(String alias) throws UtilsException {
  1353.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeRisorsaStatoServiziPdD");
  1354.     }
  1355.     public String getJmxPdDConfigurazioneSistemaNomeAttributoStatoServizioPortaDelegata(String alias) throws UtilsException {
  1356.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.statoServizioPortaDelegata");
  1357.     }
  1358.     public String getJmxPdDConfigurazioneSistemaNomeAttributoStatoServizioPortaDelegataAbilitazioniPuntuali(String alias) throws UtilsException {
  1359.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.statoServizioPortaDelegataAbilitazioniPuntuali");
  1360.     }
  1361.     public String getJmxPdDConfigurazioneSistemaNomeAttributoStatoServizioPortaDelegataDisabilitazioniPuntuali(String alias) throws UtilsException {
  1362.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.statoServizioPortaDelegataDisabilitazioniPuntuali");
  1363.     }
  1364.     public String getJmxPdDConfigurazioneSistemaNomeAttributoStatoServizioPortaApplicativa(String alias) throws UtilsException {
  1365.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.statoServizioPortaApplicativa");
  1366.     }
  1367.     public String getJmxPdDConfigurazioneSistemaNomeAttributoStatoServizioPortaApplicativaAbilitazioniPuntuali(String alias) throws UtilsException {
  1368.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.statoServizioPortaApplicativaAbilitazioniPuntuali");
  1369.     }
  1370.     public String getJmxPdDConfigurazioneSistemaNomeAttributoStatoServizioPortaApplicativaDisabilitazioniPuntuali(String alias) throws UtilsException {
  1371.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.statoServizioPortaApplicativaDisabilitazioniPuntuali");
  1372.     }
  1373.     public String getJmxPdDConfigurazioneSistemaNomeAttributoStatoServizioIntegrationManager(String alias) throws UtilsException {
  1374.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.statoServizioIntegrationManager");
  1375.     }
  1376.     public String getJmxPdDConfigurazioneSistemaNomeMetodoAbilitaServizioPortaDelegata(String alias) throws UtilsException {
  1377.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.abilitaServizioPortaDelegata");
  1378.     }
  1379.     public String getJmxPdDConfigurazioneSistemaNomeMetodoDisabilitaServizioPortaDelegata(String alias) throws UtilsException {
  1380.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.disabilitaServizioPortaDelegata");
  1381.     }
  1382.     public String getJmxPdDConfigurazioneSistemaNomeMetodoAbilitaServizioPortaApplicativa(String alias) throws UtilsException {
  1383.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.abilitaServizioPortaApplicativa");
  1384.     }
  1385.     public String getJmxPdDConfigurazioneSistemaNomeMetodoDisabilitaServizioPortaApplicativa(String alias) throws UtilsException {
  1386.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.disabilitaServizioPortaApplicativa");
  1387.     }
  1388.     public String getJmxPdDConfigurazioneSistemaNomeMetodoAbilitaServizioIntegrationManager(String alias) throws UtilsException {
  1389.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.abilitaServizioIntegrationManager");
  1390.     }
  1391.     public String getJmxPdDConfigurazioneSistemaNomeMetodoDisabilitaServizioIntegrationManager(String alias) throws UtilsException {
  1392.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.disabilitaServizioIntegrationManager");
  1393.     }
  1394.     public String getJmxPdDConfigurazioneSistemaNomeMetodoCheckCertificatoSoggettoById(String alias) throws UtilsException {
  1395.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.checkCertificatoSoggettoById");
  1396.     }
  1397.     public String getJmxPdDConfigurazioneSistemaNomeMetodoCheckCertificatiConnettoreHttpsByIdRegistro(String alias) throws UtilsException {
  1398.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.checkCertificatiConnettoreHttpsByIdRegistro");
  1399.     }
  1400.     public String getJmxPdDConfigurazioneSistemaNomeMetodoCheckCertificatiModIErogazioneById(String alias) throws UtilsException {
  1401.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.checkCertificatiModIErogazioneById");
  1402.     }
  1403.     public String getJmxPdDConfigurazioneSistemaNomeMetodoCheckCertificatiModIFruizioneById(String alias) throws UtilsException {
  1404.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.checkCertificatiModIFruizioneById");
  1405.     }
  1406.     public String getJmxPdDConfigurazioneSistemaNomeMetodoCheckCertificatiMessageSecurityErogazioneById(String alias) throws UtilsException {
  1407.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.checkCertificatiMessageSecurityErogazioneById");
  1408.     }
  1409.     public String getJmxPdDConfigurazioneSistemaNomeMetodoCheckCertificatiMessageSecurityFruizioneById(String alias) throws UtilsException {
  1410.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.checkCertificatiMessageSecurityFruizioneById");
  1411.     }
  1412.     public String getJmxPdDConfigurazioneSistemaNomeRisorsaDatasourceGW(String alias) throws UtilsException {
  1413.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeRisorsaDatasourceGW");
  1414.     }
  1415.     public String getJmxPdDConfigurazioneSistemaNomeAttributoNumeroDatasourceGW(String alias) throws UtilsException {
  1416.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeAttributo.numeroDatasourceGW");
  1417.     }
  1418.     public String getJmxPdDConfigurazioneSistemaNomeMetodoGetDatasourcesGW(String alias) throws UtilsException {
  1419.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.getDatasourcesGW");
  1420.     }
  1421.     public String getJmxPdDConfigurazioneSistemaNomeMetodoGetUsedConnectionsDatasourcesGW(String alias) throws UtilsException {
  1422.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.getUsedConnectionsDatasourcesGW");
  1423.     }
  1424.     public String getJmxPdDConfigurazioneSistemaNomeMetodoGetInformazioniDatabaseDatasourcesGW(String alias) throws UtilsException {
  1425.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.getInformazioniDatabaseDatasourcesGW");
  1426.     }
  1427.     public String getJmxPdDConfigurazioneSistemaNomeRisorsaGestioneConsegnaApplicativi(String alias) throws UtilsException {
  1428.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeRisorsaGestioneConsegnaApplicativi");
  1429.     }
  1430.     public String getJmxPdDConfigurazioneSistemaNomeMetodoGetThreadPoolStatus(String alias) throws UtilsException {
  1431.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.getThreadPoolStatus");
  1432.     }
  1433.     public String getJmxPdDConfigurazioneSistemaNomeMetodoGetQueueConfig(String alias) throws UtilsException {
  1434.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.getQueueConfig");
  1435.     }
  1436.     public String getJmxPdDConfigurazioneSistemaNomeMetodoGetApplicativiPrioritari(String alias) throws UtilsException {
  1437.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.getApplicativiPrioritari");
  1438.     }
  1439.     public String getJmxPdDConfigurazioneSistemaNomeMetodoGetConnettoriPrioritari(String alias) throws UtilsException {
  1440.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.getConnettoriPrioritari");
  1441.     }
  1442.     public String getJmxPdDConfigurazioneSistemaNomeMetodoUpdateConnettoriPrioritari(String alias) throws UtilsException {
  1443.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.updateConnettoriPrioritari");
  1444.     }
  1445.     public String getJmxPdDConfigurazioneSistemaNomeMetodoResetConnettoriPrioritari(String alias) throws UtilsException {
  1446.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.resetConnettoriPrioritari");
  1447.     }
  1448.     public String getJmxPdDConfigurazioneSistemaNomeRisorsaSystemPropertiesPdD(String alias) throws UtilsException {
  1449.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeRisorsaSystemPropertiesPdD");
  1450.     }
  1451.     public String getJmxPdDConfigurazioneSistemaNomeMetodoRefreshPersistentConfiguration(String alias) throws UtilsException {
  1452.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.refreshPersistentConfiguration");
  1453.     }
  1454.     public String getJmxPdDConfigurazioneSistemaNomeRisorsaDatiRichieste(String alias) throws UtilsException {
  1455.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeRisorsaDatiRichieste");
  1456.     }
  1457.     public String getJmxPdDConfigurazioneSistemaNomeMetodoRemoveRateLimitingGlobalConfigCache(String alias) throws UtilsException {
  1458.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.removeRateLimitingGlobalConfigCache");
  1459.     }
  1460.     public String getJmxPdDConfigurazioneSistemaNomeMetodoRemoveRateLimitingAPIConfigCache(String alias) throws UtilsException {
  1461.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.configurazioneSistema.nomeMetodo.removeRateLimitingAPIConfigCache");
  1462.     }
  1463.     public List<String> getJmxPdDCaches(String alias) throws UtilsException {
  1464.         return this.readJmxCaches(alias, "risorseJmxPdd.caches");
  1465.     }
  1466.     public List<String> getJmxPdDCachesPrefill(String alias) throws UtilsException {
  1467.         return this.readJmxCaches(alias, "risorseJmxPdd.caches.prefill");
  1468.     }
  1469.     private List<String> readJmxCaches(String alias,String property) throws UtilsException {
  1470.         List<String> list = new ArrayList<>();
  1471.         String tipo = getJmxPdDValueEngine(false, alias, property);
  1472.         if(tipo!=null && !"".equals(tipo)){
  1473.             String [] tmp = tipo.split(",");
  1474.             for (int i = 0; i < tmp.length; i++) {
  1475.                 list.add(tmp[i].trim());
  1476.             }
  1477.         }
  1478.         return list;
  1479.     }
  1480.     public String getJmxPdDCacheType(String alias) throws UtilsException {
  1481.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.cache.tipo");
  1482.     }
  1483.     public String getJmxPdDCacheNomeAttributoCacheAbilitata(String alias) throws UtilsException {
  1484.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.cache.nomeAttributo.cacheAbilitata");
  1485.     }
  1486.     public String getJmxPdDCacheNomeMetodoStatoCache(String alias) throws UtilsException {
  1487.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.cache.nomeMetodo.statoCache");
  1488.     }
  1489.     public String getJmxPdDCacheNomeMetodoResetCache(String alias) throws UtilsException {
  1490.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.cache.nomeMetodo.resetCache");
  1491.     }
  1492.     public String getJmxPdDCacheNomeMetodoPrefillCache(String alias) throws UtilsException {
  1493.         return getJmxPdDValueEngine(true, alias, "risorseJmxPdd.cache.nomeMetodo.prefillCache");
  1494.     }
  1495.    
  1496.    
  1497.     /* ----- Opzioni di Visualizzazione ----- */
  1498.    
  1499.     public Boolean isShowJ2eeOptions() throws UtilsException{
  1500.         String tmp = this.readProperty(true, "server.tipo");
  1501.         return !"web".equals(tmp);
  1502.     }
  1503.    
  1504.     public Boolean isConsoleConfigurazioniPersonalizzate() throws UtilsException{
  1505.         return this.readBooleanRequiredProperty("console.configurazioniPersonalizzate");
  1506.     }
  1507.    
  1508.     public Boolean isConsoleGestioneSoggettiVirtuali() throws UtilsException{
  1509.         return this.readBooleanRequiredProperty("console.gestioneSoggettiVirtuali");
  1510.     }
  1511.    
  1512.     public Boolean isConsoleGestioneSoggettiRouter() throws UtilsException{
  1513.         return this.readBooleanRequiredProperty("console.gestioneSoggettiRouter");
  1514.     }
  1515.    
  1516.     public Boolean isConsoleGestioneWorkflowStatoDocumenti() throws UtilsException{
  1517.         return this.readBooleanRequiredProperty("console.gestioneWorkflowStatoDocumenti");
  1518.     }
  1519.    
  1520.     public Boolean isConsoleGestioneWorkflowStatoDocumentiVisualizzaStatoLista() throws UtilsException{
  1521.         return this.readBooleanRequiredProperty("console.gestioneWorkflowStatoDocumenti.visualizzaStatoLista");
  1522.     }
  1523.    
  1524.     public Boolean isConsoleGestioneWorkflowStatoDocumentiRipristinoStatoOperativoDaFinale() throws UtilsException{
  1525.         return this.readBooleanRequiredProperty("console.gestioneWorkflowStatoDocumenti.finale.ripristinoStatoOperativo");
  1526.     }
  1527.    
  1528.     public Boolean isConsoleInterfacceAPIVisualizza() throws UtilsException{
  1529.         return this.readBooleanRequiredProperty("console.interfacceAPI.visualizza");
  1530.     }
  1531.    
  1532.     public Boolean isConsoleAllegatiVisualizza() throws UtilsException{
  1533.         return this.readBooleanRequiredProperty("console.allegati.visualizza");
  1534.     }
  1535.    
  1536.     public Boolean isEnableAutoMappingWsdlIntoAccordo() throws UtilsException{
  1537.         return this.readBooleanRequiredProperty("console.gestioneWsdl.autoMappingInAccordo");
  1538.     }
  1539.    
  1540.     public Boolean isEnableAutoMappingWsdlIntoAccordoEstrazioneSchemiInWsdlTypes() throws UtilsException{
  1541.         return this.readBooleanRequiredProperty("console.gestioneWsdl.autoMappingInAccordo.estrazioneSchemiInWsdlTypes");
  1542.     }
  1543.    
  1544.     public Boolean isMenuVisualizzaFlagPrivato() throws UtilsException{
  1545.         return this.readBooleanRequiredProperty("menu.visualizzaFlagPrivato");
  1546.     }
  1547.    
  1548.     public Boolean isMenuVisualizzaListaCompletaConnettori() throws UtilsException{
  1549.         return this.readBooleanRequiredProperty("menu.visualizzaListaCompletaConnettori");
  1550.     }
  1551.    
  1552.     public Boolean isMenuVisualizzaOpzioneDebugConnettore() throws UtilsException{
  1553.         return this.readBooleanRequiredProperty("menu.visualizzaOpzioneDebugConnettore");
  1554.     }
  1555.    
  1556.     public Boolean isMenuAccordiVisualizzaCorrelazioneAsincrona() throws UtilsException{
  1557.         return this.readBooleanRequiredProperty("menu.accordi.visualizzaCorrelazioneAsincrona");
  1558.     }
  1559.    
  1560.     public Boolean isMenuAccordiVisualizzazioneGestioneInformazioniProtocollo() throws UtilsException{
  1561.         return this.readBooleanRequiredProperty("menu.accordi.visualizzazioneGestioneInformazioniProtocollo");
  1562.     }
  1563.    
  1564.     public Boolean isMenuMTOMVisualizzazioneCompleta() throws UtilsException{
  1565.         return this.readBooleanRequiredProperty("menu.mtom.visualizzazioneCompleta");
  1566.     }
  1567.    
  1568.     public Integer getPortaCorrelazioneApplicativaMaxLength() throws UtilsException{
  1569.         return this.readIntegerProperty(true, "menu.porte.correlazioneApplicativa.maxLength");
  1570.     }
  1571.    
  1572.     public Boolean isMenuPortaDelegataLocalForward() throws UtilsException{
  1573.         return this.readBooleanRequiredProperty("menu.porte.localForward");
  1574.     }
  1575.    
  1576.     public boolean isProprietaErogazioniShowModalitaStandard() throws UtilsException{
  1577.         return this.readBooleanRequiredProperty("menu.proprietaErogazioni.showModalitaStandard");
  1578.     }
  1579.    
  1580.     public boolean isProprietaFruizioniShowModalitaStandard() throws UtilsException{
  1581.         return this.readBooleanRequiredProperty("menu.proprietaFruizioni.showModalitaStandard");
  1582.     }
  1583.    
  1584.     public boolean isPortTypeObbligatorioImplementazioniSOAP() throws UtilsException{
  1585.         return this.readBooleanRequiredProperty("menu.servizi.portTypeObbligatorio");
  1586.     }
  1587.    
  1588.     public Boolean isVisualizzazioneConfigurazioneDiagnosticaLog4J() throws UtilsException{
  1589.         String p = "menu.configurazione.visualizzazioneDiagnostica.standard";
  1590.         String tmp = this.readProperty(false, p);
  1591.         if(tmp==null){
  1592.             return true; // standard per default
  1593.         }
  1594.         if(!"true".equalsIgnoreCase(tmp) && !"false".equalsIgnoreCase(tmp)){
  1595.             throw new UtilsException("Property ["+p+"] with uncorrect value ["+tmp+"] (true/value expected)");
  1596.         }
  1597.         return Boolean.parseBoolean(tmp);
  1598.     }
  1599.    
  1600.     public Boolean isElenchiVisualizzaCountElementi() throws UtilsException{
  1601.         return this.readBooleanRequiredProperty("elenchi.visualizzaCountElementi");
  1602.     }
  1603.    
  1604.     public boolean isElenchiAbilitaResetCacheSingoloElemento() throws UtilsException{
  1605.         return this.readBooleanRequiredProperty("elenchi.risultati.abilitaResetCacheSingoloElemento");
  1606.     }
  1607.    
  1608.     public Boolean isElenchiRicercaConservaCriteri() throws UtilsException{
  1609.         return this.readBooleanRequiredProperty("elenchi.ricerca.conservaCriteri");
  1610.     }
  1611.    
  1612.     public Boolean isElenchiAccordiVisualizzaColonnaAzioni() throws UtilsException{
  1613.         return this.readBooleanRequiredProperty("elenchi.accordi.visualizzaColonnaAzioni");
  1614.     }
  1615.    
  1616.     public Boolean isElenchiSAAsincroniNonSupportatiVisualizzaRispostaAsincrona() throws UtilsException{
  1617.         return this.readBooleanRequiredProperty("elenchi.serviziApplicativi.asincroniNonSupportati.visualizzazioneRispostaAsincrona");
  1618.     }
  1619.    
  1620.     public Boolean isElenchiMenuVisualizzazionePulsantiImportExportPackage() throws UtilsException{
  1621.         return this.readBooleanRequiredProperty("elenchi_menu.visualizzazionePulsantiImportExportPackage");
  1622.     }
  1623.    
  1624.     public Integer getElenchiMenuIdentificativiLunghezzaMassima() throws UtilsException{
  1625.         return this.readIntegerProperty(true, "elenchi_menu.identificativi.lunghezzaMassima");
  1626.     }
  1627.    
  1628.     public String getTokenPolicyForceId() throws UtilsException{
  1629.         return this.readProperty(false, "console.tokenPolicy.forceId");
  1630.     }
  1631.    
  1632.     public Properties getTokenPolicyTipologia() throws UtilsException{
  1633.         return this.reader.readPropertiesConvertEnvProperties("console.tokenPolicy.mapping.");
  1634.     }
  1635.    
  1636.     public String getAttributeAuthorityForceId() throws UtilsException{
  1637.         return this.readProperty(false, "console.attributeAuthority.forceId");
  1638.     }
  1639.    
  1640.     public Properties getAttributeAuthorityTipologia() throws UtilsException{
  1641.         return this.reader.readPropertiesConvertEnvProperties("console.attributeAuthority.mapping.");
  1642.     }
  1643.    
  1644.     public Boolean isEnableServiziVisualizzaModalitaElenco() throws UtilsException{
  1645.         return this.readBooleanRequiredProperty("console.servizi.visualizzaModalitaElenco");
  1646.     }
  1647.    
  1648.     public Integer getNumeroMassimoSoggettiOperativiMenuUtente() throws UtilsException{
  1649.         return this.readIntegerProperty(true, "console.selectListSoggettiOperativi.numeroMassimoSoggettiVisualizzati");
  1650.     }
  1651.    
  1652.     public Integer getLunghezzaMassimaLabelSoggettiOperativiMenuUtente() throws UtilsException{
  1653.         return this.readIntegerProperty(true, "console.selectListSoggettiOperativi.lunghezzaMassimaLabel");
  1654.     }
  1655.    
  1656.     public Integer getLunghezzaMassimaInformazioneView() throws UtilsException{
  1657.         return this.readIntegerProperty(true, "console.view.lunghezzaMassimaInformazione");
  1658.     }
  1659.    
  1660.     public boolean isSetSearchAfterAdd() throws UtilsException{
  1661.         return this.readBooleanRequiredProperty("console.setSearchAfterAdd");
  1662.     }
  1663.    
  1664.     /* ----- Gestione vulnerabilita' console ------- */
  1665.     public Integer getValiditaTokenCsrf() throws UtilsException{
  1666.         return this.readIntegerProperty(true, "console.csrf.token.validita");
  1667.     }
  1668.    
  1669.     public String getCSPHeaderValue() throws UtilsException{
  1670.         return this.readProperty(true, "console.csp.header.value");
  1671.     }
  1672.    
  1673.     /* ---------------- Gestione govwayConsole centralizzata ----------------------- */

  1674.     public Boolean isGestioneCentralizzataSincronizzazionePdd() throws UtilsException{
  1675.         return this.readBooleanRequiredProperty("sincronizzazionePdd");
  1676.     }
  1677.    
  1678.     public Boolean isGestioneCentralizzataSincronizzazioneRegistro() throws UtilsException{
  1679.         return this.readBooleanRequiredProperty("sincronizzazioneRegistro");
  1680.     }
  1681.    
  1682.     public Boolean isGestioneCentralizzataSincronizzazioneGestoreEventi() throws UtilsException{
  1683.         return this.readBooleanRequiredProperty("sincronizzazioneGE");
  1684.     }
  1685.    
  1686.     public String getGestioneCentralizzataNomeCodaSmistatore() throws UtilsException{
  1687.         return this.readProperty(true, "SmistatoreQueue");
  1688.     }
  1689.    
  1690.     public String getGestioneCentralizzataNomeCodaRegistroServizi() throws UtilsException{
  1691.         return this.readProperty(true, "RegistroServiziQueue");
  1692.     }
  1693.    
  1694.     public String getGestioneCentralizzataWSRegistroServiziEndpointPdd() throws UtilsException{
  1695.         return this.readProperty(true, "RegistroServiziWS.endpoint.portaDominio");
  1696.     }
  1697.    
  1698.     public String getGestioneCentralizzataWSRegistroServiziEndpointSoggetto() throws UtilsException{
  1699.         return this.readProperty(true, "RegistroServiziWS.endpoint.soggetto");
  1700.     }
  1701.    
  1702.     public String getGestioneCentralizzataWSRegistroServiziEndpointAccordoCooperazione() throws UtilsException{
  1703.         return this.readProperty(true, "RegistroServiziWS.endpoint.accordoCooperazione");
  1704.     }
  1705.    
  1706.     public String getGestioneCentralizzataWSRegistroServiziEndpointAccordoServizioParteComune() throws UtilsException{
  1707.         return this.readProperty(true, "RegistroServiziWS.endpoint.accordoServizioParteComune");
  1708.     }
  1709.    
  1710.     public String getGestioneCentralizzataWSRegistroServiziEndpointAccordoServizioParteSpecifica() throws UtilsException{
  1711.         return this.readProperty(true, "RegistroServiziWS.endpoint.accordoServizioParteSpecifica");
  1712.     }
  1713.    
  1714.     public String getGestioneCentralizzataWSRegistroServiziCredenzialiBasicUsername() throws UtilsException{
  1715.         return this.readProperty(false, "RegistroServiziWS.username");
  1716.     }
  1717.    
  1718.     public String getGestioneCentralizzataWSRegistroServiziCredenzialiBasicPassword() throws UtilsException{
  1719.         return this.readProperty(false, "RegistroServiziWS.password");
  1720.     }
  1721.    
  1722.     public String getGestioneCentralizzataPrefissoNomeCodaConfigurazionePdd() throws UtilsException{
  1723.         return this.readProperty(true, "PdDQueuePrefix");
  1724.     }
  1725.    
  1726.     public String getGestioneCentralizzataGestorePddScriptShellPath() throws UtilsException{
  1727.         return this.readProperty(false, "GestorePdD.script.path");
  1728.     }
  1729.    
  1730.     public String getGestioneCentralizzataGestorePddScriptShellArgs() throws UtilsException{
  1731.         return this.readProperty(false, "GestorePdD.script.args");
  1732.     }
  1733.    
  1734.     public String getGestioneCentralizzataWSConfigurazioneEndpointSuffixPortaApplicativa() throws UtilsException{
  1735.         return this.readProperty(true, "ConfigurazioneWS.endpoint.suffix.portaApplicativa");
  1736.     }
  1737.    
  1738.     public String getGestioneCentralizzataWSConfigurazioneEndpointSuffixPortaDelegata() throws UtilsException{
  1739.         return this.readProperty(true, "ConfigurazioneWS.endpoint.suffix.portaDelegata");
  1740.     }
  1741.    
  1742.     public String getGestioneCentralizzataWSConfigurazioneEndpointSuffixServizioApplicativo() throws UtilsException{
  1743.         return this.readProperty(true, "ConfigurazioneWS.endpoint.suffix.servizioApplicativo");
  1744.     }
  1745.    
  1746.     public String getGestioneCentralizzataWSConfigurazioneEndpointSuffixSoggetto() throws UtilsException{
  1747.         return this.readProperty(true, "ConfigurazioneWS.endpoint.suffix.soggetto");
  1748.     }
  1749.    
  1750.     public String getGestioneCentralizzataWSConfigurazioneCredenzialiBasicUsername() throws UtilsException{
  1751.         return this.readProperty(false, "ConfigurazioneWS.username");
  1752.     }
  1753.    
  1754.     public String getGestioneCentralizzataWSConfigurazioneCredenzialiBasicPassword() throws UtilsException{
  1755.         return this.readProperty(false, "ConfigurazioneWS.password");
  1756.     }
  1757.    
  1758.     public String getGestioneCentralizzataNomeCodaGestoreEventi() throws UtilsException{
  1759.         return this.readProperty(true, "GestoreEventiQueue");
  1760.     }
  1761.    
  1762.     public String getGestioneCentralizzataPrefissoWSGestoreEventi() throws UtilsException{
  1763.         return this.readProperty(true, "UrlWebServiceGestoreEventi");
  1764.     }
  1765.    
  1766.     public String getGestioneCentralizzataGestoreEventiTipoSoggetto() throws UtilsException{
  1767.         return this.readProperty(true, "gestoreEventi.tipo_soggetto");
  1768.     }
  1769.    
  1770.     public String getGestioneCentralizzataGestoreEventiNomeSoggetto() throws UtilsException{
  1771.         return this.readProperty(true, "gestoreEventi.nome_soggetto");
  1772.     }
  1773.    
  1774.     public String getGestioneCentralizzataGestoreEventiNomeServizioApplicativo() throws UtilsException{
  1775.         return this.readProperty(true, "gestoreEventi.nome_servizio_applicativo");
  1776.     }
  1777.    
  1778.     public String getGestioneCentralizzataWSMonitorPddDefault() throws UtilsException{
  1779.         return this.readProperty(true, "MonitoraggioWS.pdd.default");
  1780.     }
  1781.    
  1782.     public String getGestioneCentralizzataWSMonitorEndpointSuffixStatoPdd() throws UtilsException{
  1783.         return this.readProperty(true, "MonitoraggioWS.endpoint.suffix.statoPdd");
  1784.     }
  1785.    
  1786.     public String getGestioneCentralizzataWSMonitorEndpointSuffixMessaggio() throws UtilsException{
  1787.         return this.readProperty(true, "MonitoraggioWS.endpoint.suffix.messaggio");
  1788.     }
  1789.    
  1790.     public String getGestioneCentralizzataWSMonitorCredenzialiBasicUsername() throws UtilsException{
  1791.         return this.readProperty(false, "MonitoraggioWS.username");
  1792.     }
  1793.    
  1794.     public String getGestioneCentralizzataWSMonitorCredenzialiBasicPassword() throws UtilsException{
  1795.         return this.readProperty(false, "MonitoraggioWS.password");
  1796.     }
  1797.    
  1798.     public String getGestioneCentralizzataURLContextCreazioneAutomaticaSoggetto() throws UtilsException{
  1799.         return this.readProperty(true, "UrlConnettoreSoggetto");
  1800.     }
  1801.    
  1802.     public String getGestioneCentralizzataPddIndirizzoIpPubblico() throws UtilsException{
  1803.         return this.readProperty(true, "pdd.indirizzoIP.pubblico");
  1804.     }
  1805.    
  1806.     public Integer getGestioneCentralizzataPddPortaPubblica() throws UtilsException{
  1807.         return this.readIntegerProperty(true, "pdd.porta.pubblica");
  1808.     }
  1809.    
  1810.     public String getGestioneCentralizzataPddIndirizzoIpGestione() throws UtilsException{
  1811.         return this.readProperty(true, "pdd.indirizzoIP.gestione");
  1812.     }
  1813.    
  1814.     public Integer getGestioneCentralizzataPddPortaGestione() throws UtilsException{
  1815.         return this.readIntegerProperty(true, "pdd.porta.gestione");
  1816.     }
  1817.    
  1818.    
  1819.    
  1820.     /* ---------------- Gestione govwayConsole locale ----------------------- */

  1821.     public Boolean isSinglePddGestionePdd() throws UtilsException{
  1822.         return this.readBooleanRequiredProperty("singlePdD.pdd.enabled");
  1823.     }
  1824.    
  1825.     public Boolean isSinglePddRegistroServiziLocale() throws UtilsException{
  1826.         return this.readBooleanRequiredProperty("singlePdD.registroServizi.locale");
  1827.     }
  1828.    
  1829.     public Boolean isSinglePddTracceConfigurazioneCustomAppender() throws UtilsException{
  1830.         return this.readBooleanRequiredProperty("tracce.configurazioneCustomAppender");
  1831.     }
  1832.    
  1833.     public Boolean isSinglePddTracceGestioneSorgentiDatiPrelevataDaDatabase() throws UtilsException{
  1834.         return this.readBooleanRequiredProperty("tracce.sorgentiDati.database");
  1835.     }
  1836.    
  1837.     public Boolean isSinglePddMessaggiDiagnosticiConfigurazioneCustomAppender() throws UtilsException{
  1838.         return this.readBooleanRequiredProperty("msgDiagnostici.configurazioneCustomAppender");
  1839.     }
  1840.    
  1841.     public Boolean isSinglePddMessaggiDiagnosticiGestioneSorgentiDatiPrelevataDaDatabase() throws UtilsException{
  1842.         return this.readBooleanRequiredProperty("msgDiagnostici.sorgentiDati.database");
  1843.     }
  1844.    
  1845.     public Boolean isSinglePddDumpConfigurazioneCustomAppender() throws UtilsException{
  1846.         return this.readBooleanRequiredProperty("dump.configurazioneCustomAppender");
  1847.     }
  1848.    
  1849.     public Boolean isSinglePddDumpConfigurazioneRealtime() throws UtilsException{
  1850.         return this.readBooleanRequiredProperty("dump.configurazioneRealtime");
  1851.     }
  1852.    
  1853.    
  1854.     /* ---- Plugins ------ */
  1855.    
  1856.     public String getExtendedInfoDriverConfigurazione() throws UtilsException{
  1857.         return this.readProperty(false, "extendedInfo.configurazione");
  1858.     }
  1859.     public String getExtendedInfoDriverPortaDelegata() throws UtilsException{
  1860.         return this.readProperty(false, "extendedInfo.portaDelegata");
  1861.     }
  1862.     public String getExtendedInfoDriverPortaApplicativa() throws UtilsException{
  1863.         return this.readProperty(false, "extendedInfo.portaApplicativa");
  1864.     }
  1865.    
  1866.     public String[] getPluginsMenu() throws UtilsException{

  1867.         String[] retNull = null;
  1868.        
  1869.         String p = this.readProperty(false, "plugins.menu");
  1870.         if(p!=null && !"".equals(p.trim())){
  1871.             String [] tmp = p.trim().split(",");
  1872.             for (int i = 0; i < tmp.length; i++) {
  1873.                 tmp[i] = tmp[i].trim();
  1874.             }
  1875.             return tmp;
  1876.         }
  1877.         return retNull;
  1878.     }
  1879.    
  1880.     public String[] getPluginsConfigurazione() throws UtilsException{
  1881.        
  1882.         String[] retNull = null;
  1883.        
  1884.         String p = this.readProperty(false, "plugins.configurazione");
  1885.         if(p!=null && !"".equals(p.trim())){
  1886.             String [] tmp = p.trim().split(",");
  1887.             for (int i = 0; i < tmp.length; i++) {
  1888.                 tmp[i] = tmp[i].trim();
  1889.             }
  1890.             return tmp;
  1891.         }
  1892.         return retNull;
  1893.     }
  1894.    
  1895.     public String getPluginsConfigurazioneList() throws UtilsException{
  1896.         return this.readProperty(false, "plugins.configurazione.list");
  1897.     }
  1898.    
  1899.     public String[] getPluginsConnettore() throws UtilsException{

  1900.         String[] retNull = null;
  1901.        
  1902.         String p = this.readProperty(false, "plugins.connettore");
  1903.         if(p!=null && !"".equals(p.trim())){
  1904.             String [] tmp = p.trim().split(",");
  1905.             for (int i = 0; i < tmp.length; i++) {
  1906.                 tmp[i] = tmp[i].trim();
  1907.             }
  1908.             return tmp;
  1909.         }
  1910.         return retNull;
  1911.     }
  1912.    
  1913.     public String getPluginsPortaDelegata() throws UtilsException{
  1914.         return this.readProperty(false, "plugins.portaDelegata");
  1915.     }
  1916.    
  1917.     public String getPluginsPortaApplicativa() throws UtilsException{
  1918.         return this.readProperty(false, "plugins.portaApplicativa");
  1919.     }
  1920.    
  1921.    
  1922.    
  1923.     /* ---- Gestione Visibilità utenti ------ */

  1924.     public Boolean isVisibilitaOggettiGlobale() throws UtilsException{
  1925.         String tmp = this.readProperty(true, "visibilitaOggetti");
  1926.         return !"locale".equals(tmp);
  1927.     }
  1928.    
  1929.     public List<String> getUtentiConVisibilitaGlobale() throws UtilsException{
  1930.         String utenti = this.readProperty(false, "utentiConVisibilitaGlobale");
  1931.         List<String> lista = new ArrayList<>();
  1932.         if(utenti!=null){
  1933.             String [] tmp = utenti.trim().split(",");
  1934.             if(tmp!=null){
  1935.                 for(int i=0; i<tmp.length;i++){
  1936.                     lista.add(tmp[i].trim());
  1937.                 }
  1938.             }
  1939.         }
  1940.         return lista;
  1941.     }


  1942.     /* ---- Utiltiies interne ------ */
  1943.    
  1944.     private PropertiesSourceConfiguration getSourceConfigurationEngine(String id,
  1945.             String propertyExternalDir, String propertyExternalDirRefresh,
  1946.             String propertyBuiltIn, String propertyBuiltInRefresh) throws UtilsException {
  1947.        
  1948.         PropertiesSourceConfiguration config = new PropertiesSourceConfiguration();
  1949.         config.setId(id);
  1950.        
  1951.         String dir = this.readProperty(false, propertyExternalDir);
  1952.         if(dir!=null) {
  1953.             File f = new File(dir);
  1954.             if(f.exists()) {
  1955.                 config.setDirectory(f.getAbsolutePath());
  1956.             }
  1957.         }
  1958.        
  1959.         String dirRefresh = this.readProperty(false, propertyExternalDirRefresh);
  1960.         if(dirRefresh!=null) {
  1961.             config.setUpdate("true".equalsIgnoreCase(dirRefresh.trim()));
  1962.         }
  1963.        
  1964.         String buildInt = this.readProperty(false, propertyBuiltIn);
  1965.         if(buildInt!=null) {
  1966.             read(config, buildInt);
  1967.         }
  1968.        
  1969.         String builtInRefresh = this.readProperty(false, propertyBuiltInRefresh);
  1970.         if(builtInRefresh!=null) {
  1971.             config.setUpdate("true".equalsIgnoreCase(builtInRefresh.trim()));
  1972.         }
  1973.        
  1974.         return config;

  1975.     }
  1976.     private void read(PropertiesSourceConfiguration config, String buildInt) throws UtilsException {
  1977.         try {
  1978.             try (InputStream is = ConsoleProperties.class.getResourceAsStream(buildInt);){
  1979.                 if(is!=null) {
  1980.                     byte [] zipContent = Utilities.getAsByteArray(is);

  1981.                     File fTmp = FileSystemUtilities.createTempFile("propertiesSourceConfiguration", ".zip");
  1982.                     try {
  1983.                         FileSystemUtilities.writeFile(fTmp, zipContent);
  1984.                         try (ZipFile zip = new ZipFile(fTmp);){
  1985.                             Iterator<ZipEntry> itZip = ZipUtilities.entries(zip, true);
  1986.                             List<byte[]> builtIdList = new ArrayList<>();
  1987.                             while (itZip.hasNext()) {
  1988.                                 ZipEntry zipEntry = itZip.next();
  1989.                                 if(!zipEntry.isDirectory()) {
  1990.                                     try (InputStream isZip = zip.getInputStream(zipEntry);){
  1991.                                         byte [] bytes = Utilities.getAsByteArray(isZip);
  1992.                                         builtIdList.add(bytes);
  1993.                                     }
  1994.                                 }
  1995.                             }
  1996.                             config.setBuiltIn(builtIdList);
  1997.                         }
  1998.                     }finally {
  1999.                         deleteFile(fTmp);
  2000.                     }
  2001.                 }
  2002.             }
  2003.         }catch(Exception e) {
  2004.             throw new UtilsException(e.getMessage(),e);
  2005.         }
  2006.     }
  2007.     private void deleteFile(File fTmp) {
  2008.         try {
  2009.             java.nio.file.Files.delete(fTmp.toPath());
  2010.         }catch(Exception e) {
  2011.             // ignore
  2012.         }
  2013.     }
  2014.    
  2015.     // propertiy per la gestione del console.font
  2016.     private String consoleFontName = null;
  2017.     private String consoleFontFamilyName = null;
  2018.     private int consoleFontStyle = -1;
  2019.    
  2020.     public String getConsoleFont() throws UtilsException{
  2021.         return this.readProperty(true,"console.font");
  2022.     }
  2023.    
  2024.     public String getConsoleFontName() {
  2025.         return this.consoleFontName;
  2026.     }

  2027.     public void setConsoleFontName(String consoleFontName) {
  2028.         this.consoleFontName = consoleFontName;
  2029.     }
  2030.     public String getConsoleFontFamilyName() {
  2031.         return this.consoleFontFamilyName;
  2032.     }

  2033.     public void setConsoleFontFamilyName(String consoleFontFamilyName) {
  2034.         this.consoleFontFamilyName = consoleFontFamilyName;
  2035.     }

  2036.     public int getConsoleFontStyle() {
  2037.         return this.consoleFontStyle;
  2038.     }

  2039.     public void setConsoleFontStyle(int consoleFontStyle) {
  2040.         this.consoleFontStyle = consoleFontStyle;
  2041.     }
  2042.    
  2043.     // properties per la gestione del login
  2044.     public String getLoginTipo() throws UtilsException{
  2045.         return this.readProperty(true,"login.tipo");
  2046.     }

  2047.     public boolean isLoginApplication() throws UtilsException{
  2048.         return this.readBooleanRequiredProperty("login.application");
  2049.     }

  2050.     public Properties getLoginProperties() throws UtilsException{
  2051.         return this.reader.readProperties("login.props.");
  2052.     }
  2053.    
  2054.     public String getLoginUtenteNonAutorizzatoRedirectUrl() throws UtilsException{
  2055.         if(this.isLoginApplication()) {
  2056.             return "";
  2057.         }
  2058.         return this.readProperty(true,"login.utenteNonAutorizzato.redirectUrl");
  2059.     }

  2060.     public String getLoginUtenteNonValidoRedirectUrl() throws UtilsException{
  2061.         if(this.isLoginApplication()) {
  2062.             return "";
  2063.         }
  2064.         return this.readProperty(true,"login.utenteNonValido.redirectUrl");
  2065.     }
  2066.    
  2067.     public String getLoginErroreInternoRedirectUrl() throws UtilsException{
  2068.         if(this.isLoginApplication()) {
  2069.             return "";
  2070.         }
  2071.         return this.readProperty(true,"login.erroreInterno.redirectUrl");
  2072.     }

  2073.     public String getLoginSessioneScadutaRedirectUrl() throws UtilsException{
  2074.         if(this.isLoginApplication()) {
  2075.             return "";
  2076.         }
  2077.         return this.readProperty(true,"login.sessioneScaduta.redirectUrl");
  2078.     }

  2079.     public boolean isMostraButtonLogout() throws UtilsException{
  2080.         if(this.isLoginApplication()) {
  2081.             return true;
  2082.         }
  2083.         return this.readBooleanRequiredProperty("logout.mostraButton.enabled");
  2084.     }

  2085.     public String getLogoutUrlDestinazione() throws UtilsException{
  2086.         if(this.isLoginApplication()) {
  2087.             return "";
  2088.         }
  2089.         return this.readProperty(true,"logout.urlDestinazione");
  2090.     }
  2091. }