OpenSPCoop2Properties.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.pdd.config;


  21. import java.io.File;
  22. import java.io.FileInputStream;
  23. import java.io.IOException;
  24. import java.io.InputStream;
  25. import java.lang.reflect.Constructor;
  26. import java.net.URL;
  27. import java.security.MessageDigest;
  28. import java.sql.Connection;
  29. import java.text.ParseException;
  30. import java.text.SimpleDateFormat;
  31. import java.util.ArrayList;
  32. import java.util.Arrays;
  33. import java.util.Collections;
  34. import java.util.Date;
  35. import java.util.Enumeration;
  36. import java.util.HashMap;
  37. import java.util.Iterator;
  38. import java.util.List;
  39. import java.util.Locale;
  40. import java.util.Map;
  41. import java.util.Properties;
  42. import java.util.Set;
  43. import java.util.stream.Collectors;

  44. import org.apache.commons.lang.StringUtils;
  45. import org.openspcoop2.core.commons.CoreException;
  46. import org.openspcoop2.core.commons.DBUtils;
  47. import org.openspcoop2.core.commons.IExtendedInfo;
  48. import org.openspcoop2.core.config.AccessoConfigurazionePdD;
  49. import org.openspcoop2.core.config.constants.CostantiConfigurazione;
  50. import org.openspcoop2.core.config.constants.StatoFunzionalitaConWarning;
  51. import org.openspcoop2.core.config.constants.TipoAutenticazionePrincipal;
  52. import org.openspcoop2.core.constants.TransferLengthModes;
  53. import org.openspcoop2.core.controllo_traffico.driver.PolicyGroupByActiveThreadsType;
  54. import org.openspcoop2.core.id.IDSoggetto;
  55. import org.openspcoop2.core.registry.constants.CostantiRegistroServizi;
  56. import org.openspcoop2.message.AttachmentsProcessingMode;
  57. import org.openspcoop2.message.ForwardConfig;
  58. import org.openspcoop2.message.OpenSPCoop2MessageFactory;
  59. import org.openspcoop2.message.utils.WWWAuthenticateErrorCode;
  60. import org.openspcoop2.monitor.engine.statistic.StatisticsForceIndexConfig;
  61. import org.openspcoop2.pdd.core.CostantiPdD;
  62. import org.openspcoop2.pdd.core.autenticazione.WWWAuthenticateConfig;
  63. import org.openspcoop2.pdd.core.autorizzazione.container.IAutorizzazioneSecurityContainer;
  64. import org.openspcoop2.pdd.core.autorizzazione.pa.IAutorizzazionePortaApplicativa;
  65. import org.openspcoop2.pdd.core.controllo_traffico.ConfigurazioneGatewayControlloTraffico;
  66. import org.openspcoop2.pdd.core.controllo_traffico.INotify;
  67. import org.openspcoop2.pdd.core.controllo_traffico.policy.driver.TipoGestorePolicy;
  68. import org.openspcoop2.pdd.core.credenziali.IGestoreCredenziali;
  69. import org.openspcoop2.pdd.core.credenziali.IGestoreCredenzialiIM;
  70. import org.openspcoop2.pdd.core.dynamic.InformazioniIntegrazioneCodifica;
  71. import org.openspcoop2.pdd.core.dynamic.InformazioniIntegrazioneSorgente;
  72. import org.openspcoop2.pdd.core.handlers.ExitHandler;
  73. import org.openspcoop2.pdd.core.handlers.InRequestHandler;
  74. import org.openspcoop2.pdd.core.handlers.InRequestProtocolHandler;
  75. import org.openspcoop2.pdd.core.handlers.InResponseHandler;
  76. import org.openspcoop2.pdd.core.handlers.InitHandler;
  77. import org.openspcoop2.pdd.core.handlers.IntegrationManagerRequestHandler;
  78. import org.openspcoop2.pdd.core.handlers.IntegrationManagerResponseHandler;
  79. import org.openspcoop2.pdd.core.handlers.OutRequestHandler;
  80. import org.openspcoop2.pdd.core.handlers.OutResponseHandler;
  81. import org.openspcoop2.pdd.core.handlers.PostOutRequestHandler;
  82. import org.openspcoop2.pdd.core.handlers.PostOutResponseHandler;
  83. import org.openspcoop2.pdd.core.handlers.PreInRequestHandler;
  84. import org.openspcoop2.pdd.core.handlers.PreInResponseHandler;
  85. import org.openspcoop2.pdd.core.handlers.notifier.INotifierCallback;
  86. import org.openspcoop2.pdd.core.handlers.transazioni.ISalvataggioDiagnosticiManager;
  87. import org.openspcoop2.pdd.core.handlers.transazioni.ISalvataggioTracceManager;
  88. import org.openspcoop2.pdd.core.integrazione.IGestoreIntegrazionePA;
  89. import org.openspcoop2.pdd.core.integrazione.IGestoreIntegrazionePD;
  90. import org.openspcoop2.pdd.core.integrazione.UtilitiesTemplate;
  91. import org.openspcoop2.pdd.core.integrazione.peer.PeerHeaderDescriptor;
  92. import org.openspcoop2.pdd.core.integrazione.peer.RegexpPeerHeaderDescriptor;
  93. import org.openspcoop2.pdd.core.integrazione.peer.StringPeerHeaderDescriptor;
  94. import org.openspcoop2.pdd.core.node.INodeReceiver;
  95. import org.openspcoop2.pdd.core.node.INodeSender;
  96. import org.openspcoop2.pdd.core.threshold.IThreshold;
  97. import org.openspcoop2.pdd.core.trasformazioni.TipoTrasformazione;
  98. import org.openspcoop2.pdd.logger.OpenSPCoop2Logger;
  99. import org.openspcoop2.pdd.logger.filetrace.FileTraceGovWayState;
  100. import org.openspcoop2.pdd.logger.transazioni.ConfigurazioneTracciamento;
  101. import org.openspcoop2.pdd.mdb.ConsegnaContenutiApplicativi;
  102. import org.openspcoop2.pdd.mdb.Imbustamento;
  103. import org.openspcoop2.pdd.mdb.ImbustamentoRisposte;
  104. import org.openspcoop2.pdd.mdb.InoltroBuste;
  105. import org.openspcoop2.pdd.mdb.InoltroRisposte;
  106. import org.openspcoop2.pdd.mdb.Sbustamento;
  107. import org.openspcoop2.pdd.mdb.SbustamentoRisposte;
  108. import org.openspcoop2.pdd.services.OpenSPCoop2Startup;
  109. import org.openspcoop2.pdd.services.core.RicezioneBuste;
  110. import org.openspcoop2.pdd.services.core.RicezioneContenutiApplicativi;
  111. import org.openspcoop2.pdd.timers.TimerGestoreBusteNonRiscontrate;
  112. import org.openspcoop2.pdd.timers.TimerGestoreMessaggi;
  113. import org.openspcoop2.pdd.timers.TimerGestorePuliziaMessaggiAnomali;
  114. import org.openspcoop2.pdd.timers.TimerGestoreRepositoryBuste;
  115. import org.openspcoop2.protocol.engine.ProtocolFactoryManager;
  116. import org.openspcoop2.protocol.engine.constants.Costanti;
  117. import org.openspcoop2.protocol.engine.driver.IFiltroDuplicati;
  118. import org.openspcoop2.protocol.engine.driver.repository.GestoreRepositoryFactory;
  119. import org.openspcoop2.protocol.engine.driver.repository.IGestoreRepository;
  120. import org.openspcoop2.protocol.sdk.BypassMustUnderstandCheck;
  121. import org.openspcoop2.protocol.sdk.IProtocolFactory;
  122. import org.openspcoop2.protocol.sdk.ProtocolException;
  123. import org.openspcoop2.protocol.sdk.builder.ProprietaErroreApplicativo;
  124. import org.openspcoop2.protocol.sdk.builder.ProprietaManifestAttachments;
  125. import org.openspcoop2.protocol.sdk.config.IProtocolConfiguration;
  126. import org.openspcoop2.protocol.sdk.config.IProtocolManager;
  127. import org.openspcoop2.protocol.sdk.constants.EsitoTransazioneName;
  128. import org.openspcoop2.protocol.sdk.constants.FaultIntegrationGenericInfoMode;
  129. import org.openspcoop2.protocol.sdk.constants.IDService;
  130. import org.openspcoop2.protocol.sdk.constants.ProfiloDiCollaborazione;
  131. import org.openspcoop2.protocol.sdk.constants.TipoOraRegistrazione;
  132. import org.openspcoop2.protocol.sdk.state.FunctionContextCustom;
  133. import org.openspcoop2.protocol.sdk.state.FunctionContextsCustom;
  134. import org.openspcoop2.protocol.sdk.state.RequestInfo;
  135. import org.openspcoop2.protocol.utils.EsitiProperties;
  136. import org.openspcoop2.security.message.MessageSecurityContext;
  137. import org.openspcoop2.security.message.engine.MessageSecurityFactory;
  138. import org.openspcoop2.utils.BooleanNullable;
  139. import org.openspcoop2.utils.LoggerWrapperFactory;
  140. import org.openspcoop2.utils.MapKey;
  141. import org.openspcoop2.utils.NameValue;
  142. import org.openspcoop2.utils.Semaphore;
  143. import org.openspcoop2.utils.SemaphoreType;
  144. import org.openspcoop2.utils.TipiDatabase;
  145. import org.openspcoop2.utils.Utilities;
  146. import org.openspcoop2.utils.UtilsException;
  147. import org.openspcoop2.utils.VersionUtilities;
  148. import org.openspcoop2.utils.cache.CacheType;
  149. import org.openspcoop2.utils.certificate.KeystoreType;
  150. import org.openspcoop2.utils.crypt.CryptConfig;
  151. import org.openspcoop2.utils.date.DateEngineType;
  152. import org.openspcoop2.utils.date.DateUtils;
  153. import org.openspcoop2.utils.date.IDate;
  154. import org.openspcoop2.utils.digest.IDigestReader;
  155. import org.openspcoop2.utils.id.IUniqueIdentifierGenerator;
  156. import org.openspcoop2.utils.io.ArchiveType;
  157. import org.openspcoop2.utils.jdbc.IJDBCAdapter;
  158. import org.openspcoop2.utils.jdbc.JDBCAdapterFactory;
  159. import org.openspcoop2.utils.json.JsonSchemaValidatorConfig.ADDITIONAL;
  160. import org.openspcoop2.utils.json.JsonValidatorAPI.ApiName;
  161. import org.openspcoop2.utils.openapi.validator.OpenAPILibrary;
  162. import org.openspcoop2.utils.resources.Charset;
  163. import org.openspcoop2.utils.resources.FileSystemMkdirConfig;
  164. import org.openspcoop2.utils.resources.FileSystemUtilities;
  165. import org.openspcoop2.utils.resources.Loader;
  166. import org.openspcoop2.utils.security.CertificateValidityCheck;
  167. import org.openspcoop2.utils.sql.ISQLQueryObject;
  168. import org.openspcoop2.utils.transport.http.HttpConstants;
  169. import org.openspcoop2.utils.transport.http.HttpRequestConfig;
  170. import org.openspcoop2.utils.transport.http.RFC2047Encoding;
  171. import org.slf4j.Logger;

  172. /**
  173.  * Contiene un lettore del file di proprieta' di OpenSPCoop.
  174.  *
  175.  * @author Poli Andrea (apoli@link.it)
  176.  * @author Tommaso Burlon (tommaso.burlon@link.it)
  177.  * @author $Author$
  178.  * @version $Rev$, $Date$
  179.  */


  180. public class OpenSPCoop2Properties {    

  181.     /** Logger utilizzato per errori eventuali. */
  182.     private Logger log = null;
  183.     private void logError(String msg) {
  184.         if(this.log!=null) {
  185.             this.log.error(msg);
  186.         }
  187.     }
  188.     private void logError(String msg, Exception e) {
  189.         if(this.log!=null) {
  190.             this.log.error(msg,e);
  191.         }
  192.     }
  193.     private void logWarn(String msg) {
  194.         if(this.log!=null) {
  195.             this.log.warn(msg);
  196.         }
  197.     }
  198.     private void logWarn(String msg, Exception e) {
  199.         if(this.log!=null) {
  200.             this.log.warn(msg,e);
  201.         }
  202.     }
  203.     private void logInfo(String msg) {
  204.         if(this.log!=null) {
  205.             this.log.info(msg);
  206.         }
  207.     }
  208.     private void logDebug(String msg) {
  209.         if(this.log!=null) {
  210.             this.log.debug(msg);
  211.         }
  212.     }
  213.    
  214.     private String getMessaggioProprietaNonImpostata(String pName, int defaultValue){
  215.         return getMessaggioProprietaNonImpostata(pName, defaultValue+"");
  216.     }
  217.     private String getMessaggioProprietaNonImpostata(String pName, long defaultValue){
  218.         return getMessaggioProprietaNonImpostata(pName, defaultValue+"");
  219.     }
  220.     private String getMessaggioProprietaNonImpostata(String pName, boolean defaultValue){
  221.         return getMessaggioProprietaNonImpostata(pName, defaultValue+"");
  222.     }
  223.     private String getMessaggioProprietaNonImpostata(String pName, String defaultValue){
  224.         return "Proprietà di openspcoop '"+pName+"' non impostata, viene utilizzato il default="+defaultValue;
  225.     }
  226.    
  227.     private String getMessaggioProprietaNonImpostata(String pName, Exception e, int defaultValue){
  228.         return getMessaggioProprietaNonImpostata(pName, e, defaultValue+"");
  229.     }
  230.     private String getMessaggioProprietaNonImpostata(String pName, Exception e, long defaultValue){
  231.         return getMessaggioProprietaNonImpostata(pName, e, defaultValue+"");
  232.     }
  233.     private String getMessaggioProprietaNonImpostata(String pName, Exception e, boolean defaultValue){
  234.         return getMessaggioProprietaNonImpostata(pName, e, defaultValue+"");
  235.     }
  236.     private String getMessaggioProprietaNonImpostata(String pName, Exception e, String defaultValue){
  237.         return "Proprietà di openspcoop '"+pName+"' non impostata, viene utilizzato il default="+defaultValue+"; errore:"+e.getMessage();
  238.     }
  239.    
  240.     private static final String HEADER_INTEGRAZIONE_SCONOSCIUTO = "L'header di integrazione indicato non esiste nelle classi registrate in GovWay";
  241.     private static final String TIPO_SCONOSCIUTO = "Il tipo non esiste nelle classi registrate in GovWay";
  242.     private String getMessaggioClasseSconosciuta(Exception e) {
  243.         return "La classe non esiste: "+e.getMessage();
  244.     }
  245.     private static final String OGGETTO_NEW_INSTANCE_NON_CREATO = "Oggetto non creato dopo aver chiamato la newInstance";
  246.    
  247.     private static final String NON_DEFINITA = "non definita";
  248.    
  249.     private static final String VALORE_NON_CORRETTO_ABILITATO_DISABILITATO = "Valore non corretto (abilitato/disabilitato): ";
  250.    
  251.     private static final String PROPERTY_START_SUFFIX_ERRORE = ".*': ";

  252.     private static final String PREFIX_JDBC_ADAPTER_NOT_EXISTS = "Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.repository.jdbcAdapter'. \n L'adapter indicato non esiste [";
  253.    
  254.     private static final String PROPRIETA_NON_DEFINITA = "Proprietà non definita";
  255.    
  256.     private static final String ATTESO_UN_CARATTERE_TROVATI = "Atteso un carattere, trovati ";
  257.    
  258.     private static final String VALORE_NON_VALIDO = "Valore fornito non valido: ";
  259.    
  260.     private String getPrefixFile(File f, boolean expectedDir) {
  261.         return (expectedDir ? "Dir ":"")+"["+f.getAbsolutePath()+"] ";
  262.     }
  263.     private CoreException newCoreExceptionNotDir(File f, boolean expectedDir){
  264.         return new CoreException(getPrefixFile(f, expectedDir)+"isn't dir");
  265.     }
  266.     private CoreException newCoreExceptionNotFile(File f, boolean expectedDir){
  267.         return new CoreException(getPrefixFile(f, expectedDir)+"isn't file");
  268.     }
  269.     private CoreException newCoreExceptionCannotRead(File f, boolean expectedDir){
  270.         return new CoreException(getPrefixFile(f, expectedDir)+"cannot read");
  271.     }
  272.     private CoreException newCoreExceptionCannotWrite(File f, boolean expectedDir){
  273.         return new CoreException(getPrefixFile(f, expectedDir)+"cannot write");
  274.     }
  275.     /**private CoreException newCoreExceptionNotExists(File f, boolean expectedDir){
  276.         return new CoreException(getPrefixFile(f, expectedDir)+"not exists");
  277.     }*/
  278.    

  279.     private static void initSplitValues(List<String> l, String value, boolean addEmpty) {
  280.         if(value.contains(",")) {
  281.             String [] tmp = value.split(",");
  282.             if(tmp!=null && tmp.length>0) {
  283.                 for (String s : tmp) {
  284.                     if(s!=null && (!"".equals(s.trim()) || addEmpty) ) {
  285.                         l.add(s.trim());
  286.                     }
  287.                 }
  288.             }
  289.         }
  290.         else {
  291.             l.add(value);
  292.         }
  293.     }
  294.    
  295.     /** Copia Statica */
  296.     private static OpenSPCoop2Properties openspcoopProperties = null;




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

  298.     /** Reader delle proprieta' impostate nel file 'govway.properties' */
  299.     private OpenSPCoop2InstanceProperties reader;
  300.     private PddProperties pddReader;





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

  302.     /**
  303.      * Viene chiamato in causa per istanziare il properties reader
  304.      *
  305.      *
  306.      */
  307.     public OpenSPCoop2Properties(Properties localProperties) throws CoreException{
  308.         this(localProperties, "/govway.properties");
  309.     }
  310.     public OpenSPCoop2Properties(Properties localProperties, String path) throws CoreException{

  311.         if(OpenSPCoop2Startup.initialize)
  312.             this.log = OpenSPCoop2Logger.getLoggerOpenSPCoopCore();
  313.         else
  314.             this.log = LoggerWrapperFactory.getLogger("govway.startup");

  315.         /* ---- Lettura del cammino del file di configurazione ---- */
  316.         Properties propertiesReader = new Properties();
  317.         java.io.InputStream properties = null;
  318.         try{
  319.             properties = OpenSPCoop2Properties.class.getResourceAsStream(path);
  320.             if(properties==null){
  321.                 File f = new File(path);
  322.                 if(f.exists()) {
  323.                     properties = new FileInputStream(f);
  324.                 }
  325.                 else {
  326.                     throw new CoreException("File '"+path+"' not found");
  327.                 }
  328.             }
  329.             propertiesReader.load(properties);
  330.         }catch(Exception e) {
  331.             this.logError("Riscontrato errore durante la lettura del file '"+path+"': \n\n"+e.getMessage(),e);
  332.             throw new CoreException("OpenSPCoopProperties initialize error: "+e.getMessage(),e);
  333.         }finally{
  334.             try{
  335.                 if(properties!=null)
  336.                     properties.close();
  337.             }catch(Exception er){
  338.                 // close
  339.             }
  340.         }
  341.         try {
  342.             this.reader = new OpenSPCoop2InstanceProperties(propertiesReader, this.log, localProperties);
  343.         }catch(Exception e) {
  344.             throw new CoreException(e.getMessage(),e);
  345.         }

  346.     }

  347.     /**
  348.      * Il Metodo si occupa di inizializzare il propertiesReader
  349.      *
  350.      *
  351.      */
  352.     public static boolean initialize(Properties localProperties){
  353.         try {
  354.             OpenSPCoop2Properties.openspcoopProperties = new OpenSPCoop2Properties(localProperties);    
  355.             return true;
  356.         }
  357.         catch(Exception e) {
  358.             return false;
  359.         }
  360.     }
  361.     public static boolean initialize(Properties localProperties, String path){
  362.         try {
  363.             OpenSPCoop2Properties.openspcoopProperties = new OpenSPCoop2Properties(localProperties, path);  
  364.             return true;
  365.         }
  366.         catch(Exception e) {
  367.             return false;
  368.         }
  369.     }

  370.     /**
  371.      * Ritorna l'istanza di questa classe
  372.      *
  373.      * @return Istanza di OpenSPCoopProperties
  374.      *
  375.      */
  376.     public static OpenSPCoop2Properties getInstance(){
  377.         return OpenSPCoop2Properties.openspcoopProperties;
  378.     }


  379.     public static void updatePddPropertiesReader(PddProperties pddProperties){
  380.         OpenSPCoop2Properties.openspcoopProperties.pddReader = pddProperties;
  381.     }












  382.     /* ********  VALIDATORE FILE PROPERTY  ******** */

  383.     /**
  384.      * Effettua una validazione delle proprieta' impostate nel file OpenSPCoop.properties.  
  385.      *
  386.      * @return true se la validazione ha successo, false altrimenti.
  387.      *
  388.      */
  389.     public boolean validaConfigurazione(java.lang.ClassLoader loader) {
  390.         try{  
  391.             ClassNameProperties className = ClassNameProperties.getInstance();

  392.             // root Directory
  393.             if (getRootDirectory() == null)    
  394.                 return false;
  395.             if( (new File(getRootDirectory())).exists() == false ){
  396.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.confDirectory'. \n La directory indicata non esiste ["+getRootDirectory()+"].");
  397.                 return false;
  398.             }
  399.            
  400.             // Tipo server
  401.             Boolean serverJ2EEtest = isServerJ2EE();
  402.             if(serverJ2EEtest==null){
  403.                 return false;
  404.             }
  405.            
  406.             // Attachment
  407.             getAttachmentsProcessingMode();
  408.             // warning, default false.
  409.             if(this.isFileCacheEnable()){
  410.                 // Se abilitato, deve essere specificato il repository
  411.                 this.getAttachmentRepoDir();
  412.             }
  413.             // warning, default 1024
  414.             this.getFileThreshold();        
  415.            
  416.             // Versione
  417.             this.getVersione();
  418.             this.getDetails();
  419.             // openspcoop home
  420.             this.getCheckOpenSPCoopHome();

  421.             // Loader
  422.             Loader loaderOpenSPCoop = null;
  423.             if(loader!=null){
  424.                 loaderOpenSPCoop = Loader.getInstance(); // gia inizializzato nello startup
  425.             }else{
  426.                 String loaderOP = this.getClassLoader();
  427.                 if(loaderOP!=null){
  428.                     try{
  429.                         Class<?> c = Class.forName(loaderOP);
  430.                         Constructor<?> constructor = c.getConstructor(java.lang.ClassLoader.class);
  431.                         java.lang.ClassLoader test = (java.lang.ClassLoader) constructor.newInstance(this.getClass().getClassLoader());
  432.                         test.toString();
  433.                         loaderOpenSPCoop = new Loader(loader);
  434.                     }catch(Exception e){
  435.                         this.logError("Riscontrato errore durante la lettura del class loader indicato nella proprieta' di openspcoop 'org.openspcoop2.pdd.classLoader': "+e.getMessage(),e);
  436.                         return false;
  437.                     }
  438.                 }else{
  439.                     loaderOpenSPCoop = Loader.getInstance();
  440.                 }
  441.             }
  442.            
  443.             // Non posso inizializzarli durante la validazione poich' il ProtocolFactoryManager non e' ancora stato inizializzato
  444. //          // EsitiProperties
  445. /**         EsitiProperties.initialize(getRootDirectory(), this.log, loaderOpenSPCoop); */
  446.            
  447.             // Repository
  448.             String tipoRepository = getRepositoryType();
  449.             if(CostantiConfigurazione.REPOSITORY_FILE_SYSTEM.equals(tipoRepository)){
  450.                 if (getRepositoryDirectory() == null)   {                      
  451.                     return false;
  452.                 }
  453.                 // Verra' creata se non esiste in openspcoop startup
  454. /**             if( (new File(getRepositoryDirectory())).exists() == false ){
  455. //                  this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.repository.directory'. \n La directory indicata non esiste ["+getRepositoryDirectory()+"].");
  456. //                  return false;
  457. //              }*/
  458.             }else if(CostantiConfigurazione.REPOSITORY_DB.equals(tipoRepository)){
  459.                 if (getRepositoryJDBCAdapter() == null) {                      
  460.                     return false;
  461.                 }
  462.                 String jdbcAdapter = this.getRepositoryJDBCAdapter();
  463.                 if(this.getDatabaseType()!=null && TipiDatabase.DEFAULT.equals(jdbcAdapter)){
  464.                     try{
  465.                         IJDBCAdapter adapter = JDBCAdapterFactory.createJDBCAdapter(OpenSPCoop2Properties.openspcoopProperties.getDatabaseType());
  466.                         adapter.toString();                
  467.                     }catch(Exception e){
  468.                         this.logError(PREFIX_JDBC_ADAPTER_NOT_EXISTS+getRepositoryJDBCAdapter()+"]: "+e.getMessage(),e);
  469.                         return false;
  470.                     }
  471.                 }
  472.                 else{
  473.                     //  Ricerco connettore
  474.                     String adapterClass = className.getJDBCAdapter(jdbcAdapter);
  475.                     if(adapterClass == null){
  476.                         this.logError(PREFIX_JDBC_ADAPTER_NOT_EXISTS+getRepositoryJDBCAdapter()+"] nelle classi registrate in OpenSPCoop");
  477.                         return false;
  478.                     }
  479.                     try{
  480.                         IJDBCAdapter adapter = (IJDBCAdapter) loaderOpenSPCoop.newInstance(adapterClass);
  481.                         adapter.toString();
  482.                     }catch(Exception e){
  483.                         this.logError(PREFIX_JDBC_ADAPTER_NOT_EXISTS+getRepositoryJDBCAdapter()+"]: "+e.getMessage(),e);
  484.                         return false;
  485.                     }
  486.                 }
  487.             }else{
  488.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.repository.tipo'. \n Il tipo indicato non e' un tipo valido ["+getRepositoryType()+"].");
  489.                 return false;
  490.             }
  491.             // warning
  492.             this.isRepositoryOnFS();
  493.             this.isCondivisioneConfigurazioneRegistroDB();

  494.             // SoapBuffer
  495.             if(this.useSoapMessageReader()) {
  496.                 this.getSoapMessageReaderBufferThresholdKb();
  497.                 this.useSoapMessageReaderHeaderOptimization();
  498.             }
  499.            
  500.             this.useSoapMessagePassthrough();
  501.            
  502.             this.getSoapMessageSaajSaxParserPoolSize();
  503.             // AlternativeContentTypeSoap12
  504.             this.getAlternativeContentTypeSoap12();
  505.            
  506.             // Multipart
  507.             this.useRestMultipartLazy();
  508.            
  509.             // EliminatoreMessaggi in Repository
  510.             long intervalloEliminazione = getRepositoryIntervalloEliminazioneMessaggi();
  511.             if(intervalloEliminazione<=0){
  512.                 if(intervalloEliminazione!=-1){
  513.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.repository.timer'. \n Valore non valido ["+intervalloEliminazione+"].");          
  514.                 }
  515.                 return false;
  516.             }
  517.             long intervalloScadenza = getRepositoryIntervalloScadenzaMessaggi();
  518.             if(intervalloScadenza<=0){
  519.                 if(intervalloScadenza!=-1){
  520.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.repository.scadenzaMessaggio'. \n Valore non valido ["+intervalloScadenza+"].");          
  521.                 }
  522.                 return false;
  523.             }
  524.             this.isRepositoryBusteFiltraBusteScaduteRispettoOraRegistrazione();

  525.             // EliminatoreCorrelazioniApplicative in Repository
  526.             long intervalloScadenzaCorrelazioneApplicativa = getRepositoryIntervalloScadenzaCorrelazioneApplicativa();
  527.             if(intervalloScadenzaCorrelazioneApplicativa<=0){
  528.                 if(intervalloScadenzaCorrelazioneApplicativa!=-1){
  529.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.repository.scadenzaCorrelazioneApplicativa'. \n Valore non valido ["+intervalloScadenzaCorrelazioneApplicativa+"].");        
  530.                 }
  531.                 return false;
  532.             }
  533.             this.getMaxLengthCorrelazioneApplicativa();
  534.             this.isMaxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaBloccaTruncate();
  535.             this.getMaxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaBloccaTruncate();
  536.             this.isMaxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaAccettaTruncate();
  537.             this.getMaxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaAccettaTruncate();
  538.             this.isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazione();
  539.             this.isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazioneEscludiConScadenzaImpostata();
  540.             this.isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsNullConsideraErrore();
  541.             this.isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsNullConsideraErrore();
  542.             this.isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsEmptyConsideraErrore();
  543.             this.isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsEmptyConsideraErrore();
  544.             this.isRepositoryCorrelazioneApplicativaRichiestaRegolaCorrelazioneNonTrovataBlocca();
  545.             this.isRepositoryCorrelazioneApplicativaRispostaRegolaCorrelazioneNonTrovataBlocca();
  546.            
  547.             // Msg gia Processati (Warning)
  548.             this.getMsgGiaInProcessamentoAttesaAttiva();
  549.             this.getMsgGiaInProcessamentoCheckInterval();
  550.             this.isMsgGiaInProcessamentoUseLock();

  551.             // Threshold per il Repository
  552.             List<String> tipiThreshold = this.getRepositoryThresholdTypes();
  553.             if(tipiThreshold!=null){
  554.                 // CheckInterval in Repository
  555.                 long intervalloCheck = this.getRepositoryThresholdCheckInterval();
  556.                 if(intervalloCheck<=0){
  557.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.repository.threshold.checkInterval', valore non impostato/valido.");          
  558.                     return false;
  559.                 }
  560.                 for(int i=0; i<tipiThreshold.size();i++){
  561.                     if(this.getRepositoryThresholdParameters(tipiThreshold.get(i))==null)
  562.                         return false;
  563.                     //  Ricerco connettore
  564.                     String tipoClass = className.getThreshold(tipiThreshold.get(i));
  565.                     if(tipoClass == null){
  566.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.repository.threshold.tipo'. \n La classe di Threshold indicata non esiste ["+tipiThreshold.get(i)+"] nelle classi registrate in OpenSPCoop");
  567.                         return false;
  568.                     }
  569.                     try{
  570.                         IThreshold t = (IThreshold) loaderOpenSPCoop.newInstance(tipoClass);
  571.                         t.toString();
  572.                     }catch(Exception e){
  573.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.repository.threshold.tipo'. \n La classe di Threshold indicata non esiste ["+tipiThreshold.get(i)+"]: "+e.getMessage(),e);
  574.                         return false;
  575.                     }
  576.                 }
  577.             }

  578.             // Check validazioneSemantica: warning
  579.             this.isValidazioneSemanticaRegistroServiziStartupXML();
  580.             this.isValidazioneSemanticaConfigurazioneStartupXML();
  581.             this.isValidazioneSemanticaRegistroServiziStartup();
  582.             this.isValidazioneSemanticaConfigurazioneStartup();
  583.             this.isValidazioneSemanticaRegistroServiziCheckURI();
  584.            
  585.             // Controllo risorse
  586.             if( this.isAbilitatoControlloRisorseConfigurazione() ||
  587.                     this.isAbilitatoControlloValidazioneSemanticaConfigurazione() ||
  588.                     this.isAbilitatoControlloRisorseDB() ||
  589.                     this.isAbilitatoControlloRisorseJMS() ||
  590.                     this.isAbilitatoControlloRisorseMsgDiagnosticiPersonalizzati() ||
  591.                     this.isAbilitatoControlloRisorseRegistriServizi() ||
  592.                     this.isAbilitatoControlloValidazioneSemanticaRegistriServizi() ||
  593.                     this.isAbilitatoControlloRisorseTracciamentiPersonalizzati()){
  594.                 // CheckInterval
  595.                 long intervalloCheck = this.getControlloRisorseCheckInterval();
  596.                 if(intervalloCheck<=0){
  597.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.risorse.checkInterval', valore non impostato/valido.");          
  598.                     return false;
  599.                 }
  600.                 // Warning
  601.                 this.isControlloRisorseRegistriRaggiungibilitaTotale();
  602.                 this.isControlloRisorseRegistrazioneEvento();
  603.                 if(this.isAbilitatoControlloRisorseDB()) {
  604.                     this.getNumeroIterazioniFalliteControlloRisorseDB();
  605.                     this.getIterazioniFalliteCheckIntervalControlloRisorseDB();
  606.                 }
  607.                 if(this.isAbilitatoControlloRisorseJMS()) {
  608.                     this.getNumeroIterazioniFalliteControlloRisorseJMS();
  609.                     this.getIterazioniFalliteCheckIntervalControlloRisorseJMS();
  610.                 }
  611.                 if(this.isAbilitatoControlloRisorseTracciamentiPersonalizzati()) {
  612.                     this.getNumeroIterazioniFalliteControlloRisorseTracciamentiPersonalizzati();
  613.                     this.getIterazioniFalliteCheckIntervalControlloRisorseTracciamentiPersonalizzati();
  614.                 }
  615.                 if(this.isAbilitatoControlloRisorseMsgDiagnosticiPersonalizzati()) {
  616.                     this.getNumeroIterazioniFalliteControlloRisorseMsgDiagnosticiPersonalizzati();
  617.                     this.getIterazioniFalliteCheckIntervalControlloRisorseMsgDiagnosticiPersonalizzati();
  618.                 }
  619.                 if(this.isAbilitatoControlloRisorseConfigurazione()) {
  620.                     this.getNumeroIterazioniFalliteControlloRisorseConfigurazione();
  621.                     this.getIterazioniFalliteCheckIntervalControlloRisorseConfigurazione();
  622.                 }
  623.                 if(this.isAbilitatoControlloRisorseRegistriServizi()) {
  624.                     this.getNumeroIterazioniFalliteControlloRisorseRegistriServizi();
  625.                     this.getIterazioniFalliteCheckIntervalControlloRisorseRegistriServizi();
  626.                 }
  627.             }


  628.             // Tipo di Configurazione
  629.            
  630.             this.getConfigPreLoadingLocale();
  631.            
  632.             if (getTipoConfigurazionePDD() == null){        
  633.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.config.tipo'. Proprieta' non impostata");
  634.                 return false;
  635.             }
  636.             if( (CostantiConfigurazione.CONFIGURAZIONE_XML.equalsIgnoreCase(getTipoConfigurazionePDD()) == false) &&
  637.                     (CostantiConfigurazione.CONFIGURAZIONE_DB.equalsIgnoreCase(getTipoConfigurazionePDD()) == false) ){
  638.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.config.tipo'. Tipo non Supportato");
  639.                 return false;
  640.             }
  641.             if( CostantiConfigurazione.CONFIGURAZIONE_DB.equalsIgnoreCase(getTipoConfigurazionePDD()) ){
  642.                 // Il tipo del DB e' obbligatorio.
  643.                 // Controllo che vi sia o
  644.                 // - come prefisso del datasource: tipoDatabase@datasource
  645.                 // - come tipo di database della porta di dominio.
  646.                 if(this.getPathConfigurazionePDD().indexOf("@")!=-1){
  647.                     // estrazione tipo database
  648.                     try{
  649.                         DBUtils.estraiTipoDatabaseFromLocation(this.getPathConfigurazionePDD());
  650.                     }catch(Exception e){
  651.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.config.location', mentre veniva analizzato il prefisso tipoDatabase@datasource: "+e.getMessage(),e);
  652.                         return false;
  653.                     }
  654.                 }else{
  655.                     if(this.getDatabaseType()==null){
  656.                         this.logError("La configurazione della porta di dominio di tipo ["+getTipoConfigurazionePDD()
  657.                                 +"] richiede la definizione del tipo di database indicato o come prefisso della location (tipoDB@datasource) o attraverso la proprieta' 'org.openspcoop2.pdd.repository.tipoDatabase'");
  658.                     }
  659.                 }
  660.             }


  661.             // Location della configurazione
  662.             if (getPathConfigurazionePDD() == null){        
  663.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.config.location'. Proprieta' non impostata");
  664.                 return false;
  665.             }
  666.             if( CostantiConfigurazione.CONFIGURAZIONE_XML.equalsIgnoreCase(getTipoConfigurazionePDD()) ){

  667.                 String path = getPathConfigurazionePDD();
  668.                 if( (!path.startsWith("http://")) && (!path.startsWith("file://")) ){
  669.                     if( !(new File(path)).exists() ){
  670.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.config.location'. \n Il file indicato non esiste ["+path+"].");
  671.                         return false;
  672.                     }
  673.                 }else{
  674.                     // validazione url
  675.                     try{
  676.                         URL v  = new URL(path);
  677.                         v.toString();
  678.                     }catch(Exception e){
  679.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.config.location'. \n La url indicata non e' corretta ["+path+"].");
  680.                         return false;
  681.                     }
  682.                 }
  683.             }
  684.             else if( !CostantiConfigurazione.CONFIGURAZIONE_DB.equalsIgnoreCase(getTipoConfigurazionePDD())){      
  685.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.config.tipo'. \n Tipo non supportato ["+getTipoConfigurazionePDD()+"].");
  686.                 return false;
  687.             }

  688.             // (warning)
  689.             this.isConfigurazioneDinamica();
  690.             this.isConfigurazioneCache_ConfigPrefill();
  691.             this.isConfigurazioneCache_RegistryPrefill();
  692.             this.isConfigurazioneCache_accessiSynchronized();
  693.             this.isConfigurazioneCache_transactionContext_accessiSynchronized();
  694.            
  695.             this.getCacheTypeConfig();
  696.             this.getCacheTypeRegistry();
  697.             this.getCacheTypeAuthentication();
  698.             this.getCacheTypeAuthorization();
  699.             this.getCacheTypeResponseCaching();
  700.             this.getCacheTypeToken();
  701.             this.getCacheTypeAttributeAuthority();
  702.             this.getCacheTypeKeystore();
  703.             this.getCacheTypeLoadBalancer();
  704.             this.getCacheTypeTrafficControl();
  705.             this.getCacheTypeMessage();
  706.             this.getCacheTypeRequestManager();
  707.            
  708.             this.isConfigurazioneCacheDebug();
  709.            
  710.             this.isConfigurazioneCacheRequestManagerUseCache();
  711.            
  712.             this.isConfigurazioneCacheRequestManagerExternalResourceSaveInCache();
  713.             this.isConfigurazioneCacheRequestManagerOCSPResponseSaveInCache();
  714.             this.isConfigurazioneCacheRequestManagerRemoteStoreSaveInCache();
  715.            
  716.             this.isConfigurazioneKeystoreJksPasswordRequired();
  717.             this.isConfigurazioneKeystoreJksKeyPasswordRequired();
  718.             this.isConfigurazioneKeystorePkcs12PasswordRequired();
  719.             this.isConfigurazioneKeystorePkcs12KeyPasswordRequired();
  720.             this.isConfigurazioneTruststoreJksPasswordRequired();
  721.             this.isConfigurazioneTruststorePkcs12PasswordRequired();
  722.            
  723.             if(this.isConfigurazionePluginsEnabled()) {
  724.                 this.isConfigurazionePluginsDebug();
  725.                 this.getConfigurazionePluginsSeconds();
  726.             }

  727.             // DataSource
  728.             if (getJNDIName_DataSource() == null){      
  729.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.dataSource'. Proprieta' non impostata");
  730.                 return false;
  731.             }
  732.             if (getJNDIContext_DataSource() == null){      
  733.                 this.logError("Riscontrato errore durante la lettura della proprieta' del contesto JNDI per il datasource: 'org.openspcoop2.pdd.dataSource.property.*'. Proprieta' definite in maniera errata?");
  734.                 return false;
  735.             }

  736.             // Comunicazioni infrastrutturali
  737.             if( this.getNodeReceiver()==null ){
  738.                 return false;
  739.             }else{
  740.                 //  Ricerco connettore
  741.                 String tipoClass = className.getNodeReceiver(this.getNodeReceiver());
  742.                 if(tipoClass == null){
  743.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.nodeReceiver'. \n Il node receiver indicato non esiste ["+this.getNodeReceiver()+"] nelle classi registrate in OpenSPCoop");
  744.                     return false;
  745.                 }
  746.                 try{
  747.                     INodeReceiver nodeReceiverTest = (INodeReceiver) loaderOpenSPCoop.newInstance(tipoClass);
  748.                     nodeReceiverTest.toString();
  749.                 }catch(Exception e){
  750.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.nodeReceiver'. \n Il node receiver indicato non esiste ["+this.getNodeReceiver()+"]: "+e.getMessage(),e);
  751.                     return false;
  752.                 }
  753.             }
  754.             // warning
  755.             this.getNodeReceiverTimeout();
  756.             this.getNodeReceiverTimeoutRicezioneContenutiApplicativi();
  757.             this.getNodeReceiverTimeoutRicezioneBuste();
  758.             this.getNodeReceiverCheckInterval();
  759.             this.getNodeReceiverCheckDBInterval();
  760.             this.singleConnectionNodeReceiver();

  761.             if( this.getNodeSender()==null ){
  762.                 return false;
  763.             }else{
  764.                 //  Ricerco connettore
  765.                 String tipoClass = className.getNodeSender(this.getNodeSender());
  766.                 if(tipoClass == null){
  767.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.nodeSender'. \n Il node sender indicato non esiste ["+this.getNodeSender()+"] nelle classi registrate in OpenSPCoop");
  768.                     return false;
  769.                 }
  770.                 try{
  771.                     INodeSender nodeSenderTest = (INodeSender) loaderOpenSPCoop.newInstance(tipoClass);
  772.                     nodeSenderTest.toString();
  773.                 }catch(Exception e){
  774.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.nodeSender'. \n Il node sender indicato non esiste ["+this.getNodeSender()+"]: "+e.getMessage(),e);
  775.                     return false;
  776.                 }


  777.                 if(CostantiConfigurazione.COMUNICAZIONE_INFRASTRUTTURALE_DB.equals(this.getNodeSender())){
  778.                     if (getRepositoryJDBCAdapter() == null) {  
  779.                         this.logError("Un JDBCAdapter deve essere definito in caso di NodeSender=db");
  780.                         return false;
  781.                     }
  782.                     //  Ricerco connettore
  783.                     String jdbcAdapter = this.getRepositoryJDBCAdapter();
  784.                     if(this.getDatabaseType()!=null && TipiDatabase.DEFAULT.equals(jdbcAdapter)){
  785.                         try{
  786.                             IJDBCAdapter adapter = JDBCAdapterFactory.createJDBCAdapter(OpenSPCoop2Properties.openspcoopProperties.getDatabaseType());
  787.                             adapter.toString();
  788.                         }catch(Exception e){
  789.                             this.logError(PREFIX_JDBC_ADAPTER_NOT_EXISTS+getRepositoryJDBCAdapter()+"]: "+e.getMessage(),e);
  790.                             return false;
  791.                         }
  792.                     }
  793.                     else{
  794.                         String adapterClass = className.getJDBCAdapter(jdbcAdapter);
  795.                         if(adapterClass == null){
  796.                             this.logError(PREFIX_JDBC_ADAPTER_NOT_EXISTS+getRepositoryJDBCAdapter()+"] nelle classi registrate in OpenSPCoop");
  797.                             return false;
  798.                         }
  799.                         try{
  800.                             IJDBCAdapter adapter = (IJDBCAdapter) loaderOpenSPCoop.newInstance(tipoClass);
  801.                             adapter.toString();
  802.                         }catch(Exception e){
  803.                             this.logError(PREFIX_JDBC_ADAPTER_NOT_EXISTS+getRepositoryJDBCAdapter()+"]: "+e.getMessage(),e);
  804.                             return false;
  805.                         }
  806.                     }
  807.                 }
  808.             }

  809.            
  810.             // Servizi HTTP: warning
  811.             isHttpDisableKeepAlive();
  812.             isServiceRequestHttpMethodPatchEnabled();
  813.             isServiceRequestHttpMethodLinkEnabled();
  814.             isServiceRequestHttpMethodUnlinkEnabled();
  815.             TransferLengthModes modeConsegna = this.getTransferLengthModes_consegnaContenutiApplicativi();
  816.             if(TransferLengthModes.TRANSFER_ENCODING_CHUNKED.equals(modeConsegna)){
  817.                 this.getChunkLength_consegnaContenutiApplicativi();
  818.             }
  819.             TransferLengthModes modeInoltro = this.getTransferLengthModes_inoltroBuste();
  820.             if(TransferLengthModes.TRANSFER_ENCODING_CHUNKED.equals(modeInoltro)){
  821.                 this.getChunkLength_inoltroBuste();
  822.             }
  823.             this.getTransferLengthModes_ricezioneBuste();
  824.             this.getTransferLengthModes_ricezioneContenutiApplicativi();
  825.            
  826.             this.isFollowRedirects_consegnaContenutiApplicativi_soap();
  827.             this.isFollowRedirects_consegnaContenutiApplicativi_rest();
  828.             this.isFollowRedirects_inoltroBuste_soap();
  829.             this.isFollowRedirects_inoltroBuste_rest();
  830.             this.getFollowRedirectsMaxHop_consegnaContenutiApplicativi();
  831.             this.getFollowRedirectsMaxHop_inoltroBuste();
  832.             this.isAcceptOnlyReturnCode_200_202_consegnaContenutiApplicativi();
  833.             this.isAcceptOnlyReturnCode_200_202_inoltroBuste();
  834.             this.isAcceptOnlyReturnCode_307_consegnaContenutiApplicativi();
  835.             this.isAcceptOnlyReturnCode_307_inoltroBuste();
  836.            
  837.             this.checkSoapActionQuotedString_ricezioneContenutiApplicativi();
  838.             this.checkSoapActionQuotedString_ricezioneBuste();
  839.            
  840.             this.isControlloContentTypeAbilitatoRicezioneContenutiApplicativi();
  841.             this.isControlloContentTypeAbilitatoRicezioneBuste();
  842.             this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap();
  843.             this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest();
  844.             this.isControlloCharsetContentTypeAbilitatoRicezioneBusteSoap();
  845.             this.isControlloCharsetContentTypeAbilitatoRicezioneBusteRest();
  846.             this.isPrintInfoCertificate();
  847.            
  848.             if(this.isGestoreCredenzialiPortaDelegataEnabled()) {
  849.                 getGestoreCredenzialiPortaDelegataProperties();
  850.             }
  851.             if(this.isGestoreCredenzialiPortaApplicativaEnabled()) {
  852.                 getGestoreCredenzialiPortaApplicativaProperties();
  853.             }
  854.            
  855.             this.getEnvMapConfig();
  856.             this.isEnvMapConfigRequired();
  857.            
  858.             this.getHSMConfig();
  859.             this.isHSMConfigRequired();
  860.             this.isHSMConfigUniqueProviderInstance();
  861.            
  862.             this.getOCSPConfig();
  863.             this.isOCSPConfigRequired();
  864.             this.isOCSPConfigLoadDefault();
  865.            
  866.             this.getBYOKConfig();
  867.             this.isBYOKConfigRequired();
  868.             this.isBYOKJmxWrapEnbled();
  869.             this.isBYOKJmxUnwrapEnbled();
  870.             this.getBYOKEnvSecretsConfig();
  871.             this.isBYOKEnvSecretsConfigRequired();
  872.            
  873.             this.getHttpUserAgent();
  874.             this.getHttpServer();
  875.             this.getHttpXPdDDetails();
  876.            
  877.             if(this.isEnabledEncodingRFC2047HeaderValueRicezioneContenutiApplicativi()){
  878.                 this.getCharsetEncodingRFC2047HeaderValueRicezioneContenutiApplicativi();
  879.                 this.getEncodingRFC2047HeaderValueRicezioneContenutiApplicativi();
  880.             }
  881.             if(this.isEnabledEncodingRFC2047HeaderValueRicezioneBuste()){
  882.                 this.getCharsetEncodingRFC2047HeaderValueRicezioneBuste();
  883.                 this.getEncodingRFC2047HeaderValueRicezioneBuste();
  884.             }
  885.             if(this.isEnabledEncodingRFC2047HeaderValueInoltroBuste()){
  886.                 this.getCharsetEncodingRFC2047HeaderValueInoltroBuste();
  887.                 this.getEncodingRFC2047HeaderValueInoltroBuste();
  888.             }
  889.             if(this.isEnabledEncodingRFC2047HeaderValueConsegnaContenutiApplicativi()){
  890.                 this.getCharsetEncodingRFC2047HeaderValueConsegnaContenutiApplicativi();
  891.                 this.getEncodingRFC2047HeaderValueConsegnaContenutiApplicativi();
  892.             }
  893.            
  894.             this.isEnabledValidazioneRFC2047HeaderNameValueRicezioneContenutiApplicativi();
  895.             this.isEnabledValidazioneRFC2047HeaderNameValueRicezioneBuste();
  896.             this.isEnabledValidazioneRFC2047HeaderNameValueInoltroBuste();
  897.             this.isEnabledValidazioneRFC2047HeaderNameValueConsegnaContenutiApplicativi();
  898.            
  899.             this.getGestioneCORS_returnCode_ricezioneContenutiApplicativi();
  900.             this.isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneContenutiApplicativi();
  901.             this.getGestioneCORS_returnCode_ricezioneBuste();
  902.             this.isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneBuste();
  903.            
  904.             this. getNotificaRichiestaRisposta_consegnaContenutiApplicativi_archiveType();
  905.            
  906.            

  907.             // ConnectionFactory
  908.             if( CostantiConfigurazione.COMUNICAZIONE_INFRASTRUTTURALE_JMS.equals(this.getNodeReceiver())
  909.                     || CostantiConfigurazione.COMUNICAZIONE_INFRASTRUTTURALE_JMS.equals(this.getNodeSender()) ){
  910.                 if (getJNDIName_ConnectionFactory() == null){      
  911.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.queueConnectionFactory'. Proprieta' non impostata");
  912.                     return false;
  913.                 }
  914.                 if (getJNDIContext_ConnectionFactory() == null){        
  915.                     this.logError("Riscontrato errore durante la lettura della proprieta' del contesto JNDI del ConnectionFactory: 'org.openspcoop2.pdd.connectionFactory.property.*'. Proprieta' definite in maniera errata?");
  916.                     return false;
  917.                 }

  918.                 // Code Interne
  919.                 if(this.getJNDIQueueName( (CostantiConfigurazione.COMUNICAZIONE_INFRASTRUTTURALE_JMS.equals(this.getNodeReceiver())),
  920.                         (CostantiConfigurazione.COMUNICAZIONE_INFRASTRUTTURALE_JMS.equals(this.getNodeSender())))==null){
  921.                     // log stampato dentro il metodo
  922.                     return false;
  923.                 }
  924.                 if (getJNDIContext_CodeInterne() == null){      
  925.                     this.logError("Riscontrato errore durante la lettura della proprieta' del contesto JNDI delle code interne: 'org.openspcoop2.pdd.queue.property.*'. Proprieta' definite in maniera errata?");
  926.                     return false;
  927.                 }
  928.                 // warning
  929.                 this.getAcknowledgeModeSessioneConnectionFactory();

  930.                 // TransactionManager (Warning)
  931.                 this.getTransactionManagerAttesaAttiva();
  932.                 this.getTransactionManagerCheckDBInterval();
  933.                 this.getTransactionManagerCheckInterval();
  934.                 this.singleConnectionTransactionManager();
  935.             }

  936.             //  Timer EJB
  937.             if(this.getJNDITimerEJBName()==null){
  938.                 // log stampato dentro il metodo
  939.                 return false;
  940.             }
  941.             if (getJNDIContext_TimerEJB() == null){    
  942.                 this.logError("Riscontrato errore durante la lettura della proprieta' del contesto JNDI delle code interne: 'org.openspcoop2.pdd.queue.property.*'. Proprieta' definite in maniera errata?");
  943.                 return false;
  944.             }
  945.             // warning
  946.             this.getTimerEJBDeployTimeout();
  947.             this.getTimerEJBDeployCheckInterval();
  948.             this.isTimerAutoStart_StopTimer();
  949.            
  950.             this.isTimerGestoreRiscontriRicevuteAbilitato();
  951.             this.isTimerGestoreRiscontriRicevuteAbilitatoLog();
  952.             this.getTimerGestoreRiscontriRicevuteLimit();
  953.             if(this.isTimerLockByDatabase()) {
  954.                 this.getTimerGestoreRiscontriRicevuteLockMaxLife();
  955.                 this.getTimerGestoreRiscontriRicevuteLockIdleTime();
  956.             }
  957.             this.getTimerGestoreRiscontriRicevuteGetLockAttesaAttiva();
  958.             this.getTimerGestoreRiscontriRicevuteGetLockCheckInterval();
  959.            
  960.             this.isTimerGestoreMessaggiAbilitato();
  961.             this.isTimerGestoreMessaggiPuliziaMessaggiEliminatiAbilitata();
  962.             this.isTimerGestoreMessaggiPuliziaMessaggiScadutiAbilitata();
  963.             this.isTimerGestoreMessaggiPuliziaMessaggiNonGestitiAbilitata();
  964.             this.isTimerGestoreMessaggiPuliziaCorrelazioneApplicativaAbilitata();
  965.             this.isTimerGestoreMessaggiAbilitatoOrderBy();
  966.             this.isTimerGestoreMessaggiAbilitatoLog();
  967.             this.getTimerGestoreMessaggiLimit();
  968.             this.isTimerGestoreMessaggiVerificaConnessioniAttive();
  969.             if(this.isTimerLockByDatabase()) {
  970.                 this.getTimerGestoreMessaggiLockMaxLife();
  971.                 this.getTimerGestoreMessaggiLockIdleTime();
  972.             }
  973.             this.getTimerGestoreMessaggi_getLockAttesaAttiva();
  974.             this.getTimerGestoreMessaggi_getLockCheckInterval();
  975.            
  976.             this.isTimerGestorePuliziaMessaggiAnomaliAbilitato();
  977.             this.isTimerGestorePuliziaMessaggiAnomaliAbilitatoOrderBy();
  978.             this.isTimerGestorePuliziaMessaggiAnomaliAbilitatoLog();
  979.             this.getTimerGestorePuliziaMessaggiAnomaliLimit();
  980.             if(this.isTimerLockByDatabase()) {
  981.                 this.getTimerGestorePuliziaMessaggiAnomaliLockMaxLife();
  982.                 this.getTimerGestorePuliziaMessaggiAnomaliLockIdleTime();
  983.             }
  984.             this.getTimerGestorePuliziaMessaggiAnomali_getLockAttesaAttiva();
  985.             this.getTimerGestorePuliziaMessaggiAnomali_getLockCheckInterval();
  986.            
  987.             this.isTimerGestoreRepositoryBusteAbilitato();
  988.             this.isTimerGestoreRepositoryBusteAbilitatoInitialState();
  989.             this.isTimerGestoreRepositoryBusteAbilitatoOrderBy();
  990.             this.isTimerGestoreRepositoryBusteAbilitatoLog();
  991.             this.getTimerGestoreRepositoryBusteLimit();
  992.             if(this.isTimerLockByDatabase()) {
  993.                 this.getTimerGestoreRepositoryBusteLockMaxLife();
  994.                 this.getTimerGestoreRepositoryBusteLockIdleTime();
  995.             }
  996.             this.getTimerGestoreRepositoryBuste_getLockAttesaAttiva();
  997.             this.getTimerGestoreRepositoryBuste_getLockCheckInterval();
  998.            
  999.             this.isTimerConsegnaContenutiApplicativiAbilitato();
  1000.             this.isTimerConsegnaContenutiApplicativiSchedulingDebug();
  1001.             this.isTimerConsegnaContenutiApplicativiSchedulingCheckEliminazioneLogica();
  1002.             this.isTimerConsegnaContenutiApplicativiSchedulingCheckPassaggioOraLegaleVersoOraSolare();
  1003.             List<String> code = getTimerConsegnaContenutiApplicativiCode();
  1004.             if(code==null) {
  1005.                 return false;
  1006.             }
  1007.             for (String coda : code) {
  1008.                 ConfigurazioneCoda conf = getTimerConsegnaContenutiApplicativiConfigurazioneCoda(coda);
  1009.                 if(conf==null) {
  1010.                     return false;
  1011.                 }
  1012.             }
  1013.             List<String> priorita = getTimerConsegnaContenutiApplicativiPriorita();
  1014.             if(priorita==null) {
  1015.                 return false;
  1016.             }
  1017.             int sommaPercentuale = 0;
  1018.             for (int i = 0; i < priorita.size(); i++) {
  1019.                 String prior = priorita.get(i);
  1020.                 ConfigurazionePriorita conf = getTimerConsegnaContenutiApplicativiConfigurazionePriorita(prior);
  1021.                 if(conf==null) {
  1022.                     return false;
  1023.                 }
  1024.                 if(!conf.isNessunaPriorita()) {
  1025.                     sommaPercentuale = sommaPercentuale + conf.getPercentuale();
  1026.                 }
  1027.                 if(i==(priorita.size()-1)) {
  1028.                     if(!conf.isNessunaPriorita()) {
  1029.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.priorita.*': l'ultima priorità deve rappresentare 'nessuna priorita' e deve quindi avere un valore <=0 (trovato: "+conf.getPercentuale()+")");
  1030.                         return false;
  1031.                     }
  1032.                 }
  1033.             }
  1034.             if(sommaPercentuale>100) {
  1035.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.priorita.*': la somma delle percentuali fornite non deve essere superiore a 100 (trovato: "+sommaPercentuale+")");
  1036.                 return false;
  1037.             }
  1038.             this.isLoadBalancerDebug();
  1039.             if(this.isTimerLockByDatabase()) {
  1040.                 this.getTimerConsegnaContenutiApplicativiLockMaxLife();
  1041.                 this.getTimerConsegnaContenutiApplicativiLockIdleTime();
  1042.             }
  1043.             this.getTimerConsegnaContenutiApplicativiPresaInConsegnaMaxLife();
  1044.             this.getTimerConsegnaContenutiApplicativi_getLockAttesaAttiva();
  1045.             this.getTimerConsegnaContenutiApplicativi_getLockCheckInterval();
  1046.             if(!isTimerConsegnaContenutiApplicativi_smistatore_runtime_useRuntimeManager()){
  1047.                 getTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSource();  
  1048.                 getTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSourceJndiContext();
  1049.                 isTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSource_useDBUtils();
  1050.             }
  1051.             if(!isTimerConsegnaContenutiApplicativi_runtime_useRuntimeManager()){
  1052.                 getTimerConsegnaContenutiApplicativi_runtime_dataSource();  
  1053.                 getTimerConsegnaContenutiApplicativi_runtime_dataSourceJndiContext();
  1054.                 isTimerConsegnaContenutiApplicativi_runtime_dataSource_useDBUtils();
  1055.             }
  1056.             if(!isTimerConsegnaContenutiApplicativi_transazioni_useTransactionManager()){
  1057.                 getTimerConsegnaContenutiApplicativi_transazioni_dataSource();  
  1058.                 getTimerConsegnaContenutiApplicativi_transazioni_dataSourceJndiContext();
  1059.                 isTimerConsegnaContenutiApplicativi_transazioni_dataSource_useDBUtils();
  1060.             }
  1061.                
  1062.            
  1063.            
  1064.             // Gestione Serializable DB (Warning)
  1065.             this.getGestioneSerializableDBAttesaAttiva();
  1066.             this.getGestioneSerializableDBCheckInterval();
  1067.             this.isJdbcCloseConnectionCheckIsClosed();
  1068.             this.isJdbcCloseConnectionCheckAutocommit();

  1069.             // GestioneErrore
  1070.             ProprietaErroreApplicativo paError = getProprietaGestioneErrorePD_engine(null,true);
  1071.             if( paError == null  ){
  1072.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.erroreApplicativo'.");
  1073.                 return false;
  1074.             }
  1075.             getLocaleSOAPFaultString();
  1076.            
  1077.             // Errori http
  1078.             getErroriHttpHeaderGovWayStatus();
  1079.             getErroriHttpHeaderGovWayType();
  1080.             getErroriHttpHeaderGovWayCode();
  1081.            
  1082.             // Errori soap
  1083.             this.isErroriSoapUseGovWayStatusAsFaultCode();
  1084.             this.isErroriSoapHttpHeaderGovWayCodeEnabled();
  1085.            
  1086.             // Errori          
  1087.             this.isErroriGovWayStatusEnabled();
  1088.             this.isErroriGovWayInstanceEnabled();
  1089.             this.isErroriGovWayForceSpecificDetails();
  1090.             this.isErroriGovWayFaultDetailsWithProblemRFC7807();
  1091.            
  1092.             // Problem RFC 7807
  1093.             this.isProblemRFC7807_enrichTitleAsGovWayType();
  1094.             this.isProblemRFC7807_enrichTitleAsGovWayType_camelCaseDecode();
  1095.             this.isProblemRFC7807_enrichTitleAsGovWayType_customClaim();
  1096.             this.getProblemRFC7807_transactionId_claim();
  1097.             this.getProblemRFC7807_code_claim();
  1098.             this.getProblemRFC7807_type_claim();
  1099.            
  1100.             // Risposta Errore
  1101.             this.isErroreApplicativoInoltraClientBustaRispostaErroreRicevuta(Costanti.TRASPARENTE_PROTOCOL_NAME);

  1102.             // IdentitaPdD
  1103.             if( this.getIdentitaPortaDefault() == null  ){
  1104.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.identificativoPorta'.");
  1105.                 return false;
  1106.             }
  1107.             /**
  1108.              * Controllo spostato sotto, in attesa che venga inizializzato il ProtocolFactoryManager
  1109.             Enumeration<String> protocolli = ProtocolFactoryManager.getInstance().getProtocolFactories().keys();
  1110.             while (protocolli.hasMoreElements()) {
  1111.                 String protocollo = (String) protocolli.nextElement();
  1112.                 getIdentitaPortaDefault(protocollo, null);
  1113.             }  
  1114.             */      

  1115.             // Check tipi di default: urlBased, trasporto, soap
  1116.             List<String> headerDefault = new ArrayList<>();
  1117.             headerDefault.add(CostantiConfigurazione.HEADER_INTEGRAZIONE_URL_BASED);
  1118.             headerDefault.add(CostantiConfigurazione.HEADER_INTEGRAZIONE_TRASPORTO);
  1119.             headerDefault.add(CostantiConfigurazione.HEADER_INTEGRAZIONE_SOAP);
  1120.             if(!checkTipiIntegrazione(headerDefault.toArray(new String[1])))
  1121.                 return false;
  1122.            
  1123.             // Integrazione tra Servizi Applicativi e GovWay
  1124.             if ( this.getTipoIntegrazionePD() == null ){
  1125.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.tipo.pd'. Almeno un tipo di integrazione e' obbligatorio.");
  1126.                 return false;
  1127.             }else{
  1128.                 String[] tipiIntegrazionePD = this.getTipoIntegrazionePD();

  1129.                 // Check tipi registrati
  1130.                 for(int i=0; i<tipiIntegrazionePD.length;i++){
  1131.                     String tipoClass = className.getIntegrazionePortaDelegata(tipiIntegrazionePD[i]);
  1132.                     if(tipoClass == null){
  1133.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.tipo.pd="+tipiIntegrazionePD[i]+
  1134.                                 "'"+"\n"+HEADER_INTEGRAZIONE_SCONOSCIUTO);
  1135.                         return false;
  1136.                     }
  1137.                     try{
  1138.                         IGestoreIntegrazionePD gestore = (IGestoreIntegrazionePD) loaderOpenSPCoop.newInstance(tipoClass);
  1139.                         if(gestore==null){
  1140.                             throw new CoreException(OGGETTO_NEW_INSTANCE_NON_CREATO);
  1141.                         }
  1142.                         gestore.toString();
  1143.                     }catch(Exception e){
  1144.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.tipo.pd="+tipiIntegrazionePD[i]+"' (classe:"+tipoClass+"). \n Errore avvenuto: "+e.getMessage(),e);
  1145.                         return false;
  1146.                     }
  1147.                 }

  1148.                 if(checkTipiIntegrazione(tipiIntegrazionePD)==false)
  1149.                     return false;
  1150.             }
  1151.            
  1152.             Properties integrazioneProtocolPD = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.integrazione.tipo.pd.");
  1153.             Enumeration<?> keys = integrazioneProtocolPD.keys();
  1154.             while (keys.hasMoreElements()) {
  1155.                 String protocollo = (String) keys.nextElement();
  1156.                
  1157.                 if(this.getTipoIntegrazionePD(protocollo)!=null){
  1158.                    
  1159.                     String[] tipiIntegrazionePDprotocollo = this.getTipoIntegrazionePD(protocollo);

  1160.                     // Check tipi registrati
  1161.                     for(int i=0; i<tipiIntegrazionePDprotocollo.length;i++){
  1162.                         String tipoClass = className.getIntegrazionePortaDelegata(tipiIntegrazionePDprotocollo[i]);
  1163.                         if(tipoClass == null){
  1164.                             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.tipo.pd."+protocollo+"="+tipiIntegrazionePDprotocollo[i]+
  1165.                                     "'"+"\n"+HEADER_INTEGRAZIONE_SCONOSCIUTO);
  1166.                             return false;
  1167.                         }
  1168.                         try{
  1169.                             IGestoreIntegrazionePD gestore = (IGestoreIntegrazionePD) loaderOpenSPCoop.newInstance(tipoClass);
  1170.                             if(gestore==null){
  1171.                                 throw new CoreException(OGGETTO_NEW_INSTANCE_NON_CREATO);
  1172.                             }
  1173.                             gestore.toString();
  1174.                         }catch(Exception e){
  1175.                             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.tipo.pd."+protocollo+"="+tipiIntegrazionePDprotocollo[i]+"' (classe:"+tipoClass+"). \n Errore avvenuto: "+e.getMessage(),e);
  1176.                             return false;
  1177.                         }
  1178.                     }

  1179.                     if(!checkTipiIntegrazione(tipiIntegrazionePDprotocollo))
  1180.                         return false;
  1181.                 }
  1182.             }

  1183.             // Integrazione tra GovWay e Servizi Applicativi
  1184.             if ( this.getTipoIntegrazionePA() == null ){
  1185.                 String[] tipiIntegrazionePA = this.getTipoIntegrazionePA();

  1186.                 // Check tipi registrati
  1187.                 for(int i=0; i<tipiIntegrazionePA.length;i++){
  1188.                     String tipoClass = className.getIntegrazionePortaApplicativa(tipiIntegrazionePA[i]);
  1189.                     if(tipoClass == null){
  1190.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.tipo.pa="+tipiIntegrazionePA[i]+
  1191.                                 "'"+"\n"+HEADER_INTEGRAZIONE_SCONOSCIUTO);
  1192.                         return false;
  1193.                     }
  1194.                     try{
  1195.                         IGestoreIntegrazionePA gestore = (IGestoreIntegrazionePA) loaderOpenSPCoop.newInstance(tipoClass);
  1196.                         if(gestore==null){
  1197.                             throw new CoreException(OGGETTO_NEW_INSTANCE_NON_CREATO);
  1198.                         }
  1199.                         gestore.toString();
  1200.                     }catch(Exception e){
  1201.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.tipo.pa="+tipiIntegrazionePA[i]+"' (classe:"+tipoClass+"). \n Errore avvenuto: "+e.getMessage(),e);
  1202.                         return false;
  1203.                     }
  1204.                 }

  1205.                 if(checkTipiIntegrazione(tipiIntegrazionePA)==false)
  1206.                     return false;
  1207.             }
  1208.            
  1209.             Properties integrazioneProtocolPA = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.integrazione.tipo.pa.");
  1210.             keys = integrazioneProtocolPA.keys();
  1211.             while (keys.hasMoreElements()) {
  1212.                 String protocollo = (String) keys.nextElement();
  1213.                
  1214.                 if(this.getTipoIntegrazionePA(protocollo)!=null){
  1215.                    
  1216.                     String[] tipiIntegrazionePAprotocollo = this.getTipoIntegrazionePA(protocollo);

  1217.                     // Check tipi registrati
  1218.                     for(int i=0; i<tipiIntegrazionePAprotocollo.length;i++){
  1219.                         String tipoClass = className.getIntegrazionePortaApplicativa(tipiIntegrazionePAprotocollo[i]);
  1220.                         if(tipoClass == null){
  1221.                             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.tipo.pa."+protocollo+"="+tipiIntegrazionePAprotocollo[i]+
  1222.                                     "'"+"\n"+HEADER_INTEGRAZIONE_SCONOSCIUTO);
  1223.                             return false;
  1224.                         }
  1225.                         try{
  1226.                             IGestoreIntegrazionePA gestore = (IGestoreIntegrazionePA) loaderOpenSPCoop.newInstance(tipoClass);
  1227.                             if(gestore==null){
  1228.                                 throw new CoreException(OGGETTO_NEW_INSTANCE_NON_CREATO);
  1229.                             }
  1230.                             gestore.toString();
  1231.                         }catch(Exception e){
  1232.                             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.tipo.pa."+protocollo+"="+tipiIntegrazionePAprotocollo[i]+"' (classe:"+tipoClass+"). \n Errore avvenuto: "+e.getMessage(),e);
  1233.                             return false;
  1234.                         }
  1235.                     }

  1236.                     if(!checkTipiIntegrazione(tipiIntegrazionePAprotocollo))
  1237.                         return false;
  1238.                 }
  1239.             }
  1240.            
  1241.             // Integrazione Dynamic Info
  1242.             this.isIntegrazioneDynamicInfoEnabled();
  1243.             if(this.getIntegrazioneDynamicInfoType()==null) {
  1244.                 return false;
  1245.             }
  1246.             if(this.getIntegrazioneDynamicInfoName()==null) {
  1247.                 return false;
  1248.             }
  1249.             if(this.getIntegrazioneDynamicInfoEncodeType()==null) {
  1250.                 return false;
  1251.             }
  1252.             this.isIntegrazioneDynamicInfoRequired();
  1253.            
  1254.             // Integrazione Response Dynamic Info
  1255.             this.isIntegrazioneResponseDynamicInfoEnabled();
  1256.             if(this.getIntegrazioneResponseDynamicInfoName()==null) {
  1257.                 return false;
  1258.             }
  1259.             if(this.getIntegrazioneResponseDynamicInfoEncodeType()==null) {
  1260.                 return false;
  1261.             }
  1262.             this.isIntegrazioneResponseDynamicInfoRequired();
  1263.            
  1264.             // Integrazione Template
  1265.             if(this.getIntegrazioneTemplateRequestPropertyTipo()==null) {
  1266.                 return false;
  1267.             }
  1268.             if(this.getIntegrazioneTemplateRequestPropertyFile()==null) {
  1269.                 return false;
  1270.             }
  1271.             if(this.getIntegrazioneTemplateResponsePropertyTipo()==null) {
  1272.                 return false;
  1273.             }
  1274.             if(this.getIntegrazioneTemplateResponsePropertyFile()==null) {
  1275.                 return false;
  1276.             }
  1277.             getIntegrazioneTemplatePortaDelegataRequestTipo();
  1278.             getIntegrazioneTemplatePortaDelegataRequestFile();
  1279.             getIntegrazioneTemplatePortaDelegataResponseTipo();
  1280.             getIntegrazioneTemplatePortaDelegataResponseFile();
  1281.             getIntegrazioneTemplatePortaApplicativaRequestTipo();
  1282.             getIntegrazioneTemplatePortaApplicativaRequestFile();
  1283.             getIntegrazioneTemplatePortaApplicativaResponseTipo();
  1284.             getIntegrazioneTemplatePortaApplicativaResponseFile();
  1285.            
  1286.             getIntegrazioneAutenticazionePortaDelegataRequestHeaders();
  1287.             getIntegrazioneAutenticazionePortaDelegataRequestHeadersMap();
  1288.             getIntegrazioneAutenticazionePortaApplicativaRequestHeaders();
  1289.             getIntegrazioneAutenticazionePortaApplicativaRequestHeadersMap();
  1290.             if(this.getIntegrazioneAutenticazionePropertyHeaders()==null) {
  1291.                 return false;
  1292.             }
  1293.             if(this.getIntegrazioneAutenticazionePropertyHeaderPrefix()==null) {
  1294.                 return false;
  1295.             }          
  1296.            
  1297.             // Warning
  1298.             this.isIntegrazioneAsincroniConIdCollaborazioneEnabled();
  1299.             this.getNewOldMapping_backward_compatibility_trasparente_soggetto();
  1300.             this.getNewOldMapping_backward_compatibility_trasparente_servizio();
  1301.             this.getNewOldMapping_backward_compatibility_spcoop_soggetto();
  1302.             this.getNewOldMapping_backward_compatibility_spcoop_servizio();
  1303.             this.getNewOldMapping_backward_compatibility_sdi_soggetto();
  1304.             this.getNewOldMapping_backward_compatibility_sdi_servizio();
  1305.             this.getHeaderIntegrazioneSOAPPdDVersione();
  1306.             this.getHeaderIntegrazioneSOAPPdDDetails();
  1307.             this.deleteHeaderIntegrazioneRequestPD();
  1308.             this.deleteHeaderIntegrazioneResponsePD();
  1309.             this.processHeaderIntegrazionePDResponse(false);
  1310.             this.deleteHeaderIntegrazioneRequestPA();
  1311.             this.deleteHeaderIntegrazioneResponsePA();
  1312.             this.processHeaderIntegrazionePARequest(false);

  1313.             //  TipoAutorizzazioneBuste
  1314.             String tipoNonEsistente = "tipoNonEsistente";
  1315.             getAutorizzazioneLockPermits();
  1316.             getAutorizzazioneLockPermits(tipoNonEsistente);
  1317.             if( this.getTipoAutorizzazioneBuste()==null ){
  1318.                 return false;
  1319.             }else{
  1320.                 if(!CostantiConfigurazione.AUTORIZZAZIONE_NONE.equals(this.getTipoAutorizzazioneBuste())){
  1321.                     //  Ricerco connettore
  1322.                     String tipoClass = className.getAutorizzazionePortaApplicativa(this.getTipoAutorizzazioneBuste());
  1323.                     if(tipoClass == null){
  1324.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.autorizzazioneBuste'. \n L'autorizzazione delle buste indicata non esiste ["+this.getTipoAutorizzazioneBuste()+"] nelle classi registrate in OpenSPCoop");
  1325.                         return false;
  1326.                     }
  1327.                     try{
  1328.                         IAutorizzazionePortaApplicativa auth = (IAutorizzazionePortaApplicativa) loaderOpenSPCoop.newInstance(tipoClass);
  1329.                         auth.toString();
  1330.                     }catch(Exception e){
  1331.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.autorizzazioneBuste'. \n L'autorizzazione delle buste indicata non esiste ["+this.getTipoAutorizzazioneBuste()+"]: "+e.getMessage(),e);
  1332.                         return false;
  1333.                     }
  1334.                 }
  1335.             }
  1336.             isAutorizzazioneBustaAutenticazioneOpzionaleSoggettoFruitoreProfiloInteroperabilitaDifferenteServizioBloccaRichiesta();
  1337.            
  1338.             //  TipoAutorizzazioneContenuti
  1339.             getAutorizzazioneContenutiLockPermits();
  1340.             getAutorizzazioneContenutiLockPermits(tipoNonEsistente);

  1341.             // ByPass
  1342.             // Controllo spostato sotto, in attesa che venga inizializzato il ProtocolFactoryManager
  1343.             /**protocolli = ProtocolFactoryManager.getInstance().getProtocolFactories().keys();
  1344.             while (protocolli.hasMoreElements()) {
  1345.                 String protocollo = (String) protocolli.nextElement();
  1346.                 getBypassFilterMustUnderstandProperties(protocollo);
  1347.             }*/
  1348.            
  1349.             // GestoreRepositoryBuste
  1350.             if( this.getGestoreRepositoryBuste() == null  ){
  1351.                 return false;
  1352.             }else{
  1353.                 //  Ricerco
  1354.                 if(this.getDatabaseType()!=null){
  1355.                     try{
  1356.                         IGestoreRepository repository = GestoreRepositoryFactory.createRepositoryBuste(this.getDatabaseType());
  1357.                         repository.toString();
  1358.                     }catch(Exception e){
  1359.                         this.logError("Riscontrato errore durante l'inizializzazione del gestore del repository buste associato dalla factory al tipo di database ["+this.getDatabaseType()+"]: "+e.getMessage(),e);
  1360.                         return false;
  1361.                     }
  1362.                 }
  1363.                 else{
  1364.                     String tipoClass = className.getRepositoryBuste(this.getGestoreRepositoryBuste());
  1365.                     if(tipoClass == null){
  1366.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.repositoryBuste'. \n Il gestore del repository buste indicato non esiste ["+this.getGestoreRepositoryBuste()+"] nelle classi registrate in OpenSPCoop");
  1367.                         return false;
  1368.                     }
  1369.                     try{
  1370.                         IGestoreRepository repository = (IGestoreRepository) loaderOpenSPCoop.newInstance(tipoClass);
  1371.                         repository.toString();
  1372.                     }catch(Exception e){
  1373.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.repositoryBuste'. \n Il gestore del repository buste indicato non esiste ["+this.getGestoreRepositoryBuste()+"]: "+e.getMessage(),e);
  1374.                         return false;
  1375.                     }
  1376.                 }
  1377.             }

  1378.             // Filtro duplicati (warning)
  1379.             // Ricerco
  1380.             String tipoClassFiltroDuplicati = className.getFiltroDuplicati(this.getGestoreFiltroDuplicatiRepositoryBuste());
  1381.             if(tipoClassFiltroDuplicati == null){
  1382.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.protocol.filtroDuplicati'. \n Il gestore filtro duplicati del repository buste indicato non esiste ["+this.getGestoreFiltroDuplicatiRepositoryBuste()+"] nelle classi registrate in OpenSPCoop");
  1383.                 return false;
  1384.             }
  1385.             try{
  1386.                 IFiltroDuplicati duplicati = (IFiltroDuplicati) loaderOpenSPCoop.newInstance(tipoClassFiltroDuplicati);
  1387.                 duplicati.toString();
  1388.             }catch(Exception e){
  1389.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.protocol.filtroDuplicati'. \n Il gestore filtro duplicati del repository buste indicato non esiste ["+this.getGestoreFiltroDuplicatiRepositoryBuste()+"]: "+e.getMessage(),e);
  1390.                 return false;
  1391.             }
  1392.            
  1393.             // SQLQueryObject
  1394.             if(this.getDatabaseType()!=null){
  1395.                 if ( ! TipiDatabase.isAMember(this.getDatabaseType())){
  1396.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.repository.tipoDatabase', tipo di database non gestito");
  1397.                     return false;
  1398.                 }
  1399.                 // Ricerco
  1400.                 String tipoClass = className.getSQLQueryObject(this.getDatabaseType());
  1401.                 if(tipoClass == null){
  1402.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.repository.tipoDatabase'. \n L'oggetto SQLQuery indicato non esiste ["+this.getDatabaseType()+"] nelle classi registrate in OpenSPCoop");
  1403.                     return false;
  1404.                 }
  1405.                 try{
  1406.                     ISQLQueryObject sqlQuery = (ISQLQueryObject) loaderOpenSPCoop.newInstance(tipoClass,TipiDatabase.DEFAULT);
  1407.                     sqlQuery.toString();
  1408.                 }catch(Exception e){
  1409.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.repository.tipoDatabase'. \n L'oggetto SQLQuery indicato non esiste ["+this.getDatabaseType()+"]: "+e.getMessage(),e);
  1410.                     return false;
  1411.                 }
  1412.             }

  1413.             // Connettore (Warning)
  1414.             if(this.isConnettoriUseLimitedInputStream()) {
  1415.                 this.getLimitedInputStreamThresholdKb();
  1416.                 this.isLimitedInputStreamUseContentLength();
  1417.                 this.isLimitedInputStreamUseContentLengthAcceptZeroValue();
  1418.             }
  1419.             this.isConnettoriUseTimeoutInputStream();
  1420.             this.getConnectionTimeout_consegnaContenutiApplicativi();
  1421.             this.getConnectionTimeout_inoltroBuste();
  1422.             this.getReadConnectionTimeout_consegnaContenutiApplicativi();
  1423.             this.getReadConnectionTimeout_inoltroBuste();
  1424.             this.getConnectionLife_consegnaContenutiApplicativi();
  1425.             this.getConnectionLife_inoltroBuste();
  1426.             this.getReadConnectionTimeout_ricezioneContenutiApplicativi();
  1427.             this.getReadConnectionTimeout_ricezioneBuste();
  1428.            
  1429.             this.isConnettoriUseDiagnosticInputStream_inoltroBuste();
  1430.             this.isConnettoriUseDiagnosticInputStream_consegnaContenutiApplicativi();
  1431.             this.isConnettoriUseDiagnosticInputStream_ricezioneContenutiApplicativi();
  1432.             this.isConnettoriUseDiagnosticInputStream_ricezioneBuste();
  1433.             this.isConnettoriUseDiagnosticInputStream_setDateEmptyStream();
  1434.            
  1435.             // Connettore https
  1436.             this.getConnettoreHttps_secureRandomAlgo();
  1437.             this.isConnettoreHttps_useSecureRandom();
  1438.            
  1439.             // Connettore http (url https)
  1440.             if(this.isConnettoreHttp_urlHttps_overrideDefaultConfiguration_inoltroBuste()) {
  1441.                 this.getConnettoreHttp_urlHttps_repository_inoltroBuste();
  1442.             }
  1443.             if(this.isConnettoreHttp_urlHttps_overrideDefaultConfiguration_consegnaContenutiApplicativi()) {
  1444.                 this.getConnettoreHttp_urlHttps_repository_consegnaContenutiApplicativi();
  1445.             }
  1446.             if(this.isConnettoreHttp_urlHttps_overrideDefaultConfiguration_inoltroBuste() ||
  1447.                     this.isConnettoreHttp_urlHttps_overrideDefaultConfiguration_consegnaContenutiApplicativi()) {
  1448.                 if(this.isConnettoreHttp_urlHttps_cacheEnabled()) {
  1449.                     this.getConnettoreHttp_urlHttps_cacheSize();
  1450.                 }
  1451.             }

  1452.             // Contatore esponenziale per consegna
  1453.             if(this.isRitardoConsegnaAbilitato()){
  1454.                 if( this.getRitardoConsegnaEsponenziale() <= 0 ){
  1455.                     return false;
  1456.                 }else if(this.getRitardoConsegnaEsponenziale() > 0){
  1457.                     try{
  1458.                         this.isRitardoConsegnaEsponenzialeConMoltiplicazione();
  1459.                     }catch(Exception e){
  1460.                         return false;
  1461.                     }
  1462.                     if( this.getRitardoConsegnaEsponenzialeLimite() <= 0 ){
  1463.                         return false;
  1464.                     }
  1465.                 }
  1466.             }

  1467.             // Cache per gestore Messaggi
  1468.             try{
  1469.                 if(this.isAbilitataCacheGestoreMessaggi()){
  1470.                     String algoritmo = this.getAlgoritmoCacheGestoreMessaggi();
  1471.                     if(algoritmo!=null &&
  1472.                             !CostantiConfigurazione.CACHE_LRU.equals(algoritmo) &&
  1473.                             !CostantiConfigurazione.CACHE_MRU.equals(algoritmo)){
  1474.                         this.logError("Algoritmo utilizzato con la cache (Gestore Messaggi) non conosciuto: "+algoritmo);
  1475.                         throw new CoreException("Algoritmo Cache (Gestore Messaggi) non conosciuto");
  1476.                     }
  1477.                     this.getDimensioneCacheGestoreMessaggi();
  1478.                     this.getItemIdleTimeCacheGestoreMessaggi();
  1479.                     this.getItemLifeSecondCacheGestoreMessaggi();
  1480.                 }
  1481.             }catch(Exception e){
  1482.                 // Il motivo dell'errore viene loggato dentro i metodi
  1483.                 return false;
  1484.             }

  1485.             // Gestione JMX
  1486.             this.isRisorseJMXAbilitate();
  1487.             this.getJNDIName_MBeanServer();
  1488.             this.getJNDIContext_MBeanServer();

  1489.             // DateManager
  1490.             if(this.getTipoDateManager()==null)
  1491.                 return false;
  1492.             if(getTipoDateTimeFormat()==null) {
  1493.                 return false;
  1494.             }
  1495.             String tipoDateManger = className.getDateManager(this.getTipoDateManager());
  1496.             if(tipoDateManger == null){
  1497.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.date.tipo'. \n Il DateManager indicato non esiste ["+this.getTipoDateManager()+"] nelle classi registrate in OpenSPCoop");
  1498.                 return false;
  1499.             }
  1500.             try{
  1501.                 IDate date = (IDate) loaderOpenSPCoop.newInstance(tipoDateManger);
  1502.                 date.toString();
  1503.             }catch(Exception e){
  1504.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.date.tipo'. \n Il DateManager indicato non esiste ["+this.getTipoDateManager()+"]: "+e.getMessage(),e);
  1505.                 return false;
  1506.             }
  1507.             if (this.getDateManagerProperties() == null){      
  1508.                 this.logError("Riscontrato errore durante la lettura della proprieta' del DataManager: 'org.openspcoop2.pdd.date.property.*'. Proprieta' definite in maniera errata?");
  1509.                 return false;
  1510.             }
  1511.             // Warning
  1512.             this.getTipoTempoBusta(CostantiRegistroServizi.IMPLEMENTAZIONE_STANDARD);

  1513.             // IntegrationManager
  1514.             if(this.isIntegrationManagerEnabled()) {
  1515.                 this.isIntegrationManagerIdWithDate();
  1516.                 this.getIntegrationManagerIdsLimit();
  1517.             }
  1518.             // IntegrationManager (Warning)
  1519.             this.integrationManager_readInformazioniTrasporto();
  1520.             this.integrationManager_isNomePortaDelegataUrlBased();
  1521.             if(this.isIntegrationManagerEnabled()) {
  1522.                 if(!isIntegrationManager_runtime_useRuntimeManager() && !isIntegrationManager_runtime_useConsegnePreseInCaricoManager()){
  1523.                     getIntegrationManager_runtime_dataSource();
  1524.                     getIntegrationManager_runtime_dataSourceJndiContext();
  1525.                     isIntegrationManager_runtime_dataSource_useDBUtils();
  1526.                 }
  1527.                 if(!isIntegrationManager_transazioni_useTransactionManager() && !isIntegrationManager_transazioni_useConsegnePreseInCaricoManager()){
  1528.                     getIntegrationManager_transazioni_dataSource();
  1529.                     getIntegrationManager_transazioni_dataSourceJndiContext();
  1530.                     isIntegrationManager_transazioni_dataSource_useDBUtils();
  1531.                 }
  1532.             }

  1533.             // Gestione Attachments (Warning)
  1534.             this.isDeleteInstructionTargetMachineXml();
  1535.             this.isTunnelSOAP_loadMailcap();
  1536.             this.getTunnelSOAPKeyWord_headerTrasporto();
  1537.             this.getTunnelSOAPKeyWordMimeType_headerTrasporto();
  1538.             this.getTunnelSOAPKeyWord_urlBased();
  1539.             this.getTunnelSOAPKeyWordMimeType_urlBased();

  1540.             // MustUnderstandHandler (warning)
  1541.             this.isBypassFilterMustUnderstandEnabledForAllHeaders();

  1542.             // Autenticazione
  1543.             this.getAutenticazioneLockPermits();
  1544.             this.getAutenticazioneLockPermits(tipoNonEsistente);
  1545.             this.isGestioneAutenticazioneSaveTokenAuthenticationInfoAuthenticationFailed();
  1546.             if(this.getCryptConfigAutenticazioneApplicativi()==null) {
  1547.                 return false;
  1548.             }
  1549.             if(this.getCryptConfigAutenticazioneSoggetti()==null) {
  1550.                 return false;
  1551.             }
  1552.            
  1553.             this.isAutenticazioneBasicLogPassword();
  1554.             this.getRealmAutenticazioneBasicWWWAuthenticateConfig();
  1555.            
  1556.             this.getRealmAutenticazioneApiKeyWWWAuthenticateConfig();
  1557.            
  1558.             this.isAutenticazioneHttpsPortaDelegataValidityCheck();
  1559.             if(this.getAutenticazioneHttpsPortaDelegataTruststorePath()!=null) {
  1560.                 this.getAutenticazioneHttpsPortaDelegataTruststoreType();
  1561.                 this.getAutenticazioneHttpsPortaDelegataTruststorePassword();
  1562.                 this.getAutenticazioneHttpsPortaDelegataTruststoreCRLs();
  1563.                 this.getAutenticazioneHttpsPortaDelegataTruststoreOCSPPolicy();
  1564.             }
  1565.             this.isAutenticazioneHttpsPortaApplicativaValidityCheck();
  1566.             if(this.getAutenticazioneHttpsPortaApplicativaTruststorePath()!=null) {
  1567.                 this.getAutenticazioneHttpsPortaApplicativaTruststoreType();
  1568.                 this.getAutenticazioneHttpsPortaApplicativaTruststorePassword();
  1569.                 this.getAutenticazioneHttpsPortaApplicativaTruststoreCRLs();
  1570.                 this.getAutenticazioneHttpsPortaApplicativaTruststoreOCSPPolicy();
  1571.             }
  1572.             this.isAutenticazioneHttpsPortaDelegataCheckSoggettiProprietari();
  1573.             this.getRealmAutenticazioneHttpsWWWAuthenticateConfig();
  1574.            
  1575.             this.isAutenticazionePrincipalPortaDelegataCheckSoggettiProprietari();
  1576.             TipoAutenticazionePrincipal [] tipiPrincipale = TipoAutenticazionePrincipal.values();
  1577.             for (TipoAutenticazionePrincipal tipoAutenticazionePrincipal : tipiPrincipale) {
  1578.                 this.getRealmAutenticazionePrincipalWWWAuthenticateConfig(tipoAutenticazionePrincipal);
  1579.             }
  1580.            
  1581.             this.isAutenticazioneTokenPortaDelegataCheckSoggettiProprietari();
  1582.            
  1583.             // Gestori Credenziali PD
  1584.             String [] gestoriCredenzialiPD = this.getTipoGestoreCredenzialiPD();
  1585.             if(gestoriCredenzialiPD!=null){
  1586.                 for(int i=0; i<gestoriCredenzialiPD.length;i++){
  1587.                     //  Ricerco
  1588.                     String tipoClass = className.getGestoreCredenziali(gestoriCredenzialiPD[i]);
  1589.                     if(tipoClass == null){
  1590.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.services.pd.gestoriCredenziali'. \n La classe del GestoreCredenziali indicata non esiste ["+gestoriCredenzialiPD[i]+"] nelle classi registrate in OpenSPCoop");
  1591.                         return false;
  1592.                     }
  1593.                     try{
  1594.                         IGestoreCredenziali g = (IGestoreCredenziali) loaderOpenSPCoop.newInstance(tipoClass);
  1595.                         g.toString();
  1596.                     }catch(Exception e){
  1597.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.services.pd.gestoriCredenziali'. \n La classe del GestoreCredenziali indicata non esiste ["+gestoriCredenzialiPD[i]+"]: "+e.getMessage(),e);
  1598.                         return false;
  1599.                     }
  1600.                 }
  1601.             }
  1602.            
  1603.             // Gestori Credenziali PA
  1604.             String [] gestoriCredenzialiPA = this.getTipoGestoreCredenzialiPA();
  1605.             if(gestoriCredenzialiPA!=null){
  1606.                 for(int i=0; i<gestoriCredenzialiPA.length;i++){
  1607.                     //  Ricerco
  1608.                     String tipoClass = className.getGestoreCredenziali(gestoriCredenzialiPA[i]);
  1609.                     if(tipoClass == null){
  1610.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.services.pa.gestoriCredenziali'. \n La classe del GestoreCredenziali indicata non esiste ["+gestoriCredenzialiPA[i]+"] nelle classi registrate in OpenSPCoop");
  1611.                         return false;
  1612.                     }
  1613.                     try{
  1614.                         IGestoreCredenziali g = (IGestoreCredenziali) loaderOpenSPCoop.newInstance(tipoClass);
  1615.                         g.toString();
  1616.                     }catch(Exception e){
  1617.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.services.pa.gestoriCredenziali'. \n La classe del GestoreCredenziali indicata non esiste ["+gestoriCredenzialiPA[i]+"]: "+e.getMessage(),e);
  1618.                         return false;
  1619.                     }
  1620.                 }
  1621.             }
  1622.            
  1623.             // Gestori Credenziali IntegrationManager
  1624.             String [] gestoriCredenzialiIM = this.getTipoGestoreCredenzialiIM();
  1625.             if(gestoriCredenzialiIM!=null){
  1626.                 for(int i=0; i<gestoriCredenzialiIM.length;i++){
  1627.                     //  Ricerco
  1628.                     String tipoClass = className.getGestoreCredenzialiIM(gestoriCredenzialiIM[i]);
  1629.                     if(tipoClass == null){
  1630.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.services.integrationManager.gestoriCredenziali'. \n La classe del GestoreCredenziali indicata non esiste ["+gestoriCredenzialiIM[i]+"] nelle classi registrate in OpenSPCoop");
  1631.                         return false;
  1632.                     }
  1633.                     try{
  1634.                         IGestoreCredenzialiIM g = (IGestoreCredenzialiIM) loaderOpenSPCoop.newInstance(tipoClass);
  1635.                         g.toString();
  1636.                     }catch(Exception e){
  1637.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.services.integrationManager.gestoriCredenziali'. \n La classe del GestoreCredenziali indicata non esiste ["+gestoriCredenzialiIM[i]+"]: "+e.getMessage(),e);
  1638.                         return false;
  1639.                     }
  1640.                 }
  1641.             }
  1642.            
  1643.             // warning Risposta Asincrona
  1644.             this.getTimeoutBustaRispostaAsincrona();
  1645.             this.getCheckIntervalBustaRispostaAsincrona();

  1646.             // Configurazione Cluster
  1647.             this.getClusterId(false);
  1648.             this.getClusterIdNumerico();
  1649.             if(this.isClusterDinamico()) {
  1650.                 if(this.getClusterId(true)==null) {
  1651.                     return false;
  1652.                 }
  1653.                 this.getClusterDinamicoRefreshSecondsInterval();
  1654.                 this.getClusterHostname();
  1655.                 if(this.getGroupId(false)==null) {
  1656.                     return false;
  1657.                 }
  1658.                 if(this.getClusterDinamicoIdNumericoCifre(false)<0) {
  1659.                     return false;
  1660.                 }
  1661.                 this.isUseHashClusterId();
  1662.             }
  1663.             if(this.isTimerLockByDatabase()) {
  1664.                 this.isTimerLockByDatabaseNotifyLogEnabled();
  1665.             }
  1666.             this.getPddContextSerializer();
  1667.            
  1668.             // Warning
  1669.             this.isGenerazioneAttributiAsincroni(CostantiRegistroServizi.IMPLEMENTAZIONE_STANDARD);
  1670.             this.isGenerazioneListaTrasmissioni(CostantiRegistroServizi.IMPLEMENTAZIONE_STANDARD);
  1671.             this.isGenerazioneErroreProtocolloFiltroDuplicati(CostantiRegistroServizi.IMPLEMENTAZIONE_STANDARD);
  1672.             this.isCheckFromRegistroFiltroDuplicatiAbilitato(CostantiRegistroServizi.IMPLEMENTAZIONE_STANDARD);
  1673.             this.isCheckFromRegistroConfermaRicezioneAbilitato(CostantiRegistroServizi.IMPLEMENTAZIONE_STANDARD);
  1674.             this.isCheckFromRegistroConsegnaInOrdineAbilitato(CostantiRegistroServizi.IMPLEMENTAZIONE_STANDARD);
  1675.             this.isGestioneConsegnaInOrdine(CostantiRegistroServizi.IMPLEMENTAZIONE_STANDARD);
  1676.             this.isGestioneElementoCollaborazione(CostantiRegistroServizi.IMPLEMENTAZIONE_STANDARD);
  1677.             this.isGestioneRiscontri(CostantiRegistroServizi.IMPLEMENTAZIONE_STANDARD);
  1678.             this.ignoraEccezioniNonGraviValidazione();
  1679.             this.isForceSoapPrefixCompatibilitaOpenSPCoopV1();
  1680.             this.isReadQualifiedAttribute(CostantiRegistroServizi.IMPLEMENTAZIONE_STANDARD);
  1681.             this.isValidazioneIDBustaCompleta(CostantiRegistroServizi.IMPLEMENTAZIONE_STANDARD);

  1682.             // Stateless
  1683.             if(this.getStatelessOneWay()==null)
  1684.                 return false;
  1685.             if(this.getStatelessSincrono()==null)
  1686.                 return false;
  1687.             if(this.getStatelessAsincroni()==null)
  1688.                 return false;
  1689.             if(this.getStatelessRouting()==null)
  1690.                 return false;

  1691.             // Warning
  1692.             this.isGestioneOnewayStateful_1_1();
  1693.             this.isRinegoziamentoConnessione();

  1694.             // Handlers
  1695.             this.isMergeHandlerBuiltInAndHandlerUser();
  1696.            
  1697.             // Handlers BuiltIn
  1698.             this.isPrintInfoHandlerBuiltIn();
  1699.             if(this.validateHandlersBuiltInEngine(className, loaderOpenSPCoop)==false) {
  1700.                 return false;
  1701.             }
  1702.            
  1703.             // Handlers
  1704.             this.isPrintInfoHandler();
  1705.             if(this.validateHandlersEngine(className, loaderOpenSPCoop)==false) {
  1706.                 return false;
  1707.             }
  1708.            
  1709.             // MessageSecurity
  1710.             this.isLoadApacheXMLDSig();
  1711.             this.isLoadBouncyCastle();
  1712.             this.getBouncyCastleSecureRandomAlgorithm();
  1713.             this.isUseBouncyCastleProviderForCertificate();
  1714.             this.isUseBouncyCastleProviderForMessageDigest();
  1715.             this.isUseBouncyCastleProviderForWss4jCryptoMerlin();
  1716.             this.getSecurityEgd();
  1717.             this.isGenerazioneActorDefault(CostantiRegistroServizi.IMPLEMENTAZIONE_STANDARD);
  1718.             this.getActorDefault(CostantiRegistroServizi.IMPLEMENTAZIONE_STANDARD);
  1719.             this.getPrefixWsuId();
  1720.             this.getWsuIdSecureRandomAlgorithm();
  1721.             this.getExternalPWCallbackPropertyFile();
  1722.             this.isAbilitataCacheMessageSecurityKeystore();
  1723.             this.getDimensioneCacheMessageSecurityKeystore();
  1724.             this.getItemLifeSecondCacheMessageSecurityKeystore();

  1725.             // Accesso registro servizi
  1726.             this.isReadObjectStatoBozza();
  1727.            
  1728.             // Tracce
  1729.             this.isTracciaturaFallita_BloccaCooperazioneInCorso();
  1730.             this.isTracciaturaFallita_BloccoServiziPdD();
  1731.            
  1732.             // Diagnostici
  1733.             this.isRegistrazioneDiagnosticaFile_intestazione_formatValues();
  1734.             this.isRegistrazioneDiagnosticaFallita_BloccoServiziPdD();
  1735.             this.isLoggerSaajDisabilitato();
  1736.            
  1737.             // Dump
  1738.             this.getDumpBufferImpl();
  1739.             this.isDumpAllAttachments();
  1740.             this.isDumpFallitoBloccaCooperazioneInCorso();
  1741.             this.isDumpFallitoBloccoServiziPdD();
  1742.            
  1743.             this.getDumpHeaderWhiteList();
  1744.             this.getDumpHeaderBlackList();
  1745.            
  1746.             this.getDumpHeaderErogazioniWhiteList();
  1747.             this.getDumpHeaderErogazioniBlackList();
  1748.             this.getDumpHeaderFruizioniWhiteList();
  1749.             this.getDumpHeaderFruizioniBlackList();
  1750.            
  1751.             this.getDumpHeaderErogazioniRichiestaIngressoWhiteList();
  1752.             this.getDumpHeaderErogazioniRichiestaIngressoBlackList();
  1753.             this.getDumpHeaderErogazioniRichiestaUscitaWhiteList();
  1754.             this.getDumpHeaderErogazioniRichiestaUscitaBlackList();
  1755.             this.getDumpHeaderErogazioniRispostaIngressoWhiteList();
  1756.             this.getDumpHeaderErogazioniRispostaIngressoBlackList();
  1757.             this.getDumpHeaderErogazioniRispostaUscitaWhiteList();
  1758.             this.getDumpHeaderErogazioniRispostaUscitaBlackList();
  1759.            
  1760.             this.getDumpHeaderFruizioniRichiestaIngressoWhiteList();
  1761.             this.getDumpHeaderFruizioniRichiestaIngressoBlackList();
  1762.             this.getDumpHeaderFruizioniRichiestaUscitaWhiteList();
  1763.             this.getDumpHeaderFruizioniRichiestaUscitaBlackList();
  1764.             this.getDumpHeaderFruizioniRispostaIngressoWhiteList();
  1765.             this.getDumpHeaderFruizioniRispostaIngressoBlackList();
  1766.             this.getDumpHeaderFruizioniRispostaUscitaWhiteList();
  1767.             this.getDumpHeaderFruizioniRispostaUscitaBlackList();
  1768.            
  1769.             this.isDumpEmitDiagnostic();
  1770.            
  1771.             // DumpBinario
  1772.             this.isDumpBinarioRegistrazioneDatabase();
  1773.             this.getDumpBinarioInMemoryThreshold();
  1774.             this.getDumpBinarioRepository();

  1775.             // DumpNotRealtime
  1776.             this.getDumpNonRealtimeInMemoryThreshold();
  1777.             this.getDumpNonRealtimeMode();
  1778.             if(this.isDumpNonRealtimeFileSystemMode()) {
  1779.                 this.getDumpNonRealtimeRepository();
  1780.             }
  1781.             this.isDumpNonRealtimeThrowStreamingHandlerException();
  1782.            
  1783.             // Generatore di ID
  1784.             String tipoIDGenerator = this.getTipoIDManager();
  1785.             if(CostantiConfigurazione.NONE.equals(tipoIDGenerator)==false){
  1786.                 String tipoIdManger = className.getUniqueIdentifier(tipoIDGenerator);
  1787.                 if(tipoIdManger == null){
  1788.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.idGenerator'. \n Il generatore di unique identifier indicato non esiste ["+this.getTipoIDManager()+"] nelle classi registrate in OpenSPCoop");
  1789.                     return false;
  1790.                 }
  1791.                 useIDManagerWithThreadLocal();
  1792.                 getIDManagerParameters();
  1793.                 getIDManagerBufferSize();
  1794.                 try{
  1795.                     IUniqueIdentifierGenerator uniqueIdentifier = (IUniqueIdentifierGenerator) loaderOpenSPCoop.newInstance(tipoIdManger);
  1796.                     uniqueIdentifier.toString();
  1797.                 }catch(Exception e){
  1798.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.idGenerator'. \n Il generatore di unique identifier non esiste ["+this.getTipoIDManager()+"]: "+e.getMessage(),e);
  1799.                     return false;
  1800.                 }
  1801.             }
  1802.            
  1803.             // InitOpenSPCoop2MessageFactory
  1804.             if ( this.getOpenspcoop2MessageFactory() != null ){
  1805.                 String tipo = this.getOpenspcoop2MessageFactory();
  1806.                 // Check tipi registrati
  1807.                 String tipoClass = className.getOpenSPCoop2MessageFactory(tipo);
  1808.                 if(tipoClass == null){
  1809.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.messagefactory'=...,"+tipo+
  1810.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  1811.                     return false;
  1812.                 }
  1813.                 try{
  1814.                     OpenSPCoop2MessageFactory test = (OpenSPCoop2MessageFactory) loaderOpenSPCoop.newInstance(tipoClass);
  1815.                     test.toString();
  1816.                 }catch(Exception e){
  1817.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.messagefactory'=...,"+tipoClass+
  1818.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  1819.                     return false;
  1820.                 }
  1821.             }
  1822.            
  1823.             // InitOpenSPCoop2MessageFactory
  1824.             if ( this.getMessageSecurityContext() != null ){
  1825.                 String tipo = this.getMessageSecurityContext();
  1826.                 // Check tipi registrati
  1827.                 String tipoClass = className.getMessageSecurityContext(tipo);
  1828.                 if(tipoClass == null){
  1829.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.messageSecurity.context'=...,"+tipo+
  1830.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  1831.                     return false;
  1832.                 }
  1833.                 try{
  1834.                     MessageSecurityContext test = (MessageSecurityContext) loaderOpenSPCoop.newInstance(tipoClass);
  1835.                     test.toString();
  1836.                 }catch(Exception e){
  1837.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.messageSecurity.context'=...,"+tipoClass+
  1838.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  1839.                     return false;
  1840.                 }
  1841.             }
  1842.             if ( this.getMessageSecurityDigestReader() != null ){
  1843.                 String tipo = this.getMessageSecurityDigestReader();
  1844.                 // Check tipi registrati
  1845.                 String tipoClass = className.getMessageSecurityDigestReader(tipo);
  1846.                 if(tipoClass == null){
  1847.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.messageSecurity.digestReader'=...,"+tipo+
  1848.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  1849.                     return false;
  1850.                 }
  1851.                 try{
  1852.                     IDigestReader test = (IDigestReader) loaderOpenSPCoop.newInstance(tipoClass);
  1853.                     test.toString();
  1854.                 }catch(Exception e){
  1855.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.messageSecurity.digestReader'=...,"+tipoClass+
  1856.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  1857.                     return false;
  1858.                 }
  1859.             }
  1860.            
  1861.             // test warning
  1862.             isPrintInfoFactory();
  1863.             isPrintInfoMessageSecurity();
  1864.            
  1865.             // FreeMemoryLog
  1866.             this.getFreeMemoryLog();
  1867.            
  1868.             // DefaultProtocol
  1869.             this.getDefaultProtocolName();
  1870.                        
  1871.             // SoggettiVirtuali
  1872.             this.isSoggettiVirtualiEnabled();
  1873.            
  1874.             // Informazioni generazione errori
  1875.             this.isGenerazioneErroreProtocolloNonSupportato();
  1876.             this.isGenerazioneErroreHttpMethodUnsupportedPortaDelegataEnabled();
  1877.             this.isGenerazioneErroreHttpMethodUnsupportedPortaDelegataImbustamentoSOAPEnabled();
  1878.             this.isGenerazioneErroreHttpMethodUnsupportedPortaApplicativaEnabled();
  1879.             this.isGenerazioneErroreHttpMethodUnsupportedIntegrationManagerEnabled();
  1880.             this.isGenerazioneErroreHttpMethodUnsupportedCheckEnabled();
  1881.             this.isGenerazioneErroreHttpMethodUnsupportedProxyEnabled();
  1882.            
  1883.             // Informazioni generazione WSDL
  1884.             this.isGenerazioneWsdlPortaDelegataEnabled();
  1885.             this.isGenerazioneWsdlPortaApplicativaEnabled();
  1886.             this.isGenerazioneWsdlIntegrationManagerEnabled();
  1887.            
  1888.             // Check
  1889.             if(this.isCheckEnabled()) {
  1890.                 if(this.isCheckHealthCheckApiRestEnabled() &&
  1891.                     this.getCheckHealthCheckApiRestEndpoint()==null) {
  1892.                     return false;
  1893.                 }
  1894.                 if(this.isCheckHealthCheckApiSoapEnabled() &&
  1895.                     this.getCheckHealthCheckApiSoapEndpoint()==null) {
  1896.                     return false;
  1897.                 }
  1898.                 this.isCheckHealthCheckStatsEnabled(); // le verifiche sotto vengono fatte lo stesso poichè la verifica della statistica può essere fatta on demand
  1899.                 if(this.isCheckHealthCheckStatsHourlyEnabled() &&
  1900.                     this.getCheckHealthCheckStatsHourlyThreshold()<0) {
  1901.                     return false;
  1902.                 }
  1903.                 if(this.isCheckHealthCheckStatsDailyEnabled() &&
  1904.                     this.getCheckHealthCheckStatsDailyThreshold()<0) {
  1905.                     return false;
  1906.                 }
  1907.                 if(this.isCheckHealthCheckStatsWeeklyEnabled() &&
  1908.                     this.getCheckHealthCheckStatsWeeklyThreshold()<0) {
  1909.                     return false;
  1910.                 }
  1911.                 if(this.isCheckHealthCheckStatsMonthlyEnabled() &&
  1912.                     this.getCheckHealthCheckStatsMonthlyThreshold()<0) {
  1913.                     return false;
  1914.                 }
  1915.             }
  1916.             this.isCheckReadJMXResourcesEnabled();
  1917.             this.getCheckReadJMXResourcesUsername();
  1918.             this.getCheckReadJMXResourcesPassword();
  1919.             if(this.isProxyReadJMXResourcesEnabled()) {
  1920.                
  1921.                 if(this.isProxyReadJMXResourcesAsyncProcessByTimer()) {
  1922.                     this.getProxyReadJMXResourcesAsyncProcessByTimerServiceImplClass();
  1923.                     this.isProxyReadJMXResourcesAsyncProcessByTimerDebug();
  1924.                     this.getProxyReadJMXResourcesAsyncProcessByTimerSchema();
  1925.                     this.getProxyReadJMXResourcesAsyncProcessByTimerHostname();
  1926.                     this.getProxyReadJMXResourcesAsyncProcessByTimerPort();
  1927.                     this.getProxyReadJMXResourcesAsyncProcessByTimerCheckInterval();
  1928.                     this.getProxyReadJMXResourcesAsyncProcessByTimerLimit();
  1929.                     this.getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordInterval();
  1930.                     this.getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordDeleteOlderThanMinutes();
  1931.                 }
  1932.                
  1933.                 this.getProxyReadJMXResourcesSchema();
  1934.                 this.getProxyReadJMXResourcesPort();
  1935.                 if(this.isProxyReadJMXResourcesHttpsEnabled()) {
  1936.                     this.isProxyReadJMXResourcesHttpsEnabledVerificaHostName();
  1937.                     if(this.isProxyReadJMXResourcesHttpsEnabledAutenticazioneServer()) {
  1938.                         if(this.getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePath()==null) {
  1939.                             return false;
  1940.                         }
  1941.                         if(this.getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststoreType()==null) {
  1942.                             return false;
  1943.                         }
  1944.                         if(this.getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePassword()==null) {
  1945.                             return false;
  1946.                         }
  1947.                     }
  1948.                 }
  1949.                 this.getProxyReadJMXResourcesUsername();
  1950.                 this.getProxyReadJMXResourcesPassword();
  1951.                 this.getProxyReadJMXResourcesConnectionTimeout();
  1952.                 this.getProxyReadJMXResourcesReadTimeout();
  1953.             }
  1954.                        
  1955.             // Datasource Wrapped
  1956.             this.isDSOp2UtilsEnabled();
  1957.            
  1958.             // Datasource getConnection
  1959.             this.isDataSourceGetConnectionCheckAutoCommitDisabled();
  1960.             if(this.isDataSourceGetConnectionCheckTransactionIsolationLevel()) {
  1961.                 this.getDataSourceGetConnectionCheckTransactionIsolationLevelExpected();
  1962.             }
  1963.            
  1964.             // NotifierInputStreamEnabled
  1965.             if(this.isNotifierInputStreamEnabled()) {
  1966.                 String notifierClass = null;
  1967.                 try{
  1968.                     notifierClass = this.getNotifierInputStreamCallback();
  1969.                 }catch(Exception e){
  1970.                     return false; // log registrato nel metodo
  1971.                 }
  1972.                 if(notifierClass!=null){
  1973.                     String tipoClass = className.getNotifierCallback(notifierClass);
  1974.                     if(tipoClass == null){
  1975.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.notifierCallback'=...,"+notifierClass+
  1976.                         "'"+"\n"+TIPO_SCONOSCIUTO);
  1977.                         return false;
  1978.                     }
  1979.                     try{
  1980.                         INotifierCallback test = (INotifierCallback) loaderOpenSPCoop.newInstance(tipoClass);
  1981.                         test.toString();
  1982.                     }catch(Exception e){
  1983.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.notifierCallback'=...,"+tipoClass+
  1984.                                 "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  1985.                         return false;
  1986.                     }
  1987.                 }
  1988.             }
  1989.            
  1990.             // PipedUnblockedVersion
  1991.             try{
  1992.                 this.getPipedUnblockedStreamClassName();
  1993.             }catch(Exception e){
  1994.                 return false; // log registrato nel metodo
  1995.             }
  1996.            
  1997.             // FormUrlEncodedFilter
  1998.             this.isFormUrlEncodedFilterEnabled();
  1999.            
  2000.             // semaphore
  2001.             this.getSemaphoreTimeoutMS();
  2002.             this.getSemaphoreHoldTimeoutMS();
  2003.             this.isSemaphoreDebug();
  2004.             this.getSemaphoreType();
  2005.             this.isSemaphoreFair();
  2006.            
  2007.             // JminixConsole
  2008.             this.getPortJminixConsole();
  2009.            
  2010.             // Custom Contexts
  2011.             this.isEnabledFunctionPD();
  2012.             this.isEnabledFunctionPDtoSOAP();
  2013.             this.isEnabledFunctionPA();
  2014.             this.getCustomContexts();
  2015.            
  2016.             // Custom Container
  2017.             if ( this.getRealContainerCustom() != null ){
  2018.                 String tipo = this.getRealContainerCustom();
  2019.                 // Check tipi registrati
  2020.                 String tipoClass = className.getRealmContainerCustom(tipo);
  2021.                 if(tipoClass == null){
  2022.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.realmContainer.custom'="+tipo+
  2023.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  2024.                     return false;
  2025.                 }
  2026.                 try{
  2027.                     IAutorizzazioneSecurityContainer test = (IAutorizzazioneSecurityContainer) loaderOpenSPCoop.newInstance(tipoClass);
  2028.                     test.toString();
  2029.                 }catch(Exception e){
  2030.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.realmContainer.custom'="+tipoClass+
  2031.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  2032.                     return false;
  2033.                 }
  2034.             }
  2035.            
  2036.             // govway_configurazioneSistema.log
  2037.             this.isConfigurazioneSistema_javaProperties_showPassword();
  2038.            
  2039.             // govway startup
  2040.             this.getStartupRichiesteIngressoTimeoutSecondi();
  2041.             this.getStartupRichiesteIngressoCheckMs();
  2042.             this.getStartupLockMaxLife();
  2043.             this.getStartupLockIdleTime();
  2044.            
  2045.             // ExtendedInfo (Configurazione)
  2046.             String extendedInfoConfigurazioneTest = null;
  2047.             try{
  2048.                 extendedInfoConfigurazioneTest = this.getExtendedInfoConfigurazione();
  2049.             }catch(Exception e){
  2050.                 return false; // log registrato nel metodo
  2051.             }
  2052.             if(extendedInfoConfigurazioneTest!=null){
  2053.                 try{
  2054.                     IExtendedInfo test = (IExtendedInfo) loaderOpenSPCoop.newInstance(extendedInfoConfigurazioneTest);
  2055.                     test.toString();
  2056.                 }catch(Exception e){
  2057.                     this.logError("La classe ["+extendedInfoConfigurazioneTest+"], indicata nella proprieta' 'org.openspcoop2.pdd.config.extendedInfo.configurazione', non esiste: "+e.getMessage(),e);
  2058.                     return false;
  2059.                 }
  2060.             }
  2061.            
  2062.             // ExtendedInfo (PortaDelegata)
  2063.             String extendedInfoPortaDelegataTest = null;
  2064.             try{
  2065.                 extendedInfoPortaDelegataTest = this.getExtendedInfoPortaDelegata();
  2066.             }catch(Exception e){
  2067.                 return false; // log registrato nel metodo
  2068.             }
  2069.             if(extendedInfoPortaDelegataTest!=null){
  2070.                 try{
  2071.                     IExtendedInfo test = (IExtendedInfo) loaderOpenSPCoop.newInstance(extendedInfoPortaDelegataTest);
  2072.                     test.toString();
  2073.                 }catch(Exception e){
  2074.                     this.logError("La classe ["+extendedInfoPortaDelegataTest+"], indicata nella proprieta' 'org.openspcoop2.pdd.config.extendedInfo.portaDelegata', non esiste: "+e.getMessage(),e);
  2075.                     return false;
  2076.                 }
  2077.             }
  2078.            
  2079.             // ExtendedInfo (PortaApplicativa)
  2080.             String extendedInfoPortaApplicativaTest = null;
  2081.             try{
  2082.                 extendedInfoPortaApplicativaTest = this.getExtendedInfoPortaApplicativa();
  2083.             }catch(Exception e){
  2084.                 return false; // log registrato nel metodo
  2085.             }
  2086.             if(extendedInfoPortaApplicativaTest!=null){
  2087.                 try{
  2088.                     IExtendedInfo test = (IExtendedInfo) loaderOpenSPCoop.newInstance(extendedInfoPortaApplicativaTest);
  2089.                     test.toString();
  2090.                 }catch(Exception e){
  2091.                     this.logError("La classe ["+extendedInfoPortaApplicativaTest+"], indicata nella proprieta' 'org.openspcoop2.pdd.config.extendedInfo.portaApplicativa', non esiste: "+e.getMessage(),e);
  2092.                     return false;
  2093.                 }
  2094.             }
  2095.            
  2096.             // ValidazioneContenutiApplicativi
  2097.             this.isValidazioneContenutiApplicativiDebug();
  2098.             this.isValidazioneContenutiApplicativiBufferContentRead();
  2099.             this.isValidazioneContenutiApplicativiRpcLiteralXsiTypeGestione();
  2100.             this.isValidazioneContenutiApplicativiRpcLiteralXsiTypeRipulituraDopoValidazione();
  2101.             this.isValidazioneContenutiApplicativiRpcAddNamespaceXSITypeIfNotExists();
  2102.             this.isValidazioneContenutiApplicativiDocumentAddNamespaceXSITypeIfNotExists();
  2103.             this.isValidazioneContenutiApplicativiXsdAddNamespaceXSITypeIfNotExists();
  2104.             this.isValidazioneContenutiApplicativiRpcAcceptRootElementUnqualified();
  2105.             this.isValidazioneContenutiApplicativiCheckSoapAction();
  2106.             this.getValidazioneContenutiApplicativiJsonPolicyAdditionalProperties();
  2107.             this.getValidazioneContenutiApplicativiOpenApiJsonValidator();
  2108.             this.getValidazioneContenutiApplicativiOpenApiLibrary();
  2109.             this.isValidazioneContenutiApplicativiOpenApiValidateAPISpec();
  2110.             this.isValidazioneContenutiApplicativiOpenApiValidateRequestPath();
  2111.             this.isValidazioneContenutiApplicativiOpenApiValidateRequestQuery();
  2112.             this.isValidazioneContenutiApplicativiOpenApiValidateRequestUnexpectedQueryParam();
  2113.             this.isValidazioneContenutiApplicativiOpenApiValidateRequestHeaders();
  2114.             this.isValidazioneContenutiApplicativiOpenApiValidateRequestCookie();
  2115.             this.isValidazioneContenutiApplicativiOpenApiValidateRequestBody();
  2116.             this.isValidazioneContenutiApplicativiOpenApiValidateResponseHeaders();
  2117.             this.isValidazioneContenutiApplicativiOpenApiValidateResponseBody();
  2118.             this.isValidazioneContenutiApplicativiOpenApiValidateWildcardSubtypeAsJson();
  2119.             this.isValidazioneContenutiApplicativiOpenApiValidateMultipartOptimization();
  2120.             this.isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorInjectingAdditionalPropertiesFalse();
  2121.             this.isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorResolveFullyApiSpec();
  2122.             this.isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateBase64Values();
  2123.             this.isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateUriReferenceAsUrl();
  2124.             this.isValidazioneContenutiApplicativiOpenApiDateTimeAllowLowerCaseTZ();
  2125.             this.isValidazioneContenutiApplicativiOpenApiDateTimeAllowSpaceSeparator();
  2126.            
  2127.             // XML
  2128.             this.isXmlFactoryDTDsEnabled();
  2129.             this.isXsltProcessAsDOMSource();
  2130.            
  2131.             // YAML
  2132.             this.getYamlSnakeLimits();
  2133.            
  2134.             // XPath Json Path
  2135.             this.isJsonPathCacheEnabled();
  2136.             this.isReadByPathBufferEnabled();
  2137.            
  2138.             // CachingResponse
  2139.             this.getCachingResponseDigestAlgorithm();
  2140.             this.getCachingResponseHeaderCacheKey();
  2141.            
  2142.             // Gestione Token
  2143.             this.isGestioneTokenDynamicDiscoveryDebug();
  2144.             this.isGestioneTokenIntrospectionDebug();
  2145.             this.isGestioneTokenUserInfoDebug();
  2146.             this.getGestioneTokenDynamicDiscoveryLockPermits();
  2147.             this.getGestioneTokenValidazioneJWTLockPermits();
  2148.             this.getGestioneTokenIntrospectionLockPermits();
  2149.             this.getGestioneTokenUserInfoLockPermits();
  2150.             this.isGestioneTokenDynamicDiscoveryKeyCacheUseToken();
  2151.             this.isGestioneTokenDynamicDiscoveryUseCacheConfig();
  2152.             this.isGestioneTokenIatRequired();
  2153.             this.isGestioneTokenIatRequired(true);
  2154.             this.isGestioneTokenIatRequired(false);
  2155.             this.getGestioneTokenIatTimeCheckMilliseconds();
  2156.             this.getGestioneTokenIatTimeCheckFutureToleranceMilliseconds();
  2157.             this.isGestioneTokenExpRequired();
  2158.             this.isGestioneTokenExpRequired(true);
  2159.             this.isGestioneTokenExpRequired(false);
  2160.             this.isGestioneTokenExpTimeCheck();
  2161.             this.getGestioneTokenExpTimeCheckToleranceMilliseconds();
  2162.             this.isGestioneTokenNbfRequired();
  2163.             this.isGestioneTokenNbfRequired(true);
  2164.             this.isGestioneTokenNbfRequired(false);    
  2165.             this.getGestioneTokenNbfTimeCheckToleranceMilliseconds();
  2166.             this.getGestioneTokenValidityCheck();
  2167.             this.isGestioneTokenSaveSourceTokenInfo();
  2168.             this.isGestioneTokenSaveTokenInfoValidationFailed();
  2169.             this.isGestioneTokenSaveTokenInfoValidationFailedExcludeJwtSignature();
  2170.             this.isGestioneTokenSaveTokenAuthenticationInfoValidationFailed();
  2171.             this.isGestioneTokenSaveTokenAuthenticationInfoAuthenticationFailed();
  2172.             this.getGestioneTokenFormatDate();
  2173.             this.getGestioneTokenHeaderTrasportoJSON();
  2174.             this.getGestioneTokenHeaderTrasportoJWT();
  2175.             if(!this.checkTipiIntegrazioneGestioneToken()) {
  2176.                 return false;
  2177.             }
  2178.             List<String> listCustomClaims = getCustomClaimsKeysGestioneTokenForward();
  2179.             if(listCustomClaims!=null && !listCustomClaims.isEmpty()) {
  2180.                 for (String claim : listCustomClaims) {
  2181.                     // in caso non siano presenti viene sollevata una eccezione
  2182.                     this.getCustomClaimsNameGestioneTokenHeaderIntegrazione(claim);
  2183.                     this.getCustomClaimsHeaderNameGestioneTokenHeaderIntegrazioneTrasporto(claim);
  2184.                     this.getCustomClaimsKeyPDSetEnabledGestioneTokenHeaderIntegrazioneTrasporto(claim);
  2185.                     this.getCustomClaimsKeyPASetEnabledGestioneTokenHeaderIntegrazioneTrasporto(claim);
  2186.                     this.getCustomClaimsJsonPropertyNameGestioneTokenHeaderIntegrazioneJson(claim);
  2187.                     this.getCustomClaimsKeyPDSetEnabledGestioneTokenHeaderIntegrazioneJson(claim);
  2188.                     this.getCustomClaimsKeyPASetEnabledGestioneTokenHeaderIntegrazioneJson(claim);
  2189.                 }
  2190.             }
  2191.             this.getGestioneTokenHeaderIntegrazioneTrasportoAudienceSeparator();
  2192.             this.getGestioneTokenHeaderIntegrazioneTrasportoScopeSeparator();
  2193.             this.getGestioneTokenHeaderIntegrazioneTrasportoRoleSeparator();
  2194.            
  2195.             // Gestione RetrieveToken
  2196.             this.getGestioneRetrieveTokenDebug();
  2197.             this.getGestioneRetrieveTokenLockPermits();
  2198.             if(!this.validateGestioneRetrieveTokenRefreshTokenBeforeExpire()) {
  2199.                 return false;
  2200.             }
  2201.             this.isGestioneRetrieveTokenRefreshTokenGrantTypeClientCredentials();
  2202.             this.isGestioneRetrieveTokenRefreshTokenGrantTypeUsernamePassword();
  2203.             this.isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523x509();
  2204.             this.isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523ClientSecret();
  2205.             this.isGestioneRetrieveTokenRefreshTokenGrantTypeCustom();
  2206.             this.isGestioneRetrieveTokenSaveAsTokenInfo();
  2207.             this.isGestioneRetrieveTokenSaveAsTokenInfoExcludeJwtSignature();
  2208.             this.isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequest();
  2209.             this.isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequestDate();
  2210.             this.isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoTransazioniRegistrazioneInformazioniNormalizzate();
  2211.             this.isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoExcludeJwtSignature();
  2212.             this.isGestioneRetrieveTokenSaveTokenInfoRetrieveFailed();
  2213.             this.initGestioneRetrieveTokenCacheKey();
  2214.             // dovrebbe venire chiamato solo per ModI
  2215.             // può essere usato con il profilo trasparente nella testsuite
  2216.             this.getGestioneRetrieveTokenPdndUrlPatternMatch(Costanti.MODIPA_PROTOCOL_NAME);
  2217.             this.isGestioneRetrieveTokenPdndPayloadClientId(Costanti.MODIPA_PROTOCOL_NAME);
  2218.             this.isGestioneRetrieveTokenPdndPayloadNbf(Costanti.MODIPA_PROTOCOL_NAME);
  2219.             this.isGestioneRetrieveTokenPdndDatiRichiestaForceClientId(Costanti.MODIPA_PROTOCOL_NAME);
  2220.                        
  2221.             // Gestione AttributeAuthority
  2222.             this.isGestioneAttributeAuthorityDebug();
  2223.             this.getGestioneAttributeAuthorityLockPermits();
  2224.             this.isGestioneAttributeAuthoritySaveSourceAttributeResponseInfo();
  2225.             this.isGestioneAttributeAuthorityTransazioniRegistrazioneAttributiInformazioniNormalizzate();
  2226.             this.getGestioneAttributeAuthorityValidityCheck();
  2227.            
  2228.             // Statistiche via jmx Console
  2229.             this.isStatisticheViaJmx();
  2230.            
  2231.             // Forward Proxy
  2232.             this.isForwardProxyEnable();
  2233.             this.getForwardProxyConfigurazioneDefault();
  2234.             this.getForwardProxyConfigurazioneTokenDefault();
  2235.            
  2236.             // Trasformazioni
  2237.             this.isTrasformazioni_readCharsetFromContentType();
  2238.             this.getTrasformazioni_backwardCompatibility();
  2239.            
  2240.             // Trasporto REST / SOAP
  2241.            
  2242.             this.getSOAPServicesUrlParametersForwardConfig();
  2243.             this.getSOAPServicesHeadersForwardConfig(true);
  2244.             this.getSOAPServicesHeadersForwardConfig(false);
  2245.            
  2246.             // Location
  2247.             this.isSOAPServices_inoltroBuste_proxyPassReverse();
  2248.             this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse();
  2249.             this.getSOAPServices_inoltroBuste_proxyPassReverse_headers();
  2250.             this.getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_headers();
  2251.             // SetCookie
  2252.             this.isSOAPServices_inoltroBuste_proxyPassReverse_setCookie();
  2253.             this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie();
  2254.             this.isSOAPServices_inoltroBuste_proxyPassReverse_setCookie_path();
  2255.             this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_path();
  2256.             this.isSOAPServices_inoltroBuste_proxyPassReverse_setCookie_domain();
  2257.             this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_domain();
  2258.             this.getSOAPServices_inoltroBuste_proxyPassReverse_setCookie_headers();
  2259.             this.getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers();
  2260.             // useProtocolPrefix
  2261.             this.isSOAPServices_inoltroBuste_proxyPassReverse_useProtocolPrefix();
  2262.             this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_useProtocolPrefix();
  2263.             // securityHeaders
  2264.             if(this.isSOAPServices_inoltroBuste_response_securityHeaders()) {
  2265.                 this.getSOAPServices_inoltroBuste_response_securityHeaders();
  2266.             }
  2267.             if(this.isSOAPServices_consegnaContenutiApplicativi_response_securityHeaders()) {
  2268.                 this.getSOAPServices_consegnaContenutiApplicativi_response_securityHeaders();
  2269.             }
  2270.            
  2271.             this.getRESTServicesUrlParametersForwardConfig();
  2272.             this.getRESTServicesHeadersForwardConfig(true);
  2273.             this.getRESTServicesHeadersForwardConfig(false);
  2274.            
  2275.             // Location
  2276.             this.isRESTServices_inoltroBuste_proxyPassReverse();
  2277.             this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse();
  2278.             this.getRESTServices_inoltroBuste_proxyPassReverse_headers();
  2279.             this.getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_headers();
  2280.             // SetCookie
  2281.             this.isRESTServices_inoltroBuste_proxyPassReverse_setCookie();
  2282.             this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie();
  2283.             this.isRESTServices_inoltroBuste_proxyPassReverse_setCookie_path();
  2284.             this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_path();
  2285.             this.isRESTServices_inoltroBuste_proxyPassReverse_setCookie_domain();
  2286.             this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_domain();
  2287.             this.getRESTServices_inoltroBuste_proxyPassReverse_setCookie_headers();
  2288.             this.getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers();
  2289.             // useProtocolPrefix
  2290.             this.isRESTServices_inoltroBuste_proxyPassReverse_useProtocolPrefix();
  2291.             this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_useProtocolPrefix();
  2292.             // securityHeaders
  2293.             if(this.isRESTServices_inoltroBuste_response_securityHeaders()) {
  2294.                 this.getRESTServices_inoltroBuste_response_securityHeaders();
  2295.             }
  2296.             if(this.isRESTServices_consegnaContenutiApplicativi_response_securityHeaders()) {
  2297.                 this.getRESTServices_consegnaContenutiApplicativi_response_securityHeaders();
  2298.             }
  2299.                                
  2300.             // Transazioni
  2301.             if(this.isTransazioniEnabled()) {
  2302.                 this.isTransazioniDebug();
  2303.                 if(!this.isTransazioniUsePddRuntimeDatasource()) {
  2304.                     this.getTransazioniDatasource();
  2305.                     this.getTransazioniDatasourceJndiContext();
  2306.                     this.isTransazioniDatasourceUseDBUtils();
  2307.                 }
  2308.                 this.isTransazioniSaveTracceInUniqueTransaction();
  2309.                 this.isTransazioniSaveDiagnosticiInUniqueTransaction();
  2310.                 this.isTransazioniSaveDumpInUniqueTransaction();
  2311.                 this.isTransazioniValorizzaDataIngressoConDataAccettazione();
  2312.                 this.isTransazioniValorizzaDataUscitaRispostaUseDateAfterResponseSent();
  2313.                 this.isTransazioniFaultPrettyPrint();
  2314.                
  2315.                 this._isTransazioniFiltroDuplicatiSaveDateEnabled();
  2316.                 if(this.isTransazioniFiltroDuplicatiTramiteTransazioniEnabled()) {
  2317.                     this.isTransazioniFiltroDuplicatiTramiteTransazioniUsePdDConnection();
  2318.                     this.isTransazioniFiltroDuplicatiTramiteTransazioniForceIndex();
  2319.                 }
  2320.                
  2321.                 if(this.isTransazioniStatefulEnabled()) {
  2322.                     this.isTransazioniStatefulDebug();
  2323.                     this.getTransazioniStatefulTimerIntervalSeconds();
  2324.                 }
  2325.                
  2326.                 this.getTransazioniCredenzialiMittenteMaxLength();
  2327.                 this.getTransazioniCredenzialiMittenteLifeSeconds();
  2328.                 this.isTransazioniRegistrazioneTracceProtocolPropertiesEnabled();
  2329.                 this.isTransazioniRegistrazioneTracceHeaderRawEnabled();
  2330.                 this.isTransazioniRegistrazioneTracceDigestEnabled();
  2331.                 this._getTransazioniRegistrazioneTracceManager(className, loaderOpenSPCoop);
  2332.                 this._getTransazioniRegistrazioneDiagnosticiManager(className, loaderOpenSPCoop);
  2333.                 this.isTransazioniRegistrazioneDumpHeadersCompactEnabled();
  2334.                
  2335.                 this.isTransazioniHttpStatusAsEvent_inResponseCode();
  2336.                 this.isTransazioniHttpStatusAsEvent_outResponseCode();
  2337.                 this.isTransazioniTipoApiAsEvent();
  2338.                 this.isTransazioniConnettoriMultipliAsEvent();
  2339.                 this.isTransazioniUpdateUseDayInterval();
  2340.                
  2341.                 if(this.isTransazioniRegistrazioneSlowLog()) {
  2342.                     this.getTransazioniRegistrazioneSlowLogThresholdMs();
  2343.                     this.isTransazioniRegistrazioneSlowLogBuildTransactionDetails();
  2344.                     this.isTransazioniRegistrazioneSlowLogRateLimitingDetails();
  2345.                     this.isTransazioniRegistrazioneSlowLogConnettoriMultipliProcessTransactionSADetails();
  2346.                     this.isTransazioniRegistrazioneSlowLogConnettoriMultipliUpdateTransactionDetails();
  2347.                 }
  2348.                
  2349.                 this.isTransazioniTracciamentoDBOutRequestThrowRequestException();
  2350.                 this.isTransazioniTracciamentoDBOutResponseThrowRequestException();
  2351.                 this.isTransazioniTracciamentoDBPostOutResponseThrowRequestException();
  2352.                 this.isTransazioniTracciamentoDBPostOutResponseThrowResponseException();
  2353.                
  2354.                 this.isTransazioniPolicyValidazioneSavePurposeIdAlways();
  2355.                 this.isTransazioniPolicyNegoziazioneSavePurposeIdAlways();

  2356.                 this.isTransazioniFileTraceEnabled();
  2357.                 if(this.isTransazioniFileTraceDumpBinarioPDEnabled()) {
  2358.                     this.isTransazioniFileTraceDumpBinarioPDHeadersEnabled();
  2359.                     this.isTransazioniFileTraceDumpBinarioPDPayloadEnabled();
  2360.                 }
  2361.                 if(this.isTransazioniFileTraceDumpBinarioPDConnettoreEnabled()) {
  2362.                     this.isTransazioniFileTraceDumpBinarioPDConnettoreHeadersEnabled();
  2363.                     this.isTransazioniFileTraceDumpBinarioPDConnettorePayloadEnabled();
  2364.                 }
  2365.                 if(this.isTransazioniFileTraceDumpBinarioPAEnabled()) {
  2366.                     this.isTransazioniFileTraceDumpBinarioPAHeadersEnabled();
  2367.                     this.isTransazioniFileTraceDumpBinarioPAPayloadEnabled();
  2368.                 }
  2369.                 if(this.isTransazioniFileTraceDumpBinarioPAConnettoreEnabled()) {
  2370.                     this.isTransazioniFileTraceDumpBinarioPAConnettoreHeadersEnabled();
  2371.                     this.isTransazioniFileTraceDumpBinarioPAConnettorePayloadEnabled();
  2372.                 }
  2373.                 this.isTransazioniFileTraceDumpBinarioReleaseInLastTrackingPhase();
  2374.                 this.getTransazioniFileTraceConfig();
  2375.                
  2376.                 this.getTransazioniTestsuiteManuallyFaultHeaderDBBeforeCommit();
  2377.                 this.getTransazioniTestsuiteManuallyFaultHeaderFileTraceBeforeLog();
  2378.             }
  2379.            
  2380.             // Eventi
  2381.             if(this.isEventiEnabled()) {
  2382.                 this.isEventiDebug();
  2383.                 this.isEventiRegistrazioneStatoPorta();
  2384.                 if(this.isEventiTimerEnabled()) {
  2385.                     this.getEventiTimerIntervalSeconds();
  2386.                     this.getEventiTimerIntervalConnectionTimeoutEveryXTimes();
  2387.                     this.getEventiTimerIntervalRequestReadTimeoutEveryXTimes();
  2388.                     this.getEventiTimerIntervalReadTimeoutEveryXTimes();
  2389.                 }
  2390.             }
  2391.            
  2392.             // FileSystemRecovery
  2393.             this.getFileSystemRecoveryRepository();
  2394.             this.isFileSystemRecoveryDebug();
  2395.             if(this.isFileSystemRecoveryTimerEnabled()) {
  2396.                 this.getFileSystemRecoveryTimerIntervalSeconds();
  2397.                 this.getFileSystemRecoveryMaxAttempts();
  2398.                 this.isFileSystemRecoveryTimerEventEnabled();
  2399.                 this.isFileSystemRecoveryTimerTransactionEnabled();
  2400.                 this.getFileSystemRecoveryEventsProcessingFileAfterMs();
  2401.                 this.getFileSystemRecoveryTransactionProcessingFileAfterMs();
  2402.             }
  2403.            
  2404.             // ControlloTraffico
  2405.             if(this.isControlloTrafficoEnabled()) {
  2406.                 //this.initConfigurazioneControlloTraffico(loaderOpenSPCoop); invocato da OpenSPcoop2Startup
  2407.                 TipoGestorePolicy tipo = this.getControlloTrafficoGestorePolicyTipo();
  2408.                 if(TipoGestorePolicy.WS.equals(tipo)) {
  2409.                     this.getControlloTrafficoGestorePolicyWSUrl();
  2410.                 }
  2411.                 else if(TipoGestorePolicy.IN_MEMORY.equals(tipo)) {
  2412.                     @SuppressWarnings("unused")
  2413.                     PolicyGroupByActiveThreadsType type = this.getControlloTrafficoGestorePolicyInMemoryType();
  2414.                    
  2415.                     this.isControlloTrafficoGestorePolicyInMemoryLocalDividedByNodesRemainingZeroValue();
  2416.                     this.isControlloTrafficoGestorePolicyInMemoryLocalDividedByNodesLimitRoundingDown();
  2417.                     this.isControlloTrafficoGestorePolicyInMemoryLocalDividedByNodesLimitNormalizedQuota();

  2418.                     isControlloTrafficoGestorePolicyInMemoryDatabaseUseTransaction();
  2419.                     getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBAttesaAttiva();
  2420.                     getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBCheckInterval();
  2421.                    
  2422.                     //case HAZELCAST:
  2423.                     if(isHazelcastEngineEnabled()) {
  2424.                         //case HAZELCAST_MAP:
  2425.                         getControlloTrafficoGestorePolicyInMemoryHazelCastMapConfigPath();
  2426.                         //case HAZELCAST_NEAR_CACHE:
  2427.                         getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheConfigPath();
  2428.                         //case HAZELCAST_NEAR_CACHE_UNSAFE_SYNC_MAP:
  2429.                         getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeSyncMapConfigPath();
  2430.                         //case HAZELCAST_NEAR_CACHE_UNSAFE_ASYNC_MAP:
  2431.                         getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeAsyncMapConfigPath();
  2432.                         // case HAZELCAST_REPLICATED_MAP
  2433.                         getControlloTrafficoGestorePolicyInMemoryHazelCastReplicatedMapConfigPath();
  2434.                         //case HAZELCAST_LOCAL_CACHE:
  2435.                         getControlloTrafficoGestorePolicyInMemoryHazelCastLocalCacheConfigPath();
  2436.                         getControlloTrafficoGestorePolicyInMemoryHazelcastLocalCacheTimerUpdate();

  2437.                         getControlloTrafficoGestorePolicyInMemoryHazelCastGroupId();
  2438.                         getControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfig();
  2439.                         isControlloTrafficoGestorePolicyInMemoryHazelcastOneMapForeachPolicy();
  2440.                        
  2441.                         getControlloTrafficoGestorePolicyInMemoryHazelCastPNCounterConfigPath();
  2442.                         getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongConfigPath();
  2443.                         getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongAsyncConfigPath();
  2444.                        
  2445.                         isHazelcastSecurityRecommendationsEnabled();
  2446.                         if(isHazelcastDiagnosticsEnabled()) {
  2447.                             getHazelcastDiagnosticsDirectory();
  2448.                             getHazelcastDiagnosticsMaxRolledFileCount();
  2449.                             getHazelcastDiagnosticsMaxFileSizeMb();
  2450.                         }
  2451.                         getHazelcastCPSubsystemDistributedObjectDestroyedExceptionFailover();
  2452.                         getHazelcastCPSubsystemDistributedObjectDestroyedExceptionFailoverCheckEveryMs();
  2453.                     }
  2454.                    
  2455.                     // case REDIS
  2456.                     if(isRedisEngineEnabled()) {
  2457.                         getControlloTrafficoGestorePolicyInMemoryRedisConnectionUrl();
  2458.                         isControlloTrafficoGestorePolicyInMemoryRedisOneMapForeachPolicy();
  2459.                         isControlloTrafficoGestorePolicyInMemoryRedisThrowExceptionIfRedisNotReady();
  2460.                     }
  2461.                    
  2462.                     if(isHazelcastEngineEnabled() || isRedisEngineEnabled()) {
  2463.                         isControlloTrafficoGestorePolicyInMemoryRemoteCountersUseLocalLock();
  2464.                     }
  2465.                    
  2466.                 }
  2467.                 this.getControlloTrafficoGestorePolicyFileSystemRecoveryRepository();
  2468.                
  2469.                 // header limit
  2470.                 this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderLimit();
  2471.                 this.getControlloTrafficoNumeroRichiesteHeaderLimit();
  2472.                 this.getControlloTrafficoOccupazioneBandaHeaderLimit();
  2473.                 this.getControlloTrafficoTempoComplessivoRispostaHeaderLimit();
  2474.                 this.getControlloTrafficoTempoMedioRispostaHeaderLimit();
  2475.                 this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimit();
  2476.                 this.getControlloTrafficoNumeroRichiesteFalliteHeaderLimit();
  2477.                 this.getControlloTrafficoNumeroFaultApplicativiHeaderLimit();
  2478.                 this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimit();
  2479.                 this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimit();
  2480.                
  2481.                 // header limit windows
  2482.                 this.getControlloTrafficoNumeroRichiesteHeaderLimitWindows();
  2483.                 this.getControlloTrafficoOccupazioneBandaHeaderLimitWindows();
  2484.                 this.getControlloTrafficoTempoComplessivoRispostaHeaderLimitWindows();
  2485.                 this.getControlloTrafficoTempoMedioRispostaHeaderLimitWindows();
  2486.                 this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimitWindows();
  2487.                 this.getControlloTrafficoNumeroRichiesteFalliteHeaderLimitWindows();
  2488.                 this.getControlloTrafficoNumeroFaultApplicativiHeaderLimitWindows();
  2489.                 this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimitWindows();
  2490.                 this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimitWindows();
  2491.                
  2492.                 // header remaining
  2493.                 this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderRemaining();
  2494.                 this.getControlloTrafficoNumeroRichiesteHeaderRemaining();
  2495.                 this.getControlloTrafficoOccupazioneBandaHeaderRemaining();
  2496.                 this.getControlloTrafficoTempoComplessivoRispostaHeaderRemaining();
  2497.                 this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderRemaining();
  2498.                 this.getControlloTrafficoNumeroRichiesteFalliteHeaderRemaining();
  2499.                 this.getControlloTrafficoNumeroFaultApplicativiHeaderRemaining();
  2500.                 this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderRemaining();
  2501.                 this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderRemaining();
  2502.                
  2503.                 // header reset
  2504.                 this.getControlloTrafficoNumeroRichiesteHeaderReset();
  2505.                 this.getControlloTrafficoOccupazioneBandaHeaderReset();
  2506.                 this.getControlloTrafficoTempoComplessivoRispostaHeaderReset();
  2507.                 this.getControlloTrafficoTempoMedioRispostaHeaderReset();
  2508.                 this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderReset();
  2509.                 this.getControlloTrafficoNumeroRichiesteFalliteHeaderReset();
  2510.                 this.getControlloTrafficoNumeroFaultApplicativiHeaderReset();
  2511.                 this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderReset();
  2512.                 this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderReset();
  2513.                
  2514.                 this.getControlloTrafficoRetryAfterHeader();
  2515.                 this.getControlloTrafficoRetryAfterHeaderRandomBackoff();
  2516.             }
  2517.            
  2518.             // Allarmi
  2519.             if(this.isAllarmiEnabled()) {
  2520.                 this.isAllarmiDebug();
  2521.             }
  2522.            
  2523.             // Service Unavailable
  2524.             this.getServiceUnavailableRetryAfterSecondsPD();
  2525.             this.getServiceUnavailableRetryAfterSecondsRandomBackoffPD();
  2526.             this.getServiceUnavailableRetryAfterSecondsPA();
  2527.             this.getServiceUnavailableRetryAfterSecondsRandomBackoffPA();
  2528.             if(this.isEnabledServiceUnavailableRetryAfterPDSuspend()) {
  2529.                 this.getServiceUnavailableRetryAfterSecondsPDSuspend();
  2530.                 this.getServiceUnavailableRetryAfterSecondsRandomBackoffPDSuspend();
  2531.             }
  2532.             if(this.isEnabledServiceUnavailableRetryAfterPASuspend()) {
  2533.                 this.getServiceUnavailableRetryAfterSecondsPASuspend();
  2534.                 this.getServiceUnavailableRetryAfterSecondsRandomBackoffPASuspend();
  2535.             }
  2536.             if(this.isEnabledServiceUnavailableRetryAfterPDConnectionFailed()) {
  2537.                 this.getServiceUnavailableRetryAfterSecondsPDConnectionFailed();
  2538.                 this.getServiceUnavailableRetryAfterSecondsRandomBackoffPDConnectionFailed();
  2539.             }
  2540.             if(this.isEnabledServiceUnavailableRetryAfterPAConnectionFailed()) {
  2541.                 this.getServiceUnavailableRetryAfterSecondsPAConnectionFailed();
  2542.                 this.getServiceUnavailableRetryAfterSecondsRandomBackoffPAConnectionFailed();
  2543.             }
  2544.             this.isServiceUnavailableReadTimedOut("");
  2545.            
  2546.             // Statistiche
  2547.             if(this.isStatisticheGenerazioneEnabled()) {
  2548.                 if(!this.isStatisticheUsePddRuntimeDatasource() &&
  2549.                         !this.isStatisticheUseTransazioniDatasource()) {
  2550.                     this.getStatisticheDatasource();
  2551.                     this.getStatisticheDatasourceJndiContext();
  2552.                     this.isStatisticheDatasourceUseDBUtils();
  2553.                 }
  2554.                 this.isStatisticheGenerazioneUseUnionForLatency();
  2555.                 if(this.isStatisticheGenerazioneCustomEnabled()) {
  2556.                     this.isStatisticheGenerazioneCustomSdkEnabled();
  2557.                 }
  2558.                 if(this.isStatisticheGenerazioneBaseOrariaEnabled()) {
  2559.                     this.isStatisticheGenerazioneBaseOrariaEnabledUltimaOra();
  2560.                 }
  2561.                 if(this.isStatisticheGenerazioneBaseGiornalieraEnabled()) {
  2562.                     this.isStatisticheGenerazioneBaseGiornalieraEnabledUltimoGiorno();
  2563.                 }
  2564.                 if(this.isStatisticheGenerazioneBaseSettimanaleEnabled()) {
  2565.                     this.isStatisticheGenerazioneBaseSettimanaleEnabledUltimaSettimana();
  2566.                 }
  2567.                 if(this.isStatisticheGenerazioneBaseMensileEnabled()) {
  2568.                     this.isStatisticheGenerazioneBaseMensileEnabledUltimoMese();
  2569.                 }
  2570.                 this.isStatistichePdndTracciamentoGenerazioneEnabled();
  2571.                 this.isStatistichePdndTracciamentoPubblicazioneEnabled();
  2572.                 this.isStatisticheGenerazioneAttendiCompletamentoTransazioniInFasiIntermedie();
  2573.                 this.getStatisticheGenerazioneTradeOffMs();
  2574.                 this.getStatisticheOrarieGenerazioneTimerIntervalSeconds();
  2575.                 this.getStatisticheGiornaliereGenerazioneTimerIntervalSeconds();
  2576.                 this.getStatisticheSettimanaliGenerazioneTimerIntervalSeconds();
  2577.                 this.getStatisticheMensiliGenerazioneTimerIntervalSeconds();
  2578.                
  2579.                
  2580.                 this.getStatisticheGenerazioneTimerLockMaxLife();
  2581.                 this.getStatisticheGenerazioneTimerLockIdleTime();
  2582.                 this.getStatisticheGenerazioneTimerLockAttesaAttiva();
  2583.                 this.getStatisticheGenerazioneTimerLockCheckInterval();
  2584.                 this.getStatisticheGenerazioneExternalForceIndexRepository();
  2585.                
  2586.                
  2587.                 this.isStatistichePdndTracciamentoErogazioniEnabled();
  2588.                 this.isStatistichePdndTracciamentoFruizioniEnabled();
  2589.                 this.isStatistichePdndTracciamentoGenerazioneEnabled();
  2590.                 this.isStatistichePdndTracciamentoPubblicazioneEnabled();
  2591.                
  2592.                 this.getStatistichePdndTracciamentoGenerazioneTimerIntervalSeconds();
  2593.                 this.getStatistichePdndTracciamentoHttpRequestConfig();
  2594.                 this.getStatistichePdndTracciamentoMaxAttempts();
  2595.                 this.getStatistichePdndTracciamentoPendingCheck();
  2596.                 this.getStatistichePdndTracciamentoPubblicazioneTimerIntervalSeconds();
  2597.                 this.getStatistichePdndTracciamentoSoggettiEnabled();
  2598.                
  2599.             }
  2600.            
  2601.             if(this.isGestoreChiaviPDNDEnabled()) {
  2602.                 isGestoreChiaviPDNDDebug();
  2603.                 isGestoreChiaviPDNDEventiAdd();
  2604.                 isGestoreChiaviPDNDEventiUpdate();
  2605.                 isGestoreChiaviPDNDEventiDelete();
  2606.                 getGestoreChiaviPDNDRemoteStoreName();
  2607.                 isGestoreChiaviPDNDEventiCheckAllStores();
  2608.                 getGestoreChiaviPDNDkeysMaxLifeMinutes();
  2609.                 getGestoreChiaviPDNDkeysPath();
  2610.                 getGestoreChiaviPDNDeventsKeysPath();
  2611.                 getGestoreChiaviPDNDeventsKeysParameterLastEventId();
  2612.                 getGestoreChiaviPDNDeventsKeysParameterLimit();
  2613.                 getGestoreChiaviPDNDeventsKeysLimit();
  2614.                 getGestoreChiaviPDNDeventsKeysTimerIntervalloSecondi();
  2615.                 getGestoreChiaviPDNDcacheKeysTimerIntervalloSecondi();
  2616.                 getGestoreChiaviPDNDTimerLockMaxLife();
  2617.                 getGestoreChiaviPDNDTimerLockIdleTime();
  2618.                 getGestoreChiaviPDNDTimerLockAttesaAttiva();
  2619.                 getGestoreChiaviPDNDTimerLockCheckInterval();
  2620.                 getGestoreChiaviPDNDclientsPath();
  2621.                 getGestoreChiaviPDNDclientsOrganizationJsonPath();
  2622.                 getGestoreChiaviPDNDorganizationsPath();
  2623.                
  2624.                 isGestoreChiaviPDNDclientInfoEnabled();
  2625.                 getGestoreChiaviPDNDclientInfoMaxLifeMinutes();
  2626.                 getGestoreChiaviPDNDclientInfoCacheFallbackMaxLifeMinutes();
  2627.                 isGestoreChiaviPDNDclientsErrorAbortTransaction();
  2628.                 isGestoreChiaviPDNDorganizationsErrorAbortTransaction();
  2629.                 isGestoreChiaviPDNDRateLimitingInfoNotAvailableAbortTransaction();
  2630.                 isGestoreChiaviPDNDretrieveClientInfoAfterVoucherPDNDValidation();
  2631.                 isGestoreChiaviPDNDclientsTraceJsonResponse();
  2632.                 isGestoreChiaviPDNDorganizationsTraceJsonResponse();
  2633.                 isGestoreChiaviPDNDorganizationsTraceName();
  2634.             }
  2635.            
  2636.             getHeadersPeerRegexpCacheSize();
  2637.             getHeadersPeer();
  2638.            
  2639.             return true;

  2640.         }catch(java.lang.Exception e) {
  2641.             this.logError("Riscontrato errore durante la validazione lettura della proprieta' di openspcoop: "+e.getMessage(),e);
  2642.             return false;
  2643.         }
  2644.     }
  2645.    
  2646.     public boolean validaConfigurazioneDopoInizializzazioneProtocolManager(java.lang.ClassLoader loader) {  
  2647.         try{  
  2648.            
  2649.             if(loader!=null) {
  2650.                 // nop
  2651.             }
  2652.            
  2653.             // IdentitaPdD
  2654.             Enumeration<String> protocolli = ProtocolFactoryManager.getInstance().getProtocolFactories().keys();
  2655.             while (protocolli.hasMoreElements()) {
  2656.                 String protocollo = protocolli.nextElement();
  2657.                 getIdentitaPortaDefault(protocollo, null);
  2658.             }  
  2659.            
  2660.             // ByPass
  2661.             protocolli = ProtocolFactoryManager.getInstance().getProtocolFactories().keys();
  2662.             while (protocolli.hasMoreElements()) {
  2663.                 String protocollo = protocolli.nextElement();
  2664.                 getBypassFilterMustUnderstandProperties(protocollo);
  2665.             }
  2666.            
  2667.             // ControlliToken
  2668.             protocolli = ProtocolFactoryManager.getInstance().getProtocolFactories().keys();
  2669.             while (protocolli.hasMoreElements()) {
  2670.                 String protocollo = protocolli.nextElement();
  2671.                 isGestioneTokenIatRequired(true, protocollo);
  2672.                 isGestioneTokenIatRequired(false, protocollo);
  2673.                 isGestioneTokenExpRequired(true, protocollo);
  2674.                 isGestioneTokenExpRequired(false, protocollo);
  2675.                 isGestioneTokenNbfRequired(true, protocollo);
  2676.                 isGestioneTokenNbfRequired(false, protocollo);
  2677.                 if(Costanti.MODIPA_PROTOCOL_NAME.equals(protocollo)) {
  2678.                     isGestioneTokenIatPdndRequired();
  2679.                     isGestioneTokenExpPdndRequired();
  2680.                     isGestioneTokenNbfPdndRequired();
  2681.                 }
  2682.             }
  2683.            
  2684.             return true;
  2685.            
  2686.         }catch(java.lang.Exception e) {
  2687.             this.logError("Riscontrato errore durante la validazione lettura della proprieta' di openspcoop: "+e.getMessage(),e);
  2688.             return false;
  2689.         }
  2690.     }

  2691.     private boolean validateHandlersBuiltInEngine(ClassNameProperties className, Loader loaderOpenSPCoop) {
  2692.         // InitHandlerBuiltIn
  2693.         if ( this.getInitHandlerBuiltIn() != null ){
  2694.             String[] tipiHandlerBuiltIn = this.getInitHandlerBuiltIn();
  2695.             // Check tipi registrati
  2696.             for(int i=0; i<tipiHandlerBuiltIn.length;i++){
  2697.                 String tipoClass = className.getInitHandlerBuiltIn(tipiHandlerBuiltIn[i]);
  2698.                 if(tipoClass == null){
  2699.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.built-in.init'=...,"+tipiHandlerBuiltIn[i]+
  2700.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  2701.                     return false;
  2702.                 }
  2703.                 try{
  2704.                     InitHandler handler = (InitHandler) loaderOpenSPCoop.newInstance(tipoClass);
  2705.                     handler.toString();
  2706.                 }catch(Exception e){
  2707.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.built-in.init'=...,"+tipiHandlerBuiltIn[i]+
  2708.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  2709.                     return false;
  2710.                 }
  2711.             }
  2712.         }
  2713.        
  2714.         // ExitHandlerBuiltIn
  2715.         if ( this.getExitHandlerBuiltIn() != null ){
  2716.             String[] tipiHandlerBuiltIn = this.getExitHandlerBuiltIn();
  2717.             // Check tipi registrati
  2718.             for(int i=0; i<tipiHandlerBuiltIn.length;i++){
  2719.                 String tipoClass = className.getExitHandlerBuiltIn(tipiHandlerBuiltIn[i]);
  2720.                 if(tipoClass == null){
  2721.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.built-in.exit'=...,"+tipiHandlerBuiltIn[i]+
  2722.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  2723.                     return false;
  2724.                 }
  2725.                 try{
  2726.                     ExitHandler handler = (ExitHandler) loaderOpenSPCoop.newInstance(tipoClass);
  2727.                     handler.toString();
  2728.                 }catch(Exception e){
  2729.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.built-in.exit'=...,"+tipiHandlerBuiltIn[i]+
  2730.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  2731.                     return false;
  2732.                 }
  2733.             }
  2734.         }
  2735.        
  2736.         // PreInRequestHandlerBuiltIn
  2737.         if ( this.getPreInRequestHandlerBuiltIn() != null ){
  2738.             String[] tipiHandlerBuiltIn = this.getPreInRequestHandlerBuiltIn();
  2739.             // Check tipi registrati
  2740.             for(int i=0; i<tipiHandlerBuiltIn.length;i++){
  2741.                 String tipoClass = className.getPreInRequestHandlerBuiltIn(tipiHandlerBuiltIn[i]);
  2742.                 if(tipoClass == null){
  2743.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.built-in.pre-in-request'=...,"+tipiHandlerBuiltIn[i]+
  2744.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  2745.                     return false;
  2746.                 }
  2747.                 try{
  2748.                     PreInRequestHandler handler = (PreInRequestHandler) loaderOpenSPCoop.newInstance(tipoClass);
  2749.                     handler.toString();
  2750.                 }catch(Exception e){
  2751.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.built-in.pre-in-request'=...,"+tipiHandlerBuiltIn[i]+
  2752.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  2753.                     return false;
  2754.                 }
  2755.             }
  2756.         }
  2757.         // InRequestHandlerBuiltIn
  2758.         if ( this.getInRequestHandlerBuiltIn() != null ){
  2759.             String[] tipiHandlerBuiltIn = this.getInRequestHandlerBuiltIn();
  2760.             // Check tipi registrati
  2761.             for(int i=0; i<tipiHandlerBuiltIn.length;i++){
  2762.                 String tipoClass = className.getInRequestHandlerBuiltIn(tipiHandlerBuiltIn[i]);
  2763.                 if(tipoClass == null){
  2764.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.built-in.in-request'=...,"+tipiHandlerBuiltIn[i]+
  2765.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  2766.                     return false;
  2767.                 }
  2768.                 try{
  2769.                     InRequestHandler handler = (InRequestHandler) loaderOpenSPCoop.newInstance(tipoClass);
  2770.                     handler.toString();
  2771.                 }catch(Exception e){
  2772.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.built-in.in-request'=...,"+tipiHandlerBuiltIn[i]+
  2773.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  2774.                     return false;
  2775.                 }
  2776.             }
  2777.         }
  2778.         // InRequestProtocolHandlerBuiltIn
  2779.         if ( this.getInRequestProtocolHandlerBuiltIn() != null ){
  2780.             String[] tipiHandlerBuiltIn = this.getInRequestProtocolHandlerBuiltIn();
  2781.             // Check tipi registrati
  2782.             for(int i=0; i<tipiHandlerBuiltIn.length;i++){
  2783.                 String tipoClass = className.getInRequestProtocolHandlerBuiltIn(tipiHandlerBuiltIn[i]);
  2784.                 if(tipoClass == null){
  2785.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.built-in.in-protocol-request'=...,"+tipiHandlerBuiltIn[i]+
  2786.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  2787.                     return false;
  2788.                 }
  2789.                 try{
  2790.                     InRequestProtocolHandler handler = (InRequestProtocolHandler) loaderOpenSPCoop.newInstance(tipoClass);
  2791.                     handler.toString();
  2792.                 }catch(Exception e){
  2793.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.built-in.in-protocol-request'=...,"+tipiHandlerBuiltIn[i]+
  2794.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  2795.                     return false;
  2796.                 }
  2797.             }
  2798.         }
  2799.         // OutRequestHandlerBuiltIn
  2800.         if ( this.getOutRequestHandlerBuiltIn() != null ){
  2801.             String[] tipiHandlerBuiltIn = this.getOutRequestHandlerBuiltIn();
  2802.             // Check tipi registrati
  2803.             for(int i=0; i<tipiHandlerBuiltIn.length;i++){
  2804.                 String tipoClass = className.getOutRequestHandlerBuiltIn(tipiHandlerBuiltIn[i]);
  2805.                 if(tipoClass == null){
  2806.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.built-in.out-request'=...,"+tipiHandlerBuiltIn[i]+
  2807.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  2808.                     return false;
  2809.                 }
  2810.                 try{
  2811.                     OutRequestHandler handler = (OutRequestHandler) loaderOpenSPCoop.newInstance(tipoClass);
  2812.                     handler.toString();
  2813.                 }catch(Exception e){
  2814.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.built-in.out-request'=...,"+tipiHandlerBuiltIn[i]+
  2815.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  2816.                     return false;
  2817.                 }
  2818.             }
  2819.         }
  2820.         // PostOutRequestHandlerBuiltIn
  2821.         if ( this.getPostOutRequestHandlerBuiltIn() != null ){
  2822.             String[] tipiHandlerBuiltIn = this.getPostOutRequestHandlerBuiltIn();
  2823.             // Check tipi registrati
  2824.             for(int i=0; i<tipiHandlerBuiltIn.length;i++){
  2825.                 String tipoClass = className.getPostOutRequestHandlerBuiltIn(tipiHandlerBuiltIn[i]);
  2826.                 if(tipoClass == null){
  2827.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.built-in.post-out-request'=...,"+tipiHandlerBuiltIn[i]+
  2828.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  2829.                     return false;
  2830.                 }
  2831.                 try{
  2832.                     PostOutRequestHandler handler = (PostOutRequestHandler) loaderOpenSPCoop.newInstance(tipoClass);
  2833.                     handler.toString();
  2834.                 }catch(Exception e){
  2835.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.built-in.post-out-request'=...,"+tipiHandlerBuiltIn[i]+
  2836.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  2837.                     return false;
  2838.                 }
  2839.             }
  2840.         }
  2841.         // PreInResponseHandlerBuiltIn
  2842.         if ( this.getPreInResponseHandlerBuiltIn() != null ){
  2843.             String[] tipiHandlerBuiltIn = this.getPreInResponseHandlerBuiltIn();
  2844.             // Check tipi registrati
  2845.             for(int i=0; i<tipiHandlerBuiltIn.length;i++){
  2846.                 String tipoClass = className.getPreInResponseHandlerBuiltIn(tipiHandlerBuiltIn[i]);
  2847.                 if(tipoClass == null){
  2848.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.built-in.pre-in-response'=...,"+tipiHandlerBuiltIn[i]+
  2849.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  2850.                     return false;
  2851.                 }
  2852.                 try{
  2853.                     PreInResponseHandler handler = (PreInResponseHandler) loaderOpenSPCoop.newInstance(tipoClass);
  2854.                     handler.toString();
  2855.                 }catch(Exception e){
  2856.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.built-in.pre-in-response'=...,"+tipiHandlerBuiltIn[i]+
  2857.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  2858.                     return false;
  2859.                 }
  2860.             }
  2861.         }
  2862.         // InResponseHandlerBuiltIn
  2863.         if ( this.getInResponseHandlerBuiltIn() != null ){
  2864.             String[] tipiHandlerBuiltIn = this.getInResponseHandlerBuiltIn();
  2865.             // Check tipi registrati
  2866.             for(int i=0; i<tipiHandlerBuiltIn.length;i++){
  2867.                 String tipoClass = className.getInResponseHandlerBuiltIn(tipiHandlerBuiltIn[i]);
  2868.                 if(tipoClass == null){
  2869.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.built-in.in-response'=...,"+tipiHandlerBuiltIn[i]+
  2870.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  2871.                     return false;
  2872.                 }
  2873.                 try{
  2874.                     InResponseHandler handler = (InResponseHandler) loaderOpenSPCoop.newInstance(tipoClass);
  2875.                     handler.toString();
  2876.                 }catch(Exception e){
  2877.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.built-in.in-response'=...,"+tipiHandlerBuiltIn[i]+
  2878.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  2879.                     return false;
  2880.                 }
  2881.             }
  2882.         }
  2883.         // OutResponseHandlerBuiltIn
  2884.         if ( this.getOutResponseHandlerBuiltIn() != null ){
  2885.             String[] tipiHandlerBuiltIn = this.getOutResponseHandlerBuiltIn();
  2886.             // Check tipi registrati
  2887.             for(int i=0; i<tipiHandlerBuiltIn.length;i++){
  2888.                 String tipoClass = className.getOutResponseHandlerBuiltIn(tipiHandlerBuiltIn[i]);
  2889.                 if(tipoClass == null){
  2890.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.built-in.out-response'=...,"+tipiHandlerBuiltIn[i]+
  2891.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  2892.                     return false;
  2893.                 }
  2894.                 try{
  2895.                     OutResponseHandler handler = (OutResponseHandler) loaderOpenSPCoop.newInstance(tipoClass);
  2896.                     handler.toString();
  2897.                 }catch(Exception e){
  2898.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.built-in.out-response'=...,"+tipiHandlerBuiltIn[i]+
  2899.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  2900.                     return false;
  2901.                 }
  2902.             }
  2903.         }
  2904.         // PostOutResponseHandlerBuiltIn
  2905.         if ( this.getPostOutResponseHandlerBuiltIn() != null ){
  2906.             String[] tipiHandlerBuiltIn = this.getPostOutResponseHandlerBuiltIn();
  2907.             // Check tipi registrati
  2908.             for(int i=0; i<tipiHandlerBuiltIn.length;i++){
  2909.                 String tipoClass = className.getPostOutResponseHandlerBuiltIn(tipiHandlerBuiltIn[i]);
  2910.                 if(tipoClass == null){
  2911.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.built-in.post-out-response'=...,"+tipiHandlerBuiltIn[i]+
  2912.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  2913.                     return false;
  2914.                 }
  2915.                 try{
  2916.                     PostOutResponseHandler handler = (PostOutResponseHandler) loaderOpenSPCoop.newInstance(tipoClass);
  2917.                     handler.toString();
  2918.                 }catch(Exception e){
  2919.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.built-in.post-out-response'=...,"+tipiHandlerBuiltIn[i]+
  2920.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  2921.                     return false;
  2922.                 }
  2923.             }
  2924.         }
  2925.         // IntegrationManagerRequestHandlerBuiltIn
  2926.         if ( this.getIntegrationManagerRequestHandlerBuiltIn() != null ){
  2927.             String[] tipiHandlerBuiltIn = this.getIntegrationManagerRequestHandlerBuiltIn();
  2928.             // Check tipi registrati
  2929.             for(int i=0; i<tipiHandlerBuiltIn.length;i++){
  2930.                 String tipoClass = className.getIntegrationManagerRequestHandlerBuiltIn(tipiHandlerBuiltIn[i]);
  2931.                 if(tipoClass == null){
  2932.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrationManager.handler.built-in.request'=...,"+tipiHandlerBuiltIn[i]+
  2933.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  2934.                     return false;
  2935.                 }
  2936.                 try{
  2937.                     IntegrationManagerRequestHandler handler = (IntegrationManagerRequestHandler) loaderOpenSPCoop.newInstance(tipoClass);
  2938.                     handler.toString();
  2939.                 }catch(Exception e){
  2940.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrationManager.handler.built-in.request'=...,"+tipiHandlerBuiltIn[i]+
  2941.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  2942.                     return false;
  2943.                 }
  2944.             }
  2945.         }
  2946.         // IntegrationManagerResponseHandlerBuiltIn
  2947.         if ( this.getIntegrationManagerResponseHandlerBuiltIn() != null ){
  2948.             String[] tipiHandlerBuiltIn = this.getIntegrationManagerResponseHandlerBuiltIn();
  2949.             // Check tipi registrati
  2950.             for(int i=0; i<tipiHandlerBuiltIn.length;i++){
  2951.                 String tipoClass = className.getIntegrationManagerResponseHandlerBuiltIn(tipiHandlerBuiltIn[i]);
  2952.                 if(tipoClass == null){
  2953.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrationManager.handler.built-in.response'=...,"+tipiHandlerBuiltIn[i]+
  2954.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  2955.                     return false;
  2956.                 }
  2957.                 try{
  2958.                     IntegrationManagerResponseHandler handler = (IntegrationManagerResponseHandler) loaderOpenSPCoop.newInstance(tipoClass);
  2959.                     handler.toString();
  2960.                 }catch(Exception e){
  2961.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrationManager.handler.built-in.response'=...,"+tipiHandlerBuiltIn[i]+
  2962.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  2963.                     return false;
  2964.                 }
  2965.             }
  2966.         }
  2967.         return true;
  2968.     }
  2969.    
  2970.    
  2971.     private boolean validateHandlersEngine(ClassNameProperties className, Loader loaderOpenSPCoop) {
  2972.         // InitHandler
  2973.         if ( this.getInitHandler() != null ){
  2974.             String[] tipiHandler = this.getInitHandler();
  2975.             // Check tipi registrati
  2976.             for(int i=0; i<tipiHandler.length;i++){
  2977.                 String tipoClass = className.getInitHandler(tipiHandler[i]);
  2978.                 if(tipoClass == null){
  2979.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.init'=...,"+tipiHandler[i]+
  2980.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  2981.                     return false;
  2982.                 }
  2983.                 try{
  2984.                     InitHandler handler = (InitHandler) loaderOpenSPCoop.newInstance(tipoClass);
  2985.                     handler.toString();
  2986.                 }catch(Exception e){
  2987.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.init'=...,"+tipiHandler[i]+
  2988.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  2989.                     return false;
  2990.                 }
  2991.             }
  2992.         }
  2993.        
  2994.         // ExitHandler
  2995.         if ( this.getExitHandler() != null ){
  2996.             String[] tipiHandler = this.getExitHandler();
  2997.             // Check tipi registrati
  2998.             for(int i=0; i<tipiHandler.length;i++){
  2999.                 String tipoClass = className.getExitHandler(tipiHandler[i]);
  3000.                 if(tipoClass == null){
  3001.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.exit'=...,"+tipiHandler[i]+
  3002.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  3003.                     return false;
  3004.                 }
  3005.                 try{
  3006.                     ExitHandler handler = (ExitHandler) loaderOpenSPCoop.newInstance(tipoClass);
  3007.                     handler.toString();
  3008.                 }catch(Exception e){
  3009.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.exit'=...,"+tipiHandler[i]+
  3010.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  3011.                     return false;
  3012.                 }
  3013.             }
  3014.         }
  3015.        
  3016.         // PreInRequestHandler
  3017.         if ( this.getPreInRequestHandler() != null ){
  3018.             String[] tipiHandler = this.getPreInRequestHandler();
  3019.             // Check tipi registrati
  3020.             for(int i=0; i<tipiHandler.length;i++){
  3021.                 String tipoClass = className.getPreInRequestHandler(tipiHandler[i]);
  3022.                 if(tipoClass == null){
  3023.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.pre-in-request'=...,"+tipiHandler[i]+
  3024.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  3025.                     return false;
  3026.                 }
  3027.                 try{
  3028.                     PreInRequestHandler handler = (PreInRequestHandler) loaderOpenSPCoop.newInstance(tipoClass);
  3029.                     handler.toString();
  3030.                 }catch(Exception e){
  3031.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.pre-in-request'=...,"+tipiHandler[i]+
  3032.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  3033.                     return false;
  3034.                 }
  3035.             }
  3036.         }
  3037.         // InRequestHandler
  3038.         if ( this.getInRequestHandler() != null ){
  3039.             String[] tipiHandler = this.getInRequestHandler();
  3040.             // Check tipi registrati
  3041.             for(int i=0; i<tipiHandler.length;i++){
  3042.                 String tipoClass = className.getInRequestHandler(tipiHandler[i]);
  3043.                 if(tipoClass == null){
  3044.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.in-request'=...,"+tipiHandler[i]+
  3045.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  3046.                     return false;
  3047.                 }
  3048.                 try{
  3049.                     InRequestHandler handler = (InRequestHandler) loaderOpenSPCoop.newInstance(tipoClass);
  3050.                     handler.toString();
  3051.                 }catch(Exception e){
  3052.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.in-request'=...,"+tipiHandler[i]+
  3053.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  3054.                     return false;
  3055.                 }
  3056.             }
  3057.         }
  3058.         // InRequestProtocolHandler
  3059.         if ( this.getInRequestProtocolHandler() != null ){
  3060.             String[] tipiHandler = this.getInRequestProtocolHandler();
  3061.             // Check tipi registrati
  3062.             for(int i=0; i<tipiHandler.length;i++){
  3063.                 String tipoClass = className.getInRequestProtocolHandler(tipiHandler[i]);
  3064.                 if(tipoClass == null){
  3065.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.in-protocol-request'=...,"+tipiHandler[i]+
  3066.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  3067.                     return false;
  3068.                 }
  3069.                 try{
  3070.                     InRequestProtocolHandler handler = (InRequestProtocolHandler) loaderOpenSPCoop.newInstance(tipoClass);
  3071.                     handler.toString();
  3072.                 }catch(Exception e){
  3073.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.in-protocol-request'=...,"+tipiHandler[i]+
  3074.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  3075.                     return false;
  3076.                 }
  3077.             }
  3078.         }
  3079.         // OutRequestHandler
  3080.         if ( this.getOutRequestHandler() != null ){
  3081.             String[] tipiHandler = this.getOutRequestHandler();
  3082.             // Check tipi registrati
  3083.             for(int i=0; i<tipiHandler.length;i++){
  3084.                 String tipoClass = className.getOutRequestHandler(tipiHandler[i]);
  3085.                 if(tipoClass == null){
  3086.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.out-request'=...,"+tipiHandler[i]+
  3087.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  3088.                     return false;
  3089.                 }
  3090.                 try{
  3091.                     OutRequestHandler handler = (OutRequestHandler) loaderOpenSPCoop.newInstance(tipoClass);
  3092.                     handler.toString();
  3093.                 }catch(Exception e){
  3094.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.out-request'=...,"+tipiHandler[i]+
  3095.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  3096.                     return false;
  3097.                 }
  3098.             }
  3099.         }
  3100.         // PostOutRequestHandler
  3101.         if ( this.getPostOutRequestHandler() != null ){
  3102.             String[] tipiHandler = this.getPostOutRequestHandler();
  3103.             // Check tipi registrati
  3104.             for(int i=0; i<tipiHandler.length;i++){
  3105.                 String tipoClass = className.getPostOutRequestHandler(tipiHandler[i]);
  3106.                 if(tipoClass == null){
  3107.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.post-out-request'=...,"+tipiHandler[i]+
  3108.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  3109.                     return false;
  3110.                 }
  3111.                 try{
  3112.                     PostOutRequestHandler handler = (PostOutRequestHandler) loaderOpenSPCoop.newInstance(tipoClass);
  3113.                     handler.toString();
  3114.                 }catch(Exception e){
  3115.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.post-out-request'=...,"+tipiHandler[i]+
  3116.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  3117.                     return false;
  3118.                 }
  3119.             }
  3120.         }
  3121.         // PreInResponseHandler
  3122.         if ( this.getPreInResponseHandler() != null ){
  3123.             String[] tipiHandler = this.getPreInResponseHandler();
  3124.             // Check tipi registrati
  3125.             for(int i=0; i<tipiHandler.length;i++){
  3126.                 String tipoClass = className.getPreInResponseHandler(tipiHandler[i]);
  3127.                 if(tipoClass == null){
  3128.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.pre-in-response'=...,"+tipiHandler[i]+
  3129.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  3130.                     return false;
  3131.                 }
  3132.                 try{
  3133.                     PreInResponseHandler handler = (PreInResponseHandler) loaderOpenSPCoop.newInstance(tipoClass);
  3134.                     handler.toString();
  3135.                 }catch(Exception e){
  3136.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.pre-in-response'=...,"+tipiHandler[i]+
  3137.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  3138.                     return false;
  3139.                 }
  3140.             }
  3141.         }
  3142.         // InResponseHandler
  3143.         if ( this.getInResponseHandler() != null ){
  3144.             String[] tipiHandler = this.getInResponseHandler();
  3145.             // Check tipi registrati
  3146.             for(int i=0; i<tipiHandler.length;i++){
  3147.                 String tipoClass = className.getInResponseHandler(tipiHandler[i]);
  3148.                 if(tipoClass == null){
  3149.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.in-response'=...,"+tipiHandler[i]+
  3150.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  3151.                     return false;
  3152.                 }
  3153.                 try{
  3154.                     InResponseHandler handler = (InResponseHandler) loaderOpenSPCoop.newInstance(tipoClass);
  3155.                     handler.toString();
  3156.                 }catch(Exception e){
  3157.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.in-response'=...,"+tipiHandler[i]+
  3158.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  3159.                     return false;
  3160.                 }
  3161.             }
  3162.         }
  3163.         // OutResponseHandler
  3164.         if ( this.getOutResponseHandler() != null ){
  3165.             String[] tipiHandler = this.getOutResponseHandler();
  3166.             // Check tipi registrati
  3167.             for(int i=0; i<tipiHandler.length;i++){
  3168.                 String tipoClass = className.getOutResponseHandler(tipiHandler[i]);
  3169.                 if(tipoClass == null){
  3170.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.out-response'=...,"+tipiHandler[i]+
  3171.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  3172.                     return false;
  3173.                 }
  3174.                 try{
  3175.                     OutResponseHandler handler = (OutResponseHandler) loaderOpenSPCoop.newInstance(tipoClass);
  3176.                     handler.toString();
  3177.                 }catch(Exception e){
  3178.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.out-response'=...,"+tipiHandler[i]+
  3179.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  3180.                     return false;
  3181.                 }
  3182.             }
  3183.         }
  3184.         // PostOutResponseHandler
  3185.         if ( this.getPostOutResponseHandler() != null ){
  3186.             String[] tipiHandler = this.getPostOutResponseHandler();
  3187.             // Check tipi registrati
  3188.             for(int i=0; i<tipiHandler.length;i++){
  3189.                 String tipoClass = className.getPostOutResponseHandler(tipiHandler[i]);
  3190.                 if(tipoClass == null){
  3191.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.post-out-response'=...,"+tipiHandler[i]+
  3192.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  3193.                     return false;
  3194.                 }
  3195.                 try{
  3196.                     PostOutResponseHandler handler = (PostOutResponseHandler) loaderOpenSPCoop.newInstance(tipoClass);
  3197.                     handler.toString();
  3198.                 }catch(Exception e){
  3199.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.handler.post-out-response'=...,"+tipiHandler[i]+
  3200.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  3201.                     return false;
  3202.                 }
  3203.             }
  3204.         }
  3205.         // IntegrationManagerRequestHandler
  3206.         if ( this.getIntegrationManagerRequestHandler() != null ){
  3207.             String[] tipiHandler = this.getIntegrationManagerRequestHandler();
  3208.             // Check tipi registrati
  3209.             for(int i=0; i<tipiHandler.length;i++){
  3210.                 String tipoClass = className.getIntegrationManagerRequestHandler(tipiHandler[i]);
  3211.                 if(tipoClass == null){
  3212.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrationManager.handler.request'=...,"+tipiHandler[i]+
  3213.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  3214.                     return false;
  3215.                 }
  3216.                 try{
  3217.                     IntegrationManagerRequestHandler handler = (IntegrationManagerRequestHandler) loaderOpenSPCoop.newInstance(tipoClass);
  3218.                     handler.toString();
  3219.                 }catch(Exception e){
  3220.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrationManager.handler.request'=...,"+tipiHandler[i]+
  3221.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  3222.                     return false;
  3223.                 }
  3224.             }
  3225.         }
  3226.         // IntegrationManagerResponseHandler
  3227.         if ( this.getIntegrationManagerResponseHandler() != null ){
  3228.             String[] tipiHandler = this.getIntegrationManagerResponseHandler();
  3229.             // Check tipi registrati
  3230.             for(int i=0; i<tipiHandler.length;i++){
  3231.                 String tipoClass = className.getIntegrationManagerResponseHandler(tipiHandler[i]);
  3232.                 if(tipoClass == null){
  3233.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrationManager.handler.response'=...,"+tipiHandler[i]+
  3234.                     "'"+"\n"+TIPO_SCONOSCIUTO);
  3235.                     return false;
  3236.                 }
  3237.                 try{
  3238.                     IntegrationManagerResponseHandler handler = (IntegrationManagerResponseHandler) loaderOpenSPCoop.newInstance(tipoClass);
  3239.                     handler.toString();
  3240.                 }catch(Exception e){
  3241.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrationManager.handler.response'=...,"+tipiHandler[i]+
  3242.                             "'"+"\n"+getMessaggioClasseSconosciuta(e),e);
  3243.                     return false;
  3244.                 }
  3245.             }
  3246.         }
  3247.         return true;
  3248.     }


  3249.     public List<String> getKeywordsIntegrazioneGestioneToken(){
  3250.         List<String> keywords = new ArrayList<>();
  3251.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_PROCESS_TIME);
  3252.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_ISSUER);
  3253.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_SUBJECT);
  3254.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_USERNAME);
  3255.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_AUDIENCE);
  3256.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_CLIENT_ID);
  3257.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_ISSUED_AT);
  3258.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_EXPIRED);
  3259.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_NBF);
  3260.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_ROLES);
  3261.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_SCOPES);
  3262.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_FULL_NAME);
  3263.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_FIRST_NAME);
  3264.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_MIDDLE_NAME);
  3265.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_FAMILY_NAME);
  3266.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_EMAIL);
  3267.         return keywords;
  3268.     }

  3269.     private boolean checkTipiIntegrazioneGestioneToken(){
  3270.        
  3271.         Map<?,?> prop = this.getKeyValueGestioneTokenHeaderIntegrazioneTrasporto();
  3272.         if ( prop == null ){
  3273.             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.keyword.*'.");
  3274.             return false;
  3275.         }
  3276.        
  3277.         Map<String, Boolean> propSetPDtrasporto = null;
  3278.         try {
  3279.             propSetPDtrasporto = this.getKeyPDSetEnabledGestioneTokenHeaderIntegrazioneTrasporto();
  3280.         }catch(Exception e) {
  3281.             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.pd.set.enabled.*'.");
  3282.             return false;
  3283.         }
  3284.        
  3285.         Map<String, Boolean> propSetPDjson = null;
  3286.         try {
  3287.             propSetPDjson = this.getKeyPDSetEnabledGestioneTokenHeaderIntegrazioneJson();
  3288.         }catch(Exception e) {
  3289.             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.gestioneToken.forward.json.pd.set.enabled.*'.");
  3290.             return false;
  3291.         }
  3292.        
  3293.         Map<String, Boolean> propSetPAtrasporto = null;
  3294.         try {
  3295.             propSetPAtrasporto = this.getKeyPASetEnabledGestioneTokenHeaderIntegrazioneTrasporto();
  3296.         }catch(Exception e) {
  3297.             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.pa.set.enabled.*'.");
  3298.             return false;
  3299.         }
  3300.        
  3301.         Map<String, Boolean> propSetPAjson = null;
  3302.         try {
  3303.             propSetPAjson = this.getKeyPASetEnabledGestioneTokenHeaderIntegrazioneJson();
  3304.         }catch(Exception e) {
  3305.             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.gestioneToken.forward.json.pa.set.enabled.*'.");
  3306.             return false;
  3307.         }
  3308.        
  3309.         List<String> keywords = this.getKeywordsIntegrazioneGestioneToken();
  3310.         for (String keyword : keywords) {
  3311.             if( prop.get(keyword) == null){
  3312.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.keyword."+
  3313.                         keyword+"'.");
  3314.                 return false;
  3315.             }
  3316.             if( !propSetPDtrasporto.containsKey(keyword)){
  3317.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.pd.set.enabled."+
  3318.                         keyword+"'.");
  3319.                 return false;
  3320.             }
  3321.             if( !propSetPDjson.containsKey(keyword)){
  3322.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.gestioneToken.forward.json.pd.set.enabled."+
  3323.                         keyword+"'.");
  3324.                 return false;
  3325.             }
  3326.             if( !propSetPAtrasporto.containsKey(keyword)){
  3327.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.pa.set.enabled."+
  3328.                         keyword+"'.");
  3329.                 return false;
  3330.             }
  3331.             if( !propSetPAjson.containsKey(keyword)){
  3332.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.gestioneToken.forward.json.pa.set.enabled."+
  3333.                         keyword+"'.");
  3334.                 return false;
  3335.             }
  3336.         }
  3337.                

  3338.         return true;
  3339.     }

  3340.     public List<MapKey<String>> getKeywordsIntegrazione(){
  3341.         return getKeywordsIntegrazioneEngine(false);
  3342.     }
  3343.     private List<MapKey<String>> getKeywordsIntegrazioneEngine(boolean all){
  3344.         List<MapKey<String>> keywords = new ArrayList<>();
  3345.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TIPO_MITTENTE);
  3346.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_MITTENTE);
  3347.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TIPO_DESTINATARIO);
  3348.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_DESTINATARIO);
  3349.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TIPO_SERVIZIO);
  3350.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_SERVIZIO);
  3351.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_VERSIONE_SERVIZIO);
  3352.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_AZIONE);
  3353.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_ID_MESSAGGIO);
  3354.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_RIFERIMENTO_MESSAGGIO);
  3355.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_COLLABORAZIONE);
  3356.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_ID_APPLICATIVO);
  3357.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_SERVIZIO_APPLICATIVO);
  3358.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TIPO_MITTENTE_TOKEN);
  3359.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_MITTENTE_TOKEN);
  3360.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_SERVIZIO_APPLICATIVO_TOKEN);
  3361.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_ID_TRANSAZIONE);
  3362.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_PROTOCOL_INFO);
  3363.         if(all) {
  3364.             keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_INFO);
  3365.             keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_USER_AGENT);
  3366.         }
  3367.         return keywords;
  3368.     }

  3369.     private boolean checkTipiIntegrazione(String[] tipiIntegrazione){
  3370.         // Check KeyWord per tipi 'trasporto' e 'urlBased' e 'soap'
  3371.         for(int i=0; i<tipiIntegrazione.length;i++){
  3372.             if(CostantiConfigurazione.HEADER_INTEGRAZIONE_TRASPORTO.equals(tipiIntegrazione[i]) ||
  3373.                     CostantiConfigurazione.HEADER_INTEGRAZIONE_URL_BASED.equals(tipiIntegrazione[i]) ||
  3374.                             CostantiConfigurazione.HEADER_INTEGRAZIONE_SOAP.equals(tipiIntegrazione[i]) ){
  3375.                
  3376.                 Map<MapKey<String>,String> propGovWay = null;
  3377.                 Map<MapKey<String>,String> propOpenSPCoop2 = null;
  3378.                 Map<MapKey<String>,String> propOpenSPCoop1 = null;
  3379.                 Map<MapKey<String>, Boolean> propSetRequestPD = null;
  3380.                 Map<MapKey<String>, Boolean> propSetResponsePD = null;
  3381.                 Map<MapKey<String>, Boolean> propReadPD = null;
  3382.                 Map<MapKey<String>, Boolean> propSetRequestPA = null;
  3383.                 Map<MapKey<String>, Boolean> propSetResponsePA = null;
  3384.                 Map<MapKey<String>, Boolean> propReadPA = null;
  3385.                 String tipo = "";
  3386.                 if(CostantiConfigurazione.HEADER_INTEGRAZIONE_TRASPORTO.equals(tipiIntegrazione[i])){
  3387.                     if ( this.getKeyValue_HeaderIntegrazioneTrasporto() == null ){
  3388.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.trasporto.keyword.*'.");
  3389.                         return false;
  3390.                     }
  3391.                     propGovWay = this.getKeyValue_HeaderIntegrazioneTrasporto();
  3392.                     propOpenSPCoop2 = this.getKeyValue_HeaderIntegrazioneTrasporto_backwardCompatibility_openspcoop2();
  3393.                     propOpenSPCoop1 = this.getKeyValue_HeaderIntegrazioneTrasporto_backwardCompatibility_openspcoop1();
  3394.                     try {
  3395.                         propSetRequestPD = this.getKeyPDSetEnabled_HeaderIntegrazioneTrasporto(true);
  3396.                     }catch(Exception e) {
  3397.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.trasporto.pd.set.request.enabled.*'.");
  3398.                         return false;
  3399.                     }
  3400.                     try {
  3401.                         propSetResponsePD = this.getKeyPDSetEnabled_HeaderIntegrazioneTrasporto(false);
  3402.                     }catch(Exception e) {
  3403.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.trasporto.pd.set.response.enabled.*'.");
  3404.                         return false;
  3405.                     }
  3406.                     try {
  3407.                         propReadPD = this.getKeyPDReadEnabled_HeaderIntegrazioneTrasporto();
  3408.                     }catch(Exception e) {
  3409.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.trasporto.pd.read.enabled.*'.");
  3410.                         return false;
  3411.                     }
  3412.                     try {
  3413.                         propSetRequestPA = this.getKeyPASetEnabled_HeaderIntegrazioneTrasporto(true);
  3414.                     }catch(Exception e) {
  3415.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.trasporto.pa.set.request.enabled.*'.");
  3416.                         return false;
  3417.                     }
  3418.                     try {
  3419.                         propSetResponsePA = this.getKeyPASetEnabled_HeaderIntegrazioneTrasporto(false);
  3420.                     }catch(Exception e) {
  3421.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.trasporto.pa.set.response.enabled.*'.");
  3422.                         return false;
  3423.                     }
  3424.                     try {
  3425.                         propReadPA = this.getKeyPAReadEnabled_HeaderIntegrazioneTrasporto();
  3426.                     }catch(Exception e) {
  3427.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.trasporto.pa.read.enabled.*'.");
  3428.                         return false;
  3429.                     }
  3430.                     tipo=CostantiConfigurazione.HEADER_INTEGRAZIONE_TRASPORTO;
  3431.                 }else if(CostantiConfigurazione.HEADER_INTEGRAZIONE_URL_BASED.equals(tipiIntegrazione[i])){
  3432.                     if ( this.getKeyValue_HeaderIntegrazioneUrlBased() == null ){
  3433.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.urlBased.keyword.*'.");
  3434.                         return false;
  3435.                     }
  3436.                     propGovWay = this.getKeyValue_HeaderIntegrazioneUrlBased();
  3437.                     propOpenSPCoop2 = this.getKeyValue_HeaderIntegrazioneUrlBased_backwardCompatibility_openspcoop2();
  3438.                     propOpenSPCoop1 = this.getKeyValue_HeaderIntegrazioneUrlBased_backwardCompatibility_openspcoop1();
  3439.                     try {
  3440.                         propSetRequestPD = this.getKeyPDSetEnabled_HeaderIntegrazioneUrlBased();
  3441.                     }catch(Exception e) {
  3442.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.urlBased.pd.set.enabled.*'.");
  3443.                         return false;
  3444.                     }
  3445.                     try {
  3446.                         propReadPD = this.getKeyPDReadEnabled_HeaderIntegrazioneUrlBased();
  3447.                     }catch(Exception e) {
  3448.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.urlBased.pd.read.enabled.*'.");
  3449.                         return false;
  3450.                     }
  3451.                     try {
  3452.                         propSetRequestPA = this.getKeyPASetEnabled_HeaderIntegrazioneUrlBased();
  3453.                     }catch(Exception e) {
  3454.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.urlBased.pa.set.enabled.*'.");
  3455.                         return false;
  3456.                     }
  3457.                     try {
  3458.                         propReadPA = this.getKeyPAReadEnabled_HeaderIntegrazioneUrlBased();
  3459.                     }catch(Exception e) {
  3460.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.urlBased.pa.read.enabled.*'.");
  3461.                         return false;
  3462.                     }
  3463.                     tipo=CostantiConfigurazione.HEADER_INTEGRAZIONE_URL_BASED;
  3464.                 }else if(CostantiConfigurazione.HEADER_INTEGRAZIONE_SOAP.equals(tipiIntegrazione[i])){
  3465.                     if ( this.getKeyValue_HeaderIntegrazioneSoap() == null ){
  3466.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.soap.keyword.*'.");
  3467.                         return false;
  3468.                     }
  3469.                     propGovWay = this.getKeyValue_HeaderIntegrazioneSoap();
  3470.                     propOpenSPCoop2 = this.getKeyValue_HeaderIntegrazioneSoap_backwardCompatibility_openspcoop2();
  3471.                     propOpenSPCoop1 = this.getKeyValue_HeaderIntegrazioneSoap_backwardCompatibility_openspcoop1();
  3472.                     try {
  3473.                         propSetRequestPD = this.getKeyPDSetEnabled_HeaderIntegrazioneSoap(true);
  3474.                     }catch(Exception e) {
  3475.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.soap.pd.set.request.enabled.*'.");
  3476.                         return false;
  3477.                     }
  3478.                     try {
  3479.                         propSetResponsePD = this.getKeyPDSetEnabled_HeaderIntegrazioneSoap(false);
  3480.                     }catch(Exception e) {
  3481.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.soap.pd.set.response.enabled.*'.");
  3482.                         return false;
  3483.                     }
  3484.                     try {
  3485.                         propReadPD = this.getKeyPDReadEnabled_HeaderIntegrazioneSoap();
  3486.                     }catch(Exception e) {
  3487.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.soap.pd.read.enabled.*'.");
  3488.                         return false;
  3489.                     }
  3490.                     try {
  3491.                         propSetRequestPA = this.getKeyPASetEnabled_HeaderIntegrazioneSoap(true);
  3492.                     }catch(Exception e) {
  3493.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.soap.pa.set.request.enabled.*'.");
  3494.                         return false;
  3495.                     }
  3496.                     try {
  3497.                         propSetResponsePA = this.getKeyPASetEnabled_HeaderIntegrazioneSoap(false);
  3498.                     }catch(Exception e) {
  3499.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.soap.pa.set.response.enabled.*'.");
  3500.                         return false;
  3501.                     }
  3502.                     try {
  3503.                         propReadPA = this.getKeyPAReadEnabled_HeaderIntegrazioneSoap();
  3504.                     }catch(Exception e) {
  3505.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.soap.pa.read.enabled.*'.");
  3506.                         return false;
  3507.                     }
  3508.                     tipo=CostantiConfigurazione.HEADER_INTEGRAZIONE_SOAP;
  3509.                 }
  3510.                
  3511.                 if(propSetRequestPD==null) {
  3512.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.soap.pd.set.request.enabled.*'. Set is null");
  3513.                     return false;
  3514.                 }
  3515.                
  3516.                 List<MapKey<String>> keywords = this.getKeywordsIntegrazione();
  3517.                 for (MapKey<String> mapkey : keywords) {
  3518.                    
  3519.                     if(CostantiPdD.HEADER_INTEGRAZIONE_PROTOCOL_INFO.equals(mapkey)) {
  3520.                         continue; // gestito sotto come caso eccezionale
  3521.                     }
  3522.                    
  3523.                     if( propGovWay.get(mapkey) == null){
  3524.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione."+tipo+".keyword."+
  3525.                                 mapkey+"'.");
  3526.                         return false;
  3527.                     }
  3528.                     if( propOpenSPCoop2.get(mapkey) == null){
  3529.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.backward_compatibility.openspcoop2."+tipo+".keyword."+
  3530.                                 mapkey+"'.");
  3531.                         return false;
  3532.                     }
  3533.                     if( propOpenSPCoop1.get(mapkey) == null){
  3534.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione.backward_compatibility.openspcoop1."+tipo+".keyword."+
  3535.                                 mapkey.toString()+"'.");
  3536.                         return false;
  3537.                     }
  3538.                     if(CostantiConfigurazione.HEADER_INTEGRAZIONE_URL_BASED.equals(tipiIntegrazione[i])){
  3539.                         if( !propSetRequestPD.containsKey(mapkey)){
  3540.                             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione."+tipo+".pd.set.enabled."+
  3541.                                     mapkey+"'.");
  3542.                             return false;
  3543.                         }
  3544.                     }
  3545.                     else {
  3546.                         if( !propSetRequestPD.containsKey(mapkey)){
  3547.                             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione."+tipo+".pd.set.request.enabled."+
  3548.                                     mapkey+"'.");
  3549.                             return false;
  3550.                         }
  3551.                         if( propSetResponsePD==null || !propSetResponsePD.containsKey(mapkey)){
  3552.                             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione."+tipo+".pd.set.response.enabled."+
  3553.                                     mapkey+"'.");
  3554.                             return false;
  3555.                         }
  3556.                     }
  3557.                     if( !propReadPD.containsKey(mapkey)){
  3558.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione."+tipo+".pd.read.enabled."+
  3559.                                 mapkey+"'.");
  3560.                         return false;
  3561.                     }
  3562.                     if(CostantiConfigurazione.HEADER_INTEGRAZIONE_URL_BASED.equals(tipiIntegrazione[i])){
  3563.                         if( !propSetRequestPA.containsKey(mapkey)){
  3564.                             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione."+tipo+".pa.set.enabled."+
  3565.                                     mapkey+"'.");
  3566.                             return false;
  3567.                         }
  3568.                     }
  3569.                     else {
  3570.                         if( !propSetRequestPA.containsKey(mapkey)){
  3571.                             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione."+tipo+".pa.set.request.enabled."+
  3572.                                     mapkey+"'.");
  3573.                             return false;
  3574.                         }
  3575.                         if( !propSetResponsePA.containsKey(mapkey)){
  3576.                             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione."+tipo+".pa.set.response.enabled."+
  3577.                                     mapkey+"'.");
  3578.                             return false;
  3579.                         }
  3580.                     }
  3581.                     if( !propReadPA.containsKey(mapkey)){
  3582.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione."+tipo+".pa.read.enabled."+
  3583.                                 mapkey+"'.");
  3584.                         return false;
  3585.                     }
  3586.                 }
  3587.                
  3588.                 MapKey<String> mapkey = CostantiPdD.HEADER_INTEGRAZIONE_INFO;
  3589.                 if(CostantiConfigurazione.HEADER_INTEGRAZIONE_URL_BASED.equals(tipiIntegrazione[i])){
  3590.                     if( !propSetRequestPD.containsKey(mapkey)){
  3591.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione."+tipo+".pd.set.enabled."+
  3592.                                 mapkey+"'.");
  3593.                         return false;
  3594.                     }
  3595.                     if( !propSetRequestPA.containsKey(mapkey)){
  3596.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione."+tipo+".pa.set.enabled."+
  3597.                                 mapkey+"'.");
  3598.                         return false;
  3599.                     }
  3600.                 }
  3601.                 else {
  3602.                     if( !propSetRequestPD.containsKey(mapkey)){
  3603.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione."+tipo+".pd.set.request.enabled."+
  3604.                                 mapkey+"'.");
  3605.                         return false;
  3606.                     }
  3607.                     if( propSetResponsePD==null || !propSetResponsePD.containsKey(mapkey)){
  3608.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione."+tipo+".pd.set.response.enabled."+
  3609.                                 mapkey+"'.");
  3610.                         return false;
  3611.                     }
  3612.                     if( !propSetRequestPA.containsKey(mapkey)){
  3613.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione."+tipo+".pa.set.request.enabled."+
  3614.                                 mapkey+"'.");
  3615.                         return false;
  3616.                     }
  3617.                     if( !propSetResponsePA.containsKey(mapkey)){
  3618.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione."+tipo+".pa.set.response.enabled."+
  3619.                                 mapkey+"'.");
  3620.                         return false;
  3621.                     }
  3622.                 }
  3623.                
  3624.                 if(CostantiConfigurazione.HEADER_INTEGRAZIONE_TRASPORTO.equals(tipo)) {
  3625.                     mapkey = CostantiPdD.HEADER_INTEGRAZIONE_USER_AGENT;
  3626.                     if( !propSetRequestPD.containsKey(mapkey)){
  3627.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione."+tipo+".pd.set.request.enabled."+
  3628.                                 mapkey+"'.");
  3629.                         return false;
  3630.                     }
  3631.                     if( propSetResponsePD==null || !propSetResponsePD.containsKey(mapkey)){
  3632.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione."+tipo+".pd.set.response.enabled."+
  3633.                                 mapkey+"'.");
  3634.                         return false;
  3635.                     }
  3636.                     if( !propSetRequestPA.containsKey(mapkey)){
  3637.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione."+tipo+".pa.set.request.enabled."+
  3638.                                 mapkey+"'.");
  3639.                         return false;
  3640.                     }
  3641.                     if( !propSetResponsePA.containsKey(mapkey)){
  3642.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione."+tipo+".pa.set.response.enabled."+
  3643.                                 mapkey+"'.");
  3644.                         return false;
  3645.                     }
  3646.                 }
  3647.                
  3648.                 mapkey = CostantiPdD.HEADER_INTEGRAZIONE_PROTOCOL_INFO;
  3649.                 if(CostantiConfigurazione.HEADER_INTEGRAZIONE_URL_BASED.equals(tipiIntegrazione[i])){
  3650.                     if( !propSetRequestPD.containsKey(mapkey)){
  3651.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione."+tipo+".pd.set.enabled."+
  3652.                                 mapkey+"'.");
  3653.                         return false;
  3654.                     }
  3655.                     if( !propSetRequestPA.containsKey(mapkey)){
  3656.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione."+tipo+".pa.set.enabled."+
  3657.                                 mapkey+"'.");
  3658.                         return false;
  3659.                     }
  3660.                 }
  3661.                 else {
  3662.                     if( !propSetRequestPD.containsKey(mapkey)){
  3663.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione."+tipo+".pd.set.request.enabled."+
  3664.                                 mapkey+"'.");
  3665.                         return false;
  3666.                     }
  3667.                     if( propSetResponsePD==null || !propSetResponsePD.containsKey(mapkey)){
  3668.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione."+tipo+".pd.set.response.enabled."+
  3669.                                 mapkey+"'.");
  3670.                         return false;
  3671.                     }
  3672.                     if( !propSetRequestPA.containsKey(mapkey)){
  3673.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione."+tipo+".pa.set.request.enabled."+
  3674.                                 mapkey+"'.");
  3675.                         return false;
  3676.                     }
  3677.                     if( !propSetResponsePA.containsKey(mapkey)){
  3678.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.integrazione."+tipo+".pa.set.response.enabled."+
  3679.                                 mapkey+"'.");
  3680.                         return false;
  3681.                     }
  3682.                 }
  3683.                
  3684.             }
  3685.            
  3686.            
  3687.             if(CostantiConfigurazione.HEADER_INTEGRAZIONE_SOAP.equals(tipiIntegrazione[i])){
  3688.                 if ( this.getHeaderSoapNameIntegrazione() == null ){
  3689.                     return false;
  3690.                 }
  3691.                 if ( this.getHeaderSoapNameIntegrazione_backwardCompatibility_openspcoop2() == null ){
  3692.                     return false;
  3693.                 }
  3694.                 if ( this.getHeaderSoapNameIntegrazione_backwardCompatibility_openspcoop1() == null ){
  3695.                     return false;
  3696.                 }
  3697.                
  3698.                 if ( this.getHeaderSoapActorIntegrazione() == null ){
  3699.                     return false;
  3700.                 }
  3701.                 if ( this.getHeaderSoapActorIntegrazione_backwardCompatibility_openspcoop2() == null ){
  3702.                     return false;
  3703.                 }
  3704.                 if ( this.getHeaderSoapActorIntegrazione_backwardCompatibility_openspcoop1() == null ){
  3705.                     return false;
  3706.                 }
  3707.                
  3708.                 if ( this.getHeaderSoapPrefixIntegrazione() == null ){
  3709.                     return false;
  3710.                 }
  3711.                 if ( this.getHeaderSoapPrefixIntegrazione_backwardCompatibility_openspcoop2() == null ){
  3712.                     return false;
  3713.                 }
  3714.                 if ( this.getHeaderSoapPrefixIntegrazione_backwardCompatibility_openspcoop1() == null ){
  3715.                     return false;
  3716.                 }
  3717.                
  3718.                 if ( this.getHeaderSoapExtProtocolInfoNomeElementoIntegrazione() == null ){
  3719.                     return false;
  3720.                 }
  3721.                 if ( this.getHeaderSoapExtProtocolInfoNomeElementoIntegrazione_backwardCompatibility_openspcoop2() == null ){
  3722.                     return false;
  3723.                 }
  3724.                 if ( this.getHeaderSoapExtProtocolInfoNomeElementoIntegrazione_backwardCompatibility_openspcoop1() == null ){
  3725.                     return false;
  3726.                 }
  3727.                
  3728.                 if ( this.getHeaderSoapExtProtocolInfoNomeAttributoIntegrazione() == null ){
  3729.                     return false;
  3730.                 }
  3731.                 if ( this.getHeaderSoapExtProtocolInfoNomeAttributoIntegrazione_backwardCompatibility_openspcoop2() == null ){
  3732.                     return false;
  3733.                 }
  3734.                 if ( this.getHeaderSoapExtProtocolInfoNomeAttributoIntegrazione_backwardCompatibility_openspcoop1() == null ){
  3735.                     return false;
  3736.                 }
  3737.             }
  3738.            
  3739.         }
  3740.         return true;
  3741.     }














  3742.     /* ********  CONF DIRECTORY  ******** */

  3743.     /**
  3744.      * Restituisce la directory di configurazione di OpenSPCoop.
  3745.      *
  3746.      * @return la directory di configurazione di OpenSPCoop.
  3747.      *
  3748.      */
  3749.     private String rootDirectory = null;
  3750.     public String getRootDirectory() {  
  3751.         if(this.rootDirectory==null){
  3752.             try{
  3753.                 String root = null;
  3754.                 root = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.confDirectory");

  3755.                 if(root==null)
  3756.                     throw new CoreException(NON_DEFINITA);

  3757.                 root = root.trim();

  3758.                 if(!root.endsWith(File.separator))
  3759.                     root = root + File.separator;

  3760.                 this.rootDirectory = root;
  3761.             }catch(java.lang.Exception e) {
  3762.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop, 'org.openspcoop2.pdd.confDirectory': "+e.getMessage(),e);
  3763.                 this.rootDirectory = null;
  3764.             }    
  3765.         }

  3766.         return this.rootDirectory;
  3767.     }

  3768.     /**
  3769.      * Restituisce L'indicazione se il server è un server J2EE o WEB
  3770.      *
  3771.      * @return indicazione se il server è un server J2EE o WEB
  3772.      *
  3773.      */
  3774.     private Boolean serverJ2EE = null;
  3775.     public Boolean isServerJ2EE() {
  3776.         if(this.serverJ2EE==null){
  3777.             try{
  3778.                 String server = null;
  3779.                 server = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.server");

  3780.                 if(server==null)
  3781.                     throw new CoreException(NON_DEFINITA);

  3782.                 server = server.trim();

  3783.                 if(CostantiConfigurazione.SERVER_J2EE.equalsIgnoreCase(server)){
  3784.                     this.serverJ2EE = true;
  3785.                 }else if(CostantiConfigurazione.SERVER_WEB.equalsIgnoreCase(server)){
  3786.                     this.serverJ2EE = false;
  3787.                 }else{
  3788.                     throw new CoreException("Valore ["+server+"] non conosciuto");
  3789.                 }

  3790.             }catch(java.lang.Exception e) {
  3791.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop, 'org.openspcoop2.pdd.server': "+e.getMessage(),e);
  3792.                 this.serverJ2EE = null;
  3793.             }    
  3794.         }

  3795.         return this.serverJ2EE;
  3796.     }

  3797.     private Boolean getClassLoaderRead = null;
  3798.     private String getClassLoader = null;
  3799.     public String getClassLoader(){

  3800.         if(this.getClassLoaderRead==null){
  3801.             try{  
  3802.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.classLoader");

  3803.                 if (value != null){
  3804.                     value = value.trim();
  3805.                     this.getClassLoader = value;
  3806.                 }

  3807.             }catch(java.lang.Exception e) {
  3808.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.classLoader' non impostata, errore:"+e.getMessage(),e);
  3809.             }
  3810.             this.getClassLoaderRead = true;
  3811.         }

  3812.         return this.getClassLoader;
  3813.     }

  3814.     private String productName = null;
  3815.     public String getProductName() {    
  3816.         if(this.productName==null){
  3817.             try{
  3818.                 String v = null;
  3819.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.productName");
  3820.                 if(v!=null){
  3821.                     v = v.trim();
  3822.                     this.productName = v;
  3823.                 }else{
  3824.                     this.productName = CostantiPdD.OPENSPCOOP2_PRODUCT;
  3825.                 }
  3826.             }catch(java.lang.Exception e) {
  3827.                 this.productName = CostantiPdD.OPENSPCOOP2_PRODUCT;
  3828.             }    
  3829.         }
  3830.         return this.productName;
  3831.     }
  3832.    
  3833.     private String versione = null;
  3834.     public String getVersione() {  
  3835.         if(this.versione==null){
  3836.             try{
  3837.                 String v = null;
  3838.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.versione");
  3839.                 if(v!=null){
  3840.                     v = v.trim();
  3841.                     this.versione = v;
  3842.                 }else{
  3843.                     this.versione = getVersionePdD(null);
  3844.                 }
  3845.             }catch(java.lang.Exception e) {
  3846.                 this.versione = CostantiPdD.OPENSPCOOP2_PRODUCT_VERSION;
  3847.             }    
  3848.         }
  3849.         return this.versione;
  3850.     }
  3851.     public static String getVersionePdD(OpenSPCoop2Properties properties) {
  3852.         String versione = CostantiPdD.OPENSPCOOP2_PRODUCT_VERSION;
  3853.         if(properties!=null){
  3854.             versione = properties.getPddDetailsForServices();
  3855.         }
  3856.        
  3857.         try {
  3858.             String version = VersionUtilities.readVersion();
  3859.             if(version!=null && !StringUtils.isEmpty(version)) {
  3860.                 versione = version;
  3861.             }
  3862.         }catch(Exception e) {
  3863.             // ignore
  3864.         }
  3865.        
  3866.         String buildVersion = null;
  3867.         try {
  3868.             buildVersion = VersionUtilities.readBuildVersion();
  3869.         }catch(Exception e) {
  3870.             // ignore
  3871.         }
  3872.         if(buildVersion!=null) {
  3873.             versione = versione + " (build "+buildVersion+")";
  3874.         }
  3875.         return versione;
  3876.     }
  3877.    
  3878.     private String details = null;
  3879.     public String getDetails() {    
  3880.         if(this.details==null){
  3881.             try{
  3882.                 String v = null;
  3883.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.details");
  3884.                 if(v!=null){
  3885.                     v = v.trim();
  3886.                     this.details = v;
  3887.                 }else{
  3888.                     this.details = CostantiPdD.OPENSPCOOP2_DETAILS;
  3889.                 }
  3890.             }catch(java.lang.Exception e) {
  3891.                 this.details = CostantiPdD.OPENSPCOOP2_DETAILS;
  3892.             }    
  3893.         }
  3894.         return this.details;
  3895.     }
  3896.    
  3897.     private String getPddDetailsForLog = null;
  3898.     public String getPddDetailsForLog() {  
  3899.         if(this.getPddDetailsForLog==null){
  3900.             try{
  3901.                 String v = null;
  3902.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.log.details");
  3903.                 if(v!=null){
  3904.                     v = v.trim();
  3905.                     this.getPddDetailsForLog = v;
  3906.                 }else{
  3907.                     this.getPddDetailsForLog = getDefaultLogVersionDetails();
  3908.                 }
  3909.             }catch(java.lang.Exception e) {
  3910.                 this.getPddDetailsForLog = getDefaultLogVersionDetails();
  3911.             }    
  3912.         }
  3913.         return this.getPddDetailsForLog;
  3914.     }
  3915.    
  3916.     private String getDefaultLogVersionDetails() {
  3917.         String d = this.getDetails();
  3918.         if(d!=null && !"".equals(d))
  3919.             return this.getVersione()+" ("+d+")";
  3920.         else
  3921.             return this.getVersione();
  3922.     }

  3923.     private String getPddDetailsForServices = null;
  3924.     public String getPddDetailsForServices() {  
  3925.         if(this.getPddDetailsForServices==null){
  3926.             try{
  3927.                 String v = null;
  3928.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.details");
  3929.                 if(v!=null){
  3930.                     v = v.trim();
  3931.                     this.getPddDetailsForServices = v;
  3932.                 }else{
  3933.                     this.getPddDetailsForServices = this.getVersione();
  3934.                 }
  3935.             }catch(java.lang.Exception e) {
  3936.                 this.getPddDetailsForServices = this.getVersione();
  3937.             }    
  3938.         }
  3939.         return this.getPddDetailsForServices;
  3940.     }
  3941.    
  3942.     private StatoFunzionalitaConWarning getCheckOpenSPCoopHome = null;
  3943.     public StatoFunzionalitaConWarning getCheckOpenSPCoopHome() {  
  3944.         if(this.getCheckOpenSPCoopHome==null){
  3945.             try{
  3946.                 String v = null;
  3947.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.checkHomeProperty");
  3948.                 if(v!=null){
  3949.                     v = v.trim();
  3950.                     this.getCheckOpenSPCoopHome = (StatoFunzionalitaConWarning) StatoFunzionalitaConWarning.toEnumConstantFromString(v);
  3951.                     if(this.getCheckOpenSPCoopHome==null){
  3952.                         throw new CoreException("Valore inatteso: "+v);
  3953.                     }
  3954.                 }else{
  3955.                     this.getCheckOpenSPCoopHome = StatoFunzionalitaConWarning.DISABILITATO;
  3956.                 }
  3957.             }catch(java.lang.Exception e) {
  3958.                 e.printStackTrace(System.out);
  3959.                 this.getCheckOpenSPCoopHome = StatoFunzionalitaConWarning.DISABILITATO;
  3960.             }    
  3961.         }
  3962.         return this.getCheckOpenSPCoopHome;
  3963.     }
  3964.    
  3965.     public void checkOpenSPCoopHome() throws CoreException{
  3966.         if(!StatoFunzionalitaConWarning.DISABILITATO.equals(this.getCheckOpenSPCoopHome())){
  3967.             Exception e = null;
  3968.             boolean foundSystem = false;
  3969.             try{
  3970.                 String dir = System.getProperty(CostantiPdD.OPENSPCOOP2_LOCAL_HOME);
  3971.                 if(dir==null || "".equals(dir)){
  3972.                     throw new CoreException("Variabile java ["+CostantiPdD.OPENSPCOOP2_LOCAL_HOME+"] non trovata");
  3973.                 }
  3974.                 foundSystem = true;
  3975.                 File fDir = new File(dir);
  3976.                 if(!fDir.exists()){
  3977.                     throw new CoreException("File ["+fDir.getAbsolutePath()+"] indicato nella variabile java ["+CostantiPdD.OPENSPCOOP2_LOCAL_HOME+"] non esiste");
  3978.                 }
  3979.                 if(!fDir.isDirectory()){
  3980.                     throw new CoreException("File ["+fDir.getAbsolutePath()+"] indicato nella variabile java ["+CostantiPdD.OPENSPCOOP2_LOCAL_HOME+"] non è una directory");
  3981.                 }
  3982.                 if(!fDir.canRead()){
  3983.                     throw new CoreException("File ["+fDir.getAbsolutePath()+"] indicato nella variabile java ["+CostantiPdD.OPENSPCOOP2_LOCAL_HOME+"] non è accessibile in lettura");
  3984.                 }
  3985.             }catch(Exception eTh){
  3986.                 e = eTh;
  3987.             }
  3988.             try{
  3989.                 // NOTA: nel caricamento la variabile di sistema vince sulla variabile java
  3990.                 String dir = System.getenv(CostantiPdD.OPENSPCOOP2_LOCAL_HOME);
  3991.                 if(dir==null || "".equals(dir)){
  3992.                     if(!foundSystem){
  3993.                         throw new CoreException("Ne variabile java ne variabile di sistema ["+CostantiPdD.OPENSPCOOP2_LOCAL_HOME+"] trovata");
  3994.                     }
  3995.                 }
  3996.                 else{
  3997.                     File fDir = new File(dir);
  3998.                     if(!fDir.exists()){
  3999.                         throw new CoreException("File ["+fDir.getAbsolutePath()+"] indicato nella variabile di sistema ["+CostantiPdD.OPENSPCOOP2_LOCAL_HOME+"] non esiste");
  4000.                     }
  4001.                     if(!fDir.isDirectory()){
  4002.                         throw new CoreException("File ["+fDir.getAbsolutePath()+"] indicato nella variabile di sistema ["+CostantiPdD.OPENSPCOOP2_LOCAL_HOME+"] non è una directory");
  4003.                     }
  4004.                     if(!fDir.canRead()){
  4005.                         throw new CoreException("File ["+fDir.getAbsolutePath()+"] indicato nella variabile di sistema ["+CostantiPdD.OPENSPCOOP2_LOCAL_HOME+"] non è accessibile in lettura");
  4006.                     }
  4007.                     // trovata.
  4008.                     // annullo una eventuale eccezione di sistema
  4009.                     e = null;
  4010.                 }
  4011.             }catch(Exception eTh){
  4012.                 if(e==null)
  4013.                     e = eTh;
  4014.                 else{
  4015.                     e = new Exception(e.getMessage()+" - "+eTh.getMessage(),eTh);
  4016.                 }
  4017.             }
  4018.             if(e!=null){
  4019.                 throw new CoreException(e.getMessage(),e);
  4020.             }
  4021.         }
  4022.     }
  4023.    
  4024.    




  4025.     /* ********  CONFIGURAZIONE DI OPENSPCOOP  ******** */

  4026.     /**
  4027.      * Restituisce la location della configurazione della porta di dominio di OpenSPCoop,
  4028.      *
  4029.      * @return il path del file di configurazione della porta di dominio in caso di ricerca con successo, null altrimenti.
  4030.      *
  4031.      */
  4032.     private String pathConfigurazionePDD = null;
  4033.     public String getPathConfigurazionePDD() {  
  4034.         if(this.pathConfigurazionePDD==null){
  4035.             try{  
  4036.                 String indirizzo = this.reader.getValue("org.openspcoop2.pdd.config.location");
  4037.                 if(indirizzo==null)
  4038.                     throw new CoreException(NON_DEFINITA);

  4039.                 indirizzo = indirizzo.trim();

  4040.                 if(CostantiConfigurazione.CONFIGURAZIONE_XML.equalsIgnoreCase(getTipoConfigurazionePDD())){

  4041.                     if( (!indirizzo.startsWith("http://")) && (!indirizzo.startsWith("file://")) ){
  4042.                         if(!indirizzo.startsWith("${")){
  4043.                             String root = getRootDirectory();
  4044.                             indirizzo = root+indirizzo;
  4045.                         }
  4046.                         while (indirizzo.indexOf("${")!=-1){
  4047.                             int indexStart = indirizzo.indexOf("${");
  4048.                             int indexEnd = indirizzo.indexOf("}");
  4049.                             if(indexEnd==-1){
  4050.                                 throw new CoreException("errore durante l'interpretazione del path ["+indirizzo+"]: ${ utilizzato senza la rispettiva chiusura }");
  4051.                             }
  4052.                             String nameSystemProperty = indirizzo.substring(indexStart+"${".length(),indexEnd);
  4053.                             String valueSystemProperty = System.getProperty(nameSystemProperty);
  4054.                             if(valueSystemProperty==null){
  4055.                                 throw new CoreException("errore durante l'interpretazione del path ["+indirizzo+"]: variabile di sistema ${"+nameSystemProperty+"} non esistente");
  4056.                             }
  4057.                             indirizzo = indirizzo.replace("${"+nameSystemProperty+"}", valueSystemProperty);
  4058.                         }
  4059.                     }

  4060.                 }

  4061.                 this.pathConfigurazionePDD = indirizzo;
  4062.             }catch(java.lang.Exception e) {
  4063.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.config.location': "+e.getMessage(),e);
  4064.                 this.pathConfigurazionePDD = null;
  4065.             }
  4066.         }

  4067.         return this.pathConfigurazionePDD;
  4068.     }

  4069.     private List<PreloadingConfiguration> configPreLoadingLocale = null;
  4070.     private Boolean configPreLoadingLocaleRead = null;
  4071.     public List<PreloadingConfiguration> getConfigPreLoadingLocale() {  
  4072.         if(this.configPreLoadingLocaleRead==null){
  4073.             try{
  4074.                 String resourceTmp = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.config.preLoading.locale");
  4075.                 if(resourceTmp!=null){
  4076.                     resourceTmp = resourceTmp.trim();
  4077.                    
  4078.                     List<String> lResources = new ArrayList<>();
  4079.                     initSplitValues(lResources, resourceTmp, false);
  4080.                    
  4081.                     this.configPreLoadingLocale = new ArrayList<>();
  4082.                    
  4083.                     for (String resource : lResources) {
  4084.                         File f = new File(resource);
  4085.                         if(f.exists()) {
  4086.                             PreloadingConfiguration pc = new PreloadingConfiguration(FileSystemUtilities.readBytesFromFile(f), resource);
  4087.                             this.configPreLoadingLocale.add(pc);
  4088.                         }
  4089.                         else {
  4090.                             if(!resource.startsWith("/")) {
  4091.                                 resource = "/" + resource;
  4092.                             }
  4093.                             InputStream is = OpenSPCoop2Properties.class.getResourceAsStream(resource);
  4094.                             if(is!=null) {
  4095.                                 try {
  4096.                                     PreloadingConfiguration pc = new PreloadingConfiguration(Utilities.getAsByteArray(is), resource);
  4097.                                     this.configPreLoadingLocale.add(pc);
  4098.                                 }finally {
  4099.                                     try {
  4100.                                         is.close();
  4101.                                     }catch(Exception eClose) {
  4102.                                         // close
  4103.                                     }
  4104.                                 }
  4105.                             }
  4106.                         }  
  4107.                     }
  4108.                    
  4109.                 }

  4110.             }catch(java.lang.Exception e) {
  4111.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.config.preLoading.locale': "+e.getMessage(),e);
  4112.                 this.tipoConfigurazionePDD = null;
  4113.             }  
  4114.            
  4115.             this.configPreLoadingLocaleRead = true;
  4116.         }

  4117.         return this.configPreLoadingLocale;
  4118.     }
  4119.    
  4120.     /**
  4121.      * Restituisce il tipo di configurazione della porta di dominio di OpenSPCoop.
  4122.      *
  4123.      * @return il tipo di configurazione della porta di dominio, null altrimenti.
  4124.      *
  4125.      */
  4126.     private String tipoConfigurazionePDD = null;
  4127.     public String getTipoConfigurazionePDD() {  
  4128.         if(this.tipoConfigurazionePDD==null){
  4129.             try{
  4130.                 String tipo = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.config.tipo");
  4131.                 if(tipo==null)
  4132.                     throw new CoreException(NON_DEFINITA);
  4133.                 tipo = tipo.trim();

  4134.                 this.tipoConfigurazionePDD = tipo;
  4135.             }catch(java.lang.Exception e) {
  4136.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.config.tipo': "+e.getMessage(),e);
  4137.                 this.tipoConfigurazionePDD = null;
  4138.             }    
  4139.         }

  4140.         return this.tipoConfigurazionePDD;
  4141.     }

  4142.     /**
  4143.      * Restituisce l'indicazione Se si desidera condividere i due database config e regserv
  4144.      *
  4145.      * @return l'indicazione Se si desidera condividere i due database config e regserv
  4146.      *
  4147.      */
  4148.     private Boolean isCondivisioneConfigurazioneRegistroDB = null;
  4149.     public boolean isCondivisioneConfigurazioneRegistroDB() {  
  4150.         if(this.isCondivisioneConfigurazioneRegistroDB==null){
  4151.             try{
  4152.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.config.db.condivisioneDBRegserv");
  4153.                 if(value==null)
  4154.                     this.isCondivisioneConfigurazioneRegistroDB = false;
  4155.                 else{
  4156.                     this.isCondivisioneConfigurazioneRegistroDB = Boolean.parseBoolean(value);
  4157.                 }
  4158.             }catch(java.lang.Exception e) {
  4159.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.config.db.condivisioneDBRegserv' (Viene utilizzato il default:false): "+e.getMessage(),e);
  4160.                 this.isCondivisioneConfigurazioneRegistroDB = false;
  4161.             }    
  4162.         }

  4163.         return this.isCondivisioneConfigurazioneRegistroDB;
  4164.     }

  4165.     /**
  4166.      * Restituisce le proprieta' da utilizzare con il contesto JNDI di lookup, se impostate.
  4167.      *
  4168.      * @return proprieta' da utilizzare con il contesto JNDI di lookup.
  4169.      *
  4170.      */
  4171.     private java.util.Properties jndiContext_Configurazione = null;
  4172.     public java.util.Properties getJNDIContext_Configurazione() {  
  4173.         if(this.jndiContext_Configurazione==null){
  4174.             java.util.Properties prop = new java.util.Properties();
  4175.             try{

  4176.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.config.property.");
  4177.                 this.jndiContext_Configurazione = prop;

  4178.             }catch(java.lang.Exception e) {
  4179.                 this.logError("Riscontrato errore durante la lettura delle propriete' JNDI per la configurazione di openspcoop 'org.openspcoop2.pdd.config.property.*': "+e.getMessage(),e);
  4180.                 this.jndiContext_Configurazione = null;
  4181.             }    
  4182.         }

  4183.         return this.jndiContext_Configurazione;
  4184.     }

  4185.    
  4186.     private AccessoConfigurazionePdD accessoConfigurazionePdD = null;
  4187.     public AccessoConfigurazionePdD getAccessoConfigurazionePdD() throws OpenSPCoop2ConfigurationException{
  4188.         if(this.accessoConfigurazionePdD==null){
  4189.             try{  
  4190.                 AccessoConfigurazionePdD conf = new AccessoConfigurazionePdD();
  4191.                 conf.setTipo(this.getTipoConfigurazionePDD());
  4192.                 if(CostantiConfigurazione.CONFIGURAZIONE_DB.equalsIgnoreCase(this.getTipoConfigurazionePDD())){
  4193.                     String tipoDatabase = null;
  4194.                     String location = null;
  4195.                     if(this.getPathConfigurazionePDD().indexOf("@")!=-1){
  4196.                         // estrazione tipo database
  4197.                         tipoDatabase = DBUtils.estraiTipoDatabaseFromLocation(this.getPathConfigurazionePDD());
  4198.                         location = this.getPathConfigurazionePDD().substring(this.getPathConfigurazionePDD().indexOf("@")+1);
  4199.                     }else{
  4200.                         tipoDatabase = this.getDatabaseType();
  4201.                         location =this.getPathConfigurazionePDD();
  4202.                     }
  4203.                     conf.setLocation(location);
  4204.                     conf.setTipoDatabase(tipoDatabase);
  4205.                 }else{
  4206.                     conf.setLocation(this.getPathConfigurazionePDD());
  4207.                 }
  4208.                 conf.setContext(this.getJNDIContext_Configurazione());
  4209.                 conf.setCondivisioneDatabasePddRegistro(this.isCondivisioneConfigurazioneRegistroDB());
  4210.                
  4211.                 this.accessoConfigurazionePdD = conf;
  4212.             }catch(java.lang.Exception e) {
  4213.                 throw new OpenSPCoop2ConfigurationException("Riscontrato errore durante la lettura della modalita' di accesso alla configurazione della PdD OpenSPCoop",e);
  4214.             }
  4215.         }

  4216.         return this.accessoConfigurazionePdD;
  4217.     }

  4218.     /**
  4219.      * Restituisce l'indicazione se la configurazione di GovWay
  4220.      * e' letta una sola volta (statica) o letta ai refresh della sorgente (dinamica)
  4221.      *
  4222.      * @return Restituisce indicazione se la configurazione e' statica (false) o dinamica (true)
  4223.      *
  4224.      */
  4225.     private Boolean isConfigurazioneDinamica_value = null;
  4226.     public boolean isConfigurazioneDinamica(){
  4227.         if(this.isConfigurazioneDinamica_value==null){
  4228.             try{  
  4229.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.config.refresh");

  4230.                 if(value!=null){
  4231.                     value = value.trim();
  4232.                     this.isConfigurazioneDinamica_value = Boolean.parseBoolean(value);
  4233.                 }else{
  4234.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.config.refresh' non impostata, viene utilizzato il default=true");
  4235.                     this.isConfigurazioneDinamica_value = true;
  4236.                 }

  4237.             }catch(java.lang.Exception e) {
  4238.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.config.refresh' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  4239.                 this.isConfigurazioneDinamica_value = true;
  4240.             }
  4241.         }

  4242.         return this.isConfigurazioneDinamica_value;
  4243.     }
  4244.    
  4245.     private Boolean isConfigurazioneCache_ConfigPrefill_value = null;
  4246.     public boolean isConfigurazioneCache_ConfigPrefill(){
  4247.         if(this.isConfigurazioneCache_ConfigPrefill_value==null){
  4248.             try{  
  4249.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.cache.config.prefill");

  4250.                 if(value!=null){
  4251.                     value = value.trim();
  4252.                     this.isConfigurazioneCache_ConfigPrefill_value = Boolean.parseBoolean(value);
  4253.                 }else{
  4254.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.cache.config.prefill' non impostata, viene utilizzato il default=false");
  4255.                     this.isConfigurazioneCache_ConfigPrefill_value = false;
  4256.                 }

  4257.             }catch(java.lang.Exception e) {
  4258.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.cache.config.prefill' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  4259.                 this.isConfigurazioneCache_ConfigPrefill_value = false;
  4260.             }
  4261.         }

  4262.         return this.isConfigurazioneCache_ConfigPrefill_value;
  4263.     }
  4264.    
  4265.     private Boolean isConfigurazioneCache_RegistryPrefill_value = null;
  4266.     public boolean isConfigurazioneCache_RegistryPrefill(){
  4267.         if(this.isConfigurazioneCache_RegistryPrefill_value==null){
  4268.             try{  
  4269.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.cache.registry.prefill");

  4270.                 if(value!=null){
  4271.                     value = value.trim();
  4272.                     this.isConfigurazioneCache_RegistryPrefill_value = Boolean.parseBoolean(value);
  4273.                 }else{
  4274.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.cache.registry.prefill' non impostata, viene utilizzato il default=false");
  4275.                     this.isConfigurazioneCache_RegistryPrefill_value = false;
  4276.                 }

  4277.             }catch(java.lang.Exception e) {
  4278.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.cache.registry.prefill' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  4279.                 this.isConfigurazioneCache_RegistryPrefill_value = false;
  4280.             }
  4281.         }

  4282.         return this.isConfigurazioneCache_RegistryPrefill_value;
  4283.     }
  4284.    
  4285.     private Boolean isConfigurazioneCache_accessiSynchronized = null;
  4286.     public boolean isConfigurazioneCache_accessiSynchronized(){
  4287.         if(this.isConfigurazioneCache_accessiSynchronized==null){
  4288.             try{  
  4289.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.cache.get.synchronized");

  4290.                 if(value!=null){
  4291.                     value = value.trim();
  4292.                     this.isConfigurazioneCache_accessiSynchronized = Boolean.parseBoolean(value);
  4293.                 }else{
  4294.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.cache.get.synchronized' non impostata, viene utilizzato il default=false");
  4295.                     this.isConfigurazioneCache_accessiSynchronized = false;
  4296.                 }

  4297.             }catch(java.lang.Exception e) {
  4298.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.cache.get.synchronized' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  4299.                 this.isConfigurazioneCache_accessiSynchronized = false;
  4300.             }
  4301.         }

  4302.         return this.isConfigurazioneCache_accessiSynchronized;
  4303.     }
  4304.    
  4305.     private Boolean isConfigurazioneCache_transactionContext_accessiSynchronized = null;
  4306.     public boolean isConfigurazioneCache_transactionContext_accessiSynchronized(){
  4307.         if(this.isConfigurazioneCache_transactionContext_accessiSynchronized==null){
  4308.             try{  
  4309.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.cache.transactionContext.synchronized");

  4310.                 if(value!=null){
  4311.                     value = value.trim();
  4312.                     this.isConfigurazioneCache_transactionContext_accessiSynchronized = Boolean.parseBoolean(value);
  4313.                 }else{
  4314.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.cache.transactionContext.synchronized' non impostata, viene utilizzato il default=true");
  4315.                     this.isConfigurazioneCache_transactionContext_accessiSynchronized = true;
  4316.                 }

  4317.             }catch(java.lang.Exception e) {
  4318.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.cache.transactionContext.synchronized' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  4319.                 this.isConfigurazioneCache_transactionContext_accessiSynchronized = true;
  4320.             }
  4321.         }

  4322.         return this.isConfigurazioneCache_transactionContext_accessiSynchronized;
  4323.     }

  4324.     private CacheType readCacheTypeConfig = null;
  4325.     public CacheType getCacheTypeConfig() {
  4326.         if(this.readCacheTypeConfig==null) {
  4327.             this.readCacheTypeConfig = readCacheType("org.openspcoop2.pdd.cache.impl.config");
  4328.         }
  4329.         return this.readCacheTypeConfig;
  4330.     }
  4331.    
  4332.     private CacheType readCacheTypeRegistry = null;
  4333.     public CacheType getCacheTypeRegistry() {
  4334.         if(this.readCacheTypeRegistry==null) {
  4335.             this.readCacheTypeRegistry = readCacheType("org.openspcoop2.pdd.cache.impl.registry");
  4336.         }
  4337.         return this.readCacheTypeRegistry;
  4338.     }
  4339.    
  4340.     private CacheType readCacheTypeAuthentication = null;
  4341.     public CacheType getCacheTypeAuthentication() {
  4342.         if(this.readCacheTypeAuthentication==null) {
  4343.             this.readCacheTypeAuthentication = readCacheType("org.openspcoop2.pdd.cache.impl.authentication");
  4344.         }
  4345.         return this.readCacheTypeAuthentication;
  4346.     }
  4347.    
  4348.     private CacheType readCacheTypeAuthorization = null;
  4349.     public CacheType getCacheTypeAuthorization() {
  4350.         if(this.readCacheTypeAuthorization==null) {
  4351.             this.readCacheTypeAuthorization = readCacheType("org.openspcoop2.pdd.cache.impl.authorization");
  4352.         }
  4353.         return this.readCacheTypeAuthorization;
  4354.     }
  4355.    
  4356.     private CacheType readCacheTypeResponseCaching = null;
  4357.     public CacheType getCacheTypeResponseCaching() {
  4358.         if(this.readCacheTypeResponseCaching==null) {
  4359.             this.readCacheTypeResponseCaching = readCacheType("org.openspcoop2.pdd.cache.impl.responseCaching");
  4360.         }
  4361.         return this.readCacheTypeResponseCaching;
  4362.     }

  4363.     private CacheType readCacheTypeToken = null;
  4364.     public CacheType getCacheTypeToken() {
  4365.         if(this.readCacheTypeToken==null) {
  4366.             this.readCacheTypeToken = readCacheType("org.openspcoop2.pdd.cache.impl.token");
  4367.         }
  4368.         return this.readCacheTypeToken;
  4369.     }
  4370.    
  4371.     private CacheType readCacheTypeAttributeAuthority = null;
  4372.     public CacheType getCacheTypeAttributeAuthority() {
  4373.         if(this.readCacheTypeAttributeAuthority==null) {
  4374.             this.readCacheTypeAttributeAuthority = readCacheType("org.openspcoop2.pdd.cache.impl.attributeAuthority");
  4375.         }
  4376.         return this.readCacheTypeAttributeAuthority;
  4377.     }
  4378.    
  4379.     private CacheType readCacheTypeKeystore = null;
  4380.     public CacheType getCacheTypeKeystore() {
  4381.         if(this.readCacheTypeKeystore==null) {
  4382.             this.readCacheTypeKeystore = readCacheType("org.openspcoop2.pdd.cache.impl.keystore");
  4383.         }
  4384.         return this.readCacheTypeKeystore;
  4385.     }
  4386.    
  4387.     private CacheType readCacheTypeLoadBalancer = null;
  4388.     public CacheType getCacheTypeLoadBalancer() {
  4389.         if(this.readCacheTypeLoadBalancer==null) {
  4390.             this.readCacheTypeLoadBalancer = readCacheType("org.openspcoop2.pdd.cache.impl.loadBalancer");
  4391.         }
  4392.         return this.readCacheTypeLoadBalancer;
  4393.     }
  4394.    
  4395.     private CacheType readCacheTypeTrafficControl = null;
  4396.     public CacheType getCacheTypeTrafficControl() {
  4397.         if(this.readCacheTypeTrafficControl==null) {
  4398.             this.readCacheTypeTrafficControl = readCacheType("org.openspcoop2.pdd.cache.impl.trafficControl");
  4399.         }
  4400.         return this.readCacheTypeTrafficControl;
  4401.     }
  4402.    
  4403.     private CacheType readCacheTypeMessage = null;
  4404.     public CacheType getCacheTypeMessage() {
  4405.         if(this.readCacheTypeMessage==null) {
  4406.             this.readCacheTypeMessage = readCacheType("org.openspcoop2.pdd.cache.impl.message");
  4407.         }
  4408.         return this.readCacheTypeMessage;
  4409.     }
  4410.    
  4411.     private CacheType readCacheTypeRequestManager = null;
  4412.     public CacheType getCacheTypeRequestManager() {
  4413.         if(this.readCacheTypeRequestManager==null) {
  4414.             this.readCacheTypeRequestManager = readCacheType("org.openspcoop2.pdd.cache.impl.requestManager");
  4415.         }
  4416.         return this.readCacheTypeRequestManager;
  4417.     }
  4418.    
  4419.    
  4420.     public CacheType readCacheType(String pName){
  4421.         try{  
  4422.             String value = this.reader.getValueConvertEnvProperties(pName);

  4423.             if(value!=null){
  4424.                 value = value.trim();
  4425.                 return CacheType.valueOf(value);
  4426.             }else{
  4427.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,CacheType.JCS.toString()));
  4428.                 return CacheType.JCS;
  4429.             }

  4430.         }catch(java.lang.Exception e) {
  4431.             this.logWarn(getMessaggioProprietaNonImpostata(pName,e,CacheType.JCS.toString()),e);
  4432.             return CacheType.JCS;
  4433.         }
  4434.     }

  4435.     private Boolean isConfigurazioneCacheDebug = null;
  4436.     public boolean isConfigurazioneCacheDebug(){
  4437.         if(this.isConfigurazioneCacheDebug==null){
  4438.             String pName = "org.openspcoop2.pdd.cache.debug";
  4439.             try{  
  4440.                 String value = this.reader.getValueConvertEnvProperties(pName);

  4441.                 if(value!=null){
  4442.                     value = value.trim();
  4443.                     this.isConfigurazioneCacheDebug = Boolean.parseBoolean(value);
  4444.                 }else{
  4445.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  4446.                     this.isConfigurazioneCacheDebug = false;
  4447.                 }

  4448.             }catch(java.lang.Exception e) {
  4449.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  4450.                 this.isConfigurazioneCacheDebug = false;
  4451.             }
  4452.         }

  4453.         return this.isConfigurazioneCacheDebug;
  4454.     }
  4455.    
  4456.     private Boolean isConfigurazioneCacheRequestManagerUseCache = null;
  4457.     public boolean isConfigurazioneCacheRequestManagerUseCache(){
  4458.         if(this.isConfigurazioneCacheRequestManagerUseCache==null){
  4459.             String pName = "org.openspcoop2.pdd.cache.impl.requestManager.useCache";
  4460.             try{  
  4461.                 String value = this.reader.getValueConvertEnvProperties(pName);

  4462.                 if(value!=null){
  4463.                     value = value.trim();
  4464.                     this.isConfigurazioneCacheRequestManagerUseCache = Boolean.parseBoolean(value);
  4465.                 }else{
  4466.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  4467.                     this.isConfigurazioneCacheRequestManagerUseCache = true;
  4468.                 }

  4469.             }catch(java.lang.Exception e) {
  4470.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  4471.                 this.isConfigurazioneCacheRequestManagerUseCache = true;
  4472.             }
  4473.         }

  4474.         return this.isConfigurazioneCacheRequestManagerUseCache;
  4475.     }
  4476.    
  4477.     private Boolean isConfigurazioneCacheRequestManagerExternalResourceSaveInCache = null;
  4478.     public boolean isConfigurazioneCacheRequestManagerExternalResourceSaveInCache() {  
  4479.         if(this.isConfigurazioneCacheRequestManagerExternalResourceSaveInCache==null){
  4480.             String pName = "org.openspcoop2.pdd.cache.impl.requestManager.externalResource.saveInCache";
  4481.             try{
  4482.                 String name = null;
  4483.                 name = this.reader.getValueConvertEnvProperties(pName);
  4484.                 if(name==null){
  4485.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  4486.                     name="false";
  4487.                 }
  4488.                 name = name.trim();
  4489.                 this.isConfigurazioneCacheRequestManagerExternalResourceSaveInCache = Boolean.parseBoolean(name);
  4490.             } catch(java.lang.Exception e) {
  4491.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  4492.                 this.isConfigurazioneCacheRequestManagerExternalResourceSaveInCache = false;
  4493.             }    
  4494.         }

  4495.         return this.isConfigurazioneCacheRequestManagerExternalResourceSaveInCache;
  4496.     }
  4497.    
  4498.     private Boolean isConfigurazioneCacheRequestManagerOCSPResponseSaveInCache = null;
  4499.     public boolean isConfigurazioneCacheRequestManagerOCSPResponseSaveInCache() {  
  4500.         if(this.isConfigurazioneCacheRequestManagerOCSPResponseSaveInCache==null){
  4501.             String pName = "org.openspcoop2.pdd.cache.impl.requestManager.ocspResponse.saveInCache";
  4502.             try{
  4503.                 String name = null;
  4504.                 name = this.reader.getValueConvertEnvProperties(pName);
  4505.                 if(name==null){
  4506.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  4507.                     name="false";
  4508.                 }
  4509.                 name = name.trim();
  4510.                 this.isConfigurazioneCacheRequestManagerOCSPResponseSaveInCache = Boolean.parseBoolean(name);
  4511.             } catch(java.lang.Exception e) {
  4512.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  4513.                 this.isConfigurazioneCacheRequestManagerOCSPResponseSaveInCache = false;
  4514.             }    
  4515.         }

  4516.         return this.isConfigurazioneCacheRequestManagerOCSPResponseSaveInCache;
  4517.     }
  4518.    
  4519.     private Boolean isConfigurazioneCacheRequestManagerRemoteStoreSaveInCache = null;
  4520.     public boolean isConfigurazioneCacheRequestManagerRemoteStoreSaveInCache() {    
  4521.         if(this.isConfigurazioneCacheRequestManagerRemoteStoreSaveInCache==null){
  4522.             String pName = "org.openspcoop2.pdd.cache.impl.requestManager.remoteStore.saveInCache";
  4523.             try{
  4524.                 String name = null;
  4525.                 name = this.reader.getValueConvertEnvProperties(pName);
  4526.                 if(name==null){
  4527.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  4528.                     name="false";
  4529.                 }
  4530.                 name = name.trim();
  4531.                 this.isConfigurazioneCacheRequestManagerRemoteStoreSaveInCache = Boolean.parseBoolean(name);
  4532.             } catch(java.lang.Exception e) {
  4533.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  4534.                 this.isConfigurazioneCacheRequestManagerRemoteStoreSaveInCache = false;
  4535.             }    
  4536.         }

  4537.         return this.isConfigurazioneCacheRequestManagerRemoteStoreSaveInCache;
  4538.     }
  4539.    
  4540.    
  4541.    
  4542.     private Boolean isConfigurazioneKeystoreJksPasswordRequired = null;
  4543.     public boolean isConfigurazioneKeystoreJksPasswordRequired() {  
  4544.         if(this.isConfigurazioneKeystoreJksPasswordRequired==null){
  4545.             String pName = "org.openspcoop2.pdd.keystore.jks.passwordRequired";
  4546.             try{
  4547.                 String name = null;
  4548.                 name = this.reader.getValueConvertEnvProperties(pName);
  4549.                 if(name==null){
  4550.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  4551.                     name="true";
  4552.                 }
  4553.                 name = name.trim();
  4554.                 this.isConfigurazioneKeystoreJksPasswordRequired = Boolean.parseBoolean(name);
  4555.             } catch(java.lang.Exception e) {
  4556.                 this.logError("Riscontrato errore durante la lettura della proprietà di govway '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  4557.                 this.isConfigurazioneKeystoreJksPasswordRequired = true;
  4558.             }    
  4559.         }

  4560.         return this.isConfigurazioneKeystoreJksPasswordRequired;
  4561.     }
  4562.     private Boolean isConfigurazioneKeystoreJksKeyPasswordRequired = null;
  4563.     public boolean isConfigurazioneKeystoreJksKeyPasswordRequired() {  
  4564.         if(this.isConfigurazioneKeystoreJksKeyPasswordRequired==null){
  4565.             String pName = "org.openspcoop2.pdd.keystore.jks.key.passwordRequired";
  4566.             try{
  4567.                 String name = null;
  4568.                 name = this.reader.getValueConvertEnvProperties(pName);
  4569.                 if(name==null){
  4570.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  4571.                     name="true";
  4572.                 }
  4573.                 name = name.trim();
  4574.                 this.isConfigurazioneKeystoreJksKeyPasswordRequired = Boolean.parseBoolean(name);
  4575.             } catch(java.lang.Exception e) {
  4576.                 this.logError("Riscontrato errore durante la lettura della proprietà di govway '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  4577.                 this.isConfigurazioneKeystoreJksKeyPasswordRequired = true;
  4578.             }    
  4579.         }

  4580.         return this.isConfigurazioneKeystoreJksKeyPasswordRequired;
  4581.     }
  4582.     private Boolean isConfigurazioneKeystorePkcs12PasswordRequired = null;
  4583.     public boolean isConfigurazioneKeystorePkcs12PasswordRequired() {  
  4584.         if(this.isConfigurazioneKeystorePkcs12PasswordRequired==null){
  4585.             String pName = "org.openspcoop2.pdd.keystore.pkcs12.passwordRequired";
  4586.             try{
  4587.                 String name = null;
  4588.                 name = this.reader.getValueConvertEnvProperties(pName);
  4589.                 if(name==null){
  4590.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  4591.                     name="true";
  4592.                 }
  4593.                 name = name.trim();
  4594.                 this.isConfigurazioneKeystorePkcs12PasswordRequired = Boolean.parseBoolean(name);
  4595.             } catch(java.lang.Exception e) {
  4596.                 this.logError("Riscontrato errore durante la lettura della proprietà di govway '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  4597.                 this.isConfigurazioneKeystorePkcs12PasswordRequired = true;
  4598.             }    
  4599.         }

  4600.         return this.isConfigurazioneKeystorePkcs12PasswordRequired;
  4601.     }
  4602.     private Boolean isConfigurazioneKeystorePkcs12KeyPasswordRequired = null;
  4603.     public boolean isConfigurazioneKeystorePkcs12KeyPasswordRequired() {    
  4604.         if(this.isConfigurazioneKeystorePkcs12KeyPasswordRequired==null){
  4605.             String pName = "org.openspcoop2.pdd.keystore.pkcs12.key.passwordRequired";
  4606.             try{
  4607.                 String name = null;
  4608.                 name = this.reader.getValueConvertEnvProperties(pName);
  4609.                 if(name==null){
  4610.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  4611.                     name="true";
  4612.                 }
  4613.                 name = name.trim();
  4614.                 this.isConfigurazioneKeystorePkcs12KeyPasswordRequired = Boolean.parseBoolean(name);
  4615.             } catch(java.lang.Exception e) {
  4616.                 this.logError("Riscontrato errore durante la lettura della proprietà di govway '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  4617.                 this.isConfigurazioneKeystorePkcs12KeyPasswordRequired = true;
  4618.             }    
  4619.         }

  4620.         return this.isConfigurazioneKeystorePkcs12KeyPasswordRequired;
  4621.     }
  4622.    
  4623.     private Boolean isConfigurazioneTruststoreJksPasswordRequired = null;
  4624.     public boolean isConfigurazioneTruststoreJksPasswordRequired() {    
  4625.         if(this.isConfigurazioneTruststoreJksPasswordRequired==null){
  4626.             String pName = "org.openspcoop2.pdd.truststore.jks.passwordRequired";
  4627.             try{
  4628.                 String name = null;
  4629.                 name = this.reader.getValueConvertEnvProperties(pName);
  4630.                 if(name==null){
  4631.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  4632.                     name="true";
  4633.                 }
  4634.                 name = name.trim();
  4635.                 this.isConfigurazioneTruststoreJksPasswordRequired = Boolean.parseBoolean(name);
  4636.             } catch(java.lang.Exception e) {
  4637.                 this.logError("Riscontrato errore durante la lettura della proprietà di govway '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  4638.                 this.isConfigurazioneTruststoreJksPasswordRequired = true;
  4639.             }    
  4640.         }

  4641.         return this.isConfigurazioneTruststoreJksPasswordRequired;
  4642.     }
  4643.     private Boolean isConfigurazioneTruststorePkcs12PasswordRequired = null;
  4644.     public boolean isConfigurazioneTruststorePkcs12PasswordRequired() {
  4645.         if(this.isConfigurazioneTruststorePkcs12PasswordRequired==null){
  4646.             String pName = "org.openspcoop2.pdd.truststore.pkcs12.passwordRequired";
  4647.             try{
  4648.                 String name = null;
  4649.                 name = this.reader.getValueConvertEnvProperties(pName);
  4650.                 if(name==null){
  4651.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  4652.                     name="true";
  4653.                 }
  4654.                 name = name.trim();
  4655.                 this.isConfigurazioneTruststorePkcs12PasswordRequired = Boolean.parseBoolean(name);
  4656.             } catch(java.lang.Exception e) {
  4657.                 this.logError("Riscontrato errore durante la lettura della proprietà di govway '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  4658.                 this.isConfigurazioneTruststorePkcs12PasswordRequired = true;
  4659.             }    
  4660.         }

  4661.         return this.isConfigurazioneTruststorePkcs12PasswordRequired;
  4662.     }


  4663.    
  4664.    
  4665.     /* ********  CONFIGURAZIONE PLUGINS  ******** */
  4666.    
  4667.     private Boolean isConfigurazionePluginsEnabled = null;
  4668.     public boolean isConfigurazionePluginsEnabled(){
  4669.        
  4670.         String pName = "org.openspcoop2.pdd.config.plugins.enabled";
  4671.         if(this.isConfigurazionePluginsEnabled==null){
  4672.             try{  
  4673.                 String value = this.reader.getValueConvertEnvProperties(pName);

  4674.                 if(value!=null){
  4675.                     value = value.trim();
  4676.                     this.isConfigurazionePluginsEnabled = Boolean.parseBoolean(value);
  4677.                 }else{
  4678.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  4679.                     this.isConfigurazionePluginsEnabled = true;
  4680.                 }

  4681.             }catch(java.lang.Exception e) {
  4682.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  4683.                 this.isConfigurazionePluginsEnabled = true;
  4684.             }
  4685.         }

  4686.         return this.isConfigurazionePluginsEnabled;
  4687.     }
  4688.    
  4689.     private Boolean isConfigurazionePluginsDebug = null;
  4690.     public boolean isConfigurazionePluginsDebug(){
  4691.        
  4692.         String pName = "org.openspcoop2.pdd.config.plugins.debug";
  4693.         if(this.isConfigurazionePluginsDebug==null){
  4694.             try{  
  4695.                 String value = this.reader.getValueConvertEnvProperties(pName);

  4696.                 if(value!=null){
  4697.                     value = value.trim();
  4698.                     this.isConfigurazionePluginsDebug = Boolean.parseBoolean(value);
  4699.                 }else{
  4700.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  4701.                     this.isConfigurazionePluginsDebug = true;
  4702.                 }

  4703.             }catch(java.lang.Exception e) {
  4704.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  4705.                 this.isConfigurazionePluginsDebug = true;
  4706.             }
  4707.         }

  4708.         return this.isConfigurazionePluginsDebug;
  4709.     }
  4710.    
  4711.     private Integer getConfigurazionePluginsSeconds = null;
  4712.     public int getConfigurazionePluginsSeconds(){
  4713.        
  4714.         String pName = "org.openspcoop2.pdd.config.plugins.seconds";
  4715.         if(this.getConfigurazionePluginsSeconds==null){
  4716.             try{  
  4717.                 String value = this.reader.getValueConvertEnvProperties(pName);

  4718.                 if(value!=null){
  4719.                     value = value.trim();
  4720.                     this.getConfigurazionePluginsSeconds = Integer.parseInt(value);
  4721.                 }else{
  4722.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostata, viene utilizzato il default=300");
  4723.                     this.getConfigurazionePluginsSeconds = 300;
  4724.                 }

  4725.             }catch(java.lang.Exception e) {
  4726.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostata, viene utilizzato il default=300, errore:"+e.getMessage(),e);
  4727.                 this.getConfigurazionePluginsSeconds = 300;
  4728.             }
  4729.         }

  4730.         return this.getConfigurazionePluginsSeconds;
  4731.     }






  4732.     /* ********  DATASOURCE DI OPENSPCOOP  ******** */

  4733.     /**
  4734.      * Restituisce il Nome JNDI del DataSource utilizzato da OpenSPCoop.
  4735.      *
  4736.      * @return il Nome JNDI del DataSource utilizzato da OpenSPCoop.
  4737.      *
  4738.      */
  4739.     private String jndiNameDatasource = null;
  4740.     public String getJNDIName_DataSource() {    
  4741.         if(this.jndiNameDatasource==null){
  4742.             try{
  4743.                 String name = null;
  4744.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.dataSource");
  4745.                 if(name==null)
  4746.                     throw new CoreException(NON_DEFINITA);
  4747.                 name = name.trim();

  4748.                 this.jndiNameDatasource = name;
  4749.             }catch(java.lang.Exception e) {
  4750.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.dataSource': "+e.getMessage(),e);
  4751.                 this.jndiNameDatasource = null;
  4752.             }    
  4753.         }

  4754.         return this.jndiNameDatasource;
  4755.     }

  4756.     /**
  4757.      * Restituisce le proprieta' da utilizzare con il contesto JNDI di lookup, se impostate.
  4758.      *
  4759.      * @return proprieta' da utilizzare con il contesto JNDI di lookup.
  4760.      *
  4761.      */
  4762.     private java.util.Properties jndiContextDatasource = null;
  4763.     public java.util.Properties getJNDIContext_DataSource() {
  4764.         if(this.jndiContextDatasource == null){
  4765.             java.util.Properties prop = new java.util.Properties();
  4766.             try{

  4767.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.dataSource.property.");
  4768.                 this.jndiContextDatasource = prop;

  4769.             }catch(java.lang.Exception e) {
  4770.                 this.logError("Riscontrato errore durante la lettura delle propriete' JNDI per il datasource di openspcoop 'org.openspcoop2.pdd.dataSource.property.*': "+e.getMessage(),e);
  4771.                 this.jndiContextDatasource = null;
  4772.             }  
  4773.         }

  4774.         return this.jndiContextDatasource;
  4775.     }











  4776.     /* ********  CONNECTION FACTORY DI OPENSPCOOP  ******** */

  4777.     /**
  4778.      * Restituisce il Nome JNDI del ConnectionFactory utilizzato da OpenSPCoop.
  4779.      *
  4780.      * @return il Nome JNDI del ConnectionFactory utilizzato da OpenSPCoop.
  4781.      *
  4782.      */
  4783.     private String jndiNameConnectionFactory = null;
  4784.     public String getJNDIName_ConnectionFactory() {
  4785.         if(this.jndiNameConnectionFactory==null){
  4786.             try{
  4787.                 String name = null;
  4788.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.queueConnectionFactory");
  4789.                 if(name==null)
  4790.                     throw new CoreException(NON_DEFINITA);
  4791.                 name = name.trim();

  4792.                 this.jndiNameConnectionFactory = name;
  4793.             }catch(java.lang.Exception e) {
  4794.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.queueConnectionFactory': "+e.getMessage(),e);
  4795.                 this.jndiNameConnectionFactory = null;
  4796.             }    
  4797.         }

  4798.         return this.jndiNameConnectionFactory;
  4799.     }

  4800.     /**
  4801.      * Restituisce le proprieta' da utilizzare con il contesto JNDI di lookup, se impostate.
  4802.      *
  4803.      * @return proprieta' da utilizzare con il contesto JNDI di lookup.
  4804.      *
  4805.      */
  4806.     private java.util.Properties jndiContextConnectionFactory = null;
  4807.     public java.util.Properties getJNDIContext_ConnectionFactory() {
  4808.         if(this.jndiContextConnectionFactory==null){
  4809.             java.util.Properties prop = new java.util.Properties();
  4810.             try{

  4811.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.connectionFactory.property.");
  4812.                 this.jndiContextConnectionFactory = prop;

  4813.             }catch(java.lang.Exception e) {
  4814.                 this.logError("Riscontrato errore durante la lettura delle propriete' JNDI del ConnectionFactory di openspcoop 'org.openspcoop2.pdd.connectionFactory.property.*': "+e.getMessage(),e);
  4815.                 this.jndiContextConnectionFactory = null;
  4816.             }    
  4817.         }

  4818.         return this.jndiContextConnectionFactory;
  4819.     }

  4820.     /**
  4821.      * Restituisce acknowledgeMode della Sessione utilizzata da OpenSPCoop.
  4822.      *
  4823.      * @return acknowledgeMode della Sessione utilizzata da OpenSPCoop.
  4824.      *
  4825.      */
  4826.     private int acknowledgeModeSessioneConnectionFactory = -1;
  4827.     public int getAcknowledgeModeSessioneConnectionFactory() {  
  4828.         if(this.acknowledgeModeSessioneConnectionFactory==-1){
  4829.             try{
  4830.                 String name = null;
  4831.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.queueConnectionFactory.session.AcknowledgeMode");

  4832.                 if(name!=null){
  4833.                     name = name.trim();
  4834.                     if(CostantiConfigurazione.AUTO_ACKNOWLEDGE.equals(name))
  4835.                         this.acknowledgeModeSessioneConnectionFactory = javax.jms.Session.AUTO_ACKNOWLEDGE;
  4836.                     else if(CostantiConfigurazione.CLIENT_ACKNOWLEDGE.equals(name))
  4837.                         this.acknowledgeModeSessioneConnectionFactory = javax.jms.Session.CLIENT_ACKNOWLEDGE;
  4838.                     else if(CostantiConfigurazione.DUPS_OK_ACKNOWLEDGE.equals(name))
  4839.                         this.acknowledgeModeSessioneConnectionFactory = javax.jms.Session.DUPS_OK_ACKNOWLEDGE;
  4840.                     else
  4841.                         throw new CoreException("Tipo di acknowledgeModeSessione non conosciuto (viene utilizzato il default:AUTO_ACKNOWLEDGE)");
  4842.                 }else{
  4843.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.queueConnectionFactory.session.AcknowledgeMode' non impostata, viene utilizzato il default=AUTO_ACKNOWLEDGE");
  4844.                     this.acknowledgeModeSessioneConnectionFactory = javax.jms.Session.AUTO_ACKNOWLEDGE; // Default
  4845.                 }

  4846.             }catch(java.lang.Exception e) {
  4847.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.queueConnectionFactory.session.AcknowledgeMode' non impostata, viene utilizzato il default=AUTO_ACKNOWLEDGE, errore:"+e.getMessage(),e);
  4848.                 this.acknowledgeModeSessioneConnectionFactory = javax.jms.Session.AUTO_ACKNOWLEDGE; // Default
  4849.             }    
  4850.         }

  4851.         return this.acknowledgeModeSessioneConnectionFactory;
  4852.     }








  4853.     /* ********  CODE JMS DI OPENSPCOOP  ******** */

  4854.     public java.util.Map<String,String> getJNDIQueueName(boolean receiverJMSActive,boolean senderJMSActive){
  4855.         java.util.Map<String,String> table = new java.util.HashMap<>();
  4856.         try{
  4857.             boolean ricezioneContenutiApplicativi = !receiverJMSActive;
  4858.             boolean ricezioneBuste = !receiverJMSActive;
  4859.             boolean consegnaContenutiApplicativi = !senderJMSActive;
  4860.             boolean inoltroBuste = !senderJMSActive;
  4861.             boolean inoltroRisposte = !senderJMSActive;
  4862.             boolean imbustamento = !senderJMSActive;
  4863.             boolean imbustamentoRisposte = !senderJMSActive;
  4864.             boolean sbustamento=!senderJMSActive;
  4865.             boolean sbustamentoRisposte=!senderJMSActive;
  4866.             java.util.Enumeration<?> en = this.reader.propertyNames();
  4867.             for (; en.hasMoreElements() ;) {
  4868.                 String property = (String) en.nextElement();
  4869.                 if(property.startsWith("org.openspcoop2.pdd.queue.")){
  4870.                     String key = (property.substring("org.openspcoop2.pdd.queue.".length()));
  4871.                     if(key != null)
  4872.                         key = key.trim();
  4873.                     String value = this.reader.getValueConvertEnvProperties(property);
  4874.                     if(value!=null)
  4875.                         value = value.trim();
  4876.                     if(receiverJMSActive){
  4877.                         if("ricezioneContenutiApplicativi".equals(key) && value!=null){
  4878.                             table.put(RicezioneContenutiApplicativi.ID_MODULO, value);
  4879.                             ricezioneContenutiApplicativi = true;
  4880.                         }else if("ricezioneBuste".equals(key) && value!=null){
  4881.                             table.put(RicezioneBuste.ID_MODULO, value);
  4882.                             ricezioneBuste = true;
  4883.                         }
  4884.                     }
  4885.                     if(senderJMSActive){
  4886.                         if("inoltroBuste".equals(key) && value!=null){
  4887.                             table.put(InoltroBuste.ID_MODULO, value);
  4888.                             inoltroBuste = true;
  4889.                         }else if("inoltroRisposte".equals(key) && value!=null){
  4890.                             table.put(InoltroRisposte.ID_MODULO, value);
  4891.                             inoltroRisposte = true;
  4892.                         }else if("consegnaContenutiApplicativi".equals(key) && value!=null){
  4893.                             table.put(ConsegnaContenutiApplicativi.ID_MODULO, value);
  4894.                             consegnaContenutiApplicativi = true;
  4895.                         }else if("imbustamento".equals(key) && value!=null){
  4896.                             table.put(Imbustamento.ID_MODULO, value);
  4897.                             imbustamento = true;
  4898.                         }else if("imbustamentoRisposte".equals(key) && value!=null){
  4899.                             table.put(ImbustamentoRisposte.ID_MODULO, value);
  4900.                             imbustamentoRisposte = true;
  4901.                         }else if("sbustamento".equals(key) && value!=null){
  4902.                             table.put(Sbustamento.ID_MODULO, value);
  4903.                             sbustamento = true;
  4904.                         }else if("sbustamentoRisposte".equals(key) && value!=null){
  4905.                             table.put(SbustamentoRisposte.ID_MODULO, value);
  4906.                             sbustamentoRisposte = true;
  4907.                         }
  4908.                     }
  4909.                 }
  4910.             }


  4911.             if(ricezioneContenutiApplicativi==false){
  4912.                 this.logError("Riscontrato errore durante la lettura dei nomi JNDI delle code di openspcoop: coda org.openspcoop2.pdd.queue.ricezioneContenutiApplicativi non definita");
  4913.                 return null;
  4914.             }
  4915.             if(ricezioneBuste==false){
  4916.                 this.logError("Riscontrato errore durante la lettura dei nomi JNDI delle code di openspcoop: coda org.openspcoop2.pdd.queue.ricezioneBuste non definita");
  4917.                 return null;
  4918.             }
  4919.             if(consegnaContenutiApplicativi==false){
  4920.                 this.logError("Riscontrato errore durante la lettura dei nomi JNDI delle code di openspcoop: coda org.openspcoop2.pdd.queue.consegnaContenutiApplicativi non definita");
  4921.                 return null;
  4922.             }
  4923.             if(inoltroBuste==false){
  4924.                 this.logError("Riscontrato errore durante la lettura dei nomi JNDI delle code di openspcoop: coda org.openspcoop2.pdd.queue.inoltroBuste non definita");
  4925.                 return null;
  4926.             }
  4927.             if(inoltroRisposte==false){
  4928.                 this.logError("Riscontrato errore durante la lettura dei nomi JNDI delle code di openspcoop: coda org.openspcoop2.pdd.queue.inoltroRisposte non definita");
  4929.                 return null;
  4930.             }
  4931.             if(imbustamento==false){
  4932.                 this.logError("Riscontrato errore durante la lettura dei nomi JNDI delle code di openspcoop: coda org.openspcoop2.pdd.queue.imbustamento non definita");
  4933.                 return null;
  4934.             }if(imbustamentoRisposte==false){
  4935.                 this.logError("Riscontrato errore durante la lettura dei nomi JNDI delle code di openspcoop: coda org.openspcoop2.pdd.queue.imbustamentoRisposte non definita");
  4936.                 return null;
  4937.             }else if(sbustamentoRisposte==false){
  4938.                 this.logError("Riscontrato errore durante la lettura dei nomi JNDI delle code di openspcoop: coda org.openspcoop2.pdd.queue.sbustamentoRisposte non definita");
  4939.                 return null;
  4940.             }
  4941.             if(sbustamento==false){
  4942.                 this.logError("Riscontrato errore durante la lettura dei nomi JNDI delle code di openspcoop: coda org.openspcoop2.pdd.queue.sbustamento non definita");
  4943.                 return null;
  4944.             }
  4945.             return table;

  4946.         }catch(java.lang.Exception e) {
  4947.             this.logError("Riscontrato errore durante la lettura dei nomi JNDI delle code di openspcoop 'org.openspcoop2.pdd.queue.property.*': "+e.getMessage(),e);
  4948.             return null;
  4949.         }    
  4950.     }

  4951.     /**
  4952.      * Restituisce le proprieta' da utilizzare nel contesto JNDI di lookup per localizzare le code.
  4953.      *
  4954.      * @return proprieta' da utilizzare con il contesto JNDI di lookup per localizzare le code.
  4955.      *
  4956.      */
  4957.     private java.util.Properties jndiContext_CodeInterne = null;
  4958.     public java.util.Properties getJNDIContext_CodeInterne() {  
  4959.         if(this.jndiContext_CodeInterne==null){
  4960.             java.util.Properties prop = new java.util.Properties();
  4961.             try{

  4962.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.queue.property.");
  4963.                 this.jndiContext_CodeInterne = prop;

  4964.             }catch(java.lang.Exception e) {
  4965.                 this.logError("Riscontrato errore durante la lettura delle propriete' JNDI delle code di openspcoop 'org.openspcoop2.pdd.queue.property.*': "+e.getMessage(),e);
  4966.                 this.jndiContext_CodeInterne = null;
  4967.             }    
  4968.         }

  4969.         return this.jndiContext_CodeInterne;
  4970.     }














  4971.     /* ********  Timer EJB DI OPENSPCOOP  ******** */

  4972.     public java.util.Map<String,String> getJNDITimerEJBName(){
  4973.         java.util.Map<String,String> table = new java.util.HashMap<>();
  4974.         try{
  4975.             boolean gestoreBusteNonRiscontrate = false;
  4976.             boolean gestoreMessaggi = false;
  4977.             boolean gestorePuliziaMessaggiAnomali = false;
  4978.             boolean gestoreRepositoryBuste = false;
  4979.             java.util.Enumeration<?> en = this.reader.propertyNames();
  4980.             for (; en.hasMoreElements() ;) {
  4981.                 String property = (String) en.nextElement();
  4982.                 if(property.startsWith("org.openspcoop2.pdd.timer.")){
  4983.                     String key = (property.substring("org.openspcoop2.pdd.timer.".length()));
  4984.                     if(key != null)
  4985.                         key = key.trim();
  4986.                     String value = this.reader.getValueConvertEnvProperties(property);
  4987.                     if(value!=null)
  4988.                         value = value.trim();
  4989.                     if("gestoreBusteNonRiscontrate".equals(key) && value!=null){
  4990.                         table.put(TimerGestoreBusteNonRiscontrate.ID_MODULO, value);
  4991.                         gestoreBusteNonRiscontrate = true;
  4992.                     }else if("gestoreMessaggi".equals(key) && value!=null){
  4993.                         table.put(TimerGestoreMessaggi.ID_MODULO, value);
  4994.                         gestoreMessaggi = true;
  4995.                     }else if("gestorePuliziaMessaggiAnomali".equals(key) && value!=null){
  4996.                         table.put(TimerGestorePuliziaMessaggiAnomali.ID_MODULO, value);
  4997.                         gestorePuliziaMessaggiAnomali = true;
  4998.                     }else if("gestoreRepositoryBuste".equals(key) && value!=null){
  4999.                         table.put(TimerGestoreRepositoryBuste.ID_MODULO, value);
  5000.                         gestoreRepositoryBuste = true;
  5001.                     }
  5002.                 }
  5003.             }


  5004.             if(gestoreBusteNonRiscontrate==false && this.isTimerGestoreRiscontriRicevuteAbilitato()){
  5005.                 this.logError("Riscontrato errore durante la lettura dei nomi JNDI dei timer openspcoop: timer org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate non definito");
  5006.                 return null;
  5007.             }
  5008.             if(gestoreMessaggi==false && this.isTimerGestoreMessaggiAbilitato()){
  5009.                 this.logError("Riscontrato errore durante la lettura dei nomi JNDI dei timer openspcoop: timer org.openspcoop2.pdd.timer.gestoreMessaggi non definito");
  5010.                 return null;
  5011.             }
  5012.             if(gestorePuliziaMessaggiAnomali==false && this.isTimerGestorePuliziaMessaggiAnomaliAbilitato()){
  5013.                 this.logError("Riscontrato errore durante la lettura dei nomi JNDI dei timer openspcoop: timer org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali non definito");
  5014.                 return null;
  5015.             }
  5016.             if(gestoreRepositoryBuste==false && this.isTimerGestoreRepositoryBusteAbilitato()){
  5017.                 this.logError("Riscontrato errore durante la lettura dei nomi JNDI dei timer openspcoop: timer org.openspcoop2.pdd.timer.gestoreRepositoryBuste  non definito");
  5018.                 return null;
  5019.             }
  5020.             return table;

  5021.         }catch(java.lang.Exception e) {
  5022.             this.logError("Riscontrato errore durante la lettura dei nomi JNDI delle code di openspcoop 'org.openspcoop2.pdd.queue.property.*': "+e.getMessage(),e);
  5023.             return null;
  5024.         }    
  5025.     }

  5026.     /**
  5027.      * Restituisce le proprieta' da utilizzare nel contesto JNDI di lookup per localizzare i timer.
  5028.      *
  5029.      * @return proprieta' da utilizzare con il contesto JNDI di lookup per localizzare i timer.
  5030.      *
  5031.      */
  5032.     private java.util.Properties jndiContext_TimerEJB = null;
  5033.     public java.util.Properties getJNDIContext_TimerEJB() {
  5034.         if(this.jndiContext_TimerEJB==null){
  5035.             java.util.Properties prop = new java.util.Properties();
  5036.             try{

  5037.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.timer.property.");
  5038.                 this.jndiContext_TimerEJB = prop;

  5039.             }catch(java.lang.Exception e) {
  5040.                 this.logError("Riscontrato errore durante la lettura delle propriete' JNDI dei timer di openspcoop 'org.openspcoop2.pdd.timer.property.*': "+e.getMessage(),e);
  5041.                 this.jndiContext_TimerEJB = null;
  5042.             }    
  5043.         }

  5044.         return this.jndiContext_TimerEJB;
  5045.     }
  5046.    
  5047.     private Boolean isTimerAutoStart_StopTimer = null;
  5048.     public boolean isTimerAutoStart_StopTimer(){
  5049.         if(this.isTimerAutoStart_StopTimer==null){
  5050.             try{  
  5051.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.autoStart.stop");

  5052.                 if(value!=null){
  5053.                     value = value.trim();
  5054.                     this.isTimerAutoStart_StopTimer = Boolean.parseBoolean(value);
  5055.                 }else{
  5056.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.autoStart.stop' non impostata, viene utilizzato il default=true");
  5057.                     this.isTimerAutoStart_StopTimer = true;
  5058.                 }

  5059.             }catch(java.lang.Exception e) {
  5060.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.autoStart.stop', viene utilizzato il default=true, errore:"+e.getMessage(),e);
  5061.                 this.isTimerAutoStart_StopTimer = true;
  5062.             }
  5063.         }

  5064.         return this.isTimerAutoStart_StopTimer;
  5065.     }
  5066.    
  5067.    
  5068.    

  5069.    
  5070.     // GestoreRiscontriRicevute
  5071.    
  5072.     /**
  5073.      * Restituisce l'indicazione se avviare il timer
  5074.      *
  5075.      * @return Restituisce indicazione se avviare il timer
  5076.      *
  5077.      */
  5078.     private Boolean isTimerGestoreRiscontriRicevuteAbilitato = null;
  5079.     public boolean isTimerGestoreRiscontriRicevuteAbilitato(){
  5080.         if(this.isTimerGestoreRiscontriRicevuteAbilitato==null){
  5081.             try{  
  5082.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.enable");

  5083.                 if(value!=null){
  5084.                     value = value.trim();
  5085.                     this.isTimerGestoreRiscontriRicevuteAbilitato = Boolean.parseBoolean(value);
  5086.                 }else{
  5087.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.enable' non impostata, viene utilizzato il default=true");
  5088.                     this.isTimerGestoreRiscontriRicevuteAbilitato = true;
  5089.                 }

  5090.             }catch(java.lang.Exception e) {
  5091.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.enable', viene utilizzato il default=true, errore:"+e.getMessage(),e);
  5092.                 this.isTimerGestoreRiscontriRicevuteAbilitato = true;
  5093.             }
  5094.         }

  5095.         return this.isTimerGestoreRiscontriRicevuteAbilitato;
  5096.     }
  5097.    
  5098.     /**
  5099.      * Restituisce l'indicazione se registrare su log le queries
  5100.      *
  5101.      * @return Restituisce indicazione se registrare su log le queries
  5102.      *
  5103.      */
  5104.     private Boolean isTimerGestoreRiscontriRicevuteAbilitatoLog = null;
  5105.     public boolean isTimerGestoreRiscontriRicevuteAbilitatoLog(){
  5106.         if(this.isTimerGestoreRiscontriRicevuteAbilitatoLog==null){
  5107.             try{  
  5108.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.logQuery");

  5109.                 if(value!=null){
  5110.                     value = value.trim();
  5111.                     this.isTimerGestoreRiscontriRicevuteAbilitatoLog = Boolean.parseBoolean(value);
  5112.                 }else{
  5113.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.logQuery' non impostata, viene utilizzato il default=false");
  5114.                     this.isTimerGestoreRiscontriRicevuteAbilitatoLog = false;
  5115.                 }

  5116.             }catch(java.lang.Exception e) {
  5117.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.logQuery', viene utilizzato il default=false, errore:"+e.getMessage(),e);
  5118.                 this.isTimerGestoreRiscontriRicevuteAbilitatoLog = false;
  5119.             }
  5120.         }

  5121.         return this.isTimerGestoreRiscontriRicevuteAbilitatoLog;
  5122.     }
  5123.    
  5124.     /**
  5125.      * Restituisce l'indicazione sul numero di messaggi alla volta processati
  5126.      *
  5127.      * @return Restituisce indicazione sul numero di messaggi alla volta processati
  5128.      *
  5129.      */
  5130.     private Integer getTimerGestoreRiscontriRicevuteLimit = null;
  5131.     public int getTimerGestoreRiscontriRicevuteLimit(){
  5132.         if(this.getTimerGestoreRiscontriRicevuteLimit==null){
  5133.             try{  
  5134.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.query.limit");

  5135.                 if(value!=null){
  5136.                     value = value.trim();
  5137.                     this.getTimerGestoreRiscontriRicevuteLimit = Integer.parseInt(value);
  5138.                 }else{
  5139.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.query.limit' non impostata, viene utilizzato il default="+CostantiPdD.LIMIT_MESSAGGI_GESTORI);
  5140.                     this.getTimerGestoreRiscontriRicevuteLimit = CostantiPdD.LIMIT_MESSAGGI_GESTORI;
  5141.                 }

  5142.             }catch(java.lang.Exception e) {
  5143.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.query.limit', viene utilizzato il default="+CostantiPdD.LIMIT_MESSAGGI_GESTORI+", errore:"+e.getMessage(),e);
  5144.                 this.getTimerGestoreRiscontriRicevuteLimit = CostantiPdD.LIMIT_MESSAGGI_GESTORI;
  5145.             }
  5146.         }

  5147.         return this.getTimerGestoreRiscontriRicevuteLimit;
  5148.     }
  5149.    
  5150.     private Integer getTimerGestoreRiscontriRicevuteLockMaxLife = null;
  5151.     public int getTimerGestoreRiscontriRicevuteLockMaxLife() {  
  5152.         if(this.getTimerGestoreRiscontriRicevuteLockMaxLife==null){
  5153.             try{
  5154.                 String name = null;
  5155.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.lock.maxLife");

  5156.                 if(name!=null){
  5157.                     name = name.trim();
  5158.                     this.getTimerGestoreRiscontriRicevuteLockMaxLife = java.lang.Integer.parseInt(name);
  5159.                 }else{
  5160.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.lock.maxLife' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_MAX_LIFE);
  5161.                     this.getTimerGestoreRiscontriRicevuteLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  5162.                 }
  5163.             }catch(java.lang.Exception e) {
  5164.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.lock.maxLife' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_MAX_LIFE+", errore:"+e.getMessage(),e);
  5165.                 this.getTimerGestoreRiscontriRicevuteLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  5166.             }  
  5167.             if(this.getTimerGestoreRiscontriRicevuteLockMaxLife!=null && this.getTimerGestoreRiscontriRicevuteLockMaxLife>0) {
  5168.                 // trasformo in millisecondi l'informazione fornita in secondi
  5169.                 this.getTimerGestoreRiscontriRicevuteLockMaxLife = this.getTimerGestoreRiscontriRicevuteLockMaxLife *1000;
  5170.             }
  5171.         }

  5172.         if(this.getTimerGestoreRiscontriRicevuteLockMaxLife!=null) {
  5173.             return this.getTimerGestoreRiscontriRicevuteLockMaxLife.intValue();
  5174.         }
  5175.         return -1;
  5176.     }
  5177.    
  5178.     private Integer getTimerGestoreRiscontriRicevuteLockIdleTime = null;
  5179.     public int getTimerGestoreRiscontriRicevuteLockIdleTime() {
  5180.         if(this.getTimerGestoreRiscontriRicevuteLockIdleTime==null){
  5181.             try{
  5182.                 String name = null;
  5183.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.lock.idleTime");

  5184.                 if(name!=null){
  5185.                     name = name.trim();
  5186.                     this.getTimerGestoreRiscontriRicevuteLockIdleTime = java.lang.Integer.parseInt(name);
  5187.                 }else{
  5188.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.lock.idleTime' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_IDLE_TIME);
  5189.                     this.getTimerGestoreRiscontriRicevuteLockIdleTime = CostantiPdD.TIMER_LOCK_IDLE_TIME;
  5190.                 }
  5191.             }catch(java.lang.Exception e) {
  5192.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.lock.idleTime' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_IDLE_TIME+", errore:"+e.getMessage(),e);
  5193.                 this.getTimerGestoreRiscontriRicevuteLockIdleTime = CostantiPdD.TIMER_LOCK_IDLE_TIME;
  5194.             }
  5195.             if(this.getTimerGestoreRiscontriRicevuteLockIdleTime!=null && this.getTimerGestoreRiscontriRicevuteLockIdleTime>0) {
  5196.                 // trasformo in millisecondi l'informazione fornita in secondi
  5197.                 this.getTimerGestoreRiscontriRicevuteLockIdleTime = this.getTimerGestoreRiscontriRicevuteLockIdleTime *1000;
  5198.             }
  5199.         }

  5200.         if(this.getTimerGestoreRiscontriRicevuteLockIdleTime!=null) {
  5201.             return this.getTimerGestoreRiscontriRicevuteLockIdleTime.intValue();
  5202.         }
  5203.         return -1;
  5204.     }
  5205.    
  5206.     private Long getTimerGestoreRiscontriRicevuteGetLockAttesaAttiva = null;
  5207.     public long getTimerGestoreRiscontriRicevuteGetLockAttesaAttiva() {
  5208.         if(this.getTimerGestoreRiscontriRicevuteGetLockAttesaAttiva==null){
  5209.             String pName = "org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.lock.attesaAttiva";
  5210.             try{
  5211.                 String name = null;
  5212.                 name = this.reader.getValueConvertEnvProperties(pName);

  5213.                 if(name!=null){
  5214.                     name = name.trim();
  5215.                     long time = java.lang.Long.parseLong(name);
  5216.                     this.getTimerGestoreRiscontriRicevuteGetLockAttesaAttiva = time*1000;
  5217.                 }else{
  5218.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA);
  5219.                     this.getTimerGestoreRiscontriRicevuteGetLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  5220.                 }

  5221.             }catch(java.lang.Exception e) {
  5222.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA+", errore:"+e.getMessage(),e);
  5223.                 this.getTimerGestoreRiscontriRicevuteGetLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  5224.             }    
  5225.         }

  5226.         return this.getTimerGestoreRiscontriRicevuteGetLockAttesaAttiva;
  5227.     }

  5228.     private Integer getTimerGestoreRiscontriRicevuteGetLockCheckInterval = null;
  5229.     public int getTimerGestoreRiscontriRicevuteGetLockCheckInterval() {
  5230.         if(this.getTimerGestoreRiscontriRicevuteGetLockCheckInterval==null){
  5231.             String pName = "org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.lock.check";
  5232.             try{
  5233.                 String name = null;
  5234.                 name = this.reader.getValueConvertEnvProperties(pName);

  5235.                 if(name!=null){
  5236.                     name = name.trim();
  5237.                     int time = java.lang.Integer.parseInt(name);
  5238.                     this.getTimerGestoreRiscontriRicevuteGetLockCheckInterval = time;
  5239.                 }else{
  5240.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL);
  5241.                     this.getTimerGestoreRiscontriRicevuteGetLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  5242.                 }
  5243.             }catch(java.lang.Exception e) {
  5244.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL+", errore:"+e.getMessage(),e);
  5245.                 this.getTimerGestoreRiscontriRicevuteGetLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  5246.             }  
  5247.         }

  5248.         return this.getTimerGestoreRiscontriRicevuteGetLockCheckInterval;
  5249.     }
  5250.    
  5251.    
  5252.    
  5253.    
  5254.     // GestoreMessaggi
  5255.    
  5256.     /**
  5257.      * Restituisce l'indicazione se avviare il timer
  5258.      *
  5259.      * @return Restituisce indicazione se avviare il timer
  5260.      *
  5261.      */
  5262.     private Boolean isTimerGestoreMessaggiAbilitato = null;
  5263.     public boolean isTimerGestoreMessaggiAbilitato(){
  5264.         if(this.isTimerGestoreMessaggiAbilitato==null){
  5265.             try{  
  5266.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreMessaggi.enable");

  5267.                 if(value!=null){
  5268.                     value = value.trim();
  5269.                     this.isTimerGestoreMessaggiAbilitato = Boolean.parseBoolean(value);
  5270.                 }else{
  5271.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.enable' non impostata, viene utilizzato il default=true");
  5272.                     this.isTimerGestoreMessaggiAbilitato = true;
  5273.                 }

  5274.             }catch(java.lang.Exception e) {
  5275.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.enable', viene utilizzato il default=true, errore:"+e.getMessage(),e);
  5276.                 this.isTimerGestoreMessaggiAbilitato = true;
  5277.             }
  5278.         }

  5279.         return this.isTimerGestoreMessaggiAbilitato;
  5280.     }
  5281.    
  5282.     private Boolean isTimerGestoreMessaggiPuliziaMessaggiEliminatiAbilitata = null;
  5283.     public boolean isTimerGestoreMessaggiPuliziaMessaggiEliminatiAbilitata(){
  5284.         if(this.isTimerGestoreMessaggiPuliziaMessaggiEliminatiAbilitata==null){
  5285.             try{  
  5286.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreMessaggi.puliziaMessaggiEliminati.enable");

  5287.                 if(value!=null){
  5288.                     value = value.trim();
  5289.                     this.isTimerGestoreMessaggiPuliziaMessaggiEliminatiAbilitata = Boolean.parseBoolean(value);
  5290.                 }else{
  5291.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.puliziaMessaggiEliminati.enable' non impostata, viene utilizzato il default=true");
  5292.                     this.isTimerGestoreMessaggiPuliziaMessaggiEliminatiAbilitata = true;
  5293.                 }

  5294.             }catch(java.lang.Exception e) {
  5295.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.puliziaMessaggiEliminati.enable', viene utilizzato il default=true, errore:"+e.getMessage(),e);
  5296.                 this.isTimerGestoreMessaggiPuliziaMessaggiEliminatiAbilitata = true;
  5297.             }
  5298.         }

  5299.         return this.isTimerGestoreMessaggiPuliziaMessaggiEliminatiAbilitata;
  5300.     }
  5301.    
  5302.     private Boolean isTimerGestoreMessaggiPuliziaMessaggiScadutiAbilitata = null;
  5303.     public boolean isTimerGestoreMessaggiPuliziaMessaggiScadutiAbilitata(){
  5304.         if(this.isTimerGestoreMessaggiPuliziaMessaggiScadutiAbilitata==null){
  5305.             try{  
  5306.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreMessaggi.puliziaMessaggiScaduti.enable");

  5307.                 if(value!=null){
  5308.                     value = value.trim();
  5309.                     this.isTimerGestoreMessaggiPuliziaMessaggiScadutiAbilitata = Boolean.parseBoolean(value);
  5310.                 }else{
  5311.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.puliziaMessaggiScaduti.enable' non impostata, viene utilizzato il default=true");
  5312.                     this.isTimerGestoreMessaggiPuliziaMessaggiScadutiAbilitata = true;
  5313.                 }

  5314.             }catch(java.lang.Exception e) {
  5315.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.puliziaMessaggiScaduti.enable', viene utilizzato il default=true, errore:"+e.getMessage(),e);
  5316.                 this.isTimerGestoreMessaggiPuliziaMessaggiScadutiAbilitata = true;
  5317.             }
  5318.         }

  5319.         return this.isTimerGestoreMessaggiPuliziaMessaggiScadutiAbilitata;
  5320.     }
  5321.    
  5322.     private Boolean isTimerGestoreMessaggiPuliziaMessaggiNonGestitiAbilitata = null;
  5323.     public boolean isTimerGestoreMessaggiPuliziaMessaggiNonGestitiAbilitata(){
  5324.         if(this.isTimerGestoreMessaggiPuliziaMessaggiNonGestitiAbilitata==null){
  5325.             try{  
  5326.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreMessaggi.puliziaMessaggiNonGestiti.enable");

  5327.                 if(value!=null){
  5328.                     value = value.trim();
  5329.                     this.isTimerGestoreMessaggiPuliziaMessaggiNonGestitiAbilitata = Boolean.parseBoolean(value);
  5330.                 }else{
  5331.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.puliziaMessaggiNonGestiti.enable' non impostata, viene utilizzato il default=true");
  5332.                     this.isTimerGestoreMessaggiPuliziaMessaggiNonGestitiAbilitata = true;
  5333.                 }

  5334.             }catch(java.lang.Exception e) {
  5335.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.puliziaMessaggiNonGestiti.enable', viene utilizzato il default=true, errore:"+e.getMessage(),e);
  5336.                 this.isTimerGestoreMessaggiPuliziaMessaggiNonGestitiAbilitata = true;
  5337.             }
  5338.         }

  5339.         return this.isTimerGestoreMessaggiPuliziaMessaggiNonGestitiAbilitata;
  5340.     }
  5341.    
  5342.     private Boolean isTimerGestoreMessaggiPuliziaCorrelazioneApplicativaAbilitata = null;
  5343.     public boolean isTimerGestoreMessaggiPuliziaCorrelazioneApplicativaAbilitata(){
  5344.         if(this.isTimerGestoreMessaggiPuliziaCorrelazioneApplicativaAbilitata==null){
  5345.             try{  
  5346.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreMessaggi.puliziaCorrelazioneApplicativa.enable");

  5347.                 if(value!=null){
  5348.                     value = value.trim();
  5349.                     this.isTimerGestoreMessaggiPuliziaCorrelazioneApplicativaAbilitata = Boolean.parseBoolean(value);
  5350.                 }else{
  5351.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.puliziaCorrelazioneApplicativa.enable' non impostata, viene utilizzato il default=true");
  5352.                     this.isTimerGestoreMessaggiPuliziaCorrelazioneApplicativaAbilitata = true;
  5353.                 }

  5354.             }catch(java.lang.Exception e) {
  5355.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.puliziaCorrelazioneApplicativa.enable', viene utilizzato il default=true, errore:"+e.getMessage(),e);
  5356.                 this.isTimerGestoreMessaggiPuliziaCorrelazioneApplicativaAbilitata = true;
  5357.             }
  5358.         }

  5359.         return this.isTimerGestoreMessaggiPuliziaCorrelazioneApplicativaAbilitata;
  5360.     }
  5361.    
  5362.     /**
  5363.      * Restituisce l'indicazione se usare l'order by nelle queries
  5364.      *
  5365.      * @return Restituisce indicazione se usare l'order by nelle queries
  5366.      *
  5367.      */
  5368.     private Boolean isTimerGestoreMessaggiAbilitatoOrderBy = null;
  5369.     public boolean isTimerGestoreMessaggiAbilitatoOrderBy(){
  5370.         if(this.isTimerGestoreMessaggiAbilitatoOrderBy==null){
  5371.             try{  
  5372.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreMessaggi.orderBy");

  5373.                 if(value!=null){
  5374.                     value = value.trim();
  5375.                     this.isTimerGestoreMessaggiAbilitatoOrderBy = Boolean.parseBoolean(value);
  5376.                 }else{
  5377.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.orderBy' non impostata, viene utilizzato il default=false");
  5378.                     this.isTimerGestoreMessaggiAbilitatoOrderBy = false;
  5379.                 }

  5380.             }catch(java.lang.Exception e) {
  5381.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.orderBy', viene utilizzato il default=false, errore:"+e.getMessage(),e);
  5382.                 this.isTimerGestoreMessaggiAbilitatoOrderBy = false;
  5383.             }
  5384.         }

  5385.         return this.isTimerGestoreMessaggiAbilitatoOrderBy;
  5386.     }
  5387.    
  5388.     /**
  5389.      * Restituisce l'indicazione se registrare su log le queries
  5390.      *
  5391.      * @return Restituisce indicazione se registrare su log le queries
  5392.      *
  5393.      */
  5394.     private Boolean isTimerGestoreMessaggiAbilitatoLog = null;
  5395.     public boolean isTimerGestoreMessaggiAbilitatoLog(){
  5396.         if(this.isTimerGestoreMessaggiAbilitatoLog==null){
  5397.             try{  
  5398.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreMessaggi.logQuery");

  5399.                 if(value!=null){
  5400.                     value = value.trim();
  5401.                     this.isTimerGestoreMessaggiAbilitatoLog = Boolean.parseBoolean(value);
  5402.                 }else{
  5403.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.logQuery' non impostata, viene utilizzato il default=false");
  5404.                     this.isTimerGestoreMessaggiAbilitatoLog = false;
  5405.                 }

  5406.             }catch(java.lang.Exception e) {
  5407.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.logQuery', viene utilizzato il default=false, errore:"+e.getMessage(),e);
  5408.                 this.isTimerGestoreMessaggiAbilitatoLog = false;
  5409.             }
  5410.         }

  5411.         return this.isTimerGestoreMessaggiAbilitatoLog;
  5412.     }
  5413.    
  5414.     /**
  5415.      * Restituisce l'indicazione sul numero di messaggi alla volta processati
  5416.      *
  5417.      * @return Restituisce indicazione sul numero di messaggi alla volta processati
  5418.      *
  5419.      */
  5420.     private Integer getTimerGestoreMessaggiLimit = null;
  5421.     public int getTimerGestoreMessaggiLimit(){
  5422.         if(this.getTimerGestoreMessaggiLimit==null){
  5423.             try{  
  5424.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreMessaggi.query.limit");

  5425.                 if(value!=null){
  5426.                     value = value.trim();
  5427.                     this.getTimerGestoreMessaggiLimit = Integer.parseInt(value);
  5428.                 }else{
  5429.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.query.limit' non impostata, viene utilizzato il default="+CostantiPdD.LIMIT_MESSAGGI_GESTORI);
  5430.                     this.getTimerGestoreMessaggiLimit = CostantiPdD.LIMIT_MESSAGGI_GESTORI;
  5431.                 }

  5432.             }catch(java.lang.Exception e) {
  5433.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.query.limit', viene utilizzato il default="+CostantiPdD.LIMIT_MESSAGGI_GESTORI+", errore:"+e.getMessage(),e);
  5434.                 this.getTimerGestoreMessaggiLimit = CostantiPdD.LIMIT_MESSAGGI_GESTORI;
  5435.             }
  5436.         }

  5437.         return this.getTimerGestoreMessaggiLimit;
  5438.     }
  5439.    
  5440.     /**
  5441.      * Restituisce l'indicazione se devono essere verificate anche le connessioni rimaste attive
  5442.      *
  5443.      * @return Restituisce indicazione se devono essere verificate anche le connessioni rimaste attive
  5444.      *
  5445.      */
  5446.     private Boolean isTimerGestoreMessaggiVerificaConnessioniAttive = null;
  5447.     public boolean isTimerGestoreMessaggiVerificaConnessioniAttive(){
  5448.         if(this.isTimerGestoreMessaggiVerificaConnessioniAttive==null){
  5449.             try{  
  5450.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreMessaggi.verificaConnessioniAttive");

  5451.                 if(value!=null){
  5452.                     value = value.trim();
  5453.                     this.isTimerGestoreMessaggiVerificaConnessioniAttive = Boolean.parseBoolean(value);
  5454.                 }else{
  5455.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.verificaConnessioniAttive' non impostata, viene utilizzato il default=false");
  5456.                     this.isTimerGestoreMessaggiVerificaConnessioniAttive = false;
  5457.                 }

  5458.             }catch(java.lang.Exception e) {
  5459.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.verificaConnessioniAttive', viene utilizzato il default=false, errore:"+e.getMessage(),e);
  5460.                 this.isTimerGestoreMessaggiVerificaConnessioniAttive = false;
  5461.             }
  5462.         }

  5463.         return this.isTimerGestoreMessaggiVerificaConnessioniAttive;
  5464.     }
  5465.        
  5466.     private Integer getTimerGestoreMessaggiLockMaxLife = null;
  5467.     public int getTimerGestoreMessaggiLockMaxLife() {  
  5468.         if(this.getTimerGestoreMessaggiLockMaxLife==null){
  5469.             try{
  5470.                 String name = null;
  5471.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreMessaggi.lock.maxLife");

  5472.                 if(name!=null){
  5473.                     name = name.trim();
  5474.                     this.getTimerGestoreMessaggiLockMaxLife = java.lang.Integer.parseInt(name);
  5475.                 }else{
  5476.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.lock.maxLife' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_MAX_LIFE);
  5477.                     this.getTimerGestoreMessaggiLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  5478.                 }
  5479.             }catch(java.lang.Exception e) {
  5480.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.lock.maxLife' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_MAX_LIFE+", errore:"+e.getMessage(),e);
  5481.                 this.getTimerGestoreMessaggiLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  5482.             }
  5483.             if(this.getTimerGestoreMessaggiLockMaxLife!=null && this.getTimerGestoreMessaggiLockMaxLife>0) {
  5484.                 // trasformo in millisecondi l'informazione fornita in secondi
  5485.                 this.getTimerGestoreMessaggiLockMaxLife = this.getTimerGestoreMessaggiLockMaxLife *1000;
  5486.             }
  5487.         }

  5488.         if(this.getTimerGestoreMessaggiLockMaxLife!=null) {
  5489.             return this.getTimerGestoreMessaggiLockMaxLife.intValue();
  5490.         }
  5491.         return -1;
  5492.     }
  5493.    
  5494.     private Integer getTimerGestoreMessaggiLockIdleTime = null;
  5495.     public int getTimerGestoreMessaggiLockIdleTime() {  
  5496.         if(this.getTimerGestoreMessaggiLockIdleTime==null){
  5497.             try{
  5498.                 String name = null;
  5499.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreMessaggi.lock.idleTime");

  5500.                 if(name!=null){
  5501.                     name = name.trim();
  5502.                     this.getTimerGestoreMessaggiLockIdleTime = java.lang.Integer.parseInt(name);
  5503.                 }else{
  5504.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.lock.idleTime' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_IDLE_TIME);
  5505.                     this.getTimerGestoreMessaggiLockIdleTime = CostantiPdD.TIMER_LOCK_IDLE_TIME;
  5506.                 }
  5507.             }catch(java.lang.Exception e) {
  5508.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.lock.idleTime' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_IDLE_TIME+", errore:"+e.getMessage(),e);
  5509.                 this.getTimerGestoreMessaggiLockIdleTime = CostantiPdD.TIMER_LOCK_IDLE_TIME;
  5510.             }
  5511.             if(this.getTimerGestoreMessaggiLockIdleTime!=null && this.getTimerGestoreMessaggiLockIdleTime>0) {
  5512.                 // trasformo in millisecondi l'informazione fornita in secondi
  5513.                 this.getTimerGestoreMessaggiLockIdleTime = this.getTimerGestoreMessaggiLockIdleTime *1000;
  5514.             }
  5515.         }

  5516.         if(this.getTimerGestoreMessaggiLockIdleTime!=null) {
  5517.             return this.getTimerGestoreMessaggiLockIdleTime.intValue();
  5518.         }
  5519.         return -1;
  5520.     }
  5521.    
  5522.     private Long getTimerGestoreMessaggi_getLockAttesaAttiva = null;
  5523.     public long getTimerGestoreMessaggi_getLockAttesaAttiva() {
  5524.         if(this.getTimerGestoreMessaggi_getLockAttesaAttiva==null){
  5525.             String pName = "org.openspcoop2.pdd.timer.gestoreMessaggi.lock.attesaAttiva";
  5526.             try{
  5527.                 String name = null;
  5528.                 name = this.reader.getValueConvertEnvProperties(pName);

  5529.                 if(name!=null){
  5530.                     name = name.trim();
  5531.                     long time = java.lang.Long.parseLong(name);
  5532.                     this.getTimerGestoreMessaggi_getLockAttesaAttiva = time*1000;
  5533.                 }else{
  5534.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA);
  5535.                     this.getTimerGestoreMessaggi_getLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  5536.                 }

  5537.             }catch(java.lang.Exception e) {
  5538.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA+", errore:"+e.getMessage(),e);
  5539.                 this.getTimerGestoreMessaggi_getLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  5540.             }    
  5541.         }

  5542.         return this.getTimerGestoreMessaggi_getLockAttesaAttiva;
  5543.     }

  5544.     private Integer getTimerGestoreMessaggi_getLockCheckInterval = null;
  5545.     public int getTimerGestoreMessaggi_getLockCheckInterval() {
  5546.         if(this.getTimerGestoreMessaggi_getLockCheckInterval==null){
  5547.             String pName = "org.openspcoop2.pdd.timer.gestoreMessaggi.lock.check";
  5548.             try{
  5549.                 String name = null;
  5550.                 name = this.reader.getValueConvertEnvProperties(pName);

  5551.                 if(name!=null){
  5552.                     name = name.trim();
  5553.                     int time = java.lang.Integer.parseInt(name);
  5554.                     this.getTimerGestoreMessaggi_getLockCheckInterval = time;
  5555.                 }else{
  5556.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL);
  5557.                     this.getTimerGestoreMessaggi_getLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  5558.                 }
  5559.             }catch(java.lang.Exception e) {
  5560.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL+", errore:"+e.getMessage(),e);
  5561.                 this.getTimerGestoreMessaggi_getLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  5562.             }  
  5563.         }

  5564.         return this.getTimerGestoreMessaggi_getLockCheckInterval;
  5565.     }
  5566.    
  5567.    
  5568.    
  5569.    
  5570.     // GestorePuliziaMessaggiAnomali
  5571.    
  5572.     /**
  5573.      * Restituisce l'indicazione se avviare il timer
  5574.      *
  5575.      * @return Restituisce indicazione se avviare il timer
  5576.      *
  5577.      */
  5578.     private Boolean isTimerGestorePuliziaMessaggiAnomaliAbilitato = null;
  5579.     public boolean isTimerGestorePuliziaMessaggiAnomaliAbilitato(){
  5580.         if(this.isTimerGestorePuliziaMessaggiAnomaliAbilitato==null){
  5581.             try{  
  5582.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.enable");
  5583.                 if(value!=null){
  5584.                     value = value.trim();
  5585.                     this.isTimerGestorePuliziaMessaggiAnomaliAbilitato = Boolean.parseBoolean(value);
  5586.                 }else{
  5587.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.enable' non impostata, viene utilizzato il default=true");
  5588.                     this.isTimerGestorePuliziaMessaggiAnomaliAbilitato = true;
  5589.                 }

  5590.             }catch(java.lang.Exception e) {
  5591.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.enable', viene utilizzato il default=true, errore:"+e.getMessage(),e);
  5592.                 this.isTimerGestorePuliziaMessaggiAnomaliAbilitato = true;
  5593.             }
  5594.         }

  5595.         return this.isTimerGestorePuliziaMessaggiAnomaliAbilitato;
  5596.     }
  5597.    
  5598.     /**
  5599.      * Restituisce l'indicazione se usare l'order by nelle queries
  5600.      *
  5601.      * @return Restituisce indicazione se usare l'order by nelle queries
  5602.      *
  5603.      */
  5604.     private Boolean isTimerGestorePuliziaMessaggiAnomaliAbilitatoOrderBy = null;
  5605.     public boolean isTimerGestorePuliziaMessaggiAnomaliAbilitatoOrderBy(){
  5606.         if(this.isTimerGestorePuliziaMessaggiAnomaliAbilitatoOrderBy==null){
  5607.             try{  
  5608.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.orderBy");
  5609.                 if(value!=null){
  5610.                     value = value.trim();
  5611.                     this.isTimerGestorePuliziaMessaggiAnomaliAbilitatoOrderBy = Boolean.parseBoolean(value);
  5612.                 }else{
  5613.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.orderBy' non impostata, viene utilizzato il default=false");
  5614.                     this.isTimerGestorePuliziaMessaggiAnomaliAbilitatoOrderBy = false;
  5615.                 }

  5616.             }catch(java.lang.Exception e) {
  5617.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.orderBy', viene utilizzato il default=false, errore:"+e.getMessage(),e);
  5618.                 this.isTimerGestorePuliziaMessaggiAnomaliAbilitatoOrderBy = false;
  5619.             }
  5620.         }

  5621.         return this.isTimerGestorePuliziaMessaggiAnomaliAbilitatoOrderBy;
  5622.     }
  5623.    
  5624.     /**
  5625.      * Restituisce l'indicazione se registrare su log le queries
  5626.      *
  5627.      * @return Restituisce indicazione se registrare su log le queries
  5628.      *
  5629.      */
  5630.     private Boolean isTimerGestorePuliziaMessaggiAnomaliAbilitatoLog = null;
  5631.     public boolean isTimerGestorePuliziaMessaggiAnomaliAbilitatoLog(){
  5632.         if(this.isTimerGestorePuliziaMessaggiAnomaliAbilitatoLog==null){
  5633.             try{  
  5634.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.logQuery");
  5635.                 if(value!=null){
  5636.                     value = value.trim();
  5637.                     this.isTimerGestorePuliziaMessaggiAnomaliAbilitatoLog = Boolean.parseBoolean(value);
  5638.                 }else{
  5639.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.logQuery' non impostata, viene utilizzato il default=false");
  5640.                     this.isTimerGestorePuliziaMessaggiAnomaliAbilitatoLog = false;
  5641.                 }

  5642.             }catch(java.lang.Exception e) {
  5643.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.logQuery', viene utilizzato il default=false, errore:"+e.getMessage(),e);
  5644.                 this.isTimerGestorePuliziaMessaggiAnomaliAbilitatoLog = false;
  5645.             }
  5646.         }

  5647.         return this.isTimerGestorePuliziaMessaggiAnomaliAbilitatoLog;
  5648.     }

  5649.     /**
  5650.      * Restituisce l'indicazione sul numero di messaggi alla volta processati
  5651.      *
  5652.      * @return Restituisce indicazione sul numero di messaggi alla volta processati
  5653.      *
  5654.      */
  5655.     private Integer getTimerGestorePuliziaMessaggiAnomaliLimit = null;
  5656.     public int getTimerGestorePuliziaMessaggiAnomaliLimit(){
  5657.         if(this.getTimerGestorePuliziaMessaggiAnomaliLimit==null){
  5658.             try{  
  5659.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.query.limit");

  5660.                 if(value!=null){
  5661.                     value = value.trim();
  5662.                     this.getTimerGestorePuliziaMessaggiAnomaliLimit = Integer.parseInt(value);
  5663.                 }else{
  5664.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.query.limit' non impostata, viene utilizzato il default="+CostantiPdD.LIMIT_MESSAGGI_GESTORI);
  5665.                     this.getTimerGestorePuliziaMessaggiAnomaliLimit = CostantiPdD.LIMIT_MESSAGGI_GESTORI;
  5666.                 }

  5667.             }catch(java.lang.Exception e) {
  5668.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.query.limit', viene utilizzato il default="+CostantiPdD.LIMIT_MESSAGGI_GESTORI+", errore:"+e.getMessage(),e);
  5669.                 this.getTimerGestorePuliziaMessaggiAnomaliLimit = CostantiPdD.LIMIT_MESSAGGI_GESTORI;
  5670.             }
  5671.         }

  5672.         return this.getTimerGestorePuliziaMessaggiAnomaliLimit;
  5673.     }
  5674.    
  5675.     private Integer getTimerGestorePuliziaMessaggiAnomaliLockMaxLife = null;
  5676.     public int getTimerGestorePuliziaMessaggiAnomaliLockMaxLife() {
  5677.         if(this.getTimerGestorePuliziaMessaggiAnomaliLockMaxLife==null){
  5678.             try{
  5679.                 String name = null;
  5680.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.lock.maxLife");

  5681.                 if(name!=null){
  5682.                     name = name.trim();
  5683.                     this.getTimerGestorePuliziaMessaggiAnomaliLockMaxLife = java.lang.Integer.parseInt(name);
  5684.                 }else{
  5685.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.lock.maxLife' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_MAX_LIFE);
  5686.                     this.getTimerGestorePuliziaMessaggiAnomaliLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  5687.                 }
  5688.             }catch(java.lang.Exception e) {
  5689.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.lock.maxLife' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_MAX_LIFE+", errore:"+e.getMessage(),e);
  5690.                 this.getTimerGestorePuliziaMessaggiAnomaliLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  5691.             }  
  5692.             if(this.getTimerGestorePuliziaMessaggiAnomaliLockMaxLife!=null && this.getTimerGestorePuliziaMessaggiAnomaliLockMaxLife>0) {
  5693.                 // trasformo in millisecondi l'informazione fornita in secondi
  5694.                 this.getTimerGestorePuliziaMessaggiAnomaliLockMaxLife = this.getTimerGestorePuliziaMessaggiAnomaliLockMaxLife *1000;
  5695.             }
  5696.         }

  5697.         if(this.getTimerGestorePuliziaMessaggiAnomaliLockMaxLife!=null) {
  5698.             return this.getTimerGestorePuliziaMessaggiAnomaliLockMaxLife.intValue();
  5699.         }
  5700.         return -1;
  5701.     }
  5702.    
  5703.     private Integer getTimerGestorePuliziaMessaggiAnomaliLockIdleTime = null;
  5704.     public int getTimerGestorePuliziaMessaggiAnomaliLockIdleTime() {    
  5705.         if(this.getTimerGestorePuliziaMessaggiAnomaliLockIdleTime==null){
  5706.             try{
  5707.                 String name = null;
  5708.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.lock.idleTime");

  5709.                 if(name!=null){
  5710.                     name = name.trim();
  5711.                     this.getTimerGestorePuliziaMessaggiAnomaliLockIdleTime = java.lang.Integer.parseInt(name);
  5712.                 }else{
  5713.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.lock.idleTime' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_IDLE_TIME);
  5714.                     this.getTimerGestorePuliziaMessaggiAnomaliLockIdleTime = CostantiPdD.TIMER_LOCK_IDLE_TIME;
  5715.                 }
  5716.             }catch(java.lang.Exception e) {
  5717.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.lock.idleTime' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_IDLE_TIME+", errore:"+e.getMessage(),e);
  5718.                 this.getTimerGestorePuliziaMessaggiAnomaliLockIdleTime = CostantiPdD.TIMER_LOCK_IDLE_TIME;
  5719.             }
  5720.             if(this.getTimerGestorePuliziaMessaggiAnomaliLockIdleTime!=null && this.getTimerGestorePuliziaMessaggiAnomaliLockIdleTime>0) {
  5721.                 // trasformo in millisecondi l'informazione fornita in secondi
  5722.                 this.getTimerGestorePuliziaMessaggiAnomaliLockIdleTime = this.getTimerGestorePuliziaMessaggiAnomaliLockIdleTime *1000;
  5723.             }
  5724.         }

  5725.         if(this.getTimerGestorePuliziaMessaggiAnomaliLockIdleTime!=null) {
  5726.             return this.getTimerGestorePuliziaMessaggiAnomaliLockIdleTime.intValue();
  5727.         }
  5728.         return -1;
  5729.     }
  5730.    
  5731.     private Long getTimerGestorePuliziaMessaggiAnomali_getLockAttesaAttiva = null;
  5732.     public long getTimerGestorePuliziaMessaggiAnomali_getLockAttesaAttiva() {  
  5733.         if(this.getTimerGestorePuliziaMessaggiAnomali_getLockAttesaAttiva==null){
  5734.             String pName = "org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.lock.attesaAttiva";
  5735.             try{
  5736.                 String name = null;
  5737.                 name = this.reader.getValueConvertEnvProperties(pName);

  5738.                 if(name!=null){
  5739.                     name = name.trim();
  5740.                     long time = java.lang.Long.parseLong(name);
  5741.                     this.getTimerGestorePuliziaMessaggiAnomali_getLockAttesaAttiva = time*1000;
  5742.                 }else{
  5743.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA);
  5744.                     this.getTimerGestorePuliziaMessaggiAnomali_getLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  5745.                 }

  5746.             }catch(java.lang.Exception e) {
  5747.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA+", errore:"+e.getMessage(),e);
  5748.                 this.getTimerGestorePuliziaMessaggiAnomali_getLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  5749.             }    
  5750.         }

  5751.         return this.getTimerGestorePuliziaMessaggiAnomali_getLockAttesaAttiva;
  5752.     }

  5753.     private Integer getTimerGestorePuliziaMessaggiAnomali_getLockCheckInterval = null;
  5754.     public int getTimerGestorePuliziaMessaggiAnomali_getLockCheckInterval() {  
  5755.         if(this.getTimerGestorePuliziaMessaggiAnomali_getLockCheckInterval==null){
  5756.             String pName = "org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.lock.check";
  5757.             try{
  5758.                 String name = null;
  5759.                 name = this.reader.getValueConvertEnvProperties(pName);

  5760.                 if(name!=null){
  5761.                     name = name.trim();
  5762.                     int time = java.lang.Integer.parseInt(name);
  5763.                     this.getTimerGestorePuliziaMessaggiAnomali_getLockCheckInterval = time;
  5764.                 }else{
  5765.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL);
  5766.                     this.getTimerGestorePuliziaMessaggiAnomali_getLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  5767.                 }
  5768.             }catch(java.lang.Exception e) {
  5769.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL+", errore:"+e.getMessage(),e);
  5770.                 this.getTimerGestorePuliziaMessaggiAnomali_getLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  5771.             }  
  5772.         }

  5773.         return this.getTimerGestorePuliziaMessaggiAnomali_getLockCheckInterval;
  5774.     }
  5775.    
  5776.    
  5777.    
  5778.     // GestoreBuste
  5779.    
  5780.     /**
  5781.      * Restituisce l'indicazione se avviare il timer
  5782.      *
  5783.      * @return Restituisce indicazione se avviare il timer
  5784.      *
  5785.      */
  5786.     private Boolean isTimerGestoreRepositoryBusteAbilitato = null;
  5787.     public boolean isTimerGestoreRepositoryBusteAbilitato(){
  5788.         if(this.isTimerGestoreRepositoryBusteAbilitato==null){
  5789.             try{  
  5790.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreRepositoryBuste.enable");

  5791.                 if(value!=null){
  5792.                     value = value.trim();
  5793.                     this.isTimerGestoreRepositoryBusteAbilitato = Boolean.parseBoolean(value);
  5794.                 }else{
  5795.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreRepositoryBuste.enable' non impostata, viene utilizzato il default=true");
  5796.                     this.isTimerGestoreRepositoryBusteAbilitato = true;
  5797.                 }

  5798.             }catch(java.lang.Exception e) {
  5799.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreRepositoryBuste.enable', viene utilizzato il default=true, errore:"+e.getMessage(),e);
  5800.                 this.isTimerGestoreRepositoryBusteAbilitato = true;
  5801.             }
  5802.         }

  5803.         return this.isTimerGestoreRepositoryBusteAbilitato;
  5804.     }
  5805.     private Boolean isTimerGestoreRepositoryBusteAbilitatoInitialState = null;
  5806.     public boolean isTimerGestoreRepositoryBusteAbilitatoInitialState(){
  5807.         if(this.isTimerGestoreRepositoryBusteAbilitatoInitialState==null){
  5808.             try{  
  5809.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreRepositoryBuste.statoIniziale.enable");

  5810.                 if(value!=null){
  5811.                     value = value.trim();
  5812.                     this.isTimerGestoreRepositoryBusteAbilitatoInitialState = Boolean.parseBoolean(value);
  5813.                 }else{
  5814.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreRepositoryBuste.statoIniziale.enable' non impostata, viene utilizzato il default=true");
  5815.                     this.isTimerGestoreRepositoryBusteAbilitatoInitialState = true;
  5816.                 }

  5817.             }catch(java.lang.Exception e) {
  5818.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreRepositoryBuste.statoIniziale.enable', viene utilizzato il default=true, errore:"+e.getMessage(),e);
  5819.                 this.isTimerGestoreRepositoryBusteAbilitatoInitialState = true;
  5820.             }
  5821.         }

  5822.         return this.isTimerGestoreRepositoryBusteAbilitatoInitialState;
  5823.     }

  5824.     /**
  5825.      * Restituisce l'indicazione se usare l'order by nelle queries
  5826.      *
  5827.      * @return Restituisce indicazione se usare l'order by nelle queries
  5828.      *
  5829.      */
  5830.     private Boolean isTimerGestoreRepositoryBusteAbilitatoOrderBy = null;
  5831.     public boolean isTimerGestoreRepositoryBusteAbilitatoOrderBy(){
  5832.         if(this.isTimerGestoreRepositoryBusteAbilitatoOrderBy==null){
  5833.             try{  
  5834.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreRepositoryBuste.orderBy");

  5835.                 if(value!=null){
  5836.                     value = value.trim();
  5837.                     this.isTimerGestoreRepositoryBusteAbilitatoOrderBy = Boolean.parseBoolean(value);
  5838.                 }else{
  5839.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreRepositoryBuste.orderBy' non impostata, viene utilizzato il default=false");
  5840.                     this.isTimerGestoreRepositoryBusteAbilitatoOrderBy = false;
  5841.                 }

  5842.             }catch(java.lang.Exception e) {
  5843.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreRepositoryBuste.orderBy', viene utilizzato il default=false, errore:"+e.getMessage(),e);
  5844.                 this.isTimerGestoreRepositoryBusteAbilitatoOrderBy = false;
  5845.             }
  5846.         }

  5847.         return this.isTimerGestoreRepositoryBusteAbilitatoOrderBy;
  5848.     }
  5849.    
  5850.     /**
  5851.      * Restituisce l'indicazione se registrare su log le queries
  5852.      *
  5853.      * @return Restituisce indicazione se registrare su log le queries
  5854.      *
  5855.      */
  5856.     private Boolean isTimerGestoreRepositoryBusteAbilitatoLog = null;
  5857.     public boolean isTimerGestoreRepositoryBusteAbilitatoLog(){
  5858.         if(this.isTimerGestoreRepositoryBusteAbilitatoLog==null){
  5859.             try{  
  5860.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreRepositoryBuste.logQuery");

  5861.                 if(value!=null){
  5862.                     value = value.trim();
  5863.                     this.isTimerGestoreRepositoryBusteAbilitatoLog = Boolean.parseBoolean(value);
  5864.                 }else{
  5865.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreRepositoryBuste.logQuery' non impostata, viene utilizzato il default=false");
  5866.                     this.isTimerGestoreRepositoryBusteAbilitatoLog = false;
  5867.                 }

  5868.             }catch(java.lang.Exception e) {
  5869.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreRepositoryBuste.logQuery', viene utilizzato il default=false, errore:"+e.getMessage(),e);
  5870.                 this.isTimerGestoreRepositoryBusteAbilitatoLog = false;
  5871.             }
  5872.         }

  5873.         return this.isTimerGestoreRepositoryBusteAbilitatoLog;
  5874.     }
  5875.    
  5876.     /**
  5877.      * Restituisce l'indicazione sul numero di messaggi alla volta processati
  5878.      *
  5879.      * @return Restituisce indicazione sul numero di messaggi alla volta processati
  5880.      *
  5881.      */
  5882.     private Integer getTimerGestoreRepositoryBusteLimit = null;
  5883.     public int getTimerGestoreRepositoryBusteLimit(){
  5884.         if(this.getTimerGestoreRepositoryBusteLimit==null){
  5885.             try{  
  5886.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreRepositoryBuste.query.limit");

  5887.                 if(value!=null){
  5888.                     value = value.trim();
  5889.                     this.getTimerGestoreRepositoryBusteLimit = Integer.parseInt(value);
  5890.                 }else{
  5891.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreRepositoryBuste.query.limit' non impostata, viene utilizzato il default="+CostantiPdD.LIMIT_MESSAGGI_GESTORI);
  5892.                     this.getTimerGestoreRepositoryBusteLimit = CostantiPdD.LIMIT_MESSAGGI_GESTORI;
  5893.                 }

  5894.             }catch(java.lang.Exception e) {
  5895.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreRepositoryBuste.query.limit', viene utilizzato il default="+CostantiPdD.LIMIT_MESSAGGI_GESTORI+", errore:"+e.getMessage(),e);
  5896.                 this.getTimerGestoreRepositoryBusteLimit = CostantiPdD.LIMIT_MESSAGGI_GESTORI;
  5897.             }
  5898.         }

  5899.         return this.getTimerGestoreRepositoryBusteLimit;
  5900.     }
  5901.    
  5902.     private Integer getTimerGestoreRepositoryBusteLockMaxLife = null;
  5903.     public int getTimerGestoreRepositoryBusteLockMaxLife() {    
  5904.         if(this.getTimerGestoreRepositoryBusteLockMaxLife==null){
  5905.             try{
  5906.                 String name = null;
  5907.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreRepositoryBuste.lock.maxLife");

  5908.                 if(name!=null){
  5909.                     name = name.trim();
  5910.                     this.getTimerGestoreRepositoryBusteLockMaxLife = java.lang.Integer.parseInt(name);
  5911.                 }else{
  5912.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreRepositoryBuste.lock.maxLife' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_MAX_LIFE);
  5913.                     this.getTimerGestoreRepositoryBusteLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  5914.                 }
  5915.             }catch(java.lang.Exception e) {
  5916.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreRepositoryBuste.lock.maxLife' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_MAX_LIFE+", errore:"+e.getMessage(),e);
  5917.                 this.getTimerGestoreRepositoryBusteLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  5918.             }
  5919.             if(this.getTimerGestoreRepositoryBusteLockMaxLife!=null && this.getTimerGestoreRepositoryBusteLockMaxLife>0) {
  5920.                 // trasformo in millisecondi l'informazione fornita in secondi
  5921.                 this.getTimerGestoreRepositoryBusteLockMaxLife = this.getTimerGestoreRepositoryBusteLockMaxLife *1000;
  5922.             }
  5923.         }

  5924.         if(this.getTimerGestoreRepositoryBusteLockMaxLife!=null) {
  5925.             return this.getTimerGestoreRepositoryBusteLockMaxLife.intValue();
  5926.         }
  5927.         return -1;
  5928.     }
  5929.    
  5930.     private Integer getTimerGestoreRepositoryBusteLockIdleTime = null;
  5931.     public int getTimerGestoreRepositoryBusteLockIdleTime() {  
  5932.         if(this.getTimerGestoreRepositoryBusteLockIdleTime==null){
  5933.             try{
  5934.                 String name = null;
  5935.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreRepositoryBuste.lock.idleTime");

  5936.                 if(name!=null){
  5937.                     name = name.trim();
  5938.                     this.getTimerGestoreRepositoryBusteLockIdleTime = java.lang.Integer.parseInt(name);
  5939.                 }else{
  5940.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreRepositoryBuste.lock.idleTime' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_IDLE_TIME);
  5941.                     this.getTimerGestoreRepositoryBusteLockIdleTime = CostantiPdD.TIMER_LOCK_IDLE_TIME;
  5942.                 }
  5943.             }catch(java.lang.Exception e) {
  5944.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreRepositoryBuste.lock.idleTime' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_IDLE_TIME+", errore:"+e.getMessage(),e);
  5945.                 this.getTimerGestoreRepositoryBusteLockIdleTime = CostantiPdD.TIMER_LOCK_IDLE_TIME;
  5946.             }
  5947.             if(this.getTimerGestoreRepositoryBusteLockIdleTime!=null && this.getTimerGestoreRepositoryBusteLockIdleTime>0) {
  5948.                 // trasformo in millisecondi l'informazione fornita in secondi
  5949.                 this.getTimerGestoreRepositoryBusteLockIdleTime = this.getTimerGestoreRepositoryBusteLockIdleTime *1000;
  5950.             }
  5951.         }

  5952.         if(this.getTimerGestoreRepositoryBusteLockIdleTime!=null) {
  5953.             return this.getTimerGestoreRepositoryBusteLockIdleTime.intValue();
  5954.         }
  5955.         return -1;
  5956.     }

  5957.     private Long getTimerGestoreRepositoryBuste_getLockAttesaAttiva = null;
  5958.     public long getTimerGestoreRepositoryBuste_getLockAttesaAttiva() {  
  5959.         if(this.getTimerGestoreRepositoryBuste_getLockAttesaAttiva==null){
  5960.             String pName = "org.openspcoop2.pdd.timer.gestoreRepositoryBuste.lock.attesaAttiva";
  5961.             try{
  5962.                 String name = null;
  5963.                 name = this.reader.getValueConvertEnvProperties(pName);

  5964.                 if(name!=null){
  5965.                     name = name.trim();
  5966.                     long time = java.lang.Long.parseLong(name);
  5967.                     this.getTimerGestoreRepositoryBuste_getLockAttesaAttiva = time*1000;
  5968.                 }else{
  5969.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA);
  5970.                     this.getTimerGestoreRepositoryBuste_getLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  5971.                 }

  5972.             }catch(java.lang.Exception e) {
  5973.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA+", errore:"+e.getMessage(),e);
  5974.                 this.getTimerGestoreRepositoryBuste_getLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  5975.             }    
  5976.         }

  5977.         return this.getTimerGestoreRepositoryBuste_getLockAttesaAttiva;
  5978.     }

  5979.     private Integer getTimerGestoreRepositoryBuste_getLockCheckInterval = null;
  5980.     public int getTimerGestoreRepositoryBuste_getLockCheckInterval() {  
  5981.         if(this.getTimerGestoreRepositoryBuste_getLockCheckInterval==null){
  5982.             String pName = "org.openspcoop2.pdd.timer.gestoreRepositoryBuste.lock.check";
  5983.             try{
  5984.                 String name = null;
  5985.                 name = this.reader.getValueConvertEnvProperties(pName);

  5986.                 if(name!=null){
  5987.                     name = name.trim();
  5988.                     int time = java.lang.Integer.parseInt(name);
  5989.                     this.getTimerGestoreRepositoryBuste_getLockCheckInterval = time;
  5990.                 }else{
  5991.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL);
  5992.                     this.getTimerGestoreRepositoryBuste_getLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  5993.                 }
  5994.             }catch(java.lang.Exception e) {
  5995.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL+", errore:"+e.getMessage(),e);
  5996.                 this.getTimerGestoreRepositoryBuste_getLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  5997.             }  
  5998.         }

  5999.         return this.getTimerGestoreRepositoryBuste_getLockCheckInterval;
  6000.     }
  6001.    


  6002.    
  6003.    
  6004.     // Gestore ConsegnaContenutiApplicativi
  6005.    
  6006.     /**
  6007.      * Restituisce l'indicazione se avviare il timer
  6008.      *
  6009.      * @return Restituisce indicazione se avviare il timer
  6010.      *
  6011.      */
  6012.     private Boolean isTimerConsegnaContenutiApplicativiAbilitato = null;
  6013.     public boolean isTimerConsegnaContenutiApplicativiAbilitato(){
  6014.        
  6015.         if(this.isTimerConsegnaContenutiApplicativiAbilitato==null){
  6016.             if(this.isServerJ2EE()!=null && this.isServerJ2EE().booleanValue()){
  6017.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.enable' disabilitata poiche' il prodotto e' configurato in modalita' server j2ee");
  6018.                 this.isTimerConsegnaContenutiApplicativiAbilitato = false;
  6019.             }
  6020.             else{          
  6021.                 try{  
  6022.                     String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.enable");
  6023.                     if(value!=null){
  6024.                         value = value.trim();
  6025.                         this.isTimerConsegnaContenutiApplicativiAbilitato = Boolean.parseBoolean(value);
  6026.                     }else{
  6027.                         this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.enable' non impostata, viene utilizzato il default=true");
  6028.                         this.isTimerConsegnaContenutiApplicativiAbilitato = true;
  6029.                     }
  6030.    
  6031.                 }catch(java.lang.Exception e) {
  6032.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.enable', viene utilizzato il default=true, errore:"+e.getMessage(),e);
  6033.                     this.isTimerConsegnaContenutiApplicativiAbilitato = true;
  6034.                 }
  6035.             }

  6036.         }
  6037.        
  6038.         return this.isTimerConsegnaContenutiApplicativiAbilitato;
  6039.     }
  6040.    
  6041.     private Boolean isTimerConsegnaContenutiApplicativiSchedulingDebug = null;
  6042.     public boolean isTimerConsegnaContenutiApplicativiSchedulingDebug(){
  6043.        
  6044.         String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.scheduling.debug";
  6045.         if(this.isTimerConsegnaContenutiApplicativiSchedulingDebug==null){
  6046.             if(this.isServerJ2EE()!=null && this.isServerJ2EE().booleanValue()){
  6047.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' disabilitata poiche' il prodotto e' configurato in modalita' server j2ee");
  6048.                 this.isTimerConsegnaContenutiApplicativiSchedulingDebug = false;
  6049.             }
  6050.             else{          
  6051.                 try{  
  6052.                     String value = this.reader.getValueConvertEnvProperties(pName);
  6053.                     if(value!=null){
  6054.                         value = value.trim();
  6055.                         this.isTimerConsegnaContenutiApplicativiSchedulingDebug = Boolean.parseBoolean(value);
  6056.                     }else{
  6057.                         this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  6058.                         this.isTimerConsegnaContenutiApplicativiSchedulingDebug = true;
  6059.                     }
  6060.    
  6061.                 }catch(java.lang.Exception e) {
  6062.                     this.logWarn("Proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true, errore:"+e.getMessage(),e);
  6063.                     this.isTimerConsegnaContenutiApplicativiSchedulingDebug = true;
  6064.                 }
  6065.             }

  6066.         }
  6067.        
  6068.         return this.isTimerConsegnaContenutiApplicativiSchedulingDebug;
  6069.     }
  6070.    
  6071.     private Boolean isTimerConsegnaContenutiApplicativiSchedulingCheckEliminazioneLogica = null;
  6072.     public boolean isTimerConsegnaContenutiApplicativiSchedulingCheckEliminazioneLogica(){
  6073.        
  6074.         String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.scheduling.checkEliminazioneLogica";
  6075.         if(this.isTimerConsegnaContenutiApplicativiSchedulingCheckEliminazioneLogica==null){
  6076.             if(this.isServerJ2EE()!=null && this.isServerJ2EE().booleanValue()){
  6077.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' disabilitata poiche' il prodotto e' configurato in modalita' server j2ee");
  6078.                 this.isTimerConsegnaContenutiApplicativiSchedulingCheckEliminazioneLogica = false;
  6079.             }
  6080.             else{          
  6081.                 try{  
  6082.                     String value = this.reader.getValueConvertEnvProperties(pName);
  6083.                     if(value!=null){
  6084.                         value = value.trim();
  6085.                         this.isTimerConsegnaContenutiApplicativiSchedulingCheckEliminazioneLogica = Boolean.parseBoolean(value);
  6086.                     }else{
  6087.                         this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  6088.                         this.isTimerConsegnaContenutiApplicativiSchedulingCheckEliminazioneLogica = true;
  6089.                     }
  6090.    
  6091.                 }catch(java.lang.Exception e) {
  6092.                     this.logWarn("Proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true, errore:"+e.getMessage(),e);
  6093.                     this.isTimerConsegnaContenutiApplicativiSchedulingCheckEliminazioneLogica = true;
  6094.                 }
  6095.             }

  6096.         }
  6097.        
  6098.         return this.isTimerConsegnaContenutiApplicativiSchedulingCheckEliminazioneLogica;
  6099.     }
  6100.    
  6101.     private Boolean isTimerConsegnaContenutiApplicativiSchedulingCheckPassaggioOraLegaleVersoOraSolare = null;
  6102.     public boolean isTimerConsegnaContenutiApplicativiSchedulingCheckPassaggioOraLegaleVersoOraSolare(){
  6103.        
  6104.         String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.scheduling.checkPassaggioOraLegaleVersoOraSolare";
  6105.         if(this.isTimerConsegnaContenutiApplicativiSchedulingCheckPassaggioOraLegaleVersoOraSolare==null){      
  6106.             try{  
  6107.                 String value = this.reader.getValueConvertEnvProperties(pName);
  6108.                 if(value!=null){
  6109.                     value = value.trim();
  6110.                     this.isTimerConsegnaContenutiApplicativiSchedulingCheckPassaggioOraLegaleVersoOraSolare = Boolean.parseBoolean(value);
  6111.                 }else{
  6112.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  6113.                     this.isTimerConsegnaContenutiApplicativiSchedulingCheckPassaggioOraLegaleVersoOraSolare = true;
  6114.                 }

  6115.             }catch(java.lang.Exception e) {
  6116.                 this.logWarn("Proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true, errore:"+e.getMessage(),e);
  6117.                 this.isTimerConsegnaContenutiApplicativiSchedulingCheckPassaggioOraLegaleVersoOraSolare = true;
  6118.             }
  6119.         }
  6120.        
  6121.         return this.isTimerConsegnaContenutiApplicativiSchedulingCheckPassaggioOraLegaleVersoOraSolare;
  6122.     }
  6123.    
  6124.     private List<String> getTimerConsegnaContenutiApplicativiCode = null;
  6125.     private boolean getTimerConsegnaContenutiApplicativiCodeRead = false;
  6126.     public List<String> getTimerConsegnaContenutiApplicativiCode() {    
  6127.         if(!this.getTimerConsegnaContenutiApplicativiCodeRead){
  6128.             try{

  6129.                 String name = null;
  6130.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.code");
  6131.                 if(name==null){
  6132.                     this.getTimerConsegnaContenutiApplicativiCode = null;
  6133.                 }else{
  6134.                     String [] r = name.trim().split(",");
  6135.                     List<String> l = new ArrayList<>();
  6136.                     for(int i=0; i<r.length; i++){
  6137.                         r[i] = r[i].trim();
  6138.                         l.add(r[i]);
  6139.                     }
  6140.                    
  6141.                     if(!l.isEmpty()) {
  6142.                         this.getTimerConsegnaContenutiApplicativiCode = new ArrayList<>();
  6143.                         this.getTimerConsegnaContenutiApplicativiCode.addAll(l);
  6144.                     }
  6145.                 }
  6146.             }catch(java.lang.Exception e) {
  6147.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.code': "+e.getMessage(),e);
  6148.                 this.getTimerConsegnaContenutiApplicativiCode = null;
  6149.             }  
  6150.             this.getTimerConsegnaContenutiApplicativiCodeRead = true;
  6151.         }

  6152.         return this.getTimerConsegnaContenutiApplicativiCode;
  6153.     }
  6154.    
  6155.     private HashMap<String, ConfigurazioneCoda> getTimerConsegnaContenutiApplicativiConfigurazioneCoda = new HashMap<String, ConfigurazioneCoda>();
  6156.     public ConfigurazioneCoda getTimerConsegnaContenutiApplicativiConfigurazioneCoda(String nome) {
  6157.        
  6158.         ConfigurazioneCoda conf = this.getTimerConsegnaContenutiApplicativiConfigurazioneCoda.get(nome);
  6159.         if(conf!=null) {
  6160.             return conf;
  6161.         }
  6162.        
  6163.         String prefix = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.coda."+nome+".";
  6164.         try{
  6165.             Properties p = this.reader.readPropertiesConvertEnvProperties(prefix);
  6166.             if(p==null || p.isEmpty()) {
  6167.                 throw new CoreException("Configurazione non presente");
  6168.             }
  6169.            
  6170.             ConfigurazioneCoda confCoda = new ConfigurazioneCoda(nome, p);
  6171.             this.getTimerConsegnaContenutiApplicativiConfigurazioneCoda.put(nome, confCoda);
  6172.             return confCoda;
  6173.            
  6174.         }catch(java.lang.Exception e) {
  6175.             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+prefix+"*': "+e.getMessage(),e);
  6176.             return null;
  6177.         }  

  6178.     }
  6179.    
  6180.     private List<String> getTimerConsegnaContenutiApplicativiPriorita = null;
  6181.     private boolean getTimerConsegnaContenutiApplicativiPrioritaRead = false;
  6182.     public List<String> getTimerConsegnaContenutiApplicativiPriorita() {    
  6183.         if(!this.getTimerConsegnaContenutiApplicativiPrioritaRead){
  6184.             try{

  6185.                 String name = null;
  6186.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.priorita");
  6187.                 if(name==null){
  6188.                     this.getTimerConsegnaContenutiApplicativiPriorita = null;
  6189.                 }else{
  6190.                     String [] r = name.trim().split(",");
  6191.                     List<String> l = new ArrayList<>();
  6192.                     for(int i=0; i<r.length; i++){
  6193.                         r[i] = r[i].trim();
  6194.                         l.add(r[i]);
  6195.                     }
  6196.                    
  6197.                     if(!l.isEmpty()) {
  6198.                         this.getTimerConsegnaContenutiApplicativiPriorita = new ArrayList<>();
  6199.                         this.getTimerConsegnaContenutiApplicativiPriorita.addAll(l);
  6200.                     }
  6201.                 }
  6202.             }catch(java.lang.Exception e) {
  6203.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.priorita': "+e.getMessage(),e);
  6204.                 this.getTimerConsegnaContenutiApplicativiPriorita = null;
  6205.             }  
  6206.             this.getTimerConsegnaContenutiApplicativiPrioritaRead = true;
  6207.         }

  6208.         return this.getTimerConsegnaContenutiApplicativiPriorita;
  6209.     }
  6210.    
  6211.     private HashMap<String, ConfigurazionePriorita> getTimerConsegnaContenutiApplicativiConfigurazionePriorita = new HashMap<>();
  6212.     public ConfigurazionePriorita getTimerConsegnaContenutiApplicativiConfigurazionePriorita(String nome) {
  6213.        
  6214.         ConfigurazionePriorita conf = this.getTimerConsegnaContenutiApplicativiConfigurazionePriorita.get(nome);
  6215.         if(conf!=null) {
  6216.             return conf;
  6217.         }
  6218.        
  6219.         String prefix = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.priorita."+nome+".";
  6220.         try{
  6221.             Properties p = this.reader.readPropertiesConvertEnvProperties(prefix);
  6222.             if(p==null || p.isEmpty()) {
  6223.                 throw new CoreException("Configurazione non presente");
  6224.             }
  6225.            
  6226.             ConfigurazionePriorita confPriorita = new ConfigurazionePriorita(nome, p);
  6227.             this.getTimerConsegnaContenutiApplicativiConfigurazionePriorita.put(nome, confPriorita);
  6228.             return confPriorita;
  6229.            
  6230.         }catch(java.lang.Exception e) {
  6231.             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+prefix+"*': "+e.getMessage(),e);
  6232.             return null;
  6233.         }  

  6234.     }
  6235.    
  6236.     private Boolean isLoadBalancerDebug = null;
  6237.     public boolean isLoadBalancerDebug(){
  6238.         if(this.isLoadBalancerDebug==null){
  6239.             try{  
  6240.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.loadBalancer.debug");
  6241.                 if(value!=null){
  6242.                     value = value.trim();
  6243.                     this.isLoadBalancerDebug = Boolean.parseBoolean(value);
  6244.                 }else{
  6245.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.loadBalancer.debug' non impostata, viene utilizzato il default=false");
  6246.                     this.isLoadBalancerDebug = false;
  6247.                 }

  6248.             }catch(java.lang.Exception e) {
  6249.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.loadBalancer.debug', viene utilizzato il default=false, errore:"+e.getMessage(),e);
  6250.                 this.isLoadBalancerDebug = false;
  6251.             }
  6252.         }

  6253.         return this.isLoadBalancerDebug;
  6254.     }
  6255.    
  6256.     private Integer getTimerConsegnaContenutiApplicativiLockMaxLife = null;
  6257.     public int getTimerConsegnaContenutiApplicativiLockMaxLife() {  
  6258.         if(this.getTimerConsegnaContenutiApplicativiLockMaxLife==null){
  6259.             try{
  6260.                 String name = null;
  6261.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.lock.maxLife");

  6262.                 if(name!=null){
  6263.                     name = name.trim();
  6264.                     this.getTimerConsegnaContenutiApplicativiLockMaxLife = java.lang.Integer.parseInt(name);
  6265.                 }else{
  6266.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.lock.maxLife' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_MAX_LIFE);
  6267.                     this.getTimerConsegnaContenutiApplicativiLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  6268.                 }
  6269.             }catch(java.lang.Exception e) {
  6270.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.lock.maxLife' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_MAX_LIFE+", errore:"+e.getMessage(),e);
  6271.                 this.getTimerConsegnaContenutiApplicativiLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  6272.             }  
  6273.             if(this.getTimerConsegnaContenutiApplicativiLockMaxLife!=null && this.getTimerConsegnaContenutiApplicativiLockMaxLife>0) {
  6274.                 // trasformo in millisecondi l'informazione fornita in secondi
  6275.                 this.getTimerConsegnaContenutiApplicativiLockMaxLife = this.getTimerConsegnaContenutiApplicativiLockMaxLife *1000;
  6276.             }
  6277.         }

  6278.         if(this.getTimerConsegnaContenutiApplicativiLockMaxLife!=null) {
  6279.             return this.getTimerConsegnaContenutiApplicativiLockMaxLife.intValue();
  6280.         }
  6281.         return -1;
  6282.     }
  6283.    
  6284.     private Integer getTimerConsegnaContenutiApplicativiLockIdleTime = null;
  6285.     public int getTimerConsegnaContenutiApplicativiLockIdleTime() {
  6286.         if(this.getTimerConsegnaContenutiApplicativiLockIdleTime==null){
  6287.             try{
  6288.                 String name = null;
  6289.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.lock.idleTime");

  6290.                 if(name!=null){
  6291.                     name = name.trim();
  6292.                     this.getTimerConsegnaContenutiApplicativiLockIdleTime = java.lang.Integer.parseInt(name);
  6293.                 }else{
  6294.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.lock.idleTime' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_IDLE_TIME);
  6295.                     this.getTimerConsegnaContenutiApplicativiLockIdleTime = CostantiPdD.TIMER_LOCK_IDLE_TIME;
  6296.                 }
  6297.             }catch(java.lang.Exception e) {
  6298.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.lock.idleTime' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_IDLE_TIME+", errore:"+e.getMessage(),e);
  6299.                 this.getTimerConsegnaContenutiApplicativiLockIdleTime = CostantiPdD.TIMER_LOCK_IDLE_TIME;
  6300.             }
  6301.             if(this.getTimerConsegnaContenutiApplicativiLockIdleTime!=null && this.getTimerConsegnaContenutiApplicativiLockIdleTime>0) {
  6302.                 // trasformo in millisecondi l'informazione fornita in secondi
  6303.                 this.getTimerConsegnaContenutiApplicativiLockIdleTime = this.getTimerConsegnaContenutiApplicativiLockIdleTime *1000;
  6304.             }
  6305.         }

  6306.         if(this.getTimerConsegnaContenutiApplicativiLockIdleTime!=null) {
  6307.             return this.getTimerConsegnaContenutiApplicativiLockIdleTime.intValue();
  6308.         }
  6309.         return -1;
  6310.     }
  6311.    
  6312.     private Integer getTimerConsegnaContenutiApplicativiPresaInConsegnaMaxLife = null;
  6313.     public int getTimerConsegnaContenutiApplicativiPresaInConsegnaMaxLife() {  
  6314.         if(this.getTimerConsegnaContenutiApplicativiPresaInConsegnaMaxLife==null){
  6315.             try{
  6316.                 String name = null;
  6317.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.presaInConsegna.maxLife");

  6318.                 if(name!=null){
  6319.                     name = name.trim();
  6320.                     this.getTimerConsegnaContenutiApplicativiPresaInConsegnaMaxLife = java.lang.Integer.parseInt(name);
  6321.                 }else{
  6322.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.presaInConsegna.maxLife' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_RICONSEGNA_CONTENUTI_APPLICATIVI_PRESA_IN_CONSEGNA_MAX_LIFE);
  6323.                     this.getTimerConsegnaContenutiApplicativiPresaInConsegnaMaxLife = CostantiPdD.TIMER_RICONSEGNA_CONTENUTI_APPLICATIVI_PRESA_IN_CONSEGNA_MAX_LIFE;
  6324.                 }
  6325.             }catch(java.lang.Exception e) {
  6326.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.presaInConsegna.maxLife' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_RICONSEGNA_CONTENUTI_APPLICATIVI_PRESA_IN_CONSEGNA_MAX_LIFE+", errore:"+e.getMessage(),e);
  6327.                 this.getTimerConsegnaContenutiApplicativiPresaInConsegnaMaxLife = CostantiPdD.TIMER_RICONSEGNA_CONTENUTI_APPLICATIVI_PRESA_IN_CONSEGNA_MAX_LIFE;
  6328.             }  
  6329.             if(this.getTimerConsegnaContenutiApplicativiPresaInConsegnaMaxLife!=null && this.getTimerConsegnaContenutiApplicativiPresaInConsegnaMaxLife>0) {
  6330.                 // trasformo in millisecondi l'informazione fornita in secondi
  6331.                 this.getTimerConsegnaContenutiApplicativiPresaInConsegnaMaxLife = this.getTimerConsegnaContenutiApplicativiPresaInConsegnaMaxLife *1000;
  6332.             }
  6333.         }

  6334.         if(this.getTimerConsegnaContenutiApplicativiPresaInConsegnaMaxLife!=null) {
  6335.             return this.getTimerConsegnaContenutiApplicativiPresaInConsegnaMaxLife.intValue();
  6336.         }
  6337.         return -1;
  6338.     }
  6339.    
  6340.     private Long getTimerConsegnaContenutiApplicativi_getLockAttesaAttiva = null;
  6341.     public long getTimerConsegnaContenutiApplicativi_getLockAttesaAttiva() {    
  6342.         if(this.getTimerConsegnaContenutiApplicativi_getLockAttesaAttiva==null){
  6343.             String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.lock.attesaAttiva";
  6344.             try{
  6345.                 String name = null;
  6346.                 name = this.reader.getValueConvertEnvProperties(pName);

  6347.                 if(name!=null){
  6348.                     name = name.trim();
  6349.                     long time = java.lang.Long.parseLong(name);
  6350.                     this.getTimerConsegnaContenutiApplicativi_getLockAttesaAttiva = time*1000;
  6351.                 }else{
  6352.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA);
  6353.                     this.getTimerConsegnaContenutiApplicativi_getLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  6354.                 }

  6355.             }catch(java.lang.Exception e) {
  6356.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA+", errore:"+e.getMessage(),e);
  6357.                 this.getTimerConsegnaContenutiApplicativi_getLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  6358.             }    
  6359.         }

  6360.         return this.getTimerConsegnaContenutiApplicativi_getLockAttesaAttiva;
  6361.     }

  6362.     private Integer getTimerConsegnaContenutiApplicativi_getLockCheckInterval = null;
  6363.     public int getTimerConsegnaContenutiApplicativi_getLockCheckInterval() {    
  6364.         if(this.getTimerConsegnaContenutiApplicativi_getLockCheckInterval==null){
  6365.             String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.lock.check";
  6366.             try{
  6367.                 String name = null;
  6368.                 name = this.reader.getValueConvertEnvProperties(pName);

  6369.                 if(name!=null){
  6370.                     name = name.trim();
  6371.                     int time = java.lang.Integer.parseInt(name);
  6372.                     this.getTimerConsegnaContenutiApplicativi_getLockCheckInterval = time;
  6373.                 }else{
  6374.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL);
  6375.                     this.getTimerConsegnaContenutiApplicativi_getLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  6376.                 }
  6377.             }catch(java.lang.Exception e) {
  6378.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL+", errore:"+e.getMessage(),e);
  6379.                 this.getTimerConsegnaContenutiApplicativi_getLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  6380.             }  
  6381.         }

  6382.         return this.getTimerConsegnaContenutiApplicativi_getLockCheckInterval;
  6383.     }

  6384.    
  6385.     // *** Smistatore ***
  6386.    
  6387.     private Boolean isTimerConsegnaContenutiApplicativi_smistatore_runtime_useRuntimeManager = null;
  6388.     public boolean isTimerConsegnaContenutiApplicativi_smistatore_runtime_useRuntimeManager() {
  6389.         if(this.isTimerConsegnaContenutiApplicativi_smistatore_runtime_useRuntimeManager==null){
  6390.             String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.smistatore.runtime.useRuntimeManager";
  6391.             try{
  6392.                 String name = null;
  6393.                 name = this.reader.getValueConvertEnvProperties(pName);
  6394.                 if(name==null){
  6395.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  6396.                     name="true";
  6397.                 }
  6398.                 name = name.trim();
  6399.                 this.isTimerConsegnaContenutiApplicativi_smistatore_runtime_useRuntimeManager = Boolean.parseBoolean(name);
  6400.             } catch(java.lang.Exception e) {
  6401.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  6402.                 this.isTimerConsegnaContenutiApplicativi_smistatore_runtime_useRuntimeManager = true;
  6403.             }    
  6404.         }

  6405.         return this.isTimerConsegnaContenutiApplicativi_smistatore_runtime_useRuntimeManager;
  6406.     }
  6407.    
  6408.     private String getTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSource = null;
  6409.     public String getTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSource() throws CoreException {  
  6410.         if(this.getTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSource==null){
  6411.             String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.smistatore.runtime.dataSource";
  6412.             try{
  6413.                 String name = null;
  6414.                 name = this.reader.getValueConvertEnvProperties(pName);
  6415.                 if(name==null){
  6416.                     throw new CoreException("Proprieta' non impostata");
  6417.                 }
  6418.                 name = name.trim();
  6419.                 this.getTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSource = name;
  6420.             } catch(java.lang.Exception e) {
  6421.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  6422.                 throw new CoreException(e.getMessage(),e);
  6423.             }    
  6424.         }

  6425.         return this.getTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSource;
  6426.     }
  6427.    
  6428.     private Properties getTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSourceJndiContext = null;
  6429.     public Properties getTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSourceJndiContext() throws CoreException {    
  6430.         if(this.getTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSourceJndiContext==null){
  6431.             String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.smistatore.runtime.dataSource.property.";
  6432.             try{
  6433.                 this.getTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSourceJndiContext = this.reader.readPropertiesConvertEnvProperties(pName);
  6434.             } catch(java.lang.Exception e) {
  6435.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"*': "+e.getMessage(),e);
  6436.                 throw new CoreException(e.getMessage(),e);
  6437.             }    
  6438.         }

  6439.         return this.getTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSourceJndiContext;
  6440.     }
  6441.    
  6442.     private Boolean isTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSource_useDBUtils = null;
  6443.     public boolean isTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSource_useDBUtils() {
  6444.         if(this.isTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSource_useDBUtils==null){
  6445.             String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.smistatore.runtime.datasource.useDSUtils";
  6446.             try{
  6447.                 String name = null;
  6448.                 name = this.reader.getValueConvertEnvProperties(pName);
  6449.                 if(name==null){
  6450.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  6451.                     name="true";
  6452.                 }
  6453.                 name = name.trim();
  6454.                 this.isTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSource_useDBUtils = Boolean.parseBoolean(name);
  6455.             } catch(java.lang.Exception e) {
  6456.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  6457.                 this.isTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSource_useDBUtils = true;
  6458.             }    
  6459.         }

  6460.         return this.isTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSource_useDBUtils;
  6461.     }
  6462.    
  6463.    
  6464.    
  6465.     // *** Consegne, gestione runtime ***
  6466.    
  6467.     private Boolean isTimerConsegnaContenutiApplicativi_runtime_useRuntimeManager = null;
  6468.     public boolean isTimerConsegnaContenutiApplicativi_runtime_useRuntimeManager() {    
  6469.         if(this.isTimerConsegnaContenutiApplicativi_runtime_useRuntimeManager==null){
  6470.             String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.runtime.useRuntimeManager";
  6471.             try{
  6472.                 String name = null;
  6473.                 name = this.reader.getValueConvertEnvProperties(pName);
  6474.                 if(name==null){
  6475.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  6476.                     name="true";
  6477.                 }
  6478.                 name = name.trim();
  6479.                 this.isTimerConsegnaContenutiApplicativi_runtime_useRuntimeManager = Boolean.parseBoolean(name);
  6480.             } catch(java.lang.Exception e) {
  6481.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  6482.                 this.isTimerConsegnaContenutiApplicativi_runtime_useRuntimeManager = true;
  6483.             }    
  6484.         }

  6485.         return this.isTimerConsegnaContenutiApplicativi_runtime_useRuntimeManager;
  6486.     }
  6487.    
  6488.     private String getTimerConsegnaContenutiApplicativi_runtime_dataSource = null;
  6489.     public String getTimerConsegnaContenutiApplicativi_runtime_dataSource() throws CoreException {  
  6490.         if(this.getTimerConsegnaContenutiApplicativi_runtime_dataSource==null){
  6491.             String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.runtime.dataSource";
  6492.             try{
  6493.                 String name = null;
  6494.                 name = this.reader.getValueConvertEnvProperties(pName);
  6495.                 if(name==null){
  6496.                     throw new CoreException("Proprieta' non impostata");
  6497.                 }
  6498.                 name = name.trim();
  6499.                 this.getTimerConsegnaContenutiApplicativi_runtime_dataSource = name;
  6500.             } catch(java.lang.Exception e) {
  6501.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  6502.                 throw new CoreException(e.getMessage(),e);
  6503.             }    
  6504.         }

  6505.         return this.getTimerConsegnaContenutiApplicativi_runtime_dataSource;
  6506.     }
  6507.    
  6508.     private Properties getTimerConsegnaContenutiApplicativi_runtime_dataSourceJndiContext = null;
  6509.     public Properties getTimerConsegnaContenutiApplicativi_runtime_dataSourceJndiContext() throws CoreException {  
  6510.         if(this.getTimerConsegnaContenutiApplicativi_runtime_dataSourceJndiContext==null){
  6511.             String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.runtime.dataSource.property.";
  6512.             try{
  6513.                 this.getTimerConsegnaContenutiApplicativi_runtime_dataSourceJndiContext = this.reader.readPropertiesConvertEnvProperties(pName);
  6514.             } catch(java.lang.Exception e) {
  6515.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"*': "+e.getMessage(),e);
  6516.                 throw new CoreException(e.getMessage(),e);
  6517.             }    
  6518.         }

  6519.         return this.getTimerConsegnaContenutiApplicativi_runtime_dataSourceJndiContext;
  6520.     }
  6521.    
  6522.     private Boolean isTimerConsegnaContenutiApplicativi_runtime_dataSource_useDBUtils = null;
  6523.     public boolean isTimerConsegnaContenutiApplicativi_runtime_dataSource_useDBUtils() {    
  6524.         if(this.isTimerConsegnaContenutiApplicativi_runtime_dataSource_useDBUtils==null){
  6525.             String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.runtime.datasource.useDSUtils";
  6526.             try{
  6527.                 String name = null;
  6528.                 name = this.reader.getValueConvertEnvProperties(pName);
  6529.                 if(name==null){
  6530.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  6531.                     name="true";
  6532.                 }
  6533.                 name = name.trim();
  6534.                 this.isTimerConsegnaContenutiApplicativi_runtime_dataSource_useDBUtils = Boolean.parseBoolean(name);
  6535.             } catch(java.lang.Exception e) {
  6536.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  6537.                 this.isTimerConsegnaContenutiApplicativi_runtime_dataSource_useDBUtils = true;
  6538.             }    
  6539.         }

  6540.         return this.isTimerConsegnaContenutiApplicativi_runtime_dataSource_useDBUtils;
  6541.     }
  6542.    
  6543.    
  6544.     // *** Consegne, gestione tracce ***
  6545.    
  6546.     private Boolean isTimerConsegnaContenutiApplicativi_transazioni_useTransactionManager = null;
  6547.     public boolean isTimerConsegnaContenutiApplicativi_transazioni_useTransactionManager() {    
  6548.         if(this.isTimerConsegnaContenutiApplicativi_transazioni_useTransactionManager==null){
  6549.             String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.transazioni.useTransactionManager";
  6550.             try{
  6551.                 String name = null;
  6552.                 name = this.reader.getValueConvertEnvProperties(pName);
  6553.                 if(name==null){
  6554.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  6555.                     name="true";
  6556.                 }
  6557.                 name = name.trim();
  6558.                 this.isTimerConsegnaContenutiApplicativi_transazioni_useTransactionManager = Boolean.parseBoolean(name);
  6559.             } catch(java.lang.Exception e) {
  6560.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  6561.                 this.isTimerConsegnaContenutiApplicativi_transazioni_useTransactionManager = true;
  6562.             }    
  6563.         }

  6564.         return this.isTimerConsegnaContenutiApplicativi_transazioni_useTransactionManager;
  6565.     }
  6566.    
  6567.     private String getTimerConsegnaContenutiApplicativi_transazioni_dataSource = null;
  6568.     public String getTimerConsegnaContenutiApplicativi_transazioni_dataSource() throws CoreException {  
  6569.         if(this.getTimerConsegnaContenutiApplicativi_transazioni_dataSource==null){
  6570.             String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.transazioni.dataSource";
  6571.             try{
  6572.                 String name = null;
  6573.                 name = this.reader.getValueConvertEnvProperties(pName);
  6574.                 if(name==null){
  6575.                     throw new CoreException("Proprieta' non impostata");
  6576.                 }
  6577.                 name = name.trim();
  6578.                 this.getTimerConsegnaContenutiApplicativi_transazioni_dataSource = name;
  6579.             } catch(java.lang.Exception e) {
  6580.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  6581.                 throw new CoreException(e.getMessage(),e);
  6582.             }    
  6583.         }

  6584.         return this.getTimerConsegnaContenutiApplicativi_transazioni_dataSource;
  6585.     }
  6586.    
  6587.     private Properties getTimerConsegnaContenutiApplicativi_transazioni_dataSourceJndiContext = null;
  6588.     public Properties getTimerConsegnaContenutiApplicativi_transazioni_dataSourceJndiContext() throws CoreException {  
  6589.         if(this.getTimerConsegnaContenutiApplicativi_transazioni_dataSourceJndiContext==null){
  6590.             String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.transazioni.dataSource.property.";
  6591.             try{
  6592.                 this.getTimerConsegnaContenutiApplicativi_transazioni_dataSourceJndiContext = this.reader.readPropertiesConvertEnvProperties(pName);
  6593.             } catch(java.lang.Exception e) {
  6594.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"*': "+e.getMessage(),e);
  6595.                 throw new CoreException(e.getMessage(),e);
  6596.             }    
  6597.         }

  6598.         return this.getTimerConsegnaContenutiApplicativi_transazioni_dataSourceJndiContext;
  6599.     }
  6600.    
  6601.     private Boolean isTimerConsegnaContenutiApplicativi_transazioni_dataSource_useDBUtils = null;
  6602.     public boolean isTimerConsegnaContenutiApplicativi_transazioni_dataSource_useDBUtils() {    
  6603.         if(this.isTimerConsegnaContenutiApplicativi_transazioni_dataSource_useDBUtils==null){
  6604.             String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.transazioni.datasource.useDSUtils";
  6605.             try{
  6606.                 String name = null;
  6607.                 name = this.reader.getValueConvertEnvProperties(pName);
  6608.                 if(name==null){
  6609.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  6610.                     name="true";
  6611.                 }
  6612.                 name = name.trim();
  6613.                 this.isTimerConsegnaContenutiApplicativi_transazioni_dataSource_useDBUtils = Boolean.parseBoolean(name);
  6614.             } catch(java.lang.Exception e) {
  6615.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  6616.                 this.isTimerConsegnaContenutiApplicativi_transazioni_dataSource_useDBUtils = true;
  6617.             }    
  6618.         }

  6619.         return this.isTimerConsegnaContenutiApplicativi_transazioni_dataSource_useDBUtils;
  6620.     }
  6621.    

  6622.     /* ********  REPOSITORY DI OPENSPCOOP  ******** */

  6623.     /**
  6624.      * Restituisce il tipo di repository utilizzato da OpenSPCoop
  6625.      *
  6626.      * @return Restituisce il tipo di repository utilizzato da OpenSPCoop
  6627.      *
  6628.      */
  6629.     private String repositoryType = null;
  6630.     public String getRepositoryType() {
  6631.         if(this.repositoryType==null){
  6632.             try{
  6633.                 String name = null;
  6634.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.tipo");
  6635.                 if(name==null)
  6636.                     throw new CoreException(NON_DEFINITA);
  6637.                 name = name.trim();
  6638.                 this.repositoryType = name;
  6639.             }catch(java.lang.Exception e) {
  6640.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.tipo': "+e.getMessage(),e);
  6641.                 this.repositoryType = null;
  6642.             }    
  6643.         }

  6644.         return this.repositoryType;
  6645.     }

  6646.     /**
  6647.      * Restituisce il tipo di database utilizzato da OpenSPCoop
  6648.      *
  6649.      * @return Restituisce il tipo di database utilizzato da OpenSPCoop
  6650.      *
  6651.      */
  6652.     private String databaseType = null;
  6653.     public String getDatabaseType() {  
  6654.         if(this.databaseType==null){
  6655.             try{
  6656.                 String name = null;
  6657.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.tipoDatabase");
  6658.                 if(name!=null)
  6659.                     name = name.trim();
  6660.                 this.databaseType = name;
  6661.             }catch(java.lang.Exception e) {
  6662.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.tipoDatabase': "+e.getMessage(),e);
  6663.                 this.databaseType = null;
  6664.             }    
  6665.         }

  6666.         return this.databaseType;
  6667.     }

  6668.     /**
  6669.      * Restituisce true se il tipo di repository utilizzato da OpenSPCoop  e' fs
  6670.      *
  6671.      * @return Restituisce true se il tipo di repository utilizzato da OpenSPCoop  e' su file system
  6672.      *
  6673.      */
  6674.     private Boolean isRepositoryOnFS_value = null;
  6675.     public boolean isRepositoryOnFS() {

  6676.         if(this.isRepositoryOnFS_value==null){
  6677.             // DEFAULT is true!

  6678.             try{
  6679.                 String name = null;
  6680.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.tipo");

  6681.                 if(name!=null){
  6682.                     name = name.trim();
  6683.                     if(CostantiConfigurazione.REPOSITORY_DB.equals(name)){
  6684.                         this.isRepositoryOnFS_value = false;
  6685.                     }else{
  6686.                         this.isRepositoryOnFS_value = true;
  6687.                     }
  6688.                 }else{
  6689.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.tipo' non impostata, viene utilizzato il default=true");
  6690.                     this.isRepositoryOnFS_value = true;
  6691.                 }

  6692.             }catch(java.lang.Exception e) {
  6693.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.tipo' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  6694.                 this.isRepositoryOnFS_value = true;
  6695.             }    
  6696.         }

  6697.         return this.isRepositoryOnFS_value;
  6698.     }

  6699.     /**
  6700.      * Restituisce la working directory utilizzata da OpenSPCoop
  6701.      *
  6702.      * @return Restituisce la working directory utilizzata da OpenSPCoop.
  6703.      *
  6704.      */
  6705.     private String repositoryDirectory = null;
  6706.     public String getRepositoryDirectory() {
  6707.         if(this.repositoryDirectory==null){
  6708.             try{
  6709.                 String name = null;
  6710.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.directory");
  6711.                 if(name==null)
  6712.                     throw new CoreException(NON_DEFINITA);
  6713.                 name = name.trim();
  6714.                 this.repositoryDirectory = name;
  6715.             }catch(java.lang.Exception e) {
  6716.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.directory': "+e.getMessage(),e);
  6717.                 this.repositoryDirectory = null;
  6718.             }  
  6719.         }

  6720.         return this.repositoryDirectory;
  6721.     }

  6722.     /**
  6723.      * Restituisce il JDBC Adapter utilizzato da OpenSPCoop
  6724.      *
  6725.      * @return Restituisce il JDBC Adapter utilizzato da OpenSPCoop.
  6726.      *
  6727.      */
  6728.     private String repositoryJDBCAdapter = null;
  6729.     public String getRepositoryJDBCAdapter() {  
  6730.         if(this.repositoryJDBCAdapter==null){
  6731.             try{
  6732.                 String name = null;
  6733.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.jdbcAdapter");
  6734.                 if(name==null)
  6735.                     throw new CoreException(NON_DEFINITA);
  6736.                 name = name.trim();
  6737.                 this.repositoryJDBCAdapter = name;
  6738.             }catch(java.lang.Exception e) {
  6739.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.jdbcAdapter': "+e.getMessage(),e);
  6740.                 this.repositoryJDBCAdapter = null;
  6741.             }    
  6742.         }

  6743.         return this.repositoryJDBCAdapter;
  6744.     }


  6745.     private Boolean forceIndex = null;
  6746.     public boolean isForceIndex() {

  6747.         if(this.forceIndex==null){
  6748.             // DEFAULT is false

  6749.             try{
  6750.                 String name = null;
  6751.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.forceIndex");

  6752.                 if(name!=null){
  6753.                     name = name.trim();
  6754.                     this.forceIndex = Boolean.parseBoolean(name);
  6755.                 }else{
  6756.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.forceIndex' non impostata, viene utilizzato il default=false");
  6757.                     this.forceIndex = false;
  6758.                 }

  6759.             }catch(java.lang.Exception e) {
  6760.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.forceIndex' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  6761.                 this.forceIndex = false;
  6762.             }    
  6763.         }

  6764.         return this.forceIndex;
  6765.     }
  6766.    
  6767.    

  6768.     private AttachmentsProcessingMode attachmentsProcessingMode = null;
  6769.     public AttachmentsProcessingMode getAttachmentsProcessingMode() {  
  6770.         if(this.attachmentsProcessingMode==null){
  6771.             if(this.isFileCacheEnable()){
  6772.                 try{
  6773.                     this.attachmentsProcessingMode=AttachmentsProcessingMode.getFileCacheProcessingMode(getAttachmentRepoDir(), getFileThreshold());
  6774.                 } catch(java.lang.Exception e) {
  6775.                     this.logError("Riscontrato errore durante l'identificazione della modalità di processing degli attachments: "+e.getMessage(),e);
  6776.                     this.attachmentsProcessingMode=AttachmentsProcessingMode.getMemoryCacheProcessingMode();
  6777.                 }
  6778.             }else{
  6779.                 this.attachmentsProcessingMode=AttachmentsProcessingMode.getMemoryCacheProcessingMode();
  6780.             }
  6781.         }

  6782.         return this.attachmentsProcessingMode;
  6783.     }

  6784.     private Boolean isFileCacheEnable = null;
  6785.     private boolean isFileCacheEnable() {  
  6786.         if(this.isFileCacheEnable==null){
  6787.             try{
  6788.                 String name = null;
  6789.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.attachment.fileCacheEnable");
  6790.                 if(name==null){
  6791.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.attachment.fileCacheEnable' non impostata, viene utilizzato il default=false");
  6792.                     name="false";
  6793.                 }
  6794.                 name = name.trim();
  6795.                 this.isFileCacheEnable = Boolean.parseBoolean(name);
  6796.             } catch(java.lang.Exception e) {
  6797.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.attachment.fileCacheEnable': "+e.getMessage(),e);
  6798.                 this.isFileCacheEnable = false;
  6799.             }    
  6800.         }

  6801.         return this.isFileCacheEnable;
  6802.     }


  6803.     private String attachmentRepoDir = null;
  6804.     private String getAttachmentRepoDir() {

  6805.         if(this.attachmentRepoDir==null){
  6806.             try{
  6807.                 String name = null;
  6808.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.attachment.repositoryDir");

  6809.                 if(name!=null){
  6810.                     name = name.trim();
  6811.                     this.attachmentRepoDir = name;
  6812.                 }else{
  6813.                     // Se fileCacheEnable == false allora puo' essere null;
  6814.                     if(!isFileCacheEnable())
  6815.                         return null;
  6816.                     throw new CoreException(NON_DEFINITA);
  6817.                 }

  6818.             }catch(java.lang.Exception e) {
  6819.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.attachment.repositoryDir': "+e.getMessage(),e);
  6820.                 this.attachmentRepoDir = null;
  6821.             }    
  6822.         }

  6823.         return this.attachmentRepoDir;
  6824.     }
  6825.    
  6826.     private String fileThreshold = null;
  6827.     private String getFileThreshold() {

  6828.         if(this.fileThreshold==null){
  6829.             try{
  6830.                 String name = null;
  6831.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.attachment.fileThreshold");

  6832.                 if(name!=null){
  6833.                     name = name.trim();
  6834.                     this.fileThreshold = name;
  6835.                 }else{
  6836.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.attachment.fileThreshold' non impostata, viene utilizzato il default=1024");
  6837.                     this.fileThreshold = "1024";
  6838.                 }

  6839.             }catch(java.lang.Exception e) {
  6840.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.attachment.fileThreshold': "+e.getMessage(),e);
  6841.                 this.fileThreshold = "1024";
  6842.             }    
  6843.         }

  6844.         return this.fileThreshold;
  6845.     }
  6846.    
  6847.     private String filePrefix = null;
  6848.     public String getFilePrefix() {

  6849.         if(this.filePrefix==null){
  6850.             try{
  6851.                 String name = null;
  6852.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.attachment.filePrefix");

  6853.                 if(name!=null){
  6854.                     name = name.trim();
  6855.                     this.filePrefix = name;
  6856.                 }else{
  6857.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.attachment.filePrefix' non impostata, viene utilizzato il default="+CostantiPdD.OPENSPCOOP2);
  6858.                     this.filePrefix = CostantiPdD.OPENSPCOOP2;
  6859.                 }

  6860.             }catch(java.lang.Exception e) {
  6861.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.attachment.filePrefix': "+e.getMessage(),e);
  6862.                 this.filePrefix = CostantiPdD.OPENSPCOOP2;
  6863.             }    
  6864.         }

  6865.         return this.filePrefix;
  6866.     }
  6867.    
  6868.     private String fileSuffix = null;
  6869.     public String getFileSuffix() {

  6870.         if(this.fileSuffix==null){
  6871.             try{
  6872.                 String name = null;
  6873.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.attachment.fileSuffix");

  6874.                 if(name!=null){
  6875.                     name = name.trim();
  6876.                     this.fileSuffix = name;
  6877.                 }else{
  6878.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.attachment.fileSuffix' non impostata, viene utilizzato il default=.att");
  6879.                     this.fileSuffix = ".att";
  6880.                 }

  6881.             }catch(java.lang.Exception e) {
  6882.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.attachment.fileSuffix': "+e.getMessage(),e);
  6883.                 this.fileSuffix = ".att";
  6884.             }    
  6885.         }

  6886.         return this.fileSuffix;
  6887.     }
  6888.    
  6889.     private int deleteInterval = 0;
  6890.     public int getDeleteInterval() {    

  6891.         if(this.deleteInterval==0){
  6892.             try{
  6893.                 String name = null;
  6894.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.attachment.deleteInterval");

  6895.                 if(name!=null){
  6896.                     name = name.trim();
  6897.                     this.deleteInterval = Integer.parseInt(name);
  6898.                 }else{
  6899.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.attachment.deleteInterval' non impostata, viene utilizzato il default=300");
  6900.                     this.deleteInterval = 300;
  6901.                 }

  6902.             }catch(java.lang.Exception e) {
  6903.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.attachment.deleteInterval': "+e.getMessage(),e);
  6904.                 this.deleteInterval = 300;
  6905.             }    
  6906.         }

  6907.         return this.deleteInterval;
  6908.     }

  6909.     /**
  6910.      * Restituisce l'intervallo di pulizia del repository di OpenSPCoop
  6911.      *
  6912.      * @return Restituisce l'intervallo di pulizia del repository di OpenSPCoo
  6913.      *
  6914.      */
  6915.     private Long repositoryIntervalloEliminazioneMessaggi = null;
  6916.     public long getRepositoryIntervalloEliminazioneMessaggi() {
  6917.         if(this.repositoryIntervalloEliminazioneMessaggi==null){
  6918.             try{
  6919.                 String name = null;
  6920.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.timer");
  6921.                 if(name==null)
  6922.                     throw new CoreException(NON_DEFINITA);
  6923.                 name = name.trim();
  6924.                 this.repositoryIntervalloEliminazioneMessaggi = java.lang.Long.parseLong(name);
  6925.             }catch(java.lang.Exception e) {
  6926.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.timer': "+e.getMessage(),e);
  6927.                 this.repositoryIntervalloEliminazioneMessaggi = -1L;
  6928.             }  
  6929.         }

  6930.         return this.repositoryIntervalloEliminazioneMessaggi;
  6931.     }

  6932.     /**
  6933.      * Restituisce l'intervallo di tempo che definisce un msg scaduto nel repository di OpenSPCoop
  6934.      *
  6935.      * @return Restituisce l'intervallo di tempo che definisce un msg scaduto nel repository di OpenSPCoo
  6936.      *
  6937.      */
  6938.     private Long repositoryIntervalloScadenzaMessaggi = null;
  6939.     public long getRepositoryIntervalloScadenzaMessaggi() {
  6940.         if(this.repositoryIntervalloScadenzaMessaggi == null){
  6941.             try{
  6942.                 String name = null;
  6943.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.scadenzaMessaggio");
  6944.                 if(name==null)
  6945.                     throw new CoreException(NON_DEFINITA);
  6946.                 name = name.trim();
  6947.                 this.repositoryIntervalloScadenzaMessaggi = java.lang.Long.parseLong(name);
  6948.             }catch(java.lang.Exception e) {
  6949.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.scadenzaMessaggio': "+e.getMessage(),e);
  6950.                 this.repositoryIntervalloScadenzaMessaggi = -1L;
  6951.             }    
  6952.         }

  6953.         return this.repositoryIntervalloScadenzaMessaggi;
  6954.     }
  6955.    
  6956.     private Boolean useSoapMessageReader = null;
  6957.     public boolean useSoapMessageReader() {
  6958.         if(this.useSoapMessageReader==null){
  6959.             String pName = "org.openspcoop2.pdd.soapMessage.reader";
  6960.             try{
  6961.                 String name = null;
  6962.                 name = this.reader.getValueConvertEnvProperties(pName);
  6963.                 if(name==null){
  6964.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  6965.                     name="true";
  6966.                 }
  6967.                 name = name.trim();
  6968.                 this.useSoapMessageReader = Boolean.parseBoolean(name);
  6969.             } catch(java.lang.Exception e) {
  6970.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  6971.                 this.useSoapMessageReader = true;
  6972.             }    
  6973.         }

  6974.         return this.useSoapMessageReader;
  6975.     }
  6976.    
  6977.     private Integer soapMessageReaderBufferThresholdKb = null;
  6978.     public int getSoapMessageReaderBufferThresholdKb() {    

  6979.         if(this.soapMessageReaderBufferThresholdKb==null){
  6980.             try{
  6981.                 String name = null;
  6982.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soapMessage.reader.bufferThreshold");

  6983.                 if(name!=null){
  6984.                     name = name.trim();
  6985.                     this.soapMessageReaderBufferThresholdKb = Integer.valueOf(name);
  6986.                 }else{
  6987.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.soapMessage.reader.bufferThreshold' non impostata, viene utilizzato il default=10");
  6988.                     this.soapMessageReaderBufferThresholdKb = 10;
  6989.                 }

  6990.             }catch(java.lang.Exception e) {
  6991.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soapMessage.reader.bufferThreshold': "+e.getMessage(),e);
  6992.                 this.soapMessageReaderBufferThresholdKb = 10;
  6993.             }    
  6994.         }

  6995.         return this.soapMessageReaderBufferThresholdKb;
  6996.     }
  6997.    
  6998.     private Boolean useSoapMessageReaderHeaderOptimization = null;
  6999.     public boolean useSoapMessageReaderHeaderOptimization() {  
  7000.         if(this.useSoapMessageReaderHeaderOptimization==null){
  7001.             String pName = "org.openspcoop2.pdd.soapMessage.reader.headerOptimization";
  7002.             try{
  7003.                 String name = null;
  7004.                 name = this.reader.getValueConvertEnvProperties(pName);
  7005.                 if(name==null){
  7006.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  7007.                     name="true";
  7008.                 }
  7009.                 name = name.trim();
  7010.                 this.useSoapMessageReaderHeaderOptimization = Boolean.parseBoolean(name);
  7011.             } catch(java.lang.Exception e) {
  7012.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  7013.                 this.useSoapMessageReaderHeaderOptimization = true;
  7014.             }    
  7015.         }

  7016.         return this.useSoapMessageReaderHeaderOptimization;
  7017.     }
  7018.    
  7019.     private Boolean useSoapMessagePassthrough = null;
  7020.     public boolean useSoapMessagePassthrough() {    
  7021.         if(this.useSoapMessagePassthrough==null){
  7022.             String pName = "org.openspcoop2.pdd.soapMessage.passthrough";
  7023.             try{
  7024.                 String name = null;
  7025.                 name = this.reader.getValueConvertEnvProperties(pName);
  7026.                 if(name==null){
  7027.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  7028.                     name="true";
  7029.                 }
  7030.                 name = name.trim();
  7031.                 this.useSoapMessagePassthrough = Boolean.parseBoolean(name);
  7032.             } catch(java.lang.Exception e) {
  7033.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  7034.                 this.useSoapMessagePassthrough = true;
  7035.             }    
  7036.         }

  7037.         return this.useSoapMessagePassthrough;
  7038.     }
  7039.    
  7040.     private Integer soapMessageSaajSaxParserPoolSize = null;
  7041.     public int getSoapMessageSaajSaxParserPoolSize() {  

  7042.         if(this.soapMessageSaajSaxParserPoolSize==null){
  7043.             try{
  7044.                 String name = null;
  7045.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soapMessage.saaj.saxParserPoolSize");

  7046.                 if(name!=null){
  7047.                     name = name.trim();
  7048.                     this.soapMessageSaajSaxParserPoolSize = Integer.valueOf(name);
  7049.                 }else{
  7050.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.soapMessage.saaj.saxParserPoolSize' non impostata, viene utilizzato il default=200");
  7051.                     this.soapMessageSaajSaxParserPoolSize = 200;
  7052.                 }

  7053.             }catch(java.lang.Exception e) {
  7054.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soapMessage.saaj.saxParserPoolSize': "+e.getMessage(),e);
  7055.                 this.soapMessageSaajSaxParserPoolSize = 200;
  7056.             }    
  7057.         }

  7058.         return this.soapMessageSaajSaxParserPoolSize;
  7059.     }
  7060.    
  7061.     private List<String> alternativeContentTypeSoap12 = null;
  7062.     private boolean alternativeContentTypeSoap12Read = false;
  7063.     public List<String> getAlternativeContentTypeSoap12() {
  7064.         if(!this.alternativeContentTypeSoap12Read){
  7065.             String pName = "org.openspcoop2.pdd.soapMessage.v12.alternativeContentTypes";
  7066.             try{
  7067.                 String name = null;
  7068.                 name = this.reader.getValueConvertEnvProperties(pName);
  7069.                 if(name==null){
  7070.                     this.alternativeContentTypeSoap12 = null;
  7071.                 }else{
  7072.                     String [] r = name.trim().split(",");
  7073.                     List<String> l = new ArrayList<>();
  7074.                     for(int i=0; i<r.length; i++){
  7075.                         r[i] = r[i].trim();
  7076.                         l.add(r[i]);
  7077.                     }
  7078.                    
  7079.                     if(!l.isEmpty()) {
  7080.                         this.alternativeContentTypeSoap12 = new ArrayList<>();
  7081.                         this.alternativeContentTypeSoap12.addAll(l);
  7082.                     }
  7083.                 }
  7084.             }catch(java.lang.Exception e) {
  7085.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+": "+e.getMessage(),e);
  7086.                 this.alternativeContentTypeSoap12 = null;
  7087.             }  
  7088.             this.alternativeContentTypeSoap12Read = true;
  7089.         }

  7090.         return this.alternativeContentTypeSoap12;
  7091.     }
  7092.    
  7093.    
  7094.     private Boolean useRestMultipartLazy = null;
  7095.     public boolean useRestMultipartLazy() {
  7096.         if(this.useRestMultipartLazy==null){
  7097.             String pName = "org.openspcoop2.pdd.restMessage.multipart.lazy";
  7098.             try{
  7099.                 String name = null;
  7100.                 name = this.reader.getValueConvertEnvProperties(pName);
  7101.                 if(name==null){
  7102.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  7103.                     name="true";
  7104.                 }
  7105.                 name = name.trim();
  7106.                 this.useRestMultipartLazy = Boolean.parseBoolean(name);
  7107.             } catch(java.lang.Exception e) {
  7108.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  7109.                 this.useRestMultipartLazy = true;
  7110.             }    
  7111.         }

  7112.         return this.useRestMultipartLazy;
  7113.     }
  7114.    
  7115.    
  7116.    
  7117.     /**
  7118.      * Restituisce L'indicazione se filtrare le buste rispetto alla scadenza della busta
  7119.      *
  7120.      * @return indicazione se filtrare le buste rispetto alla scadenza della busta
  7121.      *
  7122.      */
  7123.     private Boolean repositoryBusteFiltraBusteScaduteRispettoOraRegistrazione = null;
  7124.     public boolean isRepositoryBusteFiltraBusteScaduteRispettoOraRegistrazione() {  
  7125.         if(this.repositoryBusteFiltraBusteScaduteRispettoOraRegistrazione==null){
  7126.             try{
  7127.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.scadenzaMessaggio.filtraBusteScaduteRispettoOraRegistrazione");
  7128.                 if(value==null){
  7129.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.scadenzaMessaggio.filtraBusteScaduteRispettoOraRegistrazione' non definita (Viene utilizzato il default:true)");
  7130.                     this.repositoryBusteFiltraBusteScaduteRispettoOraRegistrazione = true;
  7131.                 }else{
  7132.                     this.repositoryBusteFiltraBusteScaduteRispettoOraRegistrazione = Boolean.parseBoolean(value);
  7133.                 }
  7134.             }catch(java.lang.Exception e) {
  7135.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.scadenzaMessaggio.filtraBusteScaduteRispettoOraRegistrazione' (Viene utilizzato il default:true): "+e.getMessage(),e);
  7136.                 this.repositoryBusteFiltraBusteScaduteRispettoOraRegistrazione = true;
  7137.             }    
  7138.         }

  7139.         return this.repositoryBusteFiltraBusteScaduteRispettoOraRegistrazione;
  7140.     }

  7141.     /**
  7142.      * Restituisce l'intervallo di tempo che definisce una correlazione scaduta nel repository di OpenSPCoop
  7143.      *
  7144.      * @return Restituisce l'intervallo di tempo che definisce una correlazione scaduta nel repository di OpenSPCoo
  7145.      *
  7146.      */
  7147.     private Long repositoryIntervalloScadenzaCorrelazioneApplicativa = null;
  7148.     public long getRepositoryIntervalloScadenzaCorrelazioneApplicativa() {  
  7149.         if(this.repositoryIntervalloScadenzaCorrelazioneApplicativa == null){
  7150.             try{
  7151.                 String name = null;
  7152.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.scadenzaCorrelazioneApplicativa");
  7153.                 if(name==null){
  7154.                     /** throw new CoreException(NON_DEFINITA); */
  7155.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.scadenzaCorrelazioneApplicativa' non definita, viene usato il valore impostato nella proprieta 'org.openspcoop2.pdd.repository.scadenzaMessaggio'");
  7156.                     this.repositoryIntervalloScadenzaCorrelazioneApplicativa = getRepositoryIntervalloScadenzaMessaggi();
  7157.                 }
  7158.                 else{
  7159.                     name = name.trim();
  7160.                     this.repositoryIntervalloScadenzaCorrelazioneApplicativa = java.lang.Long.parseLong(name);
  7161.                 }
  7162.             }catch(java.lang.Exception e) {
  7163.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.scadenzaCorrelazioneApplicativa': "+e.getMessage(),e);
  7164.                 this.repositoryIntervalloScadenzaCorrelazioneApplicativa = -1L;
  7165.             }    
  7166.         }
  7167.        
  7168.         return this.repositoryIntervalloScadenzaCorrelazioneApplicativa;
  7169.     }
  7170.    
  7171.     private Integer maxLengthCorrelazioneApplicativa = null;
  7172.     public int getMaxLengthCorrelazioneApplicativa() {  
  7173.         if(this.maxLengthCorrelazioneApplicativa == null){
  7174.             try{
  7175.                 String name = null;
  7176.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.correlazioneApplicativa.maxLength");
  7177.                 if(name==null){
  7178.                     /** throw new CoreException(NON_DEFINITA); */
  7179.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.correlazioneApplicativa.maxLength' non definita, viene usato il valore di default: 255");
  7180.                     this.maxLengthCorrelazioneApplicativa = 255;
  7181.                 }
  7182.                 else{
  7183.                     name = name.trim();
  7184.                     this.maxLengthCorrelazioneApplicativa = java.lang.Integer.parseInt(name);
  7185.                 }
  7186.             }catch(java.lang.Exception e) {
  7187.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.correlazioneApplicativa.maxLength': "+e.getMessage(),e);
  7188.                 this.maxLengthCorrelazioneApplicativa = 255;
  7189.             }    
  7190.         }
  7191.        
  7192.         return this.maxLengthCorrelazioneApplicativa;
  7193.     }
  7194.    
  7195.     private Boolean maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaBloccaTruncateActive = null;
  7196.     public boolean isMaxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaBloccaTruncate() {  
  7197.         if(this.maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaBloccaTruncateActive == null){
  7198.             String pName = "org.openspcoop2.pdd.repository.correlazioneApplicativa.maxLengthExceeded.identificazioneFallita.blocca.truncate";
  7199.             try{
  7200.                 String name = null;
  7201.                 name = this.reader.getValueConvertEnvProperties(pName);
  7202.                 if(name==null){
  7203.                     /** throw new CoreException(NON_DEFINITA); */
  7204.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non definita, viene usato il valore di default: false");
  7205.                     this.maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaBloccaTruncateActive = false;
  7206.                 }
  7207.                 else{
  7208.                     name = name.trim();
  7209.                     this.maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaBloccaTruncateActive = java.lang.Boolean.parseBoolean(name);
  7210.                 }
  7211.             }catch(java.lang.Exception e) {
  7212.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage()+". Viene usato il valore di default: false",e);
  7213.                 this.maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaBloccaTruncateActive = false;
  7214.             }    
  7215.         }
  7216.        
  7217.         return this.maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaBloccaTruncateActive;
  7218.     }
  7219.    
  7220.     private Integer maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaBloccaTruncate = null;
  7221.     private Boolean maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaBloccaTruncateRead = null;
  7222.     public Integer getMaxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaBloccaTruncate() {  
  7223.         if(this.maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaBloccaTruncateRead == null){
  7224.             String pName = "org.openspcoop2.pdd.repository.correlazioneApplicativa.maxLengthExceeded.identificazioneFallita.blocca.truncate.length";
  7225.             try{
  7226.                 String name = this.reader.getValueConvertEnvProperties(pName);
  7227.                 if(name!=null && StringUtils.isNotEmpty(name.trim())){
  7228.                     name = name.trim();
  7229.                     this.maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaBloccaTruncate = java.lang.Integer.parseInt(name);
  7230.                     if(this.maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaBloccaTruncate<=0) {
  7231.                         throw new CoreException("Deve essere fornito un valore maggiore di 0");
  7232.                     }
  7233.                     if(this.maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaBloccaTruncate>=getMaxLengthCorrelazioneApplicativa()) {
  7234.                         throw new CoreException("Deve essere fornito un valore minore di "+getMaxLengthCorrelazioneApplicativa());
  7235.                     }
  7236.                 }
  7237.                 else {
  7238.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non definita, viene usato il valore di default: 245");
  7239.                     this.maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaBloccaTruncate = 245;
  7240.                 }
  7241.             }catch(java.lang.Exception e) {
  7242.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  7243.                 this.maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaBloccaTruncate = null;
  7244.             }  
  7245.            
  7246.             this.maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaBloccaTruncateRead = true;
  7247.         }
  7248.        
  7249.         return this.maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaBloccaTruncate;
  7250.     }
  7251.    
  7252.     private Boolean maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaAccettaTruncateActive = null;
  7253.     public boolean isMaxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaAccettaTruncate() {  
  7254.         if(this.maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaAccettaTruncateActive == null){
  7255.             String pName = "org.openspcoop2.pdd.repository.correlazioneApplicativa.maxLengthExceeded.identificazioneFallita.accetta.truncate";
  7256.             try{
  7257.                 String name = null;
  7258.                 name = this.reader.getValueConvertEnvProperties(pName);
  7259.                 if(name==null){
  7260.                     /** throw new CoreException(NON_DEFINITA); */
  7261.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non definita, viene usato il valore di default: false");
  7262.                     this.maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaAccettaTruncateActive = false;
  7263.                 }
  7264.                 else{
  7265.                     name = name.trim();
  7266.                     this.maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaAccettaTruncateActive = java.lang.Boolean.parseBoolean(name);
  7267.                 }
  7268.             }catch(java.lang.Exception e) {
  7269.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage()+". Viene usato il valore di default: false",e);
  7270.                 this.maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaAccettaTruncateActive = false;
  7271.             }    
  7272.         }
  7273.        
  7274.         return this.maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaAccettaTruncateActive;
  7275.     }
  7276.    
  7277.     private Integer maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaAccettaTruncate = null;
  7278.     private Boolean maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaAccettaTruncateRead = null;
  7279.     public Integer getMaxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaAccettaTruncate() {
  7280.         if(this.maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaAccettaTruncateRead == null){
  7281.             String pName = "org.openspcoop2.pdd.repository.correlazioneApplicativa.maxLengthExceeded.identificazioneFallita.accetta.truncate.length";
  7282.             try{
  7283.                 String name = this.reader.getValueConvertEnvProperties(pName);
  7284.                 if(name!=null && StringUtils.isNotEmpty(name.trim())){
  7285.                     name = name.trim();
  7286.                     this.maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaAccettaTruncate = java.lang.Integer.parseInt(name);
  7287.                     if(this.maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaAccettaTruncate<=0) {
  7288.                         throw new CoreException("Deve essere fornito un valore maggiore di 0");
  7289.                     }
  7290.                     if(this.maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaAccettaTruncate>=getMaxLengthCorrelazioneApplicativa()) {
  7291.                         throw new CoreException("Deve essere fornito un valore minore di "+getMaxLengthCorrelazioneApplicativa());
  7292.                     }
  7293.                 }
  7294.                 else {
  7295.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non definita, viene usato il valore di default: 245");
  7296.                     this.maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaAccettaTruncate = 245;
  7297.                 }
  7298.             }catch(java.lang.Exception e) {
  7299.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  7300.                 this.maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaAccettaTruncate = null;
  7301.             }  
  7302.            
  7303.             this.maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaAccettaTruncateRead = true;
  7304.         }
  7305.        
  7306.         return this.maxLengthExceededCorrelazioneApplicativaIdentificazioneFallitaAccettaTruncate;
  7307.     }

  7308.    
  7309.     private Boolean isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazione = null;
  7310.     public boolean isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazione() {    
  7311.        
  7312.         if(this.isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazione==null){
  7313.             try{
  7314.                 String name = null;
  7315.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.scadenzaCorrelazioneApplicativa.filtraCorrelazioniScaduteRispettoOraRegistrazione");
  7316.                
  7317.                 if(name!=null){
  7318.                     name = name.trim();
  7319.                     this.isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazione = Boolean.parseBoolean(name);
  7320.                 }else{
  7321.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.scadenzaCorrelazioneApplicativa.filtraCorrelazioniScaduteRispettoOraRegistrazione' non impostata, viene utilizzato il default=true");
  7322.                     this.isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazione = true;
  7323.                 }
  7324.    
  7325.             }catch(java.lang.Exception e) {
  7326.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.scadenzaCorrelazioneApplicativa.filtraCorrelazioniScaduteRispettoOraRegistrazione' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  7327.                 this.isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazione = true;
  7328.             }    
  7329.         }
  7330.        
  7331.         return this.isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazione;
  7332.     }
  7333.    
  7334.     private Boolean isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazioneEscludiConScadenzaImpostata = null;
  7335.     public boolean isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazioneEscludiConScadenzaImpostata() {
  7336.        
  7337.         if(this.isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazioneEscludiConScadenzaImpostata==null){
  7338.             try{
  7339.                 String name = null;
  7340.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.scadenzaCorrelazioneApplicativa.filtraCorrelazioniScaduteRispettoOraRegistrazione.soloCorrelazioniSenzaScadenza");
  7341.                
  7342.                 if(name!=null){
  7343.                     name = name.trim();
  7344.                     this.isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazioneEscludiConScadenzaImpostata = Boolean.parseBoolean(name);
  7345.                 }else{
  7346.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.scadenzaCorrelazioneApplicativa.filtraCorrelazioniScaduteRispettoOraRegistrazione.soloCorrelazioniSenzaScadenza' non impostata, viene utilizzato il default=false");
  7347.                     this.isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazioneEscludiConScadenzaImpostata = false;
  7348.                 }
  7349.    
  7350.             }catch(java.lang.Exception e) {
  7351.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.scadenzaCorrelazioneApplicativa.filtraCorrelazioniScaduteRispettoOraRegistrazione.soloCorrelazioniSenzaScadenza' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  7352.                 this.isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazioneEscludiConScadenzaImpostata = false;
  7353.             }    
  7354.         }
  7355.        
  7356.         return this.isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazioneEscludiConScadenzaImpostata;
  7357.     }
  7358.    

  7359.     private Boolean isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsNullConsideraErrore = null;
  7360.     public boolean isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsNullConsideraErrore() {  
  7361.        
  7362.         String pName = "org.openspcoop2.pdd.repository.correlazioneApplicativa.richiesta.identificativoEstrattoIsNull.consideraErrore";
  7363.         if(this.isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsNullConsideraErrore==null){
  7364.             try{
  7365.                 String name = null;
  7366.                 name = this.reader.getValueConvertEnvProperties(pName);
  7367.                
  7368.                 if(name!=null){
  7369.                     name = name.trim();
  7370.                     this.isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsNullConsideraErrore = Boolean.parseBoolean(name);
  7371.                 }else{
  7372.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  7373.                     this.isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsNullConsideraErrore = true;
  7374.                 }
  7375.    
  7376.             }catch(java.lang.Exception e) {
  7377.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true));
  7378.                 this.isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsNullConsideraErrore = true;
  7379.             }    
  7380.         }
  7381.        
  7382.         return this.isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsNullConsideraErrore;
  7383.     }
  7384.    
  7385.     private Boolean isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsNullConsideraErrore = null;
  7386.     public boolean isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsNullConsideraErrore() {  
  7387.        
  7388.         String pName = "org.openspcoop2.pdd.repository.correlazioneApplicativa.risposta.identificativoEstrattoIsNull.consideraErrore";
  7389.         if(this.isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsNullConsideraErrore==null){
  7390.             try{
  7391.                 String name = null;
  7392.                 name = this.reader.getValueConvertEnvProperties(pName);
  7393.                
  7394.                 if(name!=null){
  7395.                     name = name.trim();
  7396.                     this.isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsNullConsideraErrore = Boolean.parseBoolean(name);
  7397.                 }else{
  7398.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  7399.                     this.isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsNullConsideraErrore = true;
  7400.                 }
  7401.    
  7402.             }catch(java.lang.Exception e) {
  7403.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true));
  7404.                 this.isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsNullConsideraErrore = true;
  7405.             }    
  7406.         }
  7407.        
  7408.         return this.isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsNullConsideraErrore;
  7409.     }
  7410.    
  7411.     private Boolean isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsEmptyConsideraErrore = null;
  7412.     public boolean isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsEmptyConsideraErrore() {
  7413.        
  7414.         String pName = "org.openspcoop2.pdd.repository.correlazioneApplicativa.richiesta.identificativoEstrattoIsEmpty.consideraErrore";
  7415.         if(this.isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsEmptyConsideraErrore==null){
  7416.             try{
  7417.                 String name = null;
  7418.                 name = this.reader.getValueConvertEnvProperties(pName);
  7419.                
  7420.                 if(name!=null){
  7421.                     name = name.trim();
  7422.                     this.isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsEmptyConsideraErrore = Boolean.parseBoolean(name);
  7423.                 }else{
  7424.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  7425.                     this.isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsEmptyConsideraErrore = true;
  7426.                 }
  7427.    
  7428.             }catch(java.lang.Exception e) {
  7429.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true));
  7430.                 this.isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsEmptyConsideraErrore = true;
  7431.             }    
  7432.         }
  7433.        
  7434.         return this.isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsEmptyConsideraErrore;
  7435.     }
  7436.    
  7437.     private Boolean isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsEmptyConsideraErrore = null;
  7438.     public boolean isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsEmptyConsideraErrore() {  
  7439.        
  7440.         String pName = "org.openspcoop2.pdd.repository.correlazioneApplicativa.risposta.identificativoEstrattoIsEmpty.consideraErrore";
  7441.         if(this.isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsEmptyConsideraErrore==null){
  7442.             try{
  7443.                 String name = null;
  7444.                 name = this.reader.getValueConvertEnvProperties(pName);
  7445.                
  7446.                 if(name!=null){
  7447.                     name = name.trim();
  7448.                     this.isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsEmptyConsideraErrore = Boolean.parseBoolean(name);
  7449.                 }else{
  7450.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  7451.                     this.isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsEmptyConsideraErrore = true;
  7452.                 }
  7453.    
  7454.             }catch(java.lang.Exception e) {
  7455.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true));
  7456.                 this.isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsEmptyConsideraErrore = true;
  7457.             }    
  7458.         }
  7459.        
  7460.         return this.isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsEmptyConsideraErrore;
  7461.     }
  7462.    
  7463.    
  7464.     private Boolean isRepositoryCorrelazioneApplicativaRichiestaRegolaCorrelazioneNonTrovataBlocca = null;
  7465.     public boolean isRepositoryCorrelazioneApplicativaRichiestaRegolaCorrelazioneNonTrovataBlocca() {  
  7466.        
  7467.         String pName = "org.openspcoop2.pdd.repository.correlazioneApplicativa.richiesta.regolaCorrelazioneNonTrovata.blocca";
  7468.         if(this.isRepositoryCorrelazioneApplicativaRichiestaRegolaCorrelazioneNonTrovataBlocca==null){
  7469.             try{
  7470.                 String name = null;
  7471.                 name = this.reader.getValueConvertEnvProperties(pName);
  7472.                
  7473.                 if(name!=null){
  7474.                     name = name.trim();
  7475.                     this.isRepositoryCorrelazioneApplicativaRichiestaRegolaCorrelazioneNonTrovataBlocca = Boolean.parseBoolean(name);
  7476.                 }else{
  7477.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  7478.                     this.isRepositoryCorrelazioneApplicativaRichiestaRegolaCorrelazioneNonTrovataBlocca = false;
  7479.                 }
  7480.    
  7481.             }catch(java.lang.Exception e) {
  7482.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false));
  7483.                 this.isRepositoryCorrelazioneApplicativaRichiestaRegolaCorrelazioneNonTrovataBlocca = false;
  7484.             }    
  7485.         }
  7486.        
  7487.         return this.isRepositoryCorrelazioneApplicativaRichiestaRegolaCorrelazioneNonTrovataBlocca;
  7488.     }
  7489.    
  7490.     private Boolean isRepositoryCorrelazioneApplicativaRispostaRegolaCorrelazioneNonTrovataBlocca = null;
  7491.     public boolean isRepositoryCorrelazioneApplicativaRispostaRegolaCorrelazioneNonTrovataBlocca() {    
  7492.        
  7493.         String pName = "org.openspcoop2.pdd.repository.correlazioneApplicativa.risposta.regolaCorrelazioneNonTrovata.blocca";
  7494.         if(this.isRepositoryCorrelazioneApplicativaRispostaRegolaCorrelazioneNonTrovataBlocca==null){
  7495.             try{
  7496.                 String name = null;
  7497.                 name = this.reader.getValueConvertEnvProperties(pName);
  7498.                
  7499.                 if(name!=null){
  7500.                     name = name.trim();
  7501.                     this.isRepositoryCorrelazioneApplicativaRispostaRegolaCorrelazioneNonTrovataBlocca = Boolean.parseBoolean(name);
  7502.                 }else{
  7503.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  7504.                     this.isRepositoryCorrelazioneApplicativaRispostaRegolaCorrelazioneNonTrovataBlocca = false;
  7505.                 }
  7506.    
  7507.             }catch(java.lang.Exception e) {
  7508.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false));
  7509.                 this.isRepositoryCorrelazioneApplicativaRispostaRegolaCorrelazioneNonTrovataBlocca = false;
  7510.             }    
  7511.         }
  7512.        
  7513.         return this.isRepositoryCorrelazioneApplicativaRispostaRegolaCorrelazioneNonTrovataBlocca;
  7514.     }
  7515.    

  7516.     /**
  7517.      * Restituisce l'intervallo in millisecondi di attesa attiva per messaggi gia in processamento
  7518.      *
  7519.      * @return Restituisce l'intervallo in millisecondi di attesa attiva per messaggi gia in processamento
  7520.      *  *
  7521.      */
  7522.     private Long msgGiaInProcessamentoAttesaAttiva = null;
  7523.     public long getMsgGiaInProcessamentoAttesaAttiva() {    
  7524.         if(this.msgGiaInProcessamentoAttesaAttiva==null){
  7525.             try{
  7526.                 String name = null;
  7527.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.messaggioInProcessamento.attesaAttiva");

  7528.                 if(name!=null){
  7529.                     name = name.trim();
  7530.                     long time = java.lang.Long.parseLong(name);
  7531.                     this.msgGiaInProcessamentoAttesaAttiva = time*1000;
  7532.                 }else{
  7533.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.messaggioInProcessamento.attesaAttiva' non impostato, viene utilizzato il default="+CostantiPdD.MSG_GIA_IN_PROCESSAMENTO_ATTESA_ATTIVA);
  7534.                     this.msgGiaInProcessamentoAttesaAttiva = CostantiPdD.MSG_GIA_IN_PROCESSAMENTO_ATTESA_ATTIVA;
  7535.                 }

  7536.             }catch(java.lang.Exception e) {
  7537.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.messaggioInProcessamento.attesaAttiva' non impostato, viene utilizzato il default="+CostantiPdD.MSG_GIA_IN_PROCESSAMENTO_ATTESA_ATTIVA+", errore:"+e.getMessage(),e);
  7538.                 this.msgGiaInProcessamentoAttesaAttiva = CostantiPdD.MSG_GIA_IN_PROCESSAMENTO_ATTESA_ATTIVA;
  7539.             }    
  7540.         }

  7541.         return this.msgGiaInProcessamentoAttesaAttiva;
  7542.     }

  7543.     /**
  7544.      * Restituisce l'intervallo maggiore per frequenza di check nell'attesa attiva effettuata dal TransactionManager, in millisecondi
  7545.      *
  7546.      * @return Restituisce Intervallo maggiore per frequenza di check nell'attesa attiva effettuata dal TransactionManager, in millisecondi
  7547.      *
  7548.      */
  7549.     private Integer msgGiaInProcessamentoCheckInterval = null;
  7550.     public int getMsgGiaInProcessamentoCheckInterval() {    
  7551.         String pName = "org.openspcoop2.pdd.repository.messaggioInProcessamento.check";
  7552.         if(this.msgGiaInProcessamentoCheckInterval==null){
  7553.             try{
  7554.                 String name = null;
  7555.                 name = this.reader.getValueConvertEnvProperties(pName);

  7556.                 if(name!=null){
  7557.                     name = name.trim();
  7558.                     int time = java.lang.Integer.parseInt(name);
  7559.                     this.msgGiaInProcessamentoCheckInterval = time;
  7560.                 }else{
  7561.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.MSG_GIA_IN_PROCESSAMENTO_CHECK_INTERVAL);
  7562.                     this.msgGiaInProcessamentoCheckInterval = CostantiPdD.MSG_GIA_IN_PROCESSAMENTO_CHECK_INTERVAL;
  7563.                 }
  7564.             }catch(java.lang.Exception e) {
  7565.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.MSG_GIA_IN_PROCESSAMENTO_CHECK_INTERVAL+", errore:"+e.getMessage(),e);
  7566.                 this.msgGiaInProcessamentoCheckInterval = CostantiPdD.MSG_GIA_IN_PROCESSAMENTO_CHECK_INTERVAL;
  7567.             }  
  7568.         }

  7569.         return this.msgGiaInProcessamentoCheckInterval;
  7570.     }
  7571.    
  7572.     private Boolean msgGiaInProcessamentoUseLock = null;
  7573.     public boolean isMsgGiaInProcessamentoUseLock() {  
  7574.         if(this.msgGiaInProcessamentoUseLock==null){
  7575.             String pName = "org.openspcoop2.pdd.repository.messaggioInProcessamento.useLock";
  7576.             try{
  7577.                 String name = null;
  7578.                 name = this.reader.getValueConvertEnvProperties(pName);

  7579.                 if(name!=null){
  7580.                     name = name.trim();
  7581.                     this.msgGiaInProcessamentoUseLock = Boolean.valueOf(name);
  7582.                 }else{
  7583.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+false);
  7584.                     this.msgGiaInProcessamentoUseLock = false;
  7585.                 }
  7586.             }catch(java.lang.Exception e) {
  7587.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+false+", errore:"+e.getMessage(),e);
  7588.                 this.msgGiaInProcessamentoUseLock = false;
  7589.             }  
  7590.         }

  7591.         return this.msgGiaInProcessamentoUseLock;
  7592.     }

  7593.     /**
  7594.      * Restituisce l'IThreshold utilizzato da OpenSPCoop
  7595.      *
  7596.      * @return Restituisce l'IThreshold utilizzato da OpenSPCoop.
  7597.      *
  7598.      */
  7599.     private List<String> repositoryThresholdTypes = null;
  7600.     private boolean repositoryThresholdTypesRead = false;
  7601.     public List<String> getRepositoryThresholdTypes() {
  7602.         if(!this.repositoryThresholdTypesRead){
  7603.             try{
  7604.                 String name = null;
  7605.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.threshold.tipi");
  7606.                 if(name==null){
  7607.                     this.repositoryThresholdTypes = null;
  7608.                 }else{
  7609.                     String [] r = name.trim().split(",");
  7610.                     List<String> l = new ArrayList<>();
  7611.                     for(int i=0; i<r.length; i++){
  7612.                         r[i] = r[i].trim();
  7613.                         l.add(r[i]);
  7614.                     }
  7615.                    
  7616.                     if(!l.isEmpty()) {
  7617.                         this.repositoryThresholdTypes = new ArrayList<>();
  7618.                         this.repositoryThresholdTypes.addAll(l);
  7619.                     }
  7620.                 }
  7621.             }catch(java.lang.Exception e) {
  7622.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.threshold.tipi': "+e.getMessage(),e);
  7623.                 this.repositoryThresholdTypes = null;
  7624.             }  
  7625.             this.repositoryThresholdTypesRead = true;
  7626.         }

  7627.         return this.repositoryThresholdTypes;
  7628.     }
  7629.     /**
  7630.      * Restituisce la soglia utilizzata dall'IThreshold utilizzato da OpenSPCoop
  7631.      *
  7632.      * @return Restituisce la soglia utilizzata dall'IThreshold utilizzato da OpenSPCoop.
  7633.      *
  7634.      */
  7635.     private Properties repositoryThresholdParameters = null;
  7636.     private boolean repositoryThresholdParametersRead = false;
  7637.     public Properties getRepositoryThresholdParameters(String tipoThreshould) {
  7638.         if(!this.repositoryThresholdParametersRead){
  7639.             try{
  7640.                 this.repositoryThresholdParameters = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.repository.threshold."+tipoThreshould+".");
  7641.             }catch(java.lang.Exception e) {
  7642.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.threshold."+tipoThreshould+PROPERTY_START_SUFFIX_ERRORE+e.getMessage(),e);
  7643.                 this.repositoryThresholdParameters = null;
  7644.             }  
  7645.             this.repositoryThresholdParametersRead = true;
  7646.         }

  7647.         return this.repositoryThresholdParameters;
  7648.     }

  7649.     /**
  7650.      * Restituisce l'intervallo per il timer di Threshold
  7651.      *
  7652.      * @return Restituisce l'intervallo per il timer di Threshold
  7653.      *
  7654.      */
  7655.     private Long repositoryThresholdCheckInterval = null;
  7656.     public long getRepositoryThresholdCheckInterval() {
  7657.         if(this.repositoryThresholdCheckInterval == null){
  7658.             try{
  7659.                 String name = null;
  7660.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.threshold.checkInterval");
  7661.                 if(name!=null){
  7662.                     name = name.trim();
  7663.                     this.repositoryThresholdCheckInterval = java.lang.Long.parseLong(name);
  7664.                 }else{
  7665.                     this.repositoryThresholdCheckInterval = 0L;
  7666.                 }
  7667.             }catch(java.lang.Exception e) {
  7668.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.threshold.checkInterval': "+e.getMessage(),e);
  7669.                 this.repositoryThresholdCheckInterval = -1L;
  7670.             }    
  7671.         }

  7672.         return this.repositoryThresholdCheckInterval;
  7673.     }

  7674.     /**
  7675.      * Indicazione se la porta di dominio deve attuare allo startup la validazione semantica della configurazione xml
  7676.      *  
  7677.      * @return Indicazione se la porta di dominio deve attuare allo startup la validazione semantica della configurazione xml
  7678.      *
  7679.      */
  7680.     private Boolean isValidazioneSemanticaConfigurazioneStartupXML = null;
  7681.     public boolean isValidazioneSemanticaConfigurazioneStartupXML(){

  7682.         if(this.isValidazioneSemanticaConfigurazioneStartupXML==null){
  7683.             try{  
  7684.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.startup.config.xml.validazioneSemantica");

  7685.                 if (value != null){
  7686.                     value = value.trim();
  7687.                     if(CostantiConfigurazione.ABILITATO.equals(value)){
  7688.                         this.isValidazioneSemanticaConfigurazioneStartupXML = true;
  7689.                     }else if(CostantiConfigurazione.DISABILITATO.equals(value)){
  7690.                         this.isValidazioneSemanticaConfigurazioneStartupXML = false;
  7691.                     }
  7692.                     else{
  7693.                         throw new CoreException(VALORE_NON_CORRETTO_ABILITATO_DISABILITATO+value);
  7694.                     }
  7695.                 }else{
  7696.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.startup.config.xml.validazioneSemantica' non impostata, viene utilizzato il default=true");
  7697.                     this.isValidazioneSemanticaConfigurazioneStartupXML = true;
  7698.                 }

  7699.             }catch(java.lang.Exception e) {
  7700.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.startup.config.xml.validazioneSemantica' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  7701.                 this.isValidazioneSemanticaConfigurazioneStartupXML = true;
  7702.             }
  7703.         }

  7704.         return this.isValidazioneSemanticaConfigurazioneStartupXML;
  7705.     }
  7706.     /**
  7707.      * Indicazione se la porta di dominio deve attuare allo startup la validazione semantica della configurazione
  7708.      *  
  7709.      * @return Indicazione se la porta di dominio deve attuare allo startup la validazione semantica della configurazione
  7710.      *
  7711.      */
  7712.     private Boolean isValidazioneSemanticaConfigurazioneStartup = null;
  7713.     public boolean isValidazioneSemanticaConfigurazioneStartup(){

  7714.         if(this.isValidazioneSemanticaConfigurazioneStartup==null){
  7715.             try{  
  7716.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.startup.config.validazioneSemantica");

  7717.                 if (value != null){
  7718.                     value = value.trim();
  7719.                     if(CostantiConfigurazione.ABILITATO.equals(value)){
  7720.                         this.isValidazioneSemanticaConfigurazioneStartup = true;
  7721.                     }else if(CostantiConfigurazione.DISABILITATO.equals(value)){
  7722.                         this.isValidazioneSemanticaConfigurazioneStartup = false;
  7723.                     }
  7724.                     else{
  7725.                         throw new CoreException(VALORE_NON_CORRETTO_ABILITATO_DISABILITATO+value);
  7726.                     }
  7727.                 }else{
  7728.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.startup.config.validazioneSemantica' non impostata, viene utilizzato il default=false");
  7729.                     this.isValidazioneSemanticaConfigurazioneStartup = false;
  7730.                 }

  7731.             }catch(java.lang.Exception e) {
  7732.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.startup.config.validazioneSemantica' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  7733.                 this.isValidazioneSemanticaConfigurazioneStartup = false;
  7734.             }
  7735.         }

  7736.         return this.isValidazioneSemanticaConfigurazioneStartup;
  7737.     }
  7738.     /**
  7739.      * Indicazione se la porta di dominio deve attuare allo startup la validazione semantica della registro servizi xml
  7740.      *  
  7741.      * @return Indicazione se la porta di dominio deve attuare allo startup la validazione semantica della registro servizi xml
  7742.      *
  7743.      */
  7744.     private Boolean isValidazioneSemanticaRegistroServiziStartupXML = null;
  7745.     public boolean isValidazioneSemanticaRegistroServiziStartupXML(){

  7746.         if(this.isValidazioneSemanticaRegistroServiziStartupXML==null){
  7747.             try{  
  7748.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.startup.registri.xml.validazioneSemantica");

  7749.                 if (value != null){
  7750.                     value = value.trim();
  7751.                     if(CostantiConfigurazione.ABILITATO.equals(value)){
  7752.                         this.isValidazioneSemanticaRegistroServiziStartupXML = true;
  7753.                     }else if(CostantiConfigurazione.DISABILITATO.equals(value)){
  7754.                         this.isValidazioneSemanticaRegistroServiziStartupXML = false;
  7755.                     }
  7756.                     else{
  7757.                         throw new CoreException(VALORE_NON_CORRETTO_ABILITATO_DISABILITATO+value);
  7758.                     }
  7759.                 }else{
  7760.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.startup.registri.xml.validazioneSemantica' non impostata, viene utilizzato il default=true");
  7761.                     this.isValidazioneSemanticaRegistroServiziStartupXML = true;
  7762.                 }

  7763.             }catch(java.lang.Exception e) {
  7764.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.startup.registri.xml.validazioneSemantica' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  7765.                 this.isValidazioneSemanticaRegistroServiziStartupXML = true;
  7766.             }
  7767.         }

  7768.         return this.isValidazioneSemanticaRegistroServiziStartupXML;
  7769.     }
  7770.     /**
  7771.      * Indicazione se la porta di dominio deve attuare allo startup la validazione semantica della registro servizi
  7772.      *  
  7773.      * @return Indicazione se la porta di dominio deve attuare allo startup la validazione semantica della registro servizi
  7774.      *
  7775.      */
  7776.     private Boolean isValidazioneSemanticaRegistroServiziStartup = null;
  7777.     public boolean isValidazioneSemanticaRegistroServiziStartup(){

  7778.         if(this.isValidazioneSemanticaRegistroServiziStartup==null){
  7779.             try{  
  7780.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.startup.registri.validazioneSemantica");

  7781.                 if (value != null){
  7782.                     value = value.trim();
  7783.                     if(CostantiConfigurazione.ABILITATO.equals(value)){
  7784.                         this.isValidazioneSemanticaRegistroServiziStartup = true;
  7785.                     }else if(CostantiConfigurazione.DISABILITATO.equals(value)){
  7786.                         this.isValidazioneSemanticaRegistroServiziStartup = false;
  7787.                     }
  7788.                     else{
  7789.                         throw new CoreException(VALORE_NON_CORRETTO_ABILITATO_DISABILITATO+value);
  7790.                     }
  7791.                 }else{
  7792.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.startup.registri.validazioneSemantica' non impostata, viene utilizzato il default=false");
  7793.                     this.isValidazioneSemanticaRegistroServiziStartup = false;
  7794.                 }

  7795.             }catch(java.lang.Exception e) {
  7796.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.startup.registri.validazioneSemantica' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  7797.                 this.isValidazioneSemanticaRegistroServiziStartup = false;
  7798.             }
  7799.         }

  7800.         return this.isValidazioneSemanticaRegistroServiziStartup;
  7801.     }
  7802.     /**
  7803.      * Indicazione se la porta di dominio deve attuare allo startup la validazione semantica della configurazione
  7804.      *  
  7805.      * @return Indicazione se la porta di dominio deve attuare allo startup la validazione semantica della configurazione
  7806.      *
  7807.      */
  7808.     private Boolean isValidazioneSemanticaRegistroServiziCheckURI = null;
  7809.     public boolean isValidazioneSemanticaRegistroServiziCheckURI(){

  7810.         if(this.isValidazioneSemanticaRegistroServiziCheckURI==null){
  7811.             try{  
  7812.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.startup.registri.validazioneSemantica.checkURI");

  7813.                 if (value != null){
  7814.                     value = value.trim();
  7815.                     if(CostantiConfigurazione.ABILITATO.equals(value)){
  7816.                         this.isValidazioneSemanticaRegistroServiziCheckURI = true;
  7817.                     }else if(CostantiConfigurazione.DISABILITATO.equals(value)){
  7818.                         this.isValidazioneSemanticaRegistroServiziCheckURI = false;
  7819.                     }
  7820.                     else{
  7821.                         throw new CoreException(VALORE_NON_CORRETTO_ABILITATO_DISABILITATO+value);
  7822.                     }
  7823.                 }else{
  7824.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.startup.registri.validazioneSemantica.checkURI' non impostata, viene utilizzato il default=false");
  7825.                     this.isValidazioneSemanticaRegistroServiziCheckURI = false;
  7826.                 }

  7827.             }catch(java.lang.Exception e) {
  7828.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.startup.registri.validazioneSemantica.checkURI' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  7829.                 this.isValidazioneSemanticaRegistroServiziCheckURI = false;
  7830.             }
  7831.         }

  7832.         return this.isValidazioneSemanticaRegistroServiziCheckURI;
  7833.     }
  7834.    

  7835.     private static final String RISORSE_DB = "db";
  7836.     private static final String RISORSE_JMS = "jms";
  7837.     private static final String RISORSE_TRACCIAMENTO = "tracciamento";
  7838.     private static final String RISORSE_MSGDIAGNOSTICI = "msgdiagnostici";
  7839.     private static final String RISORSE_CONFIGURAZIONE = "configurazione";
  7840.     private static final String RISORSE_CONFIGURAZIONE_VALIDAZIONE_SEMANTICA = "configurazione.validazioneSemantica";
  7841.     private static final String RISORSE_REGISTRI = "registri";
  7842.     private static final String RISORSE_REGISTRI_VALIDAZIONE_SEMANTICA = "registri.validazioneSemantica";
  7843.    
  7844.     private static final String RISORSE_PROPERTY_NAME_CHECK = "org.openspcoop2.pdd.risorse.check.";

  7845.     private Boolean isAbilitatoControlloRisorseDB = null;
  7846.     public boolean isAbilitatoControlloRisorseDB() {    
  7847.         if(this.isAbilitatoControlloRisorseDB==null){
  7848.             this.isAbilitatoControlloRisorseDB = isAbilitatoControlloRisorse(RISORSE_DB);
  7849.         }
  7850.         return this.isAbilitatoControlloRisorseDB;
  7851.     }
  7852.     private Boolean isAbilitatoControlloRisorseJMS = null;
  7853.     public boolean isAbilitatoControlloRisorseJMS() {  
  7854.         if(this.isAbilitatoControlloRisorseJMS==null){
  7855.             this.isAbilitatoControlloRisorseJMS = isAbilitatoControlloRisorse(RISORSE_JMS);
  7856.         }
  7857.         return this.isAbilitatoControlloRisorseJMS;
  7858.     }
  7859.     private Boolean isAbilitatoControlloRisorseTracciamentiPersonalizzati = null;
  7860.     public boolean isAbilitatoControlloRisorseTracciamentiPersonalizzati() {    
  7861.         if(this.isAbilitatoControlloRisorseTracciamentiPersonalizzati==null){
  7862.             this.isAbilitatoControlloRisorseTracciamentiPersonalizzati = isAbilitatoControlloRisorse(RISORSE_TRACCIAMENTO);
  7863.         }
  7864.         return this.isAbilitatoControlloRisorseTracciamentiPersonalizzati;
  7865.     }
  7866.     private Boolean isAbilitatoControlloRisorseMsgDiagnosticiPersonalizzati = null;
  7867.     public boolean isAbilitatoControlloRisorseMsgDiagnosticiPersonalizzati() {  
  7868.         if(this.isAbilitatoControlloRisorseMsgDiagnosticiPersonalizzati==null){
  7869.             this.isAbilitatoControlloRisorseMsgDiagnosticiPersonalizzati = isAbilitatoControlloRisorse(RISORSE_MSGDIAGNOSTICI);
  7870.         }
  7871.         return this.isAbilitatoControlloRisorseMsgDiagnosticiPersonalizzati;
  7872.     }
  7873.     private Boolean isAbilitatoControlloRisorseConfigurazione = null;
  7874.     public boolean isAbilitatoControlloRisorseConfigurazione() {    
  7875.         if(this.isAbilitatoControlloRisorseConfigurazione==null){
  7876.             this.isAbilitatoControlloRisorseConfigurazione = isAbilitatoControlloRisorse(RISORSE_CONFIGURAZIONE);
  7877.         }
  7878.         return this.isAbilitatoControlloRisorseConfigurazione;
  7879.     }
  7880.     private Boolean isAbilitatoControlloValidazioneSemanticaConfigurazione = null;
  7881.     public boolean isAbilitatoControlloValidazioneSemanticaConfigurazione() {  
  7882.         if(this.isAbilitatoControlloValidazioneSemanticaConfigurazione==null){
  7883.             this.isAbilitatoControlloValidazioneSemanticaConfigurazione = isAbilitatoControlloRisorse(RISORSE_CONFIGURAZIONE_VALIDAZIONE_SEMANTICA);
  7884.         }
  7885.         return this.isAbilitatoControlloValidazioneSemanticaConfigurazione;
  7886.     }
  7887.     private Boolean isAbilitatoControlloRisorseRegistriServizi = null;
  7888.     public boolean isAbilitatoControlloRisorseRegistriServizi() {  
  7889.         if(this.isAbilitatoControlloRisorseRegistriServizi==null){
  7890.             this.isAbilitatoControlloRisorseRegistriServizi = isAbilitatoControlloRisorse(RISORSE_REGISTRI);
  7891.         }
  7892.         return this.isAbilitatoControlloRisorseRegistriServizi;
  7893.     }
  7894.     private Boolean isAbilitatoControlloValidazioneSemanticaRegistriServizi = null;
  7895.     public boolean isAbilitatoControlloValidazioneSemanticaRegistriServizi() {  
  7896.         if(this.isAbilitatoControlloValidazioneSemanticaRegistriServizi==null){
  7897.             this.isAbilitatoControlloValidazioneSemanticaRegistriServizi = isAbilitatoControlloRisorse(RISORSE_REGISTRI_VALIDAZIONE_SEMANTICA);
  7898.         }
  7899.         return this.isAbilitatoControlloValidazioneSemanticaRegistriServizi;
  7900.     }
  7901.     private boolean isAbilitatoControlloRisorse(String tipo) {  
  7902.         try{  
  7903.             String value = this.reader.getValueConvertEnvProperties(RISORSE_PROPERTY_NAME_CHECK+tipo);
  7904.             if(value==null){
  7905.                 this.logWarn(getMessaggioProprietaNonImpostata(RISORSE_PROPERTY_NAME_CHECK+tipo, false));
  7906.                 return false;
  7907.             }
  7908.             return CostantiConfigurazione.ABILITATO.equals(value);
  7909.         }catch(java.lang.Exception e) {
  7910.             this.logWarn(getMessaggioProprietaNonImpostata(RISORSE_PROPERTY_NAME_CHECK+tipo, e, false));
  7911.             return false;
  7912.         }
  7913.     }
  7914.     private Boolean isControlloRisorseRegistriRaggiungibilitaTotale = null;
  7915.     public boolean isControlloRisorseRegistriRaggiungibilitaTotale() {  
  7916.         if(this.isControlloRisorseRegistriRaggiungibilitaTotale==null){
  7917.             try{  
  7918.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.risorse.check.registri.tipo");
  7919.                 if(value==null){
  7920.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.risorse.check.registri.tipo' non impostata, viene utilizzato il default=false");
  7921.                     this.isControlloRisorseRegistriRaggiungibilitaTotale = false;
  7922.                 }
  7923.                 else
  7924.                     this.isControlloRisorseRegistriRaggiungibilitaTotale = "singolo".equals(value);
  7925.             }catch(java.lang.Exception e) {
  7926.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.risorse.check.registri.tipo' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  7927.                 this.isControlloRisorseRegistriRaggiungibilitaTotale = false;
  7928.             }
  7929.         }

  7930.         return this.isControlloRisorseRegistriRaggiungibilitaTotale;
  7931.     }
  7932.    
  7933.    
  7934.     private Integer getNumeroIterazioniFalliteControlloRisorseDB = null;
  7935.     public int getNumeroIterazioniFalliteControlloRisorseDB() {
  7936.         if(this.getNumeroIterazioniFalliteControlloRisorseDB==null){
  7937.             this.getNumeroIterazioniFalliteControlloRisorseDB = getNumeroIterazioniFalliteControlloRisorse(RISORSE_DB);
  7938.         }
  7939.         return this.getNumeroIterazioniFalliteControlloRisorseDB;
  7940.     }
  7941.     private Integer getNumeroIterazioniFalliteControlloRisorseJMS = null;
  7942.     public int getNumeroIterazioniFalliteControlloRisorseJMS() {    
  7943.         if(this.getNumeroIterazioniFalliteControlloRisorseJMS==null){
  7944.             this.getNumeroIterazioniFalliteControlloRisorseJMS = getNumeroIterazioniFalliteControlloRisorse(RISORSE_JMS);
  7945.         }
  7946.         return this.getNumeroIterazioniFalliteControlloRisorseJMS;
  7947.     }
  7948.     private Integer getNumeroIterazioniFalliteControlloRisorseTracciamentiPersonalizzati = null;
  7949.     public int getNumeroIterazioniFalliteControlloRisorseTracciamentiPersonalizzati() {
  7950.         if(this.getNumeroIterazioniFalliteControlloRisorseTracciamentiPersonalizzati==null){
  7951.             this.getNumeroIterazioniFalliteControlloRisorseTracciamentiPersonalizzati = getNumeroIterazioniFalliteControlloRisorse(RISORSE_TRACCIAMENTO);
  7952.         }
  7953.         return this.getNumeroIterazioniFalliteControlloRisorseTracciamentiPersonalizzati;
  7954.     }
  7955.     private Integer getNumeroIterazioniFalliteControlloRisorseMsgDiagnosticiPersonalizzati = null;
  7956.     public int getNumeroIterazioniFalliteControlloRisorseMsgDiagnosticiPersonalizzati() {  
  7957.         if(this.getNumeroIterazioniFalliteControlloRisorseMsgDiagnosticiPersonalizzati==null){
  7958.             this.getNumeroIterazioniFalliteControlloRisorseMsgDiagnosticiPersonalizzati = getNumeroIterazioniFalliteControlloRisorse(RISORSE_MSGDIAGNOSTICI);
  7959.         }
  7960.         return this.getNumeroIterazioniFalliteControlloRisorseMsgDiagnosticiPersonalizzati;
  7961.     }
  7962.     private Integer getNumeroIterazioniFalliteControlloRisorseConfigurazione = null;
  7963.     public int getNumeroIterazioniFalliteControlloRisorseConfigurazione() {
  7964.         if(this.getNumeroIterazioniFalliteControlloRisorseConfigurazione==null){
  7965.             this.getNumeroIterazioniFalliteControlloRisorseConfigurazione = getNumeroIterazioniFalliteControlloRisorse(RISORSE_CONFIGURAZIONE);
  7966.         }
  7967.         return this.getNumeroIterazioniFalliteControlloRisorseConfigurazione;
  7968.     }
  7969.     private Integer getNumeroIterazioniFalliteControlloRisorseRegistriServizi = null;
  7970.     public int getNumeroIterazioniFalliteControlloRisorseRegistriServizi() {    
  7971.         if(this.getNumeroIterazioniFalliteControlloRisorseRegistriServizi==null){
  7972.             this.getNumeroIterazioniFalliteControlloRisorseRegistriServizi = getNumeroIterazioniFalliteControlloRisorse(RISORSE_REGISTRI);
  7973.         }
  7974.         return this.getNumeroIterazioniFalliteControlloRisorseRegistriServizi;
  7975.     }
  7976.     private int getNumeroIterazioniFalliteControlloRisorse(String tipo) {  
  7977.         try{  
  7978.             String value = this.reader.getValueConvertEnvProperties(RISORSE_PROPERTY_NAME_CHECK+tipo+".iterazioni");
  7979.             if(value==null){
  7980.                 this.logWarn("Proprieta' di openspcoop '"+RISORSE_PROPERTY_NAME_CHECK+""+tipo+".iterazioni' non impostata, viene utilizzato il default=1");
  7981.                 return 1;
  7982.             }
  7983.             return Integer.parseInt(value);
  7984.         }catch(java.lang.Exception e) {
  7985.             this.logWarn("Proprieta' di openspcoop '"+RISORSE_PROPERTY_NAME_CHECK+""+tipo+"' non impostata, viene utilizzato il default=1, errore:"+e.getMessage(),e);
  7986.             return 1;
  7987.         }
  7988.     }
  7989.    
  7990.     private Integer getIterazioniFalliteCheckIntervalControlloRisorseDB = null;
  7991.     public int getIterazioniFalliteCheckIntervalControlloRisorseDB() {  
  7992.         if(this.getIterazioniFalliteCheckIntervalControlloRisorseDB==null){
  7993.             this.getIterazioniFalliteCheckIntervalControlloRisorseDB = getIterazioniFalliteCheckIntervalControlloRisorse(RISORSE_DB);
  7994.         }
  7995.         return this.getIterazioniFalliteCheckIntervalControlloRisorseDB;
  7996.     }
  7997.     private Integer getIterazioniFalliteCheckIntervalControlloRisorseJMS = null;
  7998.     public int getIterazioniFalliteCheckIntervalControlloRisorseJMS() {
  7999.         if(this.getIterazioniFalliteCheckIntervalControlloRisorseJMS==null){
  8000.             this.getIterazioniFalliteCheckIntervalControlloRisorseJMS = getIterazioniFalliteCheckIntervalControlloRisorse(RISORSE_JMS);
  8001.         }
  8002.         return this.getIterazioniFalliteCheckIntervalControlloRisorseJMS;
  8003.     }
  8004.     private Integer getIterazioniFalliteCheckIntervalControlloRisorseTracciamentiPersonalizzati = null;
  8005.     public int getIterazioniFalliteCheckIntervalControlloRisorseTracciamentiPersonalizzati() {  
  8006.         if(this.getIterazioniFalliteCheckIntervalControlloRisorseTracciamentiPersonalizzati==null){
  8007.             this.getIterazioniFalliteCheckIntervalControlloRisorseTracciamentiPersonalizzati = getIterazioniFalliteCheckIntervalControlloRisorse(RISORSE_TRACCIAMENTO);
  8008.         }
  8009.         return this.getIterazioniFalliteCheckIntervalControlloRisorseTracciamentiPersonalizzati;
  8010.     }
  8011.     private Integer getIterazioniFalliteCheckIntervalControlloRisorseMsgDiagnosticiPersonalizzati = null;
  8012.     public int getIterazioniFalliteCheckIntervalControlloRisorseMsgDiagnosticiPersonalizzati() {    
  8013.         if(this.getIterazioniFalliteCheckIntervalControlloRisorseMsgDiagnosticiPersonalizzati==null){
  8014.             this.getIterazioniFalliteCheckIntervalControlloRisorseMsgDiagnosticiPersonalizzati = getIterazioniFalliteCheckIntervalControlloRisorse(RISORSE_MSGDIAGNOSTICI);
  8015.         }
  8016.         return this.getIterazioniFalliteCheckIntervalControlloRisorseMsgDiagnosticiPersonalizzati;
  8017.     }
  8018.     private Integer getIterazioniFalliteCheckIntervalControlloRisorseConfigurazione = null;
  8019.     public int getIterazioniFalliteCheckIntervalControlloRisorseConfigurazione() {  
  8020.         if(this.getIterazioniFalliteCheckIntervalControlloRisorseConfigurazione==null){
  8021.             this.getIterazioniFalliteCheckIntervalControlloRisorseConfigurazione = getIterazioniFalliteCheckIntervalControlloRisorse(RISORSE_CONFIGURAZIONE);
  8022.         }
  8023.         return this.getIterazioniFalliteCheckIntervalControlloRisorseConfigurazione;
  8024.     }
  8025.     private Integer getIterazioniFalliteCheckIntervalControlloRisorseRegistriServizi = null;
  8026.     public int getIterazioniFalliteCheckIntervalControlloRisorseRegistriServizi() {
  8027.         if(this.getIterazioniFalliteCheckIntervalControlloRisorseRegistriServizi==null){
  8028.             this.getIterazioniFalliteCheckIntervalControlloRisorseRegistriServizi = getIterazioniFalliteCheckIntervalControlloRisorse(RISORSE_REGISTRI);
  8029.         }
  8030.         return this.getIterazioniFalliteCheckIntervalControlloRisorseRegistriServizi;
  8031.     }
  8032.     private int getIterazioniFalliteCheckIntervalControlloRisorse(String tipo) {    
  8033.         try{  
  8034.             String value = this.reader.getValueConvertEnvProperties(RISORSE_PROPERTY_NAME_CHECK+tipo+".checkInterval");
  8035.             if(value==null){
  8036.                 this.logWarn("Proprieta' di openspcoop '"+RISORSE_PROPERTY_NAME_CHECK+""+tipo+".checkInterval' non impostata, viene utilizzato il default=500");
  8037.                 return 500;
  8038.             }
  8039.             return Integer.parseInt(value);
  8040.         }catch(java.lang.Exception e) {
  8041.             this.logWarn("Proprieta' di openspcoop '"+RISORSE_PROPERTY_NAME_CHECK+""+tipo+".checkInterval' non impostata, viene utilizzato il default=500, errore:"+e.getMessage(),e);
  8042.             return 500;
  8043.         }
  8044.     }
  8045.    
  8046.     /**
  8047.      * Restituisce l'intervallo per il timer di Threshold
  8048.      *
  8049.      * @return Restituisce l'intervallo per il timer di Threshold
  8050.      *
  8051.      */
  8052.     private Long controlloRisorseCheckInterval = null;
  8053.     public long getControlloRisorseCheckInterval() {    
  8054.         if(this.controlloRisorseCheckInterval==null){
  8055.             try{
  8056.                 String name = null;
  8057.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.risorse.checkInterval");
  8058.                 if(name!=null){
  8059.                     name = name.trim();
  8060.                     this.controlloRisorseCheckInterval = java.lang.Long.parseLong(name);
  8061.                 }else{
  8062.                     this.controlloRisorseCheckInterval = 0L;
  8063.                 }
  8064.             }catch(java.lang.Exception e) {
  8065.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.risorse.checkInterval': "+e.getMessage(),e);
  8066.                 this.controlloRisorseCheckInterval = -1L;
  8067.             }    
  8068.         }

  8069.         return this.controlloRisorseCheckInterval;
  8070.     }

  8071.     private Boolean isControlloRisorseRegistrazioneEvento = null;
  8072.     public boolean isControlloRisorseRegistrazioneEvento() {    
  8073.         if(this.isControlloRisorseRegistrazioneEvento==null){
  8074.             try{
  8075.                 String name = null;
  8076.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.risorse.registraEvento");
  8077.                 if(name==null){
  8078.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.risorse.registraEvento' non impostata, viene utilizzato il default=true");
  8079.                     name="true";
  8080.                 }
  8081.                 name = name.trim();
  8082.                 this.isControlloRisorseRegistrazioneEvento = Boolean.parseBoolean(name);
  8083.             } catch(java.lang.Exception e) {
  8084.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.risorse.registraEvento', viene utilizzato il default=true : "+e.getMessage(),e);
  8085.                 this.isControlloRisorseRegistrazioneEvento = true;
  8086.             }    
  8087.         }

  8088.         return this.isControlloRisorseRegistrazioneEvento;
  8089.     }






  8090.     /* ******** ERRORE APPLICATIVO  ******** */

  8091.     /**
  8092.      * Restituisce le proprieta' di default utilizzate dalla porta di dominio per invocazioni di porte delegate che generano errori
  8093.      *
  8094.      * @return Restituisce le proprieta' di default utilizzate dalla porta di dominio per invocazioni di porte delegate che generano errori
  8095.      *
  8096.      */
  8097.     private ProprietaErroreApplicativo proprietaGestioneErrorePD = null;
  8098.     public ProprietaErroreApplicativo getProprietaGestioneErrorePD(IProtocolManager protocolManager){
  8099.         return getProprietaGestioneErrorePD_engine(protocolManager,false);
  8100.     }
  8101.     private ProprietaErroreApplicativo getProprietaGestioneErrorePD_engine(IProtocolManager protocolManager,boolean testPerValidazione){
  8102.         if(this.proprietaGestioneErrorePD==null){
  8103.             String fault = null;
  8104.             try{  
  8105.                 fault = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.erroreApplicativo.fault");
  8106.                 if(fault==null)
  8107.                     throw new CoreException(NON_DEFINITA);
  8108.                 fault = fault.trim();      
  8109.             }catch(java.lang.Exception e) {
  8110.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.erroreApplicativo.fault': "+e.getMessage(),e);
  8111.                 return null;
  8112.             }

  8113.             String faultCodeIntegrationNamespace = null;
  8114.             try{  
  8115.                 faultCodeIntegrationNamespace = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.erroreApplicativo.faultCode.integrationNamespace");
  8116.                 if(faultCodeIntegrationNamespace!=null) {
  8117.                     faultCodeIntegrationNamespace = faultCodeIntegrationNamespace.trim();
  8118.                 }
  8119.             }catch(java.lang.Exception e) {
  8120.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.erroreApplicativo.faultCode.integrationNamespace': "+e.getMessage(),e);
  8121.             }
  8122.            
  8123.             String faultCodeProtocolNamespace = null;
  8124.             try{  
  8125.                 faultCodeProtocolNamespace = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.erroreApplicativo.faultCode.protocolNamespace");
  8126.                 if(faultCodeProtocolNamespace!=null) {
  8127.                     faultCodeProtocolNamespace = faultCodeProtocolNamespace.trim();
  8128.                 }
  8129.             }catch(java.lang.Exception e) {
  8130.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.erroreApplicativo.faultCode.protocolNamespace': "+e.getMessage(),e);
  8131.             }
  8132.            
  8133.             String faultActor = null;
  8134.             try{  
  8135.                 faultActor = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.erroreApplicativo.faultActor");
  8136.                 if(faultActor==null)
  8137.                     throw new CoreException(NON_DEFINITA);
  8138.                 faultActor = faultActor.trim();    
  8139.             }catch(java.lang.Exception e) {
  8140.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.erroreApplicativo.faultActor': "+e.getMessage(),e);
  8141.                 return null;
  8142.             }

  8143.             String faultGeneric = null;
  8144.             try{  
  8145.                 faultGeneric = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.erroreApplicativo.genericFaultCode");
  8146.                 if(faultGeneric==null)
  8147.                     throw new CoreException(NON_DEFINITA);
  8148.                 faultGeneric = faultGeneric.trim();    
  8149.             }catch(java.lang.Exception e) {
  8150.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.erroreApplicativo.genericFaultCode': "+e.getMessage(),e);
  8151.                 return null;
  8152.             }

  8153.             String faultPrefix = null;
  8154.             try{  
  8155.                 faultPrefix = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.erroreApplicativo.prefixFaultCode");
  8156.                 if(faultPrefix!=null)
  8157.                     faultPrefix = faultPrefix.trim();      
  8158.             }catch(java.lang.Exception e) {
  8159.                 // proprieta' che puo' non essere definita (default GOVWAY-)
  8160.             }

  8161.             ProprietaErroreApplicativo gestione = new ProprietaErroreApplicativo();
  8162.             if(CostantiConfigurazione.ERRORE_APPLICATIVO_XML.equals(fault))
  8163.                 gestione.setFaultAsXML(true);
  8164.             else
  8165.                 gestione.setFaultAsXML(false); // default: ERRORE_APPLICATIVO_SOAP
  8166.             gestione.setDefaultFaultCodeIntegrationNamespace(faultCodeIntegrationNamespace);
  8167.             gestione.setDefaultFaultCodeProtocolNamespace(faultCodeProtocolNamespace);
  8168.             gestione.setFaultActor(faultActor);
  8169.             if(CostantiConfigurazione.ABILITATO.equals(faultGeneric))
  8170.                 gestione.setFaultAsGenericCode(true);
  8171.             else
  8172.                 gestione.setFaultAsGenericCode(false); // default: false
  8173.             gestione.setFaultPrefixCode(faultPrefix);

  8174.             gestione.setInsertAsDetails(this.isErroreApplicativoIntoDetails());
  8175.            
  8176.             gestione.setAggiungiDetailErroreApplicativo_SoapFaultApplicativo(this.isAggiungiDetailErroreApplicativo_SoapFaultApplicativo());
  8177.            
  8178.             gestione.setAggiungiDetailErroreApplicativo_SoapFaultPdD(this.isAggiungiDetailErroreApplicativo_SoapFaultPdD());

  8179.             this.proprietaGestioneErrorePD = gestione;
  8180.         }

  8181.         ProprietaErroreApplicativo pNew = new ProprietaErroreApplicativo();
  8182.         pNew.setDominio(this.proprietaGestioneErrorePD.getDominio());
  8183.         pNew.setDefaultFaultCodeIntegrationNamespace(this.proprietaGestioneErrorePD.getDefaultFaultCodeIntegrationNamespace());
  8184.         pNew.setDefaultFaultCodeProtocolNamespace(this.proprietaGestioneErrorePD.getDefaultFaultCodeProtocolNamespace());
  8185.         pNew.setFaultActor(this.proprietaGestioneErrorePD.getFaultActor());
  8186.         pNew.setFaultAsGenericCode(this.proprietaGestioneErrorePD.isFaultAsGenericCode());
  8187.         pNew.setFaultAsXML(this.proprietaGestioneErrorePD.isFaultAsXML());
  8188.         pNew.setFaultPrefixCode(this.proprietaGestioneErrorePD.getFaultPrefixCode());
  8189.         pNew.setIdModulo(this.proprietaGestioneErrorePD.getIdModulo());
  8190.         pNew.setInsertAsDetails(this.proprietaGestioneErrorePD.isInsertAsDetails());
  8191.         pNew.setAggiungiDetailErroreApplicativo_SoapFaultApplicativo(this.proprietaGestioneErrorePD.isAggiungiDetailErroreApplicativo_SoapFaultApplicativo());
  8192.         pNew.setAggiungiDetailErroreApplicativo_SoapFaultPdD(this.proprietaGestioneErrorePD.isAggiungiDetailErroreApplicativo_SoapFaultPdD());
  8193.         if(protocolManager!=null){
  8194.             FaultIntegrationGenericInfoMode sf = protocolManager.getModalitaGenerazioneInformazioniGeneriche_DetailsFaultIntegrazione();
  8195.             if(FaultIntegrationGenericInfoMode.SERVIZIO_APPLICATIVO.equals(sf)){
  8196.                 pNew.setInformazioniGenericheDetailsOpenSPCoop(null);
  8197.             }
  8198.             else if(FaultIntegrationGenericInfoMode.ABILITATO.equals(sf)){
  8199.                 pNew.setInformazioniGenericheDetailsOpenSPCoop(true);
  8200.             }
  8201.             else if(FaultIntegrationGenericInfoMode.DISABILITATO.equals(sf)){
  8202.                 pNew.setInformazioniGenericheDetailsOpenSPCoop(false);
  8203.             }
  8204.            
  8205.             BooleanNullable enrichNullable = protocolManager.isAggiungiDetailErroreApplicativo_FaultApplicativo();
  8206.             if(enrichNullable!=null && enrichNullable.getValue()!=null){
  8207.                 pNew.setAggiungiDetailErroreApplicativo_SoapFaultApplicativo(enrichNullable.getValue());
  8208.             }
  8209.            
  8210.             enrichNullable = protocolManager.isAggiungiDetailErroreApplicativo_FaultPdD();
  8211.             if(enrichNullable!=null && enrichNullable.getValue()!=null){
  8212.                 pNew.setAggiungiDetailErroreApplicativo_SoapFaultPdD(enrichNullable.getValue());
  8213.             }
  8214.            
  8215.         }else{
  8216.             pNew.setInformazioniGenericheDetailsOpenSPCoop(null); // default
  8217.         }
  8218.         return pNew;
  8219.     }


  8220.     private Locale localeSOAPFaultString = null;
  8221.     private Boolean localeSOAPFaultStringRead = null;
  8222.     public Locale getLocaleSOAPFaultString(){
  8223.         if(this.localeSOAPFaultStringRead==null){
  8224.             try{  
  8225.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.erroreApplicativo.faultString.language");
  8226.                 if (value != null){
  8227.                     value = value.trim();
  8228.                    
  8229.                     String language = value;
  8230.                    
  8231.                     String country = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.erroreApplicativo.faultString.country");
  8232.                     if(country!=null) {
  8233.                         country = country.trim();
  8234.                     }
  8235.                    
  8236.                     String variant = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.erroreApplicativo.faultString.variant");
  8237.                     if(variant!=null) {
  8238.                         variant = variant.trim();
  8239.                     }
  8240.                    
  8241.                     this.localeSOAPFaultString = new Locale(language, country, variant);
  8242.                 }else{
  8243.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.erroreApplicativo.faultString.language' non impostata, viene utilizzato il default="+Locale.getDefault());
  8244.                 }
  8245.             }catch(java.lang.Exception e) {
  8246.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.erroreApplicativo.faultString.language' non impostata, viene utilizzato il default="+Locale.getDefault()+", errore:"+e.getMessage(),e);
  8247.             }
  8248.             this.localeSOAPFaultStringRead = true;
  8249.         }

  8250.         return this.localeSOAPFaultString;
  8251.     }
  8252.    

  8253.     /**
  8254.      * Indicazione se l'errore applicativo deve essere inserito in un details.
  8255.      *  
  8256.      * @return Indicazione se l'errore applicativo deve essere inserito in un details.
  8257.      *
  8258.      */
  8259.     private Boolean isErroreApplicativoIntoDetails = null;
  8260.     public boolean isErroreApplicativoIntoDetails(){
  8261.         if(this.isErroreApplicativoIntoDetails==null){
  8262.             try{  
  8263.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.erroreApplicativo.fault.details");

  8264.                 if (value != null){
  8265.                     value = value.trim();
  8266.                     this.isErroreApplicativoIntoDetails = Boolean.parseBoolean(value);
  8267.                 }else{
  8268.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.erroreApplicativo.fault.details' non impostata, viene utilizzato il default=true");
  8269.                     this.isErroreApplicativoIntoDetails = true;
  8270.                 }

  8271.             }catch(java.lang.Exception e) {
  8272.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.erroreApplicativo.fault.details' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  8273.                 this.isErroreApplicativoIntoDetails = true;
  8274.             }
  8275.         }

  8276.         return this.isErroreApplicativoIntoDetails;
  8277.     }
  8278.    
  8279.    
  8280.     /**
  8281.      * Indicazione se aggiungere un detail contenente descrizione dell'errore nel SoapFaultApplicativo originale
  8282.      *
  8283.      * @return Indicazione se aggiungere un detail contenente descrizione dell'errore nel SoapFaultApplicativo originale
  8284.      */
  8285.     private Boolean isAggiungiDetailErroreApplicativo_SoapFaultApplicativo = null;
  8286.     public boolean isAggiungiDetailErroreApplicativo_SoapFaultApplicativo(){
  8287.         if(this.isAggiungiDetailErroreApplicativo_SoapFaultApplicativo==null){
  8288.             try{  
  8289.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.erroreApplicativo.faultApplicativo.enrichDetails");

  8290.                 if (value != null){
  8291.                     value = value.trim();
  8292.                     this.isAggiungiDetailErroreApplicativo_SoapFaultApplicativo = Boolean.parseBoolean(value);
  8293.                 }else{
  8294.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.erroreApplicativo.faultApplicativo.enrichDetails' non impostata, viene utilizzato il default=true");
  8295.                     this.isAggiungiDetailErroreApplicativo_SoapFaultApplicativo = true;
  8296.                 }

  8297.             }catch(java.lang.Exception e) {
  8298.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.erroreApplicativo.faultApplicativo.enrichDetails' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  8299.                 this.isAggiungiDetailErroreApplicativo_SoapFaultApplicativo = true;
  8300.             }
  8301.         }

  8302.         return this.isAggiungiDetailErroreApplicativo_SoapFaultApplicativo;
  8303.     }
  8304.    
  8305.    
  8306.     /**
  8307.      * Indicazione se aggiungere un detail contenente descrizione dell'errore nel SoapFaultPdD originale
  8308.      *
  8309.      * @return Indicazione se aggiungere un detail contenente descrizione dell'errore nel SoapFaultPdD originale
  8310.      */
  8311.     private Boolean isAggiungiDetailErroreApplicativo_SoapFaultPdD = null;
  8312.     public boolean isAggiungiDetailErroreApplicativo_SoapFaultPdD(){
  8313.         if(this.isAggiungiDetailErroreApplicativo_SoapFaultPdD==null){
  8314.             try{  
  8315.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.erroreApplicativo.faultPdD.enrichDetails");

  8316.                 if (value != null){
  8317.                     value = value.trim();
  8318.                     this.isAggiungiDetailErroreApplicativo_SoapFaultPdD = Boolean.parseBoolean(value);
  8319.                 }else{
  8320.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.erroreApplicativo.faultPdD.enrichDetails' non impostata, viene utilizzato il default=true");
  8321.                     this.isAggiungiDetailErroreApplicativo_SoapFaultPdD = true;
  8322.                 }

  8323.             }catch(java.lang.Exception e) {
  8324.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.erroreApplicativo.faultPdD.enrichDetails' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  8325.                 this.isAggiungiDetailErroreApplicativo_SoapFaultPdD = true;
  8326.             }
  8327.         }

  8328.         return this.isAggiungiDetailErroreApplicativo_SoapFaultPdD;
  8329.     }
  8330.    
  8331.    
  8332.    
  8333.     private String getErroriHttpHeaderGovWayStatus = null;
  8334.     public String getErroriHttpHeaderGovWayStatus(){
  8335.        
  8336.         String pName = "org.openspcoop2.pdd.errori.http.govwayStatus";
  8337.         if(this.getErroriHttpHeaderGovWayStatus==null){
  8338.             try{  
  8339.                 String name = this.reader.getValueConvertEnvProperties(pName);
  8340.                 if(name==null)
  8341.                     throw new CoreException(NON_DEFINITA);
  8342.                 name = name.trim();
  8343.                 this.getErroriHttpHeaderGovWayStatus = name;

  8344.             }catch(java.lang.Exception e) {
  8345.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,org.openspcoop2.protocol.basic.Costanti._internal_getHTTP_HEADER_GOVWAY_ERROR_STATUS()),e);
  8346.                 this.getErroriHttpHeaderGovWayStatus = org.openspcoop2.protocol.basic.Costanti._internal_getHTTP_HEADER_GOVWAY_ERROR_STATUS();
  8347.             }
  8348.         }

  8349.         return this.getErroriHttpHeaderGovWayStatus;
  8350.     }
  8351.    
  8352.     private String getErroriHttpHeaderGovWayType = null;
  8353.     public String getErroriHttpHeaderGovWayType(){
  8354.        
  8355.         String pName = "org.openspcoop2.pdd.errori.http.govwayType";
  8356.         if(this.getErroriHttpHeaderGovWayType==null){
  8357.             try{  
  8358.                 String name = this.reader.getValueConvertEnvProperties(pName);
  8359.                 if(name==null)
  8360.                     throw new CoreException(NON_DEFINITA);
  8361.                 name = name.trim();
  8362.                 this.getErroriHttpHeaderGovWayType = name;

  8363.             }catch(java.lang.Exception e) {
  8364.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,org.openspcoop2.protocol.basic.Costanti._internal_getHTTP_HEADER_GOVWAY_ERROR_TYPE()),e);
  8365.                 this.getErroriHttpHeaderGovWayType = org.openspcoop2.protocol.basic.Costanti._internal_getHTTP_HEADER_GOVWAY_ERROR_TYPE();
  8366.             }
  8367.         }

  8368.         return this.getErroriHttpHeaderGovWayType;
  8369.     }
  8370.    
  8371.     private String getErroriHttpHeaderGovWayCode = null;
  8372.     public String getErroriHttpHeaderGovWayCode(){
  8373.        
  8374.         String pName = "org.openspcoop2.pdd.errori.http.govwayCode";
  8375.         if(this.getErroriHttpHeaderGovWayCode==null){
  8376.             try{  
  8377.                 String name = this.reader.getValueConvertEnvProperties(pName);
  8378.                 if(name==null)
  8379.                     throw new CoreException(NON_DEFINITA);
  8380.                 name = name.trim();
  8381.                 this.getErroriHttpHeaderGovWayCode = name;

  8382.             }catch(java.lang.Exception e) {
  8383.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,org.openspcoop2.protocol.basic.Costanti._internal_getHTTP_HEADER_GOVWAY_ERROR_CODE()),e);
  8384.                 this.getErroriHttpHeaderGovWayCode = org.openspcoop2.protocol.basic.Costanti._internal_getHTTP_HEADER_GOVWAY_ERROR_CODE();
  8385.             }
  8386.         }

  8387.         return this.getErroriHttpHeaderGovWayCode;
  8388.     }
  8389.    
  8390.    
  8391.    
  8392.     private Boolean isErroriSoapUseGovWayStatusAsFaultCode = null;
  8393.     public boolean isErroriSoapUseGovWayStatusAsFaultCode(){
  8394.         if(this.isErroriSoapUseGovWayStatusAsFaultCode==null){
  8395.             String pName = "org.openspcoop2.pdd.errori.soap.useGovWayStatusAsFaultCode";
  8396.             try{  
  8397.                 String value = this.reader.getValueConvertEnvProperties(pName);

  8398.                 if (value != null){
  8399.                     value = value.trim();
  8400.                     this.isErroriSoapUseGovWayStatusAsFaultCode = Boolean.parseBoolean(value);
  8401.                 }else{
  8402.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  8403.                     this.isErroriSoapUseGovWayStatusAsFaultCode = false;
  8404.                 }

  8405.             }catch(java.lang.Exception e) {
  8406.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  8407.                 this.isErroriSoapUseGovWayStatusAsFaultCode = false;
  8408.             }
  8409.         }

  8410.         return this.isErroriSoapUseGovWayStatusAsFaultCode;
  8411.     }
  8412.    
  8413.     private Boolean isErroriSoapHttpHeaderGovWayCodeEnabled = null;
  8414.     public boolean isErroriSoapHttpHeaderGovWayCodeEnabled(){
  8415.         if(this.isErroriSoapHttpHeaderGovWayCodeEnabled==null){
  8416.             String pName = "org.openspcoop2.pdd.errori.soap.HttpHeaderGovWayCode.enabled";
  8417.             try{  
  8418.                 String value = this.reader.getValueConvertEnvProperties(pName);

  8419.                 if (value != null){
  8420.                     value = value.trim();
  8421.                     this.isErroriSoapHttpHeaderGovWayCodeEnabled = Boolean.parseBoolean(value);
  8422.                 }else{
  8423.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  8424.                     this.isErroriSoapHttpHeaderGovWayCodeEnabled = false;
  8425.                 }

  8426.             }catch(java.lang.Exception e) {
  8427.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  8428.                 this.isErroriSoapHttpHeaderGovWayCodeEnabled = false;
  8429.             }
  8430.         }

  8431.         return this.isErroriSoapHttpHeaderGovWayCodeEnabled;
  8432.     }
  8433.    
  8434.     private Boolean isErroriGovWayStatusEnabled = null;
  8435.     public boolean isErroriGovWayStatusEnabled(){
  8436.         if(this.isErroriGovWayStatusEnabled==null){
  8437.             String pName = "org.openspcoop2.pdd.errori.status";
  8438.             try{  
  8439.                 String value = this.reader.getValueConvertEnvProperties(pName);

  8440.                 if (value != null){
  8441.                     value = value.trim();
  8442.                     this.isErroriGovWayStatusEnabled = Boolean.parseBoolean(value);
  8443.                 }else{
  8444.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  8445.                     this.isErroriGovWayStatusEnabled = false;
  8446.                 }

  8447.             }catch(java.lang.Exception e) {
  8448.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  8449.                 this.isErroriGovWayStatusEnabled = false;
  8450.             }
  8451.         }

  8452.         return this.isErroriGovWayStatusEnabled;
  8453.     }
  8454.    
  8455.     private Boolean isErroriGovWayInstanceEnabled = null;
  8456.     public boolean isErroriGovWayInstanceEnabled(){
  8457.         if(this.isErroriGovWayInstanceEnabled==null){
  8458.             String pName = "org.openspcoop2.pdd.errori.instance";
  8459.             try{  
  8460.                 String value = this.reader.getValueConvertEnvProperties(pName);

  8461.                 if (value != null){
  8462.                     value = value.trim();
  8463.                     this.isErroriGovWayInstanceEnabled = Boolean.parseBoolean(value);
  8464.                 }else{
  8465.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  8466.                     this.isErroriGovWayInstanceEnabled = false;
  8467.                 }

  8468.             }catch(java.lang.Exception e) {
  8469.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  8470.                 this.isErroriGovWayInstanceEnabled = false;
  8471.             }
  8472.         }

  8473.         return this.isErroriGovWayInstanceEnabled;
  8474.     }
  8475.    
  8476.     private Boolean isErroriGovWayForceSpecificDetails = null;
  8477.     public boolean isErroriGovWayForceSpecificDetails(){
  8478.         if(this.isErroriGovWayForceSpecificDetails==null){
  8479.             String pName = "org.openspcoop2.pdd.errori.forceSpecificDetails";
  8480.             try{  
  8481.                 String value = this.reader.getValueConvertEnvProperties(pName);

  8482.                 if (value != null){
  8483.                     value = value.trim();
  8484.                     this.isErroriGovWayForceSpecificDetails = Boolean.parseBoolean(value);
  8485.                 }else{
  8486.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  8487.                     this.isErroriGovWayForceSpecificDetails = false;
  8488.                 }

  8489.             }catch(java.lang.Exception e) {
  8490.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  8491.                 this.isErroriGovWayForceSpecificDetails = false;
  8492.             }
  8493.         }

  8494.         return this.isErroriGovWayForceSpecificDetails;
  8495.     }
  8496.    
  8497.     private Boolean isErroriGovWayFaultDetailsWithProblemRFC7807 = null;
  8498.     public boolean isErroriGovWayFaultDetailsWithProblemRFC7807(){
  8499.         if(this.isErroriGovWayFaultDetailsWithProblemRFC7807==null){
  8500.             String pName = "org.openspcoop2.pdd.errori.faultDetailsWithProblemRFC7807";
  8501.             try{  
  8502.                 String value = this.reader.getValueConvertEnvProperties(pName);

  8503.                 if (value != null){
  8504.                     value = value.trim();
  8505.                     this.isErroriGovWayFaultDetailsWithProblemRFC7807 = Boolean.parseBoolean(value);
  8506.                 }else{
  8507.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  8508.                     this.isErroriGovWayFaultDetailsWithProblemRFC7807 = false;
  8509.                 }

  8510.             }catch(java.lang.Exception e) {
  8511.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  8512.                 this.isErroriGovWayFaultDetailsWithProblemRFC7807 = false;
  8513.             }
  8514.         }

  8515.         return this.isErroriGovWayFaultDetailsWithProblemRFC7807;
  8516.     }
  8517.    
  8518.    
  8519.    
  8520.    
  8521.     private Boolean isProblemRFC7807_enrichTitleAsGovWayType = null;
  8522.     public boolean isProblemRFC7807_enrichTitleAsGovWayType(){
  8523.         if(this.isProblemRFC7807_enrichTitleAsGovWayType==null){
  8524.             String pName = "org.openspcoop2.pdd.problemRFC7807.enrichTitleAsGovWayType";
  8525.             try{  
  8526.                 String value = this.reader.getValueConvertEnvProperties(pName);

  8527.                 if (value != null){
  8528.                     value = value.trim();
  8529.                     this.isProblemRFC7807_enrichTitleAsGovWayType = Boolean.parseBoolean(value);
  8530.                 }else{
  8531.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  8532.                     this.isProblemRFC7807_enrichTitleAsGovWayType = true;
  8533.                 }

  8534.             }catch(java.lang.Exception e) {
  8535.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  8536.                 this.isProblemRFC7807_enrichTitleAsGovWayType = true;
  8537.             }
  8538.         }

  8539.         return this.isProblemRFC7807_enrichTitleAsGovWayType;
  8540.     }
  8541.    
  8542.    
  8543.     private Boolean isProblemRFC7807_enrichTitleAsGovWayType_camelCaseDecode = null;
  8544.     public boolean isProblemRFC7807_enrichTitleAsGovWayType_camelCaseDecode(){
  8545.         if(this.isProblemRFC7807_enrichTitleAsGovWayType_camelCaseDecode==null){
  8546.             String pName = "org.openspcoop2.pdd.problemRFC7807.enrichTitleAsGovWayType.camelCaseDecode";
  8547.             try{  
  8548.                 String value = this.reader.getValueConvertEnvProperties(pName);

  8549.                 if (value != null){
  8550.                     value = value.trim();
  8551.                     this.isProblemRFC7807_enrichTitleAsGovWayType_camelCaseDecode = Boolean.parseBoolean(value);
  8552.                 }else{
  8553.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  8554.                     this.isProblemRFC7807_enrichTitleAsGovWayType_camelCaseDecode = false;
  8555.                 }

  8556.             }catch(java.lang.Exception e) {
  8557.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  8558.                 this.isProblemRFC7807_enrichTitleAsGovWayType_camelCaseDecode = false;
  8559.             }
  8560.         }

  8561.         return this.isProblemRFC7807_enrichTitleAsGovWayType_camelCaseDecode;
  8562.     }
  8563.    
  8564.    
  8565.     private Boolean isProblemRFC7807_enrichTitleAsGovWayType_customClaim = null;
  8566.     public boolean isProblemRFC7807_enrichTitleAsGovWayType_customClaim(){
  8567.         if(this.isProblemRFC7807_enrichTitleAsGovWayType_customClaim==null){
  8568.             String pName = "org.openspcoop2.pdd.problemRFC7807.enrichTitleAsGovWayType.customClaim";
  8569.             try{  
  8570.                 String value = this.reader.getValueConvertEnvProperties(pName);

  8571.                 if (value != null){
  8572.                     value = value.trim();
  8573.                     this.isProblemRFC7807_enrichTitleAsGovWayType_customClaim = Boolean.parseBoolean(value);
  8574.                 }else{
  8575.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  8576.                     this.isProblemRFC7807_enrichTitleAsGovWayType_customClaim = false;
  8577.                 }

  8578.             }catch(java.lang.Exception e) {
  8579.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  8580.                 this.isProblemRFC7807_enrichTitleAsGovWayType_customClaim = false;
  8581.             }
  8582.         }

  8583.         return this.isProblemRFC7807_enrichTitleAsGovWayType_customClaim;
  8584.     }
  8585.    

  8586.     private String getProblemRFC7807_transactionId_claim = null;
  8587.     public String getProblemRFC7807_transactionId_claim(){
  8588.        
  8589.         String pName = "org.openspcoop2.pdd.problemRFC7807.transactionId.claim";
  8590.         if(this.getProblemRFC7807_transactionId_claim==null){
  8591.             try{  
  8592.                 String fault = this.reader.getValueConvertEnvProperties(pName);
  8593.                 if(fault==null)
  8594.                     throw new CoreException(NON_DEFINITA);
  8595.                 fault = fault.trim();
  8596.                 this.getProblemRFC7807_transactionId_claim = fault;

  8597.             }catch(java.lang.Exception e) {
  8598.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,org.openspcoop2.protocol.basic.Costanti._internal_getPROBLEM_RFC7807_GOVWAY_TRANSACTION_ID()),e);
  8599.                 this.getProblemRFC7807_transactionId_claim = org.openspcoop2.protocol.basic.Costanti._internal_getPROBLEM_RFC7807_GOVWAY_TRANSACTION_ID();
  8600.             }
  8601.         }

  8602.         return this.getProblemRFC7807_transactionId_claim;
  8603.     }
  8604.    
  8605.     private String getProblemRFC7807_code_claim = null;
  8606.     public String getProblemRFC7807_code_claim(){
  8607.        
  8608.         String pName = "org.openspcoop2.pdd.problemRFC7807.code.claim";
  8609.         if(this.getProblemRFC7807_code_claim==null){
  8610.             try{  
  8611.                 String fault = this.reader.getValueConvertEnvProperties(pName);
  8612.                 if(fault==null)
  8613.                     throw new CoreException(NON_DEFINITA);
  8614.                 fault = fault.trim();
  8615.                 this.getProblemRFC7807_code_claim = fault;

  8616.             }catch(java.lang.Exception e) {
  8617.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,org.openspcoop2.protocol.basic.Costanti._internal_getPROBLEM_RFC7807_GOVWAY_CODE()),e);
  8618.                 this.getProblemRFC7807_code_claim = org.openspcoop2.protocol.basic.Costanti._internal_getPROBLEM_RFC7807_GOVWAY_CODE();
  8619.             }
  8620.         }

  8621.         return this.getProblemRFC7807_code_claim;
  8622.     }
  8623.    
  8624.     private String getProblemRFC7807_type_claim = null;
  8625.     public String getProblemRFC7807_type_claim(){
  8626.        
  8627.         String pName = "org.openspcoop2.pdd.problemRFC7807.type.claim";
  8628.         if(this.getProblemRFC7807_type_claim==null){
  8629.             try{  
  8630.                 String fault = this.reader.getValueConvertEnvProperties(pName);
  8631.                 if(fault==null)
  8632.                     throw new CoreException(NON_DEFINITA);
  8633.                 fault = fault.trim();
  8634.                 this.getProblemRFC7807_type_claim = fault;

  8635.             }catch(java.lang.Exception e) {
  8636.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,org.openspcoop2.protocol.basic.Costanti._internal_getPROBLEM_RFC7807_GOVWAY_TYPE()),e);
  8637.                 this.getProblemRFC7807_type_claim = org.openspcoop2.protocol.basic.Costanti._internal_getPROBLEM_RFC7807_GOVWAY_TYPE();
  8638.             }
  8639.         }

  8640.         return this.getProblemRFC7807_type_claim;
  8641.     }


  8642.     private Boolean isErroreApplicativoInoltraClientBustaRispostaErroreRicevuta = null;
  8643.     public boolean isErroreApplicativoInoltraClientBustaRispostaErroreRicevuta(){
  8644.         if(this.isErroreApplicativoInoltraClientBustaRispostaErroreRicevuta==null){
  8645.             String pName = "org.openspcoop2.pdd.erroreApplicativo.inoltraClientBustaRispostaErroreRicevuta";
  8646.             try{  
  8647.                 String value = this.reader.getValueConvertEnvProperties(pName);

  8648.                 if (value != null){
  8649.                     value = value.trim();
  8650.                     this.isErroreApplicativoInoltraClientBustaRispostaErroreRicevuta = Boolean.parseBoolean(value);
  8651.                 }else{
  8652.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  8653.                     this.isErroreApplicativoInoltraClientBustaRispostaErroreRicevuta = false;
  8654.                 }

  8655.             }catch(java.lang.Exception e) {
  8656.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  8657.                 this.isErroreApplicativoInoltraClientBustaRispostaErroreRicevuta = false;
  8658.             }
  8659.         }

  8660.         return this.isErroreApplicativoInoltraClientBustaRispostaErroreRicevuta;
  8661.     }
  8662.    
  8663.     private Map<String,Boolean> isErroreApplicativoInoltraClientBustaRispostaErroreRicevutaMap = new HashMap<>();
  8664.     public boolean isErroreApplicativoInoltraClientBustaRispostaErroreRicevuta(String protocollo){
  8665.         Boolean v = this.isErroreApplicativoInoltraClientBustaRispostaErroreRicevutaMap.get(protocollo);
  8666.         if(v==null){
  8667.             String pName = "org.openspcoop2.pdd.erroreApplicativo.inoltraClientBustaRispostaErroreRicevuta."+protocollo;
  8668.             try{  
  8669.                 String value = this.reader.getValueConvertEnvProperties(pName);

  8670.                 if (value != null){
  8671.                     value = value.trim();
  8672.                     v = Boolean.parseBoolean(value);
  8673.                 }else{
  8674.                     v = isErroreApplicativoInoltraClientBustaRispostaErroreRicevuta(); // default per qualsiasi protocollo
  8675.                 }

  8676.             }catch(java.lang.Exception e) {
  8677.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, isErroreApplicativoInoltraClientBustaRispostaErroreRicevuta()),e);
  8678.                 v = isErroreApplicativoInoltraClientBustaRispostaErroreRicevuta();
  8679.             }
  8680.             this.isErroreApplicativoInoltraClientBustaRispostaErroreRicevutaMap.put(protocollo, v);
  8681.         }

  8682.         return v;
  8683.     }
  8684.    



  8685.     /* ******** PORTA DI DOMINIO  ******** */

  8686.     /**
  8687.      * Restituisce il nome di default dell'identificativo porta utilizzato dalla porta di dominio
  8688.      *
  8689.      * @return Restituisce il nome di default dell'identificativo porta utilizzato dalla porta di dominio
  8690.      *
  8691.      */
  8692.     private String identificativoPortaDefault = null;
  8693.     private String getIdentificativoPortaDefault(){
  8694.         if(this.identificativoPortaDefault==null){
  8695.             try{  
  8696.                 String fault = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.identificativoPorta.dominio");
  8697.                 if(fault==null)
  8698.                     throw new CoreException(NON_DEFINITA);
  8699.                 fault = fault.trim();
  8700.                 this.identificativoPortaDefault = fault;

  8701.             }catch(java.lang.Exception e) {
  8702.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.identificativoPorta.dominio': "+e.getMessage(),e);
  8703.                 this.identificativoPortaDefault = null;
  8704.             }
  8705.         }

  8706.         return this.identificativoPortaDefault;
  8707.     }
  8708.     /**
  8709.      * Restituisce il nome di default della porta utilizzato dalla porta di dominio
  8710.      *
  8711.      * @return Restituisce il nome di default della porta utilizzato dalla porta di dominio
  8712.      *
  8713.      */
  8714.     private String nomePortaDefault = null;
  8715.     private String getNomePortaDefault(){
  8716.         if(this.nomePortaDefault==null){
  8717.             try{  
  8718.                 String fault = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.identificativoPorta.nome");
  8719.                 if(fault==null)
  8720.                     throw new CoreException(NON_DEFINITA);
  8721.                 fault = fault.trim();
  8722.                 this.nomePortaDefault = fault;

  8723.             }catch(java.lang.Exception e) {
  8724.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.identificativoPorta.nome': "+e.getMessage(),e);
  8725.                 this.nomePortaDefault = null;
  8726.             }
  8727.         }

  8728.         return this.nomePortaDefault;
  8729.     }


  8730.     /**
  8731.      * Restituisce il nome di default della porta utilizzato dalla porta di dominio
  8732.      *
  8733.      * @return Restituisce il nome di default della porta utilizzato dalla porta di dominio
  8734.      *
  8735.      */
  8736.     private String tipoPortaDefault = null;
  8737.     private String getTipoPortaDefault(){
  8738.         if(this.tipoPortaDefault==null){
  8739.             try{  
  8740.                 String fault = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.identificativoPorta.tipo");
  8741.                 if(fault==null)
  8742.                     throw new CoreException(NON_DEFINITA);
  8743.                 fault = fault.trim();
  8744.                 this.tipoPortaDefault = fault;

  8745.             }catch(java.lang.Exception e) {
  8746.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.identificativoPorta.tipo': "+e.getMessage(),e);
  8747.                 this.tipoPortaDefault = null;
  8748.             }
  8749.         }
  8750.         return this.tipoPortaDefault;
  8751.     }

  8752.     /**
  8753.      * Restituisce l'identita di default della porta utilizzato dalla porta di dominio
  8754.      *
  8755.      * @return Restituisce l'identita di default della porta utilizzato dalla porta di dominio
  8756.      *
  8757.      */
  8758.     private IDSoggetto identitaPortaDefault = null;
  8759.     private IDSoggetto getIdentitaPortaDefault(){
  8760.         if(this.identitaPortaDefault==null){
  8761.             String pdd = getIdentificativoPortaDefault();
  8762.             String nome = getNomePortaDefault();
  8763.             String tipo = getTipoPortaDefault();
  8764.             if(tipo==null || nome==null || pdd==null)
  8765.                 this.identitaPortaDefault = null;
  8766.             else    
  8767.                 this.identitaPortaDefault = new IDSoggetto(tipo,nome,pdd);
  8768.         }

  8769.         if(this.identitaPortaDefault!=null){
  8770.             IDSoggetto idNew = new IDSoggetto();
  8771.             idNew.setCodicePorta(this.identitaPortaDefault.getCodicePorta());
  8772.             idNew.setNome(this.identitaPortaDefault.getNome());
  8773.             idNew.setTipo(this.identitaPortaDefault.getTipo());
  8774.             return idNew;
  8775.         }
  8776.         else{
  8777.             return null;
  8778.         }
  8779.     }


  8780.     // protocol mapping
  8781.    
  8782.     private Map<String,String> identificativoPortaDefault_mappingProtocol = new HashMap<>();
  8783.     private String _getIdentificativoPortaDefault(String protocol){
  8784.        
  8785.         if(protocol==null){
  8786.             return getIdentificativoPortaDefault();
  8787.         }
  8788.        
  8789.         if(this.identificativoPortaDefault_mappingProtocol.containsKey(protocol)==false){
  8790.            
  8791.             try{  
  8792.                
  8793.                 String fault = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd."+protocol+".identificativoPorta.dominio");
  8794.                 if(fault==null){
  8795.                     fault = this.getIdentificativoPortaDefault();
  8796.                 }else{
  8797.                     fault = fault.trim();
  8798.                 }
  8799.                 this.identificativoPortaDefault_mappingProtocol.put(protocol, fault);

  8800.             }catch(java.lang.Exception e) {
  8801.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd."+protocol+".identificativoPorta.dominio': "+e.getMessage(),e);
  8802.                 return this.getIdentificativoPortaDefault();
  8803.             }
  8804.         }

  8805.         return this.identificativoPortaDefault_mappingProtocol.get(protocol);
  8806.     }

  8807.     private Map<String,String> nomePortaDefault_mappingProtocol = new HashMap<>();
  8808.     private String _getNomePortaDefault(String protocol){
  8809.        
  8810.         if(protocol==null){
  8811.             return getNomePortaDefault();
  8812.         }
  8813.        
  8814.         if(this.nomePortaDefault_mappingProtocol.containsKey(protocol)==false){
  8815.            
  8816.             try{  
  8817.                
  8818.                 String nome = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd."+protocol+".identificativoPorta.nome");
  8819.                 if(nome==null){
  8820.                     nome = this.getNomePortaDefault();
  8821.                 }else{
  8822.                     nome = nome.trim();
  8823.                 }
  8824.                 this.nomePortaDefault_mappingProtocol.put(protocol, nome);

  8825.             }catch(java.lang.Exception e) {
  8826.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd."+protocol+".identificativoPorta.nome': "+e.getMessage(),e);
  8827.                 return this.getNomePortaDefault();
  8828.             }
  8829.         }

  8830.         return this.nomePortaDefault_mappingProtocol.get(protocol);
  8831.     }
  8832.    
  8833.     private Map<String,String> tipoPortaDefault_mappingProtocol = new HashMap<>();
  8834.     private String _getTipoPortaDefault(String protocol){
  8835.        
  8836.         if(protocol==null){
  8837.             return getTipoPortaDefault();
  8838.         }
  8839.        
  8840.         if(this.tipoPortaDefault_mappingProtocol.containsKey(protocol)==false){
  8841.            
  8842.             try{  
  8843.                
  8844.                 String tipo = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd."+protocol+".identificativoPorta.tipo");
  8845.                 if(tipo==null){
  8846.                     tipo = this.getTipoPortaDefault();
  8847.                 }else{
  8848.                     tipo = tipo.trim();
  8849.                 }
  8850.                 this.tipoPortaDefault_mappingProtocol.put(protocol, tipo);

  8851.             }catch(java.lang.Exception e) {
  8852.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd."+protocol+".identificativoPorta.tipo': "+e.getMessage(),e);
  8853.                 return this.getTipoPortaDefault();
  8854.             }
  8855.         }

  8856.         return this.tipoPortaDefault_mappingProtocol.get(protocol);
  8857.     }

  8858.     public IDSoggetto getIdentitaPortaDefaultWithoutProtocol(){
  8859.         return getIdentitaPortaDefault();
  8860.     }
  8861.    
  8862.     private Map<String,IDSoggetto> identitaPortaDefault_mappingProtocol = new HashMap<String, IDSoggetto>();
  8863.     public IDSoggetto getIdentitaPortaDefault(String protocol, RequestInfo requestInfo){
  8864.        
  8865.         if(requestInfo!=null && requestInfo.getRequestConfig()!=null && requestInfo.getRequestConfig().getDominioDefault()!=null) {
  8866.             IDSoggetto identitaPortaDefault = requestInfo.getRequestConfig().getDominioDefault();
  8867.            
  8868.             IDSoggetto idNew = new IDSoggetto();
  8869.             idNew.setCodicePorta(identitaPortaDefault.getCodicePorta());
  8870.             idNew.setNome(identitaPortaDefault.getNome());
  8871.             idNew.setTipo(identitaPortaDefault.getTipo());
  8872.             return idNew;
  8873.         }
  8874.        
  8875.         if(protocol==null){
  8876.             return getIdentitaPortaDefault();
  8877.         }
  8878.        
  8879.         if(this.identitaPortaDefault_mappingProtocol.containsKey(protocol)==false){
  8880.             String pdd = _getIdentificativoPortaDefault(protocol);
  8881.             String nome = _getNomePortaDefault(protocol);
  8882.             String tipo = _getTipoPortaDefault(protocol);
  8883.             if(tipo!=null && nome!=null && pdd!=null){
  8884.                 IDSoggetto identitaPortaDefault = new IDSoggetto(tipo,nome,pdd);
  8885.                 this.identitaPortaDefault_mappingProtocol.put(protocol, identitaPortaDefault);
  8886.             }
  8887.         }
  8888.        
  8889.         IDSoggetto identitaPortaDefault = this.identitaPortaDefault_mappingProtocol.get(protocol);
  8890.        
  8891.         if(identitaPortaDefault!=null){
  8892.            
  8893.             if(requestInfo!=null && requestInfo.getRequestConfig()!=null && requestInfo.getRequestConfig().getDominioDefault()==null) {
  8894.                 requestInfo.getRequestConfig().setDominioDefault(identitaPortaDefault);
  8895.             }
  8896.            
  8897.             IDSoggetto idNew = new IDSoggetto();
  8898.             idNew.setCodicePorta(identitaPortaDefault.getCodicePorta());
  8899.             idNew.setNome(identitaPortaDefault.getNome());
  8900.             idNew.setTipo(identitaPortaDefault.getTipo());
  8901.             return idNew;
  8902.         }
  8903.         else{
  8904.             return null;
  8905.         }
  8906.     }
  8907.     public String getIdentificativoPortaDefault(String protocol, RequestInfo requestInfo){
  8908.         IDSoggetto identitaPortaDefault = getIdentitaPortaDefault(protocol, requestInfo);
  8909.         if(identitaPortaDefault!=null) {
  8910.             return identitaPortaDefault.getCodicePorta();
  8911.         }
  8912.         return null;
  8913.     }






  8914.     /************ AUTORIZZAZIONE *******************/

  8915.     private Boolean getAutorizzazioneLockPermitsRead = null;
  8916.     private Integer getAutorizzazioneLockPermits = null;
  8917.     public Integer getAutorizzazioneLockPermits() {

  8918.         String pName = "org.openspcoop2.pdd.core.autorizzazione.lock.permits";
  8919.         if(this.getAutorizzazioneLockPermitsRead==null){
  8920.             try{  
  8921.                 String value = this.reader.getValueConvertEnvProperties(pName);

  8922.                 if (value != null){
  8923.                     value = value.trim();
  8924.                     int permits = Integer.parseInt(value);
  8925.                     if(permits>1) {
  8926.                         // altrimenti è un normale semaphore binario
  8927.                         this.getAutorizzazioneLockPermits = permits;
  8928.                     }
  8929.                 }
  8930.                
  8931.                
  8932.             }catch(java.lang.Exception e) {
  8933.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  8934.             }
  8935.            
  8936.             this.getAutorizzazioneLockPermitsRead = true;
  8937.         }

  8938.         return this.getAutorizzazioneLockPermits;
  8939.     }
  8940.    
  8941.     private Map<String, Integer> getTipoAutorizzazioneLockPermits = null;
  8942.     public Integer getAutorizzazioneLockPermits(String tipoAutorizzazione) {

  8943.         String pName = "org.openspcoop2.pdd.core.autorizzazione.lock.permits.";
  8944.         if(this.getTipoAutorizzazioneLockPermits==null){
  8945.            
  8946.             this.getTipoAutorizzazioneLockPermits = new HashMap<>();
  8947.            
  8948.             try{  
  8949.                 Properties p = this.reader.readPropertiesConvertEnvProperties(pName);
  8950.                 if(p!=null && !p.isEmpty()) {
  8951.                     for (Object oKey : p.keySet()) {
  8952.                         if(oKey!=null) {
  8953.                             String key = (String) oKey;
  8954.                             String value = p.getProperty(key);
  8955.                             if(value!=null) {
  8956.                                 int permits = Integer.parseInt(value);
  8957.                                 if(permits>1) {
  8958.                                     // altrimenti è un normale semaphore binario
  8959.                                     this.getTipoAutorizzazioneLockPermits.put(key, permits);
  8960.                                 }
  8961.                             }
  8962.                         }
  8963.                     }
  8964.                 }
  8965.                
  8966.             }catch(java.lang.Exception e) {
  8967.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  8968.             }
  8969.            
  8970.         }

  8971.         return this.getTipoAutorizzazioneLockPermits.get(tipoAutorizzazione);
  8972.     }
  8973.    
  8974.     /**
  8975.      * Restituisce il tipo di autorizzazione delle buste effettuato dalla porta di dominio
  8976.      *
  8977.      * @return Restituisce il tipo di autorizzazione delle buste effettuato dalla porta di dominio
  8978.      *
  8979.      */
  8980.     private String tipoAutorizzazioneBuste = null;
  8981.     public String getTipoAutorizzazioneBuste(){
  8982.         if(this.tipoAutorizzazioneBuste==null){
  8983.             try{  
  8984.                 String autorizzazione = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.autorizzazioneBuste.tipo");
  8985.                 if(autorizzazione==null)
  8986.                     throw new CoreException(NON_DEFINITA);
  8987.                 autorizzazione = autorizzazione.trim();
  8988.                 this.tipoAutorizzazioneBuste = autorizzazione;

  8989.             }catch(java.lang.Exception e) {
  8990.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.autorizzazioneBuste.tipo': "+e.getMessage(),e);
  8991.                 this.tipoAutorizzazioneBuste = null;
  8992.             }
  8993.         }

  8994.         return this.tipoAutorizzazioneBuste;
  8995.     }
  8996.    
  8997.    
  8998.     private Boolean isAutorizzazioneBustaAutenticazioneOpzionaleSoggettoFruitoreProfiloInteroperabilitaDifferenteServizioBloccaRichiesta = null;
  8999.     public boolean isAutorizzazioneBustaAutenticazioneOpzionaleSoggettoFruitoreProfiloInteroperabilitaDifferenteServizioBloccaRichiesta() {
  9000.         if(this.isAutorizzazioneBustaAutenticazioneOpzionaleSoggettoFruitoreProfiloInteroperabilitaDifferenteServizioBloccaRichiesta==null){
  9001.             String pName = "org.openspcoop2.pdd.autorizzazioneBusta.autenticazioneOpzionale.soggettoFruitoreProfiloInteroperabilitaDifferenteServizio.bloccaRichiesta";
  9002.             try{
  9003.                 String name = null;
  9004.                 name = this.reader.getValueConvertEnvProperties(pName);
  9005.                 if(name==null){
  9006.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  9007.                     name="true";
  9008.                 }
  9009.                 name = name.trim();
  9010.                 this.isAutorizzazioneBustaAutenticazioneOpzionaleSoggettoFruitoreProfiloInteroperabilitaDifferenteServizioBloccaRichiesta = Boolean.parseBoolean(name);
  9011.             } catch(java.lang.Exception e) {
  9012.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  9013.                 this.isAutorizzazioneBustaAutenticazioneOpzionaleSoggettoFruitoreProfiloInteroperabilitaDifferenteServizioBloccaRichiesta = true;
  9014.             }    
  9015.         }

  9016.         return this.isAutorizzazioneBustaAutenticazioneOpzionaleSoggettoFruitoreProfiloInteroperabilitaDifferenteServizioBloccaRichiesta;
  9017.     }

  9018.    



  9019.    
  9020.     /************ AUTORIZZAZIONE CONTENUTI *******************/

  9021.     private Boolean getAutorizzazioneContenutiLockPermitsRead = null;
  9022.     private Integer getAutorizzazioneContenutiLockPermits = null;
  9023.     public Integer getAutorizzazioneContenutiLockPermits() {

  9024.         String pName = "org.openspcoop2.pdd.core.autorizzazioneContenuti.lock.permits";
  9025.         if(this.getAutorizzazioneContenutiLockPermitsRead==null){
  9026.             try{  
  9027.                 String value = this.reader.getValueConvertEnvProperties(pName);

  9028.                 if (value != null){
  9029.                     value = value.trim();
  9030.                     int permits = Integer.parseInt(value);
  9031.                     if(permits>1) {
  9032.                         // altrimenti è un normale semaphore binario
  9033.                         this.getAutorizzazioneContenutiLockPermits = permits;
  9034.                     }
  9035.                 }
  9036.                
  9037.                
  9038.             }catch(java.lang.Exception e) {
  9039.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  9040.             }
  9041.            
  9042.             this.getAutorizzazioneContenutiLockPermitsRead = true;
  9043.         }

  9044.         return this.getAutorizzazioneContenutiLockPermits;
  9045.     }
  9046.    
  9047.     private Map<String, Integer> getTipoAutorizzazioneContenutiLockPermits = null;
  9048.     public Integer getAutorizzazioneContenutiLockPermits(String tipoAutorizzazioneContenuti) {

  9049.         String pName = "org.openspcoop2.pdd.core.autorizzazioneContenuti.lock.permits.";
  9050.         if(this.getTipoAutorizzazioneContenutiLockPermits==null){
  9051.            
  9052.             this.getTipoAutorizzazioneContenutiLockPermits = new HashMap<>();
  9053.            
  9054.             try{  
  9055.                 Properties p = this.reader.readPropertiesConvertEnvProperties(pName);
  9056.                 if(p!=null && !p.isEmpty()) {
  9057.                     for (Object oKey : p.keySet()) {
  9058.                         if(oKey!=null) {
  9059.                             String key = (String) oKey;
  9060.                             String value = p.getProperty(key);
  9061.                             if(value!=null) {
  9062.                                 int permits = Integer.parseInt(value);
  9063.                                 if(permits>1) {
  9064.                                     // altrimenti è un normale semaphore binario
  9065.                                     this.getTipoAutorizzazioneContenutiLockPermits.put(key, permits);
  9066.                                 }
  9067.                             }
  9068.                         }
  9069.                     }
  9070.                 }
  9071.                
  9072.             }catch(java.lang.Exception e) {
  9073.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  9074.             }
  9075.            
  9076.         }

  9077.         return this.getTipoAutorizzazioneContenutiLockPermits.get(tipoAutorizzazioneContenuti);
  9078.     }
  9079.    
  9080.    
  9081.    
  9082.    



  9083.     /* ********  Bypass Filtri  ******** */

  9084.     /**
  9085.      * Restituisce le proprieta' che localizzano gli header element su cui deve essere applicato il filtro bypass.
  9086.      *
  9087.      * @return proprieta' che localizzano gli header element su cui deve essere applicato il filtro bypass.
  9088.      *
  9089.      */
  9090.     private Map<String,List<NameValue>> mapGetBypassFilterMustUnderstandProperties = null;
  9091.     public List<NameValue> getBypassFilterMustUnderstandProperties(String protocol) {
  9092.         if(this.mapGetBypassFilterMustUnderstandProperties==null){
  9093.             initBypassFilterMustUnderstandProperties();
  9094.         }
  9095.         return this.mapGetBypassFilterMustUnderstandProperties.get(protocol);
  9096.     }
  9097.     private void initBypassFilterMustUnderstandProperties(){
  9098.         if(this.mapGetBypassFilterMustUnderstandProperties==null){
  9099.            
  9100.             this.mapGetBypassFilterMustUnderstandProperties = new HashMap<>();
  9101.            
  9102.             List<NameValue> resultList = new ArrayList<>();
  9103.             try{
  9104.                 java.util.Properties tmpP = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.services.BypassMustUnderstandHandler.header.");
  9105.                 if(tmpP!=null && tmpP.size()>0){
  9106.                     Enumeration<Object> keys = tmpP.keys();
  9107.                     while (keys.hasMoreElements()) {
  9108.                         Object object = keys.nextElement();
  9109.                         if(object instanceof String){
  9110.                             String key = (String) object;
  9111.                             String localName = key;
  9112.                             String namespace = tmpP.getProperty(key);
  9113.                             if(key.contains("!")){
  9114.                                 // serve a fornire più proprietà con stesso localName e namespace differente
  9115.                                 // tramite la formula
  9116.                                 // org.openspcoop2.pdd.services.BypassMustUnderstandHandler.header.nomeHeader=http://prova
  9117.                                 // org.openspcoop2.pdd.services.BypassMustUnderstandHandler.header.nomeHeader!1=http://prova2
  9118.                                 // org.openspcoop2.pdd.services.BypassMustUnderstandHandler.header.nomeHeader!2=http://prova3
  9119.                                 localName = key.split("!")[0];
  9120.                             }
  9121.                             NameValue nameValue = new NameValue();
  9122.                             nameValue.setName(localName);
  9123.                             nameValue.setValue(namespace);
  9124.                             resultList.add(nameValue);
  9125.                         }
  9126.                     }
  9127.                 }
  9128.                
  9129.                
  9130.                 // aggiungo i bypass specifici dei protocolli
  9131.                 Enumeration<String> protocolli = ProtocolFactoryManager.getInstance().getProtocolFactories().keys();
  9132.                 while (protocolli.hasMoreElements()) {
  9133.                     String protocollo = protocolli.nextElement();
  9134.                     IProtocolFactory<?> pf = ProtocolFactoryManager.getInstance().getProtocolFactories().get(protocollo);
  9135.                     IProtocolConfiguration pc = pf.createProtocolConfiguration();
  9136.                     List<BypassMustUnderstandCheck> list = pc.getBypassMustUnderstandCheck();
  9137.                    
  9138.                     List<NameValue> resultListForProtocol = new ArrayList<>();
  9139.                     if(resultList!=null && !resultList.isEmpty()){
  9140.                         resultListForProtocol.addAll(resultList);
  9141.                     }
  9142.                    
  9143.                     if(list!=null && !list.isEmpty()){
  9144.                         for (Iterator<?> iterator = list.iterator(); iterator.hasNext();) {
  9145.                             BypassMustUnderstandCheck bypassMustUnderstandCheck = (BypassMustUnderstandCheck) iterator.next();
  9146.                            
  9147.                             NameValue nameValue = new NameValue();
  9148.                             nameValue.setName(bypassMustUnderstandCheck.getElementName());
  9149.                             nameValue.setValue(bypassMustUnderstandCheck.getNamespace());
  9150.                             resultListForProtocol.add(nameValue);
  9151.                            
  9152.                         }
  9153.                     }
  9154.                    
  9155.                     for (NameValue nameValue : resultListForProtocol) {
  9156.                         this.logDebug("["+protocollo+"] ["+nameValue.getName()+"]=["+nameValue.getValue()+"]");
  9157.                     }
  9158.                    
  9159.                     this.mapGetBypassFilterMustUnderstandProperties.put(protocollo, resultListForProtocol);
  9160.                 }
  9161.                
  9162.             }catch(java.lang.Exception e) {
  9163.                 this.logError("Riscontrato errore durante la lettura delle propriete' 'org.openspcoop2.pdd.services.BypassMustUnderstandHandler.header.*': "+e.getMessage(),e);
  9164.                 this.mapGetBypassFilterMustUnderstandProperties = null;
  9165.             }    
  9166.            
  9167.         }

  9168.     }

  9169.     /**
  9170.      * Restituisce l'indicazione se il BypassFilterMustUnderstand e' abilitato per tutti gli header
  9171.      *
  9172.      * @return Restituisce l'indicazione se il BypassFilterMustUnderstand e' abilitato per tutti gli header
  9173.      *
  9174.      */
  9175.     private Boolean isBypassFilterMustUnderstandEnabledForAllHeaders = null;
  9176.     public boolean isBypassFilterMustUnderstandEnabledForAllHeaders(){
  9177.         if(this.isBypassFilterMustUnderstandEnabledForAllHeaders==null){
  9178.             try{  
  9179.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.BypassMustUnderstandHandler.allHeaders");

  9180.                 if(value!=null){
  9181.                     value = value.trim();
  9182.                     this.isBypassFilterMustUnderstandEnabledForAllHeaders = Boolean.parseBoolean(value);
  9183.                 }else{
  9184.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.BypassMustUnderstandHandler.allHeaders' non impostata, viene utilizzato il default=false");
  9185.                     this.isBypassFilterMustUnderstandEnabledForAllHeaders = false;
  9186.                 }

  9187.             }catch(java.lang.Exception e) {
  9188.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.BypassMustUnderstandHandler.allHeaders' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  9189.                 this.isBypassFilterMustUnderstandEnabledForAllHeaders = false;
  9190.             }
  9191.         }

  9192.         return this.isBypassFilterMustUnderstandEnabledForAllHeaders;
  9193.     }





  9194.    
  9195.    
  9196.     /* ------------- ContentType ---------------------*/
  9197.    
  9198.     private Boolean isControlloContentTypeAbilitatoRicezioneContenutiApplicativi= null;
  9199.     public boolean isControlloContentTypeAbilitatoRicezioneContenutiApplicativi(){
  9200.         if(this.isControlloContentTypeAbilitatoRicezioneContenutiApplicativi==null){
  9201.             try{  
  9202.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.contentType.checkEnabled");

  9203.                 if(value!=null){
  9204.                     value = value.trim();
  9205.                     this.isControlloContentTypeAbilitatoRicezioneContenutiApplicativi = Boolean.parseBoolean(value);
  9206.                 }else{
  9207.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.contentType.checkEnabled' non impostata, viene utilizzato il default=true");
  9208.                     this.isControlloContentTypeAbilitatoRicezioneContenutiApplicativi = true;
  9209.                 }

  9210.             }catch(java.lang.Exception e) {
  9211.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.contentType.checkEnabled' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  9212.                 this.isControlloContentTypeAbilitatoRicezioneContenutiApplicativi = true;
  9213.             }
  9214.         }
  9215.         return this.isControlloContentTypeAbilitatoRicezioneContenutiApplicativi;
  9216.     }

  9217.     private Boolean isControlloContentTypeAbilitatoRicezioneBuste= null;
  9218.     public boolean isControlloContentTypeAbilitatoRicezioneBuste(){
  9219.         if(this.isControlloContentTypeAbilitatoRicezioneBuste==null){
  9220.             try{  
  9221.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneBuste.contentType.checkEnabled");

  9222.                 if(value!=null){
  9223.                     value = value.trim();
  9224.                     this.isControlloContentTypeAbilitatoRicezioneBuste = Boolean.parseBoolean(value);
  9225.                 }else{
  9226.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.contentType.checkEnabled' non impostata, viene utilizzato il default=true");
  9227.                     this.isControlloContentTypeAbilitatoRicezioneBuste = true;
  9228.                 }

  9229.             }catch(java.lang.Exception e) {
  9230.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.contentType.checkEnabled' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  9231.                 this.isControlloContentTypeAbilitatoRicezioneBuste = true;
  9232.             }
  9233.         }
  9234.         return this.isControlloContentTypeAbilitatoRicezioneBuste;
  9235.     }
  9236.    
  9237.     private Boolean isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap= null;
  9238.     private List<String> listControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap = null;
  9239.     public boolean isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap(){
  9240.         if(this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap==null){
  9241.             String pName = "org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.soap.charsetExpected";
  9242.             try{  
  9243.                 String value = this.reader.getValueConvertEnvProperties(pName);

  9244.                 if(value!=null){
  9245.                     value = value.trim();
  9246.                     if("*".equals(value)) {
  9247.                         this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap = false;
  9248.                     }
  9249.                     else {
  9250.                         List<String> l = new ArrayList<>();
  9251.                         initSplitValues(l, value, false);
  9252.                         if(!l.isEmpty()) {
  9253.                             this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap = true;
  9254.                             this.listControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap = l;
  9255.                         }
  9256.                         else {
  9257.                             this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap = false;
  9258.                         }
  9259.                     }
  9260.                 }else{
  9261.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  9262.                     this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap = false;
  9263.                 }

  9264.             }catch(java.lang.Exception e) {
  9265.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, false),e);
  9266.                 this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap = false;
  9267.             }
  9268.         }
  9269.         return this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap;
  9270.     }
  9271.     public List<String> getControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap(){
  9272.         List<String> lNull = null;
  9273.         if(isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap()) {
  9274.             return this.listControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap;
  9275.         }
  9276.         return lNull;
  9277.     }
  9278.    
  9279.     private Boolean isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest= null;
  9280.     private List<String> listControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest = null;
  9281.     public boolean isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest(){
  9282.         if(this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest==null){
  9283.             String pName = "org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.rest.charsetExpected";
  9284.             try{  
  9285.                 String value = this.reader.getValueConvertEnvProperties(pName);

  9286.                 if(value!=null){
  9287.                     value = value.trim();
  9288.                     if("*".equals(value)) {
  9289.                         this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest = false;
  9290.                     }
  9291.                     else {
  9292.                         List<String> l = new ArrayList<>();
  9293.                         initSplitValues(l, value, false);
  9294.                         if(!l.isEmpty()) {
  9295.                             this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest = true;
  9296.                             this.listControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest = l;
  9297.                         }
  9298.                         else {
  9299.                             this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest = false;
  9300.                         }
  9301.                     }
  9302.                 }else{
  9303.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  9304.                     this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest = false;
  9305.                 }

  9306.             }catch(java.lang.Exception e) {
  9307.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, false),e);
  9308.                 this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest = false;
  9309.             }
  9310.         }
  9311.         return this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest;
  9312.     }
  9313.     public List<String> getControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest(){
  9314.         List<String> lNull = null;
  9315.         if(isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest()) {
  9316.             return this.listControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest;
  9317.         }
  9318.         return lNull;
  9319.     }
  9320.    
  9321.     private Boolean isControlloCharsetContentTypeAbilitatoRicezioneBusteSoap= null;
  9322.     private List<String> listControlloCharsetContentTypeAbilitatoRicezioneBusteSoap = null;
  9323.     public boolean isControlloCharsetContentTypeAbilitatoRicezioneBusteSoap(){
  9324.         if(this.isControlloCharsetContentTypeAbilitatoRicezioneBusteSoap==null){
  9325.             String pName = "org.openspcoop2.pdd.services.ricezioneBuste.soap.charsetExpected";
  9326.             try{  
  9327.                 String value = this.reader.getValueConvertEnvProperties(pName);

  9328.                 if(value!=null){
  9329.                     value = value.trim();
  9330.                     if("*".equals(value)) {
  9331.                         this.isControlloCharsetContentTypeAbilitatoRicezioneBusteSoap = false;
  9332.                     }
  9333.                     else {
  9334.                         List<String> l = new ArrayList<>();
  9335.                         initSplitValues(l, value, false);
  9336.                         if(!l.isEmpty()) {
  9337.                             this.isControlloCharsetContentTypeAbilitatoRicezioneBusteSoap = true;
  9338.                             this.listControlloCharsetContentTypeAbilitatoRicezioneBusteSoap = l;
  9339.                         }
  9340.                         else {
  9341.                             this.isControlloCharsetContentTypeAbilitatoRicezioneBusteSoap = false;
  9342.                         }
  9343.                     }
  9344.                 }else{
  9345.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  9346.                     this.isControlloCharsetContentTypeAbilitatoRicezioneBusteSoap = false;
  9347.                 }

  9348.             }catch(java.lang.Exception e) {
  9349.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, false),e);
  9350.                 this.isControlloCharsetContentTypeAbilitatoRicezioneBusteSoap = false;
  9351.             }
  9352.         }
  9353.         return this.isControlloCharsetContentTypeAbilitatoRicezioneBusteSoap;
  9354.     }
  9355.     public List<String> getControlloCharsetContentTypeAbilitatoRicezioneBusteSoap(){
  9356.         List<String> lNull = null;
  9357.         if(isControlloCharsetContentTypeAbilitatoRicezioneBusteSoap()) {
  9358.             return this.listControlloCharsetContentTypeAbilitatoRicezioneBusteSoap;
  9359.         }
  9360.         return lNull;
  9361.     }
  9362.    
  9363.     private Boolean isControlloCharsetContentTypeAbilitatoRicezioneBusteRest= null;
  9364.     private List<String> listControlloCharsetContentTypeAbilitatoRicezioneBusteRest = null;
  9365.     public boolean isControlloCharsetContentTypeAbilitatoRicezioneBusteRest(){
  9366.         if(this.isControlloCharsetContentTypeAbilitatoRicezioneBusteRest==null){
  9367.             String pName = "org.openspcoop2.pdd.services.ricezioneBuste.rest.charsetExpected";
  9368.             try{  
  9369.                 String value = this.reader.getValueConvertEnvProperties(pName);

  9370.                 if(value!=null){
  9371.                     value = value.trim();
  9372.                     if("*".equals(value)) {
  9373.                         this.isControlloCharsetContentTypeAbilitatoRicezioneBusteRest = false;
  9374.                     }
  9375.                     else {
  9376.                         List<String> l = new ArrayList<>();
  9377.                         initSplitValues(l, value, false);
  9378.                         if(!l.isEmpty()) {
  9379.                             this.isControlloCharsetContentTypeAbilitatoRicezioneBusteRest = true;
  9380.                             this.listControlloCharsetContentTypeAbilitatoRicezioneBusteRest = l;
  9381.                         }
  9382.                         else {
  9383.                             this.isControlloCharsetContentTypeAbilitatoRicezioneBusteRest = false;
  9384.                         }
  9385.                     }
  9386.                 }else{
  9387.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  9388.                     this.isControlloCharsetContentTypeAbilitatoRicezioneBusteRest = false;
  9389.                 }

  9390.             }catch(java.lang.Exception e) {
  9391.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, false),e);
  9392.                 this.isControlloCharsetContentTypeAbilitatoRicezioneBusteRest = false;
  9393.             }
  9394.         }
  9395.         return this.isControlloCharsetContentTypeAbilitatoRicezioneBusteRest;
  9396.     }
  9397.     public List<String> getControlloCharsetContentTypeAbilitatoRicezioneBusteRest(){
  9398.         List<String> lNull = null;
  9399.         if(isControlloCharsetContentTypeAbilitatoRicezioneBusteRest()) {
  9400.             return this.listControlloCharsetContentTypeAbilitatoRicezioneBusteRest;
  9401.         }
  9402.         return lNull;
  9403.     }
  9404.    
  9405.     private Boolean isPrintInfoCertificate= null;
  9406.     public boolean isPrintInfoCertificate(){
  9407.         if(this.isPrintInfoCertificate==null){
  9408.             try{  
  9409.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.certificate.printInfo");

  9410.                 if(value!=null){
  9411.                     value = value.trim();
  9412.                     this.isPrintInfoCertificate = Boolean.parseBoolean(value);
  9413.                 }else{
  9414.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.certificate.printInfo' non impostata, viene utilizzato il default=false");
  9415.                     this.isPrintInfoCertificate = false;
  9416.                 }

  9417.             }catch(java.lang.Exception e) {
  9418.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.certificate.printInfo' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  9419.                 this.isPrintInfoCertificate = false;
  9420.             }
  9421.         }
  9422.         return this.isPrintInfoCertificate;
  9423.     }
  9424.    
  9425.    
  9426.     /* ------------- Gestore Credenziali (Porta Delegata) ---------------------*/

  9427.     public static final String prefixGestoreCredenzialiPortaDelegataProperties = "org.openspcoop2.pdd.services.pd.gestoreCredenziali.";
  9428.    
  9429.     private Boolean isGestoreCredenzialiPortaDelegataEnabled= null;
  9430.     public boolean isGestoreCredenzialiPortaDelegataEnabled(){
  9431.         String pName = prefixGestoreCredenzialiPortaDelegataProperties+"enabled";
  9432.         if(this.isGestoreCredenzialiPortaDelegataEnabled==null){
  9433.                 try{  
  9434.                         String value = this.reader.getValueConvertEnvProperties(pName);

  9435.                         if(value!=null){
  9436.                                 value = value.trim();
  9437.                                 this.isGestoreCredenzialiPortaDelegataEnabled = Boolean.parseBoolean(value);
  9438.                         }else{
  9439.                                 this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  9440.                                 this.isGestoreCredenzialiPortaDelegataEnabled = false;
  9441.                         }

  9442.                 }catch(java.lang.Exception e) {
  9443.                         this.logError(getMessaggioProprietaNonImpostata(pName, e, false),e);
  9444.                         this.isGestoreCredenzialiPortaDelegataEnabled = false;
  9445.                 }
  9446.         }
  9447.         return this.isGestoreCredenzialiPortaDelegataEnabled;
  9448.     }

  9449.    
  9450.     private Properties getGestoreCredenzialiPortaDelegataProperties = null;
  9451.     public Properties getGestoreCredenzialiPortaDelegataProperties() {
  9452.         if(this.getGestoreCredenzialiPortaDelegataProperties==null){
  9453.             try{  
  9454.                 this.getGestoreCredenzialiPortaDelegataProperties=this.reader.readProperties(prefixGestoreCredenzialiPortaDelegataProperties);
  9455.                 if(this.getGestoreCredenzialiPortaDelegataProperties==null) {
  9456.                     this.getGestoreCredenzialiPortaDelegataProperties=new Properties();
  9457.                 }
  9458.             }catch(java.lang.Exception e) {
  9459.                 this.logError("Proprieta' di openspcoop '"+prefixGestoreCredenzialiPortaDelegataProperties+"*' non impostate correttamente, errore:"+e.getMessage(),e);
  9460.                 this.getGestoreCredenzialiPortaDelegataProperties = null;
  9461.             }
  9462.         }
  9463.         return this.getGestoreCredenzialiPortaDelegataProperties;
  9464.     }

  9465.    
  9466.    
  9467.     /* ------------- Gestore Credenziali (Porta Applicativa) ---------------------*/

  9468.     public static final String prefixGestoreCredenzialiPortaApplicativaProperties = "org.openspcoop2.pdd.services.pa.gestoreCredenziali.";
  9469.    
  9470.     private Boolean isGestoreCredenzialiPortaApplicativaEnabled= null;
  9471.     public boolean isGestoreCredenzialiPortaApplicativaEnabled(){
  9472.         String pName = prefixGestoreCredenzialiPortaApplicativaProperties+"enabled";
  9473.         if(this.isGestoreCredenzialiPortaApplicativaEnabled==null){
  9474.                 try{  
  9475.                         String value = this.reader.getValueConvertEnvProperties(pName);

  9476.                         if(value!=null){
  9477.                                 value = value.trim();
  9478.                                 this.isGestoreCredenzialiPortaApplicativaEnabled = Boolean.parseBoolean(value);
  9479.                         }else{
  9480.                                 this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  9481.                                 this.isGestoreCredenzialiPortaApplicativaEnabled = false;
  9482.                         }

  9483.                 }catch(java.lang.Exception e) {
  9484.                         this.logError(getMessaggioProprietaNonImpostata(pName, e, false),e);
  9485.                         this.isGestoreCredenzialiPortaApplicativaEnabled = false;
  9486.                 }
  9487.         }
  9488.         return this.isGestoreCredenzialiPortaApplicativaEnabled;
  9489.     }

  9490.    
  9491.     private Properties getGestoreCredenzialiPortaApplicativaProperties = null;
  9492.     public Properties getGestoreCredenzialiPortaApplicativaProperties() {
  9493.         if(this.getGestoreCredenzialiPortaApplicativaProperties==null){
  9494.             try{  
  9495.                 this.getGestoreCredenzialiPortaApplicativaProperties=this.reader.readProperties(prefixGestoreCredenzialiPortaApplicativaProperties);
  9496.                 if(this.getGestoreCredenzialiPortaApplicativaProperties==null) {
  9497.                     this.getGestoreCredenzialiPortaApplicativaProperties=new Properties();
  9498.                 }
  9499.             }catch(java.lang.Exception e) {
  9500.                 this.logError("Proprieta' di openspcoop '"+prefixGestoreCredenzialiPortaApplicativaProperties+"*' non impostate correttamente, errore:"+e.getMessage(),e);
  9501.                 this.getGestoreCredenzialiPortaApplicativaProperties = null;
  9502.             }
  9503.         }
  9504.         return this.getGestoreCredenzialiPortaApplicativaProperties;
  9505.     }
  9506.    

  9507.    
  9508.    
  9509.    
  9510.     /* ********  MAP  ******** */
  9511.    
  9512.     private String getEnvMapConfig = null;
  9513.     public String getEnvMapConfig(){
  9514.         if(this.getEnvMapConfig==null){
  9515.             String pName = "org.openspcoop2.pdd.env.map.config";
  9516.             try{  
  9517.                 String value = this.reader.getValueConvertEnvProperties(pName);
  9518.                 if(value!=null){
  9519.                     value = value.trim();
  9520.                     if(!"".equals(value)) {
  9521.                         this.getEnvMapConfig = value;
  9522.                     }
  9523.                 }

  9524.             }catch(java.lang.Exception e) {
  9525.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, non verranno caricate variabili errore:"+e.getMessage(),e);
  9526.                 this.getEnvMapConfig = null;
  9527.             }
  9528.         }
  9529.         return this.getEnvMapConfig;
  9530.     }
  9531.    
  9532.     private Boolean isEnvMapConfigRequired= null;
  9533.     public boolean isEnvMapConfigRequired(){
  9534.         if(this.isEnvMapConfigRequired==null){
  9535.             String pName = "org.openspcoop2.pdd.env.map.required";
  9536.             try{  
  9537.                 String value = this.reader.getValueConvertEnvProperties(pName);

  9538.                 if(value!=null){
  9539.                     value = value.trim();
  9540.                     this.isEnvMapConfigRequired = Boolean.parseBoolean(value);
  9541.                 }else{
  9542.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  9543.                     this.isEnvMapConfigRequired = false;
  9544.                 }

  9545.             }catch(java.lang.Exception e) {
  9546.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, false),e);
  9547.                 this.isEnvMapConfigRequired = false;
  9548.             }
  9549.         }
  9550.         return this.isEnvMapConfigRequired;
  9551.     }
  9552.    
  9553.    
  9554.    
  9555.    
  9556.     /* ********  HSM  ******** */
  9557.    
  9558.     private String getHSMConfig = null;
  9559.     public String getHSMConfig(){
  9560.         if(this.getHSMConfig==null){
  9561.             String pName = "org.openspcoop2.pdd.hsm.config";
  9562.             try{  
  9563.                 String value = this.reader.getValueConvertEnvProperties(pName);
  9564.                 if(value!=null){
  9565.                     value = value.trim();
  9566.                     if(!"".equals(value)) {
  9567.                         this.getHSMConfig = value;
  9568.                     }
  9569.                 }

  9570.             }catch(java.lang.Exception e) {
  9571.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, non verrà abilitato l'engine HSM errore:"+e.getMessage(),e);
  9572.                 this.getHSMConfig = null;
  9573.             }
  9574.         }
  9575.         return this.getHSMConfig;
  9576.     }
  9577.    
  9578.     private Boolean isHSMConfigRequired= null;
  9579.     public boolean isHSMConfigRequired(){
  9580.         if(this.isHSMConfigRequired==null){
  9581.             String pName = "org.openspcoop2.pdd.hsm.required";
  9582.             try{  
  9583.                 String value = this.reader.getValueConvertEnvProperties(pName);

  9584.                 if(value!=null){
  9585.                     value = value.trim();
  9586.                     this.isHSMConfigRequired = Boolean.parseBoolean(value);
  9587.                 }else{
  9588.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  9589.                     this.isHSMConfigRequired = false;
  9590.                 }

  9591.             }catch(java.lang.Exception e) {
  9592.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, false),e);
  9593.                 this.isHSMConfigRequired = false;
  9594.             }
  9595.         }
  9596.         return this.isHSMConfigRequired;
  9597.     }
  9598.    
  9599.     private Boolean isHSMConfigUniqueProviderInstance= null;
  9600.     public boolean isHSMConfigUniqueProviderInstance(){
  9601.         if(this.isHSMConfigUniqueProviderInstance==null){
  9602.             String pName = "org.openspcoop2.pdd.hsm.uniqueProviderInstance";
  9603.             try{  
  9604.                 String value = this.reader.getValueConvertEnvProperties(pName);

  9605.                 if(value!=null){
  9606.                     value = value.trim();
  9607.                     this.isHSMConfigUniqueProviderInstance = Boolean.parseBoolean(value);
  9608.                 }else{
  9609.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  9610.                     this.isHSMConfigUniqueProviderInstance = true;
  9611.                 }

  9612.             }catch(java.lang.Exception e) {
  9613.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, true),e);
  9614.                 this.isHSMConfigUniqueProviderInstance = true;
  9615.             }
  9616.         }
  9617.         return this.isHSMConfigUniqueProviderInstance;
  9618.     }
  9619.    

  9620.    
  9621.    
  9622.     /* ********  OCSP  ******** */
  9623.    
  9624.     private String getOCSPConfig = null;
  9625.     public String getOCSPConfig(){
  9626.         if(this.getOCSPConfig==null){
  9627.             String pName = "org.openspcoop2.pdd.ocsp.config";
  9628.             try{  
  9629.                 String value = this.reader.getValueConvertEnvProperties(pName);
  9630.                 if(value!=null){
  9631.                     value = value.trim();
  9632.                     if(!"".equals(value)) {
  9633.                         this.getOCSPConfig = value;
  9634.                     }
  9635.                 }

  9636.             }catch(java.lang.Exception e) {
  9637.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, non verrà abilitato l'engine OCSP errore:"+e.getMessage(),e);
  9638.                 this.getOCSPConfig = null;
  9639.             }
  9640.         }
  9641.         return this.getOCSPConfig;
  9642.     }
  9643.    
  9644.     private Boolean isOCSPConfigRequired= null;
  9645.     public boolean isOCSPConfigRequired(){
  9646.         if(this.isOCSPConfigRequired==null){
  9647.             String pName = "org.openspcoop2.pdd.ocsp.required";
  9648.             try{  
  9649.                 String value = this.reader.getValueConvertEnvProperties(pName);

  9650.                 if(value!=null){
  9651.                     value = value.trim();
  9652.                     this.isOCSPConfigRequired = Boolean.parseBoolean(value);
  9653.                 }else{
  9654.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  9655.                     this.isOCSPConfigRequired = false;
  9656.                 }

  9657.             }catch(java.lang.Exception e) {
  9658.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, false),e);
  9659.                 this.isOCSPConfigRequired = false;
  9660.             }
  9661.         }
  9662.         return this.isOCSPConfigRequired;
  9663.     }
  9664.    
  9665.     private Boolean isOCSPConfigLoadDefault= null;
  9666.     public boolean isOCSPConfigLoadDefault(){
  9667.         if(this.isOCSPConfigLoadDefault==null){
  9668.             String pName = "org.openspcoop2.pdd.ocsp.loadDefault";
  9669.             try{  
  9670.                 String value = this.reader.getValueConvertEnvProperties(pName);

  9671.                 if(value!=null){
  9672.                     value = value.trim();
  9673.                     this.isOCSPConfigLoadDefault = Boolean.parseBoolean(value);
  9674.                 }else{
  9675.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  9676.                     this.isOCSPConfigLoadDefault = true;
  9677.                 }

  9678.             }catch(java.lang.Exception e) {
  9679.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, true),e);
  9680.                 this.isOCSPConfigLoadDefault = true;
  9681.             }
  9682.         }
  9683.         return this.isOCSPConfigLoadDefault;
  9684.     }
  9685.    
  9686.    
  9687.    
  9688.    
  9689.    
  9690.     /* ********  BYOK  ******** */
  9691.    
  9692.     private String getBYOKConfig = null;
  9693.     public String getBYOKConfig(){
  9694.         if(this.getBYOKConfig==null){
  9695.             String pName = "org.openspcoop2.pdd.byok.config";
  9696.             try{  
  9697.                 String value = this.reader.getValueConvertEnvProperties(pName);
  9698.                 if(value!=null){
  9699.                     value = value.trim();
  9700.                     if(!"".equals(value)) {
  9701.                         this.getBYOKConfig = value;
  9702.                     }
  9703.                 }

  9704.             }catch(java.lang.Exception e) {
  9705.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, non verrà abilitato l'engine BYOK errore:"+e.getMessage(),e);
  9706.                 this.getBYOKConfig = null;
  9707.             }
  9708.         }
  9709.         return this.getBYOKConfig;
  9710.     }
  9711.    
  9712.     private Boolean isBYOKConfigRequired= null;
  9713.     public boolean isBYOKConfigRequired(){
  9714.         if(this.isBYOKConfigRequired==null){
  9715.             String pName = "org.openspcoop2.pdd.byok.required";
  9716.             try{  
  9717.                 String value = this.reader.getValueConvertEnvProperties(pName);

  9718.                 if(value!=null){
  9719.                     value = value.trim();
  9720.                     this.isBYOKConfigRequired = Boolean.parseBoolean(value);
  9721.                 }else{
  9722.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  9723.                     this.isBYOKConfigRequired = false;
  9724.                 }

  9725.             }catch(java.lang.Exception e) {
  9726.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, false),e);
  9727.                 this.isBYOKConfigRequired = false;
  9728.             }
  9729.         }
  9730.         return this.isBYOKConfigRequired;
  9731.     }
  9732.    
  9733.     private Boolean isBYOKJmxWrapEnbled= null;
  9734.     public boolean isBYOKJmxWrapEnbled(){
  9735.         if(this.isBYOKJmxWrapEnbled==null){
  9736.             String pName = "org.openspcoop2.pdd.byok.jmx.wrap.enabled";
  9737.             try{  
  9738.                 String value = this.reader.getValueConvertEnvProperties(pName);

  9739.                 if(value!=null){
  9740.                     value = value.trim();
  9741.                     this.isBYOKJmxWrapEnbled = Boolean.parseBoolean(value);
  9742.                 }else{
  9743.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  9744.                     this.isBYOKJmxWrapEnbled = false;
  9745.                 }

  9746.             }catch(java.lang.Exception e) {
  9747.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, false),e);
  9748.                 this.isBYOKJmxWrapEnbled = false;
  9749.             }
  9750.         }
  9751.         return this.isBYOKJmxWrapEnbled;
  9752.     }
  9753.    
  9754.     private Boolean isBYOKJmxUnwrapEnbled= null;
  9755.     public boolean isBYOKJmxUnwrapEnbled(){
  9756.         if(this.isBYOKJmxUnwrapEnbled==null){
  9757.             String pName = "org.openspcoop2.pdd.byok.jmx.unwrap.enabled";
  9758.             try{  
  9759.                 String value = this.reader.getValueConvertEnvProperties(pName);

  9760.                 if(value!=null){
  9761.                     value = value.trim();
  9762.                     this.isBYOKJmxUnwrapEnbled = Boolean.parseBoolean(value);
  9763.                 }else{
  9764.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  9765.                     this.isBYOKJmxUnwrapEnbled = false;
  9766.                 }

  9767.             }catch(java.lang.Exception e) {
  9768.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, false),e);
  9769.                 this.isBYOKJmxUnwrapEnbled = false;
  9770.             }
  9771.         }
  9772.         return this.isBYOKJmxUnwrapEnbled;
  9773.     }
  9774.        
  9775.     private String getBYOKEnvSecretsConfig = null;
  9776.     public String getBYOKEnvSecretsConfig(){
  9777.         if(this.getBYOKEnvSecretsConfig==null){
  9778.             String pName = "org.openspcoop2.pdd.byok.env.secrets.config";
  9779.             try{  
  9780.                 String value = this.reader.getValueConvertEnvProperties(pName);
  9781.                 if(value!=null){
  9782.                     value = value.trim();
  9783.                     if(!"".equals(value)) {
  9784.                         this.getBYOKEnvSecretsConfig = value;
  9785.                     }
  9786.                 }

  9787.             }catch(java.lang.Exception e) {
  9788.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, non verranno caricati secrets errore:"+e.getMessage(),e);
  9789.                 this.getBYOKEnvSecretsConfig = null;
  9790.             }
  9791.         }
  9792.         return this.getBYOKEnvSecretsConfig;
  9793.     }
  9794.    
  9795.     private Boolean isBYOKEnvSecretsConfigRequired= null;
  9796.     public boolean isBYOKEnvSecretsConfigRequired(){
  9797.         if(this.isBYOKEnvSecretsConfigRequired==null){
  9798.             String pName = "org.openspcoop2.pdd.byok.env.secrets.required";
  9799.             try{  
  9800.                 String value = this.reader.getValueConvertEnvProperties(pName);

  9801.                 if(value!=null){
  9802.                     value = value.trim();
  9803.                     this.isBYOKEnvSecretsConfigRequired = Boolean.parseBoolean(value);
  9804.                 }else{
  9805.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  9806.                     this.isBYOKEnvSecretsConfigRequired = false;
  9807.                 }

  9808.             }catch(java.lang.Exception e) {
  9809.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, false),e);
  9810.                 this.isBYOKEnvSecretsConfigRequired = false;
  9811.             }
  9812.         }
  9813.         return this.isBYOKEnvSecretsConfigRequired;
  9814.     }
  9815.    
  9816.    
  9817.    
  9818.    

  9819.     /* ********  NODE RECEIVER  ******** */


  9820.     /**
  9821.      * Restituisce il Timeout di attesa di una risposta applicativa
  9822.      *
  9823.      * @return Restituisce il Timeout di attesa di una risposta applicativa
  9824.      *
  9825.      */
  9826.     private Long nodeReceiverTimeout = null;
  9827.     public long getNodeReceiverTimeout() {  
  9828.         if(this.nodeReceiverTimeout == null){
  9829.             try{
  9830.                 String name = null;
  9831.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.nodeReceiver.timeout");
  9832.                 if(name!=null){
  9833.                     name = name.trim();
  9834.                     this.nodeReceiverTimeout = java.lang.Long.parseLong(name);
  9835.                 }else{
  9836.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.nodeReceiver.timeout' non impostata, viene utilizzato il default="+CostantiPdD.NODE_RECEIVER_ATTESA_ATTIVA);
  9837.                     this.nodeReceiverTimeout = CostantiPdD.NODE_RECEIVER_ATTESA_ATTIVA;
  9838.                 }
  9839.             }catch(java.lang.Exception e) {
  9840.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.nodeReceiver.timeout' non impostata, viene utilizzato il default="+CostantiPdD.NODE_RECEIVER_ATTESA_ATTIVA+", errore:"+e.getMessage(),e);
  9841.                 this.nodeReceiverTimeout = CostantiPdD.NODE_RECEIVER_ATTESA_ATTIVA;
  9842.             }    
  9843.         }

  9844.         return this.nodeReceiverTimeout;
  9845.     }
  9846.     /**
  9847.      * Restituisce il Timeout di attesa di una risposta applicativa
  9848.      *
  9849.      * @return Restituisce il Timeout di attesa di una risposta applicativa
  9850.      *
  9851.      */
  9852.     private Long nodeReceiverTimeoutRicezioneContenutiApplicativi = null;
  9853.     public long getNodeReceiverTimeoutRicezioneContenutiApplicativi() {
  9854.         if(this.nodeReceiverTimeoutRicezioneContenutiApplicativi == null){
  9855.             try{
  9856.                 String name = null;
  9857.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.nodeReceiver.ricezioneContenutiApplicativi.timeout");
  9858.                 if(name!=null){
  9859.                     name = name.trim();
  9860.                     this.nodeReceiverTimeoutRicezioneContenutiApplicativi = java.lang.Long.parseLong(name);
  9861.                 }else{
  9862.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.nodeReceiver.ricezioneContenutiApplicativi.timeout' non impostata, viene utilizzato il default="+this.getNodeReceiverTimeout());
  9863.                     this.nodeReceiverTimeoutRicezioneContenutiApplicativi = this.getNodeReceiverTimeout();
  9864.                 }
  9865.             }catch(java.lang.Exception e) {
  9866.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.nodeReceiver.ricezioneContenutiApplicativi.timeout' non impostata, viene utilizzato il default="+this.getNodeReceiverTimeout()+", errore:"+e.getMessage(),e);
  9867.                 this.nodeReceiverTimeoutRicezioneContenutiApplicativi = this.getNodeReceiverTimeout();
  9868.             }    
  9869.         }

  9870.         return this.nodeReceiverTimeoutRicezioneContenutiApplicativi;
  9871.     }
  9872.     /**
  9873.      * Restituisce il Timeout di attesa di una busta
  9874.      *
  9875.      * @return Restituisce il Timeout di attesa di una busta
  9876.      *
  9877.      */
  9878.     private Long nodeReceiverTimeoutRicezioneBuste = null;
  9879.     public long getNodeReceiverTimeoutRicezioneBuste() {    
  9880.         if(this.nodeReceiverTimeoutRicezioneBuste == null){
  9881.             try{
  9882.                 String name = null;
  9883.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.nodeReceiver.ricezioneBuste.timeout");

  9884.                 if(name!=null){
  9885.                     name = name.trim();
  9886.                     this.nodeReceiverTimeoutRicezioneBuste = java.lang.Long.parseLong(name);
  9887.                 }else{
  9888.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.nodeReceiver.ricezioneBuste.timeout' non impostata, viene utilizzato il default="+this.getNodeReceiverTimeout());
  9889.                     this.nodeReceiverTimeoutRicezioneBuste = this.getNodeReceiverTimeout();
  9890.                 }
  9891.             }catch(java.lang.Exception e) {
  9892.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.nodeReceiver.ricezioneBuste.timeout' non impostata, viene utilizzato il default="+this.getNodeReceiverTimeout()+", errore:"+e.getMessage(),e);
  9893.                 this.nodeReceiverTimeoutRicezioneBuste = this.getNodeReceiverTimeout();
  9894.             }    
  9895.         }

  9896.         return this.nodeReceiverTimeoutRicezioneBuste;
  9897.     }
  9898.     /**
  9899.      * Restituisce la Frequenza di check sulla coda RicezioneBuste/RicezioneContenutiApplicativi
  9900.      *
  9901.      * @return Restituisce la Frequenza di check sulla coda RicezioneBuste/RicezioneContenutiApplicativi
  9902.      *
  9903.      */
  9904.     private Integer nodeReceiverCheckInterval = null;
  9905.     public int getNodeReceiverCheckInterval() {
  9906.         if(this.nodeReceiverCheckInterval==null){
  9907.             try{
  9908.                 String name = null;
  9909.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.nodeReceiver.check");
  9910.                 if(name!=null){
  9911.                     name = name.trim();
  9912.                     this.nodeReceiverCheckInterval = java.lang.Integer.parseInt(name);
  9913.                 }else{
  9914.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.nodeReceiver.check' non impostata, viene utilizzato il default="+CostantiPdD.NODE_RECEIVER_CHECK_INTERVAL);
  9915.                     this.nodeReceiverCheckInterval = CostantiPdD.NODE_RECEIVER_CHECK_INTERVAL;
  9916.                 }
  9917.             }catch(java.lang.Exception e) {
  9918.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.nodeReceiver.check' non impostata, viene utilizzato il default="+CostantiPdD.NODE_RECEIVER_CHECK_INTERVAL+", errore:"+e.getMessage(),e);
  9919.                 this.nodeReceiverCheckInterval = CostantiPdD.NODE_RECEIVER_CHECK_INTERVAL;
  9920.             }    
  9921.         }

  9922.         return this.nodeReceiverCheckInterval;
  9923.     }

  9924.     /**
  9925.      * Restituisce l'intervallo di check su DB effettuata dal TransactionManager, in caso di cache attiva
  9926.      *
  9927.      * @return Restituisce intervallo di check su DB effettuata dal TransactionManager, in caso di cache attiva
  9928.      *
  9929.      */
  9930.     private Integer nodeReceiverCheckDBInterval = null;
  9931.     public int getNodeReceiverCheckDBInterval() {  
  9932.         if(this.nodeReceiverCheckDBInterval==null){
  9933.             try{
  9934.                 String name = null;
  9935.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.nodeReceiver.checkDB");

  9936.                 if(name!=null){
  9937.                     name = name.trim();
  9938.                     int time = java.lang.Integer.parseInt(name);
  9939.                     this.nodeReceiverCheckDBInterval = time;
  9940.                 }else{
  9941.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.nodeReceiver.checkDB' non impostata, viene utilizzato il default="+CostantiPdD.NODE_RECEIVER_CHECK_DB_INTERVAL);
  9942.                     this.nodeReceiverCheckDBInterval = CostantiPdD.NODE_RECEIVER_CHECK_DB_INTERVAL;
  9943.                 }
  9944.             }catch(java.lang.Exception e) {
  9945.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.nodeReceiver.checkDB' non impostata, viene utilizzato il default="+CostantiPdD.NODE_RECEIVER_CHECK_DB_INTERVAL+", errore:"+e.getMessage(),e);
  9946.                 this.nodeReceiverCheckDBInterval = CostantiPdD.NODE_RECEIVER_CHECK_DB_INTERVAL;
  9947.             }  
  9948.         }

  9949.         return this.nodeReceiverCheckDBInterval;
  9950.     }

  9951.     /**
  9952.      * Restituisce il nodeReceiver da utilizzare per le comunicazioni infrastrutturali
  9953.      *
  9954.      * @return  il nodeReceiver da utilizzare per le comunicazioni infrastrutturali
  9955.      */
  9956.     private String nodeReceiver = null;
  9957.     public String getNodeReceiver() {
  9958.         if(this.nodeReceiver==null){
  9959.             try{
  9960.                 this.nodeReceiver = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.nodeReceiver");
  9961.                 if(this.nodeReceiver==null)
  9962.                     throw new CoreException(NON_DEFINITA);
  9963.                 this.nodeReceiver = this.nodeReceiver.trim();

  9964.             }catch(java.lang.Exception e) {
  9965.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.nodeReceiver': "+e.getMessage(),e);
  9966.                 this.nodeReceiver = null;
  9967.             }    
  9968.         }

  9969.         return this.nodeReceiver;
  9970.     }

  9971.     /**
  9972.      * Restituisce l'indicazione se il NodeReceiver deve essere utilizzato in single connection
  9973.      *
  9974.      * @return Restituisce l'indicazione se il NodeReceiver deve essere utilizzato in single connection
  9975.      *
  9976.      */
  9977.     private Boolean singleConnectionNodeReceiverValue = null;
  9978.     public boolean singleConnectionNodeReceiver(){

  9979.         if(this.singleConnectionNodeReceiverValue==null){
  9980.             try{  
  9981.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.nodeReceiver.singleConnection");

  9982.                 if(value!=null){
  9983.                     value = value.trim();
  9984.                     this.singleConnectionNodeReceiverValue = Boolean.parseBoolean(value);
  9985.                 }else{
  9986.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.nodeReceiver.singleConnection' non impostata, viene utilizzato il default=false");
  9987.                     this.singleConnectionNodeReceiverValue = false;
  9988.                 }

  9989.             }catch(java.lang.Exception e) {
  9990.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.nodeReceiver.singleConnection' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  9991.                 this.singleConnectionNodeReceiverValue = false;
  9992.             }
  9993.         }

  9994.         return this.singleConnectionNodeReceiverValue;

  9995.     }




  9996.     /* ********  NODE SENDER  ******** */

  9997.     /**
  9998.      * Restituisce il nodeSender da utilizzare per le comunicazioni infrastrutturali
  9999.      *
  10000.      * @return  il nodeSender da utilizzare per le comunicazioni infrastrutturali
  10001.      */
  10002.     private String nodeSender = null;
  10003.     public String getNodeSender() {
  10004.         if(this.nodeSender==null){
  10005.             try{
  10006.                 this.nodeSender = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.nodeSender");
  10007.                 if(this.nodeSender==null)
  10008.                     throw new CoreException(NON_DEFINITA);
  10009.                 this.nodeSender = this.nodeSender.trim();

  10010.             }catch(java.lang.Exception e) {
  10011.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.nodeSender': "+e.getMessage(),e);
  10012.                 this.nodeSender = null;
  10013.             }    
  10014.         }

  10015.         return this.nodeSender;
  10016.     }








  10017.     /* ********  EJB  ******** */

  10018.     /**
  10019.      * Restituisce il Timeout di attesa per i deploy dei timer
  10020.      *
  10021.      * @return Restituisce il Timeout di attesa per i deploy dei timer
  10022.      *
  10023.      */
  10024.     private Long timerEJBDeployTimeout = null;
  10025.     public long getTimerEJBDeployTimeout() {    
  10026.         if(this.timerEJBDeployTimeout==null){
  10027.             try{
  10028.                 String name = null;
  10029.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.timeout");

  10030.                 if(name!=null){
  10031.                     name = name.trim();
  10032.                     this.timerEJBDeployTimeout = java.lang.Long.parseLong(name);
  10033.                 }else{
  10034.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.timeout' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_EJB_ATTESA_ATTIVA);
  10035.                     this.timerEJBDeployTimeout = CostantiPdD.TIMER_EJB_ATTESA_ATTIVA;
  10036.                 }
  10037.             }catch(java.lang.Exception e) {
  10038.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.timeout' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_EJB_ATTESA_ATTIVA+", errore:"+e.getMessage(),e);
  10039.                 this.timerEJBDeployTimeout = CostantiPdD.TIMER_EJB_ATTESA_ATTIVA;
  10040.             }    
  10041.         }

  10042.         return this.timerEJBDeployTimeout;
  10043.     }
  10044.     /**
  10045.      * Restituisce la Frequenza di check per il deploy dei timer
  10046.      *
  10047.      * @return Restituisce la Frequenza di check per il deploy dei timer
  10048.      *
  10049.      */
  10050.     private Integer timerEJBDeployCheckInterval = null;
  10051.     public int getTimerEJBDeployCheckInterval() {  
  10052.         if(this.timerEJBDeployCheckInterval==null){
  10053.             try{
  10054.                 String name = null;
  10055.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.check");

  10056.                 if(name!=null){
  10057.                     name = name.trim();
  10058.                     this.timerEJBDeployCheckInterval = java.lang.Integer.parseInt(name);
  10059.                 }else{
  10060.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.check' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_EJB_CHECK_INTERVAL);
  10061.                     this.timerEJBDeployCheckInterval = CostantiPdD.TIMER_EJB_CHECK_INTERVAL;
  10062.                 }
  10063.             }catch(java.lang.Exception e) {
  10064.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.check' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_EJB_CHECK_INTERVAL+", errore:"+e.getMessage(),e);
  10065.                 this.timerEJBDeployCheckInterval = CostantiPdD.TIMER_EJB_CHECK_INTERVAL;
  10066.             }  
  10067.         }

  10068.         return this.timerEJBDeployCheckInterval;
  10069.     }








  10070.     /* ********  TRANSACTION MANAGER  ******** */

  10071.     /**
  10072.      * Restituisce l'intervallo in millisecondi di attesa attiva effettuato dal Transaction Manager (Default 2 minuti)
  10073.      *
  10074.      * @return Restituisce l'intervallo in millisecondi di attesa attiva effettuato dal Transaction Manager (Default 2 minuti)
  10075.      *  *
  10076.      */
  10077.     private Long transactionManagerAttesaAttiva = null;
  10078.     public long getTransactionManagerAttesaAttiva() {  
  10079.         if(this.transactionManagerAttesaAttiva==null){
  10080.             try{
  10081.                 String name = null;
  10082.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.core.TransactionManager.attesaAttiva");

  10083.                 if(name!=null){
  10084.                     name = name.trim();
  10085.                     long time = java.lang.Long.parseLong(name);
  10086.                     this.transactionManagerAttesaAttiva = time*1000;
  10087.                 }else{
  10088.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.TransactionManager.attesaAttiva' non impostata, viene utilizzato il default="+CostantiPdD.TRANSACTION_MANAGER_ATTESA_ATTIVA);
  10089.                     this.transactionManagerAttesaAttiva = CostantiPdD.TRANSACTION_MANAGER_ATTESA_ATTIVA;
  10090.                 }
  10091.             }catch(java.lang.Exception e) {
  10092.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.TransactionManager.attesaAttiva' non impostata, viene utilizzato il default="+CostantiPdD.TRANSACTION_MANAGER_ATTESA_ATTIVA+", errore:"+e.getMessage(),e);
  10093.                 this.transactionManagerAttesaAttiva = CostantiPdD.TRANSACTION_MANAGER_ATTESA_ATTIVA;
  10094.             }    
  10095.         }

  10096.         return this.transactionManagerAttesaAttiva;
  10097.     }

  10098.     /**
  10099.      * Restituisce l'intervallo maggiore per frequenza di check nell'attesa attiva effettuata dal TransactionManager, in millisecondi
  10100.      *
  10101.      * @return Restituisce Intervallo maggiore per frequenza di check nell'attesa attiva effettuata dal TransactionManager, in millisecondi
  10102.      *
  10103.      */
  10104.     private Integer transactionManagerCheckInterval = null;
  10105.     public int getTransactionManagerCheckInterval() {  
  10106.         if(this.transactionManagerCheckInterval==null){
  10107.             try{
  10108.                 String name = null;
  10109.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.core.TransactionManager.check");

  10110.                 if(name!=null){
  10111.                     name = name.trim();
  10112.                     int time = java.lang.Integer.parseInt(name);
  10113.                     this.transactionManagerCheckInterval = time;
  10114.                 }else{
  10115.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.TransactionManager.check' non impostata, viene utilizzato il default="+CostantiPdD.TRANSACTION_MANAGER_CHECK_INTERVAL);
  10116.                     this.transactionManagerCheckInterval = CostantiPdD.TRANSACTION_MANAGER_CHECK_INTERVAL;
  10117.                 }
  10118.             }catch(java.lang.Exception e) {
  10119.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.TransactionManager.check' non impostata, viene utilizzato il default="+CostantiPdD.TRANSACTION_MANAGER_CHECK_INTERVAL+", errore:"+e.getMessage(),e);
  10120.                 this.transactionManagerCheckInterval = CostantiPdD.TRANSACTION_MANAGER_CHECK_INTERVAL;
  10121.             }  
  10122.         }

  10123.         return this.transactionManagerCheckInterval;
  10124.     }

  10125.     /**
  10126.      * Restituisce l'intervallo di check su DB effettuata dal TransactionManager, in caso di cache attiva
  10127.      *
  10128.      * @return Restituisce intervallo di check su DB effettuata dal TransactionManager, in caso di cache attiva
  10129.      *
  10130.      */
  10131.     private Integer transactionManagerCheckDBInterval = null;
  10132.     public int getTransactionManagerCheckDBInterval() {
  10133.         if(this.transactionManagerCheckDBInterval==null){
  10134.             try{
  10135.                 String name = null;
  10136.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.core.TransactionManager.checkDB");

  10137.                 if(name!=null){
  10138.                     name = name.trim();
  10139.                     int time = java.lang.Integer.parseInt(name);
  10140.                     this.transactionManagerCheckDBInterval = time;
  10141.                 }else{
  10142.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.TransactionManager.checkDB' non impostata, viene utilizzato il default="+CostantiPdD.TRANSACTION_MANAGER_CHECK_DB_INTERVAL);
  10143.                     this.transactionManagerCheckDBInterval = CostantiPdD.TRANSACTION_MANAGER_CHECK_DB_INTERVAL;
  10144.                 }
  10145.             }catch(java.lang.Exception e) {
  10146.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.TransactionManager.checkDB' non impostata, viene utilizzato il default="+CostantiPdD.TRANSACTION_MANAGER_CHECK_DB_INTERVAL+", errore:"+e.getMessage(),e);
  10147.                 this.transactionManagerCheckDBInterval = CostantiPdD.TRANSACTION_MANAGER_CHECK_DB_INTERVAL;
  10148.             }  
  10149.         }

  10150.         return this.transactionManagerCheckDBInterval;
  10151.     }


  10152.     /**
  10153.      * Restituisce l'indicazione se il TransactionManager deve essere utilizzato in single connection
  10154.      *
  10155.      * @return Restituisce l'indicazione se il TransactionManager deve essere utilizzato in single connection
  10156.      *
  10157.      */
  10158.     private Boolean singleConnectionTransactionManagerValue = null;
  10159.     public boolean singleConnectionTransactionManager(){

  10160.         if(this.singleConnectionTransactionManagerValue==null){
  10161.             try{  
  10162.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.core.TransactionManager.singleConnection");

  10163.                 if(value!=null){
  10164.                     value = value.trim();
  10165.                     this.singleConnectionTransactionManagerValue = Boolean.parseBoolean(value);
  10166.                 }else{
  10167.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.TransactionManager.singleConnection' non impostata, viene utilizzato il default=false");
  10168.                     this.singleConnectionTransactionManagerValue = false;
  10169.                 }

  10170.             }catch(java.lang.Exception e) {
  10171.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.TransactionManager.singleConnection' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  10172.                 this.singleConnectionTransactionManagerValue = false;
  10173.             }
  10174.         }

  10175.         return this.singleConnectionTransactionManagerValue;

  10176.     }






  10177.     /* ********  SERIALIZABLE  ******** */

  10178.     /**
  10179.      * Restituisce l'intervallo di Attesa attiva di default effettuata per la gestione del livello serializable nel DB, in millisecondi
  10180.      *
  10181.      * @return Restituisce l'intervallo di Attesa attiva di default effettuata per la gestione del livello serializable nel DB, in millisecondi
  10182.      *
  10183.      */
  10184.     private Long gestioneSerializableDBAttesaAttiva = null;
  10185.     public long getGestioneSerializableDBAttesaAttiva() {  
  10186.         if(this.gestioneSerializableDBAttesaAttiva==null){
  10187.             try{
  10188.                 String name = null;
  10189.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.jdbc.serializable.attesaAttiva");
  10190.                 if (name != null) {
  10191.                     name = name.trim();
  10192.                     long time = java.lang.Long.parseLong(name);
  10193.                     this.gestioneSerializableDBAttesaAttiva = time*1000;
  10194.                 } else {
  10195.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.jdbc.serializable.attesaAttiva' non impostata, viene utilizzato il default="+Costanti.GESTIONE_SERIALIZABLE_ATTESA_ATTIVA);
  10196.                     this.gestioneSerializableDBAttesaAttiva =  Costanti.GESTIONE_SERIALIZABLE_ATTESA_ATTIVA;
  10197.                 }
  10198.             }catch(java.lang.Exception e) {
  10199.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.jdbc.serializable.attesaAttiva' non impostata, viene utilizzato il default="+Costanti.GESTIONE_SERIALIZABLE_ATTESA_ATTIVA+", errore:"+e.getMessage(),e);
  10200.                 this.gestioneSerializableDBAttesaAttiva = Costanti.GESTIONE_SERIALIZABLE_ATTESA_ATTIVA;
  10201.             }  
  10202.         }

  10203.         return this.gestioneSerializableDBAttesaAttiva;
  10204.     }

  10205.     /**
  10206.      * Restituisce l'intervallo maggiore per frequenza di check nell'attesa attiva effettuata per la gestione del livello serializable nel DB, in millisecondi
  10207.      *
  10208.      * @return Restituisce Intervallo maggiore per frequenza di check nell'attesa attiva effettuata per la gestione del livello serializable nel DB, in millisecondi
  10209.      */
  10210.     private Integer gestioneSerializableDBCheckInterval = null;
  10211.     public int getGestioneSerializableDBCheckInterval() {  
  10212.         if(this.gestioneSerializableDBCheckInterval==null){
  10213.             try{
  10214.                 String name = null;
  10215.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.jdbc.serializable.check");
  10216.                 if (name != null){
  10217.                     name = name.trim();
  10218.                     int time = java.lang.Integer.parseInt(name);
  10219.                     this.gestioneSerializableDBCheckInterval = time;
  10220.                 } else{
  10221.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.jdbc.serializable.check' non impostata, viene utilizzato il default="+Costanti.GESTIONE_SERIALIZABLE_CHECK_INTERVAL);
  10222.                     this.gestioneSerializableDBCheckInterval = Costanti.GESTIONE_SERIALIZABLE_CHECK_INTERVAL;
  10223.                 }
  10224.             }catch(java.lang.Exception e) {
  10225.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.jdbc.serializable.check' non impostata, viene utilizzato il default="+Costanti.GESTIONE_SERIALIZABLE_CHECK_INTERVAL+", errore:"+e.getMessage(),e);
  10226.                 this.gestioneSerializableDBCheckInterval = Costanti.GESTIONE_SERIALIZABLE_CHECK_INTERVAL;
  10227.             }    
  10228.         }

  10229.         return this.gestioneSerializableDBCheckInterval;
  10230.     }

  10231.     private Boolean isJdbcCloseConnectionCheckIsClosed = null;
  10232.     public boolean isJdbcCloseConnectionCheckIsClosed(){

  10233.         if(this.isJdbcCloseConnectionCheckIsClosed==null){
  10234.             String pName = "org.openspcoop2.pdd.jdbc.closeConnection.checkIsClosed";
  10235.             try{  
  10236.                 String value = this.reader.getValueConvertEnvProperties(pName);

  10237.                 if(value!=null){
  10238.                     value = value.trim();
  10239.                     this.isJdbcCloseConnectionCheckIsClosed = Boolean.parseBoolean(value);
  10240.                 }else{
  10241.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  10242.                     this.isJdbcCloseConnectionCheckIsClosed = true;
  10243.                 }

  10244.             }catch(java.lang.Exception e) {
  10245.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  10246.                 this.isJdbcCloseConnectionCheckIsClosed = true;
  10247.             }
  10248.         }

  10249.         return this.isJdbcCloseConnectionCheckIsClosed;

  10250.     }
  10251.    
  10252.     private Boolean isJdbcCloseConnectionCheckAutocommit = null;
  10253.     public boolean isJdbcCloseConnectionCheckAutocommit(){

  10254.         if(this.isJdbcCloseConnectionCheckAutocommit==null){
  10255.             String pName = "org.openspcoop2.pdd.jdbc.closeConnection.checkAutocommit";
  10256.             try{  
  10257.                 String value = this.reader.getValueConvertEnvProperties(pName);

  10258.                 if(value!=null){
  10259.                     value = value.trim();
  10260.                     this.isJdbcCloseConnectionCheckAutocommit = Boolean.parseBoolean(value);
  10261.                 }else{
  10262.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  10263.                     this.isJdbcCloseConnectionCheckAutocommit = true;
  10264.                 }

  10265.             }catch(java.lang.Exception e) {
  10266.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  10267.                 this.isJdbcCloseConnectionCheckAutocommit = true;
  10268.             }
  10269.         }

  10270.         return this.isJdbcCloseConnectionCheckAutocommit;

  10271.     }






  10272.     /* ********  LIBRERIA PROTOCOL  ******** */

  10273.     /**
  10274.      * Restituisce il tipo di gestione del RepositoryBuste
  10275.      *
  10276.      * @return Restituisce il tipo di gestione  del RepositoryBuste
  10277.      */
  10278.     private String gestoreRepositoryBuste = null;
  10279.     public String getGestoreRepositoryBuste() {
  10280.         if(this.gestoreRepositoryBuste==null){
  10281.             try{
  10282.                 String name = null;
  10283.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.repository.gestore");
  10284.                 if(name==null)
  10285.                     throw new CoreException(NON_DEFINITA);
  10286.                 name = name.trim();
  10287.                
  10288.                 if(CostantiConfigurazione.REPOSITORY_BUSTE_AUTO_BYTEWISE.equals(name)){
  10289.                     if(this.getDatabaseType()!=null){
  10290.                         name = GestoreRepositoryFactory.getTipoRepositoryBuste(this.getDatabaseType());
  10291.                     }
  10292.                     else{
  10293.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.protocol.repository.gestore': il valore '"+
  10294.                                 CostantiConfigurazione.REPOSITORY_BUSTE_AUTO_BYTEWISE+"' deve essere utilizzato in combinazione con la definizione del tipo di database del repository. Viene impostato come gestore il tipo di default: "+
  10295.                                 CostantiConfigurazione.REPOSITORY_BUSTE_DEFAULT);
  10296.                         name = CostantiConfigurazione.REPOSITORY_BUSTE_DEFAULT;
  10297.                     }
  10298.                 }
  10299.                
  10300.                 this.gestoreRepositoryBuste = name;
  10301.            
  10302.             }catch(java.lang.Exception e) {
  10303.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.protocol.repository.gestore': "+e.getMessage(),e);
  10304.                 this.gestoreRepositoryBuste = null;
  10305.             }    
  10306.         }

  10307.         return this.gestoreRepositoryBuste;
  10308.     }

  10309.     /**
  10310.      * Restituisce il tipo di filtro duplicati utilizzato dal RepositoryBuste
  10311.      *
  10312.      * @return Restituisce il tipo di filtro duplicati utilizzato dal RepositoryBuste
  10313.      */
  10314.     private String gestoreFiltroDuplicatiRepositoryBuste = null;
  10315.     public String getGestoreFiltroDuplicatiRepositoryBuste() {
  10316.         if(this.gestoreFiltroDuplicatiRepositoryBuste==null){
  10317.             try{
  10318.                 String name = null;
  10319.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.filtroDuplicati");
  10320.                 if(name==null){
  10321.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.filtroDuplicati' non impostata, viene utilizzato il default="+CostantiConfigurazione.FILTRO_DUPLICATI_OPENSPCOOP);
  10322.                     this.gestoreFiltroDuplicatiRepositoryBuste = CostantiConfigurazione.FILTRO_DUPLICATI_OPENSPCOOP;
  10323.                 }else{
  10324.                     name = name.trim();
  10325.                     this.gestoreFiltroDuplicatiRepositoryBuste = name;
  10326.                 }
  10327.            
  10328.             }catch(java.lang.Exception e) {
  10329.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.filtroDuplicati' non impostata, viene utilizzato il default="+CostantiConfigurazione.FILTRO_DUPLICATI_OPENSPCOOP+", errore:"+e.getMessage(),e);
  10330.                 this.gestoreFiltroDuplicatiRepositoryBuste = CostantiConfigurazione.FILTRO_DUPLICATI_OPENSPCOOP;
  10331.             }    
  10332.         }

  10333.         return this.gestoreFiltroDuplicatiRepositoryBuste;
  10334.     }

  10335.     /**
  10336.      * Restituisce la Generazione attributi 'tipo' e 'servizioCorrelato' nell'elemento 'ProfiloCollaborazione' della richiesta asincrona simmetrica
  10337.      * e della ricevuta alla richiesta asincrona asimmetrica
  10338.      *  
  10339.      * @return Restituisce la Generazione attributi 'tipo' e 'servizioCorrelato' nell'elemento 'ProfiloCollaborazione' della richiesta asincrona simmetrica
  10340.      *         e della ricevuta alla richiesta asincrona asimmetrica
  10341.      *
  10342.      */
  10343.     private Boolean isGenerazioneAttributiAsincroni = null;
  10344.     public boolean isGenerazioneAttributiAsincroni(String implementazionePdDSoggetto){

  10345.         // ovverriding per implementazione porta di dominio
  10346.         if(this.pddReader!=null){
  10347.             String tipo = this.pddReader.getBusta_AsincroniAttributiCorrelatiEnable(implementazionePdDSoggetto);
  10348.             if(tipo!=null && (
  10349.                     CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo) ||
  10350.                     CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo)  )
  10351.             ){
  10352.                 return CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo);
  10353.             }
  10354.         }

  10355.         if(this.isGenerazioneAttributiAsincroni==null){
  10356.             try{  
  10357.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.asincroni.attributiCorrelati.enable");

  10358.                 if (value != null){
  10359.                     value = value.trim();
  10360.                     this.isGenerazioneAttributiAsincroni = Boolean.parseBoolean(value);
  10361.                 }else{
  10362.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.asincroni.attributiCorrelati.enable' non impostata, viene utilizzato il default=true");
  10363.                     this.isGenerazioneAttributiAsincroni = true;
  10364.                 }

  10365.             }catch(java.lang.Exception e) {
  10366.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.asincroni.attributiCorrelati.enable' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  10367.                 this.isGenerazioneAttributiAsincroni = true;
  10368.             }
  10369.         }

  10370.         return this.isGenerazioneAttributiAsincroni;
  10371.     }

  10372.    

  10373.     /**
  10374.      * Indicazione se ritenere una busta malformata se la validazione ha rilevato eccezioni di livello non gravi
  10375.      *  
  10376.      * @return Indicazione se ritenere una busta malformata se la validazione ha rilevato eccezioni di livello non gravi
  10377.      *
  10378.      */
  10379.     private Boolean ignoraEccezioniNonGraviValidazione = null;
  10380.     public boolean ignoraEccezioniNonGraviValidazione(){
  10381.         if(this.ignoraEccezioniNonGraviValidazione==null){
  10382.             try{  
  10383.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.validazione.ignoraEccezioniNonGravi");

  10384.                 if (value != null){
  10385.                     value = value.trim();
  10386.                     this.ignoraEccezioniNonGraviValidazione = Boolean.parseBoolean(value);
  10387.                 }else{
  10388.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.validazione.ignoraEccezioniNonGravi' non impostata, viene utilizzato il default=false");
  10389.                     this.ignoraEccezioniNonGraviValidazione = false;
  10390.                 }

  10391.             }catch(java.lang.Exception e) {
  10392.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.validazione.ignoraEccezioniNonGravi' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  10393.                 this.ignoraEccezioniNonGraviValidazione = false;
  10394.             }
  10395.         }

  10396.         return this.ignoraEccezioniNonGraviValidazione;
  10397.     }
  10398.    
  10399.     /**
  10400.      * Indicazione se forzare la generazione del prefix 'soap' per i fault spcoop (compatibilita' con OpenSPCoop v1).
  10401.      *  
  10402.      * @return Indicazione se forzare la generazione del prefix 'soap' per i fault spcoop (compatibilita' con OpenSPCoop v1).
  10403.      *
  10404.      */
  10405.     private Boolean forceSoapPrefixCompatibilitaOpenSPCoopV1 = null;
  10406.     public boolean isForceSoapPrefixCompatibilitaOpenSPCoopV1(){
  10407.         if(this.forceSoapPrefixCompatibilitaOpenSPCoopV1==null){
  10408.             try{  
  10409.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.spcoop.backwardCompatibility.forceSoapPrefix");

  10410.                 if (value != null){
  10411.                     value = value.trim();
  10412.                     this.forceSoapPrefixCompatibilitaOpenSPCoopV1 = Boolean.parseBoolean(value);
  10413.                 }else{
  10414.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.spcoop.backwardCompatibility.forceSoapPrefix' non impostata, viene utilizzato il default=true");
  10415.                     this.forceSoapPrefixCompatibilitaOpenSPCoopV1 = true;
  10416.                 }

  10417.             }catch(java.lang.Exception e) {
  10418.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.spcoop.backwardCompatibility.forceSoapPrefix' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  10419.                 this.forceSoapPrefixCompatibilitaOpenSPCoopV1 = true;
  10420.             }
  10421.         }

  10422.         return this.forceSoapPrefixCompatibilitaOpenSPCoopV1;
  10423.     }
  10424.    

  10425.     /**
  10426.      * Indicazione se generare la lista Trasmissione
  10427.      *  
  10428.      * @return Indicazione se generare la lista Trasmissione
  10429.      *
  10430.      */
  10431.     private Boolean isGenerazioneListaTrasmissioni = null;
  10432.     public boolean isGenerazioneListaTrasmissioni(String implementazionePdDSoggetto){

  10433.         // ovverriding per implementazione porta di dominio
  10434.         if(this.pddReader!=null){          
  10435.             String tipo = this.pddReader.getBusta_TrasmissioneEnable(implementazionePdDSoggetto);
  10436.             if(tipo!=null && (
  10437.                     CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo) ||
  10438.                     CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo)  )
  10439.             ){
  10440.                 if(CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo))
  10441.                     return true;
  10442.                 else if(CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo))
  10443.                     return false;
  10444.             }
  10445.         }

  10446.         if(this.isGenerazioneListaTrasmissioni==null){
  10447.             try{  
  10448.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.trasmissione.enable");

  10449.                 if (value != null){
  10450.                     value = value.trim();
  10451.                     this.isGenerazioneListaTrasmissioni = Boolean.parseBoolean(value);
  10452.                 }else{
  10453.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.trasmissione.enable' non impostata, viene utilizzato il default=true");
  10454.                     this.isGenerazioneListaTrasmissioni = true;
  10455.                 }

  10456.             }catch(java.lang.Exception e) {
  10457.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.trasmissione.enable' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  10458.                 this.isGenerazioneListaTrasmissioni = true;
  10459.             }
  10460.         }

  10461.         return this.isGenerazioneListaTrasmissioni;
  10462.     }

  10463.     /**
  10464.      * Indicazione se generare un msg di Protocollo errore in caso di filtro duplicati anche per il profilo oneway
  10465.      *  
  10466.      * @return Indicazione se generare un msg di Protocollo errore in caso di filtro duplicati  anche per il profilo oneway
  10467.      *
  10468.      */
  10469.     private Boolean isGenerazioneErroreFiltroDuplicati = null;
  10470.     public boolean isGenerazioneErroreProtocolloFiltroDuplicati(String implementazionePdDSoggetto){

  10471.         // ovverriding per implementazione porta di dominio
  10472.         if(this.pddReader!=null){
  10473.             String tipo = this.pddReader.getBusta_FiltroduplicatiGenerazioneBustaErrore(implementazionePdDSoggetto);
  10474.             if(tipo!=null && (
  10475.                     CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo) ||
  10476.                     CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo)  )
  10477.             ){
  10478.                 if(CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo))
  10479.                     return true;
  10480.                 else if(CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo))
  10481.                     return false;
  10482.             }
  10483.         }

  10484.         if(this.isGenerazioneErroreFiltroDuplicati==null){
  10485.             try{  
  10486.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.filtroduplicati.generazioneErrore");

  10487.                 if (value != null){
  10488.                     value = value.trim();
  10489.                     this.isGenerazioneErroreFiltroDuplicati = Boolean.parseBoolean(value);
  10490.                 }else{
  10491.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.filtroduplicati.generazioneErrore' non impostata, viene utilizzato il default=false");
  10492.                     this.isGenerazioneErroreFiltroDuplicati = false;
  10493.                 }

  10494.             }catch(java.lang.Exception e) {
  10495.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.filtroduplicati.generazioneErrore' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  10496.                 this.isGenerazioneErroreFiltroDuplicati = false;
  10497.             }
  10498.         }

  10499.         return this.isGenerazioneErroreFiltroDuplicati;
  10500.     }

  10501.     /**
  10502.      * Indicazione se leggere dal registro se abilitato il filtro duplicati
  10503.      *  
  10504.      * @return Indicazione se leggere dal registro se abilitato il filtro duplicati
  10505.      *
  10506.      */
  10507.     private Boolean isCheckFromRegistroFiltroDuplicatiAbilitato = null;
  10508.     public boolean isCheckFromRegistroFiltroDuplicatiAbilitato(String implementazionePdDSoggetto){

  10509.         // ovverriding per implementazione porta di dominio
  10510.         if(this.pddReader!=null){
  10511.             String tipo = this.pddReader.getValidazione_FiltroDuplicatiLetturaRegistro(implementazionePdDSoggetto);
  10512.             if(tipo!=null && (
  10513.                     CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo) ||
  10514.                     CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo)  )
  10515.             ){
  10516.                 if(CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo))
  10517.                     return true;
  10518.                 else if(CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo))
  10519.                     return false;
  10520.             }
  10521.         }

  10522.         if(this.isCheckFromRegistroFiltroDuplicatiAbilitato==null){
  10523.             try{  
  10524.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.filtroDuplicati.letturaRegistro");

  10525.                 if (value != null){
  10526.                     value = value.trim();
  10527.                     this.isCheckFromRegistroFiltroDuplicatiAbilitato = Boolean.parseBoolean(value);
  10528.                 }else{
  10529.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.filtroDuplicati.letturaRegistro' non impostata, viene utilizzato il default=true");
  10530.                     this.isCheckFromRegistroFiltroDuplicatiAbilitato = true;
  10531.                 }

  10532.             }catch(java.lang.Exception e) {
  10533.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.filtroDuplicati.letturaRegistro' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  10534.                 this.isCheckFromRegistroFiltroDuplicatiAbilitato = true;
  10535.             }
  10536.         }

  10537.         return this.isCheckFromRegistroFiltroDuplicatiAbilitato;
  10538.     }

  10539.     /**
  10540.      * Indicazione se leggere dal registro se abilitato la gestione dei riscontri
  10541.      *  
  10542.      * @return Indicazione se leggere dal registro se abilitato la gestione dei riscontri
  10543.      *
  10544.      */
  10545.     private Boolean isCheckFromRegistroConfermaRicezioneAbilitato = null;
  10546.     public boolean isCheckFromRegistroConfermaRicezioneAbilitato(String implementazionePdDSoggetto){

  10547.         // ovverriding per implementazione porta di dominio
  10548.         if(this.pddReader!=null){
  10549.             String tipo = this.pddReader.getValidazione_ConfermaRicezioneLetturaRegistro(implementazionePdDSoggetto);
  10550.             if(tipo!=null && (
  10551.                     CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo) ||
  10552.                     CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo)  )
  10553.             ){
  10554.                 if(CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo))
  10555.                     return true;
  10556.                 else if(CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo))
  10557.                     return false;
  10558.             }
  10559.         }

  10560.         if(this.isCheckFromRegistroConfermaRicezioneAbilitato==null){
  10561.             try{  
  10562.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.confermaRicezione.letturaRegistro");

  10563.                 if (value != null){
  10564.                     value = value.trim();
  10565.                     this.isCheckFromRegistroConfermaRicezioneAbilitato = Boolean.parseBoolean(value);
  10566.                 }else{
  10567.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.confermaRicezione.letturaRegistro' non impostata, viene utilizzato il default=true");
  10568.                     this.isCheckFromRegistroConfermaRicezioneAbilitato = true;
  10569.                 }

  10570.             }catch(java.lang.Exception e) {
  10571.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.confermaRicezione.letturaRegistro' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  10572.                 this.isCheckFromRegistroConfermaRicezioneAbilitato = true;
  10573.             }
  10574.         }

  10575.         return this.isCheckFromRegistroConfermaRicezioneAbilitato;
  10576.     }

  10577.     /**
  10578.      * Indicazione se leggere dal registro se abilitato la consegna in ordine
  10579.      *  
  10580.      * @return Indicazione se leggere dal registro se abilitato la gestione dei riscontri
  10581.      *
  10582.      */
  10583.     private Boolean isCheckFromRegistroConsegnaInOrdineAbilitato = null;
  10584.     public boolean isCheckFromRegistroConsegnaInOrdineAbilitato(String implementazionePdDSoggetto){

  10585.         // ovverriding per implementazione porta di dominio
  10586.         if(this.pddReader!=null){
  10587.             String tipo = this.pddReader.getValidazione_ConsegnaInOrdineLetturaRegistro(implementazionePdDSoggetto);
  10588.             if(tipo!=null && (
  10589.                     CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo) ||
  10590.                     CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo)  )
  10591.             ){
  10592.                 if(CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo))
  10593.                     return true;
  10594.                 else if(CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo))
  10595.                     return false;
  10596.             }
  10597.         }

  10598.         if(this.isCheckFromRegistroConsegnaInOrdineAbilitato==null){
  10599.             try{  
  10600.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.consegnaInOrdine.letturaRegistro");

  10601.                 if (value != null){
  10602.                     value = value.trim();
  10603.                     this.isCheckFromRegistroConsegnaInOrdineAbilitato = Boolean.parseBoolean(value);
  10604.                 }else{
  10605.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.consegnaInOrdine.letturaRegistro' non impostata, viene utilizzato il default=true");
  10606.                     this.isCheckFromRegistroConsegnaInOrdineAbilitato = true;
  10607.                 }

  10608.             }catch(java.lang.Exception e) {
  10609.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.consegnaInOrdine.letturaRegistro' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  10610.                 this.isCheckFromRegistroConsegnaInOrdineAbilitato = true;
  10611.             }
  10612.         }

  10613.         return this.isCheckFromRegistroConsegnaInOrdineAbilitato;
  10614.     }

  10615.     /**
  10616.      * Indicazione se l'elemento collaborazione deve essere gestito
  10617.      *  
  10618.      * @return Indicazione se l'elemento collaborazione deve essere gestito
  10619.      *
  10620.      */
  10621.     private Boolean isGestioneElementoCollaborazione = null;
  10622.     public boolean isGestioneElementoCollaborazione(String implementazionePdDSoggetto){

  10623.         // ovverriding per implementazione porta di dominio
  10624.         if(this.pddReader!=null){
  10625.             String tipo = this.pddReader.getBusta_CollaborazioneEnable(implementazionePdDSoggetto);
  10626.             if(tipo!=null && (
  10627.                     CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo) ||
  10628.                     CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo)  )
  10629.             ){
  10630.                 if(CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo))
  10631.                     return true;
  10632.                 else
  10633.                     return false;
  10634.             }
  10635.         }

  10636.         if(this.isGestioneElementoCollaborazione==null){
  10637.             try{  
  10638.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.collaborazione.enable");

  10639.                 if (value != null){
  10640.                     value = value.trim();
  10641.                     this.isGestioneElementoCollaborazione = Boolean.parseBoolean(value);
  10642.                 }else{
  10643.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.collaborazione.enable' non impostata, viene utilizzato il default=true");
  10644.                     this.isGestioneElementoCollaborazione = true;
  10645.                 }

  10646.             }catch(java.lang.Exception e) {
  10647.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.collaborazione.enable' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  10648.                 this.isGestioneElementoCollaborazione = true;
  10649.             }
  10650.         }

  10651.         return this.isGestioneElementoCollaborazione;
  10652.     }
  10653.    
  10654.     private Boolean isGestioneElementoIdRiferimentoRichiesta = null;
  10655.     public boolean isGestioneElementoIdRiferimentoRichiesta(String implementazionePdDSoggetto){

  10656.         // ovverriding per implementazione porta di dominio
  10657.         if(this.pddReader!=null){
  10658.             String tipo = this.pddReader.getBusta_IdRiferimentoRichiestaEnable(implementazionePdDSoggetto);
  10659.             if(tipo!=null && (
  10660.                     CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo) ||
  10661.                     CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo)  )
  10662.             ){
  10663.                 if(CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo))
  10664.                     return true;
  10665.                 else
  10666.                     return false;
  10667.             }
  10668.         }

  10669.         if(this.isGestioneElementoIdRiferimentoRichiesta==null){
  10670.             try{  
  10671.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.idRiferimentoRichiesta.enable");

  10672.                 if (value != null){
  10673.                     value = value.trim();
  10674.                     this.isGestioneElementoIdRiferimentoRichiesta = Boolean.parseBoolean(value);
  10675.                 }else{
  10676.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.idRiferimentoRichiesta.enable' non impostata, viene utilizzato il default=true");
  10677.                     this.isGestioneElementoIdRiferimentoRichiesta = true;
  10678.                 }

  10679.             }catch(java.lang.Exception e) {
  10680.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.idRiferimentoRichiesta.enable' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  10681.                 this.isGestioneElementoIdRiferimentoRichiesta = true;
  10682.             }
  10683.         }

  10684.         return this.isGestioneElementoIdRiferimentoRichiesta;
  10685.     }

  10686.     /**
  10687.      * Indicazione se la funzionalita' di consegna in ordine deve essere gestita
  10688.      *  
  10689.      * @return Indicazione se la funzionalita' di consegna in ordine deve essere gestita
  10690.      *
  10691.      */
  10692.     private Boolean isGestioneConsegnaInOrdine = null;
  10693.     public boolean isGestioneConsegnaInOrdine(String implementazionePdDSoggetto){

  10694.         // ovverriding per implementazione porta di dominio
  10695.         if(this.pddReader!=null){
  10696.             String tipo = this.pddReader.getBusta_ConsegnaInOrdineEnable(implementazionePdDSoggetto);
  10697.             if(tipo!=null && (
  10698.                     CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo) ||
  10699.                     CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo)  )
  10700.             ){
  10701.                 if(CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo))
  10702.                     return true;
  10703.                 else
  10704.                     return false;
  10705.             }
  10706.         }

  10707.         if(this.isGestioneConsegnaInOrdine==null){
  10708.             try{  
  10709.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.consegnaInOrdine.enable");

  10710.                 if (value != null){
  10711.                     value = value.trim();
  10712.                     this.isGestioneConsegnaInOrdine = Boolean.parseBoolean(value);
  10713.                 }else{
  10714.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.consegnaInOrdine.enable' non impostata, viene utilizzato il default=true");
  10715.                     this.isGestioneConsegnaInOrdine = true;
  10716.                 }

  10717.             }catch(java.lang.Exception e) {
  10718.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.consegnaInOrdine.enable' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  10719.                 this.isGestioneConsegnaInOrdine = true;
  10720.             }
  10721.         }

  10722.         return this.isGestioneConsegnaInOrdine;
  10723.     }

  10724.     /**
  10725.      * Indicazione se la funzionalita' dei riscontri deve essere gestita
  10726.      *  
  10727.      * @return Indicazione se la funzionalita' dei riscontri deve essere gestita
  10728.      *
  10729.      */
  10730.     private Boolean isGestioneRiscontri = null;
  10731.     public boolean isGestioneRiscontri(String implementazionePdDSoggetto){

  10732.         // ovverriding per implementazione porta di dominio
  10733.         if(this.pddReader!=null){
  10734.             String tipo = this.pddReader.getBusta_RiscontriEnable(implementazionePdDSoggetto);
  10735.             if(tipo!=null && (
  10736.                     CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo) ||
  10737.                     CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo)  )
  10738.             ){
  10739.                 if(CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo))
  10740.                     return true;
  10741.                 else if(CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo))
  10742.                     return false;
  10743.             }
  10744.         }

  10745.         if(this.isGestioneRiscontri==null){
  10746.             try{  
  10747.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.riscontri.enable");

  10748.                 if (value != null){
  10749.                     value = value.trim();
  10750.                     this.isGestioneRiscontri = Boolean.parseBoolean(value);
  10751.                 }else{
  10752.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.riscontri.enable' non impostata, viene utilizzato il default=true");
  10753.                     this.isGestioneRiscontri = true;
  10754.                 }

  10755.             }catch(java.lang.Exception e) {
  10756.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.riscontri.enable' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  10757.                 this.isGestioneRiscontri = true;
  10758.             }
  10759.         }

  10760.         return this.isGestioneRiscontri;
  10761.     }
  10762.    
  10763.    

  10764.    
  10765.     /**
  10766.      * Validazione buste che possiedono attributi qualificati (default:false)
  10767.      * Lo schema della busta non permette attributi qualificati (attributeFormDefault="unqualified")
  10768.      * Se non si abilita la validazione 'rigida' (tramite schema xsd) e si abilita la seguente opzione, e' possibile far accettare/processare
  10769.      * alla porta di dominio anche buste che contengono attributi qualificati.
  10770.      *  
  10771.      * @return Indicazione se ritornare solo SoapFault o busteSPCoop in caso di buste con struttura malformata.
  10772.      *
  10773.      */
  10774.     private Boolean isReadQualifiedAttribute = null;
  10775.     public boolean isReadQualifiedAttribute(String implementazionePdDSoggetto){

  10776.         // ovverriding per implementazione porta di dominio
  10777.         if(this.pddReader!=null){
  10778.             String tipo = this.pddReader.getValidazione_readQualifiedAttribute(implementazionePdDSoggetto);
  10779.             if(tipo!=null && (
  10780.                     CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo) ||
  10781.                     CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo)  )
  10782.             ){
  10783.                 if(CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo))
  10784.                     return true;
  10785.                 else if(CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo))
  10786.                     return false;
  10787.             }
  10788.         }

  10789.         if(this.isReadQualifiedAttribute==null){
  10790.             try{  
  10791.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.validazione.readQualifiedAttribute");

  10792.                 if (value != null){
  10793.                     value = value.trim();
  10794.                     this.isReadQualifiedAttribute = Boolean.parseBoolean(value);
  10795.                 }else{
  10796.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.validazione.readQualifiedAttribute' non impostata, viene utilizzato il default=false");
  10797.                     this.isReadQualifiedAttribute = false;
  10798.                 }

  10799.             }catch(java.lang.Exception e) {
  10800.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.validazione.readQualifiedAttribute' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  10801.                 this.isReadQualifiedAttribute = false;
  10802.             }
  10803.         }

  10804.         return this.isReadQualifiedAttribute;
  10805.     }

  10806.    
  10807.     /**
  10808.      * Validazione buste che possiedono attributi qualificati (default:false)
  10809.      * Lo schema della busta non permette attributi qualificati (attributeFormDefault="unqualified")
  10810.      * Se non si abilita la validazione 'rigida' (tramite schema xsd) e si abilita la seguente opzione, e' possibile far accettare/processare
  10811.      * alla porta di dominio anche buste che contengono attributi qualificati.
  10812.      *  
  10813.      * @return Indicazione se ritornare solo SoapFault o busteSPCoop in caso di buste con struttura malformata.
  10814.      *
  10815.      */
  10816.     private Boolean isValidazioneIDBustaCompleta = null;
  10817.     public boolean isValidazioneIDBustaCompleta(String implementazionePdDSoggetto){

  10818.         // ovverriding per implementazione porta di dominio
  10819.         if(this.pddReader!=null){
  10820.             String tipo = this.pddReader.getValidazione_ValidazioneIDBustaCompleta(implementazionePdDSoggetto);
  10821.             if(tipo!=null && (
  10822.                     CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo) ||
  10823.                     CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo)  )
  10824.             ){
  10825.                 if(CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo))
  10826.                     return true;
  10827.                 else if(CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo))
  10828.                     return false;
  10829.             }
  10830.         }

  10831.         if(this.isValidazioneIDBustaCompleta==null){
  10832.             try{  
  10833.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.validazione.idbusta.validazioneCompleta");

  10834.                 if (value != null){
  10835.                     value = value.trim();
  10836.                     this.isValidazioneIDBustaCompleta = Boolean.parseBoolean(value);
  10837.                 }else{
  10838.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.validazione.idbusta.validazioneCompleta' non impostata, viene utilizzato il default=true");
  10839.                     this.isValidazioneIDBustaCompleta = true;
  10840.                 }

  10841.             }catch(java.lang.Exception e) {
  10842.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.validazione.idbusta.validazioneCompleta' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  10843.                 this.isValidazioneIDBustaCompleta = true;
  10844.             }
  10845.         }

  10846.         return this.isValidazioneIDBustaCompleta;
  10847.     }
  10848.    
  10849.     public ProprietaManifestAttachments getProprietaManifestAttachments(String implementazionePdDSoggetto){
  10850.         ProprietaManifestAttachments properties = new ProprietaManifestAttachments();
  10851.         properties.setReadQualifiedAttribute(this.isReadQualifiedAttribute(implementazionePdDSoggetto));
  10852.         return properties;
  10853.     }


  10854.     /**
  10855.      * Restituisce l'eventuale location del file govway.pdd.properties
  10856.      *
  10857.      * @return Restituisce la location del file govway.pdd.properties
  10858.      */
  10859.     private String filePddProperties = null;
  10860.     private boolean filePddPropertiesLetto = false;
  10861.     public String getLocationPddProperties() {
  10862.         if(this.filePddPropertiesLetto==false){
  10863.             try{
  10864.                 String name = null;
  10865.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.pddProperties");
  10866.                 if(name!=null){
  10867.                     name = name.trim();
  10868.                     this.filePddProperties = name;
  10869.                 }
  10870.                 this.filePddPropertiesLetto= true;
  10871.             }catch(java.lang.Exception e) {
  10872.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.protocol.pddProperties': "+e.getMessage(),e);
  10873.                 this.filePddProperties = null;
  10874.             }              
  10875.         }

  10876.         return this.filePddProperties;
  10877.     }






  10878.     /* ********  INTEGRAZIONE  ******** */

  10879.     /**
  10880.      * Restituisce l'elenco dei tipi di integrazione da gestire lato PortaDelegata
  10881.      *
  10882.      * @return  Restituisce l'elenco dei tipi di integrazione da gestire lato PortaDelegata
  10883.      */
  10884.     private String[] tipoIntegrazionePD = null;
  10885.     private boolean tipoIntegrazionePDRead = false;
  10886.     public String[] getTipoIntegrazionePD() {
  10887.         if(!this.tipoIntegrazionePDRead){
  10888.             try{  
  10889.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.tipo.pd");
  10890.                 if(value==null)
  10891.                     throw new CoreException(NON_DEFINITA);
  10892.                 value = value.trim();
  10893.                 String [] r = value.split(",");
  10894.                 this.tipoIntegrazionePD = r;

  10895.             }catch(java.lang.Exception e) {
  10896.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.tipo.pd': "+e.getMessage(),e);
  10897.                 this.tipoIntegrazionePD = null;
  10898.             }
  10899.             this.tipoIntegrazionePDRead = true;
  10900.         }

  10901.         return this.tipoIntegrazionePD;
  10902.     }
  10903.     /**
  10904.      * Restituisce l'elenco dei tipi di integrazione da gestire lato PortaApplicativa
  10905.      *
  10906.      * @return  Restituisce l'elenco dei tipi di integrazione da gestire lato PortaApplicativa
  10907.      */
  10908.     private String[] tipoIntegrazionePA = null;
  10909.     private boolean tipoIntegrazionePARead = false;
  10910.     public String[] getTipoIntegrazionePA() {
  10911.         if(!this.tipoIntegrazionePARead){
  10912.             try{
  10913.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.tipo.pa");
  10914.                 if(value==null)
  10915.                     throw new CoreException(NON_DEFINITA);
  10916.                 value = value.trim();
  10917.                 String [] r = value.split(",");
  10918.                 this.tipoIntegrazionePA = r;
  10919.             }catch(java.lang.Exception e) {
  10920.                 this.logError("Riscontrato errore durante la lettura dei tipi di integrazione tra porta di dominio e servizio applicativo 'org.openspcoop2.pdd.integrazione.tipo.pa': "+e.getMessage(),e);
  10921.                 this.tipoIntegrazionePA = null;
  10922.             }  
  10923.             this.tipoIntegrazionePARead = true;
  10924.         }

  10925.         return this.tipoIntegrazionePA;
  10926.     }
  10927.    
  10928.     /**
  10929.      * Restituisce l'elenco dei tipi di integrazione da gestire lato PortaDelegata specifici per protocollo
  10930.      *
  10931.      * @return  Restituisce l'elenco dei tipi di integrazione da gestire lato PortaDelegata specifici per protocollo
  10932.      */
  10933.     private Map<String, String[]> tipoIntegrazionePD_perProtocollo = new HashMap<>();
  10934.     private Map<String, Boolean> tipoIntegrazionePD_perProtocollo_notExists = new HashMap<>();
  10935.     public String[] getTipoIntegrazionePD(String protocollo) {
  10936.        
  10937.         if(
  10938.             (!this.tipoIntegrazionePD_perProtocollo.containsKey(protocollo))
  10939.             &&
  10940.             (!this.tipoIntegrazionePD_perProtocollo_notExists.containsKey(protocollo))
  10941.         ){
  10942.             try{  
  10943.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.tipo.pd."+protocollo);
  10944.                 if(value==null){
  10945.                     this.tipoIntegrazionePD_perProtocollo_notExists.put(protocollo, false);
  10946.                 }
  10947.                 else{
  10948.                     value = value.trim();
  10949.                     String [] r = value.split(",");
  10950.                     this.tipoIntegrazionePD_perProtocollo.put(protocollo, r);
  10951.                 }

  10952.             }catch(java.lang.Exception e) {
  10953.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.tipo.pd."+protocollo+"': "+e.getMessage(),e);
  10954.             }
  10955.         }

  10956.         if(this.tipoIntegrazionePD_perProtocollo.containsKey(protocollo)){
  10957.             return this.tipoIntegrazionePD_perProtocollo.get(protocollo);
  10958.         }else{
  10959.             return null;
  10960.         }
  10961.     }
  10962.    
  10963.     /**
  10964.      * Restituisce l'elenco dei tipi di integrazione da gestire lato PortaApplicativa specifici per protocollo
  10965.      *
  10966.      * @return  Restituisce l'elenco dei tipi di integrazione da gestire lato PortaApplicativa specifici per protocollo
  10967.      */
  10968.     private Map<String, String[]> tipoIntegrazionePA_perProtocollo = new HashMap<>();
  10969.     private Map<String, Boolean> tipoIntegrazionePA_perProtocollo_notExists = new HashMap<>();
  10970.     public String[] getTipoIntegrazionePA(String protocollo) {
  10971.        
  10972.         if(
  10973.             (!this.tipoIntegrazionePA_perProtocollo.containsKey(protocollo))
  10974.             &&
  10975.             (!this.tipoIntegrazionePA_perProtocollo_notExists.containsKey(protocollo))
  10976.         ){
  10977.             try{  
  10978.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.tipo.pa."+protocollo);
  10979.                 if(value==null){
  10980.                     this.tipoIntegrazionePA_perProtocollo_notExists.put(protocollo, false);
  10981.                 }
  10982.                 else{
  10983.                     value = value.trim();
  10984.                     String [] r = value.split(",");
  10985.                     this.tipoIntegrazionePA_perProtocollo.put(protocollo, r);
  10986.                 }

  10987.             }catch(java.lang.Exception e) {
  10988.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.tipo.pa."+protocollo+"': "+e.getMessage(),e);
  10989.             }
  10990.         }

  10991.         if(this.tipoIntegrazionePA_perProtocollo.containsKey(protocollo)){
  10992.             return this.tipoIntegrazionePA_perProtocollo.get(protocollo);
  10993.         }else{
  10994.             return null;
  10995.         }
  10996.     }
  10997.    

  10998.     /**
  10999.      * Compatibilita integrazione asincroni con versioni precedenti a 1.4
  11000.      * L'indicazione dell'id per la correlazione asincrona poteva essere fornita,
  11001.      * oltre che tramite il riferimentoMessaggio, anche tramite l'elemento idCollaborazione.
  11002.      * Tale funzionalita' e' disabilitata per default dalla versione 1.4
  11003.      * Se si desidera riabilitarla e' possibile agire sulla proprieta': org.openspcoop2.pdd.integrazione.asincroni.idCollaborazione.enabled
  11004.      * Questo metodo restituisce l'indicazione se tale proprieta' e' abilitata.
  11005.      *  
  11006.      * @return Restituisce l'indicazione se la proprieta' org.openspcoop2.pdd.integrazione.asincroni.idCollaborazione.enabled e' abilitata.
  11007.      *
  11008.      */
  11009.     private Boolean isIntegrazioneAsincroniConIdCollaborazioneEnabled = null;
  11010.     public boolean isIntegrazioneAsincroniConIdCollaborazioneEnabled(){
  11011.         if(this.isIntegrazioneAsincroniConIdCollaborazioneEnabled==null){
  11012.             try{  
  11013.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.asincroni.idCollaborazione.enabled");

  11014.                 if (value != null){
  11015.                     value = value.trim();
  11016.                     this.isIntegrazioneAsincroniConIdCollaborazioneEnabled = Boolean.parseBoolean(value);
  11017.                 }else{
  11018.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.asincroni.idCollaborazione.enabled' non impostata, viene utilizzato il default=false");
  11019.                     this.isIntegrazioneAsincroniConIdCollaborazioneEnabled = false;
  11020.                 }

  11021.             }catch(java.lang.Exception e) {
  11022.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.asincroni.idCollaborazione.enabled' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  11023.                 this.isIntegrazioneAsincroniConIdCollaborazioneEnabled = false;
  11024.             }
  11025.         }

  11026.         return this.isIntegrazioneAsincroniConIdCollaborazioneEnabled;
  11027.     }
  11028.    
  11029.     private Map<String, String> newOldMapping_backward_compatibility_trasparente_soggetto = null;
  11030.     public Map<String, String> getNewOldMapping_backward_compatibility_trasparente_soggetto() {
  11031.         if(this.newOldMapping_backward_compatibility_trasparente_soggetto==null){
  11032.             String pName = "org.openspcoop2.pdd.integrazione.backward_compatibility.trasparente.soggetto.tipo.";
  11033.             try{
  11034.                 Properties p = this.reader.readPropertiesConvertEnvProperties(pName);
  11035.                 this.newOldMapping_backward_compatibility_trasparente_soggetto=new HashMap<>();
  11036.                 if(p!=null && !p.isEmpty()) {
  11037.                     for (Object oKey : p.keySet()) {
  11038.                         if(oKey!=null && oKey instanceof String) {
  11039.                             String key = (String) oKey;
  11040.                             String old = p.getProperty(key);
  11041.                             this.newOldMapping_backward_compatibility_trasparente_soggetto.put(key, old);
  11042.                         }
  11043.                     }
  11044.                 }
  11045.             }catch(java.lang.Exception e) {
  11046.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+pName+"*': "+e.getMessage(),e);
  11047.                 this.newOldMapping_backward_compatibility_trasparente_soggetto = null;
  11048.             }    
  11049.         }

  11050.         return this.newOldMapping_backward_compatibility_trasparente_soggetto;
  11051.     }
  11052.     private Map<String, String> newOldMapping_backward_compatibility_trasparente_servizio = null;
  11053.     public Map<String, String> getNewOldMapping_backward_compatibility_trasparente_servizio() {
  11054.         if(this.newOldMapping_backward_compatibility_trasparente_servizio==null){
  11055.             String pName = "org.openspcoop2.pdd.integrazione.backward_compatibility.trasparente.servizio.tipo.";
  11056.             try{
  11057.                 Properties p = this.reader.readPropertiesConvertEnvProperties(pName);
  11058.                 this.newOldMapping_backward_compatibility_trasparente_servizio=new HashMap<>();
  11059.                 if(p!=null && !p.isEmpty()) {
  11060.                     for (Object oKey : p.keySet()) {
  11061.                         if(oKey!=null && oKey instanceof String) {
  11062.                             String key = (String) oKey;
  11063.                             String old = p.getProperty(key);
  11064.                             this.newOldMapping_backward_compatibility_trasparente_servizio.put(key, old);
  11065.                         }
  11066.                     }
  11067.                 }
  11068.             }catch(java.lang.Exception e) {
  11069.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+pName+"*': "+e.getMessage(),e);
  11070.                 this.newOldMapping_backward_compatibility_trasparente_servizio = null;
  11071.             }    
  11072.         }

  11073.         return this.newOldMapping_backward_compatibility_trasparente_servizio;
  11074.     }

  11075.     private Map<String, String> newOldMapping_backward_compatibility_spcoop_soggetto = null;
  11076.     public Map<String, String> getNewOldMapping_backward_compatibility_spcoop_soggetto() {  
  11077.         if(this.newOldMapping_backward_compatibility_spcoop_soggetto==null){
  11078.             String pName = "org.openspcoop2.pdd.integrazione.backward_compatibility.spcoop.soggetto.tipo.";
  11079.             try{
  11080.                 Properties p = this.reader.readPropertiesConvertEnvProperties(pName);
  11081.                 this.newOldMapping_backward_compatibility_spcoop_soggetto=new HashMap<>();
  11082.                 if(p!=null && !p.isEmpty()) {
  11083.                     for (Object oKey : p.keySet()) {
  11084.                         if(oKey!=null && oKey instanceof String) {
  11085.                             String key = (String) oKey;
  11086.                             String old = p.getProperty(key);
  11087.                             this.newOldMapping_backward_compatibility_spcoop_soggetto.put(key, old);
  11088.                         }
  11089.                     }
  11090.                 }
  11091.             }catch(java.lang.Exception e) {
  11092.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+pName+"*': "+e.getMessage(),e);
  11093.                 this.newOldMapping_backward_compatibility_spcoop_soggetto = null;
  11094.             }    
  11095.         }

  11096.         return this.newOldMapping_backward_compatibility_spcoop_soggetto;
  11097.     }
  11098.     private Map<String, String> newOldMapping_backward_compatibility_spcoop_servizio = null;
  11099.     public Map<String, String> getNewOldMapping_backward_compatibility_spcoop_servizio() {  
  11100.         if(this.newOldMapping_backward_compatibility_spcoop_servizio==null){
  11101.             String pName = "org.openspcoop2.pdd.integrazione.backward_compatibility.spcoop.servizio.tipo.";
  11102.             try{
  11103.                 Properties p = this.reader.readPropertiesConvertEnvProperties(pName);
  11104.                 this.newOldMapping_backward_compatibility_spcoop_servizio=new HashMap<>();
  11105.                 if(p!=null && !p.isEmpty()) {
  11106.                     for (Object oKey : p.keySet()) {
  11107.                         if(oKey!=null && oKey instanceof String) {
  11108.                             String key = (String) oKey;
  11109.                             String old = p.getProperty(key);
  11110.                             this.newOldMapping_backward_compatibility_spcoop_servizio.put(key, old);
  11111.                         }
  11112.                     }
  11113.                 }
  11114.             }catch(java.lang.Exception e) {
  11115.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+pName+"*': "+e.getMessage(),e);
  11116.                 this.newOldMapping_backward_compatibility_spcoop_servizio = null;
  11117.             }    
  11118.         }

  11119.         return this.newOldMapping_backward_compatibility_spcoop_servizio;
  11120.     }
  11121.    
  11122.     private Map<String, String> newOldMapping_backward_compatibility_sdi_soggetto = null;
  11123.     public Map<String, String> getNewOldMapping_backward_compatibility_sdi_soggetto() {
  11124.         if(this.newOldMapping_backward_compatibility_sdi_soggetto==null){
  11125.             String pName = "org.openspcoop2.pdd.integrazione.backward_compatibility.sdi.soggetto.tipo.";
  11126.             try{
  11127.                 Properties p = this.reader.readPropertiesConvertEnvProperties(pName);
  11128.                 this.newOldMapping_backward_compatibility_sdi_soggetto=new HashMap<>();
  11129.                 if(p!=null && !p.isEmpty()) {
  11130.                     for (Object oKey : p.keySet()) {
  11131.                         if(oKey!=null && oKey instanceof String) {
  11132.                             String key = (String) oKey;
  11133.                             String old = p.getProperty(key);
  11134.                             this.newOldMapping_backward_compatibility_sdi_soggetto.put(key, old);
  11135.                         }
  11136.                     }
  11137.                 }
  11138.             }catch(java.lang.Exception e) {
  11139.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+pName+"*': "+e.getMessage(),e);
  11140.                 this.newOldMapping_backward_compatibility_sdi_soggetto = null;
  11141.             }    
  11142.         }

  11143.         return this.newOldMapping_backward_compatibility_sdi_soggetto;
  11144.     }
  11145.     private Map<String, String> newOldMapping_backward_compatibility_sdi_servizio = null;
  11146.     public Map<String, String> getNewOldMapping_backward_compatibility_sdi_servizio() {
  11147.         if(this.newOldMapping_backward_compatibility_sdi_servizio==null){
  11148.             String pName = "org.openspcoop2.pdd.integrazione.backward_compatibility.sdi.servizio.tipo.";
  11149.             try{
  11150.                 Properties p = this.reader.readPropertiesConvertEnvProperties(pName);
  11151.                 this.newOldMapping_backward_compatibility_sdi_servizio=new HashMap<>();
  11152.                 if(p!=null && !p.isEmpty()) {
  11153.                     for (Object oKey : p.keySet()) {
  11154.                         if(oKey!=null && oKey instanceof String) {
  11155.                             String key = (String) oKey;
  11156.                             String old = p.getProperty(key);
  11157.                             this.newOldMapping_backward_compatibility_sdi_servizio.put(key, old);
  11158.                         }
  11159.                     }
  11160.                 }
  11161.             }catch(java.lang.Exception e) {
  11162.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+pName+"*': "+e.getMessage(),e);
  11163.                 this.newOldMapping_backward_compatibility_sdi_servizio = null;
  11164.             }    
  11165.         }

  11166.         return this.newOldMapping_backward_compatibility_sdi_servizio;
  11167.     }
  11168.    
  11169.    


  11170.     private <T> Map<MapKey<String>, T> _convertMapToCostantiIntegrazione(Map<String, T> map) throws CoreException{
  11171.         List<MapKey<String>> keywordsIntegrazione = getKeywordsIntegrazioneEngine(true);
  11172.         Map<MapKey<String>, T> newMap = new HashMap<MapKey<String>, T>();
  11173.         for (String key : map.keySet()) {
  11174.             boolean find = false;
  11175.             for (MapKey<String> mapKey : keywordsIntegrazione) {
  11176.                 if(key.equals(mapKey.getValue())){
  11177.                     newMap.put(mapKey, map.get(key));
  11178.                     find = true;
  11179.                 }
  11180.             }
  11181.             if(!find) {
  11182.                 throw new CoreException("Chiave '"+key+"' sconosciuta, non risulta essere una keyword di integrazione");
  11183.             }
  11184.         }
  11185.         return newMap;
  11186.     }
  11187.    
  11188.     /**
  11189.      * Restituisce le proprieta' che identificano gli header di integrazione in caso di 'trasporto'
  11190.      *
  11191.      * @return Restituisce le proprieta' che identificano gli header di integrazione in caso di 'trasporto'
  11192.      *  
  11193.      */
  11194.     private Map<MapKey<String>, String> keyValue_HeaderIntegrazioneTrasporto = null;
  11195.     public Map<MapKey<String>, String> getKeyValue_HeaderIntegrazioneTrasporto() {  
  11196.         if(this.keyValue_HeaderIntegrazioneTrasporto==null){

  11197.             try{

  11198.                 this.keyValue_HeaderIntegrazioneTrasporto = _convertMapToCostantiIntegrazione(this.reader.readPropertiesAsHashMapConvertEnvProperties("org.openspcoop2.pdd.integrazione.trasporto.keyword."));
  11199.            
  11200.             }catch(java.lang.Exception e) {
  11201.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.trasporto.keyword.*': "+e.getMessage(),e);
  11202.                 this.keyValue_HeaderIntegrazioneTrasporto = null;
  11203.             }    
  11204.         }

  11205.         return this.keyValue_HeaderIntegrazioneTrasporto;
  11206.     }
  11207.    
  11208.     private Map<MapKey<String>, String> keyValue_HeaderIntegrazioneTrasporto_backwardCompatibility_openspcoop2 = null;
  11209.     public Map<MapKey<String>, String> getKeyValue_HeaderIntegrazioneTrasporto_backwardCompatibility_openspcoop2() {    
  11210.         if(this.keyValue_HeaderIntegrazioneTrasporto_backwardCompatibility_openspcoop2==null){

  11211.             try{

  11212.                 this.keyValue_HeaderIntegrazioneTrasporto_backwardCompatibility_openspcoop2 =
  11213.                         _convertMapToCostantiIntegrazione(
  11214.                                 this.reader.readPropertiesAsHashMapConvertEnvProperties("org.openspcoop2.pdd.integrazione.backward_compatibility.openspcoop2.trasporto.keyword."));
  11215.                
  11216.             }catch(java.lang.Exception e) {
  11217.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.backward_compatibility.openspcoop2.trasporto.keyword.*': "+e.getMessage(),e);
  11218.                 this.keyValue_HeaderIntegrazioneTrasporto_backwardCompatibility_openspcoop2 = null;
  11219.             }    
  11220.         }

  11221.         return this.keyValue_HeaderIntegrazioneTrasporto_backwardCompatibility_openspcoop2;
  11222.     }
  11223.    
  11224.     private Map<MapKey<String>, String> keyValue_HeaderIntegrazioneTrasporto_backwardCompatibility_openspcoop1 = null;
  11225.     public Map<MapKey<String>, String> getKeyValue_HeaderIntegrazioneTrasporto_backwardCompatibility_openspcoop1() {    
  11226.         if(this.keyValue_HeaderIntegrazioneTrasporto_backwardCompatibility_openspcoop1==null){

  11227.             try{

  11228.                 this.keyValue_HeaderIntegrazioneTrasporto_backwardCompatibility_openspcoop1 =  
  11229.                         _convertMapToCostantiIntegrazione(
  11230.                                 this.reader.readPropertiesAsHashMapConvertEnvProperties("org.openspcoop2.pdd.integrazione.backward_compatibility.openspcoop1.trasporto.keyword."));
  11231.                
  11232.             }catch(java.lang.Exception e) {
  11233.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.backward_compatibility.openspcoop1.trasporto.keyword.*': "+e.getMessage(),e);
  11234.                 this.keyValue_HeaderIntegrazioneTrasporto_backwardCompatibility_openspcoop1 = null;
  11235.             }    
  11236.         }

  11237.         return this.keyValue_HeaderIntegrazioneTrasporto_backwardCompatibility_openspcoop1;
  11238.     }
  11239.    
  11240.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneTrasporto_setPD_request = null;
  11241.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneTrasporto_setPD_response = null;
  11242.     public Map<MapKey<String>, Boolean> getKeyPDSetEnabled_HeaderIntegrazioneTrasporto(boolean request) throws CoreException {  
  11243.                
  11244.         if( (request && this.keyValue_HeaderIntegrazioneTrasporto_setPD_request==null)
  11245.             ||
  11246.             (!request && this.keyValue_HeaderIntegrazioneTrasporto_setPD_response==null)
  11247.             ){

  11248.             String pName = "org.openspcoop2.pdd.integrazione.trasporto.pd.set.request.enabled.";
  11249.             if(!request) {
  11250.                 pName = "org.openspcoop2.pdd.integrazione.trasporto.pd.set.response.enabled.";
  11251.             }
  11252.            
  11253.             java.util.Properties prop = new java.util.Properties();
  11254.             try{

  11255.                 prop = this.reader.readPropertiesConvertEnvProperties(pName);
  11256.                 Map<String, Boolean> _tmp = new HashMap<>();
  11257.                 Iterator<?> it = prop.keySet().iterator();
  11258.                 while (it.hasNext()) {
  11259.                     Object object = (Object) it.next();
  11260.                     if(object instanceof String) {
  11261.                         String key = (String) object;
  11262.                         String value = prop.getProperty(key);
  11263.                         try {
  11264.                             boolean b = Boolean.parseBoolean(value);
  11265.                             _tmp.put(key, b);
  11266.                         }catch(Exception e) {
  11267.                             throw new CoreException("Rilevato errore durante il parsing della property '"+pName+"."+key+"' (atteso: true/false): "+e.getMessage(),e);
  11268.                         }
  11269.                     }
  11270.                 }
  11271.                 if(request) {
  11272.                     this.keyValue_HeaderIntegrazioneTrasporto_setPD_request = _convertMapToCostantiIntegrazione(_tmp);
  11273.                 }
  11274.                 else {
  11275.                     this.keyValue_HeaderIntegrazioneTrasporto_setPD_response = _convertMapToCostantiIntegrazione(_tmp);
  11276.                 }
  11277.                
  11278.             }catch(java.lang.Exception e) {
  11279.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+pName+PROPERTY_START_SUFFIX_ERRORE+e.getMessage(),e);
  11280.                 throw new CoreException(e.getMessage(),e);
  11281.             }    
  11282.         }

  11283.         if(request) {
  11284.             return this.keyValue_HeaderIntegrazioneTrasporto_setPD_request;
  11285.         }
  11286.         else {
  11287.             return this.keyValue_HeaderIntegrazioneTrasporto_setPD_response;
  11288.         }
  11289.     }
  11290.    
  11291.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneTrasporto_readPD = null;
  11292.     public Map<MapKey<String>, Boolean> getKeyPDReadEnabled_HeaderIntegrazioneTrasporto() throws CoreException {    
  11293.         if(this.keyValue_HeaderIntegrazioneTrasporto_readPD==null){

  11294.             java.util.Properties prop = new java.util.Properties();
  11295.             try{

  11296.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.integrazione.trasporto.pd.read.enabled.");
  11297.                 Map<String, Boolean> _tmp = new HashMap<>();
  11298.                 Iterator<?> it = prop.keySet().iterator();
  11299.                 while (it.hasNext()) {
  11300.                     Object object = (Object) it.next();
  11301.                     if(object instanceof String) {
  11302.                         String key = (String) object;
  11303.                         String value = prop.getProperty(key);
  11304.                         try {
  11305.                             boolean b = Boolean.parseBoolean(value);
  11306.                             _tmp.put(key, b);
  11307.                         }catch(Exception e) {
  11308.                             throw new CoreException("Rilevato errore durante il parsing della property 'org.openspcoop2.pdd.integrazione.trasporto.pd.read.enabled."+key+"' (atteso: true/false): "+e.getMessage(),e);
  11309.                         }
  11310.                     }
  11311.                 }
  11312.                 this.keyValue_HeaderIntegrazioneTrasporto_readPD = _convertMapToCostantiIntegrazione(_tmp);
  11313.                
  11314.             }catch(java.lang.Exception e) {
  11315.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.trasporto.pd.read.enabled.*': "+e.getMessage(),e);
  11316.                 throw new CoreException(e.getMessage(),e);
  11317.             }    
  11318.         }

  11319.         return this.keyValue_HeaderIntegrazioneTrasporto_readPD;
  11320.     }
  11321.    
  11322.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneTrasporto_setPA_request = null;
  11323.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneTrasporto_setPA_response = null;
  11324.     public Map<MapKey<String>, Boolean> getKeyPASetEnabled_HeaderIntegrazioneTrasporto(boolean request) throws CoreException {
  11325.                
  11326.         if( (request && this.keyValue_HeaderIntegrazioneTrasporto_setPA_request==null)
  11327.                 ||
  11328.                 (!request && this.keyValue_HeaderIntegrazioneTrasporto_setPA_response==null)
  11329.                 ){

  11330.             String pName = "org.openspcoop2.pdd.integrazione.trasporto.pa.set.request.enabled.";
  11331.             if(!request) {
  11332.                 pName = "org.openspcoop2.pdd.integrazione.trasporto.pa.set.response.enabled.";
  11333.             }
  11334.            
  11335.             java.util.Properties prop = new java.util.Properties();
  11336.             try{

  11337.                 prop = this.reader.readPropertiesConvertEnvProperties(pName);
  11338.                 Map<String, Boolean> _tmp = new HashMap<>();
  11339.                 Iterator<?> it = prop.keySet().iterator();
  11340.                 while (it.hasNext()) {
  11341.                     Object object = (Object) it.next();
  11342.                     if(object instanceof String) {
  11343.                         String key = (String) object;
  11344.                         String value = prop.getProperty(key);
  11345.                         try {
  11346.                             boolean b = Boolean.parseBoolean(value);
  11347.                             //if(request) {
  11348.                             //  _tmp.put(key, b);
  11349.                             //}
  11350.                             //else {
  11351.                             _tmp.put(key, b);
  11352.                             //}
  11353.                         }catch(Exception e) {
  11354.                             throw new CoreException("Rilevato errore durante il parsing della property '"+pName+"."+key+"' (atteso: true/false): "+e.getMessage(),e);
  11355.                         }
  11356.                     }
  11357.                 }
  11358.                 if(request) {
  11359.                     this.keyValue_HeaderIntegrazioneTrasporto_setPA_request = _convertMapToCostantiIntegrazione(_tmp);
  11360.                 }
  11361.                 else {
  11362.                     this.keyValue_HeaderIntegrazioneTrasporto_setPA_response = _convertMapToCostantiIntegrazione(_tmp);
  11363.                 }
  11364.                
  11365.             }catch(java.lang.Exception e) {
  11366.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+pName+PROPERTY_START_SUFFIX_ERRORE+e.getMessage(),e);
  11367.                 throw new CoreException(e.getMessage(),e);
  11368.             }    
  11369.         }

  11370.         if(request) {
  11371.             return this.keyValue_HeaderIntegrazioneTrasporto_setPA_request;
  11372.         }
  11373.         else {
  11374.             return this.keyValue_HeaderIntegrazioneTrasporto_setPA_response;
  11375.         }
  11376.     }
  11377.    
  11378.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneTrasporto_readPA = null;
  11379.     public Map<MapKey<String>, Boolean> getKeyPAReadEnabled_HeaderIntegrazioneTrasporto() throws CoreException {    
  11380.         if(this.keyValue_HeaderIntegrazioneTrasporto_readPA==null){

  11381.             java.util.Properties prop = new java.util.Properties();
  11382.             try{

  11383.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.integrazione.trasporto.pa.read.enabled.");
  11384.                 Map<String, Boolean> _tmp = new HashMap<>();
  11385.                 Iterator<?> it = prop.keySet().iterator();
  11386.                 while (it.hasNext()) {
  11387.                     Object object = (Object) it.next();
  11388.                     if(object instanceof String) {
  11389.                         String key = (String) object;
  11390.                         String value = prop.getProperty(key);
  11391.                         try {
  11392.                             boolean b = Boolean.parseBoolean(value);
  11393.                             _tmp.put(key, b);
  11394.                         }catch(Exception e) {
  11395.                             throw new CoreException("Rilevato errore durante il parsing della property 'org.openspcoop2.pdd.integrazione.trasporto.pa.read.enabled."+key+"' (atteso: true/false): "+e.getMessage(),e);
  11396.                         }
  11397.                     }
  11398.                 }
  11399.                 this.keyValue_HeaderIntegrazioneTrasporto_readPA = _convertMapToCostantiIntegrazione(_tmp);
  11400.                                
  11401.             }catch(java.lang.Exception e) {
  11402.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.trasporto.pa.read.enabled.*': "+e.getMessage(),e);
  11403.                 throw new CoreException(e.getMessage(),e);
  11404.             }    
  11405.         }

  11406.         return this.keyValue_HeaderIntegrazioneTrasporto_readPA;
  11407.     }
  11408.    
  11409.     /**
  11410.      * Restituisce le proprieta' che identificano gli header di integrazione in caso di 'urlBased'.
  11411.      *
  11412.      * @return Restituisce le proprieta' che identificano gli header di integrazione in caso di 'urlBased'.
  11413.      *  
  11414.      */
  11415.     private Map<MapKey<String>, String> keyValue_HeaderIntegrazioneUrlBased = null;
  11416.     public Map<MapKey<String>, String> getKeyValue_HeaderIntegrazioneUrlBased() {  
  11417.         if(this.keyValue_HeaderIntegrazioneUrlBased==null){

  11418.             try{

  11419.                 this.keyValue_HeaderIntegrazioneUrlBased =
  11420.                         _convertMapToCostantiIntegrazione(
  11421.                                 this.reader.readPropertiesAsHashMapConvertEnvProperties("org.openspcoop2.pdd.integrazione.urlBased.keyword."));
  11422.                
  11423.             }catch(java.lang.Exception e) {
  11424.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.urlBased.keyword.*': "+e.getMessage(),e);
  11425.                 this.keyValue_HeaderIntegrazioneUrlBased = null;
  11426.             }    
  11427.         }

  11428.         return this.keyValue_HeaderIntegrazioneUrlBased;
  11429.     }
  11430.    
  11431.     private Map<MapKey<String>, String> keyValue_HeaderIntegrazioneUrlBased_backwardCompatibility_openspcoop2 = null;
  11432.     public Map<MapKey<String>, String> getKeyValue_HeaderIntegrazioneUrlBased_backwardCompatibility_openspcoop2() {
  11433.         if(this.keyValue_HeaderIntegrazioneUrlBased_backwardCompatibility_openspcoop2==null){

  11434.             try{

  11435.                 this.keyValue_HeaderIntegrazioneUrlBased_backwardCompatibility_openspcoop2 =  
  11436.                         _convertMapToCostantiIntegrazione(
  11437.                                 this.reader.readPropertiesAsHashMapConvertEnvProperties("org.openspcoop2.pdd.integrazione.backward_compatibility.openspcoop2.urlBased.keyword."));
  11438.                
  11439.             }catch(java.lang.Exception e) {
  11440.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.backward_compatibility.openspcoop2.urlBased.keyword.*': "+e.getMessage(),e);
  11441.                 this.keyValue_HeaderIntegrazioneUrlBased_backwardCompatibility_openspcoop2 = null;
  11442.             }    
  11443.         }

  11444.         return this.keyValue_HeaderIntegrazioneUrlBased_backwardCompatibility_openspcoop2;
  11445.     }
  11446.    
  11447.     private Map<MapKey<String>, String> keyValue_HeaderIntegrazioneUrlBased_backwardCompatibility_openspcoop1 = null;
  11448.     public Map<MapKey<String>, String> getKeyValue_HeaderIntegrazioneUrlBased_backwardCompatibility_openspcoop1() {
  11449.         if(this.keyValue_HeaderIntegrazioneUrlBased_backwardCompatibility_openspcoop1==null){

  11450.             try{

  11451.                 this.keyValue_HeaderIntegrazioneUrlBased_backwardCompatibility_openspcoop1 =  
  11452.                         _convertMapToCostantiIntegrazione(
  11453.                                 this.reader.readPropertiesAsHashMapConvertEnvProperties("org.openspcoop2.pdd.integrazione.backward_compatibility.openspcoop1.urlBased.keyword."));
  11454.                
  11455.             }catch(java.lang.Exception e) {
  11456.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.backward_compatibility.openspcoop1.urlBased.keyword.*': "+e.getMessage(),e);
  11457.                 this.keyValue_HeaderIntegrazioneUrlBased_backwardCompatibility_openspcoop1 = null;
  11458.             }    
  11459.         }

  11460.         return this.keyValue_HeaderIntegrazioneUrlBased_backwardCompatibility_openspcoop1;
  11461.     }
  11462.    
  11463.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneUrlBased_setPD = null;
  11464.     public Map<MapKey<String>, Boolean> getKeyPDSetEnabled_HeaderIntegrazioneUrlBased() throws CoreException {  
  11465.         if(this.keyValue_HeaderIntegrazioneUrlBased_setPD==null){

  11466.             java.util.Properties prop = new java.util.Properties();
  11467.             try{

  11468.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.integrazione.urlBased.pd.set.request.enabled.");
  11469.                 Map<String, Boolean> _tmp = new HashMap<>();
  11470.                 Iterator<?> it = prop.keySet().iterator();
  11471.                 while (it.hasNext()) {
  11472.                     Object object = (Object) it.next();
  11473.                     if(object instanceof String) {
  11474.                         String key = (String) object;
  11475.                         String value = prop.getProperty(key);
  11476.                         try {
  11477.                             boolean b = Boolean.parseBoolean(value);
  11478.                             _tmp.put(key, b);
  11479.                         }catch(Exception e) {
  11480.                             throw new CoreException("Rilevato errore durante il parsing della property 'org.openspcoop2.pdd.integrazione.urlBased.pd.set.request.enabled."+key+"' (atteso: true/false): "+e.getMessage(),e);
  11481.                         }
  11482.                     }
  11483.                 }
  11484.                 this.keyValue_HeaderIntegrazioneUrlBased_setPD = _convertMapToCostantiIntegrazione(_tmp);
  11485.                
  11486.             }catch(java.lang.Exception e) {
  11487.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.urlBased.pd.set.request.enabled*': "+e.getMessage(),e);
  11488.                 throw new CoreException(e.getMessage(),e);
  11489.             }    
  11490.         }

  11491.         return this.keyValue_HeaderIntegrazioneUrlBased_setPD;
  11492.     }
  11493.    
  11494.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneUrlBased_readPD = null;
  11495.     public Map<MapKey<String>, Boolean> getKeyPDReadEnabled_HeaderIntegrazioneUrlBased() throws CoreException {
  11496.         if(this.keyValue_HeaderIntegrazioneUrlBased_readPD==null){

  11497.             java.util.Properties prop = new java.util.Properties();
  11498.             try{

  11499.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.integrazione.urlBased.pd.read.enabled.");
  11500.                 Map<String, Boolean> _tmp = new HashMap<>();
  11501.                 Iterator<?> it = prop.keySet().iterator();
  11502.                 while (it.hasNext()) {
  11503.                     Object object = (Object) it.next();
  11504.                     if(object instanceof String) {
  11505.                         String key = (String) object;
  11506.                         String value = prop.getProperty(key);
  11507.                         try {
  11508.                             boolean b = Boolean.parseBoolean(value);
  11509.                             _tmp.put(key, b);
  11510.                         }catch(Exception e) {
  11511.                             throw new CoreException("Rilevato errore durante il parsing della property 'org.openspcoop2.pdd.integrazione.urlBased.pd.read.enabled."+key+"' (atteso: true/false): "+e.getMessage(),e);
  11512.                         }
  11513.                     }
  11514.                 }
  11515.                 this.keyValue_HeaderIntegrazioneUrlBased_readPD = _convertMapToCostantiIntegrazione(_tmp);
  11516.                                
  11517.             }catch(java.lang.Exception e) {
  11518.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.urlBased.pd.read.enabled.*': "+e.getMessage(),e);
  11519.                 throw new CoreException(e.getMessage(),e);
  11520.             }    
  11521.         }

  11522.         return this.keyValue_HeaderIntegrazioneUrlBased_readPD;
  11523.     }
  11524.    
  11525.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneUrlBased_setPA = null;
  11526.     public Map<MapKey<String>, Boolean> getKeyPASetEnabled_HeaderIntegrazioneUrlBased() throws CoreException {  
  11527.         if(this.keyValue_HeaderIntegrazioneUrlBased_setPA==null){

  11528.             java.util.Properties prop = new java.util.Properties();
  11529.             try{

  11530.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.integrazione.urlBased.pa.set.request.enabled.");
  11531.                 Map<String, Boolean> _tmp = new HashMap<>();
  11532.                 Iterator<?> it = prop.keySet().iterator();
  11533.                 while (it.hasNext()) {
  11534.                     Object object = (Object) it.next();
  11535.                     if(object instanceof String) {
  11536.                         String key = (String) object;
  11537.                         String value = prop.getProperty(key);
  11538.                         try {
  11539.                             boolean b = Boolean.parseBoolean(value);
  11540.                             _tmp.put(key, b);
  11541.                         }catch(Exception e) {
  11542.                             throw new CoreException("Rilevato errore durante il parsing della property 'org.openspcoop2.pdd.integrazione.urlBased.pa.set.request.enabled."+key+"' (atteso: true/false): "+e.getMessage(),e);
  11543.                         }
  11544.                     }
  11545.                 }
  11546.                 this.keyValue_HeaderIntegrazioneUrlBased_setPA = _convertMapToCostantiIntegrazione(_tmp);
  11547.                
  11548.             }catch(java.lang.Exception e) {
  11549.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.urlBased.pa.set.request.enabled*': "+e.getMessage(),e);
  11550.                 throw new CoreException(e.getMessage(),e);
  11551.             }    
  11552.         }

  11553.         return this.keyValue_HeaderIntegrazioneUrlBased_setPA;
  11554.     }
  11555.    
  11556.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneUrlBased_readPA = null;
  11557.     public Map<MapKey<String>, Boolean> getKeyPAReadEnabled_HeaderIntegrazioneUrlBased() throws CoreException {
  11558.         if(this.keyValue_HeaderIntegrazioneUrlBased_readPA==null){

  11559.             java.util.Properties prop = new java.util.Properties();
  11560.             try{

  11561.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.integrazione.urlBased.pa.read.enabled.");
  11562.                 Map<String, Boolean> _tmp = new HashMap<>();
  11563.                 Iterator<?> it = prop.keySet().iterator();
  11564.                 while (it.hasNext()) {
  11565.                     Object object = (Object) it.next();
  11566.                     if(object instanceof String) {
  11567.                         String key = (String) object;
  11568.                         String value = prop.getProperty(key);
  11569.                         try {
  11570.                             boolean b = Boolean.parseBoolean(value);
  11571.                             _tmp.put(key, b);
  11572.                         }catch(Exception e) {
  11573.                             throw new CoreException("Rilevato errore durante il parsing della property 'org.openspcoop2.pdd.integrazione.urlBased.pa.read.enabled."+key+"' (atteso: true/false): "+e.getMessage(),e);
  11574.                         }
  11575.                     }
  11576.                 }
  11577.                 this.keyValue_HeaderIntegrazioneUrlBased_readPA = _convertMapToCostantiIntegrazione(_tmp);
  11578.                
  11579.             }catch(java.lang.Exception e) {
  11580.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.urlBased.pa.read.enabled.*': "+e.getMessage(),e);
  11581.                 throw new CoreException(e.getMessage(),e);
  11582.             }    
  11583.         }

  11584.         return this.keyValue_HeaderIntegrazioneUrlBased_readPA;
  11585.     }
  11586.    
  11587.     /**
  11588.      * Restituisce le proprieta' che identificano gli header di integrazione in caso di 'soap'.
  11589.      *
  11590.      * @return Restituisce le proprieta' che identificano gli header di integrazione in caso di 'soap'.
  11591.      *  
  11592.      */
  11593.     private Map<MapKey<String>, String> keyValue_HeaderIntegrazioneSoap = null;
  11594.     public Map<MapKey<String>, String> getKeyValue_HeaderIntegrazioneSoap() {  
  11595.         if(this.keyValue_HeaderIntegrazioneSoap==null){

  11596.             try{

  11597.                 this.keyValue_HeaderIntegrazioneSoap =  
  11598.                         _convertMapToCostantiIntegrazione(
  11599.                                 this.reader.readPropertiesAsHashMapConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.keyword."));
  11600.                
  11601.             }catch(java.lang.Exception e) {
  11602.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.soap.keyword.*': "+e.getMessage(),e);
  11603.                 this.keyValue_HeaderIntegrazioneSoap = null;
  11604.             }    
  11605.         }

  11606.         return this.keyValue_HeaderIntegrazioneSoap;
  11607.     }
  11608.    
  11609.     private Map<MapKey<String>, String> keyValue_HeaderIntegrazioneSoap_backwardCompatibility_openspcoop2 = null;
  11610.     public Map<MapKey<String>, String> getKeyValue_HeaderIntegrazioneSoap_backwardCompatibility_openspcoop2() {
  11611.         if(this.keyValue_HeaderIntegrazioneSoap_backwardCompatibility_openspcoop2==null){

  11612.             try{

  11613.                 this.keyValue_HeaderIntegrazioneSoap_backwardCompatibility_openspcoop2 =  
  11614.                         _convertMapToCostantiIntegrazione(
  11615.                                 this.reader.readPropertiesAsHashMapConvertEnvProperties("org.openspcoop2.pdd.integrazione.backward_compatibility.openspcoop2.soap.keyword."));
  11616.                
  11617.             }catch(java.lang.Exception e) {
  11618.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.backward_compatibility.openspcoop2.soap.keyword.*': "+e.getMessage(),e);
  11619.                 this.keyValue_HeaderIntegrazioneSoap_backwardCompatibility_openspcoop2 = null;
  11620.             }    
  11621.         }

  11622.         return this.keyValue_HeaderIntegrazioneSoap_backwardCompatibility_openspcoop2;
  11623.     }
  11624.    
  11625.     private Map<MapKey<String>, String> keyValue_HeaderIntegrazioneSoap_backwardCompatibility_openspcoop1 = null;
  11626.     public Map<MapKey<String>, String> getKeyValue_HeaderIntegrazioneSoap_backwardCompatibility_openspcoop1() {
  11627.         if(this.keyValue_HeaderIntegrazioneSoap_backwardCompatibility_openspcoop1==null){

  11628.             try{

  11629.                 this.keyValue_HeaderIntegrazioneSoap_backwardCompatibility_openspcoop1 =  
  11630.                         _convertMapToCostantiIntegrazione(
  11631.                                 this.reader.readPropertiesAsHashMapConvertEnvProperties("org.openspcoop2.pdd.integrazione.backward_compatibility.openspcoop1.soap.keyword."));
  11632.                
  11633.             }catch(java.lang.Exception e) {
  11634.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.backward_compatibility.openspcoop1.soap.keyword.*': "+e.getMessage(),e);
  11635.                 this.keyValue_HeaderIntegrazioneSoap_backwardCompatibility_openspcoop1 = null;
  11636.             }    
  11637.         }

  11638.         return this.keyValue_HeaderIntegrazioneSoap_backwardCompatibility_openspcoop1;
  11639.     }
  11640.    
  11641.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneSoap_setPD_request = null;
  11642.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneSoap_setPD_response = null;
  11643.     public Map<MapKey<String>, Boolean> getKeyPDSetEnabled_HeaderIntegrazioneSoap(boolean request) throws CoreException {
  11644.        
  11645.         if( (request && this.keyValue_HeaderIntegrazioneSoap_setPD_request==null)
  11646.                 ||
  11647.                 (!request && this.keyValue_HeaderIntegrazioneSoap_setPD_response==null)
  11648.                 ){

  11649.             String pName = "org.openspcoop2.pdd.integrazione.soap.pd.set.request.enabled.";
  11650.             if(!request) {
  11651.                 pName = "org.openspcoop2.pdd.integrazione.soap.pd.set.response.enabled.";
  11652.             }

  11653.             java.util.Properties prop = new java.util.Properties();
  11654.             try{

  11655.                 prop = this.reader.readPropertiesConvertEnvProperties(pName);
  11656.                 Map<String, Boolean> _tmp = new HashMap<>();
  11657.                 Iterator<?> it = prop.keySet().iterator();
  11658.                 while (it.hasNext()) {
  11659.                     Object object = (Object) it.next();
  11660.                     if(object instanceof String) {
  11661.                         String key = (String) object;
  11662.                         String value = prop.getProperty(key);
  11663.                         try {
  11664.                             boolean b = Boolean.parseBoolean(value);
  11665.                             _tmp.put(key, b);
  11666.                         }catch(Exception e) {
  11667.                             throw new CoreException("Rilevato errore durante il parsing della property '"+pName+"."+key+"' (atteso: true/false): "+e.getMessage(),e);
  11668.                         }
  11669.                     }
  11670.                 }
  11671.                 if(request) {
  11672.                     this.keyValue_HeaderIntegrazioneSoap_setPD_request = _convertMapToCostantiIntegrazione(_tmp);
  11673.                 }
  11674.                 else {
  11675.                     this.keyValue_HeaderIntegrazioneSoap_setPD_response = _convertMapToCostantiIntegrazione(_tmp);
  11676.                 }
  11677.                
  11678.             }catch(java.lang.Exception e) {
  11679.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+pName+PROPERTY_START_SUFFIX_ERRORE+e.getMessage(),e);
  11680.                 throw new CoreException(e.getMessage(),e);
  11681.             }    
  11682.         }

  11683.         if(request) {
  11684.             return this.keyValue_HeaderIntegrazioneSoap_setPD_request;
  11685.         }
  11686.         else {
  11687.             return this.keyValue_HeaderIntegrazioneSoap_setPD_response;
  11688.         }
  11689.     }
  11690.    
  11691.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneSoap_readPD = null;
  11692.     public Map<MapKey<String>, Boolean> getKeyPDReadEnabled_HeaderIntegrazioneSoap() throws CoreException {
  11693.         if(this.keyValue_HeaderIntegrazioneSoap_readPD==null){

  11694.             java.util.Properties prop = new java.util.Properties();
  11695.             try{

  11696.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.pd.read.enabled.");
  11697.                 Map<String, Boolean> _tmp = new HashMap<>();
  11698.                 Iterator<?> it = prop.keySet().iterator();
  11699.                 while (it.hasNext()) {
  11700.                     Object object = (Object) it.next();
  11701.                     if(object instanceof String) {
  11702.                         String key = (String) object;
  11703.                         String value = prop.getProperty(key);
  11704.                         try {
  11705.                             boolean b = Boolean.parseBoolean(value);
  11706.                             _tmp.put(key, b);
  11707.                         }catch(Exception e) {
  11708.                             throw new CoreException("Rilevato errore durante il parsing della property 'org.openspcoop2.pdd.integrazione.soap.pd.read.enabled."+key+"' (atteso: true/false): "+e.getMessage(),e);
  11709.                         }
  11710.                     }
  11711.                 }
  11712.                 this.keyValue_HeaderIntegrazioneSoap_readPD = _convertMapToCostantiIntegrazione(_tmp);
  11713.                
  11714.             }catch(java.lang.Exception e) {
  11715.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.soap.pd.read.enabled.*': "+e.getMessage(),e);
  11716.                 throw new CoreException(e.getMessage(),e);
  11717.             }    
  11718.         }

  11719.         return this.keyValue_HeaderIntegrazioneSoap_readPD;
  11720.     }
  11721.    
  11722.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneSoap_setPA_request = null;
  11723.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneSoap_setPA_response = null;
  11724.     public Map<MapKey<String>, Boolean> getKeyPASetEnabled_HeaderIntegrazioneSoap(boolean request) throws CoreException {  
  11725.         if( (request && this.keyValue_HeaderIntegrazioneSoap_setPA_request==null)
  11726.                 ||
  11727.                 (!request && this.keyValue_HeaderIntegrazioneSoap_setPA_response==null)
  11728.                 ){

  11729.             String pName = "org.openspcoop2.pdd.integrazione.soap.pa.set.request.enabled.";
  11730.             if(!request) {
  11731.                 pName = "org.openspcoop2.pdd.integrazione.soap.pa.set.response.enabled.";
  11732.             }

  11733.             java.util.Properties prop = new java.util.Properties();
  11734.             try{

  11735.                 prop = this.reader.readPropertiesConvertEnvProperties(pName);
  11736.                 Map<String, Boolean> _tmp = new HashMap<>();
  11737.                 Iterator<?> it = prop.keySet().iterator();
  11738.                 while (it.hasNext()) {
  11739.                     Object object = (Object) it.next();
  11740.                     if(object instanceof String) {
  11741.                         String key = (String) object;
  11742.                         String value = prop.getProperty(key);
  11743.                         try {
  11744.                             boolean b = Boolean.parseBoolean(value);
  11745.                             //if(request) {
  11746.                             //  _tmp.put(key, b);
  11747.                             //}
  11748.                             //else {
  11749.                             _tmp.put(key, b);
  11750.                             //}
  11751.                         }catch(Exception e) {
  11752.                             throw new CoreException("Rilevato errore durante il parsing della property '"+pName+"."+key+"' (atteso: true/false): "+e.getMessage(),e);
  11753.                         }
  11754.                     }
  11755.                 }
  11756.                 if(request) {
  11757.                     this.keyValue_HeaderIntegrazioneSoap_setPA_request = _convertMapToCostantiIntegrazione(_tmp);
  11758.                 }
  11759.                 else {
  11760.                     this.keyValue_HeaderIntegrazioneSoap_setPA_response = _convertMapToCostantiIntegrazione(_tmp);
  11761.                 }
  11762.                
  11763.             }catch(java.lang.Exception e) {
  11764.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+pName+PROPERTY_START_SUFFIX_ERRORE+e.getMessage(),e);
  11765.                 throw new CoreException(e.getMessage(),e);
  11766.             }    
  11767.         }

  11768.         if(request) {
  11769.             return this.keyValue_HeaderIntegrazioneSoap_setPA_request;
  11770.         }
  11771.         else {
  11772.             return this.keyValue_HeaderIntegrazioneSoap_setPA_response;
  11773.         }
  11774.     }
  11775.    
  11776.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneSoap_readPA = null;
  11777.     public Map<MapKey<String>, Boolean> getKeyPAReadEnabled_HeaderIntegrazioneSoap() throws CoreException {
  11778.         if(this.keyValue_HeaderIntegrazioneSoap_readPA==null){

  11779.             java.util.Properties prop = new java.util.Properties();
  11780.             try{

  11781.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.pa.read.enabled.");
  11782.                 Map<String, Boolean> _tmp = new HashMap<>();
  11783.                 Iterator<?> it = prop.keySet().iterator();
  11784.                 while (it.hasNext()) {
  11785.                     Object object = (Object) it.next();
  11786.                     if(object instanceof String) {
  11787.                         String key = (String) object;
  11788.                         String value = prop.getProperty(key);
  11789.                         try {
  11790.                             boolean b = Boolean.parseBoolean(value);
  11791.                             _tmp.put(key, b);
  11792.                         }catch(Exception e) {
  11793.                             throw new CoreException("Rilevato errore durante il parsing della property 'org.openspcoop2.pdd.integrazione.soap.pa.read.enabled."+key+"' (atteso: true/false): "+e.getMessage(),e);
  11794.                         }
  11795.                     }
  11796.                 }
  11797.                 this.keyValue_HeaderIntegrazioneSoap_readPA = _convertMapToCostantiIntegrazione(_tmp);
  11798.                                
  11799.             }catch(java.lang.Exception e) {
  11800.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.soap.pa.read.enabled.*': "+e.getMessage(),e);
  11801.                 throw new CoreException(e.getMessage(),e);
  11802.             }    
  11803.         }

  11804.         return this.keyValue_HeaderIntegrazioneSoap_readPA;
  11805.     }
  11806.    
  11807.     private String headerIntegrazioneSOAPPdDVersione = null;
  11808.     public String getHeaderIntegrazioneSOAPPdDVersione(){
  11809.         if(this.headerIntegrazioneSOAPPdDVersione==null){
  11810.             try{  
  11811.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.pddVersion");

  11812.                 if (value != null){
  11813.                     value = value.trim();
  11814.                     this.headerIntegrazioneSOAPPdDVersione = value;
  11815.                 }else{
  11816.                     //NON EMETTO WARNING: this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.pddVersion' non impostata, viene utilizzato il default="+this.getVersione());
  11817.                     this.headerIntegrazioneSOAPPdDVersione = this.getVersione();
  11818.                 }

  11819.             }catch(java.lang.Exception e) {
  11820.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.pddVersion' non impostata, viene utilizzato il default=true, errore:"+this.getVersione());
  11821.                 this.headerIntegrazioneSOAPPdDVersione = this.getVersione();
  11822.             }
  11823.         }

  11824.         return this.headerIntegrazioneSOAPPdDVersione;
  11825.     }
  11826.    
  11827.     private Boolean readHeaderIntegrazioneSOAPPdDDetails = null;
  11828.     private String headerIntegrazioneSOAPPdDDetails = null;
  11829.     public String getHeaderIntegrazioneSOAPPdDDetails(){
  11830.         if(this.readHeaderIntegrazioneSOAPPdDDetails==null){
  11831.             try{  
  11832.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.pddDetails");

  11833.                 if (value != null){
  11834.                     value = value.trim();
  11835.                     this.headerIntegrazioneSOAPPdDDetails = value;
  11836.                 }else{
  11837.                     this.headerIntegrazioneSOAPPdDDetails = this.getDetails();
  11838.                 }

  11839.             }catch(java.lang.Exception e) {
  11840.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.pddDetails' non impostata correttamente: "+e.getMessage(),e);
  11841.                 this.headerIntegrazioneSOAPPdDDetails = this.getDetails();
  11842.             }
  11843.         }

  11844.         this.readHeaderIntegrazioneSOAPPdDDetails = true;
  11845.         return this.headerIntegrazioneSOAPPdDDetails;
  11846.     }
  11847.    
  11848.     /**
  11849.      * Restituisce l'indicazione l'header di integrazione letto
  11850.      * durante l'integrazione tra servizio applicativo e PdD
  11851.      * deve essere eliminato o meno
  11852.      *  
  11853.      * @return Restituisce l'indicazione sull'eventuale eliminazione dell'header di integrazione
  11854.      *
  11855.      */
  11856.     private Boolean deleteHeaderIntegrazioneRequestPD = null;
  11857.     public boolean deleteHeaderIntegrazioneRequestPD(){
  11858.         if(this.deleteHeaderIntegrazioneRequestPD==null){
  11859.             try{  
  11860.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.pd.request.readAndDelete");

  11861.                 if (value != null){
  11862.                     value = value.trim();
  11863.                     this.deleteHeaderIntegrazioneRequestPD = Boolean.parseBoolean(value);
  11864.                 }else{
  11865.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.pd.request.readAndDelete' non impostata, viene utilizzato il default=true");
  11866.                     this.deleteHeaderIntegrazioneRequestPD = true;
  11867.                 }

  11868.             }catch(java.lang.Exception e) {
  11869.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.pd.request.readAndDelete' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  11870.                 this.deleteHeaderIntegrazioneRequestPD = true;
  11871.             }
  11872.         }

  11873.         return this.deleteHeaderIntegrazioneRequestPD;
  11874.     }
  11875.    
  11876.     /**
  11877.      * Restituisce l'indicazione l'header di integrazione letto
  11878.      * durante l'integrazione tra servizio applicativo e PdD
  11879.      * deve essere eliminato o meno
  11880.      *  
  11881.      * @return Restituisce l'indicazione sull'eventuale eliminazione dell'header di integrazione
  11882.      *
  11883.      */
  11884.     private Boolean deleteHeaderIntegrazioneResponsePD = null;
  11885.     public boolean deleteHeaderIntegrazioneResponsePD(){
  11886.         if(this.deleteHeaderIntegrazioneResponsePD==null){
  11887.             try{  
  11888.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.pd.response.readAndDelete");

  11889.                 if (value != null){
  11890.                     value = value.trim();
  11891.                     this.deleteHeaderIntegrazioneResponsePD = Boolean.parseBoolean(value);
  11892.                 }else{
  11893.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.pd.response.readAndDelete' non impostata, viene utilizzato il default=true");
  11894.                     this.deleteHeaderIntegrazioneResponsePD = true;
  11895.                 }

  11896.             }catch(java.lang.Exception e) {
  11897.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.pd.response.readAndDelete' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  11898.                 this.deleteHeaderIntegrazioneResponsePD = true;
  11899.             }
  11900.         }

  11901.         return this.deleteHeaderIntegrazioneResponsePD;
  11902.     }

  11903.     /**
  11904.      * Restituisce l'indicazione l'header di integrazione letto
  11905.      * durante l'integrazione tra servizio applicativo e PdD
  11906.      * deve essere eliminato o meno
  11907.      *  
  11908.      * @return Restituisce l'indicazione sull'eventuale eliminazione dell'header di integrazione
  11909.      *
  11910.      */
  11911.     private Boolean processHeaderIntegrazionePDResponse = null;
  11912.     public boolean processHeaderIntegrazionePDResponse(boolean functionAsRouter){
  11913.         if(functionAsRouter){
  11914.             return false;
  11915.         }
  11916.         if(this.processHeaderIntegrazionePDResponse==null){
  11917.             try{  
  11918.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.pd.response.process");

  11919.                 if (value != null){
  11920.                     value = value.trim();
  11921.                     this.processHeaderIntegrazionePDResponse = Boolean.parseBoolean(value);
  11922.                 }else{
  11923.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.pd.response.process' non impostata, viene utilizzato il default=false");
  11924.                     this.processHeaderIntegrazionePDResponse = false;
  11925.                 }

  11926.             }catch(java.lang.Exception e) {
  11927.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.pd.response.process' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  11928.                 this.processHeaderIntegrazionePDResponse = false;
  11929.             }
  11930.         }

  11931.         return this.processHeaderIntegrazionePDResponse;
  11932.     }
  11933.    
  11934.    
  11935.    
  11936.     /**
  11937.      * Restituisce l'indicazione l'header di integrazione letto
  11938.      * durante l'integrazione tra servizio applicativo e PdD
  11939.      * deve essere eliminato o meno
  11940.      *  
  11941.      * @return Restituisce l'indicazione sull'eventuale eliminazione dell'header di integrazione
  11942.      *
  11943.      */
  11944.     private Boolean deleteHeaderIntegrazioneRequestPA = null;
  11945.     public boolean deleteHeaderIntegrazioneRequestPA(){
  11946.         if(this.deleteHeaderIntegrazioneRequestPA==null){
  11947.             try{  
  11948.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.pa.request.readAndDelete");

  11949.                 if (value != null){
  11950.                     value = value.trim();
  11951.                     this.deleteHeaderIntegrazioneRequestPA = Boolean.parseBoolean(value);
  11952.                 }else{
  11953.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.pa.request.readAndDelete' non impostata, viene utilizzato il default=true");
  11954.                     this.deleteHeaderIntegrazioneRequestPA = true;
  11955.                 }

  11956.             }catch(java.lang.Exception e) {
  11957.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.pa.request.readAndDelete' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  11958.                 this.deleteHeaderIntegrazioneRequestPA = true;
  11959.             }
  11960.         }

  11961.         return this.deleteHeaderIntegrazioneRequestPA;
  11962.     }
  11963.    
  11964.     /**
  11965.      * Restituisce l'indicazione l'header di integrazione letto
  11966.      * durante l'integrazione tra servizio applicativo e PdD
  11967.      * deve essere eliminato o meno
  11968.      *  
  11969.      * @return Restituisce l'indicazione sull'eventuale eliminazione dell'header di integrazione
  11970.      *
  11971.      */
  11972.     private Boolean deleteHeaderIntegrazioneResponsePA = null;
  11973.     public boolean deleteHeaderIntegrazioneResponsePA(){
  11974.         if(this.deleteHeaderIntegrazioneResponsePA==null){
  11975.             try{  
  11976.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.pa.response.readAndDelete");

  11977.                 if (value != null){
  11978.                     value = value.trim();
  11979.                     this.deleteHeaderIntegrazioneResponsePA = Boolean.parseBoolean(value);
  11980.                 }else{
  11981.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.pa.response.readAndDelete' non impostata, viene utilizzato il default=true");
  11982.                     this.deleteHeaderIntegrazioneResponsePA = true;
  11983.                 }

  11984.             }catch(java.lang.Exception e) {
  11985.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.pa.response.readAndDelete' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  11986.                 this.deleteHeaderIntegrazioneResponsePA = true;
  11987.             }
  11988.         }

  11989.         return this.deleteHeaderIntegrazioneResponsePA;
  11990.     }

  11991.     /**
  11992.      * Restituisce l'indicazione l'header di integrazione letto
  11993.      * durante l'integrazione tra servizio applicativo e PdD
  11994.      * deve essere eliminato o meno
  11995.      *  
  11996.      * @return Restituisce l'indicazione sull'eventuale eliminazione dell'header di integrazione
  11997.      *
  11998.      */
  11999.     private Boolean processHeaderIntegrazionePARequest = null;
  12000.     public boolean processHeaderIntegrazionePARequest(boolean functionAsRouter){
  12001.         if(functionAsRouter){
  12002.             return false;
  12003.         }
  12004.         if(this.processHeaderIntegrazionePARequest==null){
  12005.             try{  
  12006.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.pa.request.process");

  12007.                 if (value != null){
  12008.                     value = value.trim();
  12009.                     this.processHeaderIntegrazionePARequest = Boolean.parseBoolean(value);
  12010.                 }else{
  12011.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.pa.request.process' non impostata, viene utilizzato il default=false");
  12012.                     this.processHeaderIntegrazionePARequest = false;
  12013.                 }

  12014.             }catch(java.lang.Exception e) {
  12015.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.pa.request.process' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  12016.                 this.processHeaderIntegrazionePARequest = false;
  12017.             }
  12018.         }

  12019.         return this.processHeaderIntegrazionePARequest;
  12020.     }
  12021.    

  12022.     /**
  12023.      * Restituisce il nome dell'header Soap di integrazione di default
  12024.      *
  12025.      * @return Restituisce il nome dell'header Soap di integrazione di default
  12026.      */
  12027.     private String headerSoapNameIntegrazione = null;
  12028.     public String getHeaderSoapNameIntegrazione() {
  12029.         if(this.headerSoapNameIntegrazione==null){
  12030.             try{
  12031.                 String name = null;
  12032.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.headerName");
  12033.                 if(name==null)
  12034.                     throw new CoreException(NON_DEFINITA);
  12035.                 name = name.trim();
  12036.                 this.headerSoapNameIntegrazione = name;
  12037.             }catch(java.lang.Exception e) {
  12038.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.headerName': "+e.getMessage(),e);
  12039.                 this.headerSoapNameIntegrazione = null;
  12040.             }    
  12041.         }

  12042.         return this.headerSoapNameIntegrazione;
  12043.     }
  12044.    
  12045.     private String headerSoapNameIntegrazione_backwardCompatibility_openspcoop2 = null;
  12046.     public String getHeaderSoapNameIntegrazione_backwardCompatibility_openspcoop2() {
  12047.         if(this.headerSoapNameIntegrazione_backwardCompatibility_openspcoop2==null){
  12048.             try{
  12049.                 String name = null;
  12050.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop2.headerName");
  12051.                 if(name==null)
  12052.                     throw new CoreException(NON_DEFINITA);
  12053.                 name = name.trim();
  12054.                 this.headerSoapNameIntegrazione_backwardCompatibility_openspcoop2 = name;
  12055.             }catch(java.lang.Exception e) {
  12056.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop2.headerName': "+e.getMessage(),e);
  12057.                 this.headerSoapNameIntegrazione_backwardCompatibility_openspcoop2 = null;
  12058.             }    
  12059.         }

  12060.         return this.headerSoapNameIntegrazione_backwardCompatibility_openspcoop2;
  12061.     }
  12062.    
  12063.     private String headerSoapNameIntegrazione_backwardCompatibility_openspcoop1 = null;
  12064.     public String getHeaderSoapNameIntegrazione_backwardCompatibility_openspcoop1() {
  12065.         if(this.headerSoapNameIntegrazione_backwardCompatibility_openspcoop1==null){
  12066.             try{
  12067.                 String name = null;
  12068.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop1.headerName");
  12069.                 if(name==null)
  12070.                     throw new CoreException(NON_DEFINITA);
  12071.                 name = name.trim();
  12072.                 this.headerSoapNameIntegrazione_backwardCompatibility_openspcoop1 = name;
  12073.             }catch(java.lang.Exception e) {
  12074.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop1.headerName': "+e.getMessage(),e);
  12075.                 this.headerSoapNameIntegrazione_backwardCompatibility_openspcoop1 = null;
  12076.             }    
  12077.         }

  12078.         return this.headerSoapNameIntegrazione_backwardCompatibility_openspcoop1;
  12079.     }

  12080.     /**
  12081.      * Restituisce l'actord dell'header Soap di integrazione di default
  12082.      *
  12083.      * @return Restituisce l'actor dell'header Soap di integrazione di default
  12084.      */
  12085.     private String headerSoapActorIntegrazione = null;
  12086.     public String getHeaderSoapActorIntegrazione() {
  12087.         if(this.headerSoapActorIntegrazione==null){
  12088.             try{
  12089.                 String name = null;
  12090.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.headerActor");
  12091.                 if(name==null)
  12092.                     throw new CoreException(NON_DEFINITA);
  12093.                 name = name.trim();
  12094.                 this.headerSoapActorIntegrazione = name;
  12095.             }catch(java.lang.Exception e) {
  12096.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.headerActor': "+e.getMessage(),e);
  12097.                 this.headerSoapActorIntegrazione = null;
  12098.             }    
  12099.         }

  12100.         return this.headerSoapActorIntegrazione;
  12101.     }
  12102.    
  12103.     private String headerSoapActorIntegrazione_backwardCompatibility_openspcoop2 = null;
  12104.     public String getHeaderSoapActorIntegrazione_backwardCompatibility_openspcoop2() {
  12105.         if(this.headerSoapActorIntegrazione_backwardCompatibility_openspcoop2==null){
  12106.             try{
  12107.                 String name = null;
  12108.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop2.headerActor");
  12109.                 if(name==null)
  12110.                     throw new CoreException(NON_DEFINITA);
  12111.                 name = name.trim();
  12112.                 this.headerSoapActorIntegrazione_backwardCompatibility_openspcoop2 = name;
  12113.             }catch(java.lang.Exception e) {
  12114.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop2.headerActor': "+e.getMessage(),e);
  12115.                 this.headerSoapActorIntegrazione_backwardCompatibility_openspcoop2 = null;
  12116.             }    
  12117.         }

  12118.         return this.headerSoapActorIntegrazione_backwardCompatibility_openspcoop2;
  12119.     }
  12120.    
  12121.     private String headerSoapActorIntegrazione_backwardCompatibility_openspcoop1 = null;
  12122.     public String getHeaderSoapActorIntegrazione_backwardCompatibility_openspcoop1() {
  12123.         if(this.headerSoapActorIntegrazione_backwardCompatibility_openspcoop1==null){
  12124.             try{
  12125.                 String name = null;
  12126.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop1.headerActor");
  12127.                 if(name==null)
  12128.                     throw new CoreException(NON_DEFINITA);
  12129.                 name = name.trim();
  12130.                 this.headerSoapActorIntegrazione_backwardCompatibility_openspcoop1 = name;
  12131.             }catch(java.lang.Exception e) {
  12132.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop1.headerActor': "+e.getMessage(),e);
  12133.                 this.headerSoapActorIntegrazione_backwardCompatibility_openspcoop1 = null;
  12134.             }    
  12135.         }

  12136.         return this.headerSoapActorIntegrazione_backwardCompatibility_openspcoop1;
  12137.     }

  12138.     /**
  12139.      * Restituisce il prefix dell'header Soap di integrazione di default
  12140.      *
  12141.      * @return Restituisce il prefix dell'header Soap di integrazione di default
  12142.      */
  12143.     private String headerSoapPrefixIntegrazione = null;
  12144.     public String getHeaderSoapPrefixIntegrazione() {
  12145.         if(this.headerSoapPrefixIntegrazione==null){
  12146.             try{
  12147.                 String name = null;
  12148.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.headerPrefix");
  12149.                 if(name==null)
  12150.                     throw new CoreException(NON_DEFINITA);
  12151.                 name = name.trim();
  12152.                 this.headerSoapPrefixIntegrazione = name;
  12153.             }catch(java.lang.Exception e) {
  12154.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.headerPrefix': "+e.getMessage(),e);
  12155.                 this.headerSoapPrefixIntegrazione = null;
  12156.             }    
  12157.         }

  12158.         return this.headerSoapPrefixIntegrazione;
  12159.     }
  12160.    
  12161.     private String headerSoapPrefixIntegrazione_backwardCompatibility_openspcoop2 = null;
  12162.     public String getHeaderSoapPrefixIntegrazione_backwardCompatibility_openspcoop2() {
  12163.         if(this.headerSoapPrefixIntegrazione_backwardCompatibility_openspcoop2==null){
  12164.             try{
  12165.                 String name = null;
  12166.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop2.headerPrefix");
  12167.                 if(name==null)
  12168.                     throw new CoreException(NON_DEFINITA);
  12169.                 name = name.trim();
  12170.                 this.headerSoapPrefixIntegrazione_backwardCompatibility_openspcoop2 = name;
  12171.             }catch(java.lang.Exception e) {
  12172.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop2.headerPrefix': "+e.getMessage(),e);
  12173.                 this.headerSoapPrefixIntegrazione_backwardCompatibility_openspcoop2 = null;
  12174.             }    
  12175.         }

  12176.         return this.headerSoapPrefixIntegrazione_backwardCompatibility_openspcoop2;
  12177.     }
  12178.    
  12179.     private String headerSoapPrefixIntegrazione_backwardCompatibility_openspcoop1 = null;
  12180.     public String getHeaderSoapPrefixIntegrazione_backwardCompatibility_openspcoop1() {
  12181.         if(this.headerSoapPrefixIntegrazione_backwardCompatibility_openspcoop1==null){
  12182.             try{
  12183.                 String name = null;
  12184.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop1.headerPrefix");
  12185.                 if(name==null)
  12186.                     throw new CoreException(NON_DEFINITA);
  12187.                 name = name.trim();
  12188.                 this.headerSoapPrefixIntegrazione_backwardCompatibility_openspcoop1 = name;
  12189.             }catch(java.lang.Exception e) {
  12190.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop1.headerPrefix': "+e.getMessage(),e);
  12191.                 this.headerSoapPrefixIntegrazione_backwardCompatibility_openspcoop1 = null;
  12192.             }    
  12193.         }

  12194.         return this.headerSoapPrefixIntegrazione_backwardCompatibility_openspcoop1;
  12195.     }
  12196.    
  12197.     /**
  12198.      * Restituisce il nome dell'elemento che contiene le informazioni di protocollo
  12199.      *
  12200.      * @return Restituisce il nome dell'elemento che contiene le informazioni di protocollo
  12201.      */
  12202.     private String headerSoapExtProtocolInfoNomeElementoIntegrazione = null;
  12203.     public String getHeaderSoapExtProtocolInfoNomeElementoIntegrazione() {
  12204.         if(this.headerSoapExtProtocolInfoNomeElementoIntegrazione==null){
  12205.             try{
  12206.                 String name = null;
  12207.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.extProtocolInfo.elemento.nome");
  12208.                 if(name==null)
  12209.                     throw new CoreException(NON_DEFINITA);
  12210.                 name = name.trim();
  12211.                 this.headerSoapExtProtocolInfoNomeElementoIntegrazione = name;
  12212.             }catch(java.lang.Exception e) {
  12213.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.extProtocolInfo.elemento.nome': "+e.getMessage(),e);
  12214.                 this.headerSoapExtProtocolInfoNomeElementoIntegrazione = null;
  12215.             }    
  12216.         }

  12217.         return this.headerSoapExtProtocolInfoNomeElementoIntegrazione;
  12218.     }
  12219.     private String headerSoapExtProtocolInfoNomeElementoIntegrazione_backwardCompatibility_openspcoop2 = null;
  12220.     public String getHeaderSoapExtProtocolInfoNomeElementoIntegrazione_backwardCompatibility_openspcoop2() {
  12221.         if(this.headerSoapExtProtocolInfoNomeElementoIntegrazione_backwardCompatibility_openspcoop2==null){
  12222.             try{
  12223.                 String name = null;
  12224.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop2.extProtocolInfo.elemento.nome");
  12225.                 if(name==null)
  12226.                     throw new CoreException(NON_DEFINITA);
  12227.                 name = name.trim();
  12228.                 this.headerSoapExtProtocolInfoNomeElementoIntegrazione_backwardCompatibility_openspcoop2 = name;
  12229.             }catch(java.lang.Exception e) {
  12230.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop2.extProtocolInfo.elemento.nome': "+e.getMessage(),e);
  12231.                 this.headerSoapExtProtocolInfoNomeElementoIntegrazione_backwardCompatibility_openspcoop2 = null;
  12232.             }    
  12233.         }

  12234.         return this.headerSoapExtProtocolInfoNomeElementoIntegrazione_backwardCompatibility_openspcoop2;
  12235.     }
  12236.     private String headerSoapExtProtocolInfoNomeElementoIntegrazione_backwardCompatibility_openspcoop1 = null;
  12237.     public String getHeaderSoapExtProtocolInfoNomeElementoIntegrazione_backwardCompatibility_openspcoop1() {
  12238.         if(this.headerSoapExtProtocolInfoNomeElementoIntegrazione_backwardCompatibility_openspcoop1==null){
  12239.             try{
  12240.                 String name = null;
  12241.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop1.extProtocolInfo.elemento.nome");
  12242.                 if(name==null)
  12243.                     throw new CoreException(NON_DEFINITA);
  12244.                 name = name.trim();
  12245.                 this.headerSoapExtProtocolInfoNomeElementoIntegrazione_backwardCompatibility_openspcoop1 = name;
  12246.             }catch(java.lang.Exception e) {
  12247.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop1.extProtocolInfo.elemento.nome': "+e.getMessage(),e);
  12248.                 this.headerSoapExtProtocolInfoNomeElementoIntegrazione_backwardCompatibility_openspcoop1 = null;
  12249.             }    
  12250.         }

  12251.         return this.headerSoapExtProtocolInfoNomeElementoIntegrazione_backwardCompatibility_openspcoop1;
  12252.     }
  12253.     /**
  12254.      * Restituisce il nome del tipo dell'elemento che contiene le informazioni di protocollo
  12255.      *
  12256.      * @return Restituisce il nome del tipo dell'elemento che contiene le informazioni di protocollo
  12257.      */
  12258.     private String headerSoapExtProtocolInfoNomeAttributoIntegrazione = null;
  12259.     public String getHeaderSoapExtProtocolInfoNomeAttributoIntegrazione() {
  12260.         if(this.headerSoapExtProtocolInfoNomeAttributoIntegrazione==null){
  12261.             try{
  12262.                 String name = null;
  12263.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.extProtocolInfo.attributo.nome");
  12264.                 if(name==null)
  12265.                     throw new CoreException(NON_DEFINITA);
  12266.                 name = name.trim();
  12267.                 this.headerSoapExtProtocolInfoNomeAttributoIntegrazione = name;
  12268.             }catch(java.lang.Exception e) {
  12269.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.extProtocolInfo.attributo.nome': "+e.getMessage(),e);
  12270.                 this.headerSoapExtProtocolInfoNomeAttributoIntegrazione = null;
  12271.             }    
  12272.         }

  12273.         return this.headerSoapExtProtocolInfoNomeAttributoIntegrazione;
  12274.     }
  12275.    
  12276.     private String headerSoapExtProtocolInfoNomeAttributoIntegrazione_backwardCompatibility_openspcoop2 = null;
  12277.     public String getHeaderSoapExtProtocolInfoNomeAttributoIntegrazione_backwardCompatibility_openspcoop2() {
  12278.         if(this.headerSoapExtProtocolInfoNomeAttributoIntegrazione_backwardCompatibility_openspcoop2==null){
  12279.             try{
  12280.                 String name = null;
  12281.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop2.extProtocolInfo.attributo.nome");
  12282.                 if(name==null)
  12283.                     throw new CoreException(NON_DEFINITA);
  12284.                 name = name.trim();
  12285.                 this.headerSoapExtProtocolInfoNomeAttributoIntegrazione_backwardCompatibility_openspcoop2 = name;
  12286.             }catch(java.lang.Exception e) {
  12287.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop2.extProtocolInfo.attributo.nome': "+e.getMessage(),e);
  12288.                 this.headerSoapExtProtocolInfoNomeAttributoIntegrazione_backwardCompatibility_openspcoop2 = null;
  12289.             }    
  12290.         }

  12291.         return this.headerSoapExtProtocolInfoNomeAttributoIntegrazione_backwardCompatibility_openspcoop2;
  12292.     }
  12293.    
  12294.     private String headerSoapExtProtocolInfoNomeAttributoIntegrazione_backwardCompatibility_openspcoop1 = null;
  12295.     public String getHeaderSoapExtProtocolInfoNomeAttributoIntegrazione_backwardCompatibility_openspcoop1() {
  12296.         if(this.headerSoapExtProtocolInfoNomeAttributoIntegrazione_backwardCompatibility_openspcoop1==null){
  12297.             try{
  12298.                 String name = null;
  12299.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop1.extProtocolInfo.attributo.nome");
  12300.                 if(name==null)
  12301.                     throw new CoreException(NON_DEFINITA);
  12302.                 name = name.trim();
  12303.                 this.headerSoapExtProtocolInfoNomeAttributoIntegrazione_backwardCompatibility_openspcoop1 = name;
  12304.             }catch(java.lang.Exception e) {
  12305.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop1.extProtocolInfo.attributo.nome': "+e.getMessage(),e);
  12306.                 this.headerSoapExtProtocolInfoNomeAttributoIntegrazione_backwardCompatibility_openspcoop1 = null;
  12307.             }    
  12308.         }

  12309.         return this.headerSoapExtProtocolInfoNomeAttributoIntegrazione_backwardCompatibility_openspcoop1;
  12310.     }

  12311.    
  12312.    
  12313.     /* ********  INTEGRAZIONE INFORMAZIONI DINAMICHE  ******** */
  12314.    
  12315.     private Boolean isIntegrazioneDynamicInfoEnabled = null;
  12316.     public boolean isIntegrazioneDynamicInfoEnabled() {
  12317.         String pName = "org.openspcoop2.pdd.integrazione.dynamicInfo.enabled";
  12318.         if(this.isIntegrazioneDynamicInfoEnabled==null){
  12319.             try{
  12320.                 String name = null;
  12321.                 name = this.reader.getValueConvertEnvProperties(pName);
  12322.                 if(name==null)
  12323.                     throw new CoreException(NON_DEFINITA);
  12324.                 name = name.trim();
  12325.                 this.isIntegrazioneDynamicInfoEnabled = Boolean.parseBoolean(name);
  12326.             }catch(java.lang.Exception e) {
  12327.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12328.                 this.isIntegrazioneDynamicInfoEnabled = false;
  12329.             }    
  12330.         }

  12331.         if(this.isIntegrazioneDynamicInfoEnabled==null){
  12332.             return false;
  12333.         }
  12334.         return this.isIntegrazioneDynamicInfoEnabled;
  12335.     }
  12336.    
  12337.     private InformazioniIntegrazioneSorgente getIntegrazioneDynamicInfoType = null;
  12338.     public InformazioniIntegrazioneSorgente getIntegrazioneDynamicInfoType() {
  12339.         String pName = "org.openspcoop2.pdd.integrazione.dynamicInfo.type";
  12340.         if(this.getIntegrazioneDynamicInfoType==null){
  12341.             try{
  12342.                 String name = null;
  12343.                 name = this.reader.getValueConvertEnvProperties(pName);
  12344.                 if(name==null)
  12345.                     throw new CoreException(NON_DEFINITA);
  12346.                 name = name.trim();
  12347.                 this.getIntegrazioneDynamicInfoType = InformazioniIntegrazioneSorgente.valueOf(name);
  12348.             }catch(java.lang.Exception e) {
  12349.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12350.             }    
  12351.         }

  12352.         return this.getIntegrazioneDynamicInfoType;
  12353.     }
  12354.    
  12355.     private String getIntegrazioneDynamicInfoName = null;
  12356.     public String getIntegrazioneDynamicInfoName() {
  12357.         String pName = "org.openspcoop2.pdd.integrazione.dynamicInfo.name";
  12358.         if(this.getIntegrazioneDynamicInfoName==null){
  12359.             try{
  12360.                 String name = null;
  12361.                 name = this.reader.getValueConvertEnvProperties(pName);
  12362.                 if(name==null)
  12363.                     throw new CoreException(NON_DEFINITA);
  12364.                 name = name.trim();
  12365.                 this.getIntegrazioneDynamicInfoName = name;
  12366.             }catch(java.lang.Exception e) {
  12367.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12368.             }    
  12369.         }

  12370.         return this.getIntegrazioneDynamicInfoName;
  12371.     }
  12372.    
  12373.     private InformazioniIntegrazioneCodifica getIntegrazioneDynamicInfoEncodeType = null;
  12374.     public InformazioniIntegrazioneCodifica getIntegrazioneDynamicInfoEncodeType() {
  12375.         String pName = "org.openspcoop2.pdd.integrazione.dynamicInfo.encode";
  12376.         if(this.getIntegrazioneDynamicInfoEncodeType==null){
  12377.             try{
  12378.                 String name = null;
  12379.                 name = this.reader.getValueConvertEnvProperties(pName);
  12380.                 if(name==null)
  12381.                     throw new CoreException(NON_DEFINITA);
  12382.                 name = name.trim();
  12383.                 this.getIntegrazioneDynamicInfoEncodeType = InformazioniIntegrazioneCodifica.valueOf(name);
  12384.             }catch(java.lang.Exception e) {
  12385.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12386.             }    
  12387.         }

  12388.         return this.getIntegrazioneDynamicInfoEncodeType;
  12389.     }
  12390.    
  12391.     private Boolean isIntegrazioneDynamicInfoRequired = null;
  12392.     public boolean isIntegrazioneDynamicInfoRequired() {
  12393.         String pName = "org.openspcoop2.pdd.integrazione.dynamicInfo.required";
  12394.         if(this.isIntegrazioneDynamicInfoRequired==null){
  12395.             try{
  12396.                 String name = null;
  12397.                 name = this.reader.getValueConvertEnvProperties(pName);
  12398.                 if(name==null)
  12399.                     throw new CoreException(NON_DEFINITA);
  12400.                 name = name.trim();
  12401.                 this.isIntegrazioneDynamicInfoRequired = Boolean.parseBoolean(name);
  12402.             }catch(java.lang.Exception e) {
  12403.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12404.                 this.isIntegrazioneDynamicInfoRequired = false;
  12405.             }    
  12406.         }

  12407.         if(this.isIntegrazioneDynamicInfoRequired==null){
  12408.             return false;
  12409.         }
  12410.         return this.isIntegrazioneDynamicInfoRequired;
  12411.     }
  12412.    
  12413.     // risposta
  12414.    
  12415.     private Boolean isIntegrazioneResponseDynamicInfoEnabled = null;
  12416.     public boolean isIntegrazioneResponseDynamicInfoEnabled() {
  12417.         String pName = "org.openspcoop2.pdd.integrazione.responseDynamicInfo.enabled";
  12418.         if(this.isIntegrazioneResponseDynamicInfoEnabled==null){
  12419.             try{
  12420.                 String name = null;
  12421.                 name = this.reader.getValueConvertEnvProperties(pName);
  12422.                 if(name==null)
  12423.                     throw new CoreException(NON_DEFINITA);
  12424.                 name = name.trim();
  12425.                 this.isIntegrazioneResponseDynamicInfoEnabled = Boolean.parseBoolean(name);
  12426.             }catch(java.lang.Exception e) {
  12427.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12428.                 this.isIntegrazioneResponseDynamicInfoEnabled = false;
  12429.             }    
  12430.         }

  12431.         if(this.isIntegrazioneResponseDynamicInfoEnabled==null){
  12432.             return false;
  12433.         }
  12434.         return this.isIntegrazioneResponseDynamicInfoEnabled;
  12435.     }
  12436.    
  12437.     private String getIntegrazioneResponseDynamicInfoName = null;
  12438.     public String getIntegrazioneResponseDynamicInfoName() {
  12439.         String pName = "org.openspcoop2.pdd.integrazione.responseDynamicInfo.name";
  12440.         if(this.getIntegrazioneResponseDynamicInfoName==null){
  12441.             try{
  12442.                 String name = null;
  12443.                 name = this.reader.getValueConvertEnvProperties(pName);
  12444.                 if(name==null)
  12445.                     throw new CoreException(NON_DEFINITA);
  12446.                 name = name.trim();
  12447.                 this.getIntegrazioneResponseDynamicInfoName = name;
  12448.             }catch(java.lang.Exception e) {
  12449.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12450.             }    
  12451.         }

  12452.         return this.getIntegrazioneResponseDynamicInfoName;
  12453.     }
  12454.    
  12455.     private InformazioniIntegrazioneCodifica getIntegrazioneResponseDynamicInfoEncodeType = null;
  12456.     public InformazioniIntegrazioneCodifica getIntegrazioneResponseDynamicInfoEncodeType() {
  12457.         String pName = "org.openspcoop2.pdd.integrazione.responseDynamicInfo.encode";
  12458.         if(this.getIntegrazioneResponseDynamicInfoEncodeType==null){
  12459.             try{
  12460.                 String name = null;
  12461.                 name = this.reader.getValueConvertEnvProperties(pName);
  12462.                 if(name==null)
  12463.                     throw new CoreException(NON_DEFINITA);
  12464.                 name = name.trim();
  12465.                 this.getIntegrazioneResponseDynamicInfoEncodeType = InformazioniIntegrazioneCodifica.valueOf(name);
  12466.             }catch(java.lang.Exception e) {
  12467.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12468.             }    
  12469.         }

  12470.         return this.getIntegrazioneResponseDynamicInfoEncodeType;
  12471.     }
  12472.    
  12473.     private Boolean isIntegrazioneResponseDynamicInfoRequired = null;
  12474.     public boolean isIntegrazioneResponseDynamicInfoRequired() {
  12475.         String pName = "org.openspcoop2.pdd.integrazione.responseDynamicInfo.required";
  12476.         if(this.isIntegrazioneResponseDynamicInfoRequired==null){
  12477.             try{
  12478.                 String name = null;
  12479.                 name = this.reader.getValueConvertEnvProperties(pName);
  12480.                 if(name==null)
  12481.                     throw new CoreException(NON_DEFINITA);
  12482.                 name = name.trim();
  12483.                 this.isIntegrazioneResponseDynamicInfoRequired = Boolean.parseBoolean(name);
  12484.             }catch(java.lang.Exception e) {
  12485.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12486.                 this.isIntegrazioneResponseDynamicInfoRequired = false;
  12487.             }    
  12488.         }

  12489.         if(this.isIntegrazioneResponseDynamicInfoRequired==null){
  12490.             return false;
  12491.         }
  12492.         return this.isIntegrazioneResponseDynamicInfoRequired;
  12493.     }
  12494.    
  12495.    
  12496.    
  12497.     /* ********  INTEGRAZIONE TEMPLATE  ******** */
  12498.    
  12499.     private String getIntegrazioneTemplateRequestPropertyTipo = null;
  12500.     public String getIntegrazioneTemplateRequestPropertyTipo() {
  12501.         String pName = "org.openspcoop2.pdd.integrazione.template.request.property.tipo";
  12502.         if(this.getIntegrazioneTemplateRequestPropertyTipo==null){
  12503.             try{
  12504.                 String name = null;
  12505.                 name = this.reader.getValueConvertEnvProperties(pName);
  12506.                 if(name==null)
  12507.                     throw new CoreException(NON_DEFINITA);
  12508.                 name = name.trim();
  12509.                 this.getIntegrazioneTemplateRequestPropertyTipo = name;
  12510.             }catch(java.lang.Exception e) {
  12511.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12512.                 this.getIntegrazioneTemplateRequestPropertyTipo = null;
  12513.             }    
  12514.         }

  12515.         return this.getIntegrazioneTemplateRequestPropertyTipo;
  12516.     }
  12517.    
  12518.     private String getIntegrazioneTemplateRequestPropertyFile = null;
  12519.     public String getIntegrazioneTemplateRequestPropertyFile() {
  12520.         String pName = "org.openspcoop2.pdd.integrazione.template.request.property.file";
  12521.         if(this.getIntegrazioneTemplateRequestPropertyFile==null){
  12522.             try{
  12523.                 String name = null;
  12524.                 name = this.reader.getValueConvertEnvProperties(pName);
  12525.                 if(name==null)
  12526.                     throw new CoreException(NON_DEFINITA);
  12527.                 name = name.trim();
  12528.                 this.getIntegrazioneTemplateRequestPropertyFile = name;
  12529.             }catch(java.lang.Exception e) {
  12530.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12531.                 this.getIntegrazioneTemplateRequestPropertyFile = null;
  12532.             }    
  12533.         }

  12534.         return this.getIntegrazioneTemplateRequestPropertyFile;
  12535.     }
  12536.    
  12537.     private String getIntegrazioneTemplateResponsePropertyTipo = null;
  12538.     public String getIntegrazioneTemplateResponsePropertyTipo() {
  12539.         String pName = "org.openspcoop2.pdd.integrazione.template.response.property.tipo";
  12540.         if(this.getIntegrazioneTemplateResponsePropertyTipo==null){
  12541.             try{
  12542.                 String name = null;
  12543.                 name = this.reader.getValueConvertEnvProperties(pName);
  12544.                 if(name==null)
  12545.                     throw new CoreException(NON_DEFINITA);
  12546.                 name = name.trim();
  12547.                 this.getIntegrazioneTemplateResponsePropertyTipo = name;
  12548.             }catch(java.lang.Exception e) {
  12549.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12550.                 this.getIntegrazioneTemplateResponsePropertyTipo = null;
  12551.             }    
  12552.         }

  12553.         return this.getIntegrazioneTemplateResponsePropertyTipo;
  12554.     }
  12555.    
  12556.     private String getIntegrazioneTemplateResponsePropertyFile = null;
  12557.     public String getIntegrazioneTemplateResponsePropertyFile() {
  12558.         String pName = "org.openspcoop2.pdd.integrazione.template.response.property.file";
  12559.         if(this.getIntegrazioneTemplateResponsePropertyFile==null){
  12560.             try{
  12561.                 String name = null;
  12562.                 name = this.reader.getValueConvertEnvProperties(pName);
  12563.                 if(name==null)
  12564.                     throw new CoreException(NON_DEFINITA);
  12565.                 name = name.trim();
  12566.                 this.getIntegrazioneTemplateResponsePropertyFile = name;
  12567.             }catch(java.lang.Exception e) {
  12568.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12569.                 this.getIntegrazioneTemplateResponsePropertyFile = null;
  12570.             }    
  12571.         }

  12572.         return this.getIntegrazioneTemplateResponsePropertyFile;
  12573.     }
  12574.    
  12575.    
  12576.    
  12577.     private Boolean getIntegrazioneTemplatePortaDelegataRequestTipo_read = null;
  12578.     private TipoTrasformazione getIntegrazioneTemplatePortaDelegataRequestTipo = null;
  12579.     public TipoTrasformazione getIntegrazioneTemplatePortaDelegataRequestTipo() throws CoreException{
  12580.         String pName = "org.openspcoop2.pdd.integrazione.template.pd.request.tipo";
  12581.         if(this.getIntegrazioneTemplatePortaDelegataRequestTipo_read==null){
  12582.             try{
  12583.                 String name = null;
  12584.                 name = this.reader.getValueConvertEnvProperties(pName);
  12585.                 if(name!=null) {
  12586.                     name = name.trim();
  12587.                     this.getIntegrazioneTemplatePortaDelegataRequestTipo = UtilitiesTemplate.convert(name);
  12588.                    
  12589.                     this.getIntegrazioneTemplatePortaDelegataRequestTipo_read = true;
  12590.                 }
  12591.             }catch(java.lang.Exception e) {
  12592.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12593.                 throw new CoreException (e);
  12594.             }    
  12595.         }

  12596.         return this.getIntegrazioneTemplatePortaDelegataRequestTipo;
  12597.     }
  12598.    
  12599.     private Boolean getIntegrazioneTemplatePortaDelegataRequestFile_read = null;
  12600.     private String getIntegrazioneTemplatePortaDelegataRequestFile = null;
  12601.     public String getIntegrazioneTemplatePortaDelegataRequestFile() throws CoreException{
  12602.         String pName = "org.openspcoop2.pdd.integrazione.template.pd.request.file";
  12603.         if(this.getIntegrazioneTemplatePortaDelegataRequestFile_read==null){
  12604.             try{
  12605.                 String name = null;
  12606.                 name = this.reader.getValueConvertEnvProperties(pName);
  12607.                 if(name!=null) {
  12608.                     name = name.trim();
  12609.                     this.getIntegrazioneTemplatePortaDelegataRequestFile = name;
  12610.                    
  12611.                     this.getIntegrazioneTemplatePortaDelegataRequestFile_read = true;
  12612.                 }
  12613.             }catch(java.lang.Exception e) {
  12614.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12615.                 throw new CoreException (e);
  12616.             }    
  12617.         }

  12618.         return this.getIntegrazioneTemplatePortaDelegataRequestFile;
  12619.     }
  12620.    
  12621.     private Boolean getIntegrazioneTemplatePortaDelegataResponseTipo_read = null;
  12622.     private TipoTrasformazione getIntegrazioneTemplatePortaDelegataResponseTipo = null;
  12623.     public TipoTrasformazione getIntegrazioneTemplatePortaDelegataResponseTipo() throws CoreException{
  12624.         String pName = "org.openspcoop2.pdd.integrazione.template.pd.response.tipo";
  12625.         if(this.getIntegrazioneTemplatePortaDelegataResponseTipo_read==null){
  12626.             try{
  12627.                 String name = null;
  12628.                 name = this.reader.getValueConvertEnvProperties(pName);
  12629.                 if(name!=null) {
  12630.                     name = name.trim();
  12631.                     this.getIntegrazioneTemplatePortaDelegataResponseTipo = UtilitiesTemplate.convert(name);

  12632.                     this.getIntegrazioneTemplatePortaDelegataResponseTipo_read = true;
  12633.                 }
  12634.             }catch(java.lang.Exception e) {
  12635.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12636.                 throw new CoreException (e);
  12637.             }    
  12638.         }

  12639.         return this.getIntegrazioneTemplatePortaDelegataResponseTipo;
  12640.     }
  12641.    
  12642.     private Boolean getIntegrazioneTemplatePortaDelegataResponseFile_read = null;
  12643.     private String getIntegrazioneTemplatePortaDelegataResponseFile = null;
  12644.     public String getIntegrazioneTemplatePortaDelegataResponseFile() throws CoreException{
  12645.         String pName = "org.openspcoop2.pdd.integrazione.template.pd.response.file";
  12646.         if(this.getIntegrazioneTemplatePortaDelegataResponseFile_read==null){
  12647.             try{
  12648.                 String name = null;
  12649.                 name = this.reader.getValueConvertEnvProperties(pName);
  12650.                 if(name!=null) {
  12651.                     name = name.trim();
  12652.                     this.getIntegrazioneTemplatePortaDelegataResponseFile = name;
  12653.                    
  12654.                     this.getIntegrazioneTemplatePortaDelegataResponseFile_read = true;
  12655.                 }
  12656.             }catch(java.lang.Exception e) {
  12657.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12658.                 throw new CoreException (e);
  12659.             }    
  12660.         }

  12661.         return this.getIntegrazioneTemplatePortaDelegataResponseFile;
  12662.     }
  12663.    
  12664.    
  12665.     private Boolean getIntegrazioneTemplatePortaApplicativaRequestTipo_read = null;
  12666.     private TipoTrasformazione getIntegrazioneTemplatePortaApplicativaRequestTipo = null;
  12667.     public TipoTrasformazione getIntegrazioneTemplatePortaApplicativaRequestTipo() throws CoreException{
  12668.         String pName = "org.openspcoop2.pdd.integrazione.template.pa.request.tipo";
  12669.         if(this.getIntegrazioneTemplatePortaApplicativaRequestTipo_read==null){
  12670.             try{
  12671.                 String name = null;
  12672.                 name = this.reader.getValueConvertEnvProperties(pName);
  12673.                 if(name!=null) {
  12674.                     name = name.trim();
  12675.                     this.getIntegrazioneTemplatePortaApplicativaRequestTipo = UtilitiesTemplate.convert(name);
  12676.                    
  12677.                     this.getIntegrazioneTemplatePortaApplicativaRequestTipo_read = true;
  12678.                 }
  12679.             }catch(java.lang.Exception e) {
  12680.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12681.                 throw new CoreException (e);
  12682.             }    
  12683.         }

  12684.         return this.getIntegrazioneTemplatePortaApplicativaRequestTipo;
  12685.     }
  12686.    
  12687.     private Boolean getIntegrazioneTemplatePortaApplicativaRequestFile_read = null;
  12688.     private String getIntegrazioneTemplatePortaApplicativaRequestFile = null;
  12689.     public String getIntegrazioneTemplatePortaApplicativaRequestFile() throws CoreException{
  12690.         String pName = "org.openspcoop2.pdd.integrazione.template.pa.request.file";
  12691.         if(this.getIntegrazioneTemplatePortaApplicativaRequestFile_read==null){
  12692.             try{
  12693.                 String name = null;
  12694.                 name = this.reader.getValueConvertEnvProperties(pName);
  12695.                 if(name!=null) {
  12696.                     name = name.trim();
  12697.                     this.getIntegrazioneTemplatePortaApplicativaRequestFile = name;
  12698.                    
  12699.                     this.getIntegrazioneTemplatePortaApplicativaRequestFile_read = true;
  12700.                 }
  12701.             }catch(java.lang.Exception e) {
  12702.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12703.                 throw new CoreException (e);
  12704.             }    
  12705.         }

  12706.         return this.getIntegrazioneTemplatePortaApplicativaRequestFile;
  12707.     }
  12708.    
  12709.     private Boolean getIntegrazioneTemplatePortaApplicativaResponseTipo_read = null;
  12710.     private TipoTrasformazione getIntegrazioneTemplatePortaApplicativaResponseTipo = null;
  12711.     public TipoTrasformazione getIntegrazioneTemplatePortaApplicativaResponseTipo() throws CoreException{
  12712.         String pName = "org.openspcoop2.pdd.integrazione.template.pa.response.tipo";
  12713.         if(this.getIntegrazioneTemplatePortaApplicativaResponseTipo_read==null){
  12714.             try{
  12715.                 String name = null;
  12716.                 name = this.reader.getValueConvertEnvProperties(pName);
  12717.                 if(name!=null) {
  12718.                     name = name.trim();
  12719.                     this.getIntegrazioneTemplatePortaApplicativaResponseTipo = UtilitiesTemplate.convert(name);
  12720.                    
  12721.                     this.getIntegrazioneTemplatePortaApplicativaResponseTipo_read = true;
  12722.                 }
  12723.             }catch(java.lang.Exception e) {
  12724.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12725.                 throw new CoreException (e);
  12726.             }    
  12727.         }

  12728.         return this.getIntegrazioneTemplatePortaApplicativaResponseTipo;
  12729.     }
  12730.    
  12731.     private Boolean getIntegrazioneTemplatePortaApplicativaResponseFile_read = null;
  12732.     private String getIntegrazioneTemplatePortaApplicativaResponseFile = null;
  12733.     public String getIntegrazioneTemplatePortaApplicativaResponseFile() throws CoreException{
  12734.         String pName = "org.openspcoop2.pdd.integrazione.template.pa.response.file";
  12735.         if(this.getIntegrazioneTemplatePortaApplicativaResponseFile_read==null){
  12736.             try{
  12737.                 String name = null;
  12738.                 name = this.reader.getValueConvertEnvProperties(pName);
  12739.                 if(name!=null) {
  12740.                     name = name.trim();
  12741.                     this.getIntegrazioneTemplatePortaApplicativaResponseFile = name;
  12742.                    
  12743.                     this.getIntegrazioneTemplatePortaApplicativaResponseFile_read = true;
  12744.                 }
  12745.             }catch(java.lang.Exception e) {
  12746.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12747.                 throw new CoreException (e);
  12748.             }    
  12749.         }

  12750.         return this.getIntegrazioneTemplatePortaApplicativaResponseFile;
  12751.     }
  12752.    
  12753.    
  12754.     /* ********  INTEGRAZIONE AUTENTICAZIONE  ******** */
  12755.    
  12756.     private List<String> getIntegrazioneAutenticazionePortaDelegataRequestHeaders = null;
  12757.     public List<String> getIntegrazioneAutenticazionePortaDelegataRequestHeaders() throws CoreException{
  12758.         String pName = "org.openspcoop2.pdd.integrazione.autenticazione.pd.request.headers";
  12759.         if(this.getIntegrazioneAutenticazionePortaDelegataRequestHeaders==null){
  12760.             try{
  12761.                
  12762.                 this.getIntegrazioneAutenticazionePortaDelegataRequestHeaders = new ArrayList<>();
  12763.                
  12764.                 String name = null;
  12765.                 name = this.reader.getValueConvertEnvProperties(pName);
  12766.                 if(name!=null) {
  12767.                     name = name.trim();
  12768.                     String [] split = name.split(",");
  12769.                     if(split!=null){
  12770.                         for (int i = 0; i < split.length; i++) {
  12771.                             String v = split[i];
  12772.                             if(v!=null) {
  12773.                                 v = v.trim();
  12774.                             }
  12775.                             if(!"".equals(v)) {
  12776.                                 this.getIntegrazioneAutenticazionePortaDelegataRequestHeaders.add(v);
  12777.                             }
  12778.                         }
  12779.                     }
  12780.                 }
  12781.             }catch(java.lang.Exception e) {
  12782.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12783.                 throw new CoreException (e);
  12784.             }    
  12785.         }

  12786.         return this.getIntegrazioneAutenticazionePortaDelegataRequestHeaders;
  12787.     }
  12788.    
  12789.     private Map<String, String> getIntegrazioneAutenticazionePortaDelegataRequestHeadersMap = null;
  12790.     public Map<String, String> getIntegrazioneAutenticazionePortaDelegataRequestHeadersMap() throws CoreException{
  12791.         String pNamePrefix = "org.openspcoop2.pdd.integrazione.autenticazione.pd.request.header.";
  12792.         if(this.getIntegrazioneAutenticazionePortaDelegataRequestHeadersMap==null){
  12793.             try{
  12794.                
  12795.                 this.getIntegrazioneAutenticazionePortaDelegataRequestHeadersMap = new HashMap<>();
  12796.                 List<String> getIntegrazioneAutenticazionePortaDelegataRequestHeaders = getIntegrazioneAutenticazionePortaDelegataRequestHeaders();
  12797.                 if(getIntegrazioneAutenticazionePortaDelegataRequestHeaders!=null && !getIntegrazioneAutenticazionePortaDelegataRequestHeaders.isEmpty()) {
  12798.                     for (String hdrName : getIntegrazioneAutenticazionePortaDelegataRequestHeaders) {
  12799.                         String pName = pNamePrefix+hdrName;
  12800.                         try {
  12801.                             String hdrValue = this.reader.getValueConvertEnvProperties(pName);
  12802.                             if(hdrValue==null) {
  12803.                                 throw new CoreException(NON_DEFINITA);
  12804.                             }
  12805.                             hdrValue = hdrValue.trim();
  12806.                             this.getIntegrazioneAutenticazionePortaDelegataRequestHeadersMap.put(hdrName, hdrValue);
  12807.                         }catch(java.lang.Exception e) {
  12808.                             throw new CoreException ("Proprietà '"+pName+"' "+e.getMessage(),e);
  12809.                         }  
  12810.                     }
  12811.                 }
  12812.             }catch(java.lang.Exception e) {
  12813.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNamePrefix+PROPERTY_START_SUFFIX_ERRORE+e.getMessage(),e);
  12814.                 throw new CoreException (e);
  12815.             }    
  12816.         }

  12817.         return this.getIntegrazioneAutenticazionePortaDelegataRequestHeadersMap;
  12818.     }
  12819.    
  12820.     private List<String> getIntegrazioneAutenticazionePortaApplicativaRequestHeaders = null;
  12821.     public List<String> getIntegrazioneAutenticazionePortaApplicativaRequestHeaders() throws CoreException{
  12822.         String pName = "org.openspcoop2.pdd.integrazione.autenticazione.pa.request.headers";
  12823.         if(this.getIntegrazioneAutenticazionePortaApplicativaRequestHeaders==null){
  12824.             try{
  12825.                
  12826.                 this.getIntegrazioneAutenticazionePortaApplicativaRequestHeaders = new ArrayList<>();
  12827.                
  12828.                 String name = null;
  12829.                 name = this.reader.getValueConvertEnvProperties(pName);
  12830.                 if(name!=null) {
  12831.                     name = name.trim();
  12832.                     String [] split = name.split(",");
  12833.                     if(split!=null){
  12834.                         for (int i = 0; i < split.length; i++) {
  12835.                             String v = split[i];
  12836.                             if(v!=null) {
  12837.                                 v = v.trim();
  12838.                             }
  12839.                             if(!"".equals(v)) {
  12840.                                 this.getIntegrazioneAutenticazionePortaApplicativaRequestHeaders.add(v);
  12841.                             }
  12842.                         }
  12843.                     }
  12844.                 }
  12845.             }catch(java.lang.Exception e) {
  12846.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12847.                 throw new CoreException (e);
  12848.             }    
  12849.         }

  12850.         return this.getIntegrazioneAutenticazionePortaApplicativaRequestHeaders;
  12851.     }
  12852.    
  12853.     private Map<String, String> getIntegrazioneAutenticazionePortaApplicativaRequestHeadersMap = null;
  12854.     public Map<String, String> getIntegrazioneAutenticazionePortaApplicativaRequestHeadersMap() throws CoreException{
  12855.         String pNamePrefix = "org.openspcoop2.pdd.integrazione.autenticazione.pa.request.header.";
  12856.         if(this.getIntegrazioneAutenticazionePortaApplicativaRequestHeadersMap==null){
  12857.             try{
  12858.                
  12859.                 this.getIntegrazioneAutenticazionePortaApplicativaRequestHeadersMap = new HashMap<>();
  12860.                 List<String> getIntegrazioneAutenticazionePortaApplicativaRequestHeaders = getIntegrazioneAutenticazionePortaApplicativaRequestHeaders();
  12861.                 if(getIntegrazioneAutenticazionePortaApplicativaRequestHeaders!=null && !getIntegrazioneAutenticazionePortaApplicativaRequestHeaders.isEmpty()) {
  12862.                     for (String hdrName : getIntegrazioneAutenticazionePortaApplicativaRequestHeaders) {
  12863.                         String pName = pNamePrefix+hdrName;
  12864.                         try {
  12865.                             String hdrValue = this.reader.getValueConvertEnvProperties(pName);
  12866.                             if(hdrValue==null) {
  12867.                                 throw new CoreException(NON_DEFINITA);
  12868.                             }
  12869.                             hdrValue = hdrValue.trim();
  12870.                             this.getIntegrazioneAutenticazionePortaApplicativaRequestHeadersMap.put(hdrName, hdrValue);
  12871.                         }catch(java.lang.Exception e) {
  12872.                             throw new CoreException ("Proprietà '"+pName+"' "+e.getMessage(),e);
  12873.                         }  
  12874.                     }
  12875.                 }
  12876.             }catch(java.lang.Exception e) {
  12877.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNamePrefix+PROPERTY_START_SUFFIX_ERRORE+e.getMessage(),e);
  12878.                 throw new CoreException (e);
  12879.             }    
  12880.         }

  12881.         return this.getIntegrazioneAutenticazionePortaApplicativaRequestHeadersMap;
  12882.     }
  12883.    
  12884.     private String getIntegrazioneAutenticazionePropertyHeaders = null;
  12885.     public String getIntegrazioneAutenticazionePropertyHeaders() {
  12886.         String pName = "org.openspcoop2.pdd.integrazione.autenticazione.request.property.headers";
  12887.         if(this.getIntegrazioneAutenticazionePropertyHeaders==null){
  12888.             try{
  12889.                 String name = null;
  12890.                 name = this.reader.getValueConvertEnvProperties(pName);
  12891.                 if(name==null)
  12892.                     throw new CoreException(NON_DEFINITA);
  12893.                 name = name.trim();
  12894.                 this.getIntegrazioneAutenticazionePropertyHeaders = name;
  12895.             }catch(java.lang.Exception e) {
  12896.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12897.                 this.getIntegrazioneAutenticazionePropertyHeaders = null;
  12898.             }    
  12899.         }

  12900.         return this.getIntegrazioneAutenticazionePropertyHeaders;
  12901.     }
  12902.    
  12903.     private String getIntegrazioneAutenticazionePropertyHeaderPrefix = null;
  12904.     public String getIntegrazioneAutenticazionePropertyHeaderPrefix() {
  12905.         String pName = "org.openspcoop2.pdd.integrazione.autenticazione.request.property.header.prefix";
  12906.         if(this.getIntegrazioneAutenticazionePropertyHeaderPrefix==null){
  12907.             try{
  12908.                 String name = null;
  12909.                 name = this.reader.getValueConvertEnvProperties(pName);
  12910.                 if(name==null)
  12911.                     throw new CoreException(NON_DEFINITA);
  12912.                 name = name.trim();
  12913.                 this.getIntegrazioneAutenticazionePropertyHeaderPrefix = name;
  12914.             }catch(java.lang.Exception e) {
  12915.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12916.                 this.getIntegrazioneAutenticazionePropertyHeaderPrefix = null;
  12917.             }    
  12918.         }

  12919.         return this.getIntegrazioneAutenticazionePropertyHeaderPrefix;
  12920.     }


  12921.     /* ********  CONNETTORI  ******** */

  12922.     private Boolean isRitardoConsegnaAbilitato = null;
  12923.     public boolean isRitardoConsegnaAbilitato() throws CoreException{
  12924.         if(this.isRitardoConsegnaAbilitato==null){
  12925.             try{
  12926.                 String name = null;
  12927.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettore.ritardo.stato");
  12928.                 if(name==null)
  12929.                     throw new CoreException(NON_DEFINITA);
  12930.                 name = name.trim();
  12931.                 this.isRitardoConsegnaAbilitato = CostantiConfigurazione.ABILITATO.equals(name);

  12932.             }catch(java.lang.Exception e) {
  12933.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.connettore.ritardo.stato': "+e.getMessage(),e);
  12934.                 throw new CoreException (e);
  12935.             }    
  12936.         }

  12937.         return this.isRitardoConsegnaAbilitato;
  12938.     }

  12939.     private Long ritardoConsegnaEsponenziale = null;
  12940.     public long getRitardoConsegnaEsponenziale() {  
  12941.         if(this.ritardoConsegnaEsponenziale==null){
  12942.             try{
  12943.                 long r = -1;
  12944.                 String name = null;
  12945.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettore.ritardo.fattore");
  12946.                 if (name != null) {
  12947.                     name = name.trim();
  12948.                     r = java.lang.Long.parseLong(name);
  12949.                 }
  12950.                 if(r<0)
  12951.                     throw new CoreException("Il ritardo deve essere > 0");
  12952.                 this.ritardoConsegnaEsponenziale = r;
  12953.             }catch(java.lang.Exception e) {
  12954.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.connettore.ritardo.fattore': "+e.getMessage(),e);
  12955.                 this.ritardoConsegnaEsponenziale = -1L;
  12956.             }    
  12957.         }

  12958.         return this.ritardoConsegnaEsponenziale;
  12959.     }

  12960.     private Boolean isRitardoConsegnaEsponenzialeConMoltiplicazione = null;
  12961.     public boolean isRitardoConsegnaEsponenzialeConMoltiplicazione() throws CoreException{
  12962.         if(this.isRitardoConsegnaEsponenzialeConMoltiplicazione==null){
  12963.             try{
  12964.                 String name = null;
  12965.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettore.ritardo.operazione");
  12966.                 if (name != null) {
  12967.                     name = name.trim();
  12968.                     if(name.equals("+")){
  12969.                         this.isRitardoConsegnaEsponenzialeConMoltiplicazione = false;
  12970.                     }else if(name.equals("*")){
  12971.                         this.isRitardoConsegnaEsponenzialeConMoltiplicazione = true;
  12972.                     }else{
  12973.                         throw new CoreException("Tipo di operazione non conosciuta: "+name);
  12974.                     }
  12975.                 }else{
  12976.                     throw new CoreException("Tipo di operazione non definita");
  12977.                 }
  12978.             }catch(java.lang.Exception e) {
  12979.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.connettore.ritardo.operazione': "+e.getMessage(),e);
  12980.                 throw new CoreException (e);
  12981.             }    
  12982.         }

  12983.         return this.isRitardoConsegnaEsponenzialeConMoltiplicazione;
  12984.     }

  12985.     private Long ritardoConsegnaEsponenzialeLimite = null;
  12986.     public long getRitardoConsegnaEsponenzialeLimite() {    
  12987.         if(this.ritardoConsegnaEsponenzialeLimite==null){
  12988.             try{
  12989.                 long r = 0;
  12990.                 String name = null;
  12991.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettore.ritardo.limite");
  12992.                 if (name != null) {
  12993.                     name = name.trim();
  12994.                     r = java.lang.Long.parseLong(name);
  12995.                 }
  12996.                 if(r<=0)
  12997.                     throw new CoreException("Il limite deve essere > 0");
  12998.                 this.ritardoConsegnaEsponenzialeLimite = r;
  12999.             }catch(java.lang.Exception e) {
  13000.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.connettore.ritardo.limite': "+e.getMessage(),e);
  13001.                 this.ritardoConsegnaEsponenzialeLimite = -1L;
  13002.             }    
  13003.         }

  13004.         return this.ritardoConsegnaEsponenzialeLimite;
  13005.     }














  13006.     /* ************* CACHE GESTORE MESSAGGIO *******************/

  13007.     /**
  13008.      * Restituisce l'indicazione se la cache e' abilitata
  13009.      *
  13010.      * @return Restituisce l'indicazione se la cache e' abilitata
  13011.      */
  13012.     private Boolean isAbilitataCacheGestoreMessaggi_value = null;
  13013.     public boolean isAbilitataCacheGestoreMessaggi() {
  13014.         if(this.isAbilitataCacheGestoreMessaggi_value==null){
  13015.             try{  
  13016.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.gestoreMessaggi.cache.enable");

  13017.                 if (value != null){
  13018.                     value = value.trim();
  13019.                     this.isAbilitataCacheGestoreMessaggi_value = Boolean.parseBoolean(value);
  13020.                 }else{
  13021.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.gestoreMessaggi.cache.enable' non impostata, viene utilizzato il default=false");
  13022.                     this.isAbilitataCacheGestoreMessaggi_value = false;
  13023.                 }
  13024.             }catch(java.lang.Exception e) {
  13025.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.gestoreMessaggi.cache.enable' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  13026.                 this.isAbilitataCacheGestoreMessaggi_value = false;
  13027.             }
  13028.         }

  13029.         return this.isAbilitataCacheGestoreMessaggi_value;
  13030.     }

  13031.     /**
  13032.      * Restituisce la dimensione della cache
  13033.      *
  13034.      * @return Restituisce la dimensione della cache
  13035.      */
  13036.     private Integer dimensioneCacheGestoreMessaggi_value = null;
  13037.     public int getDimensioneCacheGestoreMessaggi() throws OpenSPCoop2ConfigurationException{    
  13038.         if(this.dimensioneCacheGestoreMessaggi_value==null){
  13039.             try{  
  13040.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.gestoreMessaggi.cache.dimensione");
  13041.                 if(value!=null){
  13042.                     value = value.trim();
  13043.                     this.dimensioneCacheGestoreMessaggi_value = Integer.parseInt(value);
  13044.                 }else{
  13045.                     this.dimensioneCacheGestoreMessaggi_value = -1;
  13046.                 }
  13047.             }catch(java.lang.Exception e) {
  13048.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.gestoreMessaggi.cache.dimensione': "+e.getMessage(),e);
  13049.                 throw new OpenSPCoop2ConfigurationException("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.gestoreMessaggi.cache.dimensione'",e);
  13050.             }
  13051.         }

  13052.         return this.dimensioneCacheGestoreMessaggi_value;
  13053.     }

  13054.     /**
  13055.      * Restituisce l'algoritmo della cache
  13056.      *
  13057.      * @return Restituisce l'algoritmo della cache
  13058.      */
  13059.     private String algoritmoCacheGestoreMessaggi_value = null;
  13060.     public String getAlgoritmoCacheGestoreMessaggi() throws OpenSPCoop2ConfigurationException{  
  13061.         if(this.algoritmoCacheGestoreMessaggi_value==null){
  13062.             try{  
  13063.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.gestoreMessaggi.cache.algoritmo");
  13064.                 if(value!=null){
  13065.                     value = value.trim();
  13066.                     this.algoritmoCacheGestoreMessaggi_value = value;
  13067.                 }else{
  13068.                     this.algoritmoCacheGestoreMessaggi_value = null;
  13069.                 }
  13070.             }catch(java.lang.Exception e) {
  13071.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.gestoreMessaggi.cache.algoritmo': "+e.getMessage(),e);
  13072.                 throw new OpenSPCoop2ConfigurationException("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.gestoreMessaggi.cache.algoritmo'",e);
  13073.             }
  13074.         }

  13075.         return this.algoritmoCacheGestoreMessaggi_value;
  13076.     }

  13077.     /**
  13078.      * Restituisce la itemIdleTime della cache
  13079.      *
  13080.      * @return Restituisce la itemIdleTime della cache
  13081.      */
  13082.     private Integer itemIdleTimeCacheGestoreMessaggi_value = null;
  13083.     public int getItemIdleTimeCacheGestoreMessaggi() throws OpenSPCoop2ConfigurationException{  
  13084.         if(this.itemIdleTimeCacheGestoreMessaggi_value==null){
  13085.             try{  
  13086.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.gestoreMessaggi.cache.itemIdleTime");
  13087.                 if(value!=null){
  13088.                     value = value.trim();
  13089.                     this.itemIdleTimeCacheGestoreMessaggi_value = Integer.parseInt(value);
  13090.                 }else{
  13091.                     this.itemIdleTimeCacheGestoreMessaggi_value = -1;
  13092.                 }
  13093.             }catch(java.lang.Exception e) {
  13094.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.gestoreMessaggi.cache.itemIdleTime': "+e.getMessage(),e);
  13095.                 throw new OpenSPCoop2ConfigurationException("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.gestoreMessaggi.cache.itemIdleTime'",e);
  13096.             }
  13097.         }

  13098.         return this.itemIdleTimeCacheGestoreMessaggi_value;
  13099.     }

  13100.     /**
  13101.      * Restituisce la  itemLifeSecond della cache
  13102.      *
  13103.      * @return Restituisce la itemLifeSecond della cache
  13104.      */
  13105.     private Integer itemLifeSecondCacheGestoreMessaggi_value = null;
  13106.     public int getItemLifeSecondCacheGestoreMessaggi() throws OpenSPCoop2ConfigurationException{
  13107.         if(this.itemLifeSecondCacheGestoreMessaggi_value==null){
  13108.             try{  
  13109.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.gestoreMessaggi.cache.itemLifeSecond");
  13110.                 if(value!=null){
  13111.                     value = value.trim();
  13112.                     this.itemLifeSecondCacheGestoreMessaggi_value = Integer.parseInt(value);
  13113.                 }else{
  13114.                     this.itemLifeSecondCacheGestoreMessaggi_value = -1;
  13115.                 }
  13116.             }catch(java.lang.Exception e) {
  13117.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.gestoreMessaggi.cache.itemLifeSecond': "+e.getMessage(),e);
  13118.                 throw new OpenSPCoop2ConfigurationException("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.gestoreMessaggi.cache.itemLifeSecond'",e);
  13119.             }
  13120.         }

  13121.         return this.itemLifeSecondCacheGestoreMessaggi_value;
  13122.     }





  13123.     /* ******* GESTORE JMX *********** */
  13124.     /**
  13125.      * Restituisce l'indicazione se istanziare le risorse JMX
  13126.      *
  13127.      * @return Restituisce Restituisce l'indicazione se istanziare le risorse JMX
  13128.      *
  13129.      */
  13130.     private Boolean isRisorseJMXAbilitate = null;
  13131.     public boolean isRisorseJMXAbilitate(){
  13132.         if(this.isRisorseJMXAbilitate==null){
  13133.             try{  
  13134.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.core.jmx.enable");

  13135.                 if (value != null){
  13136.                     value = value.trim();
  13137.                     this.isRisorseJMXAbilitate = Boolean.parseBoolean(value);
  13138.                 }else{
  13139.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.jmx.enable' non impostata, viene utilizzato il default=false");
  13140.                     this.isRisorseJMXAbilitate = false;
  13141.                 }

  13142.             }catch(java.lang.Exception e) {
  13143.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.jmx.enable' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  13144.                 this.isRisorseJMXAbilitate = false;
  13145.             }
  13146.         }

  13147.         return this.isRisorseJMXAbilitate;
  13148.     }

  13149.     /**
  13150.      * Restituisce il Nome JNDI del MBeanServer
  13151.      *
  13152.      * @return il Nome JNDI del MBeanServer
  13153.      *
  13154.      */
  13155.     private String jndiNameMBeanServer = null;
  13156.     public String getJNDIName_MBeanServer() {  
  13157.         if(this.jndiNameMBeanServer==null){
  13158.             try{
  13159.                 String name = null;
  13160.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.core.jmx.jndi.mbeanServer");
  13161.                 if(name!=null)
  13162.                     name = name.trim();
  13163.                 this.jndiNameMBeanServer = name;
  13164.             }catch(java.lang.Exception e) {
  13165.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.core.jmx.jndi.mbeanServer': "+e.getMessage(),e);
  13166.                 this.jndiNameMBeanServer = null;
  13167.             }    
  13168.         }

  13169.         return this.jndiNameMBeanServer;
  13170.     }

  13171.     /**
  13172.      * Restituisce le proprieta' da utilizzare con il contesto JNDI di lookup, se impostate.
  13173.      *
  13174.      * @return proprieta' da utilizzare con il contesto JNDI di lookup.
  13175.      *
  13176.      */
  13177.     private java.util.Properties jndiContextMBeanServer = null;
  13178.     public java.util.Properties getJNDIContext_MBeanServer() {
  13179.         if(this.jndiContextMBeanServer==null){
  13180.             java.util.Properties prop = new java.util.Properties();
  13181.             try{

  13182.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.core.jmx.jndi.property.");
  13183.                 this.jndiContextMBeanServer = prop;

  13184.             }catch(java.lang.Exception e) {
  13185.                 this.logError("Riscontrato errore durante la lettura delle propriete' JNDI 'org.openspcoop2.pdd.core.jmx.jndi.property.*': "+e.getMessage(),e);
  13186.                 this.jndiContextMBeanServer = null;
  13187.             }    
  13188.         }

  13189.         return this.jndiContextMBeanServer;
  13190.     }









  13191.     /* ************* CONNETTORI ***************** */
  13192.    
  13193.     private Boolean isConnettoriUseLimitedInputStream = null;
  13194.     public boolean isConnettoriUseLimitedInputStream() {    
  13195.         if(this.isConnettoriUseLimitedInputStream==null){
  13196.             String pName = "org.openspcoop2.pdd.connettori.useLimitedInputStream";
  13197.             try{
  13198.                 String name = null;
  13199.                 name = this.reader.getValueConvertEnvProperties(pName);
  13200.                 if(name!=null){
  13201.                     name = name.trim();
  13202.                     this.isConnettoriUseLimitedInputStream = Boolean.parseBoolean(name);
  13203.                 }else{
  13204.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  13205.                     this.isConnettoriUseLimitedInputStream = false;
  13206.                 }
  13207.             }catch(java.lang.Exception e) {
  13208.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  13209.                 this.isConnettoriUseLimitedInputStream = false;
  13210.             }  
  13211.         }

  13212.         return this.isConnettoriUseLimitedInputStream;
  13213.     }
  13214.    
  13215.     private Long getLimitedInputStreamThreshold = null;
  13216.     private boolean limitedInputStreamThresholdDefined = false;
  13217.     public boolean isLimitedInputStreamThresholdDefined() {
  13218.         return this.limitedInputStreamThresholdDefined;
  13219.     }
  13220.     public long getLimitedInputStreamThresholdKb() {    
  13221.         if(this.getLimitedInputStreamThreshold==null){
  13222.             String pName = "org.openspcoop2.pdd.connettori.limitedInputStream.threshold";
  13223.             try{
  13224.                 String name = null;
  13225.                 name = this.reader.getValueConvertEnvProperties(pName);
  13226.                 if(name!=null){
  13227.                     name = name.trim();
  13228.                     this.getLimitedInputStreamThreshold = java.lang.Long.valueOf(name);
  13229.                     this.limitedInputStreamThresholdDefined = true;
  13230.                 }else{
  13231.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, Integer.MAX_VALUE));
  13232.                     this.getLimitedInputStreamThreshold = (long)Integer.MAX_VALUE;
  13233.                 }
  13234.             }catch(java.lang.Exception e) {
  13235.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, Integer.MAX_VALUE),e);
  13236.                 this.getLimitedInputStreamThreshold = (long)Integer.MAX_VALUE;
  13237.             }  
  13238.         }

  13239.         return this.getLimitedInputStreamThreshold;
  13240.     }
  13241.    
  13242.     private Boolean isLimitedInputStreamUseContentLength = null;
  13243.     public boolean isLimitedInputStreamUseContentLength() {
  13244.         if(this.isLimitedInputStreamUseContentLength==null){
  13245.             String pName = "org.openspcoop2.pdd.connettori.limitedInputStream.useContentLength";
  13246.             try{
  13247.                 String name = null;
  13248.                 name = this.reader.getValueConvertEnvProperties(pName);
  13249.                 if(name!=null){
  13250.                     name = name.trim();
  13251.                     this.isLimitedInputStreamUseContentLength = Boolean.parseBoolean(name);
  13252.                 }else{
  13253.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  13254.                     this.isLimitedInputStreamUseContentLength = true;
  13255.                 }
  13256.             }catch(java.lang.Exception e) {
  13257.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  13258.                 this.isLimitedInputStreamUseContentLength = true;
  13259.             }  
  13260.         }

  13261.         return this.isLimitedInputStreamUseContentLength;
  13262.     }
  13263.    
  13264.     private Boolean isLimitedInputStreamUseContentLengthAcceptZeroValue = null;
  13265.     public boolean isLimitedInputStreamUseContentLengthAcceptZeroValue() {  
  13266.         if(this.isLimitedInputStreamUseContentLengthAcceptZeroValue==null){
  13267.             String pName = "org.openspcoop2.pdd.connettori.limitedInputStream.useContentLength.acceptZeroValue";
  13268.             try{
  13269.                 String name = null;
  13270.                 name = this.reader.getValueConvertEnvProperties(pName);
  13271.                 if(name!=null){
  13272.                     name = name.trim();
  13273.                     this.isLimitedInputStreamUseContentLengthAcceptZeroValue = Boolean.parseBoolean(name);
  13274.                 }else{
  13275.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  13276.                     this.isLimitedInputStreamUseContentLengthAcceptZeroValue = true;
  13277.                 }
  13278.             }catch(java.lang.Exception e) {
  13279.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  13280.                 this.isLimitedInputStreamUseContentLengthAcceptZeroValue = true;
  13281.             }  
  13282.         }

  13283.         return this.isLimitedInputStreamUseContentLengthAcceptZeroValue;
  13284.     }
  13285.    
  13286.     private Boolean isConnettoriUseTimeoutInputStream = null;
  13287.     public boolean isConnettoriUseTimeoutInputStream() {    
  13288.         if(this.isConnettoriUseTimeoutInputStream==null){
  13289.             String pName = "org.openspcoop2.pdd.connettori.useTimeoutInputStream";
  13290.             try{
  13291.                 String name = null;
  13292.                 name = this.reader.getValueConvertEnvProperties(pName);
  13293.                 if(name!=null){
  13294.                     name = name.trim();
  13295.                     this.isConnettoriUseTimeoutInputStream = Boolean.parseBoolean(name);
  13296.                 }else{
  13297.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  13298.                     this.isConnettoriUseTimeoutInputStream = false;
  13299.                 }
  13300.             }catch(java.lang.Exception e) {
  13301.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  13302.                 this.isConnettoriUseTimeoutInputStream = false;
  13303.             }  
  13304.         }

  13305.         return this.isConnettoriUseTimeoutInputStream;
  13306.     }
  13307.    
  13308.     /**
  13309.      * Restituisce timeout per la istanziazione della connessione
  13310.      *
  13311.      * @return Restituisce timeout per la istanziazione della connessione
  13312.      *
  13313.      */
  13314.     private Integer connectionTimeout_inoltroBuste = null;
  13315.     public int getConnectionTimeout_inoltroBuste() {    
  13316.         if(this.connectionTimeout_inoltroBuste==null){
  13317.             try{
  13318.                 String name = null;
  13319.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.connection.timeout");
  13320.                 if(name!=null){
  13321.                     name = name.trim();
  13322.                     this.connectionTimeout_inoltroBuste = java.lang.Integer.parseInt(name);
  13323.                 }else{
  13324.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.connection.timeout' non impostata, viene utilizzato il default="+CostantiPdD.CONNETTORE_CONNECTION_TIMEOUT_INOLTRO_BUSTE);
  13325.                     this.connectionTimeout_inoltroBuste = CostantiPdD.CONNETTORE_CONNECTION_TIMEOUT_INOLTRO_BUSTE;
  13326.                 }
  13327.             }catch(java.lang.Exception e) {
  13328.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.connection.timeout' non impostata, viene utilizzato il default="+CostantiPdD.CONNETTORE_CONNECTION_TIMEOUT_INOLTRO_BUSTE+", errore:"+e.getMessage(),e);
  13329.                 this.connectionTimeout_inoltroBuste = CostantiPdD.CONNETTORE_CONNECTION_TIMEOUT_INOLTRO_BUSTE;
  13330.             }  
  13331.         }

  13332.         return this.connectionTimeout_inoltroBuste;
  13333.     }


  13334.     /**
  13335.      * Restituisce timeout per la istanziazione della connessione
  13336.      *
  13337.      * @return Restituisce timeout per la istanziazione della connessione
  13338.      *
  13339.      */
  13340.     private Integer connectionTimeout_consegnaContenutiApplicativi = null;
  13341.     public int getConnectionTimeout_consegnaContenutiApplicativi() {    
  13342.         if(this.connectionTimeout_consegnaContenutiApplicativi==null){
  13343.             try{
  13344.                 String name = null;
  13345.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.connection.timeout");
  13346.                 if(name!=null){
  13347.                     name = name.trim();
  13348.                     this.connectionTimeout_consegnaContenutiApplicativi = java.lang.Integer.parseInt(name);
  13349.                 }else{
  13350.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.connection.timeout' non impostata, viene utilizzato il default="+CostantiPdD.CONNETTORE_CONNECTION_TIMEOUT_CONSEGNA_CONTENUTI_APPLICATIVI);
  13351.                     this.connectionTimeout_consegnaContenutiApplicativi = CostantiPdD.CONNETTORE_CONNECTION_TIMEOUT_CONSEGNA_CONTENUTI_APPLICATIVI;
  13352.                 }
  13353.             }catch(java.lang.Exception e) {
  13354.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.connection.timeout' non impostata, viene utilizzato il default="+CostantiPdD.CONNETTORE_CONNECTION_TIMEOUT_CONSEGNA_CONTENUTI_APPLICATIVI+", errore:"+e.getMessage(),e);
  13355.                 this.connectionTimeout_consegnaContenutiApplicativi = CostantiPdD.CONNETTORE_CONNECTION_TIMEOUT_CONSEGNA_CONTENUTI_APPLICATIVI;
  13356.             }  
  13357.         }

  13358.         return this.connectionTimeout_consegnaContenutiApplicativi;
  13359.     }


  13360.     /**
  13361.      * Restituisce timeout per la lettura dalla connessione
  13362.      *
  13363.      * @return Restituisce timeout per la lettura dalla connessione
  13364.      *
  13365.      */
  13366.     private Integer readConnectionTimeout_inoltroBuste = null;
  13367.     public int getReadConnectionTimeout_inoltroBuste() {    
  13368.         if(this.readConnectionTimeout_inoltroBuste==null){
  13369.             try{
  13370.                 String name = null;
  13371.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.readConnection.timeout");
  13372.                 if(name!=null){
  13373.                     name = name.trim();
  13374.                     this.readConnectionTimeout_inoltroBuste = java.lang.Integer.parseInt(name);
  13375.                 }else{
  13376.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.readConnection.timeout' non impostata, viene utilizzato il default="+CostantiPdD.CONNETTORE_READ_CONNECTION_TIMEOUT_INOLTRO_BUSTE);
  13377.                     this.readConnectionTimeout_inoltroBuste = CostantiPdD.CONNETTORE_READ_CONNECTION_TIMEOUT_INOLTRO_BUSTE;
  13378.                 }
  13379.             }catch(java.lang.Exception e) {
  13380.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.readConnection.timeout' non impostata, viene utilizzato il default="+CostantiPdD.CONNETTORE_READ_CONNECTION_TIMEOUT_INOLTRO_BUSTE+", errore:"+e.getMessage(),e);
  13381.                 this.readConnectionTimeout_inoltroBuste = CostantiPdD.CONNETTORE_READ_CONNECTION_TIMEOUT_INOLTRO_BUSTE;
  13382.             }  
  13383.         }

  13384.         return this.readConnectionTimeout_inoltroBuste;
  13385.     }


  13386.     /**
  13387.      * Restituisce timeout per la lettura dalla connessione
  13388.      *
  13389.      * @return Restituisce timeout per la lettura dalla connessione
  13390.      *
  13391.      */
  13392.     private Integer readConnectionTimeout_consegnaContenutiApplicativi = null;
  13393.     public int getReadConnectionTimeout_consegnaContenutiApplicativi() {    
  13394.         if(this.readConnectionTimeout_consegnaContenutiApplicativi==null){
  13395.             try{
  13396.                 String name = null;
  13397.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.readConnection.timeout");
  13398.                 if(name!=null){
  13399.                     name = name.trim();
  13400.                     this.readConnectionTimeout_consegnaContenutiApplicativi = java.lang.Integer.parseInt(name);
  13401.                 }else{
  13402.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.readConnection.timeout' non impostata, viene utilizzato il default="+CostantiPdD.CONNETTORE_READ_CONNECTION_TIMEOUT_CONSEGNA_CONTENUTI_APPLICATIVI);
  13403.                     this.readConnectionTimeout_consegnaContenutiApplicativi = CostantiPdD.CONNETTORE_READ_CONNECTION_TIMEOUT_CONSEGNA_CONTENUTI_APPLICATIVI;
  13404.                 }
  13405.             }catch(java.lang.Exception e) {
  13406.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.readConnection.timeout' non impostata, viene utilizzato il default="+CostantiPdD.CONNETTORE_READ_CONNECTION_TIMEOUT_CONSEGNA_CONTENUTI_APPLICATIVI+", errore:"+e.getMessage(),e);
  13407.                 this.readConnectionTimeout_consegnaContenutiApplicativi = CostantiPdD.CONNETTORE_READ_CONNECTION_TIMEOUT_CONSEGNA_CONTENUTI_APPLICATIVI;
  13408.             }  
  13409.         }

  13410.         return this.readConnectionTimeout_consegnaContenutiApplicativi;
  13411.     }

  13412.     /**
  13413.      * Restituisce timeout in millisecondi massimi durante il quale una connessione viene mantenuta aperta dalla PdD.
  13414.      *
  13415.      * @return Restituisce timeout in millisecondi massimi durante il quale una connessione viene mantenuta aperta dalla PdD.
  13416.      *
  13417.      */
  13418.     private Integer connectionLife_inoltroBuste = null;
  13419.     public int getConnectionLife_inoltroBuste() {  
  13420.         if(this.connectionLife_inoltroBuste==null){
  13421.             try{
  13422.                 String name = null;
  13423.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.connection.life");
  13424.                 if(name!=null){
  13425.                     name = name.trim();
  13426.                     this.connectionLife_inoltroBuste = java.lang.Integer.parseInt(name);
  13427.                 }else{
  13428.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.connection.life' non impostata, viene utilizzato il default="+CostantiPdD.CONNETTORE_CONNECTION_LIFE_INOLTRO_BUSTE);
  13429.                     this.connectionLife_inoltroBuste = CostantiPdD.CONNETTORE_CONNECTION_LIFE_INOLTRO_BUSTE;
  13430.                 }
  13431.             }catch(java.lang.Exception e) {
  13432.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.connection.life' non impostata, viene utilizzato il default="+CostantiPdD.CONNETTORE_CONNECTION_LIFE_INOLTRO_BUSTE+", errore:"+e.getMessage(),e);
  13433.                 this.connectionLife_inoltroBuste = CostantiPdD.CONNETTORE_CONNECTION_LIFE_INOLTRO_BUSTE;
  13434.             }  
  13435.         }

  13436.         return this.connectionLife_inoltroBuste;
  13437.     }


  13438.     /**
  13439.      * Restituisce timeout in millisecondi massimi durante il quale una connessione viene mantenuta aperta dalla PdD.
  13440.      *
  13441.      * @return Restituisce timeout in millisecondi massimi durante il quale una connessione viene mantenuta aperta dalla PdD.
  13442.      *
  13443.      */
  13444.     private Integer connectionLife_consegnaContenutiApplicativi = null;
  13445.     public int getConnectionLife_consegnaContenutiApplicativi() {  
  13446.         if(this.connectionLife_consegnaContenutiApplicativi==null){
  13447.             try{
  13448.                 String name = null;
  13449.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.connection.life");
  13450.                 if(name!=null){
  13451.                     name = name.trim();
  13452.                     this.connectionLife_consegnaContenutiApplicativi = java.lang.Integer.parseInt(name);
  13453.                 }else{
  13454.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.connection.life' non impostata, viene utilizzato il default="+CostantiPdD.CONNETTORE_CONNECTION_LIFE_CONSEGNA_CONTENUTI_APPLICATIVI);
  13455.                     this.connectionLife_consegnaContenutiApplicativi = CostantiPdD.CONNETTORE_CONNECTION_LIFE_CONSEGNA_CONTENUTI_APPLICATIVI;
  13456.                 }
  13457.             }catch(java.lang.Exception e) {
  13458.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.connection.life' non impostata, viene utilizzato il default="+CostantiPdD.CONNETTORE_CONNECTION_LIFE_CONSEGNA_CONTENUTI_APPLICATIVI+", errore:"+e.getMessage(),e);
  13459.                 this.connectionLife_consegnaContenutiApplicativi = CostantiPdD.CONNETTORE_CONNECTION_LIFE_CONSEGNA_CONTENUTI_APPLICATIVI;
  13460.             }  
  13461.         }

  13462.         return this.connectionLife_consegnaContenutiApplicativi;
  13463.     }

  13464.    
  13465.     private Integer readConnectionTimeout_ricezioneContenutiApplicativi = null;
  13466.     public int getReadConnectionTimeout_ricezioneContenutiApplicativi() {  
  13467.         String pName = "org.openspcoop2.pdd.connettori.ricezioneContenutiApplicativi.readConnection.timeout";
  13468.         if(this.readConnectionTimeout_ricezioneContenutiApplicativi==null){
  13469.             try{
  13470.                 String name = null;
  13471.                 name = this.reader.getValueConvertEnvProperties(pName);
  13472.                 if(name!=null){
  13473.                     name = name.trim();
  13474.                     this.readConnectionTimeout_ricezioneContenutiApplicativi = java.lang.Integer.parseInt(name);
  13475.                 }else{
  13476.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,CostantiPdD.CONNETTORE_READ_CONNECTION_TIMEOUT_INOLTRO_BUSTE));
  13477.                     this.readConnectionTimeout_ricezioneContenutiApplicativi = CostantiPdD.CONNETTORE_READ_CONNECTION_TIMEOUT_INOLTRO_BUSTE;
  13478.                 }
  13479.             }catch(java.lang.Exception e) {
  13480.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,CostantiPdD.CONNETTORE_READ_CONNECTION_TIMEOUT_INOLTRO_BUSTE),e);
  13481.                 this.readConnectionTimeout_ricezioneContenutiApplicativi = CostantiPdD.CONNETTORE_READ_CONNECTION_TIMEOUT_INOLTRO_BUSTE;
  13482.             }  
  13483.         }

  13484.         return this.readConnectionTimeout_ricezioneContenutiApplicativi;
  13485.     }
  13486.    
  13487.     private Integer readConnectionTimeout_ricezioneBuste = null;
  13488.     public int getReadConnectionTimeout_ricezioneBuste() {  
  13489.         String pName = "org.openspcoop2.pdd.connettori.ricezioneBuste.readConnection.timeout";
  13490.         if(this.readConnectionTimeout_ricezioneBuste==null){
  13491.             try{
  13492.                 String name = null;
  13493.                 name = this.reader.getValueConvertEnvProperties(pName);
  13494.                 if(name!=null){
  13495.                     name = name.trim();
  13496.                     this.readConnectionTimeout_ricezioneBuste = java.lang.Integer.parseInt(name);
  13497.                 }else{
  13498.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,CostantiPdD.CONNETTORE_READ_CONNECTION_TIMEOUT_INOLTRO_BUSTE));
  13499.                     this.readConnectionTimeout_ricezioneBuste = CostantiPdD.CONNETTORE_READ_CONNECTION_TIMEOUT_INOLTRO_BUSTE;
  13500.                 }
  13501.             }catch(java.lang.Exception e) {
  13502.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,CostantiPdD.CONNETTORE_READ_CONNECTION_TIMEOUT_INOLTRO_BUSTE),e);
  13503.                 this.readConnectionTimeout_ricezioneBuste = CostantiPdD.CONNETTORE_READ_CONNECTION_TIMEOUT_INOLTRO_BUSTE;
  13504.             }  
  13505.         }

  13506.         return this.readConnectionTimeout_ricezioneBuste;
  13507.     }
  13508.    
  13509.    
  13510.    
  13511.     private Boolean isConnettoriUseDiagnosticInputStream_inoltroBuste = null;
  13512.     public boolean isConnettoriUseDiagnosticInputStream_inoltroBuste() {    
  13513.         if(this.isConnettoriUseDiagnosticInputStream_inoltroBuste==null){
  13514.             String pName = "org.openspcoop2.pdd.connettori.inoltroBuste.useDiagnosticInputStream";
  13515.             try{
  13516.                 String name = null;
  13517.                 name = this.reader.getValueConvertEnvProperties(pName);
  13518.                 if(name!=null){
  13519.                     name = name.trim();
  13520.                     this.isConnettoriUseDiagnosticInputStream_inoltroBuste = Boolean.parseBoolean(name);
  13521.                 }else{
  13522.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  13523.                     this.isConnettoriUseDiagnosticInputStream_inoltroBuste = true;
  13524.                 }
  13525.             }catch(java.lang.Exception e) {
  13526.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  13527.                 this.isConnettoriUseDiagnosticInputStream_inoltroBuste = true;
  13528.             }  
  13529.         }

  13530.         return this.isConnettoriUseDiagnosticInputStream_inoltroBuste;
  13531.     }
  13532.    
  13533.     private Boolean isConnettoriUseDiagnosticInputStream_consegnaContenutiApplicativi = null;
  13534.     public boolean isConnettoriUseDiagnosticInputStream_consegnaContenutiApplicativi() {    
  13535.         if(this.isConnettoriUseDiagnosticInputStream_consegnaContenutiApplicativi==null){
  13536.             String pName = "org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.useDiagnosticInputStream";
  13537.             try{
  13538.                 String name = null;
  13539.                 name = this.reader.getValueConvertEnvProperties(pName);
  13540.                 if(name!=null){
  13541.                     name = name.trim();
  13542.                     this.isConnettoriUseDiagnosticInputStream_consegnaContenutiApplicativi = Boolean.parseBoolean(name);
  13543.                 }else{
  13544.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  13545.                     this.isConnettoriUseDiagnosticInputStream_consegnaContenutiApplicativi = true;
  13546.                 }
  13547.             }catch(java.lang.Exception e) {
  13548.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  13549.                 this.isConnettoriUseDiagnosticInputStream_consegnaContenutiApplicativi = true;
  13550.             }  
  13551.         }

  13552.         return this.isConnettoriUseDiagnosticInputStream_consegnaContenutiApplicativi;
  13553.     }
  13554.    
  13555.     private Boolean isConnettoriUseDiagnosticInputStream_ricezioneContenutiApplicativi = null;
  13556.     public boolean isConnettoriUseDiagnosticInputStream_ricezioneContenutiApplicativi() {  
  13557.         if(this.isConnettoriUseDiagnosticInputStream_ricezioneContenutiApplicativi==null){
  13558.             String pName = "org.openspcoop2.pdd.connettori.ricezioneContenutiApplicativi.useDiagnosticInputStream";
  13559.             try{
  13560.                 String name = null;
  13561.                 name = this.reader.getValueConvertEnvProperties(pName);
  13562.                 if(name!=null){
  13563.                     name = name.trim();
  13564.                     this.isConnettoriUseDiagnosticInputStream_ricezioneContenutiApplicativi = Boolean.parseBoolean(name);
  13565.                 }else{
  13566.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  13567.                     this.isConnettoriUseDiagnosticInputStream_ricezioneContenutiApplicativi = true;
  13568.                 }
  13569.             }catch(java.lang.Exception e) {
  13570.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  13571.                 this.isConnettoriUseDiagnosticInputStream_ricezioneContenutiApplicativi = true;
  13572.             }  
  13573.         }

  13574.         return this.isConnettoriUseDiagnosticInputStream_ricezioneContenutiApplicativi;
  13575.     }
  13576.    
  13577.     private Boolean isConnettoriUseDiagnosticInputStream_ricezioneBuste = null;
  13578.     public boolean isConnettoriUseDiagnosticInputStream_ricezioneBuste() {  
  13579.         if(this.isConnettoriUseDiagnosticInputStream_ricezioneBuste==null){
  13580.             String pName = "org.openspcoop2.pdd.connettori.ricezioneBuste.useDiagnosticInputStream";
  13581.             try{
  13582.                 String name = null;
  13583.                 name = this.reader.getValueConvertEnvProperties(pName);
  13584.                 if(name!=null){
  13585.                     name = name.trim();
  13586.                     this.isConnettoriUseDiagnosticInputStream_ricezioneBuste = Boolean.parseBoolean(name);
  13587.                 }else{
  13588.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  13589.                     this.isConnettoriUseDiagnosticInputStream_ricezioneBuste = true;
  13590.                 }
  13591.             }catch(java.lang.Exception e) {
  13592.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  13593.                 this.isConnettoriUseDiagnosticInputStream_ricezioneBuste = true;
  13594.             }  
  13595.         }

  13596.         return this.isConnettoriUseDiagnosticInputStream_ricezioneBuste;
  13597.     }
  13598.    
  13599.    
  13600.     private Boolean isConnettoriUseDiagnosticInputStream_setDateEmptyStream = null;
  13601.     public boolean isConnettoriUseDiagnosticInputStream_setDateEmptyStream() {  
  13602.         if(this.isConnettoriUseDiagnosticInputStream_setDateEmptyStream==null){
  13603.             String pName = "org.openspcoop2.pdd.connettori.useDiagnosticInputStream.setDateEmptyStream";
  13604.             try{
  13605.                 String name = null;
  13606.                 name = this.reader.getValueConvertEnvProperties(pName);
  13607.                 if(name!=null){
  13608.                     name = name.trim();
  13609.                     this.isConnettoriUseDiagnosticInputStream_setDateEmptyStream = Boolean.parseBoolean(name);
  13610.                 }else{
  13611.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  13612.                     this.isConnettoriUseDiagnosticInputStream_setDateEmptyStream = false;
  13613.                 }
  13614.             }catch(java.lang.Exception e) {
  13615.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  13616.                 this.isConnettoriUseDiagnosticInputStream_setDateEmptyStream = false;
  13617.             }  
  13618.         }

  13619.         return this.isConnettoriUseDiagnosticInputStream_setDateEmptyStream;
  13620.     }
  13621.    
  13622.    
  13623.    

  13624.     /* ***************** HTTPS  ************* */
  13625.    
  13626.     private Boolean isConnettoreHttps_useSecureRandom = null;
  13627.     public boolean isConnettoreHttps_useSecureRandom() {    
  13628.         if(this.isConnettoreHttps_useSecureRandom==null){
  13629.             String pName = "org.openspcoop2.pdd.connettori.secureRandom";
  13630.             try{
  13631.                 String name = null;
  13632.                 name = this.reader.getValueConvertEnvProperties(pName);
  13633.                 if(name!=null){
  13634.                     name = name.trim();
  13635.                     this.isConnettoreHttps_useSecureRandom = Boolean.parseBoolean(name);
  13636.                 }else{
  13637.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  13638.                     this.isConnettoreHttps_useSecureRandom = false;
  13639.                 }
  13640.             }catch(java.lang.Exception e) {
  13641.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  13642.                 this.isConnettoreHttps_useSecureRandom = false;
  13643.             }  
  13644.         }

  13645.         return this.isConnettoreHttps_useSecureRandom;
  13646.     }
  13647.     private String getConnettoreHttps_secureRandomAlgo = null;
  13648.     private Boolean getConnettoreHttps_secureRandomAlgoRead = null;
  13649.     public String getConnettoreHttps_secureRandomAlgo() {  
  13650.         if(this.getConnettoreHttps_secureRandomAlgoRead==null){
  13651.             String pName = "org.openspcoop2.pdd.connettori.secureRandomAlgorithm";
  13652.             try{
  13653.                 String name = null;
  13654.                 name = this.reader.getValueConvertEnvProperties(pName);
  13655.                 if(name!=null){
  13656.                     name = name.trim();
  13657.                     this.getConnettoreHttps_secureRandomAlgo = name;
  13658.                 }
  13659.             }catch(java.lang.Exception e) {
  13660.                 this.logWarn("Proprieta' di openspcoop '"+pName+"', errore:"+e.getMessage(),e);
  13661.             }  
  13662.            
  13663.             this.getConnettoreHttps_secureRandomAlgoRead=true;
  13664.         }

  13665.         return this.getConnettoreHttps_secureRandomAlgo;
  13666.     }
  13667.    
  13668.     private Boolean isConnettoreHttp_urlHttps_overrideDefaultConfiguration_inoltroBuste = null;
  13669.     public boolean isConnettoreHttp_urlHttps_overrideDefaultConfiguration_inoltroBuste() {  
  13670.         if(this.isConnettoreHttp_urlHttps_overrideDefaultConfiguration_inoltroBuste==null){
  13671.             try{
  13672.                 String name = null;
  13673.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.http.urlHttps.overrideDefaultConfiguration");
  13674.                 if(name!=null){
  13675.                     name = name.trim();
  13676.                     this.isConnettoreHttp_urlHttps_overrideDefaultConfiguration_inoltroBuste = Boolean.parseBoolean(name);
  13677.                 }else{
  13678.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.http.urlHttps.overrideDefaultConfiguration' non impostata, viene utilizzato il default="+true);
  13679.                     this.isConnettoreHttp_urlHttps_overrideDefaultConfiguration_inoltroBuste = true;
  13680.                 }
  13681.             }catch(java.lang.Exception e) {
  13682.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.http.urlHttps.overrideDefaultConfiguration' non impostata, viene utilizzato il default="+true+", errore:"+e.getMessage(),e);
  13683.                 this.isConnettoreHttp_urlHttps_overrideDefaultConfiguration_inoltroBuste = true;
  13684.             }  
  13685.         }

  13686.         return this.isConnettoreHttp_urlHttps_overrideDefaultConfiguration_inoltroBuste;
  13687.     }
  13688.    
  13689.     private Boolean isConnettoreHttp_urlHttps_overrideDefaultConfiguration_consegnaContenutiApplicativi = null;
  13690.     public boolean isConnettoreHttp_urlHttps_overrideDefaultConfiguration_consegnaContenutiApplicativi() {  
  13691.         if(this.isConnettoreHttp_urlHttps_overrideDefaultConfiguration_consegnaContenutiApplicativi==null){
  13692.             try{
  13693.                 String name = null;
  13694.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.http.urlHttps.overrideDefaultConfiguration");
  13695.                 if(name!=null){
  13696.                     name = name.trim();
  13697.                     this.isConnettoreHttp_urlHttps_overrideDefaultConfiguration_consegnaContenutiApplicativi = Boolean.parseBoolean(name);
  13698.                 }else{
  13699.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.http.urlHttps.overrideDefaultConfiguration' non impostata, viene utilizzato il default="+true);
  13700.                     this.isConnettoreHttp_urlHttps_overrideDefaultConfiguration_consegnaContenutiApplicativi = true;
  13701.                 }
  13702.             }catch(java.lang.Exception e) {
  13703.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.http.urlHttps.overrideDefaultConfiguration' non impostata, viene utilizzato il default="+true+", errore:"+e.getMessage(),e);
  13704.                 this.isConnettoreHttp_urlHttps_overrideDefaultConfiguration_consegnaContenutiApplicativi = true;
  13705.             }  
  13706.         }

  13707.         return this.isConnettoreHttp_urlHttps_overrideDefaultConfiguration_consegnaContenutiApplicativi;
  13708.     }
  13709.    
  13710.     private File getConnettoreHttp_urlHttps_repository_inoltroBuste = null;
  13711.     public File getConnettoreHttp_urlHttps_repository_inoltroBuste() throws CoreException {
  13712.         if(this.getConnettoreHttp_urlHttps_repository_inoltroBuste==null){
  13713.             try{
  13714.                 String name = null;
  13715.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.http.urlHttps.repository");
  13716.                 if(name==null){
  13717.                     throw new CoreException("Proprieta' non impostata");
  13718.                 }
  13719.                 name = name.trim();
  13720.                 this.getConnettoreHttp_urlHttps_repository_inoltroBuste = new File(name);
  13721.                 if(this.getConnettoreHttp_urlHttps_repository_inoltroBuste.exists()) {
  13722.                     if(this.getConnettoreHttp_urlHttps_repository_inoltroBuste.isDirectory()==false) {
  13723.                         throw newCoreExceptionNotDir(this.getConnettoreHttp_urlHttps_repository_inoltroBuste,true);
  13724.                     }
  13725.                     if(this.getConnettoreHttp_urlHttps_repository_inoltroBuste.canRead()==false) {
  13726.                         throw newCoreExceptionCannotRead(this.getConnettoreHttp_urlHttps_repository_inoltroBuste,true);
  13727.                     }
  13728.                     if(this.getConnettoreHttp_urlHttps_repository_inoltroBuste.canWrite()==false) {
  13729.                         throw newCoreExceptionCannotWrite(this.getConnettoreHttp_urlHttps_repository_inoltroBuste,true);
  13730.                     }
  13731.                 }
  13732.                 else {
  13733.                     // viene creata automaticamente
  13734.                 }
  13735.             } catch(java.lang.Exception e) {
  13736.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.http.urlHttps.repository': "+e.getMessage(),e);
  13737.                 throw new CoreException(e.getMessage(),e);
  13738.             }    
  13739.         }

  13740.         return this.getConnettoreHttp_urlHttps_repository_inoltroBuste;
  13741.     }
  13742.    
  13743.     private File getConnettoreHttp_urlHttps_repository_consegnaContenutiApplicativi = null;
  13744.     public File getConnettoreHttp_urlHttps_repository_consegnaContenutiApplicativi() throws CoreException {
  13745.         if(this.getConnettoreHttp_urlHttps_repository_consegnaContenutiApplicativi==null){
  13746.             try{
  13747.                 String name = null;
  13748.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.http.urlHttps.repository");
  13749.                 if(name==null){
  13750.                     throw new CoreException("Proprieta' non impostata");
  13751.                 }
  13752.                 name = name.trim();
  13753.                 this.getConnettoreHttp_urlHttps_repository_consegnaContenutiApplicativi = new File(name);
  13754.                 if(this.getConnettoreHttp_urlHttps_repository_consegnaContenutiApplicativi.exists()) {
  13755.                     if(this.getConnettoreHttp_urlHttps_repository_consegnaContenutiApplicativi.isDirectory()==false) {
  13756.                         throw newCoreExceptionNotDir(this.getConnettoreHttp_urlHttps_repository_consegnaContenutiApplicativi,true);
  13757.                     }
  13758.                     if(this.getConnettoreHttp_urlHttps_repository_consegnaContenutiApplicativi.canRead()==false) {
  13759.                         throw newCoreExceptionCannotRead(this.getConnettoreHttp_urlHttps_repository_consegnaContenutiApplicativi,true);
  13760.                     }
  13761.                     if(this.getConnettoreHttp_urlHttps_repository_consegnaContenutiApplicativi.canWrite()==false) {
  13762.                         throw newCoreExceptionCannotWrite(this.getConnettoreHttp_urlHttps_repository_consegnaContenutiApplicativi,true);
  13763.                     }
  13764.                 }
  13765.                 else {
  13766.                     // viene creata automaticamente
  13767.                 }
  13768.             } catch(java.lang.Exception e) {
  13769.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.http.urlHttps.repository': "+e.getMessage(),e);
  13770.                 throw new CoreException(e.getMessage(),e);
  13771.             }    
  13772.         }

  13773.         return this.getConnettoreHttp_urlHttps_repository_consegnaContenutiApplicativi;
  13774.     }
  13775.    
  13776.     private Boolean isConnettoreHttp_urlHttps_cacheEnabled = null;
  13777.     public boolean isConnettoreHttp_urlHttps_cacheEnabled() {  
  13778.         if(this.isConnettoreHttp_urlHttps_cacheEnabled==null){
  13779.             try{
  13780.                 String name = null;
  13781.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.http.urlHttps.cache.enabled");
  13782.                 if(name!=null){
  13783.                     name = name.trim();
  13784.                     this.isConnettoreHttp_urlHttps_cacheEnabled = Boolean.parseBoolean(name);
  13785.                 }else{
  13786.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.http.urlHttps.cache.enabled' non impostata, viene utilizzato il default="+true);
  13787.                     this.isConnettoreHttp_urlHttps_cacheEnabled = true;
  13788.                 }
  13789.             }catch(java.lang.Exception e) {
  13790.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.http.urlHttps.cache.enabled' non impostata, viene utilizzato il default="+true+", errore:"+e.getMessage(),e);
  13791.                 this.isConnettoreHttp_urlHttps_cacheEnabled = true;
  13792.             }  
  13793.         }

  13794.         return this.isConnettoreHttp_urlHttps_cacheEnabled;
  13795.     }
  13796.    
  13797.     private Integer getConnettoreHttp_urlHttps_cacheSize = null;
  13798.     public int getConnettoreHttp_urlHttps_cacheSize() {
  13799.         if(this.getConnettoreHttp_urlHttps_cacheSize==null){
  13800.             try{
  13801.                 String name = null;
  13802.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.http.urlHttps.cache.size");
  13803.                 if(name!=null){
  13804.                     name = name.trim();
  13805.                     this.getConnettoreHttp_urlHttps_cacheSize = java.lang.Integer.parseInt(name);
  13806.                 }else{
  13807.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.http.urlHttps.cache.size' non impostata, viene utilizzato il default="+CostantiPdD.CONNETTORE_HTTP_URL_HTTPS_CACHE_SIZE);
  13808.                     this.getConnettoreHttp_urlHttps_cacheSize = CostantiPdD.CONNETTORE_HTTP_URL_HTTPS_CACHE_SIZE;
  13809.                 }
  13810.             }catch(java.lang.Exception e) {
  13811.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.http.urlHttps.cache.size' non impostata, viene utilizzato il default="+CostantiPdD.CONNETTORE_HTTP_URL_HTTPS_CACHE_SIZE+", errore:"+e.getMessage(),e);
  13812.                 this.getConnettoreHttp_urlHttps_cacheSize = CostantiPdD.CONNETTORE_HTTP_URL_HTTPS_CACHE_SIZE;
  13813.             }  
  13814.         }

  13815.         return this.getConnettoreHttp_urlHttps_cacheSize;
  13816.     }
  13817.    
  13818.    
  13819.    
  13820.    
  13821.     /* ***************** Servizi HTTP  ************* */
  13822.    
  13823.     private Boolean isHttpDisableKeepAlive = null;
  13824.     public boolean isHttpDisableKeepAlive() {  
  13825.         String pName = "org.openspcoop2.pdd.services.http.disableKeepAlive";
  13826.         if(this.isHttpDisableKeepAlive==null){
  13827.             try{
  13828.                 String name = null;
  13829.                 name = this.reader.getValueConvertEnvProperties(pName);
  13830.                 if(name!=null){
  13831.                     name = name.trim();
  13832.                     this.isHttpDisableKeepAlive = Boolean.parseBoolean(name);
  13833.                 }else{
  13834.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  13835.                     this.isHttpDisableKeepAlive = false;
  13836.                 }
  13837.             }catch(java.lang.Exception e) {
  13838.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  13839.                 this.isHttpDisableKeepAlive = false;
  13840.             }  
  13841.         }

  13842.         return this.isHttpDisableKeepAlive;
  13843.     }
  13844.    
  13845.     private Boolean serviceRequestHttpMethodPatchEnabled = null;
  13846.     public boolean isServiceRequestHttpMethodPatchEnabled() {  
  13847.         if(this.serviceRequestHttpMethodPatchEnabled==null){
  13848.             try{
  13849.                 String name = null;
  13850.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.request.method.PATCH");
  13851.                 if(name!=null){
  13852.                     name = name.trim();
  13853.                     this.serviceRequestHttpMethodPatchEnabled = Boolean.parseBoolean(name);
  13854.                 }else{
  13855.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.request.method.PATCH' non impostata, viene utilizzato il default="+true);
  13856.                     this.serviceRequestHttpMethodPatchEnabled = true;
  13857.                 }
  13858.             }catch(java.lang.Exception e) {
  13859.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.request.method.PATCH' non impostata, viene utilizzato il default="+true+", errore:"+e.getMessage(),e);
  13860.                 this.serviceRequestHttpMethodPatchEnabled = true;
  13861.             }  
  13862.         }

  13863.         return this.serviceRequestHttpMethodPatchEnabled;
  13864.     }
  13865.    
  13866.     private Boolean serviceRequestHttpMethodLinkEnabled = null;
  13867.     public boolean isServiceRequestHttpMethodLinkEnabled() {    
  13868.         if(this.serviceRequestHttpMethodLinkEnabled==null){
  13869.             try{
  13870.                 String name = null;
  13871.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.request.method.LINK");
  13872.                 if(name!=null){
  13873.                     name = name.trim();
  13874.                     this.serviceRequestHttpMethodLinkEnabled = Boolean.parseBoolean(name);
  13875.                 }else{
  13876.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.request.method.LINK' non impostata, viene utilizzato il default="+true);
  13877.                     this.serviceRequestHttpMethodLinkEnabled = true;
  13878.                 }
  13879.             }catch(java.lang.Exception e) {
  13880.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.request.method.LINK' non impostata, viene utilizzato il default="+true+", errore:"+e.getMessage(),e);
  13881.                 this.serviceRequestHttpMethodLinkEnabled = true;
  13882.             }  
  13883.         }

  13884.         return this.serviceRequestHttpMethodLinkEnabled;
  13885.     }
  13886.    
  13887.     private Boolean serviceRequestHttpMethodUnlinkEnabled = null;
  13888.     public boolean isServiceRequestHttpMethodUnlinkEnabled() {  
  13889.         if(this.serviceRequestHttpMethodUnlinkEnabled==null){
  13890.             try{
  13891.                 String name = null;
  13892.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.request.method.UNLINK");
  13893.                 if(name!=null){
  13894.                     name = name.trim();
  13895.                     this.serviceRequestHttpMethodUnlinkEnabled = Boolean.parseBoolean(name);
  13896.                 }else{
  13897.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.request.method.UNLINK' non impostata, viene utilizzato il default="+true);
  13898.                     this.serviceRequestHttpMethodUnlinkEnabled = true;
  13899.                 }
  13900.             }catch(java.lang.Exception e) {
  13901.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.request.method.UNLINK' non impostata, viene utilizzato il default="+true+", errore:"+e.getMessage(),e);
  13902.                 this.serviceRequestHttpMethodUnlinkEnabled = true;
  13903.             }  
  13904.         }

  13905.         return this.serviceRequestHttpMethodUnlinkEnabled;
  13906.     }
  13907.    
  13908.    
  13909.     private TransferLengthModes readTransferLengthModes_ricezioneContenutiApplicativi = null;
  13910.     public TransferLengthModes getTransferLengthModes_ricezioneContenutiApplicativi() {
  13911.         if(this.readTransferLengthModes_ricezioneContenutiApplicativi==null){
  13912.             try{
  13913.                 String name = null;
  13914.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.httpTransferLength");
  13915.                 if(name!=null){
  13916.                     name = name.trim();
  13917.                     this.readTransferLengthModes_ricezioneContenutiApplicativi = TransferLengthModes.getTransferLengthModes(name);
  13918.                 }else{
  13919.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.httpTransferLength' non impostata, viene utilizzato il default="+TransferLengthModes.WEBSERVER_DEFAULT);
  13920.                     this.readTransferLengthModes_ricezioneContenutiApplicativi = TransferLengthModes.WEBSERVER_DEFAULT;
  13921.                 }
  13922.             }catch(java.lang.Exception e) {
  13923.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.httpTransferLength' non impostata, viene utilizzato il default="+TransferLengthModes.WEBSERVER_DEFAULT+", errore:"+e.getMessage(),e);
  13924.                 this.readTransferLengthModes_ricezioneContenutiApplicativi = TransferLengthModes.WEBSERVER_DEFAULT;
  13925.             }  
  13926.         }

  13927.         return this.readTransferLengthModes_ricezioneContenutiApplicativi;
  13928.     }
  13929.    
  13930.     private TransferLengthModes readTransferLengthModes_ricezioneBuste = null;
  13931.     public TransferLengthModes getTransferLengthModes_ricezioneBuste() {    
  13932.         if(this.readTransferLengthModes_ricezioneBuste==null){
  13933.             try{
  13934.                 String name = null;
  13935.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneBuste.httpTransferLength");
  13936.                 if(name!=null){
  13937.                     name = name.trim();
  13938.                     this.readTransferLengthModes_ricezioneBuste = TransferLengthModes.getTransferLengthModes(name);
  13939.                 }else{
  13940.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.httpTransferLength' non impostata, viene utilizzato il default="+TransferLengthModes.WEBSERVER_DEFAULT);
  13941.                     this.readTransferLengthModes_ricezioneBuste = TransferLengthModes.WEBSERVER_DEFAULT;
  13942.                 }
  13943.             }catch(java.lang.Exception e) {
  13944.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.httpTransferLength' non impostata, viene utilizzato il default="+TransferLengthModes.WEBSERVER_DEFAULT+", errore:"+e.getMessage(),e);
  13945.                 this.readTransferLengthModes_ricezioneBuste = TransferLengthModes.WEBSERVER_DEFAULT;
  13946.             }  
  13947.         }

  13948.         return this.readTransferLengthModes_ricezioneBuste;
  13949.     }
  13950.    
  13951.     private TransferLengthModes readTransferLengthModes_inoltroBuste = null;
  13952.     public TransferLengthModes getTransferLengthModes_inoltroBuste() {  
  13953.         if(this.readTransferLengthModes_inoltroBuste==null){
  13954.             try{
  13955.                 String name = null;
  13956.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.httpTransferLength");
  13957.                 if(name!=null){
  13958.                     name = name.trim();
  13959.                     this.readTransferLengthModes_inoltroBuste = TransferLengthModes.getTransferLengthModes(name);
  13960.                 }else{
  13961.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.httpTransferLength' non impostata, viene utilizzato il default="+TransferLengthModes.CONTENT_LENGTH);
  13962.                     this.readTransferLengthModes_inoltroBuste = TransferLengthModes.CONTENT_LENGTH;
  13963.                 }
  13964.             }catch(java.lang.Exception e) {
  13965.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.httpTransferLength' non impostata, viene utilizzato il default="+TransferLengthModes.CONTENT_LENGTH+", errore:"+e.getMessage(),e);
  13966.                 this.readTransferLengthModes_inoltroBuste = TransferLengthModes.CONTENT_LENGTH;
  13967.             }  
  13968.         }

  13969.         return this.readTransferLengthModes_inoltroBuste;
  13970.     }
  13971.    
  13972.     private Integer getChunkLength_inoltroBuste = null;
  13973.     public int getChunkLength_inoltroBuste() {  
  13974.         if(this.getChunkLength_inoltroBuste==null){
  13975.             try{
  13976.                 String name = null;
  13977.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.httpTransferLength.chunkLength");
  13978.                 if(name!=null){
  13979.                     name = name.trim();
  13980.                     this.getChunkLength_inoltroBuste = Integer.parseInt(name);
  13981.                 }else{
  13982.                     int DEFAULT_CHUNKLEN = 0;
  13983.                     this.getChunkLength_inoltroBuste = DEFAULT_CHUNKLEN;
  13984.                 }
  13985.             }catch(java.lang.Exception e) {
  13986.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.httpTransferLength.chunkLength' posside un valore non corretto:"+e.getMessage(),e);
  13987.                 this.getChunkLength_inoltroBuste = -1;
  13988.             }  
  13989.         }

  13990.         return this.getChunkLength_inoltroBuste;
  13991.     }
  13992.    
  13993.     private TransferLengthModes readTransferLengthModes_consegnaContenutiApplicativi = null;
  13994.     public TransferLengthModes getTransferLengthModes_consegnaContenutiApplicativi() {  
  13995.         if(this.readTransferLengthModes_consegnaContenutiApplicativi==null){
  13996.             try{
  13997.                 String name = null;
  13998.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.httpTransferLength");
  13999.                 if(name!=null){
  14000.                     name = name.trim();
  14001.                     this.readTransferLengthModes_consegnaContenutiApplicativi = TransferLengthModes.getTransferLengthModes(name);
  14002.                 }else{
  14003.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.httpTransferLength' non impostata, viene utilizzato il default="+TransferLengthModes.CONTENT_LENGTH);
  14004.                     this.readTransferLengthModes_consegnaContenutiApplicativi = TransferLengthModes.CONTENT_LENGTH;
  14005.                 }
  14006.             }catch(java.lang.Exception e) {
  14007.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.httpTransferLength' non impostata, viene utilizzato il default="+TransferLengthModes.CONTENT_LENGTH+", errore:"+e.getMessage(),e);
  14008.                 this.readTransferLengthModes_consegnaContenutiApplicativi = TransferLengthModes.CONTENT_LENGTH;
  14009.             }  
  14010.         }

  14011.         return this.readTransferLengthModes_consegnaContenutiApplicativi;
  14012.     }
  14013.    
  14014.     private Integer getChunkLength_consegnaContenutiApplicativi = null;
  14015.     public int getChunkLength_consegnaContenutiApplicativi() {  
  14016.         if(this.getChunkLength_consegnaContenutiApplicativi==null){
  14017.             try{
  14018.                 String name = null;
  14019.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.httpTransferLength.chunkLength");
  14020.                 if(name!=null){
  14021.                     name = name.trim();
  14022.                     this.getChunkLength_consegnaContenutiApplicativi = Integer.parseInt(name);
  14023.                 }else{
  14024.                     int DEFAULT_CHUNKLEN = 0;
  14025.                     this.getChunkLength_consegnaContenutiApplicativi = DEFAULT_CHUNKLEN;
  14026.                 }
  14027.             }catch(java.lang.Exception e) {
  14028.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.httpTransferLength.chunkLength' posside un valore non corretto:"+e.getMessage(),e);
  14029.                 this.getChunkLength_consegnaContenutiApplicativi = -1;
  14030.             }  
  14031.         }

  14032.         return this.getChunkLength_consegnaContenutiApplicativi;
  14033.     }
  14034.    
  14035.     private Boolean isAcceptOnlyReturnCode_200_202_inoltroBuste = null;
  14036.     public boolean isAcceptOnlyReturnCode_200_202_inoltroBuste() {  
  14037.         if(this.isAcceptOnlyReturnCode_200_202_inoltroBuste==null){
  14038.             try{
  14039.                 String name = null;
  14040.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.returnCode.2xx.acceptOnly_202_200");
  14041.                 if(name!=null){
  14042.                     name = name.trim();
  14043.                     this.isAcceptOnlyReturnCode_200_202_inoltroBuste = Boolean.parseBoolean(name);
  14044.                 }else{
  14045.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.returnCode.2xx.acceptOnly_202_200' non impostata, viene utilizzato il default=true");
  14046.                     this.isAcceptOnlyReturnCode_200_202_inoltroBuste = true;
  14047.                 }
  14048.             }catch(java.lang.Exception e) {
  14049.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.returnCode.2xx.acceptOnly_202_200' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  14050.                 this.isAcceptOnlyReturnCode_200_202_inoltroBuste = true;
  14051.             }  
  14052.         }

  14053.         return this.isAcceptOnlyReturnCode_200_202_inoltroBuste;
  14054.     }
  14055.    
  14056.     private Boolean isAcceptOnlyReturnCode_200_202_consegnaContenutiApplicativi = null;
  14057.     public boolean isAcceptOnlyReturnCode_200_202_consegnaContenutiApplicativi() {  
  14058.         if(this.isAcceptOnlyReturnCode_200_202_consegnaContenutiApplicativi==null){
  14059.             try{
  14060.                 String name = null;
  14061.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.returnCode.2xx.acceptOnly_202_200");
  14062.                 if(name!=null){
  14063.                     name = name.trim();
  14064.                     this.isAcceptOnlyReturnCode_200_202_consegnaContenutiApplicativi = Boolean.parseBoolean(name);
  14065.                 }else{
  14066.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.returnCode.2xx.acceptOnly_202_200' non impostata, viene utilizzato il default=true");
  14067.                     this.isAcceptOnlyReturnCode_200_202_consegnaContenutiApplicativi = true;
  14068.                 }
  14069.             }catch(java.lang.Exception e) {
  14070.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.returnCode.2xx.acceptOnly_202_200' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  14071.                 this.isAcceptOnlyReturnCode_200_202_consegnaContenutiApplicativi = true;
  14072.             }  
  14073.         }

  14074.         return this.isAcceptOnlyReturnCode_200_202_consegnaContenutiApplicativi;
  14075.     }
  14076.    
  14077.     private Boolean isAcceptOnlyReturnCode_307_inoltroBuste = null;
  14078.     public boolean isAcceptOnlyReturnCode_307_inoltroBuste() {  
  14079.         if(this.isAcceptOnlyReturnCode_307_inoltroBuste==null){
  14080.             try{
  14081.                 String name = null;
  14082.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.returnCode.3xx.acceptOnly_307");
  14083.                 if(name!=null){
  14084.                     name = name.trim();
  14085.                     this.isAcceptOnlyReturnCode_307_inoltroBuste = Boolean.parseBoolean(name);
  14086.                 }else{
  14087.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.returnCode.3xx.acceptOnly_307' non impostata, viene utilizzato il default=false");
  14088.                     this.isAcceptOnlyReturnCode_307_inoltroBuste = false;
  14089.                 }
  14090.             }catch(java.lang.Exception e) {
  14091.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.returnCode.3xx.acceptOnly_307' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  14092.                 this.isAcceptOnlyReturnCode_307_inoltroBuste = false;
  14093.             }  
  14094.         }

  14095.         return this.isAcceptOnlyReturnCode_307_inoltroBuste;
  14096.     }
  14097.    
  14098.     private Boolean isAcceptOnlyReturnCode_307_consegnaContenutiApplicativi = null;
  14099.     public boolean isAcceptOnlyReturnCode_307_consegnaContenutiApplicativi() {  
  14100.         if(this.isAcceptOnlyReturnCode_307_consegnaContenutiApplicativi==null){
  14101.             try{
  14102.                 String name = null;
  14103.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.returnCode.3xx.acceptOnly_307");
  14104.                 if(name!=null){
  14105.                     name = name.trim();
  14106.                     this.isAcceptOnlyReturnCode_307_consegnaContenutiApplicativi = Boolean.parseBoolean(name);
  14107.                 }else{
  14108.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.returnCode.3xx.acceptOnly_307' non impostata, viene utilizzato il default=false");
  14109.                     this.isAcceptOnlyReturnCode_307_consegnaContenutiApplicativi = false;
  14110.                 }
  14111.             }catch(java.lang.Exception e) {
  14112.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.returnCode.3xx.acceptOnly_307' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  14113.                 this.isAcceptOnlyReturnCode_307_consegnaContenutiApplicativi = false;
  14114.             }  
  14115.         }

  14116.         return this.isAcceptOnlyReturnCode_307_consegnaContenutiApplicativi;
  14117.     }
  14118.    
  14119.     private Boolean isFollowRedirects_inoltroBuste_soap = null;
  14120.     public boolean isFollowRedirects_inoltroBuste_soap() {  
  14121.         if(this.isFollowRedirects_inoltroBuste_soap==null){
  14122.             try{
  14123.                 String name = null;
  14124.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.followRedirects.soap");
  14125.                 if(name!=null){
  14126.                     name = name.trim();
  14127.                     this.isFollowRedirects_inoltroBuste_soap = Boolean.parseBoolean(name);
  14128.                 }else{
  14129.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.followRedirects.soap' non impostata, viene utilizzato il default=false");
  14130.                     this.isFollowRedirects_inoltroBuste_soap = false;
  14131.                 }
  14132.             }catch(java.lang.Exception e) {
  14133.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.followRedirects.soap' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  14134.                 this.isFollowRedirects_inoltroBuste_soap = false;
  14135.             }  
  14136.         }

  14137.         return this.isFollowRedirects_inoltroBuste_soap;
  14138.     }
  14139.    
  14140.     private Boolean isFollowRedirects_inoltroBuste_rest = null;
  14141.     public boolean isFollowRedirects_inoltroBuste_rest() {  
  14142.         if(this.isFollowRedirects_inoltroBuste_rest==null){
  14143.             try{
  14144.                 String name = null;
  14145.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.followRedirects.rest");
  14146.                 if(name!=null){
  14147.                     name = name.trim();
  14148.                     this.isFollowRedirects_inoltroBuste_rest = Boolean.parseBoolean(name);
  14149.                 }else{
  14150.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.followRedirects.rest' non impostata, viene utilizzato il default=false");
  14151.                     this.isFollowRedirects_inoltroBuste_rest = false;
  14152.                 }
  14153.             }catch(java.lang.Exception e) {
  14154.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.followRedirects.rest' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  14155.                 this.isFollowRedirects_inoltroBuste_rest = false;
  14156.             }  
  14157.         }

  14158.         return this.isFollowRedirects_inoltroBuste_rest;
  14159.     }
  14160.    

  14161.    
  14162.     private Boolean isFollowRedirects_consegnaContenutiApplicativi_soap = null;
  14163.     public boolean isFollowRedirects_consegnaContenutiApplicativi_soap() {  
  14164.         if(this.isFollowRedirects_consegnaContenutiApplicativi_soap==null){
  14165.             try{
  14166.                 String name = null;
  14167.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.followRedirects.soap");
  14168.                 if(name!=null){
  14169.                     name = name.trim();
  14170.                     this.isFollowRedirects_consegnaContenutiApplicativi_soap = Boolean.parseBoolean(name);
  14171.                 }else{
  14172.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.followRedirects.soap' non impostata, viene utilizzato il default=false");
  14173.                     this.isFollowRedirects_consegnaContenutiApplicativi_soap = false;
  14174.                 }
  14175.             }catch(java.lang.Exception e) {
  14176.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.followRedirects.soap' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  14177.                 this.isFollowRedirects_consegnaContenutiApplicativi_soap = false;
  14178.             }  
  14179.         }

  14180.         return this.isFollowRedirects_consegnaContenutiApplicativi_soap;
  14181.     }
  14182.    
  14183.     private Boolean isFollowRedirects_consegnaContenutiApplicativi_rest = null;
  14184.     public boolean isFollowRedirects_consegnaContenutiApplicativi_rest() {  
  14185.         if(this.isFollowRedirects_consegnaContenutiApplicativi_rest==null){
  14186.             try{
  14187.                 String name = null;
  14188.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.followRedirects.rest");
  14189.                 if(name!=null){
  14190.                     name = name.trim();
  14191.                     this.isFollowRedirects_consegnaContenutiApplicativi_rest = Boolean.parseBoolean(name);
  14192.                 }else{
  14193.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.followRedirects.rest' non impostata, viene utilizzato il default=false");
  14194.                     this.isFollowRedirects_consegnaContenutiApplicativi_rest = false;
  14195.                 }
  14196.             }catch(java.lang.Exception e) {
  14197.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.followRedirects.rest' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  14198.                 this.isFollowRedirects_consegnaContenutiApplicativi_rest = false;
  14199.             }  
  14200.         }

  14201.         return this.isFollowRedirects_consegnaContenutiApplicativi_rest;
  14202.     }
  14203.        
  14204.     private Integer getFollowRedirectsMaxHop_inoltroBuste = null;
  14205.     public int getFollowRedirectsMaxHop_inoltroBuste() {    
  14206.         if(this.getFollowRedirectsMaxHop_inoltroBuste==null){
  14207.             try{
  14208.                 String name = null;
  14209.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.followRedirects.maxHop");
  14210.                 if(name!=null){
  14211.                     name = name.trim();
  14212.                     this.getFollowRedirectsMaxHop_inoltroBuste = Integer.parseInt(name);
  14213.                 }else{
  14214.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.followRedirects.maxHop' non impostata, viene utilizzato il default=5");
  14215.                     this.getFollowRedirectsMaxHop_inoltroBuste = 5;
  14216.                 }
  14217.             }catch(java.lang.Exception e) {
  14218.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.followRedirects.maxHop' non impostata, viene utilizzato il default=5, errore:"+e.getMessage(),e);
  14219.                 this.getFollowRedirectsMaxHop_inoltroBuste = 5;
  14220.             }  
  14221.         }

  14222.         return this.getFollowRedirectsMaxHop_inoltroBuste;
  14223.     }
  14224.    
  14225.     private Integer getFollowRedirectsMaxHop_consegnaContenutiApplicativi = null;
  14226.     public int getFollowRedirectsMaxHop_consegnaContenutiApplicativi() {    
  14227.         if(this.getFollowRedirectsMaxHop_consegnaContenutiApplicativi==null){
  14228.             try{
  14229.                 String name = null;
  14230.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.followRedirects.maxHop");
  14231.                 if(name!=null){
  14232.                     name = name.trim();
  14233.                     this.getFollowRedirectsMaxHop_consegnaContenutiApplicativi = Integer.parseInt(name);
  14234.                 }else{
  14235.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.followRedirects.maxHop' non impostata, viene utilizzato il default=5");
  14236.                     this.getFollowRedirectsMaxHop_consegnaContenutiApplicativi = 5;
  14237.                 }
  14238.             }catch(java.lang.Exception e) {
  14239.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.followRedirects.maxHop' non impostata, viene utilizzato il default=5, errore:"+e.getMessage(),e);
  14240.                 this.getFollowRedirectsMaxHop_consegnaContenutiApplicativi = 5;
  14241.             }  
  14242.         }

  14243.         return this.getFollowRedirectsMaxHop_consegnaContenutiApplicativi;
  14244.     }

  14245.    
  14246.     private Boolean checkSoapActionQuotedString_ricezioneContenutiApplicativi = null;
  14247.     public boolean checkSoapActionQuotedString_ricezioneContenutiApplicativi() {    
  14248.         if(this.checkSoapActionQuotedString_ricezioneContenutiApplicativi==null){
  14249.             try{
  14250.                 String name = null;
  14251.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.soapAction.checkQuotedString");
  14252.                 if(name!=null){
  14253.                     name = name.trim();
  14254.                     this.checkSoapActionQuotedString_ricezioneContenutiApplicativi = Boolean.parseBoolean(name);
  14255.                 }else{
  14256.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.soapAction.checkQuotedString' non impostata, viene utilizzato il default=false");
  14257.                     this.checkSoapActionQuotedString_ricezioneContenutiApplicativi = false;
  14258.                 }
  14259.             }catch(java.lang.Exception e) {
  14260.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.soapAction.checkQuotedString' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  14261.                 this.checkSoapActionQuotedString_ricezioneContenutiApplicativi = false;
  14262.             }  
  14263.         }

  14264.         return this.checkSoapActionQuotedString_ricezioneContenutiApplicativi;
  14265.     }
  14266.    
  14267.     private Boolean checkSoapActionQuotedString_ricezioneBuste = null;
  14268.     public boolean checkSoapActionQuotedString_ricezioneBuste() {  
  14269.         if(this.checkSoapActionQuotedString_ricezioneBuste==null){
  14270.             try{
  14271.                 String name = null;
  14272.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneBuste.soapAction.checkQuotedString");
  14273.                 if(name!=null){
  14274.                     name = name.trim();
  14275.                     this.checkSoapActionQuotedString_ricezioneBuste = Boolean.parseBoolean(name);
  14276.                 }else{
  14277.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.soapAction.checkQuotedString' non impostata, viene utilizzato il default=false");
  14278.                     this.checkSoapActionQuotedString_ricezioneBuste = false;
  14279.                 }
  14280.             }catch(java.lang.Exception e) {
  14281.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.soapAction.checkQuotedString' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  14282.                 this.checkSoapActionQuotedString_ricezioneBuste = false;
  14283.             }  
  14284.         }

  14285.         return this.checkSoapActionQuotedString_ricezioneBuste;
  14286.     }
  14287.    
  14288.     private String httpUserAgent = null;
  14289.     public String getHttpUserAgent() {  
  14290.         if(this.httpUserAgent==null){
  14291.             try{
  14292.                 String name = null;
  14293.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.http.userAgent");
  14294.                 if(name!=null){
  14295.                     name = name.trim();
  14296.                     this.httpUserAgent = name;
  14297.                 }else{
  14298.                     /**NON EMETTO WARNING: this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.http.userAgent' non impostata, viene utilizzato il default="+Costanti.OPENSPCOOP_PRODUCT_VERSION);*/
  14299.                     this.httpUserAgent = this.getProductName();
  14300.                 }
  14301.             }catch(java.lang.Exception e) {
  14302.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.http.userAgent' non impostata, viene utilizzato il default="+this.getProductName()+", errore:"+e.getMessage(),e);
  14303.                 this.httpUserAgent = this.getProductName();
  14304.             }  
  14305.         }

  14306.         return this.httpUserAgent;
  14307.     }
  14308.    
  14309.     private String httpServer = null;
  14310.     public String getHttpServer() {
  14311.         if(this.httpServer==null){
  14312.             try{
  14313.                 String name = null;
  14314.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.http.xPdd");
  14315.                 if(name!=null){
  14316.                     name = name.trim();
  14317.                     this.httpServer = name;
  14318.                 }else{
  14319.                     /**NON EMETTO WARNING: this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.http.xPdd' non impostata, viene utilizzato il default="+this.getHttpUserAgent());*/
  14320.                     this.httpServer = this.getVersione();
  14321.                 }
  14322.             }catch(java.lang.Exception e) {
  14323.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.http.xPdd' non impostata, viene utilizzato il default="+this.getVersione()+", errore:"+e.getMessage(),e);
  14324.                 this.httpServer = this.getVersione();
  14325.             }  
  14326.         }

  14327.         return this.httpServer;
  14328.     }
  14329.    
  14330.     private Boolean readHttpXPdDDetails = null;
  14331.     private String httpXPdDDetails = null;
  14332.     public String getHttpXPdDDetails() {    
  14333.         if(this.readHttpXPdDDetails==null){
  14334.             try{
  14335.                 String name = null;
  14336.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.http.xDetails");
  14337.                 if(name!=null){
  14338.                     name = name.trim();
  14339.                     this.httpXPdDDetails = name;
  14340.                 }else{
  14341.                     this.httpXPdDDetails = this.getDetails();
  14342.                 }
  14343.             }catch(java.lang.Exception e) {
  14344.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.http.xDetails' non impostata correttamente:"+e.getMessage(),e);
  14345.                 this.httpXPdDDetails = this.getDetails();
  14346.             }  
  14347.         }
  14348.         this.readHttpXPdDDetails = true;

  14349.         return this.httpXPdDDetails;
  14350.     }
  14351.    
  14352.    
  14353.     private Boolean isEnabledEncodingRFC2047HeaderValueRicezioneContenutiApplicativi = null;
  14354.     public boolean isEnabledEncodingRFC2047HeaderValueRicezioneContenutiApplicativi() {
  14355.         if(this.isEnabledEncodingRFC2047HeaderValueRicezioneContenutiApplicativi==null){
  14356.             try{
  14357.                 String name = null;
  14358.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.headerValue.encodingRFC2047.enabled");
  14359.                 if(name!=null){
  14360.                     name = name.trim();
  14361.                     this.isEnabledEncodingRFC2047HeaderValueRicezioneContenutiApplicativi = Boolean.parseBoolean(name);
  14362.                 }else{
  14363.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.headerValue.encodingRFC2047.enabled' non impostata, viene utilizzato il default=true");
  14364.                     this.isEnabledEncodingRFC2047HeaderValueRicezioneContenutiApplicativi = true;
  14365.                 }
  14366.             }catch(java.lang.Exception e) {
  14367.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.headerValue.encodingRFC2047.enabled' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  14368.                 this.isEnabledEncodingRFC2047HeaderValueRicezioneContenutiApplicativi = true;
  14369.             }  
  14370.         }

  14371.         return this.isEnabledEncodingRFC2047HeaderValueRicezioneContenutiApplicativi;
  14372.     }
  14373.    
  14374.     private Charset getCharsetEncodingRFC2047HeaderValueRicezioneContenutiApplicativi = null;
  14375.     public Charset getCharsetEncodingRFC2047HeaderValueRicezioneContenutiApplicativi() {    
  14376.         if(this.getCharsetEncodingRFC2047HeaderValueRicezioneContenutiApplicativi==null){
  14377.             try{
  14378.                 String name = null;
  14379.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.headerValue.encodingRFC2047.charset");
  14380.                 if(name!=null){
  14381.                     name = name.trim();
  14382.                     this.getCharsetEncodingRFC2047HeaderValueRicezioneContenutiApplicativi = Charset.toEnumConstant(name);
  14383.                     if(this.getCharsetEncodingRFC2047HeaderValueRicezioneContenutiApplicativi==null){
  14384.                         throw new CoreException(VALORE_NON_VALIDO+name);
  14385.                     }
  14386.                 }else{
  14387.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.headerValue.encodingRFC2047.charset' non impostata, viene utilizzato il default="+Charset.US_ASCII.name());
  14388.                     this.getCharsetEncodingRFC2047HeaderValueRicezioneContenutiApplicativi = Charset.US_ASCII;
  14389.                 }
  14390.             }catch(java.lang.Exception e) {
  14391.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.headerValue.encodingRFC2047.charset' non impostata, viene utilizzato il default="+Charset.US_ASCII.name()+", errore:"+e.getMessage(),e);
  14392.                 this.getCharsetEncodingRFC2047HeaderValueRicezioneContenutiApplicativi = Charset.US_ASCII;
  14393.             }  
  14394.         }

  14395.         return this.getCharsetEncodingRFC2047HeaderValueRicezioneContenutiApplicativi;
  14396.     }
  14397.    
  14398.     private RFC2047Encoding getEncodingRFC2047HeaderValueRicezioneContenutiApplicativi = null;
  14399.     public RFC2047Encoding getEncodingRFC2047HeaderValueRicezioneContenutiApplicativi() {  
  14400.         if(this.getEncodingRFC2047HeaderValueRicezioneContenutiApplicativi==null){
  14401.             try{
  14402.                 String name = null;
  14403.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.headerValue.encodingRFC2047.encoding");
  14404.                 if(name!=null){
  14405.                     name = name.trim();
  14406.                     this.getEncodingRFC2047HeaderValueRicezioneContenutiApplicativi = RFC2047Encoding.valueOf(name);
  14407.                     if(this.getEncodingRFC2047HeaderValueRicezioneContenutiApplicativi==null){
  14408.                         throw new CoreException(VALORE_NON_VALIDO+name);
  14409.                     }
  14410.                 }else{
  14411.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.headerValue.encodingRFC2047.encoding' non impostata, viene utilizzato il default="+RFC2047Encoding.Q.name());
  14412.                     this.getEncodingRFC2047HeaderValueRicezioneContenutiApplicativi = RFC2047Encoding.Q;
  14413.                 }
  14414.             }catch(java.lang.Exception e) {
  14415.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.headerValue.encodingRFC2047.encoding' non impostata, viene utilizzato il default="+RFC2047Encoding.Q.name()+", errore:"+e.getMessage(),e);
  14416.                 this.getEncodingRFC2047HeaderValueRicezioneContenutiApplicativi = RFC2047Encoding.Q;
  14417.             }  
  14418.         }

  14419.         return this.getEncodingRFC2047HeaderValueRicezioneContenutiApplicativi;
  14420.     }
  14421.    
  14422.     private Boolean isEnabledEncodingRFC2047HeaderValueRicezioneBuste = null;
  14423.     public boolean isEnabledEncodingRFC2047HeaderValueRicezioneBuste() {    
  14424.         if(this.isEnabledEncodingRFC2047HeaderValueRicezioneBuste==null){
  14425.             try{
  14426.                 String name = null;
  14427.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneBuste.headerValue.encodingRFC2047.enabled");
  14428.                 if(name!=null){
  14429.                     name = name.trim();
  14430.                     this.isEnabledEncodingRFC2047HeaderValueRicezioneBuste = Boolean.parseBoolean(name);
  14431.                 }else{
  14432.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.headerValue.encodingRFC2047.enabled' non impostata, viene utilizzato il default=true");
  14433.                     this.isEnabledEncodingRFC2047HeaderValueRicezioneBuste = true;
  14434.                 }
  14435.             }catch(java.lang.Exception e) {
  14436.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.headerValue.encodingRFC2047.enabled' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  14437.                 this.isEnabledEncodingRFC2047HeaderValueRicezioneBuste = true;
  14438.             }  
  14439.         }

  14440.         return this.isEnabledEncodingRFC2047HeaderValueRicezioneBuste;
  14441.     }
  14442.    
  14443.     private Charset getCharsetEncodingRFC2047HeaderValueRicezioneBuste = null;
  14444.     public Charset getCharsetEncodingRFC2047HeaderValueRicezioneBuste() {  
  14445.         if(this.getCharsetEncodingRFC2047HeaderValueRicezioneBuste==null){
  14446.             try{
  14447.                 String name = null;
  14448.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneBuste.headerValue.encodingRFC2047.charset");
  14449.                 if(name!=null){
  14450.                     name = name.trim();
  14451.                     this.getCharsetEncodingRFC2047HeaderValueRicezioneBuste = Charset.toEnumConstant(name);
  14452.                     if(this.getCharsetEncodingRFC2047HeaderValueRicezioneBuste==null){
  14453.                         throw new CoreException(VALORE_NON_VALIDO+name);
  14454.                     }
  14455.                 }else{
  14456.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.headerValue.encodingRFC2047.charset' non impostata, viene utilizzato il default="+Charset.US_ASCII.name());
  14457.                     this.getCharsetEncodingRFC2047HeaderValueRicezioneBuste = Charset.US_ASCII;
  14458.                 }
  14459.             }catch(java.lang.Exception e) {
  14460.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.headerValue.encodingRFC2047.charset' non impostata, viene utilizzato il default="+Charset.US_ASCII.name()+", errore:"+e.getMessage(),e);
  14461.                 this.getCharsetEncodingRFC2047HeaderValueRicezioneBuste = Charset.US_ASCII;
  14462.             }  
  14463.         }

  14464.         return this.getCharsetEncodingRFC2047HeaderValueRicezioneBuste;
  14465.     }
  14466.    
  14467.     private RFC2047Encoding getEncodingRFC2047HeaderValueRicezioneBuste = null;
  14468.     public RFC2047Encoding getEncodingRFC2047HeaderValueRicezioneBuste() {  
  14469.         if(this.getEncodingRFC2047HeaderValueRicezioneBuste==null){
  14470.             try{
  14471.                 String name = null;
  14472.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneBuste.headerValue.encodingRFC2047.encoding");
  14473.                 if(name!=null){
  14474.                     name = name.trim();
  14475.                     this.getEncodingRFC2047HeaderValueRicezioneBuste = RFC2047Encoding.valueOf(name);
  14476.                     if(this.getEncodingRFC2047HeaderValueRicezioneBuste==null){
  14477.                         throw new CoreException(VALORE_NON_VALIDO+name);
  14478.                     }
  14479.                 }else{
  14480.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.headerValue.encodingRFC2047.encoding' non impostata, viene utilizzato il default="+RFC2047Encoding.Q.name());
  14481.                     this.getEncodingRFC2047HeaderValueRicezioneBuste = RFC2047Encoding.Q;
  14482.                 }
  14483.             }catch(java.lang.Exception e) {
  14484.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.headerValue.encodingRFC2047.encoding' non impostata, viene utilizzato il default="+RFC2047Encoding.Q.name()+", errore:"+e.getMessage(),e);
  14485.                 this.getEncodingRFC2047HeaderValueRicezioneBuste = RFC2047Encoding.Q;
  14486.             }  
  14487.         }

  14488.         return this.getEncodingRFC2047HeaderValueRicezioneBuste;
  14489.     }
  14490.    
  14491.     private Boolean isEnabledEncodingRFC2047HeaderValueInoltroBuste = null;
  14492.     public boolean isEnabledEncodingRFC2047HeaderValueInoltroBuste() {  
  14493.         if(this.isEnabledEncodingRFC2047HeaderValueInoltroBuste==null){
  14494.             try{
  14495.                 String name = null;
  14496.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.headerValue.encodingRFC2047.enabled");
  14497.                 if(name!=null){
  14498.                     name = name.trim();
  14499.                     this.isEnabledEncodingRFC2047HeaderValueInoltroBuste = Boolean.parseBoolean(name);
  14500.                 }else{
  14501.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.headerValue.encodingRFC2047.enabled' non impostata, viene utilizzato il default=true");
  14502.                     this.isEnabledEncodingRFC2047HeaderValueInoltroBuste = true;
  14503.                 }
  14504.             }catch(java.lang.Exception e) {
  14505.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.headerValue.encodingRFC2047.enabled' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  14506.                 this.isEnabledEncodingRFC2047HeaderValueInoltroBuste = true;
  14507.             }  
  14508.         }

  14509.         return this.isEnabledEncodingRFC2047HeaderValueInoltroBuste;
  14510.     }
  14511.    
  14512.     private Charset getCharsetEncodingRFC2047HeaderValueInoltroBuste = null;
  14513.     public Charset getCharsetEncodingRFC2047HeaderValueInoltroBuste() {
  14514.         if(this.getCharsetEncodingRFC2047HeaderValueInoltroBuste==null){
  14515.             try{
  14516.                 String name = null;
  14517.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.headerValue.encodingRFC2047.charset");
  14518.                 if(name!=null){
  14519.                     name = name.trim();
  14520.                     this.getCharsetEncodingRFC2047HeaderValueInoltroBuste = Charset.toEnumConstant(name);
  14521.                     if(this.getCharsetEncodingRFC2047HeaderValueInoltroBuste==null){
  14522.                         throw new CoreException(VALORE_NON_VALIDO+name);
  14523.                     }
  14524.                 }else{
  14525.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.headerValue.encodingRFC2047.charset' non impostata, viene utilizzato il default="+Charset.US_ASCII.name());
  14526.                     this.getCharsetEncodingRFC2047HeaderValueInoltroBuste = Charset.US_ASCII;
  14527.                 }
  14528.             }catch(java.lang.Exception e) {
  14529.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.headerValue.encodingRFC2047.charset' non impostata, viene utilizzato il default="+Charset.US_ASCII.name()+", errore:"+e.getMessage(),e);
  14530.                 this.getCharsetEncodingRFC2047HeaderValueInoltroBuste = Charset.US_ASCII;
  14531.             }  
  14532.         }

  14533.         return this.getCharsetEncodingRFC2047HeaderValueInoltroBuste;
  14534.     }
  14535.    
  14536.     private RFC2047Encoding getEncodingRFC2047HeaderValueInoltroBuste = null;
  14537.     public RFC2047Encoding getEncodingRFC2047HeaderValueInoltroBuste() {    
  14538.         if(this.getEncodingRFC2047HeaderValueInoltroBuste==null){
  14539.             try{
  14540.                 String name = null;
  14541.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.headerValue.encodingRFC2047.encoding");
  14542.                 if(name!=null){
  14543.                     name = name.trim();
  14544.                     this.getEncodingRFC2047HeaderValueInoltroBuste = RFC2047Encoding.valueOf(name);
  14545.                     if(this.getEncodingRFC2047HeaderValueInoltroBuste==null){
  14546.                         throw new CoreException(VALORE_NON_VALIDO+name);
  14547.                     }
  14548.                 }else{
  14549.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.headerValue.encodingRFC2047.encoding' non impostata, viene utilizzato il default="+RFC2047Encoding.Q.name());
  14550.                     this.getEncodingRFC2047HeaderValueInoltroBuste = RFC2047Encoding.Q;
  14551.                 }
  14552.             }catch(java.lang.Exception e) {
  14553.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.headerValue.encodingRFC2047.encoding' non impostata, viene utilizzato il default="+RFC2047Encoding.Q.name()+", errore:"+e.getMessage(),e);
  14554.                 this.getEncodingRFC2047HeaderValueInoltroBuste = RFC2047Encoding.Q;
  14555.             }  
  14556.         }

  14557.         return this.getEncodingRFC2047HeaderValueInoltroBuste;
  14558.     }
  14559.    
  14560.     private Boolean isEnabledEncodingRFC2047HeaderValueConsegnaContenutiApplicativi = null;
  14561.     public boolean isEnabledEncodingRFC2047HeaderValueConsegnaContenutiApplicativi() {  
  14562.         if(this.isEnabledEncodingRFC2047HeaderValueConsegnaContenutiApplicativi==null){
  14563.             try{
  14564.                 String name = null;
  14565.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.headerValue.encodingRFC2047.enabled");
  14566.                 if(name!=null){
  14567.                     name = name.trim();
  14568.                     this.isEnabledEncodingRFC2047HeaderValueConsegnaContenutiApplicativi = Boolean.parseBoolean(name);
  14569.                 }else{
  14570.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.headerValue.encodingRFC2047.enabled' non impostata, viene utilizzato il default=true");
  14571.                     this.isEnabledEncodingRFC2047HeaderValueConsegnaContenutiApplicativi = true;
  14572.                 }
  14573.             }catch(java.lang.Exception e) {
  14574.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.headerValue.encodingRFC2047.enabled' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  14575.                 this.isEnabledEncodingRFC2047HeaderValueConsegnaContenutiApplicativi = true;
  14576.             }  
  14577.         }

  14578.         return this.isEnabledEncodingRFC2047HeaderValueConsegnaContenutiApplicativi;
  14579.     }
  14580.    
  14581.     private Charset getCharsetEncodingRFC2047HeaderValueConsegnaContenutiApplicativi = null;
  14582.     public Charset getCharsetEncodingRFC2047HeaderValueConsegnaContenutiApplicativi() {
  14583.         if(this.getCharsetEncodingRFC2047HeaderValueConsegnaContenutiApplicativi==null){
  14584.             try{
  14585.                 String name = null;
  14586.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.headerValue.encodingRFC2047.charset");
  14587.                 if(name!=null){
  14588.                     name = name.trim();
  14589.                     this.getCharsetEncodingRFC2047HeaderValueConsegnaContenutiApplicativi = Charset.toEnumConstant(name);
  14590.                     if(this.getCharsetEncodingRFC2047HeaderValueConsegnaContenutiApplicativi==null){
  14591.                         throw new CoreException(VALORE_NON_VALIDO+name);
  14592.                     }
  14593.                 }else{
  14594.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.headerValue.encodingRFC2047.charset' non impostata, viene utilizzato il default="+Charset.US_ASCII.name());
  14595.                     this.getCharsetEncodingRFC2047HeaderValueConsegnaContenutiApplicativi = Charset.US_ASCII;
  14596.                 }
  14597.             }catch(java.lang.Exception e) {
  14598.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.headerValue.encodingRFC2047.charset' non impostata, viene utilizzato il default="+Charset.US_ASCII.name()+", errore:"+e.getMessage(),e);
  14599.                 this.getCharsetEncodingRFC2047HeaderValueConsegnaContenutiApplicativi = Charset.US_ASCII;
  14600.             }  
  14601.         }

  14602.         return this.getCharsetEncodingRFC2047HeaderValueConsegnaContenutiApplicativi;
  14603.     }
  14604.    
  14605.     private RFC2047Encoding getEncodingRFC2047HeaderValueConsegnaContenutiApplicativi = null;
  14606.     public RFC2047Encoding getEncodingRFC2047HeaderValueConsegnaContenutiApplicativi() {    
  14607.         if(this.getEncodingRFC2047HeaderValueConsegnaContenutiApplicativi==null){
  14608.             try{
  14609.                 String name = null;
  14610.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.headerValue.encodingRFC2047.encoding");
  14611.                 if(name!=null){
  14612.                     name = name.trim();
  14613.                     this.getEncodingRFC2047HeaderValueConsegnaContenutiApplicativi = RFC2047Encoding.valueOf(name);
  14614.                     if(this.getEncodingRFC2047HeaderValueConsegnaContenutiApplicativi==null){
  14615.                         throw new CoreException(VALORE_NON_VALIDO+name);
  14616.                     }
  14617.                 }else{
  14618.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.headerValue.encodingRFC2047.encoding' non impostata, viene utilizzato il default="+RFC2047Encoding.Q.name());
  14619.                     this.getEncodingRFC2047HeaderValueConsegnaContenutiApplicativi = RFC2047Encoding.Q;
  14620.                 }
  14621.             }catch(java.lang.Exception e) {
  14622.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.headerValue.encodingRFC2047.encoding' non impostata, viene utilizzato il default="+RFC2047Encoding.Q.name()+", errore:"+e.getMessage(),e);
  14623.                 this.getEncodingRFC2047HeaderValueConsegnaContenutiApplicativi = RFC2047Encoding.Q;
  14624.             }  
  14625.         }

  14626.         return this.getEncodingRFC2047HeaderValueConsegnaContenutiApplicativi;
  14627.     }
  14628.    

  14629.     private Boolean isEnabledValidazioneRFC2047HeaderNameValueRicezioneContenutiApplicativi = null;
  14630.     public boolean isEnabledValidazioneRFC2047HeaderNameValueRicezioneContenutiApplicativi() {  
  14631.         if(this.isEnabledValidazioneRFC2047HeaderNameValueRicezioneContenutiApplicativi==null){
  14632.             try{
  14633.                 String name = null;
  14634.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.headerNameValue.validazione.enabled");
  14635.                 if(name!=null){
  14636.                     name = name.trim();
  14637.                     this.isEnabledValidazioneRFC2047HeaderNameValueRicezioneContenutiApplicativi = Boolean.parseBoolean(name);
  14638.                 }else{
  14639.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.headerNameValue.validazione.enabled' non impostata, viene utilizzato il default=true");
  14640.                     this.isEnabledValidazioneRFC2047HeaderNameValueRicezioneContenutiApplicativi = true;
  14641.                 }
  14642.             }catch(java.lang.Exception e) {
  14643.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.headerNameValue.validazione.enabled' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  14644.                 this.isEnabledValidazioneRFC2047HeaderNameValueRicezioneContenutiApplicativi = true;
  14645.             }  
  14646.         }

  14647.         return this.isEnabledValidazioneRFC2047HeaderNameValueRicezioneContenutiApplicativi;
  14648.     }
  14649.    
  14650.     private Boolean isEnabledValidazioneRFC2047HeaderNameValueRicezioneBuste = null;
  14651.     public boolean isEnabledValidazioneRFC2047HeaderNameValueRicezioneBuste() {
  14652.         if(this.isEnabledValidazioneRFC2047HeaderNameValueRicezioneBuste==null){
  14653.             try{
  14654.                 String name = null;
  14655.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneBuste.headerNameValue.validazione.enabled");
  14656.                 if(name!=null){
  14657.                     name = name.trim();
  14658.                     this.isEnabledValidazioneRFC2047HeaderNameValueRicezioneBuste = Boolean.parseBoolean(name);
  14659.                 }else{
  14660.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.headerNameValue.validazione.enabled' non impostata, viene utilizzato il default=true");
  14661.                     this.isEnabledValidazioneRFC2047HeaderNameValueRicezioneBuste = true;
  14662.                 }
  14663.             }catch(java.lang.Exception e) {
  14664.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.headerNameValue.validazione.enabled' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  14665.                 this.isEnabledValidazioneRFC2047HeaderNameValueRicezioneBuste = true;
  14666.             }  
  14667.         }

  14668.         return this.isEnabledValidazioneRFC2047HeaderNameValueRicezioneBuste;
  14669.     }
  14670.    
  14671.     private Boolean isEnabledValidazioneRFC2047HeaderNameValueInoltroBuste = null;
  14672.     public boolean isEnabledValidazioneRFC2047HeaderNameValueInoltroBuste() {  
  14673.         if(this.isEnabledValidazioneRFC2047HeaderNameValueInoltroBuste==null){
  14674.             try{
  14675.                 String name = null;
  14676.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.headerNameValue.validazione.enabled");
  14677.                 if(name!=null){
  14678.                     name = name.trim();
  14679.                     this.isEnabledValidazioneRFC2047HeaderNameValueInoltroBuste = Boolean.parseBoolean(name);
  14680.                 }else{
  14681.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.headerNameValue.validazione.enabled' non impostata, viene utilizzato il default=true");
  14682.                     this.isEnabledValidazioneRFC2047HeaderNameValueInoltroBuste = true;
  14683.                 }
  14684.             }catch(java.lang.Exception e) {
  14685.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.headerNameValue.validazione.enabled' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  14686.                 this.isEnabledValidazioneRFC2047HeaderNameValueInoltroBuste = true;
  14687.             }  
  14688.         }

  14689.         return this.isEnabledValidazioneRFC2047HeaderNameValueInoltroBuste;
  14690.     }
  14691.    
  14692.     private Boolean isEnabledValidazioneRFC2047HeaderNameValueConsegnaContenutiApplicativi = null;
  14693.     public boolean isEnabledValidazioneRFC2047HeaderNameValueConsegnaContenutiApplicativi() {  
  14694.         if(this.isEnabledValidazioneRFC2047HeaderNameValueConsegnaContenutiApplicativi==null){
  14695.             try{
  14696.                 String name = null;
  14697.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.headerNameValue.validazione.enabled");
  14698.                 if(name!=null){
  14699.                     name = name.trim();
  14700.                     this.isEnabledValidazioneRFC2047HeaderNameValueConsegnaContenutiApplicativi = Boolean.parseBoolean(name);
  14701.                 }else{
  14702.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.headerNameValue.validazione.enabled' non impostata, viene utilizzato il default=true");
  14703.                     this.isEnabledValidazioneRFC2047HeaderNameValueConsegnaContenutiApplicativi = true;
  14704.                 }
  14705.             }catch(java.lang.Exception e) {
  14706.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.headerNameValue.validazione.enabled' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  14707.                 this.isEnabledValidazioneRFC2047HeaderNameValueConsegnaContenutiApplicativi = true;
  14708.             }  
  14709.         }

  14710.         return this.isEnabledValidazioneRFC2047HeaderNameValueConsegnaContenutiApplicativi;
  14711.     }
  14712.    
  14713.     private Integer getGestioneCORS_returnCode_ricezioneContenutiApplicativi = null;
  14714.     public int getGestioneCORS_returnCode_ricezioneContenutiApplicativi() {
  14715.         if(this.getGestioneCORS_returnCode_ricezioneContenutiApplicativi==null){
  14716.             try{
  14717.                 String name = null;
  14718.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.cors.returnCode");
  14719.                 if(name!=null){
  14720.                     name = name.trim();
  14721.                     this.getGestioneCORS_returnCode_ricezioneContenutiApplicativi = java.lang.Integer.parseInt(name);
  14722.                 }else{
  14723.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.cors.returnCode' non impostata, viene utilizzato il default="+CostantiPdD.GESTIONE_CORS_RETURN_CODE);
  14724.                     this.getGestioneCORS_returnCode_ricezioneContenutiApplicativi = CostantiPdD.GESTIONE_CORS_RETURN_CODE;
  14725.                 }
  14726.             }catch(java.lang.Exception e) {
  14727.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.cors.returnCode' non impostata, viene utilizzato il default="+CostantiPdD.GESTIONE_CORS_RETURN_CODE+", errore:"+e.getMessage(),e);
  14728.                 this.getGestioneCORS_returnCode_ricezioneContenutiApplicativi = CostantiPdD.GESTIONE_CORS_RETURN_CODE;
  14729.             }    
  14730.         }

  14731.         return this.getGestioneCORS_returnCode_ricezioneContenutiApplicativi;
  14732.     }
  14733.    
  14734.     private Boolean isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneContenutiApplicativi = null;
  14735.     public boolean isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneContenutiApplicativi() {
  14736.         if(this.isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneContenutiApplicativi==null){
  14737.             String pName = "org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.cors.resourceHttpMethodQualsiasi";
  14738.             try{
  14739.                 String name = null;
  14740.                 name = this.reader.getValueConvertEnvProperties(pName);
  14741.                 if(name!=null){
  14742.                     name = name.trim();
  14743.                     this.isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneContenutiApplicativi = java.lang.Boolean.valueOf(name);
  14744.                 }else{
  14745.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  14746.                     this.isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneContenutiApplicativi = false;
  14747.                 }
  14748.             }catch(java.lang.Exception e) {
  14749.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  14750.                 this.isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneContenutiApplicativi = false;
  14751.             }    
  14752.         }

  14753.         return this.isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneContenutiApplicativi;
  14754.     }
  14755.    
  14756.     private Integer getGestioneCORS_returnCode_ricezioneBuste = null;
  14757.     public int getGestioneCORS_returnCode_ricezioneBuste() {    
  14758.         if(this.getGestioneCORS_returnCode_ricezioneBuste==null){
  14759.             try{
  14760.                 String name = null;
  14761.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneBuste.cors.returnCode");
  14762.                 if(name!=null){
  14763.                     name = name.trim();
  14764.                     this.getGestioneCORS_returnCode_ricezioneBuste = java.lang.Integer.parseInt(name);
  14765.                 }else{
  14766.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.cors.returnCode' non impostata, viene utilizzato il default="+CostantiPdD.GESTIONE_CORS_RETURN_CODE);
  14767.                     this.getGestioneCORS_returnCode_ricezioneBuste = CostantiPdD.GESTIONE_CORS_RETURN_CODE;
  14768.                 }
  14769.             }catch(java.lang.Exception e) {
  14770.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.cors.returnCode' non impostata, viene utilizzato il default="+CostantiPdD.GESTIONE_CORS_RETURN_CODE+", errore:"+e.getMessage(),e);
  14771.                 this.getGestioneCORS_returnCode_ricezioneBuste = CostantiPdD.GESTIONE_CORS_RETURN_CODE;
  14772.             }    
  14773.         }

  14774.         return this.getGestioneCORS_returnCode_ricezioneBuste;
  14775.     }
  14776.    
  14777.     private Boolean isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneBuste = null;
  14778.     public boolean isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneBuste() {    
  14779.         if(this.isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneBuste==null){
  14780.             String pName = "org.openspcoop2.pdd.services.ricezioneBuste.cors.resourceHttpMethodQualsiasi";
  14781.             try{
  14782.                 String name = null;
  14783.                 name = this.reader.getValueConvertEnvProperties(pName);
  14784.                 if(name!=null){
  14785.                     name = name.trim();
  14786.                     this.isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneBuste = java.lang.Boolean.valueOf(name);
  14787.                 }else{
  14788.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  14789.                     this.isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneBuste = false;
  14790.                 }
  14791.             }catch(java.lang.Exception e) {
  14792.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  14793.                 this.isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneBuste = false;
  14794.             }    
  14795.         }

  14796.         return this.isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneBuste;
  14797.     }
  14798.    
  14799.    
  14800.     private ArchiveType getNotificaRichiestaRisposta_consegnaContenutiApplicativi_archiveType = null;
  14801.     public ArchiveType getNotificaRichiestaRisposta_consegnaContenutiApplicativi_archiveType() {    
  14802.         if(this.getNotificaRichiestaRisposta_consegnaContenutiApplicativi_archiveType==null){
  14803.             String pName = "org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.notificaRichiestaRisposta.archiveType";
  14804.             try{
  14805.                 String name = null;
  14806.                 name = this.reader.getValueConvertEnvProperties(pName);
  14807.                 if(name!=null){
  14808.                     name = name.trim();
  14809.                     this.getNotificaRichiestaRisposta_consegnaContenutiApplicativi_archiveType = ArchiveType.valueOf(name.toUpperCase());
  14810.                 }else{
  14811.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,ArchiveType.ZIP.toString()));
  14812.                     this.getNotificaRichiestaRisposta_consegnaContenutiApplicativi_archiveType = ArchiveType.ZIP;
  14813.                 }
  14814.             }catch(java.lang.Exception e) {
  14815.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,ArchiveType.ZIP.toString()),e);
  14816.                 this.getNotificaRichiestaRisposta_consegnaContenutiApplicativi_archiveType = ArchiveType.ZIP;
  14817.             }    
  14818.         }

  14819.         return this.getNotificaRichiestaRisposta_consegnaContenutiApplicativi_archiveType;
  14820.     }
  14821.    


  14822.     /* ***************** DATE ************* */
  14823.     /**
  14824.      * Restituisce il tipo di tempo da utilizzare
  14825.      *
  14826.      * @return il tipo di tempo da utilizzare
  14827.      *
  14828.      */
  14829.     private TipoOraRegistrazione tipoTempo = null;
  14830.     public TipoOraRegistrazione getTipoTempoBusta(String implementazionePdDSoggetto) {
  14831.        
  14832.         // ovverriding per implementazione porta di dominio
  14833.         if(this.pddReader!=null){
  14834.             String tipo = this.pddReader.getBusta_TempoTipo(implementazionePdDSoggetto);
  14835.             if(tipo!=null && (
  14836.                     CostantiConfigurazione.TEMPO_TIPO_LOCALE.equalsIgnoreCase(tipo) ||
  14837.                     CostantiConfigurazione.TEMPO_TIPO_SINCRONIZZATO.equalsIgnoreCase(tipo)  )
  14838.             ){
  14839.                 if(CostantiConfigurazione.TEMPO_TIPO_LOCALE.equalsIgnoreCase(tipo))
  14840.                     return TipoOraRegistrazione.LOCALE;
  14841.                 else
  14842.                     return TipoOraRegistrazione.SINCRONIZZATO;
  14843.             }
  14844.         }

  14845.         if(this.tipoTempo==null){
  14846.             try{
  14847.                 String name = null;
  14848.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.tempo.tipo");
  14849.                 if(name!=null){
  14850.                     name = name.trim();
  14851.                     if(CostantiConfigurazione.TEMPO_TIPO_LOCALE.equals(name))
  14852.                         this.tipoTempo = TipoOraRegistrazione.LOCALE;
  14853.                     else if(CostantiConfigurazione.TEMPO_TIPO_SINCRONIZZATO.equals(name))
  14854.                         this.tipoTempo = TipoOraRegistrazione.SINCRONIZZATO;
  14855.                     else
  14856.                         throw new CoreException("Tipo "+name+" non conosciuto");
  14857.                 }
  14858.                 else{
  14859.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.tempo.tipo' non impostata, viene utilizzato il default="+CostantiConfigurazione.TEMPO_TIPO_LOCALE);
  14860.                     this.tipoTempo = TipoOraRegistrazione.LOCALE;
  14861.                 }

  14862.             }catch(java.lang.Exception e) {
  14863.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.tempo.tipo' non impostata, viene utilizzato il default="+CostantiConfigurazione.TEMPO_TIPO_LOCALE+", errore:"+e.getMessage(),e);
  14864.                 this.tipoTempo = TipoOraRegistrazione.LOCALE;
  14865.             }    
  14866.         }

  14867.         return this.tipoTempo;
  14868.     }

  14869.     /**
  14870.      * Restituisce il tipo di Date da utilizzare
  14871.      *
  14872.      * @return il tipo di Date da utilizzare
  14873.      *
  14874.      */
  14875.     private String tipoDateManager = null;
  14876.     public String getTipoDateManager() {    
  14877.         if(this.tipoDateManager==null){
  14878.             try{
  14879.                 String name = null;
  14880.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.date.tipo");
  14881.                 if(name!=null)
  14882.                     name = name.trim();
  14883.                 else
  14884.                     throw new CoreException(NON_DEFINITA);
  14885.                 this.tipoDateManager = name;
  14886.             }catch(java.lang.Exception e) {
  14887.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.date.tipo': "+e.getMessage(),e);
  14888.                 this.tipoDateManager = null;
  14889.             }    
  14890.         }

  14891.         return this.tipoDateManager;
  14892.     }
  14893.    
  14894.     private DateEngineType tipoDateTimeFormat = null;
  14895.     public DateEngineType getTipoDateTimeFormat() {
  14896.         if(this.tipoDateTimeFormat==null){
  14897.             try{
  14898.                 String name = null;
  14899.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.dateTimeFormat");
  14900.                 if(name!=null)
  14901.                     name = name.trim();
  14902.                 else
  14903.                     throw new CoreException(NON_DEFINITA);
  14904.                 this.tipoDateTimeFormat = DateEngineType.valueOf(name);
  14905.             }catch(java.lang.Exception e) {
  14906.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.dateTimeFormat': "+e.getMessage(),e);
  14907.                 this.tipoDateTimeFormat = null;
  14908.             }    
  14909.         }

  14910.         return this.tipoDateTimeFormat;
  14911.     }

  14912.     /**
  14913.      * Restituisce le proprieta' da utilizzare sul tipo di Date da utilizzare
  14914.      *
  14915.      * @return proprieta' da utilizzare sul tipo di Date da utilizzare
  14916.      *
  14917.      */
  14918.     private java.util.Properties dateManagerProperties = null;
  14919.     public java.util.Properties getDateManagerProperties() {
  14920.         if(this.dateManagerProperties==null){
  14921.             java.util.Properties prop = new java.util.Properties();
  14922.             try{

  14923.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.date.property.");
  14924.                 this.dateManagerProperties = prop;

  14925.             }catch(java.lang.Exception e) {
  14926.                 this.logError("Riscontrato errore durante la lettura delle propriete' 'org.openspcoop2.pdd.date.property.*': "+e.getMessage(),e);
  14927.                 this.dateManagerProperties = null;
  14928.             }    
  14929.         }

  14930.         return this.dateManagerProperties;
  14931.     }








  14932.     /* ************** INTEGRATION MANAGER ****************** */

  14933.     private Boolean isIntegrationManagerEnabled = null;
  14934.     public boolean isIntegrationManagerEnabled() {  
  14935.         if(this.isIntegrationManagerEnabled==null){
  14936.             try{
  14937.                 String name = null;
  14938.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrationManager.enabled");
  14939.                 if(name==null){
  14940.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrationManager.enabled' non impostata, viene utilizzato il default=false");
  14941.                     name="false";
  14942.                 }
  14943.                 name = name.trim();
  14944.                 this.isIntegrationManagerEnabled = Boolean.parseBoolean(name);
  14945.             } catch(java.lang.Exception e) {
  14946.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrationManager.enabled': "+e.getMessage(),e);
  14947.                 this.isIntegrationManagerEnabled = false;
  14948.             }    
  14949.         }

  14950.         return this.isIntegrationManagerEnabled;
  14951.     }
  14952.    
  14953.     private Boolean isIntegrationManagerIdWithDate = null;
  14954.     public boolean isIntegrationManagerIdWithDate() {  
  14955.         if(this.isIntegrationManagerIdWithDate==null){
  14956.             try{
  14957.                 String name = null;
  14958.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrationManager.idWithDate");
  14959.                 if(name==null){
  14960.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrationManager.idWithDate' non impostata, viene utilizzato il default=false");
  14961.                     name="false";
  14962.                 }
  14963.                 name = name.trim();
  14964.                 this.isIntegrationManagerIdWithDate = Boolean.parseBoolean(name);
  14965.             } catch(java.lang.Exception e) {
  14966.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrationManager.idWithDate': "+e.getMessage(),e);
  14967.                 this.isIntegrationManagerIdWithDate = false;
  14968.             }    
  14969.         }

  14970.         return this.isIntegrationManagerIdWithDate;
  14971.     }
  14972.    
  14973.     private Integer getIntegrationManagerIdsLimit = null;
  14974.     private Boolean getIntegrationManagerIdsLimit_read = null;
  14975.     public Integer getIntegrationManagerIdsLimit() {    
  14976.         String pName = "org.openspcoop2.pdd.integrationManager.ids.limit";
  14977.         if(this.getIntegrationManagerIdsLimit_read==null){
  14978.             try{
  14979.                 String name = null;
  14980.                 name = this.reader.getValueConvertEnvProperties(pName);
  14981.                 if(name==null){
  14982.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  14983.                     name="false";
  14984.                 }
  14985.                 name = name.trim();
  14986.                 this.getIntegrationManagerIdsLimit = Integer.valueOf(name);
  14987.             } catch(java.lang.Exception e) {
  14988.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  14989.                 this.getIntegrationManagerIdsLimit = null;
  14990.             }  
  14991.             this.getIntegrationManagerIdsLimit_read = true;
  14992.         }

  14993.         return this.getIntegrationManagerIdsLimit;
  14994.     }
  14995.    
  14996.     private Boolean integrationManager_isNomePortaDelegataUrlBasedValue = null;
  14997.     public boolean integrationManager_isNomePortaDelegataUrlBased() {
  14998.         if(this.integrationManager_isNomePortaDelegataUrlBasedValue==null){
  14999.             try{  
  15000.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.service.IntegrationManager.nomePortaDelegataUrlBased");

  15001.                 if(value!=null){
  15002.                     value = value.trim();
  15003.                     this.integrationManager_isNomePortaDelegataUrlBasedValue = Boolean.parseBoolean(value);
  15004.                 }else{
  15005.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.service.IntegrationManager.nomePortaDelegataUrlBased' non impostata, viene utilizzato il default=false");
  15006.                     this.integrationManager_isNomePortaDelegataUrlBasedValue = false;
  15007.                 }
  15008.             }catch(java.lang.Exception e) {
  15009.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.service.IntegrationManager.nomePortaDelegataUrlBased' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  15010.                 this.integrationManager_isNomePortaDelegataUrlBasedValue = false;
  15011.             }
  15012.         }

  15013.         return this.integrationManager_isNomePortaDelegataUrlBasedValue;
  15014.     }

  15015.     private Boolean integrationManager_readInformazioniTrasportoValue = null;
  15016.     public boolean integrationManager_readInformazioniTrasporto() {
  15017.         if(this.integrationManager_readInformazioniTrasportoValue==null){
  15018.             try{  
  15019.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.service.IntegrationManager.infoTrasporto");

  15020.                 if(value!=null){
  15021.                     value = value.trim();
  15022.                     this.integrationManager_readInformazioniTrasportoValue = Boolean.parseBoolean(value);
  15023.                 }else{
  15024.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.service.IntegrationManager.infoTrasporto' non impostata, viene utilizzato il default=false");
  15025.                     this.integrationManager_readInformazioniTrasportoValue = false;
  15026.                 }
  15027.             }catch(java.lang.Exception e) {
  15028.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.service.IntegrationManager.infoTrasporto' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  15029.                 this.integrationManager_readInformazioniTrasportoValue = false;
  15030.             }
  15031.         }

  15032.         return this.integrationManager_readInformazioniTrasportoValue;
  15033.     }



  15034.     // *** Consegne, gestione runtime ***
  15035.    
  15036.     private Boolean isIntegrationManager_runtime_useRuntimeManager = null;
  15037.     public boolean isIntegrationManager_runtime_useRuntimeManager() {  
  15038.         if(this.isIntegrationManager_runtime_useRuntimeManager==null){
  15039.             String pName = "org.openspcoop2.pdd.service.IntegrationManager.runtime.useRuntimeManager";
  15040.             try{
  15041.                 String name = null;
  15042.                 name = this.reader.getValueConvertEnvProperties(pName);
  15043.                 if(name==null){
  15044.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  15045.                     name="true";
  15046.                 }
  15047.                 name = name.trim();
  15048.                 this.isIntegrationManager_runtime_useRuntimeManager = Boolean.parseBoolean(name);
  15049.             } catch(java.lang.Exception e) {
  15050.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  15051.                 this.isIntegrationManager_runtime_useRuntimeManager = true;
  15052.             }    
  15053.         }

  15054.         return this.isIntegrationManager_runtime_useRuntimeManager;
  15055.     }
  15056.    
  15057.     private Boolean isIntegrationManager_runtime_useConsegnePreseInCaricoManager = null;
  15058.     public boolean isIntegrationManager_runtime_useConsegnePreseInCaricoManager() {
  15059.         if(this.isIntegrationManager_runtime_useConsegnePreseInCaricoManager==null){
  15060.             String pName = "org.openspcoop2.pdd.service.IntegrationManager.runtime.useConsegnePreseInCaricoManager";
  15061.             try{
  15062.                 String name = null;
  15063.                 name = this.reader.getValueConvertEnvProperties(pName);
  15064.                 if(name==null){
  15065.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  15066.                     name="true";
  15067.                 }
  15068.                 name = name.trim();
  15069.                 this.isIntegrationManager_runtime_useConsegnePreseInCaricoManager = Boolean.parseBoolean(name);
  15070.             } catch(java.lang.Exception e) {
  15071.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  15072.                 this.isIntegrationManager_runtime_useConsegnePreseInCaricoManager = true;
  15073.             }    
  15074.         }

  15075.         return this.isIntegrationManager_runtime_useConsegnePreseInCaricoManager;
  15076.     }
  15077.    
  15078.     private String getIntegrationManager_runtime_dataSource = null;
  15079.     public String getIntegrationManager_runtime_dataSource() throws CoreException {
  15080.         if(this.getIntegrationManager_runtime_dataSource==null){
  15081.             String pName = "org.openspcoop2.pdd.service.IntegrationManager.runtime.dataSource";
  15082.             try{
  15083.                 String name = null;
  15084.                 name = this.reader.getValueConvertEnvProperties(pName);
  15085.                 if(name==null){
  15086.                     throw new CoreException("Proprieta' non impostata");
  15087.                 }
  15088.                 name = name.trim();
  15089.                 this.getIntegrationManager_runtime_dataSource = name;
  15090.             } catch(java.lang.Exception e) {
  15091.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  15092.                 throw new CoreException(e.getMessage(),e);
  15093.             }    
  15094.         }

  15095.         return this.getIntegrationManager_runtime_dataSource;
  15096.     }
  15097.    
  15098.     private Properties getIntegrationManager_runtime_dataSourceJndiContext = null;
  15099.     public Properties getIntegrationManager_runtime_dataSourceJndiContext() throws CoreException {  
  15100.         if(this.getIntegrationManager_runtime_dataSourceJndiContext==null){
  15101.             String pName = "org.openspcoop2.pdd.service.IntegrationManager.runtime.dataSource.property.";
  15102.             try{
  15103.                 this.getIntegrationManager_runtime_dataSourceJndiContext = this.reader.readPropertiesConvertEnvProperties(pName);
  15104.             } catch(java.lang.Exception e) {
  15105.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"*': "+e.getMessage(),e);
  15106.                 throw new CoreException(e.getMessage(),e);
  15107.             }    
  15108.         }

  15109.         return this.getIntegrationManager_runtime_dataSourceJndiContext;
  15110.     }
  15111.    
  15112.     private Boolean isIntegrationManager_runtime_dataSource_useDBUtils = null;
  15113.     public boolean isIntegrationManager_runtime_dataSource_useDBUtils() {  
  15114.         if(this.isIntegrationManager_runtime_dataSource_useDBUtils==null){
  15115.             String pName = "org.openspcoop2.pdd.service.IntegrationManager.runtime.datasource.useDSUtils";
  15116.             try{
  15117.                 String name = null;
  15118.                 name = this.reader.getValueConvertEnvProperties(pName);
  15119.                 if(name==null){
  15120.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  15121.                     name="true";
  15122.                 }
  15123.                 name = name.trim();
  15124.                 this.isIntegrationManager_runtime_dataSource_useDBUtils = Boolean.parseBoolean(name);
  15125.             } catch(java.lang.Exception e) {
  15126.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  15127.                 this.isIntegrationManager_runtime_dataSource_useDBUtils = true;
  15128.             }    
  15129.         }

  15130.         return this.isIntegrationManager_runtime_dataSource_useDBUtils;
  15131.     }
  15132.    
  15133.    
  15134.     // *** Consegne, gestione tracce ***
  15135.    
  15136.     private Boolean isIntegrationManager_transazioni_useTransactionManager = null;
  15137.     public boolean isIntegrationManager_transazioni_useTransactionManager() {  
  15138.         if(this.isIntegrationManager_transazioni_useTransactionManager==null){
  15139.             String pName = "org.openspcoop2.pdd.service.IntegrationManager.transazioni.useTransactionManager";
  15140.             try{
  15141.                 String name = null;
  15142.                 name = this.reader.getValueConvertEnvProperties(pName);
  15143.                 if(name==null){
  15144.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  15145.                     name="true";
  15146.                 }
  15147.                 name = name.trim();
  15148.                 this.isIntegrationManager_transazioni_useTransactionManager = Boolean.parseBoolean(name);
  15149.             } catch(java.lang.Exception e) {
  15150.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  15151.                 this.isIntegrationManager_transazioni_useTransactionManager = true;
  15152.             }    
  15153.         }

  15154.         return this.isIntegrationManager_transazioni_useTransactionManager;
  15155.     }
  15156.    
  15157.     private Boolean isIntegrationManager_transazioni_useConsegnePreseInCaricoManager = null;
  15158.     public boolean isIntegrationManager_transazioni_useConsegnePreseInCaricoManager() {
  15159.         if(this.isIntegrationManager_transazioni_useConsegnePreseInCaricoManager==null){
  15160.             String pName = "org.openspcoop2.pdd.service.IntegrationManager.transazioni.useConsegnePreseInCaricoManager";
  15161.             try{
  15162.                 String name = null;
  15163.                 name = this.reader.getValueConvertEnvProperties(pName);
  15164.                 if(name==null){
  15165.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  15166.                     name="true";
  15167.                 }
  15168.                 name = name.trim();
  15169.                 this.isIntegrationManager_transazioni_useConsegnePreseInCaricoManager = Boolean.parseBoolean(name);
  15170.             } catch(java.lang.Exception e) {
  15171.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  15172.                 this.isIntegrationManager_transazioni_useConsegnePreseInCaricoManager = true;
  15173.             }    
  15174.         }

  15175.         return this.isIntegrationManager_transazioni_useConsegnePreseInCaricoManager;
  15176.     }
  15177.    
  15178.     private String getIntegrationManager_transazioni_dataSource = null;
  15179.     public String getIntegrationManager_transazioni_dataSource() throws CoreException {
  15180.         if(this.getIntegrationManager_transazioni_dataSource==null){
  15181.             String pName = "org.openspcoop2.pdd.service.IntegrationManager.transazioni.dataSource";
  15182.             try{
  15183.                 String name = null;
  15184.                 name = this.reader.getValueConvertEnvProperties(pName);
  15185.                 if(name==null){
  15186.                     throw new CoreException("Proprieta' non impostata");
  15187.                 }
  15188.                 name = name.trim();
  15189.                 this.getIntegrationManager_transazioni_dataSource = name;
  15190.             } catch(java.lang.Exception e) {
  15191.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  15192.                 throw new CoreException(e.getMessage(),e);
  15193.             }    
  15194.         }

  15195.         return this.getIntegrationManager_transazioni_dataSource;
  15196.     }
  15197.    
  15198.     private Properties getIntegrationManager_transazioni_dataSourceJndiContext = null;
  15199.     public Properties getIntegrationManager_transazioni_dataSourceJndiContext() throws CoreException {  
  15200.         if(this.getIntegrationManager_transazioni_dataSourceJndiContext==null){
  15201.             String pName = "org.openspcoop2.pdd.service.IntegrationManager.transazioni.dataSource.property.";
  15202.             try{
  15203.                 this.getIntegrationManager_transazioni_dataSourceJndiContext = this.reader.readPropertiesConvertEnvProperties(pName);
  15204.             } catch(java.lang.Exception e) {
  15205.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"*': "+e.getMessage(),e);
  15206.                 throw new CoreException(e.getMessage(),e);
  15207.             }    
  15208.         }

  15209.         return this.getIntegrationManager_transazioni_dataSourceJndiContext;
  15210.     }
  15211.    
  15212.     private Boolean isIntegrationManager_transazioni_dataSource_useDBUtils = null;
  15213.     public boolean isIntegrationManager_transazioni_dataSource_useDBUtils() {  
  15214.         if(this.isIntegrationManager_transazioni_dataSource_useDBUtils==null){
  15215.             String pName = "org.openspcoop2.pdd.service.IntegrationManager.transazioni.datasource.useDSUtils";
  15216.             try{
  15217.                 String name = null;
  15218.                 name = this.reader.getValueConvertEnvProperties(pName);
  15219.                 if(name==null){
  15220.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  15221.                     name="true";
  15222.                 }
  15223.                 name = name.trim();
  15224.                 this.isIntegrationManager_transazioni_dataSource_useDBUtils = Boolean.parseBoolean(name);
  15225.             } catch(java.lang.Exception e) {
  15226.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  15227.                 this.isIntegrationManager_transazioni_dataSource_useDBUtils = true;
  15228.             }    
  15229.         }

  15230.         return this.isIntegrationManager_transazioni_dataSource_useDBUtils;
  15231.     }
  15232.    







  15233.     /* ************** GESTIONE ATTACHMENTS *************** */
  15234.     /**
  15235.      * Restituisce l'indicazione se cancellare l'istruzione <?xml
  15236.      *
  15237.      * @return Restituisce Restituisce l'indicazione se cancellare l'istruzione <?xml
  15238.      *
  15239.      */
  15240.     private Boolean isDeleteInstructionTargetMachineXml= null;
  15241.     public boolean isDeleteInstructionTargetMachineXml(){
  15242.         if(this.isDeleteInstructionTargetMachineXml==null){
  15243.             try{  
  15244.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.core.soap.deleteInstructionTargetMachineXml");

  15245.                 if(value!=null){
  15246.                     value = value.trim();
  15247.                     this.isDeleteInstructionTargetMachineXml = Boolean.parseBoolean(value);
  15248.                 }else{
  15249.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.soap.deleteInstructionTargetMachineXml' non impostata, viene utilizzato il default=false");
  15250.                     this.isDeleteInstructionTargetMachineXml = false;
  15251.                 }

  15252.             }catch(java.lang.Exception e) {
  15253.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.soap.deleteInstructionTargetMachineXml' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  15254.                 this.isDeleteInstructionTargetMachineXml = false;
  15255.             }
  15256.         }

  15257.         return this.isDeleteInstructionTargetMachineXml;
  15258.     }

  15259.     private Boolean tunnelSOAP_loadMailcap = null;
  15260.     public boolean isTunnelSOAP_loadMailcap() {
  15261.         if(this.tunnelSOAP_loadMailcap==null){
  15262.             try{
  15263.                 String name = null;
  15264.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.core.soap.tunnelSOAP.mailcap.load");
  15265.                 if(name!=null){
  15266.                     name = name.trim();
  15267.                     this.tunnelSOAP_loadMailcap = Boolean.parseBoolean(name);
  15268.                 }else{
  15269.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.soap.tunnelSOAP.mailcap.load' non impostata, viene utilizzato il default="+false);
  15270.                     this.tunnelSOAP_loadMailcap = false;
  15271.                 }
  15272.             }catch(java.lang.Exception e) {
  15273.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.soap.tunnelSOAP.mailcap.load' non impostata, viene utilizzato il default="+false+", errore:"+e.getMessage(),e);
  15274.                 this.tunnelSOAP_loadMailcap = false;
  15275.             }    
  15276.         }

  15277.         return this.tunnelSOAP_loadMailcap;
  15278.     }
  15279.    
  15280.     /**
  15281.      * Restituisce il tipo di Date da utilizzare
  15282.      *
  15283.      * @return il tipo di Date da utilizzare
  15284.      *
  15285.      */
  15286.     private String tunnelSOAPKeyWord_headerTrasporto = null;
  15287.     public String getTunnelSOAPKeyWord_headerTrasporto() {  
  15288.         if(this.tunnelSOAPKeyWord_headerTrasporto==null){
  15289.             try{
  15290.                 String name = null;
  15291.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.core.soap.tunnelSOAP.trasporto");
  15292.                 if(name!=null){
  15293.                     name = name.trim();
  15294.                     this.tunnelSOAPKeyWord_headerTrasporto = name;
  15295.                 }else{
  15296.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.soap.tunnelSOAP.trasporto' non impostata, viene utilizzato il default="+CostantiPdD.IMBUSTAMENTO_ATTACHMENT);
  15297.                     this.tunnelSOAPKeyWord_headerTrasporto = CostantiPdD.IMBUSTAMENTO_ATTACHMENT;
  15298.                 }
  15299.             }catch(java.lang.Exception e) {
  15300.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.soap.tunnelSOAP.trasporto' non impostata, viene utilizzato il default="+CostantiPdD.IMBUSTAMENTO_ATTACHMENT+", errore:"+e.getMessage(),e);
  15301.                 this.tunnelSOAPKeyWord_headerTrasporto = CostantiPdD.IMBUSTAMENTO_ATTACHMENT;
  15302.             }    
  15303.         }

  15304.         return this.tunnelSOAPKeyWord_headerTrasporto;
  15305.     }

  15306.     /**
  15307.      * Restituisce il tipo di Date da utilizzare
  15308.      *
  15309.      * @return il tipo di Date da utilizzare
  15310.      *
  15311.      */
  15312.     private String tunnelSOAPKeyWordMimeType_headerTrasporto = null;
  15313.     public String getTunnelSOAPKeyWordMimeType_headerTrasporto() {  
  15314.         if(this.tunnelSOAPKeyWordMimeType_headerTrasporto==null){
  15315.             try{
  15316.                 String name = null;
  15317.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.core.soap.tunnelSOAP.mimeType.trasporto");
  15318.                 if(name!=null){
  15319.                     name = name.trim();
  15320.                     this.tunnelSOAPKeyWordMimeType_headerTrasporto = name;
  15321.                 }else{
  15322.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.soap.tunnelSOAP.mimeType.trasporto' non impostata, viene utilizzato il default="+CostantiPdD.IMBUSTAMENTO_MIME_TYPE);
  15323.                     this.tunnelSOAPKeyWordMimeType_headerTrasporto = CostantiPdD.IMBUSTAMENTO_MIME_TYPE;
  15324.                 }
  15325.             }catch(java.lang.Exception e) {
  15326.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.soap.tunnelSOAP.mimeType.trasporto' non impostata, viene utilizzato il default="+CostantiPdD.IMBUSTAMENTO_MIME_TYPE+", errore:"+e.getMessage(),e);
  15327.                 this.tunnelSOAPKeyWordMimeType_headerTrasporto = CostantiPdD.IMBUSTAMENTO_MIME_TYPE;
  15328.             }    
  15329.         }

  15330.         return this.tunnelSOAPKeyWordMimeType_headerTrasporto;
  15331.     }

  15332.     /**
  15333.      * Restituisce il tipo di Date da utilizzare
  15334.      *
  15335.      * @return il tipo di Date da utilizzare
  15336.      *
  15337.      */
  15338.     private String tunnelSOAPKeyWord_urlBased = null;
  15339.     public String getTunnelSOAPKeyWord_urlBased() {
  15340.         if(this.tunnelSOAPKeyWord_urlBased==null){
  15341.             try{
  15342.                 String name = null;
  15343.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.core.soap.tunnelSOAP.urlBased");
  15344.                 if(name!=null){
  15345.                     name = name.trim();
  15346.                     this.tunnelSOAPKeyWord_urlBased = name;
  15347.                 }else{
  15348.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.soap.tunnelSOAP.urlBased' non impostata, viene utilizzato il default="+CostantiPdD.IMBUSTAMENTO_ATTACHMENT);
  15349.                     this.tunnelSOAPKeyWord_urlBased = CostantiPdD.IMBUSTAMENTO_ATTACHMENT;
  15350.                 }
  15351.             }catch(java.lang.Exception e) {
  15352.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.soap.tunnelSOAP.urlBased' non impostata, viene utilizzato il default="+CostantiPdD.IMBUSTAMENTO_ATTACHMENT+", errore:"+e.getMessage(),e);
  15353.                 this.tunnelSOAPKeyWord_urlBased = CostantiPdD.IMBUSTAMENTO_ATTACHMENT;
  15354.             }    
  15355.         }

  15356.         return this.tunnelSOAPKeyWord_urlBased;
  15357.     }

  15358.     /**
  15359.      * Restituisce il tipo di Date da utilizzare
  15360.      *
  15361.      * @return il tipo di Date da utilizzare
  15362.      *
  15363.      */
  15364.     private String tunnelSOAPKeyWordMimeType_urlBased = null;
  15365.     public String getTunnelSOAPKeyWordMimeType_urlBased() {
  15366.         if(this.tunnelSOAPKeyWordMimeType_urlBased==null){
  15367.             try{
  15368.                 String name = null;
  15369.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.core.soap.tunnelSOAP.mimeType.urlBased");
  15370.                 if(name!=null){
  15371.                     name = name.trim();
  15372.                     this.tunnelSOAPKeyWordMimeType_urlBased = name;
  15373.                 }else{
  15374.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.soap.tunnelSOAP.mimeType.urlBased' non impostata, viene utilizzato il default="+CostantiPdD.IMBUSTAMENTO_MIME_TYPE);
  15375.                     this.tunnelSOAPKeyWordMimeType_urlBased = CostantiPdD.IMBUSTAMENTO_MIME_TYPE;
  15376.                 }
  15377.             }catch(java.lang.Exception e) {
  15378.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.soap.tunnelSOAP.mimeType.urlBased' non impostata, viene utilizzato il default="+CostantiPdD.IMBUSTAMENTO_MIME_TYPE+", errore:"+e.getMessage(),e);
  15379.                 this.tunnelSOAPKeyWordMimeType_urlBased = CostantiPdD.IMBUSTAMENTO_MIME_TYPE;
  15380.             }    
  15381.         }

  15382.         return this.tunnelSOAPKeyWordMimeType_urlBased;
  15383.     }
  15384.    



  15385.     /* ***************** ASINCRONI ************/
  15386.     /**
  15387.      * Restituisce il Timeout di attesa di una busta di richiesta/ricevutaRichiesta asincrona non completamente processata
  15388.      *
  15389.      * @return Restituisce il Timeout di attesa di una busta
  15390.      *
  15391.      */
  15392.     private Long timeoutBustaRispostaAsincrona = null;
  15393.     public long getTimeoutBustaRispostaAsincrona() {    
  15394.         if(this.timeoutBustaRispostaAsincrona == null){
  15395.             try{
  15396.                 String name = null;
  15397.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.messaggioAsincronoInProcessamento.attesaAttiva");
  15398.                 if(name!=null){
  15399.                     name = name.trim();
  15400.                     this.timeoutBustaRispostaAsincrona = java.lang.Long.parseLong(name) * 1000;
  15401.                 }else{
  15402.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.messaggioAsincronoInProcessamento.attesaAttiva' non impostata, viene utilizzato il default="+(CostantiPdD.RISPOSTA_ASINCRONA_ATTESA_ATTIVA/1000));
  15403.                     this.timeoutBustaRispostaAsincrona = CostantiPdD.RISPOSTA_ASINCRONA_ATTESA_ATTIVA;
  15404.                 }
  15405.             }catch(java.lang.Exception e) {
  15406.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.messaggioAsincronoInProcessamento.attesaAttiva' non impostata" +
  15407.                         ", viene utilizzato il default="+(CostantiPdD.RISPOSTA_ASINCRONA_ATTESA_ATTIVA/1000)+", errore:"+e.getMessage(),e);
  15408.                 this.timeoutBustaRispostaAsincrona = CostantiPdD.RISPOSTA_ASINCRONA_ATTESA_ATTIVA;
  15409.             }    
  15410.         }

  15411.         return this.timeoutBustaRispostaAsincrona;
  15412.     }
  15413.     /**
  15414.      * Restituisce la Frequenza di check di attesa di una busta di richiesta/ricevutaRichiesta asincrona non completamente processata
  15415.      *
  15416.      * @return Restituisce la Frequenza di check di attesa di una busta di richiesta/ricevutaRichiesta asincrona non completamente processata
  15417.      *
  15418.      */
  15419.     private Integer checkIntervalBustaRispostaAsincrona = null;
  15420.     public int getCheckIntervalBustaRispostaAsincrona() {  
  15421.         if(this.checkIntervalBustaRispostaAsincrona==null){
  15422.             try{
  15423.                 String name = null;
  15424.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.messaggioAsincronoInProcessamento.check");
  15425.                 if(name!=null){
  15426.                     name = name.trim();
  15427.                     this.checkIntervalBustaRispostaAsincrona = java.lang.Integer.parseInt(name);
  15428.                 }else{
  15429.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.messaggioAsincronoInProcessamento.check' non impostata, viene utilizzato il default="+CostantiPdD.RISPOSTA_ASINCRONA_CHECK_INTERVAL);
  15430.                     this.checkIntervalBustaRispostaAsincrona = CostantiPdD.RISPOSTA_ASINCRONA_CHECK_INTERVAL;
  15431.                 }
  15432.             }catch(java.lang.Exception e) {
  15433.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.messaggioAsincronoInProcessamento.check' non impostata, viene utilizzato il default="+CostantiPdD.RISPOSTA_ASINCRONA_CHECK_INTERVAL+", errore:"+e.getMessage(),e);
  15434.                 this.checkIntervalBustaRispostaAsincrona = CostantiPdD.RISPOSTA_ASINCRONA_CHECK_INTERVAL;
  15435.             }    
  15436.         }

  15437.         return this.checkIntervalBustaRispostaAsincrona;
  15438.     }




  15439.     /*---------- Cluster ID -------------*/

  15440.     private Boolean isClusterDinamico = null;
  15441.     public boolean isClusterDinamico(){
  15442.         String pName = "org.openspcoop2.pdd.cluster_dinamico.enabled";
  15443.         if(this.isClusterDinamico==null){
  15444.             try{  
  15445.                 String value = this.reader.getValueConvertEnvProperties(pName);

  15446.                 if(value!=null){
  15447.                     value = value.trim();
  15448.                     this.isClusterDinamico = Boolean.parseBoolean(value);
  15449.                 }else{
  15450.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  15451.                     this.isClusterDinamico = false;
  15452.                 }

  15453.             }catch(java.lang.Exception e) {
  15454.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  15455.                 this.isClusterDinamico = false;
  15456.             }
  15457.         }
  15458.         return this.isClusterDinamico;
  15459.     }
  15460.    
  15461.     private Integer getClusterDinamicoRefreshSecondsInterval = null;
  15462.     public int getClusterDinamicoRefreshSecondsInterval() {
  15463.         String pName = "org.openspcoop2.pdd.cluster_dinamico.refresh";
  15464.         if(this.getClusterDinamicoRefreshSecondsInterval==null){
  15465.             try{
  15466.                 String name = null;
  15467.                 name = this.reader.getValueConvertEnvProperties(pName);
  15468.                 if(name!=null){
  15469.                     name = name.trim();
  15470.                     this.getClusterDinamicoRefreshSecondsInterval = java.lang.Integer.parseInt(name);
  15471.                 }else{
  15472.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,CostantiPdD.CLUSTER_DINAMICO_REFRESH_SECONDS));
  15473.                     this.getClusterDinamicoRefreshSecondsInterval = CostantiPdD.CLUSTER_DINAMICO_REFRESH_SECONDS;
  15474.                 }
  15475.             }catch(java.lang.Exception e) {
  15476.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,CostantiPdD.CLUSTER_DINAMICO_REFRESH_SECONDS),e);
  15477.                 this.getClusterDinamicoRefreshSecondsInterval = CostantiPdD.CLUSTER_DINAMICO_REFRESH_SECONDS;
  15478.             }  
  15479.         }

  15480.         return this.getClusterDinamicoRefreshSecondsInterval;
  15481.     }
  15482.    
  15483.     private String cluster_hostname = null;
  15484.     public String getClusterHostname() {
  15485.         if(this.cluster_hostname==null){
  15486.             try{
  15487.                 String name = null;
  15488.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.cluster_id.hostname");
  15489.                 if(name==null) {
  15490.                     this.cluster_hostname = getClusterId(true);
  15491.                 }
  15492.                 else{
  15493.                     name = name.trim();
  15494.                     this.cluster_hostname = name;
  15495.                 }
  15496.             }catch(java.lang.Exception e) {
  15497.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.cluster_id.hostname': "+e.getMessage(),e);
  15498.                 this.cluster_hostname = null;
  15499.             }  
  15500.         }

  15501.         return this.cluster_hostname;
  15502.     }
  15503.        
  15504.     private String group_id = null;
  15505.     public String getGroupId(boolean rateLimitingGestioneCluster) {
  15506.         String pName = "org.openspcoop2.pdd.group_id";
  15507.         if(this.group_id==null){
  15508.             try{
  15509.                 String name = null;
  15510.                 name = this.reader.getValueConvertEnvProperties(pName);
  15511.                 if(name==null) {
  15512.                     // Gestione RateLimiting senza una effettiva attivazione di un cluster dinamico
  15513.                     if(!isClusterDinamico()) {
  15514.                         if(rateLimitingGestioneCluster) {
  15515.                             this.group_id = org.openspcoop2.utils.Costanti.OPENSPCOOP2;
  15516.                         }
  15517.                         else {
  15518.                             throw new CoreException(NON_DEFINITA);
  15519.                         }
  15520.                     }
  15521.                     else {
  15522.                         throw new CoreException(NON_DEFINITA);
  15523.                     }
  15524.                 }
  15525.                 else if(name!=null){
  15526.                     name = name.trim();
  15527.                     this.group_id = name;
  15528.                 }
  15529.             }catch(java.lang.Exception e) {
  15530.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  15531.                 this.group_id = null;
  15532.             }  
  15533.         }

  15534.         return this.group_id;
  15535.     }
  15536.    
  15537.     /**
  15538.      * Restituisce il cluster id del nodo del cluster su cui gira la pdd
  15539.      *
  15540.      * @return Il cluster id di questo nodo
  15541.      * @added Fabio Tronci (tronci@link.it) 06/06/08
  15542.      */
  15543.     private String cluster_id = null;
  15544.     public String getClusterId(boolean required) {
  15545.         if(this.cluster_id==null){
  15546.             try{
  15547.                 String name = null;
  15548.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.cluster_id");
  15549.                 if(name==null && required)
  15550.                     throw new CoreException(NON_DEFINITA);
  15551.                 if(name!=null){
  15552.                     name = name.trim();
  15553.                     this.cluster_id = name;
  15554.                 }
  15555.             }catch(java.lang.Exception e) {
  15556.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.cluster_id': "+e.getMessage(),e);
  15557.                 this.cluster_id = null;
  15558.             }  
  15559.         }

  15560.         return this.cluster_id;
  15561.     }
  15562.    
  15563.     private Boolean isUseHashClusterId = null;
  15564.     public boolean isUseHashClusterId(){
  15565.         String pName = "org.openspcoop2.pdd.cluster_id.hash.enabled";
  15566.         if(this.isUseHashClusterId==null){
  15567.             try{  
  15568.                 String value = this.reader.getValueConvertEnvProperties(pName);

  15569.                 if(value!=null){
  15570.                     value = value.trim();
  15571.                     this.isUseHashClusterId = Boolean.parseBoolean(value);
  15572.                 }else{
  15573.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  15574.                     this.isUseHashClusterId = false;
  15575.                 }

  15576.             }catch(java.lang.Exception e) {
  15577.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  15578.                 this.isUseHashClusterId = false;
  15579.             }
  15580.         }
  15581.         return this.isUseHashClusterId;
  15582.     }
  15583.    
  15584.     private String cluster_id_preCodificaHash = null;
  15585.     public String getCluster_id_preCodificaHash() {
  15586.         return this.cluster_id_preCodificaHash;
  15587.     }
  15588.     public void updateClusterId() {
  15589.         this.cluster_id_preCodificaHash = this.cluster_id;
  15590.         // calcolo il cluster fornito come hash value
  15591.         this.cluster_id = DynamicClusterManager.hashClusterId(this.cluster_id);
  15592.     }
  15593.    
  15594.     private String cluster_id_numerico =null;
  15595.     private Boolean cluster_id_numerico_read =null;
  15596.     public String getClusterIdNumerico() throws ProtocolException {
  15597.         if(this.cluster_id_numerico_read==null){
  15598.             try{
  15599.                 String name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.cluster_id.numeric");
  15600.                 if(name!=null){
  15601.                     int numero = Integer.parseInt(name.trim());
  15602.                     if(numero<0 || numero>99){
  15603.                         String msg = "Riscontrato errore durante la lettura della proprietà 'org.openspcoop2.pdd.cluster_id.numeric': il valore indicato ("+numero+") deve essere compreso tra 0 e 99";
  15604.                         this.logError(msg);
  15605.                         throw new ProtocolException(msg);
  15606.                     }
  15607.                     this.cluster_id_numerico = name.trim();
  15608.                 }
  15609.                
  15610.                 this.cluster_id_numerico_read = true;
  15611.                
  15612.             }catch(java.lang.Exception e) {
  15613.                 String msg = "Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.cluster_id.numeric': "+e.getMessage();
  15614.                 this.logError(msg,e);
  15615.                 throw new ProtocolException(msg,e);
  15616.             }  
  15617.         }
  15618.         return this.cluster_id_numerico;
  15619.     }
  15620.    
  15621.     private Integer getClusterDinamicoIdNumericoCifre = null;
  15622.     public int getClusterDinamicoIdNumericoCifre(boolean rateLimitingGestioneCluster) {
  15623.         String pName = "org.openspcoop2.pdd.cluster_id.numeric.dinamico.cifre";
  15624.         if(this.getClusterDinamicoIdNumericoCifre==null){
  15625.             try{
  15626.                 String name = null;
  15627.                 name = this.reader.getValueConvertEnvProperties(pName);
  15628.                 if(name!=null){
  15629.                     name = name.trim();
  15630.                     this.getClusterDinamicoIdNumericoCifre = java.lang.Integer.parseInt(name);
  15631.                     if(this.getClusterDinamicoIdNumericoCifre<=0) {
  15632.                         throw new CoreException("Il valore indicato deve essere maggiore di 0");
  15633.                     }
  15634.                 }
  15635.                 else{
  15636.                     // Gestione RateLimiting senza una effettiva attivazione di un cluster dinamico
  15637.                     if(!isClusterDinamico()) {
  15638.                         if(rateLimitingGestioneCluster) {
  15639.                             this.getClusterDinamicoIdNumericoCifre = 2; // per default si registra staticamente fino a 99 nodi
  15640.                         }
  15641.                         else {
  15642.                             throw new CoreException("Non Impostato");
  15643.                         }
  15644.                     }
  15645.                     else {
  15646.                         throw new CoreException("Non Impostato");
  15647.                     }
  15648.                 }
  15649.             }catch(java.lang.Exception e) {
  15650.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  15651.                 this.getClusterDinamicoIdNumericoCifre = -1;
  15652.             }  
  15653.         }

  15654.         return this.getClusterDinamicoIdNumericoCifre;
  15655.     }
  15656.     public boolean isClusterIdNumericoDinamico(boolean rateLimitingGestioneCluster) {
  15657.         return getClusterDinamicoIdNumericoCifre(rateLimitingGestioneCluster)>0;
  15658.     }

  15659.     private Boolean isTimerLockByDatabase = null;
  15660.     public boolean isTimerLockByDatabase(){
  15661.         if(this.isTimerLockByDatabase==null){
  15662.             try{  
  15663.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.lockDatabase");

  15664.                 if(value!=null){
  15665.                     value = value.trim();
  15666.                     this.isTimerLockByDatabase = Boolean.parseBoolean(value);
  15667.                 }else{
  15668.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.lockDatabase' non impostata, viene utilizzato il default=true");
  15669.                     this.isTimerLockByDatabase = true;
  15670.                 }

  15671.             }catch(java.lang.Exception e) {
  15672.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.lockDatabase' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  15673.                 this.isTimerLockByDatabase = true;
  15674.             }
  15675.            
  15676.             if(this.isTimerLockByDatabase) {
  15677.                 // Richiede la definizione di un clusterId e di un tipo di database
  15678.                 if(this.getClusterId(false)==null) {
  15679.                     this.isTimerLockByDatabase = false;
  15680.                 }
  15681.                 else if(this.getDatabaseType()==null) {
  15682.                     this.isTimerLockByDatabase = false;
  15683.                 }
  15684.             }
  15685.         }
  15686.         return this.isTimerLockByDatabase;
  15687.     }
  15688.    
  15689.     private Boolean isTimerLockByDatabaseNotifyLogEnabled = null;
  15690.     public boolean isTimerLockByDatabaseNotifyLogEnabled(){
  15691.         if(this.isTimerLockByDatabaseNotifyLogEnabled==null){
  15692.             try{  
  15693.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.lockDatabase.notify.log");

  15694.                 if(value!=null){
  15695.                     value = value.trim();
  15696.                     this.isTimerLockByDatabaseNotifyLogEnabled = Boolean.parseBoolean(value);
  15697.                 }else{
  15698.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.lockDatabase.notify.log' non impostata, viene utilizzato il default=true");
  15699.                     this.isTimerLockByDatabaseNotifyLogEnabled = true;
  15700.                 }

  15701.             }catch(java.lang.Exception e) {
  15702.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.lockDatabase.notify.log' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  15703.                 this.isTimerLockByDatabaseNotifyLogEnabled = true;
  15704.             }
  15705.         }
  15706.         return this.isTimerLockByDatabaseNotifyLogEnabled;
  15707.     }
  15708.    
  15709.     private String pddContextSerializer = null;
  15710.     public String getPddContextSerializer() {
  15711.         if(this.pddContextSerializer==null){
  15712.             try{
  15713.                 String name = null;
  15714.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.contextSerializer");
  15715.                 if(name!=null){
  15716.                     name = name.trim();
  15717.                     this.pddContextSerializer = name;
  15718.                 }else{
  15719.                     this.pddContextSerializer = CostantiConfigurazione.NONE;
  15720.                 }
  15721.             }catch(java.lang.Exception e) {
  15722.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.contextSerializer': "+e.getMessage(),e);
  15723.                 this.pddContextSerializer = CostantiConfigurazione.NONE;
  15724.             }  
  15725.         }

  15726.         return this.pddContextSerializer;
  15727.     }




  15728.     /*---------- Stateless -------------*/

  15729.     /**
  15730.      * Restituisce il comportamento di default (Stateless abilitato/disabilitato) per il profilo oneway
  15731.      *
  15732.      * @return il Restituisce il comportamento di default (Stateless abilitato/disabilitato) per il profilo oneway
  15733.      *
  15734.      */
  15735.     private String statelessOneWay = null;
  15736.     public String getStatelessOneWay() {    
  15737.         if(this.statelessOneWay==null){
  15738.             try{
  15739.                 String name = null;
  15740.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.stateless.default.oneway");
  15741.                 if(name!=null){
  15742.                     name = name.trim();
  15743.                     if( (CostantiConfigurazione.ABILITATO.equals(name)==false) && (CostantiConfigurazione.DISABILITATO.equals(name)==false) ){
  15744.                         throw new CoreException("Valori ammessi sono abilitato/disabilito");
  15745.                     }
  15746.                 }
  15747.                 else{
  15748.                     throw new CoreException(NON_DEFINITA);
  15749.                 }
  15750.                 this.statelessOneWay = name;
  15751.             }catch(java.lang.Exception e) {
  15752.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.stateless.default.oneway': "+e.getMessage(),e);
  15753.                 this.statelessOneWay = null;
  15754.             }    
  15755.         }

  15756.         return this.statelessOneWay;
  15757.     }

  15758.     /**
  15759.      * Restituisce il comportamento di default (Stateless abilitato/disabilitato) per il profilo sincrono
  15760.      *
  15761.      * @return il Restituisce il comportamento di default (Stateless abilitato/disabilitato) per il profilo sincrono
  15762.      *
  15763.      */
  15764.     private String statelessSincrono = null;
  15765.     public String getStatelessSincrono() {
  15766.         if(this.statelessSincrono==null){
  15767.             try{
  15768.                 String name = null;
  15769.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.stateless.default.sincrono");
  15770.                 if(name!=null){
  15771.                     name = name.trim();
  15772.                     if( (CostantiConfigurazione.ABILITATO.equals(name)==false) && (CostantiConfigurazione.DISABILITATO.equals(name)==false) ){
  15773.                         throw new CoreException("Valori ammessi sono abilitato/disabilito");
  15774.                     }
  15775.                 }
  15776.                 else{
  15777.                     throw new CoreException(NON_DEFINITA);
  15778.                 }
  15779.                 this.statelessSincrono = name;
  15780.             }catch(java.lang.Exception e) {
  15781.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.stateless.default.sincrono': "+e.getMessage(),e);
  15782.                 this.statelessSincrono = null;
  15783.             }    
  15784.         }
  15785.         //System.out.println("MODALITA default per sincrono: "+OpenSPCoopProperties.statelessSincrono);
  15786.         return this.statelessSincrono;
  15787.     }

  15788.     /**
  15789.      * Restituisce il comportamento di default (Stateless abilitato/disabilitato) per il profilo asincrono simmetrico e asimmetrico
  15790.      *
  15791.      * @return il Restituisce il comportamento di default (Stateless abilitato/disabilitato) per il profilo asincrono simmetrico e asimmetrico
  15792.      *
  15793.      */
  15794.     private String statelessAsincrono = null;
  15795.     public String getStatelessAsincroni() {
  15796.         if(this.statelessAsincrono==null){
  15797.             try{
  15798.                 String name = null;
  15799.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.stateless.default.asincroni");
  15800.                 if(name!=null){
  15801.                     name = name.trim();
  15802.                     if( (CostantiConfigurazione.ABILITATO.equals(name)==false) && (CostantiConfigurazione.DISABILITATO.equals(name)==false) ){
  15803.                         throw new CoreException("Valori ammessi sono abilitato/disabilito");
  15804.                     }
  15805.                 }
  15806.                 else{
  15807.                     throw new CoreException(NON_DEFINITA);
  15808.                 }
  15809.                 this.statelessAsincrono = name;
  15810.             }catch(java.lang.Exception e) {
  15811.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.stateless.default.asincroni': "+e.getMessage(),e);
  15812.                 this.statelessAsincrono = null;
  15813.             }    
  15814.         }
  15815.         //System.out.println("MODALITA default per asincroni: "+OpenSPCoopProperties.statelessAsincrono);
  15816.         return this.statelessAsincrono;
  15817.     }

  15818.     /**
  15819.      * Restituisce l'indicazione se gestire il oneway non stateless nella nuova modalita della versione 1.4 o come la vecchia 1.0
  15820.      *
  15821.      * @return Restituisce l'indicazione se gestire il oneway non stateless nella nuova modalita della versione 1.4 o come la vecchia 1.0
  15822.      *
  15823.      */
  15824.     private Boolean isGestioneOnewayStateful_1_1= null;
  15825.     public boolean isGestioneOnewayStateful_1_1(){
  15826.         if(this.isGestioneOnewayStateful_1_1==null){
  15827.             try{  
  15828.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.stateful.oneway");

  15829.                 if(value!=null){
  15830.                     value = value.trim();
  15831.                     if( (CostantiConfigurazione.ONEWAY_STATEFUL_1_0.equals(value)==false) && (CostantiConfigurazione.ONEWAY_STATEFUL_1_1.equals(value)==false) ){
  15832.                         throw new CoreException("Valori ammessi sono 1.0/1.1");
  15833.                     }
  15834.                     this.isGestioneOnewayStateful_1_1 = CostantiConfigurazione.ONEWAY_STATEFUL_1_1.equals(value);
  15835.                 }else{
  15836.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.stateful.oneway' non impostata, viene utilizzato il default=true");
  15837.                     this.isGestioneOnewayStateful_1_1 = true;
  15838.                 }

  15839.             }catch(java.lang.Exception e) {
  15840.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.stateful.oneway' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  15841.                 this.isGestioneOnewayStateful_1_1 = true;
  15842.             }
  15843.         }
  15844.         //System.out.println("MODALITA 11 per gestione Oneway; "+OpenSPCoopProperties.isGestioneOnewayStateful_1_1);
  15845.         return this.isGestioneOnewayStateful_1_1;
  15846.     }

  15847.     /**
  15848.      * Restituisce il comportamento per il routing
  15849.      *
  15850.      * @return il Restituisce il comportamento per il routing
  15851.      *
  15852.      */
  15853.     private String statelessRouting = null;
  15854.     public String getStatelessRouting() {  
  15855.         if(this.statelessRouting==null){
  15856.             try{
  15857.                 String name = null;
  15858.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.stateless.router");
  15859.                 if(name!=null){
  15860.                     name = name.trim();
  15861.                     if( (CostantiConfigurazione.ABILITATO.equals(name)==false) && (CostantiConfigurazione.DISABILITATO.equals(name)==false) ){
  15862.                         throw new CoreException("Valori ammessi sono abilitato/disabilito");
  15863.                     }
  15864.                 }
  15865.                 else{
  15866.                     throw new CoreException(NON_DEFINITA);
  15867.                 }
  15868.                 this.statelessRouting = name;
  15869.             }catch(java.lang.Exception e) {
  15870.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.stateless.router': "+e.getMessage(),e);
  15871.                 this.statelessRouting = null;
  15872.             }    
  15873.         }
  15874.         //System.out.println("MODALITA per routing: "+OpenSPCoopProperties.statelessRouting);
  15875.         return this.statelessRouting;
  15876.     }


  15877.     /**
  15878.      * Restituisce l'indicazione se una gestione stateless deve rinegoziare la connessione
  15879.      *
  15880.      * @return Restituisce l'indicazione se una gestione stateless deve rinegoziare la connessione
  15881.      *
  15882.      */
  15883.     private Boolean isGestioneStateful_RinegoziamentoConnessione= null;
  15884.     private boolean isRinegoziamentoConnessione(){
  15885.         if(this.isGestioneStateful_RinegoziamentoConnessione==null){
  15886.             try{  
  15887.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.stateless.dataSource.rinegoziamentoConnessione");

  15888.                 if(value!=null){
  15889.                     value = value.trim();
  15890.                     if( (CostantiConfigurazione.ABILITATO.equals(value)==false) && (CostantiConfigurazione.DISABILITATO.equals(value)==false) ){
  15891.                         throw new CoreException("Valori ammessi sono abilitato/disabilitato");
  15892.                     }
  15893.                     if( CostantiConfigurazione.DISABILITATO.equals(value) ){
  15894.                         this.isGestioneStateful_RinegoziamentoConnessione = false;
  15895.                     }else{
  15896.                         this.isGestioneStateful_RinegoziamentoConnessione = true;
  15897.                     }
  15898.                 }else{
  15899.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.stateless.dataSource.rinegoziamentoConnessione' non impostata, viene utilizzato il default=true");
  15900.                     this.isGestioneStateful_RinegoziamentoConnessione = true;
  15901.                 }

  15902.             }catch(java.lang.Exception e) {
  15903.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.stateless.dataSource.rinegoziamentoConnessione' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  15904.                 this.isGestioneStateful_RinegoziamentoConnessione = true;
  15905.             }
  15906.         }
  15907.         return this.isGestioneStateful_RinegoziamentoConnessione;
  15908.     }
  15909.    
  15910.     public boolean isRinegoziamentoConnessione(ProfiloDiCollaborazione profilo){
  15911.         if(ProfiloDiCollaborazione.ASINCRONO_ASIMMETRICO.equals(profilo) || ProfiloDiCollaborazione.ASINCRONO_SIMMETRICO.equals(profilo))
  15912.             return true;
  15913.         else
  15914.             return this.isRinegoziamentoConnessione();
  15915.     }




  15916.     private Boolean mergeHandlerBuiltInAndHandlerUser = null;
  15917.     public boolean isMergeHandlerBuiltInAndHandlerUser() {  
  15918.         if(this.mergeHandlerBuiltInAndHandlerUser==null){
  15919.             try{
  15920.                 String v = null;
  15921.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.merge");
  15922.                 if(v!=null){
  15923.                     v = v.trim();
  15924.                     this.mergeHandlerBuiltInAndHandlerUser = Boolean.parseBoolean(v);
  15925.                 }
  15926.                 else{
  15927.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.handler.merge' non impostata, viene utilizzato il default="+false);
  15928.                     this.mergeHandlerBuiltInAndHandlerUser = false;
  15929.                 }
  15930.             }catch(java.lang.Exception e) {
  15931.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.handler.merge' non impostata correttamente,  errore:"+e.getMessage(),e);
  15932.             }
  15933.         }
  15934.         return this.mergeHandlerBuiltInAndHandlerUser;
  15935.     }
  15936.    
  15937.     /*---------- Gestori handler built-in -------------*/
  15938.    
  15939.     private Boolean printInfoHandlerBuiltIn = null;
  15940.     public boolean isPrintInfoHandlerBuiltIn() {    
  15941.         if(this.printInfoHandlerBuiltIn==null){
  15942.             try{
  15943.                 String v = null;
  15944.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.built-in.printInfo");
  15945.                 if(v!=null){
  15946.                     v = v.trim();
  15947.                     this.printInfoHandlerBuiltIn = Boolean.parseBoolean(v);
  15948.                 }
  15949.                 else{
  15950.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.handler.built-in.printInfo' non impostata, viene utilizzato il default="+true);
  15951.                     this.printInfoHandlerBuiltIn = true;
  15952.                 }
  15953.             }catch(java.lang.Exception e) {
  15954.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.handler.built-in.printInfo' non impostata correttamente,  errore:"+e.getMessage(),e);
  15955.             }
  15956.         }
  15957.         return this.printInfoHandlerBuiltIn;
  15958.     }
  15959.    
  15960.    
  15961.     /**
  15962.      * Restituisce l'elenco degli handlers di tipo InitHandlerBuiltIn
  15963.      *
  15964.      * @return  Restituisce l'elenco degli handlers di tipo InitHandlerBuiltIn
  15965.      */
  15966.     private String[] tipiInitHandlerBuiltIn = null;
  15967.     private boolean tipiInitHandlerBuiltInRead = false;
  15968.     public String[] getInitHandlerBuiltIn() {
  15969.         if(this.tipiInitHandlerBuiltInRead == false){
  15970.             try{
  15971.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.built-in.init");
  15972.                 if(value!=null){
  15973.                     value = value.trim();
  15974.                     String [] r = value.split(",");
  15975.                     this.tipiInitHandlerBuiltIn = r;
  15976.                 }else{
  15977.                     this.tipiInitHandlerBuiltIn = null;
  15978.                 }
  15979.             }catch(java.lang.Exception e) {
  15980.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.built-in.init': "+e.getMessage(),e);
  15981.                 this.tipiInitHandlerBuiltIn = null;
  15982.             }  
  15983.             this.tipiInitHandlerBuiltInRead = true;
  15984.         }

  15985.         return this.tipiInitHandlerBuiltIn;
  15986.     }
  15987.    
  15988.     /**
  15989.      * Restituisce l'elenco degli handlers di tipo ExitHandlerBuiltIn
  15990.      *
  15991.      * @return  Restituisce l'elenco degli handlers di tipo ExitHandlerBuiltIn
  15992.      */
  15993.     private String[] tipiExitHandlerBuiltIn = null;
  15994.     private boolean tipiExitHandlerBuiltInRead = false;
  15995.     public String[] getExitHandlerBuiltIn() {
  15996.         if(this.tipiExitHandlerBuiltInRead == false){
  15997.             try{
  15998.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.built-in.exit");
  15999.                 if(value!=null){
  16000.                     value = value.trim();
  16001.                     String [] r = value.split(",");
  16002.                     this.tipiExitHandlerBuiltIn = r;
  16003.                 }else{
  16004.                     this.tipiExitHandlerBuiltIn = null;
  16005.                 }
  16006.             }catch(java.lang.Exception e) {
  16007.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.built-in.exit': "+e.getMessage(),e);
  16008.                 this.tipiExitHandlerBuiltIn = null;
  16009.             }  
  16010.             this.tipiExitHandlerBuiltInRead = true;
  16011.         }

  16012.         return this.tipiExitHandlerBuiltIn;
  16013.     }
  16014.    
  16015.     /**
  16016.      * Restituisce l'elenco degli handlers di tipo PreInRequestHandlerBuiltIn
  16017.      *
  16018.      * @return  Restituisce l'elenco degli handlers di tipo PreInRequestHandlerBuiltIn
  16019.      */
  16020.     private String[] tipiPreInRequestHandlerBuiltIn = null;
  16021.     private boolean tipiPreInRequestHandlerBuiltInRead = false;
  16022.     public String[] getPreInRequestHandlerBuiltIn() {
  16023.         if(this.tipiPreInRequestHandlerBuiltInRead == false){
  16024.             try{
  16025.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.built-in.pre-in-request");
  16026.                 if(value!=null){
  16027.                     value = value.trim();
  16028.                     String [] r = value.split(",");
  16029.                     this.tipiPreInRequestHandlerBuiltIn = r;
  16030.                 }else{
  16031.                     this.tipiPreInRequestHandlerBuiltIn = null;
  16032.                 }
  16033.             }catch(java.lang.Exception e) {
  16034.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.built-in.pre-in-request': "+e.getMessage(),e);
  16035.                 this.tipiPreInRequestHandlerBuiltIn = null;
  16036.             }  
  16037.             this.tipiPreInRequestHandlerBuiltInRead = true;
  16038.         }

  16039.         return this.tipiPreInRequestHandlerBuiltIn;
  16040.     }

  16041.    
  16042.     /**
  16043.      * Restituisce l'elenco degli handlers di tipo InRequestHandlerBuiltIn
  16044.      *
  16045.      * @return  Restituisce l'elenco degli handlers di tipo InRequestHandlerBuiltIn
  16046.      */
  16047.     private String[] tipiInRequestHandlerBuiltIn = null;
  16048.     private boolean tipiInRequestHandlerBuiltInRead = false;
  16049.     public String[] getInRequestHandlerBuiltIn() {
  16050.         if(this.tipiInRequestHandlerBuiltInRead == false){
  16051.             try{
  16052.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.built-in.in-request");
  16053.                 if(value!=null){
  16054.                     value = value.trim();
  16055.                     String [] r = value.split(",");
  16056.                     this.tipiInRequestHandlerBuiltIn = r;
  16057.                 }else{
  16058.                     this.tipiInRequestHandlerBuiltIn = null;
  16059.                 }
  16060.             }catch(java.lang.Exception e) {
  16061.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.built-in.in-request': "+e.getMessage(),e);
  16062.                 this.tipiInRequestHandlerBuiltIn = null;
  16063.             }  
  16064.             this.tipiInRequestHandlerBuiltInRead = true;
  16065.         }

  16066.         return this.tipiInRequestHandlerBuiltIn;
  16067.     }
  16068.    
  16069.     /**
  16070.      * Restituisce l'elenco degli handlers di tipo InRequestProtocolHandlerBuiltIn
  16071.      *
  16072.      * @return  Restituisce l'elenco degli handlers di tipo InRequestProtocolHandlerBuiltIn
  16073.      */
  16074.     private String[] tipiInRequestProtocolHandlerBuiltIn = null;
  16075.     private boolean tipiInRequestProtocolHandlerBuiltInRead = false;
  16076.     public String[] getInRequestProtocolHandlerBuiltIn() {
  16077.         if(this.tipiInRequestProtocolHandlerBuiltInRead == false){
  16078.             try{
  16079.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.built-in.in-protocol-request");
  16080.                 if(value!=null){
  16081.                     value = value.trim();
  16082.                     String [] r = value.split(",");
  16083.                     this.tipiInRequestProtocolHandlerBuiltIn = r;
  16084.                 }else{
  16085.                     this.tipiInRequestProtocolHandlerBuiltIn = null;
  16086.                 }
  16087.             }catch(java.lang.Exception e) {
  16088.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.built-in.in-protocol-request': "+e.getMessage(),e);
  16089.                 this.tipiInRequestProtocolHandlerBuiltIn = null;
  16090.             }  
  16091.             this.tipiInRequestProtocolHandlerBuiltInRead = true;
  16092.         }

  16093.         return this.tipiInRequestProtocolHandlerBuiltIn;
  16094.     }
  16095.    
  16096.     /**
  16097.      * Restituisce l'elenco degli handlers di tipo OutRequestHandlerBuiltIn
  16098.      *
  16099.      * @return  Restituisce l'elenco degli handlers di tipo OutRequestHandlerBuiltIn
  16100.      */
  16101.     private String[] tipiOutRequestHandlerBuiltIn = null;
  16102.     private boolean tipiOutRequestHandlerBuiltInRead = false;
  16103.     public String[] getOutRequestHandlerBuiltIn() {
  16104.         if(this.tipiOutRequestHandlerBuiltInRead == false){
  16105.             try{
  16106.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.built-in.out-request");
  16107.                 if(value!=null){
  16108.                     value = value.trim();
  16109.                     String [] r = value.split(",");
  16110.                     this.tipiOutRequestHandlerBuiltIn = r;
  16111.                 }else{
  16112.                     this.tipiOutRequestHandlerBuiltIn = null;
  16113.                 }
  16114.             }catch(java.lang.Exception e) {
  16115.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.built-in.out-request': "+e.getMessage(),e);
  16116.                 this.tipiOutRequestHandlerBuiltIn = null;
  16117.             }  
  16118.             this.tipiOutRequestHandlerBuiltInRead = true;
  16119.         }

  16120.         return this.tipiOutRequestHandlerBuiltIn;
  16121.     }
  16122.    
  16123.     /**
  16124.      * Restituisce l'elenco degli handlers di tipo PostOutRequestHandlerBuiltIn
  16125.      *
  16126.      * @return  Restituisce l'elenco degli handlers di tipo PostOutRequestHandlerBuiltIn
  16127.      */
  16128.     private String[] tipiPostOutRequestHandlerBuiltIn = null;
  16129.     private boolean tipiPostOutRequestHandlerBuiltInRead = false;
  16130.     public String[] getPostOutRequestHandlerBuiltIn() {
  16131.         if(this.tipiPostOutRequestHandlerBuiltInRead == false){
  16132.             try{
  16133.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.built-in.post-out-request");
  16134.                 if(value!=null){
  16135.                     value = value.trim();
  16136.                     String [] r = value.split(",");
  16137.                     this.tipiPostOutRequestHandlerBuiltIn = r;
  16138.                 }else{
  16139.                     this.tipiPostOutRequestHandlerBuiltIn = null;
  16140.                 }
  16141.             }catch(java.lang.Exception e) {
  16142.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.built-in.post-out-request': "+e.getMessage(),e);
  16143.                 this.tipiPostOutRequestHandlerBuiltIn = null;
  16144.             }  
  16145.             this.tipiPostOutRequestHandlerBuiltInRead = true;
  16146.         }

  16147.         return this.tipiPostOutRequestHandlerBuiltIn;
  16148.     }
  16149.    
  16150.     /**
  16151.      * Restituisce l'elenco degli handlers di tipo PreInResponseHandlerBuiltIn
  16152.      *
  16153.      * @return  Restituisce l'elenco degli handlers di tipo PreInResponseHandlerBuiltIn
  16154.      */
  16155.     private String[] tipiPreInResponseHandlerBuiltIn = null;
  16156.     private boolean tipiPreInResponseHandlerBuiltInRead = false;
  16157.     public String[] getPreInResponseHandlerBuiltIn() {
  16158.         if(this.tipiPreInResponseHandlerBuiltInRead == false){
  16159.             try{
  16160.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.built-in.pre-in-response");
  16161.                 if(value!=null){
  16162.                     value = value.trim();
  16163.                     String [] r = value.split(",");
  16164.                     this.tipiPreInResponseHandlerBuiltIn = r;
  16165.                 }else{
  16166.                     this.tipiPreInResponseHandlerBuiltIn = null;
  16167.                 }
  16168.             }catch(java.lang.Exception e) {
  16169.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.built-in.pre-in-response': "+e.getMessage(),e);
  16170.                 this.tipiPreInResponseHandlerBuiltIn = null;
  16171.             }  
  16172.             this.tipiPreInResponseHandlerBuiltInRead = true;
  16173.         }

  16174.         return this.tipiPreInResponseHandlerBuiltIn;
  16175.     }
  16176.    
  16177.     /**
  16178.      * Restituisce l'elenco degli handlers di tipo InResponseHandlerBuiltIn
  16179.      *
  16180.      * @return  Restituisce l'elenco degli handlers di tipo InResponseHandlerBuiltIn
  16181.      */
  16182.     private String[] tipiInResponseHandlerBuiltIn = null;
  16183.     private boolean tipiInResponseHandlerBuiltInRead = false;
  16184.     public String[] getInResponseHandlerBuiltIn() {
  16185.         if(this.tipiInResponseHandlerBuiltInRead == false){
  16186.             try{
  16187.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.built-in.in-response");
  16188.                 if(value!=null){
  16189.                     value = value.trim();
  16190.                     String [] r = value.split(",");
  16191.                     this.tipiInResponseHandlerBuiltIn = r;
  16192.                 }else{
  16193.                     this.tipiInResponseHandlerBuiltIn = null;
  16194.                 }
  16195.             }catch(java.lang.Exception e) {
  16196.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.built-in.in-response': "+e.getMessage(),e);
  16197.                 this.tipiInResponseHandlerBuiltIn = null;
  16198.             }  
  16199.             this.tipiInResponseHandlerBuiltInRead = true;
  16200.         }

  16201.         return this.tipiInResponseHandlerBuiltIn;
  16202.     }
  16203.    
  16204.     /**
  16205.      * Restituisce l'elenco degli handlers di tipo OutResponseHandlerBuiltIn
  16206.      *
  16207.      * @return  Restituisce l'elenco degli handlers di tipo OutResponseHandlerBuiltIn
  16208.      */
  16209.     private String[] tipiOutResponseHandlerBuiltIn = null;
  16210.     private boolean tipiOutResponseHandlerBuiltInRead = false;
  16211.     public String[] getOutResponseHandlerBuiltIn() {
  16212.         if(this.tipiOutResponseHandlerBuiltInRead == false){
  16213.             try{
  16214.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.built-in.out-response");
  16215.                 if(value!=null){
  16216.                     value = value.trim();
  16217.                     String [] r = value.split(",");
  16218.                     this.tipiOutResponseHandlerBuiltIn = r;
  16219.                 }else{
  16220.                     this.tipiOutResponseHandlerBuiltIn = null;
  16221.                 }
  16222.             }catch(java.lang.Exception e) {
  16223.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.built-in.out-response': "+e.getMessage(),e);
  16224.                 this.tipiOutResponseHandlerBuiltIn = null;
  16225.             }  
  16226.             this.tipiOutResponseHandlerBuiltInRead = true;
  16227.         }

  16228.         return this.tipiOutResponseHandlerBuiltIn;
  16229.     }
  16230.    
  16231.     /**
  16232.      * Restituisce l'elenco degli handlers di tipo PostOutResponseHandlerBuiltIn
  16233.      *
  16234.      * @return  Restituisce l'elenco degli handlers di tipo PostOutResponseHandlerBuiltIn
  16235.      */
  16236.     private String[] tipiPostOutResponseHandlerBuiltIn = null;
  16237.     private boolean tipiPostOutResponseHandlerBuiltInRead = false;
  16238.     public String[] getPostOutResponseHandlerBuiltIn() {
  16239.         if(this.tipiPostOutResponseHandlerBuiltInRead == false){
  16240.             try{
  16241.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.built-in.post-out-response");
  16242.                 if(value!=null){
  16243.                     value = value.trim();
  16244.                     String [] r = value.split(",");
  16245.                     this.tipiPostOutResponseHandlerBuiltIn = r;
  16246.                 }else{
  16247.                     this.tipiPostOutResponseHandlerBuiltIn = null;
  16248.                 }
  16249.             }catch(java.lang.Exception e) {
  16250.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.built-in.post-out-response': "+e.getMessage(),e);
  16251.                 this.tipiPostOutResponseHandlerBuiltIn = null;
  16252.             }  
  16253.             this.tipiPostOutResponseHandlerBuiltInRead = true;
  16254.         }

  16255.         return this.tipiPostOutResponseHandlerBuiltIn;
  16256.     }

  16257.     /**
  16258.      * Restituisce l'elenco degli handlers di tipo IntegrationManagerRequestHandlerBuiltIn
  16259.      *
  16260.      * @return  Restituisce l'elenco degli handlers di tipo IntegrationManagerRequestHandlerBuiltIn
  16261.      */
  16262.     private String[] tipiIntegrationManagerRequestHandlerBuiltIn = null;
  16263.     private boolean tipiIntegrationManagerRequestHandlerBuiltInRead = false;
  16264.     public String[] getIntegrationManagerRequestHandlerBuiltIn() {
  16265.         if(this.tipiIntegrationManagerRequestHandlerBuiltInRead == false){
  16266.             try{
  16267.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrationManager.handler.built-in.request");
  16268.                 if(value!=null){
  16269.                     value = value.trim();
  16270.                     String [] r = value.split(",");
  16271.                     this.tipiIntegrationManagerRequestHandlerBuiltIn = r;
  16272.                 }else{
  16273.                     this.tipiIntegrationManagerRequestHandlerBuiltIn = null;
  16274.                 }
  16275.             }catch(java.lang.Exception e) {
  16276.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.integrationManager.handler.built-in.request': "+e.getMessage(),e);
  16277.                 this.tipiIntegrationManagerRequestHandlerBuiltIn = null;
  16278.             }  
  16279.             this.tipiIntegrationManagerRequestHandlerBuiltInRead = true;
  16280.         }

  16281.         return this.tipiIntegrationManagerRequestHandlerBuiltIn;
  16282.     }
  16283.    
  16284.     /**
  16285.      * Restituisce l'elenco degli handlers di tipo IntegrationManagerResponseHandlerBuiltIn
  16286.      *
  16287.      * @return  Restituisce l'elenco degli handlers di tipo IntegrationManagerResponseHandlerBuiltIn
  16288.      */
  16289.     private String[] tipiIntegrationManagerResponseHandlerBuiltIn = null;
  16290.     private boolean tipiIntegrationManagerResponseHandlerBuiltInRead = false;
  16291.     public String[] getIntegrationManagerResponseHandlerBuiltIn() {
  16292.         if(this.tipiIntegrationManagerResponseHandlerBuiltInRead == false){
  16293.             try{
  16294.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrationManager.handler.built-in.response");
  16295.                 if(value!=null){
  16296.                     value = value.trim();
  16297.                     String [] r = value.split(",");
  16298.                     this.tipiIntegrationManagerResponseHandlerBuiltIn = r;
  16299.                 }else{
  16300.                     this.tipiIntegrationManagerResponseHandlerBuiltIn = null;
  16301.                 }
  16302.             }catch(java.lang.Exception e) {
  16303.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.integrationManager.handler.built-in.response': "+e.getMessage(),e);
  16304.                 this.tipiIntegrationManagerResponseHandlerBuiltIn = null;
  16305.             }  
  16306.             this.tipiIntegrationManagerResponseHandlerBuiltInRead = true;
  16307.         }

  16308.         return this.tipiIntegrationManagerResponseHandlerBuiltIn;
  16309.     }
  16310.    
  16311.    
  16312.    
  16313.    
  16314.    

  16315.     /*---------- Gestori handler -------------*/
  16316.    
  16317.     private Boolean printInfoHandler = null;
  16318.     public boolean isPrintInfoHandler() {  
  16319.         if(this.printInfoHandler==null){
  16320.             try{
  16321.                 String v = null;
  16322.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.printInfo");
  16323.                 if(v!=null){
  16324.                     v = v.trim();
  16325.                     this.printInfoHandler = Boolean.parseBoolean(v);
  16326.                 }
  16327.                 else{
  16328.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.handler.printInfo' non impostata, viene utilizzato il default="+true);
  16329.                     this.printInfoHandler = true;
  16330.                 }
  16331.             }catch(java.lang.Exception e) {
  16332.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.handler.printInfo' non impostata correttamente,  errore:"+e.getMessage(),e);
  16333.             }
  16334.         }
  16335.         return this.printInfoHandler;
  16336.     }
  16337.    
  16338.     /**
  16339.      * Restituisce l'elenco degli handlers di tipo InitHandler
  16340.      *
  16341.      * @return  Restituisce l'elenco degli handlers di tipo InitHandler
  16342.      */
  16343.     private String[] tipiInitHandler = null;
  16344.     private boolean tipiInitHandlerRead = false;
  16345.     public String[] getInitHandler() {
  16346.         if(this.tipiInitHandlerRead == false){
  16347.             try{
  16348.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.init");
  16349.                 if(value!=null){
  16350.                     value = value.trim();
  16351.                     String [] r = value.split(",");
  16352.                     this.tipiInitHandler = r;
  16353.                 }else{
  16354.                     this.tipiInitHandler = null;
  16355.                 }
  16356.             }catch(java.lang.Exception e) {
  16357.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.init': "+e.getMessage(),e);
  16358.                 this.tipiInitHandler = null;
  16359.             }  
  16360.             this.tipiInitHandlerRead = true;
  16361.         }

  16362.         return this.tipiInitHandler;
  16363.     }
  16364.    
  16365.     /**
  16366.      * Restituisce l'elenco degli handlers di tipo ExitHandler
  16367.      *
  16368.      * @return  Restituisce l'elenco degli handlers di tipo ExitHandler
  16369.      */
  16370.     private String[] tipiExitHandler = null;
  16371.     private boolean tipiExitHandlerRead = false;
  16372.     public String[] getExitHandler() {
  16373.         if(this.tipiExitHandlerRead == false){
  16374.             try{
  16375.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.exit");
  16376.                 if(value!=null){
  16377.                     value = value.trim();
  16378.                     String [] r = value.split(",");
  16379.                     this.tipiExitHandler = r;
  16380.                 }else{
  16381.                     this.tipiExitHandler = null;
  16382.                 }
  16383.             }catch(java.lang.Exception e) {
  16384.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.exit': "+e.getMessage(),e);
  16385.                 this.tipiExitHandler = null;
  16386.             }  
  16387.             this.tipiExitHandlerRead = true;
  16388.         }

  16389.         return this.tipiExitHandler;
  16390.     }
  16391.    
  16392.     /**
  16393.      * Restituisce l'elenco degli handlers di tipo PreInRequestHandler
  16394.      *
  16395.      * @return  Restituisce l'elenco degli handlers di tipo PreInRequestHandler
  16396.      */
  16397.     private String[] tipiPreInRequestHandler = null;
  16398.     private boolean tipiPreInRequestHandlerRead = false;
  16399.     public String[] getPreInRequestHandler() {
  16400.         if(this.tipiPreInRequestHandlerRead == false){
  16401.             try{
  16402.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.pre-in-request");
  16403.                 if(value!=null){
  16404.                     value = value.trim();
  16405.                     String [] r = value.split(",");
  16406.                     this.tipiPreInRequestHandler = r;
  16407.                 }else{
  16408.                     this.tipiPreInRequestHandler = null;
  16409.                 }
  16410.             }catch(java.lang.Exception e) {
  16411.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.pre-in-request': "+e.getMessage(),e);
  16412.                 this.tipiPreInRequestHandler = null;
  16413.             }  
  16414.             this.tipiPreInRequestHandlerRead = true;
  16415.         }

  16416.         return this.tipiPreInRequestHandler;
  16417.     }

  16418.    
  16419.     /**
  16420.      * Restituisce l'elenco degli handlers di tipo InRequestHandler
  16421.      *
  16422.      * @return  Restituisce l'elenco degli handlers di tipo InRequestHandler
  16423.      */
  16424.     private String[] tipiInRequestHandler = null;
  16425.     private boolean tipiInRequestHandlerRead = false;
  16426.     public String[] getInRequestHandler() {
  16427.         if(this.tipiInRequestHandlerRead == false){
  16428.             try{
  16429.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.in-request");
  16430.                 if(value!=null){
  16431.                     value = value.trim();
  16432.                     String [] r = value.split(",");
  16433.                     this.tipiInRequestHandler = r;
  16434.                 }else{
  16435.                     this.tipiInRequestHandler = null;
  16436.                 }
  16437.             }catch(java.lang.Exception e) {
  16438.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.in-request': "+e.getMessage(),e);
  16439.                 this.tipiInRequestHandler = null;
  16440.             }  
  16441.             this.tipiInRequestHandlerRead = true;
  16442.         }

  16443.         return this.tipiInRequestHandler;
  16444.     }
  16445.    
  16446.     /**
  16447.      * Restituisce l'elenco degli handlers di tipo InRequestProtocolHandler
  16448.      *
  16449.      * @return  Restituisce l'elenco degli handlers di tipo InRequestProtocolHandler
  16450.      */
  16451.     private String[] tipiInRequestProtocolHandler = null;
  16452.     private boolean tipiInRequestProtocolHandlerRead = false;
  16453.     public String[] getInRequestProtocolHandler() {
  16454.         if(this.tipiInRequestProtocolHandlerRead == false){
  16455.             try{
  16456.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.in-protocol-request");
  16457.                 if(value!=null){
  16458.                     value = value.trim();
  16459.                     String [] r = value.split(",");
  16460.                     this.tipiInRequestProtocolHandler = r;
  16461.                 }else{
  16462.                     this.tipiInRequestProtocolHandler = null;
  16463.                 }
  16464.             }catch(java.lang.Exception e) {
  16465.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.in-protocol-request': "+e.getMessage(),e);
  16466.                 this.tipiInRequestProtocolHandler = null;
  16467.             }  
  16468.             this.tipiInRequestProtocolHandlerRead = true;
  16469.         }

  16470.         return this.tipiInRequestProtocolHandler;
  16471.     }
  16472.    
  16473.     /**
  16474.      * Restituisce l'elenco degli handlers di tipo OutRequestHandler
  16475.      *
  16476.      * @return  Restituisce l'elenco degli handlers di tipo OutRequestHandler
  16477.      */
  16478.     private String[] tipiOutRequestHandler = null;
  16479.     private boolean tipiOutRequestHandlerRead = false;
  16480.     public String[] getOutRequestHandler() {
  16481.         if(this.tipiOutRequestHandlerRead == false){
  16482.             try{
  16483.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.out-request");
  16484.                 if(value!=null){
  16485.                     value = value.trim();
  16486.                     String [] r = value.split(",");
  16487.                     this.tipiOutRequestHandler = r;
  16488.                 }else{
  16489.                     this.tipiOutRequestHandler = null;
  16490.                 }
  16491.             }catch(java.lang.Exception e) {
  16492.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.out-request': "+e.getMessage(),e);
  16493.                 this.tipiOutRequestHandler = null;
  16494.             }  
  16495.             this.tipiOutRequestHandlerRead = true;
  16496.         }

  16497.         return this.tipiOutRequestHandler;
  16498.     }
  16499.    
  16500.     /**
  16501.      * Restituisce l'elenco degli handlers di tipo PostOutRequestHandler
  16502.      *
  16503.      * @return  Restituisce l'elenco degli handlers di tipo PostOutRequestHandler
  16504.      */
  16505.     private String[] tipiPostOutRequestHandler = null;
  16506.     private boolean tipiPostOutRequestHandlerRead = false;
  16507.     public String[] getPostOutRequestHandler() {
  16508.         if(this.tipiPostOutRequestHandlerRead == false){
  16509.             try{
  16510.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.post-out-request");
  16511.                 if(value!=null){
  16512.                     value = value.trim();
  16513.                     String [] r = value.split(",");
  16514.                     this.tipiPostOutRequestHandler = r;
  16515.                 }else{
  16516.                     this.tipiPostOutRequestHandler = null;
  16517.                 }
  16518.             }catch(java.lang.Exception e) {
  16519.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.post-out-request': "+e.getMessage(),e);
  16520.                 this.tipiPostOutRequestHandler = null;
  16521.             }  
  16522.             this.tipiPostOutRequestHandlerRead = true;
  16523.         }

  16524.         return this.tipiPostOutRequestHandler;
  16525.     }
  16526.    
  16527.     /**
  16528.      * Restituisce l'elenco degli handlers di tipo PreInResponseHandler
  16529.      *
  16530.      * @return  Restituisce l'elenco degli handlers di tipo PreInResponseHandler
  16531.      */
  16532.     private String[] tipiPreInResponseHandler = null;
  16533.     private boolean tipiPreInResponseHandlerRead = false;
  16534.     public String[] getPreInResponseHandler() {
  16535.         if(this.tipiPreInResponseHandlerRead == false){
  16536.             try{
  16537.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.pre-in-response");
  16538.                 if(value!=null){
  16539.                     value = value.trim();
  16540.                     String [] r = value.split(",");
  16541.                     this.tipiPreInResponseHandler = r;
  16542.                 }else{
  16543.                     this.tipiPreInResponseHandler = null;
  16544.                 }
  16545.             }catch(java.lang.Exception e) {
  16546.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.pre-in-response': "+e.getMessage(),e);
  16547.                 this.tipiPreInResponseHandler = null;
  16548.             }  
  16549.             this.tipiPreInResponseHandlerRead = true;
  16550.         }

  16551.         return this.tipiPreInResponseHandler;
  16552.     }
  16553.    
  16554.     /**
  16555.      * Restituisce l'elenco degli handlers di tipo InResponseHandler
  16556.      *
  16557.      * @return  Restituisce l'elenco degli handlers di tipo InResponseHandler
  16558.      */
  16559.     private String[] tipiInResponseHandler = null;
  16560.     private boolean tipiInResponseHandlerRead = false;
  16561.     public String[] getInResponseHandler() {
  16562.         if(this.tipiInResponseHandlerRead == false){
  16563.             try{
  16564.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.in-response");
  16565.                 if(value!=null){
  16566.                     value = value.trim();
  16567.                     String [] r = value.split(",");
  16568.                     this.tipiInResponseHandler = r;
  16569.                 }else{
  16570.                     this.tipiInResponseHandler = null;
  16571.                 }
  16572.             }catch(java.lang.Exception e) {
  16573.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.in-response': "+e.getMessage(),e);
  16574.                 this.tipiInResponseHandler = null;
  16575.             }  
  16576.             this.tipiInResponseHandlerRead = true;
  16577.         }

  16578.         return this.tipiInResponseHandler;
  16579.     }
  16580.    
  16581.     /**
  16582.      * Restituisce l'elenco degli handlers di tipo OutResponseHandler
  16583.      *
  16584.      * @return  Restituisce l'elenco degli handlers di tipo OutResponseHandler
  16585.      */
  16586.     private String[] tipiOutResponseHandler = null;
  16587.     private boolean tipiOutResponseHandlerRead = false;
  16588.     public String[] getOutResponseHandler() {
  16589.         if(this.tipiOutResponseHandlerRead == false){
  16590.             try{
  16591.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.out-response");
  16592.                 if(value!=null){
  16593.                     value = value.trim();
  16594.                     String [] r = value.split(",");
  16595.                     this.tipiOutResponseHandler = r;
  16596.                 }else{
  16597.                     this.tipiOutResponseHandler = null;
  16598.                 }
  16599.             }catch(java.lang.Exception e) {
  16600.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.out-response': "+e.getMessage(),e);
  16601.                 this.tipiOutResponseHandler = null;
  16602.             }  
  16603.             this.tipiOutResponseHandlerRead = true;
  16604.         }

  16605.         return this.tipiOutResponseHandler;
  16606.     }
  16607.    
  16608.     /**
  16609.      * Restituisce l'elenco degli handlers di tipo PostOutResponseHandler
  16610.      *
  16611.      * @return  Restituisce l'elenco degli handlers di tipo PostOutResponseHandler
  16612.      */
  16613.     private String[] tipiPostOutResponseHandler = null;
  16614.     private boolean tipiPostOutResponseHandlerRead = false;
  16615.     public String[] getPostOutResponseHandler() {
  16616.         if(this.tipiPostOutResponseHandlerRead == false){
  16617.             try{
  16618.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.post-out-response");
  16619.                 if(value!=null){
  16620.                     value = value.trim();
  16621.                     String [] r = value.split(",");
  16622.                     this.tipiPostOutResponseHandler = r;
  16623.                 }else{
  16624.                     this.tipiPostOutResponseHandler = null;
  16625.                 }
  16626.             }catch(java.lang.Exception e) {
  16627.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.post-out-response': "+e.getMessage(),e);
  16628.                 this.tipiPostOutResponseHandler = null;
  16629.             }  
  16630.             this.tipiPostOutResponseHandlerRead = true;
  16631.         }

  16632.         return this.tipiPostOutResponseHandler;
  16633.     }

  16634.     /**
  16635.      * Restituisce l'elenco degli handlers di tipo IntegrationManagerRequestHandler
  16636.      *
  16637.      * @return  Restituisce l'elenco degli handlers di tipo IntegrationManagerRequestHandler
  16638.      */
  16639.     private String[] tipiIntegrationManagerRequestHandler = null;
  16640.     private boolean tipiIntegrationManagerRequestHandlerRead = false;
  16641.     public String[] getIntegrationManagerRequestHandler() {
  16642.         if(this.tipiIntegrationManagerRequestHandlerRead == false){
  16643.             try{
  16644.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrationManager.handler.request");
  16645.                 if(value!=null){
  16646.                     value = value.trim();
  16647.                     String [] r = value.split(",");
  16648.                     this.tipiIntegrationManagerRequestHandler = r;
  16649.                 }else{
  16650.                     this.tipiIntegrationManagerRequestHandler = null;
  16651.                 }
  16652.             }catch(java.lang.Exception e) {
  16653.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.integrationManager.handler.request': "+e.getMessage(),e);
  16654.                 this.tipiIntegrationManagerRequestHandler = null;
  16655.             }  
  16656.             this.tipiIntegrationManagerRequestHandlerRead = true;
  16657.         }

  16658.         return this.tipiIntegrationManagerRequestHandler;
  16659.     }
  16660.    
  16661.     /**
  16662.      * Restituisce l'elenco degli handlers di tipo IntegrationManagerResponseHandler
  16663.      *
  16664.      * @return  Restituisce l'elenco degli handlers di tipo IntegrationManagerResponseHandler
  16665.      */
  16666.     private String[] tipiIntegrationManagerResponseHandler = null;
  16667.     private boolean tipiIntegrationManagerResponseHandlerRead = false;
  16668.     public String[] getIntegrationManagerResponseHandler() {
  16669.         if(this.tipiIntegrationManagerResponseHandlerRead == false){
  16670.             try{
  16671.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrationManager.handler.response");
  16672.                 if(value!=null){
  16673.                     value = value.trim();
  16674.                     String [] r = value.split(",");
  16675.                     this.tipiIntegrationManagerResponseHandler = r;
  16676.                 }else{
  16677.                     this.tipiIntegrationManagerResponseHandler = null;
  16678.                 }
  16679.             }catch(java.lang.Exception e) {
  16680.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.integrationManager.handler.response': "+e.getMessage(),e);
  16681.                 this.tipiIntegrationManagerResponseHandler = null;
  16682.             }  
  16683.             this.tipiIntegrationManagerResponseHandlerRead = true;
  16684.         }

  16685.         return this.tipiIntegrationManagerResponseHandler;
  16686.     }









  16687.     /* ----------- MessageSecurity --------------------- */
  16688.    
  16689.     private Boolean isLoadApacheXMLDSig = null;
  16690.     public boolean isLoadApacheXMLDSig(){

  16691.         String pName = "org.openspcoop2.pdd.security.addApacheXMLDSigProvider";
  16692.         if(this.isLoadApacheXMLDSig==null){
  16693.             try{  
  16694.                 String value = this.reader.getValueConvertEnvProperties(pName);

  16695.                 if (value != null){
  16696.                     value = value.trim();
  16697.                     this.isLoadApacheXMLDSig = Boolean.parseBoolean(value);
  16698.                 }else{
  16699.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  16700.                     this.isLoadApacheXMLDSig = true;
  16701.                 }

  16702.             }catch(java.lang.Exception e) {
  16703.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  16704.                 this.isLoadApacheXMLDSig = true;
  16705.             }
  16706.         }

  16707.         return this.isLoadApacheXMLDSig;
  16708.     }
  16709.    
  16710.     private Boolean isLoadBouncyCastle = null;
  16711.     public boolean isLoadBouncyCastle(){

  16712.         if(this.isLoadBouncyCastle==null){
  16713.             try{  
  16714.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.security.addBouncyCastleProvider");

  16715.                 if (value != null){
  16716.                     value = value.trim();
  16717.                     this.isLoadBouncyCastle = Boolean.parseBoolean(value);
  16718.                 }else{
  16719.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.security.addBouncyCastleProvider' non impostata, viene utilizzato il default=true");
  16720.                     this.isLoadBouncyCastle = true;
  16721.                 }

  16722.             }catch(java.lang.Exception e) {
  16723.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.security.addBouncyCastleProvider' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  16724.                 this.isLoadBouncyCastle = true;
  16725.             }
  16726.         }

  16727.         return this.isLoadBouncyCastle;
  16728.     }
  16729.    
  16730.     private Boolean secureRandomBouncyCastle_read = null;
  16731.     private String bouncyCastleSecureRandomAlgo = null;
  16732.     public String getBouncyCastleSecureRandomAlgorithm(){

  16733.         String pName = "org.openspcoop2.pdd.security.bouncyCastleProvider.secureRandomAlgorithm";
  16734.         if(this.secureRandomBouncyCastle_read==null){
  16735.             try{  
  16736.                 String value = this.reader.getValueConvertEnvProperties(pName);

  16737.                 if (value != null){
  16738.                     value = value.trim();
  16739.                     this.bouncyCastleSecureRandomAlgo = value;
  16740.                 }

  16741.             }catch(java.lang.Exception e) {
  16742.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  16743.                 this.bouncyCastleSecureRandomAlgo = null;
  16744.             }
  16745.            
  16746.             this.secureRandomBouncyCastle_read = true;
  16747.         }

  16748.         return this.bouncyCastleSecureRandomAlgo;
  16749.     }
  16750.    
  16751.     private Boolean isUseBouncyCastleProviderForCertificate = null;
  16752.     public boolean isUseBouncyCastleProviderForCertificate(){

  16753.         if(this.isUseBouncyCastleProviderForCertificate==null){
  16754.             String pName = "org.openspcoop2.pdd.security.cert.useBouncyCastleProvider";
  16755.             try{  
  16756.                 String value = this.reader.getValueConvertEnvProperties(pName);

  16757.                 if (value != null){
  16758.                     value = value.trim();
  16759.                     this.isUseBouncyCastleProviderForCertificate = Boolean.parseBoolean(value);
  16760.                 }else{
  16761.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  16762.                     this.isUseBouncyCastleProviderForCertificate = true;
  16763.                 }

  16764.             }catch(java.lang.Exception e) {
  16765.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  16766.                 this.isUseBouncyCastleProviderForCertificate = true;
  16767.             }
  16768.         }

  16769.         return this.isUseBouncyCastleProviderForCertificate;
  16770.     }
  16771.    
  16772.     private Boolean isUseBouncyCastleProviderForMessageDigest = null;
  16773.     public boolean isUseBouncyCastleProviderForMessageDigest(){

  16774.         if(this.isUseBouncyCastleProviderForMessageDigest==null){
  16775.             String pName = "org.openspcoop2.pdd.security.digest.useBouncyCastleProvider";
  16776.             try{  
  16777.                 String value = this.reader.getValueConvertEnvProperties(pName);

  16778.                 if (value != null){
  16779.                     value = value.trim();
  16780.                     this.isUseBouncyCastleProviderForMessageDigest = Boolean.parseBoolean(value);
  16781.                 }else{
  16782.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  16783.                     this.isUseBouncyCastleProviderForMessageDigest = true;
  16784.                 }

  16785.             }catch(java.lang.Exception e) {
  16786.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  16787.                 this.isUseBouncyCastleProviderForMessageDigest = true;
  16788.             }
  16789.         }

  16790.         return this.isUseBouncyCastleProviderForMessageDigest;
  16791.     }
  16792.    
  16793.     private Boolean isUseBouncyCastleProviderForWss4jCryptoMerlin = null;
  16794.     public boolean isUseBouncyCastleProviderForWss4jCryptoMerlin(){

  16795.         if(this.isUseBouncyCastleProviderForWss4jCryptoMerlin==null){
  16796.             String pName = "org.openspcoop2.pdd.security.wss4jCryptoMerlin.useBouncyCastleProvider";
  16797.             try{  
  16798.                 String value = this.reader.getValueConvertEnvProperties(pName);

  16799.                 if (value != null){
  16800.                     value = value.trim();
  16801.                     this.isUseBouncyCastleProviderForWss4jCryptoMerlin = Boolean.parseBoolean(value);
  16802.                 }else{
  16803.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  16804.                     this.isUseBouncyCastleProviderForWss4jCryptoMerlin = true;
  16805.                 }

  16806.             }catch(java.lang.Exception e) {
  16807.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  16808.                 this.isUseBouncyCastleProviderForWss4jCryptoMerlin = true;
  16809.             }
  16810.         }

  16811.         return this.isUseBouncyCastleProviderForWss4jCryptoMerlin;
  16812.     }
  16813.    
  16814.     private Boolean securityEgd_read = null;
  16815.     private String securityEgd = null;
  16816.     public String getSecurityEgd(){

  16817.         String pName = "org.openspcoop2.pdd.security.egd";
  16818.         if(this.securityEgd_read==null){
  16819.             try{  
  16820.                 String value = this.reader.getValueConvertEnvProperties(pName);

  16821.                 if (value != null){
  16822.                     value = value.trim();
  16823.                     this.securityEgd = value;
  16824.                 }

  16825.             }catch(java.lang.Exception e) {
  16826.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  16827.                 this.securityEgd = null;
  16828.             }
  16829.            
  16830.             this.securityEgd_read = true;
  16831.         }

  16832.         return this.securityEgd;
  16833.     }
  16834.    
  16835.     /**
  16836.      * Indicazione se generare un actor di default
  16837.      *  
  16838.      * @return Indicazione se generare un actor di default
  16839.      *
  16840.      */
  16841.     private Boolean isGenerazioneActorDefault = null;
  16842.     public boolean isGenerazioneActorDefault(String implementazionePdDSoggetto){

  16843.         // ovverriding per implementazione porta di dominio
  16844.         if(this.pddReader!=null){
  16845.             String tipo = this.pddReader.getMessageSecurity_ActorDefaultEnable(implementazionePdDSoggetto);
  16846.             if(tipo!=null && (
  16847.                     CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo) ||
  16848.                     CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo)  )
  16849.             ){
  16850.                 if(CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo))
  16851.                     return true;
  16852.                 else if(CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo))
  16853.                     return false;
  16854.             }
  16855.         }

  16856.         if(this.isGenerazioneActorDefault==null){
  16857.             try{  
  16858.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.messageSecurity.actorDefault.enable");

  16859.                 if (value != null){
  16860.                     value = value.trim();
  16861.                     this.isGenerazioneActorDefault = Boolean.parseBoolean(value);
  16862.                 }else{
  16863.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.actorDefault.enable' non impostata, viene utilizzato il default=true");
  16864.                     this.isGenerazioneActorDefault = true;
  16865.                 }

  16866.             }catch(java.lang.Exception e) {
  16867.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.actorDefault.enable' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  16868.                 this.isGenerazioneActorDefault = true;
  16869.             }
  16870.         }

  16871.         return this.isGenerazioneActorDefault;
  16872.     }


  16873.     /**
  16874.      * Actor di default
  16875.      *  
  16876.      * @return actor di default
  16877.      *
  16878.      */
  16879.     private String actorDefault = null;
  16880.     public String getActorDefault(String implementazionePdDSoggetto){

  16881.         // ovverriding per implementazione porta di dominio
  16882.         if(this.pddReader!=null){
  16883.             String valore = this.pddReader.getMessageSecurity_ActorDefaultValue(implementazionePdDSoggetto);
  16884.             if(valore!=null){
  16885.                 return valore;
  16886.             }
  16887.         }

  16888.         if(this.actorDefault==null){
  16889.             try{  
  16890.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.messageSecurity.actorDefault.valore");

  16891.                 if (value != null){
  16892.                     value = value.trim();
  16893.                     this.actorDefault = value;
  16894.                 }else{
  16895.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.actorDefault.valore' non impostata, viene utilizzato il default=openspcoop");
  16896.                     this.actorDefault = "openspcoop";
  16897.                 }

  16898.             }catch(java.lang.Exception e) {
  16899.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.actorDefault.valore' non impostata, viene utilizzato il default=openspcoop, errore:"+e.getMessage(),e);
  16900.                 this.actorDefault = "openspcoop";
  16901.             }
  16902.         }

  16903.         return this.actorDefault;
  16904.     }
  16905.    
  16906.     /**
  16907.      * WsuId prefix associato agli id delle reference utilizzate dagli header di MessageSecurity
  16908.      *  
  16909.      * @return prefix
  16910.      *
  16911.      */
  16912.     private String prefixWsuId = null;
  16913.     public String getPrefixWsuId(){

  16914.         if(this.prefixWsuId==null){
  16915.             try{  
  16916.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.messageSecurity.prefixWsuId");

  16917.                 if (value != null){
  16918.                     value = value.trim();
  16919.                     this.prefixWsuId = value;
  16920.                 }else{
  16921.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.prefixWsuId' non impostata, viene utilizzato il default di MessageSecurity");
  16922.                     this.prefixWsuId = "";
  16923.                 }

  16924.             }catch(java.lang.Exception e) {
  16925.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.prefixWsuId' non impostata, viene utilizzato il default di MessageSecurity, errore:"+e.getMessage(),e);
  16926.                 this.prefixWsuId = "";
  16927.             }
  16928.         }

  16929.         return this.prefixWsuId;
  16930.     }
  16931.    
  16932.     private Boolean secureRandomWsuId_read = null;
  16933.     private String wsuIdSecureRandomAlgo = null;
  16934.     public String getWsuIdSecureRandomAlgorithm(){

  16935.         String pName = "org.openspcoop2.pdd.messageSecurity.wsuId.secureRandomAlgorithm";
  16936.         if(this.secureRandomWsuId_read==null){
  16937.             try{  
  16938.                 String value = this.reader.getValueConvertEnvProperties(pName);

  16939.                 if (value != null){
  16940.                     value = value.trim();
  16941.                     this.wsuIdSecureRandomAlgo = value;
  16942.                 }

  16943.             }catch(java.lang.Exception e) {
  16944.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  16945.                 this.wsuIdSecureRandomAlgo = null;
  16946.             }
  16947.            
  16948.             this.secureRandomWsuId_read = true;
  16949.         }

  16950.         return this.wsuIdSecureRandomAlgo;
  16951.     }
  16952.    
  16953.     private Boolean removeAllWsuIdRef = null;
  16954.     public boolean isRemoveAllWsuIdRef(){

  16955.         if(this.removeAllWsuIdRef==null){
  16956.             try{  
  16957.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.messageSecurity.removeAllWsuIdRef");

  16958.                 if (value != null){
  16959.                     value = value.trim();
  16960.                     this.removeAllWsuIdRef = Boolean.parseBoolean(value);
  16961.                 }else{
  16962.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.removeAllWsuIdRef' non impostata, viene utilizzato il default 'false'");
  16963.                     this.removeAllWsuIdRef = false;
  16964.                 }

  16965.             }catch(java.lang.Exception e) {
  16966.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.removeAllWsuIdRef' non impostata, viene utilizzato il default 'false', errore:"+e.getMessage(),e);
  16967.                 this.removeAllWsuIdRef = false;
  16968.             }
  16969.         }

  16970.         return this.removeAllWsuIdRef;
  16971.     }
  16972.    
  16973.     private String externalPWCallback = null;
  16974.     private Boolean externalPWCallbackReaded = null;
  16975.     public String getExternalPWCallbackPropertyFile(){

  16976.         if(this.externalPWCallbackReaded==null){
  16977.             try{  
  16978.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.messageSecurity.externalPWCallback.propertiesFile");

  16979.                 if (value != null){
  16980.                     value = value.trim();
  16981.                     this.externalPWCallback = value;
  16982.                 }else{
  16983.                     this.logDebug("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.externalPWCallback.propertiesFile' non impostata");
  16984.                     this.externalPWCallback = null;
  16985.                 }
  16986.                 this.externalPWCallbackReaded = true;

  16987.             }catch(java.lang.Exception e) {
  16988.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.externalPWCallback.propertiesFile' non impostata, errore:"+e.getMessage(),e);
  16989.                 this.externalPWCallback = null;
  16990.                 this.externalPWCallbackReaded = true;
  16991.             }
  16992.         }

  16993.         return this.externalPWCallback;
  16994.     }


  16995.     /**
  16996.      * Restituisce l'indicazione se la cache messageSecurity e' abilitata
  16997.      *
  16998.      * @return Restituisce l'indicazione se la cache messageSecurity e' abilitata
  16999.      */
  17000.     private Boolean isAbilitataCacheMessageSecurityKeystore_value = null;
  17001.     public boolean isAbilitataCacheMessageSecurityKeystore() {
  17002.         if(this.isAbilitataCacheMessageSecurityKeystore_value==null){
  17003.             try{  
  17004.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.messageSecurity.keystore.cache.enable");
  17005.                 if(value!=null){
  17006.                     value = value.trim();
  17007.                     this.isAbilitataCacheMessageSecurityKeystore_value = Boolean.parseBoolean(value);
  17008.                 }else{
  17009.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.keystore.cache.enable' non impostata, viene utilizzato il default=false");
  17010.                     this.isAbilitataCacheMessageSecurityKeystore_value = false;
  17011.                 }
  17012.             }catch(java.lang.Exception e) {
  17013.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.keystore.cache.enable' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  17014.                 this.isAbilitataCacheMessageSecurityKeystore_value = false;
  17015.             }
  17016.         }

  17017.         return this.isAbilitataCacheMessageSecurityKeystore_value;
  17018.     }

  17019.     /**
  17020.      * Restituisce la dimensione della cache messageSecurity
  17021.      *
  17022.      * @return Restituisce la dimensione della cache messageSecurity
  17023.      */
  17024.     private Integer dimensioneCacheMessageSecurityKeystore_value = null;
  17025.     public int getDimensioneCacheMessageSecurityKeystore() throws OpenSPCoop2ConfigurationException{    
  17026.         if(this.dimensioneCacheMessageSecurityKeystore_value==null){
  17027.             try{  
  17028.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.messageSecurity.keystore.cache.dimensione");
  17029.                 if(value!=null){
  17030.                     value = value.trim();
  17031.                     this.dimensioneCacheMessageSecurityKeystore_value = Integer.parseInt(value);
  17032.                 }else{
  17033.                     this.dimensioneCacheMessageSecurityKeystore_value = -1;
  17034.                 }
  17035.             }catch(java.lang.Exception e) {
  17036.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.keystore.cache.dimensione': "+e.getMessage(),e);
  17037.                 throw new OpenSPCoop2ConfigurationException("Riscontrato errore durante la lettura della proprieta' di openspcoop  'org.openspcoop2.pdd.messageSecurity.keystore.cache.dimensione'",e);
  17038.             }
  17039.         }

  17040.         return this.dimensioneCacheMessageSecurityKeystore_value;
  17041.     }

  17042.     /**
  17043.      * Restituisce la  itemLifeSecond della cache messageSecurity
  17044.      *
  17045.      * @return Restituisce la itemLifeSecond della cache messageSecurity
  17046.      */
  17047.     private Integer itemLifeSecondCacheMessageSecurityKeystore_value = null;
  17048.     public int getItemLifeSecondCacheMessageSecurityKeystore() throws OpenSPCoop2ConfigurationException{
  17049.         if(this.itemLifeSecondCacheMessageSecurityKeystore_value==null){
  17050.             try{  
  17051.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.messageSecurity.keystore.cache.itemLifeSecond");
  17052.                 if(value!=null){
  17053.                     value = value.trim();
  17054.                     this.itemLifeSecondCacheMessageSecurityKeystore_value = Integer.parseInt(value);
  17055.                 }else{
  17056.                     this.itemLifeSecondCacheMessageSecurityKeystore_value = -1;
  17057.                 }
  17058.             }catch(java.lang.Exception e) {
  17059.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.keystore.cache.itemLifeSecond': "+e.getMessage(),e);
  17060.                 throw new OpenSPCoop2ConfigurationException("Riscontrato errore durante la lettura della proprieta' di openspcoop  'org.openspcoop2.pdd.messageSecurity.keystore.cache.itemLifeSecond'",e);
  17061.             }
  17062.         }

  17063.         return this.itemLifeSecondCacheMessageSecurityKeystore_value;
  17064.     }
  17065.    
  17066.    
  17067.    
  17068.    
  17069.    
  17070.    
  17071.     /* ********  Gestore Credenziali  ******** */

  17072.     private Boolean getAutenticazioneLockPermitsRead = null;
  17073.     private Integer getAutenticazioneLockPermits = null;
  17074.     public Integer getAutenticazioneLockPermits() {

  17075.         String pName = "org.openspcoop2.pdd.core.autenticazione.lock.permits";
  17076.         if(this.getAutenticazioneLockPermitsRead==null){
  17077.             try{  
  17078.                 String value = this.reader.getValueConvertEnvProperties(pName);

  17079.                 if (value != null){
  17080.                     value = value.trim();
  17081.                     int permits = Integer.parseInt(value);
  17082.                     if(permits>1) {
  17083.                         // altrimenti è un normale semaphore binario
  17084.                         this.getAutenticazioneLockPermits = permits;
  17085.                     }
  17086.                 }
  17087.                
  17088.                
  17089.             }catch(java.lang.Exception e) {
  17090.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  17091.             }
  17092.            
  17093.             this.getAutenticazioneLockPermitsRead = true;
  17094.         }

  17095.         return this.getAutenticazioneLockPermits;
  17096.     }
  17097.    
  17098.     private Map<String, Integer> getTipoAutenticazioneLockPermits = null;
  17099.     public Integer getAutenticazioneLockPermits(String tipoAutenticazione) {

  17100.         String pName = "org.openspcoop2.pdd.core.autenticazione.lock.permits.";
  17101.         if(this.getTipoAutenticazioneLockPermits==null){
  17102.            
  17103.             this.getTipoAutenticazioneLockPermits = new HashMap<>();
  17104.            
  17105.             try{  
  17106.                 Properties p = this.reader.readPropertiesConvertEnvProperties(pName);
  17107.                 processAutenticazioneLockPermits(p);
  17108.             }catch(java.lang.Exception e) {
  17109.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  17110.             }
  17111.            
  17112.         }

  17113.         return this.getTipoAutenticazioneLockPermits.get(tipoAutenticazione);
  17114.     }
  17115.     private void processAutenticazioneLockPermits(Properties p) {
  17116.         if(p!=null && !p.isEmpty()) {
  17117.             for (Object oKey : p.keySet()) {
  17118.                 if(oKey!=null) {
  17119.                     String key = (String) oKey;
  17120.                     String value = p.getProperty(key);
  17121.                     processAutenticazioneLockPermits(key, value);
  17122.                 }
  17123.             }
  17124.         }
  17125.     }
  17126.     private void processAutenticazioneLockPermits(String key, String value) {
  17127.         if(value!=null) {
  17128.             int permits = Integer.parseInt(value);
  17129.             if(permits>1) {
  17130.                 // altrimenti è un normale semaphore binario
  17131.                 this.getTipoAutenticazioneLockPermits.put(key, permits);
  17132.             }
  17133.         }
  17134.     }
  17135.    
  17136.     private Boolean isGestioneAutenticazioneSaveTokenAuthenticationInfoAuthenticationFailed = null;
  17137.     public boolean isGestioneAutenticazioneSaveTokenAuthenticationInfoAuthenticationFailed(){

  17138.         if(this.isGestioneAutenticazioneSaveTokenAuthenticationInfoAuthenticationFailed==null){
  17139.             String pName = "org.openspcoop2.pdd.core.autenticazione.gestioneToken.saveAuthenticationInfo.authenticationFailed";
  17140.             try{  
  17141.                 String value = this.reader.getValueConvertEnvProperties(pName);

  17142.                 if (value != null){
  17143.                     value = value.trim();
  17144.                     this.isGestioneAutenticazioneSaveTokenAuthenticationInfoAuthenticationFailed = Boolean.parseBoolean(value);
  17145.                 }else{
  17146.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  17147.                     this.isGestioneAutenticazioneSaveTokenAuthenticationInfoAuthenticationFailed = true;
  17148.                 }

  17149.             }catch(java.lang.Exception e) {
  17150.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  17151.                 this.isGestioneAutenticazioneSaveTokenAuthenticationInfoAuthenticationFailed = true;
  17152.             }
  17153.         }

  17154.         return this.isGestioneAutenticazioneSaveTokenAuthenticationInfoAuthenticationFailed;
  17155.     }
  17156.    
  17157.     private CryptConfig getCryptConfigAutenticazioneApplicativi = null;
  17158.     public CryptConfig getCryptConfigAutenticazioneApplicativi() {
  17159.         if(this.getCryptConfigAutenticazioneApplicativi == null){
  17160.             try{  
  17161.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.core.autenticazione.applicativi.password");
  17162.                 if(value!=null){
  17163.                     value = value.trim();
  17164.                     this.getCryptConfigAutenticazioneApplicativi = new CryptConfig(value);
  17165.                 }
  17166.             }catch(java.lang.Exception e) {
  17167.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.core.autenticazione.applicativi.password': "+e.getMessage(),e);
  17168.                 return null;
  17169.             }
  17170.         }

  17171.         return this.getCryptConfigAutenticazioneApplicativi;
  17172.     }
  17173.    
  17174.     private CryptConfig getCryptConfigAutenticazioneSoggetti = null;
  17175.     public CryptConfig getCryptConfigAutenticazioneSoggetti() {
  17176.         if(this.getCryptConfigAutenticazioneSoggetti == null){
  17177.             try{  
  17178.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.core.autenticazione.soggetti.password");
  17179.                 if(value!=null){
  17180.                     value = value.trim();
  17181.                     this.getCryptConfigAutenticazioneSoggetti = new CryptConfig(value);
  17182.                 }
  17183.             }catch(java.lang.Exception e) {
  17184.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.core.autenticazione.soggetti.password': "+e.getMessage(),e);
  17185.                 return null;
  17186.             }
  17187.         }

  17188.         return this.getCryptConfigAutenticazioneSoggetti;
  17189.     }

  17190.     private Boolean isAutenticazioneBasicLogPassword = null;
  17191.     public boolean isAutenticazioneBasicLogPassword() {
  17192.         String pName = "org.openspcoop2.pdd.core.autenticazione.basic.invalidCredentials.logPassword";
  17193.         if(this.isAutenticazioneBasicLogPassword == null){
  17194.             try{  
  17195.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17196.                 if(value!=null){
  17197.                     value = value.trim();
  17198.                     this.isAutenticazioneBasicLogPassword = Boolean.valueOf(value);
  17199.                 }
  17200.                 else {
  17201.                     this.logError("Proprieta' di openspcoop '"+pName+"' non definita; viene usato il default=false");
  17202.                     this.isAutenticazioneBasicLogPassword = false;
  17203.                 }
  17204.             }catch(java.lang.Exception e) {
  17205.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"'; viene usato il default=false. Errore: "+e.getMessage(),e);
  17206.                 this.isAutenticazioneBasicLogPassword = false;
  17207.             }
  17208.         }

  17209.         return this.isAutenticazioneBasicLogPassword;
  17210.     }
  17211.    
  17212.     private WWWAuthenticateConfig getRealmAutenticazioneBasicWWWAuthenticateConfig = null;
  17213.     private boolean getRealmAutenticazioneBasicWWWAuthenticateConfig_read = false;
  17214.     public WWWAuthenticateConfig getRealmAutenticazioneBasicWWWAuthenticateConfig() {
  17215.         if(this.getRealmAutenticazioneBasicWWWAuthenticateConfig_read == false){
  17216.            
  17217. //          String pNameAuth = "org.openspcoop2.pdd.core.autenticazione.basic.authType";
  17218. //          String authType = null;
  17219. //          try{  
  17220. //              authType = this.reader.getValue_convertEnvProperties(pNameAuth);
  17221. //              if(authType!=null){
  17222. //                  authType = authType.trim();
  17223. //              }
  17224. //          }catch(java.lang.Exception e) {
  17225. //              this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameAuth+"': "+e.getMessage(),e);
  17226. //          }
  17227.             String authType = HttpConstants.AUTHENTICATION_BASIC;
  17228.            
  17229.             String pNameRealm = "org.openspcoop2.pdd.core.autenticazione.basic.realm";
  17230.             String realm = null;
  17231.             try {
  17232.                 realm = this.reader.getValueConvertEnvProperties(pNameRealm);
  17233.                 if(realm!=null){
  17234.                     realm = realm.trim();
  17235.                 }
  17236.             }catch(java.lang.Exception e) {
  17237.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameRealm+"': "+e.getMessage(),e);
  17238.             }
  17239.            
  17240.             if(authType!=null && !"".equals(authType) && realm!=null && !"".equals(realm)) {
  17241.                 this.getRealmAutenticazioneBasicWWWAuthenticateConfig = new WWWAuthenticateConfig();
  17242.                 this.getRealmAutenticazioneBasicWWWAuthenticateConfig.setAuthType(authType);
  17243.                 this.getRealmAutenticazioneBasicWWWAuthenticateConfig.setRealm(realm);
  17244.                
  17245.                 String pNameErrorDescription = "org.openspcoop2.pdd.core.autenticazione.basic.error_description.notFound";
  17246.                 String error_description = null;
  17247.                 try {
  17248.                     error_description = this.reader.getValueConvertEnvProperties(pNameErrorDescription);
  17249.                     if(error_description!=null){
  17250.                         error_description = error_description.trim();
  17251.                         if(!"".equals(error_description)) {
  17252.                             this.getRealmAutenticazioneBasicWWWAuthenticateConfig.setNotFound_error(WWWAuthenticateErrorCode.invalid_request.name());
  17253.                             this.getRealmAutenticazioneBasicWWWAuthenticateConfig.setNotFound_error_description(error_description);
  17254.                         }
  17255.                     }
  17256.                 }catch(java.lang.Exception e) {
  17257.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameErrorDescription+"': "+e.getMessage(),e);
  17258.                 }
  17259.                
  17260.                 pNameErrorDescription = "org.openspcoop2.pdd.core.autenticazione.basic.error_description.invalid";
  17261.                 error_description = null;
  17262.                 try {
  17263.                     error_description = this.reader.getValueConvertEnvProperties(pNameErrorDescription);
  17264.                     if(error_description!=null){
  17265.                         error_description = error_description.trim();
  17266.                         if(!"".equals(error_description)) {
  17267.                             this.getRealmAutenticazioneBasicWWWAuthenticateConfig.setInvalid_error(WWWAuthenticateErrorCode.invalid_request.name());
  17268.                             this.getRealmAutenticazioneBasicWWWAuthenticateConfig.setInvalid_error_description(error_description);
  17269.                         }
  17270.                     }
  17271.                 }catch(java.lang.Exception e) {
  17272.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameErrorDescription+"': "+e.getMessage(),e);
  17273.                 }
  17274.             }
  17275.            
  17276.             this.getRealmAutenticazioneBasicWWWAuthenticateConfig_read = true;
  17277.         }

  17278.         return this.getRealmAutenticazioneBasicWWWAuthenticateConfig;
  17279.     }
  17280.    
  17281.     private WWWAuthenticateConfig getRealmAutenticazioneApiKeyWWWAuthenticateConfig = null;
  17282.     private boolean getRealmAutenticazioneApiKeyWWWAuthenticateConfig_read = false;
  17283.     public WWWAuthenticateConfig getRealmAutenticazioneApiKeyWWWAuthenticateConfig() {
  17284.         if(this.getRealmAutenticazioneApiKeyWWWAuthenticateConfig_read == false){
  17285.            
  17286.             String pNameAuth = "org.openspcoop2.pdd.core.autenticazione.apiKey.authType";
  17287.             String authType = null;
  17288.             try{  
  17289.                 authType = this.reader.getValueConvertEnvProperties(pNameAuth);
  17290.                 if(authType!=null){
  17291.                     authType = authType.trim();
  17292.                 }
  17293.             }catch(java.lang.Exception e) {
  17294.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameAuth+"': "+e.getMessage(),e);
  17295.             }
  17296.            
  17297.             String pNameRealm = "org.openspcoop2.pdd.core.autenticazione.apiKey.realm";
  17298.             String realm = null;
  17299.             try {
  17300.                 realm = this.reader.getValueConvertEnvProperties(pNameRealm);
  17301.                 if(realm!=null){
  17302.                     realm = realm.trim();
  17303.                 }
  17304.             }catch(java.lang.Exception e) {
  17305.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameRealm+"': "+e.getMessage(),e);
  17306.             }
  17307.            
  17308.             if(authType!=null && !"".equals(authType) && realm!=null && !"".equals(realm)) {
  17309.                 this.getRealmAutenticazioneApiKeyWWWAuthenticateConfig = new WWWAuthenticateConfig();
  17310.                 this.getRealmAutenticazioneApiKeyWWWAuthenticateConfig.setAuthType(authType);
  17311.                 this.getRealmAutenticazioneApiKeyWWWAuthenticateConfig.setRealm(realm);
  17312.                
  17313.                 String pNameErrorDescription = "org.openspcoop2.pdd.core.autenticazione.apiKey.error_description.notFound";
  17314.                 String error_description = null;
  17315.                 try {
  17316.                     error_description = this.reader.getValueConvertEnvProperties(pNameErrorDescription);
  17317.                     if(error_description!=null){
  17318.                         error_description = error_description.trim();
  17319.                         if(!"".equals(error_description)) {
  17320.                             this.getRealmAutenticazioneApiKeyWWWAuthenticateConfig.setNotFound_error(WWWAuthenticateErrorCode.invalid_request.name());
  17321.                             this.getRealmAutenticazioneApiKeyWWWAuthenticateConfig.setNotFound_error_description(error_description);
  17322.                         }
  17323.                     }
  17324.                 }catch(java.lang.Exception e) {
  17325.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameErrorDescription+"': "+e.getMessage(),e);
  17326.                 }
  17327.                
  17328.                 pNameErrorDescription = "org.openspcoop2.pdd.core.autenticazione.apiKey.error_description.invalid";
  17329.                 error_description = null;
  17330.                 try {
  17331.                     error_description = this.reader.getValueConvertEnvProperties(pNameErrorDescription);
  17332.                     if(error_description!=null){
  17333.                         error_description = error_description.trim();
  17334.                         if(!"".equals(error_description)) {
  17335.                             this.getRealmAutenticazioneApiKeyWWWAuthenticateConfig.setInvalid_error(WWWAuthenticateErrorCode.invalid_request.name());
  17336.                             this.getRealmAutenticazioneApiKeyWWWAuthenticateConfig.setInvalid_error_description(error_description);
  17337.                         }
  17338.                     }
  17339.                 }catch(java.lang.Exception e) {
  17340.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameErrorDescription+"': "+e.getMessage(),e);
  17341.                 }
  17342.             }
  17343.            
  17344.             this.getRealmAutenticazioneApiKeyWWWAuthenticateConfig_read = true;
  17345.         }

  17346.         return this.getRealmAutenticazioneApiKeyWWWAuthenticateConfig;
  17347.     }
  17348.    
  17349.     private Boolean isAutenticazioneHttpsPortaDelegataValidityCheck = null;
  17350.     public boolean isAutenticazioneHttpsPortaDelegataValidityCheck() {
  17351.         String pName = "org.openspcoop2.pdd.core.autenticazione.https.ricezioneContenutiApplicativi.validityCheck";
  17352.         if(this.isAutenticazioneHttpsPortaDelegataValidityCheck == null){
  17353.             try{  
  17354.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17355.                 if(value!=null){
  17356.                     value = value.trim();
  17357.                     this.isAutenticazioneHttpsPortaDelegataValidityCheck = Boolean.valueOf(value);
  17358.                 }
  17359.                 else {
  17360.                     this.logError("Proprieta' di openspcoop '"+pName+"' non definita; viene usato il default=true");
  17361.                     this.isAutenticazioneHttpsPortaDelegataValidityCheck = true;
  17362.                 }
  17363.             }catch(java.lang.Exception e) {
  17364.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"'; viene usato il default=true. Errore: "+e.getMessage(),e);
  17365.                 this.isAutenticazioneHttpsPortaDelegataValidityCheck = true;
  17366.             }
  17367.         }

  17368.         return this.isAutenticazioneHttpsPortaDelegataValidityCheck;
  17369.     }
  17370.    
  17371.     private File getAutenticazioneHttpsPortaDelegataTruststorePath = null;
  17372.     private Boolean getAutenticazioneHttpsPortaDelegataTruststorePath_read = null;
  17373.     public File getAutenticazioneHttpsPortaDelegataTruststorePath() throws CoreException {
  17374.         String pName = "org.openspcoop2.pdd.core.autenticazione.https.ricezioneContenutiApplicativi.truststore.path";
  17375.         if(this.getAutenticazioneHttpsPortaDelegataTruststorePath_read == null){
  17376.             try{  
  17377.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17378.                 if(value!=null){
  17379.                     value = value.trim();
  17380.                     this.getAutenticazioneHttpsPortaDelegataTruststorePath = new File(value);
  17381.                     if(this.getAutenticazioneHttpsPortaDelegataTruststorePath.exists()) {
  17382.                         if(!this.getAutenticazioneHttpsPortaDelegataTruststorePath.isFile()) {
  17383.                             throw newCoreExceptionNotFile(this.getAutenticazioneHttpsPortaDelegataTruststorePath, false);
  17384.                         }
  17385.                         if(!this.getAutenticazioneHttpsPortaDelegataTruststorePath.canRead()) {
  17386.                             throw newCoreExceptionCannotRead(this.getAutenticazioneHttpsPortaDelegataTruststorePath,false);
  17387.                         }
  17388.                     }
  17389.                     else {
  17390.                         this.getAutenticazioneHttpsPortaDelegataTruststorePath=null;
  17391.                     }
  17392.                 }
  17393.             }catch(java.lang.Exception e) {
  17394.                 throw new CoreException("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  17395.             }
  17396.             this.getAutenticazioneHttpsPortaDelegataTruststorePath_read = true;
  17397.         }

  17398.         return this.getAutenticazioneHttpsPortaDelegataTruststorePath;
  17399.     }
  17400.    
  17401.     private String getAutenticazioneHttpsPortaDelegataTruststorePassword = null;
  17402.     private Boolean getAutenticazioneHttpsPortaDelegataTruststorePassword_read = null;
  17403.     public String getAutenticazioneHttpsPortaDelegataTruststorePassword() throws CoreException {
  17404.         String pName = "org.openspcoop2.pdd.core.autenticazione.https.ricezioneContenutiApplicativi.truststore.password";
  17405.         if(this.getAutenticazioneHttpsPortaDelegataTruststorePassword_read == null){
  17406.             try{  
  17407.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17408.                 if(value!=null){
  17409.                     value = value.trim();
  17410.                     this.getAutenticazioneHttpsPortaDelegataTruststorePassword = value;
  17411.                 }
  17412.             }catch(java.lang.Exception e) {
  17413.                 throw new CoreException("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  17414.             }
  17415.             this.getAutenticazioneHttpsPortaDelegataTruststorePassword_read = true;
  17416.         }

  17417.         return this.getAutenticazioneHttpsPortaDelegataTruststorePassword;
  17418.     }
  17419.    
  17420.     private String getAutenticazioneHttpsPortaDelegataTruststoreType = null;
  17421.     public String getAutenticazioneHttpsPortaDelegataTruststoreType() throws CoreException {
  17422.         String pName = "org.openspcoop2.pdd.core.autenticazione.https.ricezioneContenutiApplicativi.truststore.type";
  17423.         if(this.getAutenticazioneHttpsPortaDelegataTruststoreType == null){
  17424.             try{  
  17425.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17426.                 if(value!=null){
  17427.                     value = value.trim();
  17428.                     this.getAutenticazioneHttpsPortaDelegataTruststoreType = value;
  17429.                 }
  17430.                 else {
  17431.                     this.getAutenticazioneHttpsPortaDelegataTruststoreType = KeystoreType.JKS.getNome();
  17432.                 }
  17433.             }catch(java.lang.Exception e) {
  17434.                 throw new CoreException("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  17435.             }
  17436.         }

  17437.         return this.getAutenticazioneHttpsPortaDelegataTruststoreType;
  17438.     }
  17439.    
  17440.     private String getAutenticazioneHttpsPortaDelegataTruststoreCRLs = null;
  17441.     private Boolean getAutenticazioneHttpsPortaDelegataTruststoreCRLs_read = null;
  17442.     public String getAutenticazioneHttpsPortaDelegataTruststoreCRLs() throws CoreException {
  17443.         String pName = "org.openspcoop2.pdd.core.autenticazione.https.ricezioneContenutiApplicativi.truststore.crls";
  17444.         if(this.getAutenticazioneHttpsPortaDelegataTruststoreCRLs_read == null){
  17445.             try{  
  17446.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17447.                 if(value!=null){
  17448.                     value = value.trim();
  17449.                     this.getAutenticazioneHttpsPortaDelegataTruststoreCRLs = value;
  17450.                 }
  17451.             }catch(java.lang.Exception e) {
  17452.                 throw new CoreException("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  17453.             }
  17454.             this.getAutenticazioneHttpsPortaDelegataTruststoreCRLs_read = true;
  17455.         }

  17456.         return this.getAutenticazioneHttpsPortaDelegataTruststoreCRLs;
  17457.     }
  17458.    
  17459.     private String getAutenticazioneHttpsPortaDelegataTruststoreOCSPPolicy = null;
  17460.     private Boolean getAutenticazioneHttpsPortaDelegataTruststoreOCSPPolicy_read = null;
  17461.     public String getAutenticazioneHttpsPortaDelegataTruststoreOCSPPolicy() throws CoreException {
  17462.         String pName = "org.openspcoop2.pdd.core.autenticazione.https.ricezioneContenutiApplicativi.truststore.ocspPolicy";
  17463.         if(this.getAutenticazioneHttpsPortaDelegataTruststoreOCSPPolicy_read == null){
  17464.             try{  
  17465.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17466.                 if(value!=null){
  17467.                     value = value.trim();
  17468.                     this.getAutenticazioneHttpsPortaDelegataTruststoreOCSPPolicy = value;
  17469.                 }
  17470.             }catch(java.lang.Exception e) {
  17471.                 throw new CoreException("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  17472.             }
  17473.             this.getAutenticazioneHttpsPortaDelegataTruststoreOCSPPolicy_read = true;
  17474.         }

  17475.         return this.getAutenticazioneHttpsPortaDelegataTruststoreOCSPPolicy;
  17476.     }
  17477.    
  17478.     private Boolean isAutenticazioneHttpsPortaApplicativaValidityCheck = null;
  17479.     public boolean isAutenticazioneHttpsPortaApplicativaValidityCheck() {
  17480.         String pName = "org.openspcoop2.pdd.core.autenticazione.https.ricezioneBuste.validityCheck";
  17481.         if(this.isAutenticazioneHttpsPortaApplicativaValidityCheck == null){
  17482.             try{  
  17483.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17484.                 if(value!=null){
  17485.                     value = value.trim();
  17486.                     this.isAutenticazioneHttpsPortaApplicativaValidityCheck = Boolean.valueOf(value);
  17487.                 }
  17488.                 else {
  17489.                     this.logError("Proprieta' di openspcoop '"+pName+"' non definita; viene usato il default=true");
  17490.                     this.isAutenticazioneHttpsPortaApplicativaValidityCheck = true;
  17491.                 }
  17492.             }catch(java.lang.Exception e) {
  17493.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"'; viene usato il default=true. Errore: "+e.getMessage(),e);
  17494.                 this.isAutenticazioneHttpsPortaApplicativaValidityCheck = true;
  17495.             }
  17496.         }

  17497.         return this.isAutenticazioneHttpsPortaApplicativaValidityCheck;
  17498.     }
  17499.    
  17500.     private File getAutenticazioneHttpsPortaApplicativaTruststorePath = null;
  17501.     private Boolean getAutenticazioneHttpsPortaApplicativaTruststorePath_read = null;
  17502.     public File getAutenticazioneHttpsPortaApplicativaTruststorePath() throws CoreException {
  17503.         String pName = "org.openspcoop2.pdd.core.autenticazione.https.ricezioneBuste.truststore.path";
  17504.         if(this.getAutenticazioneHttpsPortaApplicativaTruststorePath_read == null){
  17505.             try{  
  17506.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17507.                 if(value!=null){
  17508.                     value = value.trim();
  17509.                     this.getAutenticazioneHttpsPortaApplicativaTruststorePath = new File(value);
  17510.                     if(this.getAutenticazioneHttpsPortaApplicativaTruststorePath.exists()) {
  17511.                         if(!this.getAutenticazioneHttpsPortaApplicativaTruststorePath.isFile()) {
  17512.                             throw newCoreExceptionNotFile(this.getAutenticazioneHttpsPortaApplicativaTruststorePath, false);
  17513.                         }
  17514.                         if(!this.getAutenticazioneHttpsPortaApplicativaTruststorePath.canRead()) {
  17515.                             throw newCoreExceptionCannotRead(this.getAutenticazioneHttpsPortaApplicativaTruststorePath, false);
  17516.                         }
  17517.                     }
  17518.                     else {
  17519.                         this.getAutenticazioneHttpsPortaApplicativaTruststorePath=null;
  17520.                     }
  17521.                 }
  17522.             }catch(java.lang.Exception e) {
  17523.                 throw new CoreException("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  17524.             }
  17525.             this.getAutenticazioneHttpsPortaApplicativaTruststorePath_read = true;
  17526.         }

  17527.         return this.getAutenticazioneHttpsPortaApplicativaTruststorePath;
  17528.     }
  17529.    
  17530.     private String getAutenticazioneHttpsPortaApplicativaTruststorePassword = null;
  17531.     private Boolean getAutenticazioneHttpsPortaApplicativaTruststorePassword_read = null;
  17532.     public String getAutenticazioneHttpsPortaApplicativaTruststorePassword() throws CoreException {
  17533.         String pName = "org.openspcoop2.pdd.core.autenticazione.https.ricezioneBuste.truststore.password";
  17534.         if(this.getAutenticazioneHttpsPortaApplicativaTruststorePassword_read == null){
  17535.             try{  
  17536.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17537.                 if(value!=null){
  17538.                     value = value.trim();
  17539.                     this.getAutenticazioneHttpsPortaApplicativaTruststorePassword = value;
  17540.                 }
  17541.             }catch(java.lang.Exception e) {
  17542.                 throw new CoreException("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  17543.             }
  17544.             this.getAutenticazioneHttpsPortaApplicativaTruststorePassword_read = true;
  17545.         }

  17546.         return this.getAutenticazioneHttpsPortaApplicativaTruststorePassword;
  17547.     }
  17548.    
  17549.     private String getAutenticazioneHttpsPortaApplicativaTruststoreType = null;
  17550.     public String getAutenticazioneHttpsPortaApplicativaTruststoreType() throws CoreException {
  17551.         String pName = "org.openspcoop2.pdd.core.autenticazione.https.ricezioneBuste.truststore.type";
  17552.         if(this.getAutenticazioneHttpsPortaApplicativaTruststoreType == null){
  17553.             try{  
  17554.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17555.                 if(value!=null){
  17556.                     value = value.trim();
  17557.                     this.getAutenticazioneHttpsPortaApplicativaTruststoreType = value;
  17558.                 }
  17559.                 else {
  17560.                     this.getAutenticazioneHttpsPortaApplicativaTruststoreType = KeystoreType.JKS.getNome();
  17561.                 }
  17562.             }catch(java.lang.Exception e) {
  17563.                 throw new CoreException("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  17564.             }
  17565.         }

  17566.         return this.getAutenticazioneHttpsPortaApplicativaTruststoreType;
  17567.     }
  17568.    
  17569.     private String getAutenticazioneHttpsPortaApplicativaTruststoreCRLs = null;
  17570.     private Boolean getAutenticazioneHttpsPortaApplicativaTruststoreCRLs_read = null;
  17571.     public String getAutenticazioneHttpsPortaApplicativaTruststoreCRLs() throws CoreException {
  17572.         String pName = "org.openspcoop2.pdd.core.autenticazione.https.ricezioneBuste.truststore.crls";
  17573.         if(this.getAutenticazioneHttpsPortaApplicativaTruststoreCRLs_read == null){
  17574.             try{  
  17575.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17576.                 if(value!=null){
  17577.                     value = value.trim();
  17578.                     this.getAutenticazioneHttpsPortaApplicativaTruststoreCRLs = value;
  17579.                 }
  17580.             }catch(java.lang.Exception e) {
  17581.                 throw new CoreException("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  17582.             }
  17583.             this.getAutenticazioneHttpsPortaApplicativaTruststoreCRLs_read = true;
  17584.         }

  17585.         return this.getAutenticazioneHttpsPortaApplicativaTruststoreCRLs;
  17586.     }
  17587.    
  17588.     private String getAutenticazioneHttpsPortaApplicativaTruststoreOCSPPolicy = null;
  17589.     private Boolean getAutenticazioneHttpsPortaApplicativaTruststoreOCSPPolicy_read = null;
  17590.     public String getAutenticazioneHttpsPortaApplicativaTruststoreOCSPPolicy() throws CoreException {
  17591.         String pName = "org.openspcoop2.pdd.core.autenticazione.https.ricezioneBuste.truststore.ocspPolicy";
  17592.         if(this.getAutenticazioneHttpsPortaApplicativaTruststoreOCSPPolicy_read == null){
  17593.             try{  
  17594.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17595.                 if(value!=null){
  17596.                     value = value.trim();
  17597.                     this.getAutenticazioneHttpsPortaApplicativaTruststoreOCSPPolicy = value;
  17598.                 }
  17599.             }catch(java.lang.Exception e) {
  17600.                 throw new CoreException("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  17601.             }
  17602.             this.getAutenticazioneHttpsPortaApplicativaTruststoreOCSPPolicy_read = true;
  17603.         }

  17604.         return this.getAutenticazioneHttpsPortaApplicativaTruststoreOCSPPolicy;
  17605.     }
  17606.    
  17607.    
  17608.     private Boolean isAutenticazioneHttpsPortaDelegataCheckSoggettiProprietari = null;
  17609.     public boolean isAutenticazioneHttpsPortaDelegataCheckSoggettiProprietari() {
  17610.         String pName = "org.openspcoop2.pdd.core.autenticazione.https.portaDelegata.checkSoggettiProprietari";
  17611.         if(this.isAutenticazioneHttpsPortaDelegataCheckSoggettiProprietari == null){
  17612.             try{  
  17613.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17614.                 if(value!=null){
  17615.                     value = value.trim();
  17616.                     this.isAutenticazioneHttpsPortaDelegataCheckSoggettiProprietari = Boolean.valueOf(value);
  17617.                 }
  17618.                 else {
  17619.                     this.logError("Proprieta' di openspcoop '"+pName+"' non definita; viene usato il default=true");
  17620.                     this.isAutenticazioneHttpsPortaDelegataCheckSoggettiProprietari = true;
  17621.                 }
  17622.             }catch(java.lang.Exception e) {
  17623.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"'; viene usato il default=true. Errore: "+e.getMessage(),e);
  17624.                 this.isAutenticazioneHttpsPortaDelegataCheckSoggettiProprietari = true;
  17625.             }
  17626.         }

  17627.         return this.isAutenticazioneHttpsPortaDelegataCheckSoggettiProprietari;
  17628.     }
  17629.    
  17630.     private WWWAuthenticateConfig getRealmAutenticazioneHttpsWWWAuthenticateConfig = null;
  17631.     private boolean getRealmAutenticazioneHttpsWWWAuthenticateConfig_read = false;
  17632.     public WWWAuthenticateConfig getRealmAutenticazioneHttpsWWWAuthenticateConfig() {
  17633.         if(this.getRealmAutenticazioneHttpsWWWAuthenticateConfig_read == false){
  17634.            
  17635.             String pNameAuth = "org.openspcoop2.pdd.core.autenticazione.https.authType";
  17636.             String authType = null;
  17637.             try{  
  17638.                 authType = this.reader.getValueConvertEnvProperties(pNameAuth);
  17639.                 if(authType!=null){
  17640.                     authType = authType.trim();
  17641.                 }
  17642.             }catch(java.lang.Exception e) {
  17643.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameAuth+"': "+e.getMessage(),e);
  17644.             }
  17645.            
  17646.             String pNameRealm = "org.openspcoop2.pdd.core.autenticazione.https.realm";
  17647.             String realm = null;
  17648.             try {
  17649.                 realm = this.reader.getValueConvertEnvProperties(pNameRealm);
  17650.                 if(realm!=null){
  17651.                     realm = realm.trim();
  17652.                 }
  17653.             }catch(java.lang.Exception e) {
  17654.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameRealm+"': "+e.getMessage(),e);
  17655.             }
  17656.            
  17657.             if(authType!=null && !"".equals(authType) && realm!=null && !"".equals(realm)) {
  17658.                 this.getRealmAutenticazioneHttpsWWWAuthenticateConfig = new WWWAuthenticateConfig();
  17659.                 this.getRealmAutenticazioneHttpsWWWAuthenticateConfig.setAuthType(authType);
  17660.                 this.getRealmAutenticazioneHttpsWWWAuthenticateConfig.setRealm(realm);
  17661.                
  17662.                 String pNameErrorDescription = "org.openspcoop2.pdd.core.autenticazione.https.error_description.notFound";
  17663.                 String error_description = null;
  17664.                 try {
  17665.                     error_description = this.reader.getValueConvertEnvProperties(pNameErrorDescription);
  17666.                     if(error_description!=null){
  17667.                         error_description = error_description.trim();
  17668.                         if(!"".equals(error_description)) {
  17669.                             this.getRealmAutenticazioneHttpsWWWAuthenticateConfig.setNotFound_error(WWWAuthenticateErrorCode.invalid_request.name());
  17670.                             this.getRealmAutenticazioneHttpsWWWAuthenticateConfig.setNotFound_error_description(error_description);
  17671.                         }
  17672.                     }
  17673.                 }catch(java.lang.Exception e) {
  17674.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameErrorDescription+"': "+e.getMessage(),e);
  17675.                 }
  17676.                
  17677.                 pNameErrorDescription = "org.openspcoop2.pdd.core.autenticazione.https.error_description.invalid";
  17678.                 error_description = null;
  17679.                 try {
  17680.                     error_description = this.reader.getValueConvertEnvProperties(pNameErrorDescription);
  17681.                     if(error_description!=null){
  17682.                         error_description = error_description.trim();
  17683.                         if(!"".equals(error_description)) {
  17684.                             this.getRealmAutenticazioneHttpsWWWAuthenticateConfig.setInvalid_error(WWWAuthenticateErrorCode.invalid_request.name());
  17685.                             this.getRealmAutenticazioneHttpsWWWAuthenticateConfig.setInvalid_error_description(error_description);
  17686.                         }
  17687.                     }
  17688.                 }catch(java.lang.Exception e) {
  17689.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameErrorDescription+"': "+e.getMessage(),e);
  17690.                 }
  17691.             }
  17692.            
  17693.             this.getRealmAutenticazioneHttpsWWWAuthenticateConfig_read = true;
  17694.         }

  17695.         return this.getRealmAutenticazioneHttpsWWWAuthenticateConfig;
  17696.     }
  17697.    
  17698.     private Boolean isAutenticazionePrincipalPortaDelegataCheckSoggettiProprietari = null;
  17699.     public boolean isAutenticazionePrincipalPortaDelegataCheckSoggettiProprietari() {
  17700.         String pName = "org.openspcoop2.pdd.core.autenticazione.principal.portaDelegata.checkSoggettiProprietari";
  17701.         if(this.isAutenticazionePrincipalPortaDelegataCheckSoggettiProprietari == null){
  17702.             try{  
  17703.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17704.                 if(value!=null){
  17705.                     value = value.trim();
  17706.                     this.isAutenticazionePrincipalPortaDelegataCheckSoggettiProprietari = Boolean.valueOf(value);
  17707.                 }
  17708.                 else {
  17709.                     this.logError("Proprieta' di openspcoop '"+pName+"' non definita; viene usato il default=true");
  17710.                     this.isAutenticazionePrincipalPortaDelegataCheckSoggettiProprietari = true;
  17711.                 }
  17712.             }catch(java.lang.Exception e) {
  17713.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"'; viene usato il default=true. Errore: "+e.getMessage(),e);
  17714.                 this.isAutenticazionePrincipalPortaDelegataCheckSoggettiProprietari = true;
  17715.             }
  17716.         }

  17717.         return this.isAutenticazionePrincipalPortaDelegataCheckSoggettiProprietari;
  17718.     }
  17719.    
  17720.     private Map<TipoAutenticazionePrincipal, WWWAuthenticateConfig> getRealmAutenticazionePrincipalWWWAuthenticateConfig = new HashMap<TipoAutenticazionePrincipal, WWWAuthenticateConfig>();
  17721.     public WWWAuthenticateConfig getRealmAutenticazionePrincipalWWWAuthenticateConfig(TipoAutenticazionePrincipal principal) {
  17722.         if(!this.getRealmAutenticazionePrincipalWWWAuthenticateConfig.containsKey(principal)){
  17723.            
  17724.             String pNameAuth = "org.openspcoop2.pdd.core.autenticazione.principal."+principal.getValue()+".authType";
  17725.             String authType = null;
  17726.             try{  
  17727.                 authType = this.reader.getValueConvertEnvProperties(pNameAuth);
  17728.                 if(authType!=null){
  17729.                     authType = authType.trim();
  17730.                 }
  17731.             }catch(java.lang.Exception e) {
  17732.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameAuth+"': "+e.getMessage(),e);
  17733.             }
  17734.            
  17735.             String pNameRealm = "org.openspcoop2.pdd.core.autenticazione.principal."+principal.getValue()+".realm";
  17736.             String realm = null;
  17737.             try {
  17738.                 realm = this.reader.getValueConvertEnvProperties(pNameRealm);
  17739.                 if(realm!=null){
  17740.                     realm = realm.trim();
  17741.                 }
  17742.             }catch(java.lang.Exception e) {
  17743.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameRealm+"': "+e.getMessage(),e);
  17744.             }
  17745.            
  17746.             WWWAuthenticateConfig wwwConfig = null;
  17747.             if(authType!=null && !"".equals(authType) && realm!=null && !"".equals(realm)) {
  17748.                
  17749.                 wwwConfig = new WWWAuthenticateConfig();
  17750.                 wwwConfig.setAuthType(authType);
  17751.                 wwwConfig.setRealm(realm);
  17752.                
  17753.                 String pNameErrorDescription = "org.openspcoop2.pdd.core.autenticazione.principal."+principal.getValue()+".error_description.notFound";
  17754.                 String error_description = null;
  17755.                 try {
  17756.                     error_description = this.reader.getValueConvertEnvProperties(pNameErrorDescription);
  17757.                     if(error_description!=null){
  17758.                         error_description = error_description.trim();
  17759.                         if(!"".equals(error_description)) {
  17760.                             wwwConfig.setNotFound_error(WWWAuthenticateErrorCode.invalid_request.name());
  17761.                             wwwConfig.setNotFound_error_description(error_description);
  17762.                         }
  17763.                     }
  17764.                 }catch(java.lang.Exception e) {
  17765.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameErrorDescription+"': "+e.getMessage(),e);
  17766.                 }
  17767.                
  17768.                 pNameErrorDescription = "org.openspcoop2.pdd.core.autenticazione.principal."+principal.getValue()+".error_description.invalid";
  17769.                 error_description = null;
  17770.                 try {
  17771.                     error_description = this.reader.getValueConvertEnvProperties(pNameErrorDescription);
  17772.                     if(error_description!=null){
  17773.                         error_description = error_description.trim();
  17774.                         if(!"".equals(error_description)) {
  17775.                             wwwConfig.setInvalid_error(WWWAuthenticateErrorCode.invalid_request.name());
  17776.                             wwwConfig.setInvalid_error_description(error_description);
  17777.                         }
  17778.                     }
  17779.                 }catch(java.lang.Exception e) {
  17780.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameErrorDescription+"': "+e.getMessage(),e);
  17781.                 }
  17782.                
  17783.             }
  17784.            
  17785.             this.getRealmAutenticazionePrincipalWWWAuthenticateConfig.put(principal, wwwConfig);
  17786.         }

  17787.         return this.getRealmAutenticazionePrincipalWWWAuthenticateConfig.get(principal);
  17788.     }
  17789.    
  17790.     private Boolean isAutenticazioneTokenPortaDelegataCheckSoggettiProprietari = null;
  17791.     public boolean isAutenticazioneTokenPortaDelegataCheckSoggettiProprietari() {
  17792.         String pName = "org.openspcoop2.pdd.core.autenticazione.token.portaDelegata.checkSoggettiProprietari";
  17793.         if(this.isAutenticazioneTokenPortaDelegataCheckSoggettiProprietari == null){
  17794.             try{  
  17795.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17796.                 if(value!=null){
  17797.                     value = value.trim();
  17798.                     this.isAutenticazioneTokenPortaDelegataCheckSoggettiProprietari = Boolean.valueOf(value);
  17799.                 }
  17800.                 else {
  17801.                     this.logError("Proprieta' di openspcoop '"+pName+"' non definita; viene usato il default=true");
  17802.                     this.isAutenticazioneTokenPortaDelegataCheckSoggettiProprietari = true;
  17803.                 }
  17804.             }catch(java.lang.Exception e) {
  17805.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"'; viene usato il default=true. Errore: "+e.getMessage(),e);
  17806.                 this.isAutenticazioneTokenPortaDelegataCheckSoggettiProprietari = true;
  17807.             }
  17808.         }

  17809.         return this.isAutenticazioneTokenPortaDelegataCheckSoggettiProprietari;
  17810.     }
  17811.    
  17812.     /**
  17813.      * Restituisce l'elenco dei tipi di gestori di credenziali da utilizzare lato Porta Delegata
  17814.      *
  17815.      * @return Restituisce l'elenco dei tipi di gestori di credenziali da utilizzare lato Porta Delegata
  17816.      */
  17817.     private String[] tipoGestoreCredenzialiPD = null;
  17818.     private boolean tipoGestoreCredenzialiPDRead = false;
  17819.     public String[] getTipoGestoreCredenzialiPD() {
  17820.         if(this.tipoGestoreCredenzialiPDRead == false){
  17821.             try{  
  17822.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.pd.gestoriCredenziali");
  17823.                 if(value!=null){
  17824.                     value = value.trim();
  17825.                     String [] r = value.split(",");
  17826.                     this.tipoGestoreCredenzialiPD = r;
  17827.                 }
  17828.             }catch(java.lang.Exception e) {
  17829.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.services.pd.gestoriCredenziali': "+e.getMessage(),e);
  17830.                 this.tipoGestoreCredenzialiPD = null;
  17831.             }
  17832.             this.tipoGestoreCredenzialiPDRead = true;
  17833.         }

  17834.         return this.tipoGestoreCredenzialiPD;
  17835.     }
  17836.    
  17837.     /**
  17838.      * Restituisce l'elenco dei tipi di gestori di credenziali da utilizzare lato Porta Applicativa
  17839.      *
  17840.      * @return Restituisce l'elenco dei tipi di gestori di credenziali da utilizzare lato Porta Applicativa
  17841.      */
  17842.     private String[] tipoGestoreCredenzialiPA = null;
  17843.     private boolean tipoGestoreCredenzialiPARead = false;
  17844.     public String[] getTipoGestoreCredenzialiPA() {
  17845.         if(this.tipoGestoreCredenzialiPARead == false){
  17846.             try{  
  17847.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.pa.gestoriCredenziali");
  17848.                 if(value!=null){
  17849.                     value = value.trim();
  17850.                     String [] r = value.split(",");
  17851.                     this.tipoGestoreCredenzialiPA = r;
  17852.                 }
  17853.             }catch(java.lang.Exception e) {
  17854.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.services.pa.gestoriCredenziali': "+e.getMessage(),e);
  17855.                 this.tipoGestoreCredenzialiPA = null;
  17856.             }
  17857.             this.tipoGestoreCredenzialiPARead = true;
  17858.         }

  17859.         return this.tipoGestoreCredenzialiPA;
  17860.     }
  17861.    
  17862.     /**
  17863.      * Restituisce l'elenco dei tipi di gestori di credenziali da utilizzare sul servizio di IntegrationManager
  17864.      *
  17865.      * @return Restituisce l'elenco dei tipi di gestori di credenziali da utilizzare sul servizio di IntegrationManager
  17866.      */
  17867.     private String[] tipoGestoreCredenzialiIM = null;
  17868.     private boolean tipoGestoreCredenzialiIMRead = false;
  17869.     public String[] getTipoGestoreCredenzialiIM() {
  17870.         if(this.tipoGestoreCredenzialiIMRead == false){
  17871.             try{  
  17872.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.integrationManager.gestoriCredenziali");
  17873.                 if(value!=null){
  17874.                     value = value.trim();
  17875.                     String [] r = value.split(",");
  17876.                     this.tipoGestoreCredenzialiIM = r;
  17877.                 }
  17878.             }catch(java.lang.Exception e) {
  17879.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.services.integrationManager.gestoriCredenziali': "+e.getMessage(),e);
  17880.                 this.tipoGestoreCredenzialiIM = null;
  17881.             }
  17882.             this.tipoGestoreCredenzialiIMRead = true;
  17883.         }

  17884.         return this.tipoGestoreCredenzialiIM;
  17885.     }
  17886.    
  17887.    
  17888.    
  17889.    
  17890.    
  17891.    




  17892.     /* ----------- Accesso Registro Servizi --------------------- */
  17893.     /**
  17894.      * Indicazione se la porta di dominio deve processare gli accordi di servizio, i servizi e i fruitori ancora in stato di bozza
  17895.      *  
  17896.      * @return Indicazione se la porta di dominio deve processare gli accordi di servizio, i servizi e i fruitori ancora in stato di bozza
  17897.      *
  17898.      */
  17899.     private Boolean isReadObjectStatoBozza = null;
  17900.     public boolean isReadObjectStatoBozza(){

  17901.         if(this.isReadObjectStatoBozza==null){
  17902.             try{  
  17903.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.registroServizi.readObjectStatoBozza");

  17904.                 if (value != null){
  17905.                     value = value.trim();
  17906.                     this.isReadObjectStatoBozza = Boolean.parseBoolean(value);
  17907.                 }else{
  17908.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.registroServizi.readObjectStatoBozza' non impostata, viene utilizzato il default=true");
  17909.                     this.isReadObjectStatoBozza = false;
  17910.                 }

  17911.             }catch(java.lang.Exception e) {
  17912.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.registroServizi.readObjectStatoBozza' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  17913.                 this.isReadObjectStatoBozza = false;
  17914.             }
  17915.         }

  17916.         return this.isReadObjectStatoBozza;
  17917.     }
  17918.    
  17919.    
  17920.    
  17921.    
  17922.    
  17923.    
  17924.     /* ----------- Tracce --------------------- */
  17925.     /**
  17926.      * Indicazione se la porta di dominio deve generare un errore in caso di tracciamento non riuscito
  17927.      *  
  17928.      * @return Indicazione se la porta di dominio deve generare un errore in caso di tracciamento non riuscito
  17929.      *
  17930.      */
  17931.     private Boolean isTracciaturaFallita_BloccaCooperazioneInCorso = null;
  17932.     public boolean isTracciaturaFallita_BloccaCooperazioneInCorso(){

  17933.         if(this.isTracciaturaFallita_BloccaCooperazioneInCorso==null){
  17934.             try{  
  17935.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.logger.tracciamento.registrazioneFallita.bloccaCooperazioneInCorso");

  17936.                 if (value != null){
  17937.                     value = value.trim();
  17938.                     this.isTracciaturaFallita_BloccaCooperazioneInCorso = Boolean.parseBoolean(value);
  17939.                 }else{
  17940.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.tracciamento.registrazioneFallita.bloccaCooperazioneInCorso' non impostata, viene utilizzato il default=true");
  17941.                     this.isTracciaturaFallita_BloccaCooperazioneInCorso = true;
  17942.                 }

  17943.             }catch(java.lang.Exception e) {
  17944.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.tracciamento.registrazioneFallita.bloccaCooperazioneInCorso' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  17945.                 this.isTracciaturaFallita_BloccaCooperazioneInCorso = true;
  17946.             }
  17947.         }

  17948.         return this.isTracciaturaFallita_BloccaCooperazioneInCorso;
  17949.     }
  17950.     /**
  17951.      * Indica se in caso di rilevamento di un errore di tracciatura devono essere bloccati tutti i servizi esposti da GovWay, in modo da non permettere alla PdD di gestire ulteriori richieste fino ad un intervento sistemistico.
  17952.      *  
  17953.      * @return Indica se in caso di rilevamento di un errore di tracciatura devono essere bloccati tutti i servizi esposti da GovWay, in modo da non permettere alla PdD di gestire ulteriori richieste fino ad un intervento sistemistico.
  17954.      *
  17955.      */
  17956.     private Boolean isTracciaturaFallita_BloccoServiziPdD = null;
  17957.     public boolean isTracciaturaFallita_BloccoServiziPdD(){

  17958.         if(this.isTracciaturaFallita_BloccoServiziPdD==null){
  17959.             try{  
  17960.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.logger.tracciamento.registrazione.bloccoServiziPdD");

  17961.                 if (value != null){
  17962.                     value = value.trim();
  17963.                     this.isTracciaturaFallita_BloccoServiziPdD = Boolean.parseBoolean(value);
  17964.                 }else{
  17965.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.tracciamento.registrazione.bloccoServiziPdD' non impostata, viene utilizzato il default=false");
  17966.                     this.isTracciaturaFallita_BloccoServiziPdD = false;
  17967.                 }

  17968.             }catch(java.lang.Exception e) {
  17969.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.tracciamento.registrazione.bloccoServiziPdD' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  17970.                 this.isTracciaturaFallita_BloccoServiziPdD = false;
  17971.             }
  17972.         }

  17973.         return this.isTracciaturaFallita_BloccoServiziPdD;
  17974.     }
  17975.    
  17976.    
  17977.    
  17978.    
  17979.    
  17980.    
  17981.    
  17982.    
  17983.    
  17984.    
  17985.    
  17986.     /* ----------- MsgDiagnostici --------------------- */
  17987.    
  17988.     private Boolean isRegistrazioneDiagnosticaFile_intestazione_formatValues = null;
  17989.     public boolean isRegistrazioneDiagnosticaFile_intestazione_formatValues(){

  17990.         if(this.isRegistrazioneDiagnosticaFile_intestazione_formatValues==null){
  17991.             try{  
  17992.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.logger.msgDiagnostici.file.header.formatValues");

  17993.                 if (value != null){
  17994.                     value = value.trim();
  17995.                     this.isRegistrazioneDiagnosticaFile_intestazione_formatValues = Boolean.parseBoolean(value);
  17996.                 }else{
  17997.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.msgDiagnostici.file.header.formatValues' non impostata, viene utilizzato il default=true");
  17998.                     this.isRegistrazioneDiagnosticaFile_intestazione_formatValues = true;
  17999.                 }

  18000.             }catch(java.lang.Exception e) {
  18001.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.msgDiagnostici.file.header.formatValues' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  18002.                 this.isRegistrazioneDiagnosticaFile_intestazione_formatValues = true;
  18003.             }
  18004.         }

  18005.         return this.isRegistrazioneDiagnosticaFile_intestazione_formatValues;
  18006.     }
  18007.    
  18008.     /**
  18009.      * Indica se in caso di rilevamento di un errore di emissione di un messaggio diagnostico (es. salvataggio su database non riuscito) devono essere bloccati tutti i servizi esposti da GovWay, in modo da non permettere alla PdD di gestire ulteriori richieste fino ad un intervento sistemistico.
  18010.      *  
  18011.      * @return Indica se in caso di rilevamento di un errore di emissione di un messaggio diagnostico (es. salvataggio su database non riuscito) devono essere bloccati tutti i servizi esposti da GovWay, in modo da non permettere alla PdD di gestire ulteriori richieste fino ad un intervento sistemistico.
  18012.      *
  18013.      */
  18014.     private Boolean isRegistrazioneDiagnosticaFallita_BloccoServiziPdD = null;
  18015.     public boolean isRegistrazioneDiagnosticaFallita_BloccoServiziPdD(){

  18016.         if(this.isRegistrazioneDiagnosticaFallita_BloccoServiziPdD==null){
  18017.             try{  
  18018.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.logger.msgDiagnostici.emissioneFallita.bloccoServiziPdD");

  18019.                 if (value != null){
  18020.                     value = value.trim();
  18021.                     this.isRegistrazioneDiagnosticaFallita_BloccoServiziPdD = Boolean.parseBoolean(value);
  18022.                 }else{
  18023.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.msgDiagnostici.emissioneFallita.bloccoServiziPdD' non impostata, viene utilizzato il default=false");
  18024.                     this.isRegistrazioneDiagnosticaFallita_BloccoServiziPdD = false;
  18025.                 }

  18026.             }catch(java.lang.Exception e) {
  18027.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.msgDiagnostici.emissioneFallita.bloccoServiziPdD' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  18028.                 this.isRegistrazioneDiagnosticaFallita_BloccoServiziPdD = false;
  18029.             }
  18030.         }

  18031.         return this.isRegistrazioneDiagnosticaFallita_BloccoServiziPdD;
  18032.     }
  18033.    
  18034.     private Boolean isLoggerSaajDisabilitato = null;
  18035.     public boolean isLoggerSaajDisabilitato(){

  18036.         if(this.isLoggerSaajDisabilitato==null){
  18037.             try{  
  18038.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.logger.com.sun.xml.messaging.saaj.disabled");

  18039.                 if (value != null){
  18040.                     value = value.trim();
  18041.                     this.isLoggerSaajDisabilitato = Boolean.parseBoolean(value);
  18042.                 }else{
  18043.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.com.sun.xml.messaging.saaj.disabled' non impostata, viene utilizzato il default=true");
  18044.                     this.isLoggerSaajDisabilitato = true;
  18045.                 }

  18046.             }catch(java.lang.Exception e) {
  18047.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.com.sun.xml.messaging.saaj.disabled' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  18048.                 this.isLoggerSaajDisabilitato = true;
  18049.             }
  18050.         }

  18051.         return this.isLoggerSaajDisabilitato;
  18052.     }
  18053.    
  18054.    
  18055.    
  18056.    
  18057.    
  18058.    
  18059.    
  18060.    
  18061.     /* ----------- Dump --------------------- */
  18062.    
  18063.     private String getDumpBufferImpl = null;
  18064.     private Boolean getDumpBufferImplRead = null;
  18065.     public String getDumpBufferImpl() {
  18066.         if(this.getDumpBufferImplRead==null){
  18067.             String pName = "org.openspcoop2.pdd.logger.dump.buffer.impl";
  18068.            
  18069.             try{
  18070.                 String name = null;
  18071.                 name = this.reader.getValueConvertEnvProperties(pName);
  18072.                 if(name!=null){
  18073.                     name = name.trim();
  18074.                     this.getDumpBufferImpl = name;
  18075.                 }
  18076.                
  18077.                 this.getDumpBufferImplRead = true;
  18078.                
  18079.             } catch(java.lang.Exception e) {
  18080.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  18081.             }    
  18082.         }

  18083.         return this.getDumpBufferImpl;
  18084.     }
  18085.    
  18086.     /**
  18087.      * Indicazione se la porta di dominio deve registrare tutti gli attachments (in caso di dump abilitato) o solo quelli "visualizzabili"
  18088.      *  
  18089.      * @return Indicazione se la porta di dominio deve registrare tutti gli attachments (in caso di dump abilitato) o solo quelli "visualizzabili"
  18090.      *
  18091.      */
  18092.     private Boolean isDumpAllAttachments = null;
  18093.     public boolean isDumpAllAttachments(){

  18094.         if(this.isDumpAllAttachments==null){
  18095.             try{  
  18096.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.logger.dump.allAttachments");

  18097.                 if (value != null){
  18098.                     value = value.trim();
  18099.                     this.isDumpAllAttachments = Boolean.parseBoolean(value);
  18100.                 }else{
  18101.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.dump.allAttachments' non impostata, viene utilizzato il default=true");
  18102.                     this.isDumpAllAttachments = true;
  18103.                 }

  18104.             }catch(java.lang.Exception e) {
  18105.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.registroServizi.readObjectStatoBozza' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  18106.                 this.isDumpAllAttachments = true;
  18107.             }
  18108.         }

  18109.         return this.isDumpAllAttachments;
  18110.     }
  18111.    
  18112.     /**
  18113.      * Indica se in caso di errore di dump applicativo (es. salvataggio contenuto non riuscito) deve essere bloccata la gestione del messaggio e generato un errore al client
  18114.      *  
  18115.      * @return Indica se in caso di errore di dump applicativo (es. salvataggio contenuto non riuscito) deve essere bloccata la gestione del messaggio e generato un errore al client
  18116.      *
  18117.      */
  18118.     private Boolean isDumpFallitoBloccaCooperazioneInCorso = null;
  18119.     public boolean isDumpFallitoBloccaCooperazioneInCorso(){

  18120.         if(this.isDumpFallitoBloccaCooperazioneInCorso==null){
  18121.             try{  
  18122.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.logger.dump.registrazioneFallita.bloccaCooperazioneInCorso");

  18123.                 if (value != null){
  18124.                     value = value.trim();
  18125.                     this.isDumpFallitoBloccaCooperazioneInCorso = Boolean.parseBoolean(value);
  18126.                 }else{
  18127.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.dump.registrazioneFallita.bloccaCooperazioneInCorso' non impostata, viene utilizzato il default=false");
  18128.                     this.isDumpFallitoBloccaCooperazioneInCorso = false;
  18129.                 }

  18130.             }catch(java.lang.Exception e) {
  18131.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.dump.registrazioneFallita.bloccaCooperazioneInCorso' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  18132.                 this.isDumpFallitoBloccaCooperazioneInCorso = false;
  18133.             }
  18134.         }

  18135.         return this.isDumpFallitoBloccaCooperazioneInCorso;
  18136.     }
  18137.     /**
  18138.      * Indica se in caso di rilevamento di un errore di tracciatura devono essere bloccati tutti i servizi esposti da GovWay, in modo da non permettere alla PdD di gestire ulteriori richieste fino ad un intervento sistemistico.
  18139.      *  
  18140.      * @return Indica se in caso di rilevamento di un errore di tracciatura devono essere bloccati tutti i servizi esposti da GovWay, in modo da non permettere alla PdD di gestire ulteriori richieste fino ad un intervento sistemistico.
  18141.      *
  18142.      */
  18143.     private Boolean isDumpFallitoBloccoServiziPdD = null;
  18144.     public boolean isDumpFallitoBloccoServiziPdD(){

  18145.         if(this.isDumpFallitoBloccoServiziPdD==null){
  18146.             try{  
  18147.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.logger.dump.registrazione.bloccoServiziPdD");

  18148.                 if (value != null){
  18149.                     value = value.trim();
  18150.                     this.isDumpFallitoBloccoServiziPdD = Boolean.parseBoolean(value);
  18151.                 }else{
  18152.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.dump.registrazione.bloccoServiziPdD' non impostata, viene utilizzato il default=false");
  18153.                     this.isDumpFallitoBloccoServiziPdD = false;
  18154.                 }

  18155.             }catch(java.lang.Exception e) {
  18156.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.dump.registrazione.bloccoServiziPdD' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  18157.                 this.isDumpFallitoBloccoServiziPdD = false;
  18158.             }
  18159.         }

  18160.         return this.isDumpFallitoBloccoServiziPdD;
  18161.     }

  18162.     private List<String> getDumpHeaderWhiteList = null;
  18163.     public List<String> getDumpHeaderWhiteList(){

  18164.         if(this.getDumpHeaderWhiteList==null){
  18165.             String pName = "org.openspcoop2.pdd.logger.dump.header.whiteList";
  18166.             try{
  18167.                 this.getDumpHeaderWhiteList = new ArrayList<>();
  18168.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18169.                 initDumpList(this.getDumpHeaderWhiteList, tmp);
  18170.             }catch(java.lang.Exception e) {
  18171.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18172.             }
  18173.         }

  18174.         return this.getDumpHeaderWhiteList;
  18175.     }
  18176.    
  18177.     private List<String> getDumpHeaderBlackList = null;
  18178.     public List<String> getDumpHeaderBlackList(){

  18179.         if(this.getDumpHeaderBlackList==null){
  18180.             String pName = "org.openspcoop2.pdd.logger.dump.header.blackList";
  18181.             try{
  18182.                 this.getDumpHeaderBlackList = new ArrayList<>();
  18183.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18184.                 initDumpList(this.getDumpHeaderBlackList, tmp);
  18185.             }catch(java.lang.Exception e) {
  18186.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18187.             }
  18188.         }

  18189.         return this.getDumpHeaderBlackList;
  18190.     }
  18191.    
  18192.     private List<String> getDumpHeaderErogazioniWhiteList = null;
  18193.     public List<String> getDumpHeaderErogazioniWhiteList(){

  18194.         if(this.getDumpHeaderErogazioniWhiteList==null){
  18195.             String pName = "org.openspcoop2.pdd.logger.dump.header.erogazioni.whiteList";
  18196.             try{
  18197.                 this.getDumpHeaderErogazioniWhiteList = new ArrayList<>();
  18198.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18199.                 initDumpList(this.getDumpHeaderErogazioniWhiteList, tmp);
  18200.             }catch(java.lang.Exception e) {
  18201.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18202.             }
  18203.         }

  18204.         return this.getDumpHeaderErogazioniWhiteList;
  18205.     }
  18206.    
  18207.     private List<String> getDumpHeaderErogazioniBlackList = null;
  18208.     public List<String> getDumpHeaderErogazioniBlackList(){

  18209.         if(this.getDumpHeaderErogazioniBlackList==null){
  18210.             String pName = "org.openspcoop2.pdd.logger.dump.header.erogazioni.blackList";
  18211.             try{
  18212.                 this.getDumpHeaderErogazioniBlackList = new ArrayList<>();
  18213.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18214.                 initDumpList(this.getDumpHeaderErogazioniBlackList, tmp);
  18215.             }catch(java.lang.Exception e) {
  18216.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18217.             }
  18218.         }

  18219.         return this.getDumpHeaderErogazioniBlackList;
  18220.     }
  18221.    
  18222.     private List<String> getDumpHeaderFruizioniWhiteList = null;
  18223.     public List<String> getDumpHeaderFruizioniWhiteList(){

  18224.         if(this.getDumpHeaderFruizioniWhiteList==null){
  18225.             String pName = "org.openspcoop2.pdd.logger.dump.header.fruizioni.whiteList";
  18226.             try{
  18227.                 this.getDumpHeaderFruizioniWhiteList = new ArrayList<>();
  18228.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18229.                 initDumpList(this.getDumpHeaderFruizioniWhiteList, tmp);
  18230.             }catch(java.lang.Exception e) {
  18231.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18232.             }
  18233.         }

  18234.         return this.getDumpHeaderFruizioniWhiteList;
  18235.     }
  18236.    
  18237.     private List<String> getDumpHeaderFruizioniBlackList = null;
  18238.     public List<String> getDumpHeaderFruizioniBlackList(){

  18239.         if(this.getDumpHeaderFruizioniBlackList==null){
  18240.             String pName = "org.openspcoop2.pdd.logger.dump.header.fruizioni.blackList";
  18241.             try{
  18242.                 this.getDumpHeaderFruizioniBlackList = new ArrayList<>();
  18243.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18244.                 initDumpList(this.getDumpHeaderFruizioniBlackList, tmp);
  18245.             }catch(java.lang.Exception e) {
  18246.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18247.             }
  18248.         }

  18249.         return this.getDumpHeaderFruizioniBlackList;
  18250.     }
  18251.    
  18252.     private List<String> getDumpHeaderErogazioniRichiestaIngressoWhiteList = null;
  18253.     public List<String> getDumpHeaderErogazioniRichiestaIngressoWhiteList(){

  18254.         if(this.getDumpHeaderErogazioniRichiestaIngressoWhiteList==null){
  18255.             String pName = "org.openspcoop2.pdd.logger.dump.header.erogazioni.richiesta-ingresso.whiteList";
  18256.             try{
  18257.                 this.getDumpHeaderErogazioniRichiestaIngressoWhiteList = new ArrayList<>();
  18258.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18259.                 initDumpList(this.getDumpHeaderErogazioniRichiestaIngressoWhiteList, tmp);
  18260.             }catch(java.lang.Exception e) {
  18261.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18262.             }
  18263.         }

  18264.         return this.getDumpHeaderErogazioniRichiestaIngressoWhiteList;
  18265.     }
  18266.    
  18267.     private List<String> getDumpHeaderErogazioniRichiestaIngressoBlackList = null;
  18268.     public List<String> getDumpHeaderErogazioniRichiestaIngressoBlackList(){

  18269.         if(this.getDumpHeaderErogazioniRichiestaIngressoBlackList==null){
  18270.             String pName = "org.openspcoop2.pdd.logger.dump.header.erogazioni.richiesta-ingresso.blackList";
  18271.             try{
  18272.                 this.getDumpHeaderErogazioniRichiestaIngressoBlackList = new ArrayList<>();
  18273.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18274.                 initDumpList(this.getDumpHeaderErogazioniRichiestaIngressoBlackList, tmp);
  18275.             }catch(java.lang.Exception e) {
  18276.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18277.             }
  18278.         }

  18279.         return this.getDumpHeaderErogazioniRichiestaIngressoBlackList;
  18280.     }
  18281.    
  18282.     private List<String> getDumpHeaderErogazioniRichiestaUscitaWhiteList = null;
  18283.     public List<String> getDumpHeaderErogazioniRichiestaUscitaWhiteList(){

  18284.         if(this.getDumpHeaderErogazioniRichiestaUscitaWhiteList==null){
  18285.             String pName = "org.openspcoop2.pdd.logger.dump.header.erogazioni.richiesta-uscita.whiteList";
  18286.             try{
  18287.                 this.getDumpHeaderErogazioniRichiestaUscitaWhiteList = new ArrayList<>();
  18288.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18289.                 initDumpList(this.getDumpHeaderErogazioniRichiestaUscitaWhiteList, tmp);
  18290.             }catch(java.lang.Exception e) {
  18291.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18292.             }
  18293.         }

  18294.         return this.getDumpHeaderErogazioniRichiestaUscitaWhiteList;
  18295.     }
  18296.    
  18297.     private List<String> getDumpHeaderErogazioniRichiestaUscitaBlackList = null;
  18298.     public List<String> getDumpHeaderErogazioniRichiestaUscitaBlackList(){

  18299.         if(this.getDumpHeaderErogazioniRichiestaUscitaBlackList==null){
  18300.             String pName = "org.openspcoop2.pdd.logger.dump.header.erogazioni.richiesta-uscita.blackList";
  18301.             try{
  18302.                 this.getDumpHeaderErogazioniRichiestaUscitaBlackList = new ArrayList<>();
  18303.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18304.                 initDumpList(this.getDumpHeaderErogazioniRichiestaUscitaBlackList, tmp);
  18305.             }catch(java.lang.Exception e) {
  18306.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18307.             }
  18308.         }

  18309.         return this.getDumpHeaderErogazioniRichiestaUscitaBlackList;
  18310.     }
  18311.    
  18312.     private List<String> getDumpHeaderErogazioniRispostaIngressoWhiteList = null;
  18313.     public List<String> getDumpHeaderErogazioniRispostaIngressoWhiteList(){

  18314.         if(this.getDumpHeaderErogazioniRispostaIngressoWhiteList==null){
  18315.             String pName = "org.openspcoop2.pdd.logger.dump.header.erogazioni.risposta-ingresso.whiteList";
  18316.             try{
  18317.                 this.getDumpHeaderErogazioniRispostaIngressoWhiteList = new ArrayList<>();
  18318.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18319.                 initDumpList(this.getDumpHeaderErogazioniRispostaIngressoWhiteList, tmp);
  18320.             }catch(java.lang.Exception e) {
  18321.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18322.             }
  18323.         }

  18324.         return this.getDumpHeaderErogazioniRispostaIngressoWhiteList;
  18325.     }
  18326.    
  18327.     private List<String> getDumpHeaderErogazioniRispostaIngressoBlackList = null;
  18328.     public List<String> getDumpHeaderErogazioniRispostaIngressoBlackList(){

  18329.         if(this.getDumpHeaderErogazioniRispostaIngressoBlackList==null){
  18330.             String pName = "org.openspcoop2.pdd.logger.dump.header.erogazioni.risposta-ingresso.blackList";
  18331.             try{
  18332.                 this.getDumpHeaderErogazioniRispostaIngressoBlackList = new ArrayList<>();
  18333.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18334.                 initDumpList(this.getDumpHeaderErogazioniRispostaIngressoBlackList, tmp);
  18335.             }catch(java.lang.Exception e) {
  18336.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18337.             }
  18338.         }

  18339.         return this.getDumpHeaderErogazioniRispostaIngressoBlackList;
  18340.     }
  18341.    
  18342.     private List<String> getDumpHeaderErogazioniRispostaUscitaWhiteList = null;
  18343.     public List<String> getDumpHeaderErogazioniRispostaUscitaWhiteList(){

  18344.         if(this.getDumpHeaderErogazioniRispostaUscitaWhiteList==null){
  18345.             String pName = "org.openspcoop2.pdd.logger.dump.header.erogazioni.risposta-uscita.whiteList";
  18346.             try{
  18347.                 this.getDumpHeaderErogazioniRispostaUscitaWhiteList = new ArrayList<>();
  18348.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18349.                 initDumpList(this.getDumpHeaderErogazioniRispostaUscitaWhiteList, tmp);
  18350.             }catch(java.lang.Exception e) {
  18351.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18352.             }
  18353.         }

  18354.         return this.getDumpHeaderErogazioniRispostaUscitaWhiteList;
  18355.     }
  18356.    
  18357.     private List<String> getDumpHeaderErogazioniRispostaUscitaBlackList = null;
  18358.     public List<String> getDumpHeaderErogazioniRispostaUscitaBlackList(){

  18359.         if(this.getDumpHeaderErogazioniRispostaUscitaBlackList==null){
  18360.             String pName = "org.openspcoop2.pdd.logger.dump.header.erogazioni.risposta-uscita.blackList";
  18361.             try{
  18362.                 this.getDumpHeaderErogazioniRispostaUscitaBlackList = new ArrayList<>();
  18363.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18364.                 initDumpList(this.getDumpHeaderErogazioniRispostaUscitaBlackList, tmp);
  18365.             }catch(java.lang.Exception e) {
  18366.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18367.             }
  18368.         }

  18369.         return this.getDumpHeaderErogazioniRispostaUscitaBlackList;
  18370.     }
  18371.    
  18372.     private List<String> getDumpHeaderFruizioniRichiestaIngressoWhiteList = null;
  18373.     public List<String> getDumpHeaderFruizioniRichiestaIngressoWhiteList(){

  18374.         if(this.getDumpHeaderFruizioniRichiestaIngressoWhiteList==null){
  18375.             String pName = "org.openspcoop2.pdd.logger.dump.header.fruizioni.richiesta-ingresso.whiteList";
  18376.             try{
  18377.                 this.getDumpHeaderFruizioniRichiestaIngressoWhiteList = new ArrayList<>();
  18378.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18379.                 initDumpList(this.getDumpHeaderFruizioniRichiestaIngressoWhiteList, tmp);
  18380.             }catch(java.lang.Exception e) {
  18381.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18382.             }
  18383.         }

  18384.         return this.getDumpHeaderFruizioniRichiestaIngressoWhiteList;
  18385.     }
  18386.    
  18387.     private List<String> getDumpHeaderFruizioniRichiestaIngressoBlackList = null;
  18388.     public List<String> getDumpHeaderFruizioniRichiestaIngressoBlackList(){

  18389.         if(this.getDumpHeaderFruizioniRichiestaIngressoBlackList==null){
  18390.             String pName = "org.openspcoop2.pdd.logger.dump.header.fruizioni.richiesta-ingresso.blackList";
  18391.             try{
  18392.                 this.getDumpHeaderFruizioniRichiestaIngressoBlackList = new ArrayList<>();
  18393.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18394.                 initDumpList(this.getDumpHeaderFruizioniRichiestaIngressoBlackList, tmp);
  18395.             }catch(java.lang.Exception e) {
  18396.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18397.             }
  18398.         }

  18399.         return this.getDumpHeaderFruizioniRichiestaIngressoBlackList;
  18400.     }
  18401.    
  18402.     private List<String> getDumpHeaderFruizioniRichiestaUscitaWhiteList = null;
  18403.     public List<String> getDumpHeaderFruizioniRichiestaUscitaWhiteList(){

  18404.         if(this.getDumpHeaderFruizioniRichiestaUscitaWhiteList==null){
  18405.             String pName = "org.openspcoop2.pdd.logger.dump.header.fruizioni.richiesta-uscita.whiteList";
  18406.             try{
  18407.                 this.getDumpHeaderFruizioniRichiestaUscitaWhiteList = new ArrayList<>();
  18408.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18409.                 initDumpList(this.getDumpHeaderFruizioniRichiestaUscitaWhiteList, tmp);
  18410.             }catch(java.lang.Exception e) {
  18411.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18412.             }
  18413.         }

  18414.         return this.getDumpHeaderFruizioniRichiestaUscitaWhiteList;
  18415.     }
  18416.    
  18417.     private List<String> getDumpHeaderFruizioniRichiestaUscitaBlackList = null;
  18418.     public List<String> getDumpHeaderFruizioniRichiestaUscitaBlackList(){

  18419.         if(this.getDumpHeaderFruizioniRichiestaUscitaBlackList==null){
  18420.             String pName = "org.openspcoop2.pdd.logger.dump.header.fruizioni.richiesta-uscita.blackList";
  18421.             try{
  18422.                 this.getDumpHeaderFruizioniRichiestaUscitaBlackList = new ArrayList<>();
  18423.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18424.                 initDumpList(this.getDumpHeaderFruizioniRichiestaUscitaBlackList, tmp);
  18425.             }catch(java.lang.Exception e) {
  18426.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18427.             }
  18428.         }

  18429.         return this.getDumpHeaderFruizioniRichiestaUscitaBlackList;
  18430.     }
  18431.    
  18432.     private List<String> getDumpHeaderFruizioniRispostaIngressoWhiteList = null;
  18433.     public List<String> getDumpHeaderFruizioniRispostaIngressoWhiteList(){

  18434.         if(this.getDumpHeaderFruizioniRispostaIngressoWhiteList==null){
  18435.             String pName = "org.openspcoop2.pdd.logger.dump.header.fruizioni.risposta-ingresso.whiteList";
  18436.             try{
  18437.                 this.getDumpHeaderFruizioniRispostaIngressoWhiteList = new ArrayList<>();
  18438.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18439.                 initDumpList(this.getDumpHeaderFruizioniRispostaIngressoWhiteList, tmp);
  18440.             }catch(java.lang.Exception e) {
  18441.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18442.             }
  18443.         }

  18444.         return this.getDumpHeaderFruizioniRispostaIngressoWhiteList;
  18445.     }
  18446.    
  18447.     private List<String> getDumpHeaderFruizioniRispostaIngressoBlackList = null;
  18448.     public List<String> getDumpHeaderFruizioniRispostaIngressoBlackList(){

  18449.         if(this.getDumpHeaderFruizioniRispostaIngressoBlackList==null){
  18450.             String pName = "org.openspcoop2.pdd.logger.dump.header.fruizioni.risposta-ingresso.blackList";
  18451.             try{
  18452.                 this.getDumpHeaderFruizioniRispostaIngressoBlackList = new ArrayList<>();
  18453.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18454.                 initDumpList(this.getDumpHeaderFruizioniRispostaIngressoBlackList, tmp);
  18455.             }catch(java.lang.Exception e) {
  18456.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18457.             }
  18458.         }

  18459.         return this.getDumpHeaderFruizioniRispostaIngressoBlackList;
  18460.     }
  18461.    
  18462.     private List<String> getDumpHeaderFruizioniRispostaUscitaWhiteList = null;
  18463.     public List<String> getDumpHeaderFruizioniRispostaUscitaWhiteList(){

  18464.         if(this.getDumpHeaderFruizioniRispostaUscitaWhiteList==null){
  18465.             String pName = "org.openspcoop2.pdd.logger.dump.header.fruizioni.risposta-uscita.whiteList";
  18466.             try{
  18467.                 this.getDumpHeaderFruizioniRispostaUscitaWhiteList = new ArrayList<>();
  18468.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18469.                 initDumpList(this.getDumpHeaderFruizioniRispostaUscitaWhiteList, tmp);
  18470.             }catch(java.lang.Exception e) {
  18471.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18472.             }
  18473.         }

  18474.         return this.getDumpHeaderFruizioniRispostaUscitaWhiteList;
  18475.     }
  18476.    
  18477.     private List<String> getDumpHeaderFruizioniRispostaUscitaBlackList = null;
  18478.     public List<String> getDumpHeaderFruizioniRispostaUscitaBlackList(){

  18479.         if(this.getDumpHeaderFruizioniRispostaUscitaBlackList==null){
  18480.             String pName = "org.openspcoop2.pdd.logger.dump.header.fruizioni.risposta-uscita.blackList";
  18481.             try{
  18482.                 this.getDumpHeaderFruizioniRispostaUscitaBlackList = new ArrayList<>();
  18483.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18484.                 initDumpList(this.getDumpHeaderFruizioniRispostaUscitaBlackList, tmp);
  18485.             }catch(java.lang.Exception e) {
  18486.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18487.             }
  18488.         }

  18489.         return this.getDumpHeaderFruizioniRispostaUscitaBlackList;
  18490.     }
  18491.    
  18492.     private void initDumpList(List<String> list, String tmp) {
  18493.         if(tmp!=null && !"".equals(tmp.trim())) {
  18494.             tmp = tmp.trim();
  18495.             if(tmp.contains(",")) {
  18496.                 String [] split = tmp.split(",");
  18497.                 initDumpList(list, split);
  18498.             }
  18499.             else {
  18500.                 list.add(tmp);
  18501.             }
  18502.         }
  18503.     }
  18504.     private void initDumpList(List<String> list, String [] split) {
  18505.         if(split!=null && split.length>0) {
  18506.             for (String s : split) {
  18507.                 if(s!=null) {
  18508.                     s = s.trim();
  18509.                     if(!"".equals(s)) {
  18510.                         list.add(s);
  18511.                     }
  18512.                 }
  18513.             }
  18514.         }
  18515.     }
  18516.    
  18517.    
  18518.     private Boolean isDumpEmitDiagnostic = null;
  18519.     public boolean isDumpEmitDiagnostic(){

  18520.         if(this.isDumpEmitDiagnostic==null){
  18521.             String pName = "org.openspcoop2.pdd.logger.dump.emitDiagnostic";
  18522.             try{  
  18523.                 String value = this.reader.getValueConvertEnvProperties(pName);

  18524.                 if (value != null){
  18525.                     value = value.trim();
  18526.                     this.isDumpEmitDiagnostic = Boolean.parseBoolean(value);
  18527.                 }else{
  18528.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  18529.                     this.isDumpEmitDiagnostic = true;
  18530.                 }

  18531.             }catch(java.lang.Exception e) {
  18532.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  18533.                 this.isDumpEmitDiagnostic = true;
  18534.             }
  18535.         }

  18536.         return this.isDumpEmitDiagnostic;
  18537.     }
  18538.    
  18539.    
  18540.     /* ----------- Dump (Binario) --------------------- */
  18541.    
  18542.     private Boolean isDumpBinarioRegistrazioneDatabase = null;
  18543.     public boolean isDumpBinarioRegistrazioneDatabase(){

  18544.         if(this.isDumpBinarioRegistrazioneDatabase==null){
  18545.             try{  
  18546.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.logger.dumpBinario.registrazioneDatabase");

  18547.                 if (value != null){
  18548.                     value = value.trim();
  18549.                     this.isDumpBinarioRegistrazioneDatabase = Boolean.parseBoolean(value);
  18550.                 }else{
  18551.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.dumpBinario.registrazioneDatabase' non impostata, viene utilizzato il default=false");
  18552.                     this.isDumpBinarioRegistrazioneDatabase = false;
  18553.                 }

  18554.             }catch(java.lang.Exception e) {
  18555.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.dumpBinario.registrazioneDatabase' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  18556.                 this.isDumpBinarioRegistrazioneDatabase = false;
  18557.             }
  18558.         }

  18559.         return this.isDumpBinarioRegistrazioneDatabase;
  18560.     }
  18561.    
  18562.     private Integer getDumpBinarioInMemoryThreshold = null;
  18563.     public int getDumpBinarioInMemoryThreshold() {  
  18564.         String pName = "org.openspcoop2.pdd.logger.dumpBinario.inMemory.threshold";
  18565.         if(this.getDumpBinarioInMemoryThreshold==null){
  18566.             try{
  18567.                 String name = null;
  18568.                 name = this.reader.getValueConvertEnvProperties(pName);
  18569.                 if(name!=null){
  18570.                     name = name.trim();
  18571.                     this.getDumpBinarioInMemoryThreshold = java.lang.Integer.parseInt(name);
  18572.                 }else{
  18573.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,CostantiPdD.DUMP_BINARIO_THRESHOLD));
  18574.                     this.getDumpBinarioInMemoryThreshold = CostantiPdD.DUMP_BINARIO_THRESHOLD;
  18575.                 }
  18576.             }catch(java.lang.Exception e) {
  18577.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,CostantiPdD.DUMP_BINARIO_THRESHOLD),e);
  18578.                 this.getDumpBinarioInMemoryThreshold = CostantiPdD.DUMP_BINARIO_THRESHOLD;
  18579.             }  
  18580.         }

  18581.         return this.getDumpBinarioInMemoryThreshold;
  18582.     }
  18583.    
  18584.     private File getDumpBinarioRepository = null;
  18585.     public File getDumpBinarioRepository() throws CoreException {  
  18586.         String pName = "org.openspcoop2.pdd.logger.dumpBinario.msgRepository";
  18587.         if(this.getDumpBinarioRepository==null){
  18588.             try{
  18589.                 String name = null;
  18590.                 name = this.reader.getValueConvertEnvProperties(pName);
  18591.                 if(name==null){
  18592.                     throw new CoreException("Proprieta' non impostata");
  18593.                 }
  18594.                 name = LoggerWrapperFactory.applyClusterIdStrategy(name.trim(), "dumpBinario");
  18595.                 this.getDumpBinarioRepository = new File(name);
  18596.                 checkDumpBinarioRepository();
  18597.             } catch(java.lang.Exception e) {
  18598.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  18599.                 throw new CoreException(e.getMessage(),e);
  18600.             }    
  18601.         }

  18602.         return this.getDumpBinarioRepository;
  18603.     }
  18604.     private void checkDumpBinarioRepository() throws CoreException {
  18605.         if(this.getDumpBinarioRepository.exists()) {
  18606.             if(!this.getDumpBinarioRepository.isDirectory()) {
  18607.                 throw newCoreExceptionNotDir(this.getDumpBinarioRepository,true);
  18608.             }
  18609.             if(!this.getDumpBinarioRepository.canRead()) {
  18610.                 throw newCoreExceptionCannotRead(this.getDumpBinarioRepository, true);
  18611.             }
  18612.             if(!this.getDumpBinarioRepository.canWrite()) {
  18613.                 throw newCoreExceptionCannotWrite(this.getDumpBinarioRepository, true);
  18614.             }
  18615.         }
  18616.         else {
  18617.             // viene creata automaticamente
  18618.         }
  18619.     }
  18620.    
  18621.    
  18622.    
  18623.    
  18624.     /* ----------- Dump (NonRealtime) --------------------- */
  18625.    
  18626.     private Integer getDumpNonRealtimeInMemoryThreshold = null;
  18627.     public int getDumpNonRealtimeInMemoryThreshold() {  
  18628.         if(this.getDumpNonRealtimeInMemoryThreshold==null){
  18629.             try{
  18630.                 String name = null;
  18631.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.dump.nonRealTime.inMemory.threshold");
  18632.                 if(name!=null){
  18633.                     name = name.trim();
  18634.                     this.getDumpNonRealtimeInMemoryThreshold = java.lang.Integer.parseInt(name);
  18635.                 }else{
  18636.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.dump.nonRealTime.inMemory.threshold' non impostata, viene utilizzato il default="+CostantiPdD.DUMP_NON_REALTIME_THRESHOLD);
  18637.                     this.getDumpNonRealtimeInMemoryThreshold = CostantiPdD.DUMP_NON_REALTIME_THRESHOLD;
  18638.                 }
  18639.             }catch(java.lang.Exception e) {
  18640.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.dump.nonRealTime.inMemory.threshold' non impostata, viene utilizzato il default="+CostantiPdD.DUMP_NON_REALTIME_THRESHOLD+", errore:"+e.getMessage(),e);
  18641.                 this.getDumpNonRealtimeInMemoryThreshold = CostantiPdD.DUMP_NON_REALTIME_THRESHOLD;
  18642.             }  
  18643.         }

  18644.         return this.getDumpNonRealtimeInMemoryThreshold;
  18645.     }
  18646.    
  18647.     private String getDumpNonRealtimeMode = null;
  18648.     private String getDumpNonRealtimeMode() throws CoreException {  
  18649.         if(this.getDumpNonRealtimeMode==null){
  18650.             try{
  18651.                 String name = null;
  18652.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.dump.nonRealTime.mode");
  18653.                 if(name!=null){
  18654.                     name = name.trim();
  18655.                     if(!CostantiPdD.DUMP_NON_REALTIME_MODE_DB.equalsIgnoreCase(name) &&
  18656.                             !CostantiPdD.DUMP_NON_REALTIME_MODE_FILE_SYSTEM.equalsIgnoreCase(name) &&
  18657.                             !CostantiPdD.DUMP_NON_REALTIME_MODE_AUTO.equalsIgnoreCase(name) ) {
  18658.                         throw new CoreException("Modalità non supportata (attesi: "+CostantiPdD.DUMP_NON_REALTIME_MODE_DB+","+CostantiPdD.DUMP_NON_REALTIME_MODE_FILE_SYSTEM+","+CostantiPdD.DUMP_NON_REALTIME_MODE_AUTO+")");
  18659.                     }
  18660.                     this.getDumpNonRealtimeMode = name;
  18661.                 }else{
  18662.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.dump.nonRealTime.mode' non impostata, viene utilizzato il default="+CostantiPdD.DUMP_NON_REALTIME_MODE_AUTO);
  18663.                     this.getDumpNonRealtimeMode = CostantiPdD.DUMP_NON_REALTIME_MODE_AUTO;
  18664.                 }
  18665.             }catch(java.lang.Exception e) {
  18666.                 this.logError("Proprieta' di openspcoop ''org.openspcoop2.pdd.dump.nonRealTime.mode' non impostata, errore:"+e.getMessage(),e);
  18667.                 throw new CoreException(e.getMessage(),e);
  18668.             }  
  18669.            
  18670.             checkDumpNonRealtimeMode();
  18671.         }

  18672.         return this.getDumpNonRealtimeMode;
  18673.     }
  18674.     private void checkDumpNonRealtimeMode() throws CoreException {  
  18675.         if(CostantiPdD.DUMP_NON_REALTIME_MODE_AUTO.equalsIgnoreCase(this.getDumpNonRealtimeMode)) {
  18676.             String databaseTypeCheck = this.getDatabaseType();
  18677.             if(databaseTypeCheck==null) {
  18678.                 throw new CoreException("Proprieta' 'org.openspcoop2.pdd.dump.nonRealTime.mode=auto' richiede che sia indicato un tipo di database nella proprieta' 'org.openspcoop2.pdd.repository.tipoDatabase'");
  18679.             }
  18680.             if(TipiDatabase.POSTGRESQL.getNome().equalsIgnoreCase(databaseTypeCheck) || TipiDatabase.HSQL.getNome().equalsIgnoreCase(databaseTypeCheck)) {
  18681.                 // Allo stato attuale (13/02/2014) i sequenti sql server (postgresql e hsql) non supportano la funzionalita' jdbc per fare setStream senza fornire la lenght
  18682.                 this.getDumpNonRealtimeMode = CostantiPdD.DUMP_NON_REALTIME_MODE_FILE_SYSTEM;
  18683.             }
  18684.             else {
  18685.                 this.getDumpNonRealtimeMode = CostantiPdD.DUMP_NON_REALTIME_MODE_DB;
  18686.             }
  18687.         }
  18688.     }
  18689.    
  18690.     public boolean isDumpNonRealtimeDatabaseMode() {
  18691.         return CostantiPdD.DUMP_NON_REALTIME_MODE_DB.equalsIgnoreCase(this.getDumpNonRealtimeMode);
  18692.     }
  18693.     public boolean isDumpNonRealtimeFileSystemMode() {
  18694.         return CostantiPdD.DUMP_NON_REALTIME_MODE_FILE_SYSTEM.equalsIgnoreCase(this.getDumpNonRealtimeMode);
  18695.     }
  18696.    
  18697.     private File getDumpNonRealtimeRepository = null;
  18698.     public File getDumpNonRealtimeRepository() throws CoreException {  
  18699.         if(this.getDumpNonRealtimeRepository==null){
  18700.             try{
  18701.                 String name = null;
  18702.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.dump.nonRealTime.msgRepository");
  18703.                 if(name==null){
  18704.                     throw new CoreException("Proprieta' non impostata");
  18705.                 }
  18706.                 name = LoggerWrapperFactory.applyClusterIdStrategy(name.trim(), "dumpNonRealTime");
  18707.                 this.getDumpNonRealtimeRepository = new File(name);
  18708.                 checkDumpNonRealtimeRepository();
  18709.             } catch(java.lang.Exception e) {
  18710.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.dump.nonRealTime.msgRepository': "+e.getMessage(),e);
  18711.                 throw new CoreException(e.getMessage(),e);
  18712.             }    
  18713.         }

  18714.         return this.getDumpNonRealtimeRepository;
  18715.     }
  18716.     private void checkDumpNonRealtimeRepository() throws CoreException {    
  18717.         if(this.getDumpNonRealtimeRepository.exists()) {
  18718.             if(!this.getDumpNonRealtimeRepository.isDirectory()) {
  18719.                 throw newCoreExceptionNotDir(this.getDumpNonRealtimeRepository,true);
  18720.             }
  18721.             if(!this.getDumpNonRealtimeRepository.canRead()) {
  18722.                 throw newCoreExceptionCannotRead(this.getDumpNonRealtimeRepository, true);
  18723.             }
  18724.             if(!this.getDumpNonRealtimeRepository.canWrite()) {
  18725.                 throw newCoreExceptionCannotWrite(this.getDumpNonRealtimeRepository, true);
  18726.             }
  18727.         }
  18728.         else {
  18729.             // viene creata automaticamente
  18730.         }
  18731.     }
  18732.    
  18733.     private Boolean isDumpNonRealtimeThrowStreamingHandlerException = null;
  18734.     public boolean isDumpNonRealtimeThrowStreamingHandlerException(){

  18735.         if(this.isDumpNonRealtimeThrowStreamingHandlerException==null){
  18736.             try{  
  18737.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.dump.nonRealTime.throwStreamingHandlerException");

  18738.                 if (value != null){
  18739.                     value = value.trim();
  18740.                     this.isDumpNonRealtimeThrowStreamingHandlerException = Boolean.parseBoolean(value);
  18741.                 }else{
  18742.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.dump.nonRealTime.throwStreamingHandlerException' non impostata, viene utilizzato il default=true");
  18743.                     this.isDumpNonRealtimeThrowStreamingHandlerException = true;
  18744.                 }

  18745.             }catch(java.lang.Exception e) {
  18746.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.dump.nonRealTime.throwStreamingHandlerException' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  18747.                 this.isDumpNonRealtimeThrowStreamingHandlerException = true;
  18748.             }
  18749.         }

  18750.         return this.isDumpNonRealtimeThrowStreamingHandlerException;
  18751.     }
  18752.    
  18753.    
  18754.    
  18755.    
  18756.    
  18757.     /* ------------- ID ---------------------*/
  18758.     /**
  18759.      * Restituisce il tipo di generatore id identificativi unici
  18760.      *
  18761.      * @return il tipo di generatore id identificativi unici
  18762.      *
  18763.      */
  18764.     private String tipoIDManager = null;
  18765.     public String getTipoIDManager() {  
  18766.         if(this.tipoIDManager==null){
  18767.             try{
  18768.                 String name = null;
  18769.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.idGenerator");
  18770.                 if(name!=null){
  18771.                     name = name.trim();
  18772.                     this.tipoIDManager = name;
  18773.                 }else{
  18774.                     this.tipoIDManager = CostantiConfigurazione.NONE;
  18775.                 }
  18776.             }catch(java.lang.Exception e) {
  18777.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.idGenerator': "+e.getMessage(),e);
  18778.                 this.tipoIDManager = CostantiConfigurazione.NONE;
  18779.             }    
  18780.         }

  18781.         return this.tipoIDManager;
  18782.     }
  18783.    
  18784.     private Boolean useIDManagerWithThreadLocal = null;
  18785.     public boolean useIDManagerWithThreadLocal(){

  18786.         String pName = "org.openspcoop2.pdd.idGenerator.useThreadLocal";
  18787.         if(this.useIDManagerWithThreadLocal==null){
  18788.             try{  
  18789.                 String value = this.reader.getValueConvertEnvProperties(pName);

  18790.                 if (value != null){
  18791.                     value = value.trim();
  18792.                     this.useIDManagerWithThreadLocal = Boolean.parseBoolean(value);
  18793.                 }else{
  18794.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  18795.                     this.useIDManagerWithThreadLocal = false;
  18796.                 }

  18797.             }catch(java.lang.Exception e) {
  18798.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  18799.                 this.useIDManagerWithThreadLocal = false;
  18800.             }
  18801.         }

  18802.         return this.useIDManagerWithThreadLocal;
  18803.     }
  18804.    
  18805.     private Boolean listIDManagerParametersRead = null;
  18806.     private List<String> listIDManagerParameters = null;
  18807.     public List<String> getIDManagerParameters(){

  18808.         String pName = "org.openspcoop2.pdd.idGenerator."+this.getTipoIDManager()+".parameters";
  18809.         if(this.listIDManagerParametersRead==null){
  18810.             try{  
  18811.                 String value = this.reader.getValueConvertEnvProperties(pName);

  18812.                 initIDManagerParameters(value);

  18813.             }catch(java.lang.Exception e) {
  18814.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18815.             }
  18816.             this.listIDManagerParametersRead = true;
  18817.         }

  18818.         return this.listIDManagerParameters;
  18819.     }
  18820.     private void initIDManagerParameters(String value){
  18821.         if (value != null){
  18822.             value = value.trim();
  18823.            
  18824.             if(value.contains(",")) {
  18825.                 String [] tmp = value.split(",");
  18826.                 if(tmp!=null && tmp.length>0) {
  18827.                     this.listIDManagerParameters = new ArrayList<>();
  18828.                     for (String v : tmp) {
  18829.                         this.listIDManagerParameters.add(v);
  18830.                     }
  18831.                 }
  18832.             }
  18833.             else {
  18834.                 this.listIDManagerParameters = new ArrayList<>();
  18835.                 this.listIDManagerParameters.add(value);
  18836.             }
  18837.         }
  18838.     }
  18839.    
  18840.     private Integer getIDManagerBufferSize = null;
  18841.     public int getIDManagerBufferSize(){

  18842.         String pName = "org.openspcoop2.pdd.idGenerator.buffer";
  18843.         if(this.getIDManagerBufferSize==null){
  18844.             try{  
  18845.                 String value = this.reader.getValueConvertEnvProperties(pName);

  18846.                 if (value != null){
  18847.                     value = value.trim();
  18848.                     this.getIDManagerBufferSize = Integer.parseInt(value);
  18849.                 }else{
  18850.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostata, viene utilizzato il default=-1");
  18851.                     this.getIDManagerBufferSize = -1;
  18852.                 }

  18853.             }catch(java.lang.Exception e) {
  18854.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostata, viene utilizzato il default=-1, errore:"+e.getMessage(),e);
  18855.                 this.getIDManagerBufferSize = -1;
  18856.             }
  18857.         }

  18858.         return this.getIDManagerBufferSize;
  18859.     }
  18860.    
  18861.    
  18862.    
  18863.    
  18864.    
  18865.     /* ------------- DEMO Mode ---------------------*/
  18866.     private Boolean generazioneDateCasualiLogAbilitato = null;
  18867.     private Date generazioneDateCasualiLogDataInizioIntervallo = null;
  18868.     private Date generazioneDateCasualiLogDataFineIntervallo = null;
  18869.     public Date getGenerazioneDateCasualiLogDataInizioIntervallo() {
  18870.         return this.generazioneDateCasualiLogDataInizioIntervallo;
  18871.     }
  18872.     public Date getGenerazioneDateCasualiLogDataFineIntervallo() {
  18873.         return this.generazioneDateCasualiLogDataFineIntervallo;
  18874.     }
  18875.     public boolean generazioneDateCasualiLogAbilitato() {  
  18876.         if(this.generazioneDateCasualiLogAbilitato==null){
  18877.             try{
  18878.                 String name = null;
  18879.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.generazioneDateCasuali.enabled");
  18880.                 if(name!=null){
  18881.                     name = name.trim();
  18882.                     this.generazioneDateCasualiLogAbilitato = Boolean.parseBoolean(name);
  18883.                    
  18884.                     initDateCasualiLogAbilitato();
  18885.                    
  18886.                 }else{
  18887.                     this.generazioneDateCasualiLogAbilitato = false; //default, anche senza che sia definita la proprieta'
  18888.                 }
  18889.             }catch(java.lang.Exception e) {
  18890.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.generazioneDateCasuali.enabled' non impostata correttamente,  errore:"+e.getMessage(),e);
  18891.                 this.generazioneDateCasualiLogAbilitato = false;
  18892.             }    
  18893.         }

  18894.         return this.generazioneDateCasualiLogAbilitato;
  18895.     }
  18896.     private void initDateCasualiLogAbilitato() throws CoreException, UtilsException, ParseException {  
  18897.         if(this.generazioneDateCasualiLogAbilitato.booleanValue()){
  18898.            
  18899.             if(getTipoIDManager()==null || CostantiConfigurazione.NONE.equals(getTipoIDManager())){
  18900.                 throw new CoreException("Non e' possibile utilizzare la modalita' di generazione casuale delle date, se non si abilita la generazione di un ID");
  18901.             }
  18902.            
  18903.             String inizioIntervallo = this.reader.getValueConvertEnvProperties("org.openspcoop2.generazioneDateCasuali.inizioIntervallo");
  18904.             String fineIntervallo = this.reader.getValueConvertEnvProperties("org.openspcoop2.generazioneDateCasuali.fineIntervallo");
  18905.             SimpleDateFormat sdf = DateUtils.getDefaultDateTimeFormatter("yyyy-MM-dd hh:mm");
  18906.             if(inizioIntervallo==null){
  18907.                 throw new CoreException("Non e' stato definito l'intervallo di inizio per la modalita' di generazione casuale delle date");
  18908.             }
  18909.             else{inizioIntervallo=inizioIntervallo.trim();}
  18910.             this.generazioneDateCasualiLogDataInizioIntervallo = sdf.parse(inizioIntervallo);
  18911.             if(fineIntervallo==null){
  18912.                 throw new CoreException("Non e' stato definito l'intervallo di fine per la modalita' di generazione casuale delle date");
  18913.             }
  18914.             else{fineIntervallo=fineIntervallo.trim();}
  18915.             this.generazioneDateCasualiLogDataFineIntervallo = sdf.parse(fineIntervallo);
  18916.            
  18917.             if(this.generazioneDateCasualiLogDataInizioIntervallo.after(this.generazioneDateCasualiLogDataFineIntervallo)){
  18918.                 throw new CoreException("Non e' stato definito un intervallo di generazione casuale delle date corretto (inizioIntervallo>fineIntervallo)");
  18919.             }
  18920.         }
  18921.     }
  18922.    
  18923.    
  18924.    
  18925.    
  18926.    
  18927.     /* ------------- Factory ---------------------*/
  18928.    
  18929.     private Boolean openspcoop2MessageFactoryRead = null;
  18930.     private String openspcoop2MessageFactory = null;
  18931.     public String getOpenspcoop2MessageFactory() {  
  18932.         if(this.openspcoop2MessageFactoryRead==null){
  18933.             try{
  18934.                 String v = null;
  18935.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.messagefactory");
  18936.                 if(v!=null){
  18937.                     v = v.trim();
  18938.                     this.openspcoop2MessageFactory = v;
  18939.                 } else{
  18940.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messagefactory' non impostata, viene utilizzato il default="+OpenSPCoop2MessageFactory.messageFactoryImpl);
  18941.                 }
  18942.             }catch(java.lang.Exception e) {
  18943.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.messagefactory' non impostata correttamente,  errore:"+e.getMessage(),e);
  18944.             }
  18945.         }
  18946.         this.openspcoop2MessageFactoryRead = true;
  18947.         return this.openspcoop2MessageFactory;
  18948.     }
  18949.    
  18950.     private Boolean messageSecurityContextRead = null;
  18951.     private String messageSecurityContext = null;
  18952.     public String getMessageSecurityContext() {
  18953.         if(this.messageSecurityContextRead==null){
  18954.             try{
  18955.                 String v = null;
  18956.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.messageSecurity.context");
  18957.                 if(v!=null){
  18958.                     v = v.trim();
  18959.                     this.messageSecurityContext = v;
  18960.                 } else{
  18961.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.context' non impostata, viene utilizzato il default="+MessageSecurityFactory.messageSecurityContextImplClass);
  18962.                 }
  18963.             } catch(java.lang.Exception e) {
  18964.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.context' non impostata correttamente,  errore:"+e.getMessage(),e);
  18965.             }
  18966.         }
  18967.         this.messageSecurityContextRead = true;
  18968.         return this.messageSecurityContext;
  18969.     }
  18970.    
  18971.     private Boolean messageSecurityDigestReaderRead = null;
  18972.     private String messageSecurityDigestReader = null;
  18973.     public String getMessageSecurityDigestReader() {    
  18974.         if(this.messageSecurityDigestReaderRead==null){
  18975.             try{
  18976.                 String v = null;
  18977.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.messageSecurity.digestReader");
  18978.                 if(v!=null){
  18979.                     v = v.trim();
  18980.                     this.messageSecurityDigestReader = v;
  18981.                 } else{
  18982.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.digestReader' non impostata, viene utilizzato il default="+MessageSecurityFactory.messageSecurityDigestReaderImplClass);
  18983.                 }
  18984.             } catch(java.lang.Exception e) {
  18985.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.digestReader' non impostata correttamente,  errore:"+e.getMessage(),e);
  18986.             }
  18987.         }
  18988.         this.messageSecurityDigestReaderRead = true;
  18989.         return this.messageSecurityDigestReader;
  18990.     }
  18991.    
  18992.     private Boolean printInfoFactory = null;
  18993.     public boolean isPrintInfoFactory() {  
  18994.         if(this.printInfoFactory==null){
  18995.             try{
  18996.                 String v = null;
  18997.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.messagefactory.printInfo");
  18998.                 if(v!=null){
  18999.                     v = v.trim();
  19000.                     this.printInfoFactory = Boolean.parseBoolean(v);
  19001.                 }
  19002.                 else{
  19003.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messagefactory.printInfo' non impostata, viene utilizzato il default="+true);
  19004.                     this.printInfoFactory = true;
  19005.                 }
  19006.             }catch(java.lang.Exception e) {
  19007.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.messagefactory.printInfo' non impostata correttamente,  errore:"+e.getMessage(),e);
  19008.             }
  19009.         }
  19010.         return this.printInfoFactory;
  19011.     }
  19012.        
  19013.     private Boolean printInfoMessageSecurity = null;
  19014.     public boolean isPrintInfoMessageSecurity() {  
  19015.         if(this.printInfoMessageSecurity==null){
  19016.             try{
  19017.                 String v = null;
  19018.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.messageSecurity.printInfo");
  19019.                 if(v!=null){
  19020.                     v = v.trim();
  19021.                     this.printInfoMessageSecurity = Boolean.parseBoolean(v);
  19022.                 }
  19023.                 else{
  19024.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.printInfo' non impostata, viene utilizzato il default="+true);
  19025.                     this.printInfoMessageSecurity = true;
  19026.                 }
  19027.             }catch(java.lang.Exception e) {
  19028.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.printInfo' non impostata correttamente,  errore:"+e.getMessage(),e);
  19029.             }
  19030.         }
  19031.         return this.printInfoMessageSecurity;
  19032.     }
  19033.    
  19034.    
  19035.    
  19036.     /* ------------- Utility ---------------------*/
  19037.    
  19038.     private Boolean freeMemoryLog = null;
  19039.     public boolean getFreeMemoryLog() {
  19040.         if(this.freeMemoryLog==null){
  19041.             try{
  19042.                 String v = null;
  19043.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.freememorylog");
  19044.                 if(v!=null){
  19045.                     v = v.trim();
  19046.                     this.freeMemoryLog = Boolean.parseBoolean(v);
  19047.                 }
  19048.                 else{
  19049.                     this.freeMemoryLog = false;
  19050.                 }
  19051.             }catch(java.lang.Exception e) {
  19052.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.freememorylog' non impostata correttamente. Assumo valore di default 'false'.");
  19053.                 this.freeMemoryLog = false;
  19054.             }
  19055.         }
  19056.         return this.freeMemoryLog;
  19057.     }
  19058.    
  19059.    
  19060.    
  19061.    
  19062.    
  19063.    
  19064.     /* ------------- Protocol ---------------------*/
  19065.    
  19066.     private String defaultProtocolName = null;      
  19067.     public String getDefaultProtocolName(){
  19068.         if(this.defaultProtocolName==null){
  19069.             try{
  19070.                 this.defaultProtocolName = this.reader.getValue("org.openspcoop2.pdd.services.defaultProtocol");
  19071.                 if(this.defaultProtocolName!=null){
  19072.                     this.defaultProtocolName = this.defaultProtocolName.trim();
  19073.                 }
  19074.             } catch(java.lang.Exception e) {
  19075.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.defaultProtocol' non impostata correttamente,  errore:"+e.getMessage(),e);
  19076.             }
  19077.         }
  19078.         return this.defaultProtocolName;
  19079.     }

  19080.    
  19081.        
  19082.    
  19083.     /* ------------- Soggetti Virtuali ---------------------*/
  19084.    
  19085.     private Boolean isSoggettiVirtualiEnabled = null;
  19086.     public boolean isSoggettiVirtualiEnabled() {    
  19087.         if(this.isSoggettiVirtualiEnabled==null){
  19088.             String pName = "org.openspcoop2.pdd.SoggettiVirtuali.enabled";
  19089.             try{
  19090.                 String name = null;
  19091.                 name = this.reader.getValueConvertEnvProperties(pName);
  19092.                 if(name==null){
  19093.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  19094.                     name="false";
  19095.                 }
  19096.                 name = name.trim();
  19097.                 this.isSoggettiVirtualiEnabled = Boolean.parseBoolean(name);
  19098.             } catch(java.lang.Exception e) {
  19099.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19100.                 this.isSoggettiVirtualiEnabled = false;
  19101.             }    
  19102.         }

  19103.         return this.isSoggettiVirtualiEnabled;
  19104.     }
  19105.    
  19106.    
  19107.     /* ------------- Generazione Errore Protocol non supportato ---------------------*/
  19108.    
  19109.     private Boolean isGenerazioneErroreProtocolloNonSupportato = null;
  19110.     public boolean isGenerazioneErroreProtocolloNonSupportato() {  
  19111.         if(this.isGenerazioneErroreProtocolloNonSupportato==null){
  19112.             try{
  19113.                 String name = null;
  19114.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.protocolNotSupported.generateErrorMessage");
  19115.                 if(name==null){
  19116.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.protocolNotSupported.generateErrorMessage' non impostata, viene utilizzato il default=false");
  19117.                     name="false";
  19118.                 }
  19119.                 name = name.trim();
  19120.                 this.isGenerazioneErroreProtocolloNonSupportato = Boolean.parseBoolean(name);
  19121.             } catch(java.lang.Exception e) {
  19122.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.protocolNotSupported.generateErrorMessage': "+e.getMessage(),e);
  19123.                 this.isGenerazioneErroreProtocolloNonSupportato = false;
  19124.             }    
  19125.         }

  19126.         return this.isGenerazioneErroreProtocolloNonSupportato;
  19127.     }
  19128.    
  19129.    
  19130.    
  19131.    
  19132.     /* ------------- Generazione Errore HttpMethodUnsupported ---------------------*/
  19133.    
  19134.     private Boolean isGenerazioneErroreHttpMethodUnsupportedPortaDelegataEnabled = null;
  19135.     public boolean isGenerazioneErroreHttpMethodUnsupportedPortaDelegataEnabled() {
  19136.         if(this.isGenerazioneErroreHttpMethodUnsupportedPortaDelegataEnabled==null){
  19137.             try{
  19138.                 String name = null;
  19139.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.pd.httpMethodUnsupported.generateErrorMessage");
  19140.                 if(name==null){
  19141.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.pd.httpMethodUnsupported.generateErrorMessage' non impostata, viene utilizzato il default=true");
  19142.                     name="true";
  19143.                 }
  19144.                 name = name.trim();
  19145.                 this.isGenerazioneErroreHttpMethodUnsupportedPortaDelegataEnabled = Boolean.parseBoolean(name);
  19146.             } catch(java.lang.Exception e) {
  19147.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.pd.httpMethodUnsupported.generateErrorMessage': "+e.getMessage(),e);
  19148.                 this.isGenerazioneErroreHttpMethodUnsupportedPortaDelegataEnabled = true;
  19149.             }    
  19150.         }

  19151.         return this.isGenerazioneErroreHttpMethodUnsupportedPortaDelegataEnabled;
  19152.     }
  19153.    
  19154.     private Boolean isGenerazioneErroreHttpMethodUnsupportedPortaDelegataImbustamentoSOAPEnabled = null;
  19155.     public boolean isGenerazioneErroreHttpMethodUnsupportedPortaDelegataImbustamentoSOAPEnabled() {
  19156.         if(this.isGenerazioneErroreHttpMethodUnsupportedPortaDelegataImbustamentoSOAPEnabled==null){
  19157.             try{
  19158.                 String name = null;
  19159.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.pdToSoap.httpMethodUnsupported.generateErrorMessage");
  19160.                 if(name==null){
  19161.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.pdToSoap.httpMethodUnsupported.generateErrorMessage' non impostata, viene utilizzato il default=true");
  19162.                     name="true";
  19163.                 }
  19164.                 name = name.trim();
  19165.                 this.isGenerazioneErroreHttpMethodUnsupportedPortaDelegataImbustamentoSOAPEnabled = Boolean.parseBoolean(name);
  19166.             } catch(java.lang.Exception e) {
  19167.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.pdToSoap.httpMethodUnsupported.generateErrorMessage': "+e.getMessage(),e);
  19168.                 this.isGenerazioneErroreHttpMethodUnsupportedPortaDelegataImbustamentoSOAPEnabled = true;
  19169.             }    
  19170.         }

  19171.         return this.isGenerazioneErroreHttpMethodUnsupportedPortaDelegataImbustamentoSOAPEnabled;
  19172.     }
  19173.    
  19174.     private Boolean isGenerazioneErroreHttpMethodUnsupportedPortaApplicativaEnabled = null;
  19175.     public boolean isGenerazioneErroreHttpMethodUnsupportedPortaApplicativaEnabled() {  
  19176.         if(this.isGenerazioneErroreHttpMethodUnsupportedPortaApplicativaEnabled==null){
  19177.             try{
  19178.                 String name = null;
  19179.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.pa.httpMethodUnsupported.generateErrorMessage");
  19180.                 if(name==null){
  19181.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.pa.httpMethodUnsupported.generateErrorMessage' non impostata, viene utilizzato il default=true");
  19182.                     name="true";
  19183.                 }
  19184.                 name = name.trim();
  19185.                 this.isGenerazioneErroreHttpMethodUnsupportedPortaApplicativaEnabled = Boolean.parseBoolean(name);
  19186.             } catch(java.lang.Exception e) {
  19187.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.pa.httpMethodUnsupported.generateErrorMessage': "+e.getMessage(),e);
  19188.                 this.isGenerazioneErroreHttpMethodUnsupportedPortaApplicativaEnabled = true;
  19189.             }    
  19190.         }

  19191.         return this.isGenerazioneErroreHttpMethodUnsupportedPortaApplicativaEnabled;
  19192.     }
  19193.    
  19194.     private Boolean isGenerazioneErroreHttpMethodUnsupportedIntegrationManagerEnabled = null;
  19195.     public boolean isGenerazioneErroreHttpMethodUnsupportedIntegrationManagerEnabled() {    
  19196.         if(this.isGenerazioneErroreHttpMethodUnsupportedIntegrationManagerEnabled==null){
  19197.             try{
  19198.                 String name = null;
  19199.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.im.httpMethodUnsupported.generateErrorMessage");
  19200.                 if(name==null){
  19201.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.im.httpMethodUnsupported.generateErrorMessage' non impostata, viene utilizzato il default=true");
  19202.                     name="true";
  19203.                 }
  19204.                 name = name.trim();
  19205.                 this.isGenerazioneErroreHttpMethodUnsupportedIntegrationManagerEnabled = Boolean.parseBoolean(name);
  19206.             } catch(java.lang.Exception e) {
  19207.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.im.httpMethodUnsupported.generateErrorMessage': "+e.getMessage(),e);
  19208.                 this.isGenerazioneErroreHttpMethodUnsupportedIntegrationManagerEnabled = true;
  19209.             }    
  19210.         }

  19211.         return this.isGenerazioneErroreHttpMethodUnsupportedIntegrationManagerEnabled;
  19212.     }
  19213.    
  19214.     private Boolean isGenerazioneErroreHttpMethodUnsupportedCheckEnabled = null;
  19215.     public boolean isGenerazioneErroreHttpMethodUnsupportedCheckEnabled() {
  19216.         if(this.isGenerazioneErroreHttpMethodUnsupportedCheckEnabled==null){
  19217.             try{
  19218.                 String name = null;
  19219.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.check.httpMethodUnsupported.generateErrorMessage");
  19220.                 if(name==null){
  19221.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.check.httpMethodUnsupported.generateErrorMessage' non impostata, viene utilizzato il default=true");
  19222.                     name="true";
  19223.                 }
  19224.                 name = name.trim();
  19225.                 this.isGenerazioneErroreHttpMethodUnsupportedCheckEnabled = Boolean.parseBoolean(name);
  19226.             } catch(java.lang.Exception e) {
  19227.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.check.httpMethodUnsupported.generateErrorMessage': "+e.getMessage(),e);
  19228.                 this.isGenerazioneErroreHttpMethodUnsupportedCheckEnabled = true;
  19229.             }    
  19230.         }

  19231.         return this.isGenerazioneErroreHttpMethodUnsupportedCheckEnabled;
  19232.     }
  19233.    
  19234.     private Boolean isGenerazioneErroreHttpMethodUnsupportedProxyEnabled = null;
  19235.     public boolean isGenerazioneErroreHttpMethodUnsupportedProxyEnabled() {
  19236.         if(this.isGenerazioneErroreHttpMethodUnsupportedProxyEnabled==null){
  19237.             try{
  19238.                 String name = null;
  19239.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxy.httpMethodUnsupported.generateErrorMessage");
  19240.                 if(name==null){
  19241.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.proxy.httpMethodUnsupported.generateErrorMessage' non impostata, viene utilizzato il default=true");
  19242.                     name="true";
  19243.                 }
  19244.                 name = name.trim();
  19245.                 this.isGenerazioneErroreHttpMethodUnsupportedProxyEnabled = Boolean.parseBoolean(name);
  19246.             } catch(java.lang.Exception e) {
  19247.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxy.httpMethodUnsupported.generateErrorMessage': "+e.getMessage(),e);
  19248.                 this.isGenerazioneErroreHttpMethodUnsupportedProxyEnabled = true;
  19249.             }    
  19250.         }

  19251.         return this.isGenerazioneErroreHttpMethodUnsupportedProxyEnabled;
  19252.     }
  19253.    
  19254.    
  19255.    
  19256.    
  19257.     /* ------------- Generazione WSDL ---------------------*/
  19258.    
  19259.     private Boolean isGenerazioneWsdlPortaDelegataEnabled = null;
  19260.     public boolean isGenerazioneWsdlPortaDelegataEnabled() {    
  19261.         if(this.isGenerazioneWsdlPortaDelegataEnabled==null){
  19262.             try{
  19263.                 String name = null;
  19264.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.pd.generateWsdl");
  19265.                 if(name==null){
  19266.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.pd.generateWsdl' non impostata, viene utilizzato il default=false");
  19267.                     name="false";
  19268.                 }
  19269.                 name = name.trim();
  19270.                 this.isGenerazioneWsdlPortaDelegataEnabled = Boolean.parseBoolean(name);
  19271.             } catch(java.lang.Exception e) {
  19272.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.pd.generateWsdl': "+e.getMessage(),e);
  19273.                 this.isGenerazioneWsdlPortaDelegataEnabled = false;
  19274.             }    
  19275.         }

  19276.         return this.isGenerazioneWsdlPortaDelegataEnabled;
  19277.     }
  19278.    
  19279.     private Boolean isGenerazioneWsdlPortaApplicativaEnabled = null;
  19280.     public boolean isGenerazioneWsdlPortaApplicativaEnabled() {
  19281.         if(this.isGenerazioneWsdlPortaApplicativaEnabled==null){
  19282.             try{
  19283.                 String name = null;
  19284.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.pa.generateWsdl");
  19285.                 if(name==null){
  19286.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.pa.generateWsdl' non impostata, viene utilizzato il default=false");
  19287.                     name="false";
  19288.                 }
  19289.                 name = name.trim();
  19290.                 this.isGenerazioneWsdlPortaApplicativaEnabled = Boolean.parseBoolean(name);
  19291.             } catch(java.lang.Exception e) {
  19292.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.pa.generateWsdl': "+e.getMessage(),e);
  19293.                 this.isGenerazioneWsdlPortaApplicativaEnabled = false;
  19294.             }    
  19295.         }

  19296.         return this.isGenerazioneWsdlPortaApplicativaEnabled;
  19297.     }
  19298.    
  19299.     private Boolean isGenerazioneWsdlIntegrationManagerEnabled = null;
  19300.     public boolean isGenerazioneWsdlIntegrationManagerEnabled() {  
  19301.         if(this.isGenerazioneWsdlIntegrationManagerEnabled==null){
  19302.             try{
  19303.                 String name = null;
  19304.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.im.generateWsdl");
  19305.                 if(name==null){
  19306.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.im.generateWsdl' non impostata, viene utilizzato il default=true");
  19307.                     name="true";
  19308.                 }
  19309.                 name = name.trim();
  19310.                 this.isGenerazioneWsdlIntegrationManagerEnabled = Boolean.parseBoolean(name);
  19311.             } catch(java.lang.Exception e) {
  19312.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.im.generateWsdl': "+e.getMessage(),e);
  19313.                 this.isGenerazioneWsdlIntegrationManagerEnabled = true;
  19314.             }    
  19315.         }

  19316.         return this.isGenerazioneWsdlIntegrationManagerEnabled;
  19317.     }
  19318.    
  19319.    
  19320.    
  19321.    
  19322.     /* ------------- Check Reader Risorse JMX ---------------------*/
  19323.    
  19324.     private Boolean isCheckEnabled = null;
  19325.     public boolean isCheckEnabled() {  
  19326.         if(this.isCheckEnabled==null){
  19327.             try{
  19328.                 String name = null;
  19329.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.check.enabled");
  19330.                 if(name==null){
  19331.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.check.enabled' non impostata, viene utilizzato il default=true");
  19332.                     name="true";
  19333.                 }
  19334.                 name = name.trim();
  19335.                 this.isCheckEnabled = Boolean.parseBoolean(name);
  19336.             } catch(java.lang.Exception e) {
  19337.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.check.enabled': "+e.getMessage(),e);
  19338.                 this.isCheckEnabled = true;
  19339.             }    
  19340.         }

  19341.         return this.isCheckEnabled;
  19342.     }
  19343.    
  19344.     private Boolean isCheckHealthCheckApiRestEnabled = null;
  19345.     public boolean isCheckHealthCheckApiRestEnabled() {
  19346.         if(this.isCheckHealthCheckApiRestEnabled==null){
  19347.             String pName = "org.openspcoop2.pdd.check.healthCheck.apiRest.enabled";
  19348.             try{
  19349.                 String name = null;
  19350.                 name = this.reader.getValueConvertEnvProperties(pName);
  19351.                 if(name==null){
  19352.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  19353.                     name="false";
  19354.                 }
  19355.                 name = name.trim();
  19356.                 this.isCheckHealthCheckApiRestEnabled = Boolean.parseBoolean(name);
  19357.             } catch(java.lang.Exception e) {
  19358.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19359.                 this.isCheckHealthCheckApiRestEnabled = false;
  19360.             }    
  19361.         }

  19362.         return this.isCheckHealthCheckApiRestEnabled;
  19363.     }
  19364.    
  19365.     private String getCheckHealthCheckApiRestEndpoint = null;
  19366.     public String getCheckHealthCheckApiRestEndpoint() {    
  19367.         if(this.getCheckHealthCheckApiRestEndpoint==null){
  19368.             String pName = "org.openspcoop2.pdd.check.healthCheck.apiRest.endpoint";
  19369.             try{
  19370.                 String name = null;
  19371.                 name = this.reader.getValueConvertEnvProperties(pName);
  19372.                 if(name==null){
  19373.                     throw new CoreException("Non definita");
  19374.                 }
  19375.                 name = name.trim();
  19376.                 this.getCheckHealthCheckApiRestEndpoint = name;
  19377.             } catch(java.lang.Exception e) {
  19378.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19379.                 this.getCheckHealthCheckApiRestEndpoint = null;
  19380.             }    
  19381.         }

  19382.         return this.getCheckHealthCheckApiRestEndpoint;
  19383.     }
  19384.    
  19385.     private Boolean isCheckHealthCheckApiSoapEnabled = null;
  19386.     public boolean isCheckHealthCheckApiSoapEnabled() {
  19387.         if(this.isCheckHealthCheckApiSoapEnabled==null){
  19388.             String pName = "org.openspcoop2.pdd.check.healthCheck.apiSoap.enabled";
  19389.             try{
  19390.                 String name = null;
  19391.                 name = this.reader.getValueConvertEnvProperties(pName);
  19392.                 if(name==null){
  19393.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  19394.                     name="false";
  19395.                 }
  19396.                 name = name.trim();
  19397.                 this.isCheckHealthCheckApiSoapEnabled = Boolean.parseBoolean(name);
  19398.             } catch(java.lang.Exception e) {
  19399.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19400.                 this.isCheckHealthCheckApiSoapEnabled = false;
  19401.             }    
  19402.         }

  19403.         return this.isCheckHealthCheckApiSoapEnabled;
  19404.     }
  19405.    
  19406.     private String getCheckHealthCheckApiSoapEndpoint = null;
  19407.     public String getCheckHealthCheckApiSoapEndpoint() {    
  19408.         if(this.getCheckHealthCheckApiSoapEndpoint==null){
  19409.             String pName = "org.openspcoop2.pdd.check.healthCheck.apiSoap.endpoint";
  19410.             try{
  19411.                 String name = null;
  19412.                 name = this.reader.getValueConvertEnvProperties(pName);
  19413.                 if(name==null){
  19414.                     throw new CoreException("Non definita");
  19415.                 }
  19416.                 name = name.trim();
  19417.                 this.getCheckHealthCheckApiSoapEndpoint = name;
  19418.             } catch(java.lang.Exception e) {
  19419.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19420.                 this.getCheckHealthCheckApiSoapEndpoint = null;
  19421.             }    
  19422.         }

  19423.         return this.getCheckHealthCheckApiSoapEndpoint;
  19424.     }
  19425.    
  19426.     private Boolean isCheckHealthCheckStatsEnabled = null;
  19427.     public boolean isCheckHealthCheckStatsEnabled() {  
  19428.         if(this.isCheckHealthCheckStatsEnabled==null){
  19429.             String pName = "org.openspcoop2.pdd.check.healthCheck.reportStatistici.enabled";
  19430.             try{
  19431.                 String name = null;
  19432.                 name = this.reader.getValueConvertEnvProperties(pName);
  19433.                 if(name==null){
  19434.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  19435.                     name="false";
  19436.                 }
  19437.                 name = name.trim();
  19438.                 this.isCheckHealthCheckStatsEnabled = Boolean.parseBoolean(name);
  19439.             } catch(java.lang.Exception e) {
  19440.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19441.                 this.isCheckHealthCheckStatsEnabled = false;
  19442.             }    
  19443.         }

  19444.         return this.isCheckHealthCheckStatsEnabled;
  19445.     }
  19446.    
  19447.     private Boolean isCheckHealthCheckStatsHourlyEnabled = null;
  19448.     public boolean isCheckHealthCheckStatsHourlyEnabled() {
  19449.         if(this.isCheckHealthCheckStatsHourlyEnabled==null){
  19450.             String pName = "org.openspcoop2.pdd.check.healthCheck.reportStatistici.intervalloOrario.verifica";
  19451.             try{
  19452.                 String name = null;
  19453.                 name = this.reader.getValueConvertEnvProperties(pName);
  19454.                 if(name==null){
  19455.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  19456.                     name="false";
  19457.                 }
  19458.                 name = name.trim();
  19459.                 this.isCheckHealthCheckStatsHourlyEnabled = Boolean.parseBoolean(name);
  19460.             } catch(java.lang.Exception e) {
  19461.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19462.                 this.isCheckHealthCheckStatsHourlyEnabled = false;
  19463.             }    
  19464.         }

  19465.         return this.isCheckHealthCheckStatsHourlyEnabled;
  19466.     }
  19467.    
  19468.     private Integer getCheckHealthCheckStatsHourlyThreshold = null;
  19469.     public int getCheckHealthCheckStatsHourlyThreshold() {  
  19470.         if(this.getCheckHealthCheckStatsHourlyThreshold==null){
  19471.             String pName = "org.openspcoop2.pdd.check.healthCheck.reportStatistici.intervalloOrario.soglia";
  19472.             try{
  19473.                 String name = null;
  19474.                 name = this.reader.getValueConvertEnvProperties(pName);
  19475.                 if(name==null){
  19476.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, 1));
  19477.                     name="1";
  19478.                 }
  19479.                 name = name.trim();
  19480.                 this.getCheckHealthCheckStatsHourlyThreshold = Integer.valueOf(name);
  19481.             } catch(java.lang.Exception e) {
  19482.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19483.                 this.getCheckHealthCheckStatsHourlyThreshold = -1;
  19484.             }    
  19485.         }

  19486.         return this.getCheckHealthCheckStatsHourlyThreshold;
  19487.     }
  19488.    
  19489.        
  19490.     private Boolean isCheckHealthCheckStatsDailyEnabled = null;
  19491.     public boolean isCheckHealthCheckStatsDailyEnabled() {  
  19492.         if(this.isCheckHealthCheckStatsDailyEnabled==null){
  19493.             String pName = "org.openspcoop2.pdd.check.healthCheck.reportStatistici.intervalloGiornaliero.verifica";
  19494.             try{
  19495.                 String name = null;
  19496.                 name = this.reader.getValueConvertEnvProperties(pName);
  19497.                 if(name==null){
  19498.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  19499.                     name="false";
  19500.                 }
  19501.                 name = name.trim();
  19502.                 this.isCheckHealthCheckStatsDailyEnabled = Boolean.parseBoolean(name);
  19503.             } catch(java.lang.Exception e) {
  19504.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19505.                 this.isCheckHealthCheckStatsDailyEnabled = false;
  19506.             }    
  19507.         }

  19508.         return this.isCheckHealthCheckStatsDailyEnabled;
  19509.     }
  19510.    
  19511.     private Integer getCheckHealthCheckStatsDailyThreshold = null;
  19512.     public int getCheckHealthCheckStatsDailyThreshold() {  
  19513.         if(this.getCheckHealthCheckStatsDailyThreshold==null){
  19514.             String pName = "org.openspcoop2.pdd.check.healthCheck.reportStatistici.intervalloGiornaliero.soglia";
  19515.             try{
  19516.                 String name = null;
  19517.                 name = this.reader.getValueConvertEnvProperties(pName);
  19518.                 if(name==null){
  19519.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, 1));
  19520.                     name="1";
  19521.                 }
  19522.                 name = name.trim();
  19523.                 this.getCheckHealthCheckStatsDailyThreshold = Integer.valueOf(name);
  19524.             } catch(java.lang.Exception e) {
  19525.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19526.                 this.getCheckHealthCheckStatsDailyThreshold = -1;
  19527.             }    
  19528.         }

  19529.         return this.getCheckHealthCheckStatsDailyThreshold;
  19530.     }
  19531.    
  19532.     private Boolean isCheckHealthCheckStatsWeeklyEnabled = null;
  19533.     public boolean isCheckHealthCheckStatsWeeklyEnabled() {
  19534.         if(this.isCheckHealthCheckStatsWeeklyEnabled==null){
  19535.             String pName = "org.openspcoop2.pdd.check.healthCheck.reportStatistici.intervalloSettimanale.verifica";
  19536.             try{
  19537.                 String name = null;
  19538.                 name = this.reader.getValueConvertEnvProperties(pName);
  19539.                 if(name==null){
  19540.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  19541.                     name="false";
  19542.                 }
  19543.                 name = name.trim();
  19544.                 this.isCheckHealthCheckStatsWeeklyEnabled = Boolean.parseBoolean(name);
  19545.             } catch(java.lang.Exception e) {
  19546.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19547.                 this.isCheckHealthCheckStatsWeeklyEnabled = false;
  19548.             }    
  19549.         }

  19550.         return this.isCheckHealthCheckStatsWeeklyEnabled;
  19551.     }
  19552.    
  19553.     private Integer getCheckHealthCheckStatsWeeklyThreshold = null;
  19554.     public int getCheckHealthCheckStatsWeeklyThreshold() {  
  19555.         if(this.getCheckHealthCheckStatsWeeklyThreshold==null){
  19556.             String pName = "org.openspcoop2.pdd.check.healthCheck.reportStatistici.intervalloSettimanale.soglia";
  19557.             try{
  19558.                 String name = null;
  19559.                 name = this.reader.getValueConvertEnvProperties(pName);
  19560.                 if(name==null){
  19561.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, 1));
  19562.                     name="1";
  19563.                 }
  19564.                 name = name.trim();
  19565.                 this.getCheckHealthCheckStatsWeeklyThreshold = Integer.valueOf(name);
  19566.             } catch(java.lang.Exception e) {
  19567.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19568.                 this.getCheckHealthCheckStatsWeeklyThreshold = -1;
  19569.             }    
  19570.         }

  19571.         return this.getCheckHealthCheckStatsWeeklyThreshold;
  19572.     }
  19573.    

  19574.    
  19575.     private Boolean isCheckHealthCheckStatsMonthlyEnabled = null;
  19576.     public boolean isCheckHealthCheckStatsMonthlyEnabled() {    
  19577.         if(this.isCheckHealthCheckStatsMonthlyEnabled==null){
  19578.             String pName = "org.openspcoop2.pdd.check.healthCheck.reportStatistici.intervalloMensile.verifica";
  19579.             try{
  19580.                 String name = null;
  19581.                 name = this.reader.getValueConvertEnvProperties(pName);
  19582.                 if(name==null){
  19583.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  19584.                     name="false";
  19585.                 }
  19586.                 name = name.trim();
  19587.                 this.isCheckHealthCheckStatsMonthlyEnabled = Boolean.parseBoolean(name);
  19588.             } catch(java.lang.Exception e) {
  19589.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19590.                 this.isCheckHealthCheckStatsMonthlyEnabled = false;
  19591.             }    
  19592.         }

  19593.         return this.isCheckHealthCheckStatsMonthlyEnabled;
  19594.     }
  19595.    
  19596.     private Integer getCheckHealthCheckStatsMonthlyThreshold = null;
  19597.     public int getCheckHealthCheckStatsMonthlyThreshold() {
  19598.         if(this.getCheckHealthCheckStatsMonthlyThreshold==null){
  19599.             String pName = "org.openspcoop2.pdd.check.healthCheck.reportStatistici.intervalloMensile.soglia";
  19600.             try{
  19601.                 String name = null;
  19602.                 name = this.reader.getValueConvertEnvProperties(pName);
  19603.                 if(name==null){
  19604.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, 1));
  19605.                     name="1";
  19606.                 }
  19607.                 name = name.trim();
  19608.                 this.getCheckHealthCheckStatsMonthlyThreshold = Integer.valueOf(name);
  19609.             } catch(java.lang.Exception e) {
  19610.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19611.                 this.getCheckHealthCheckStatsMonthlyThreshold = -1;
  19612.             }    
  19613.         }

  19614.         return this.getCheckHealthCheckStatsMonthlyThreshold;
  19615.     }
  19616.    
  19617.     private Boolean isCheckReadJMXResourcesEnabled = null;
  19618.     public boolean isCheckReadJMXResourcesEnabled() {  
  19619.         if(this.isCheckReadJMXResourcesEnabled==null){
  19620.             try{
  19621.                 String name = null;
  19622.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.check.readJMXResources.enabled");
  19623.                 if(name==null){
  19624.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.check.readJMXResources.enabled' non impostata, viene utilizzato il default=false");
  19625.                     name="false";
  19626.                 }
  19627.                 name = name.trim();
  19628.                 this.isCheckReadJMXResourcesEnabled = Boolean.parseBoolean(name);
  19629.             } catch(java.lang.Exception e) {
  19630.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.check.readJMXResources.enabled': "+e.getMessage(),e);
  19631.                 this.isCheckReadJMXResourcesEnabled = false;
  19632.             }    
  19633.         }

  19634.         return this.isCheckReadJMXResourcesEnabled;
  19635.     }
  19636.    
  19637.     private String getCheckReadJMXResourcesUsername = null;
  19638.     private Boolean getCheckReadJMXResourcesUsernameRead = null;
  19639.     public String getCheckReadJMXResourcesUsername() {  
  19640.         if(this.getCheckReadJMXResourcesUsernameRead==null){
  19641.             try{
  19642.                 String name = null;
  19643.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.check.readJMXResources.username");
  19644.                 if(name!=null){
  19645.                     name = name.trim();
  19646.                 }
  19647.                 this.getCheckReadJMXResourcesUsernameRead = true;
  19648.                 this.getCheckReadJMXResourcesUsername = name;
  19649.             } catch(java.lang.Exception e) {
  19650.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.check.readJMXResources.username': "+e.getMessage(),e);
  19651.             }    
  19652.         }
  19653.         return this.getCheckReadJMXResourcesUsername;
  19654.     }
  19655.    
  19656.     private String getCheckReadJMXResourcesPassword = null;
  19657.     private Boolean getCheckReadJMXResourcesPasswordRead = null;
  19658.     public String getCheckReadJMXResourcesPassword() {  
  19659.         if(this.getCheckReadJMXResourcesPasswordRead==null){
  19660.             try{
  19661.                 String name = null;
  19662.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.check.readJMXResources.password");
  19663.                 if(name!=null){
  19664.                     name = name.trim();
  19665.                 }
  19666.                 this.getCheckReadJMXResourcesPasswordRead = true;
  19667.                 this.getCheckReadJMXResourcesPassword = name;
  19668.             } catch(java.lang.Exception e) {
  19669.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.check.readJMXResources.password': "+e.getMessage(),e);
  19670.             }    
  19671.         }
  19672.         return this.getCheckReadJMXResourcesPassword;
  19673.     }
  19674.    
  19675.    
  19676.     private Boolean isProxyReadJMXResourcesEnabled = null;
  19677.     public boolean isProxyReadJMXResourcesEnabled() {  
  19678.         if(this.isProxyReadJMXResourcesEnabled==null){
  19679.             try{
  19680.                 String name = null;
  19681.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.enabled");
  19682.                 if(name==null){
  19683.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.enabled' non impostata, viene utilizzato il default=false");
  19684.                     name="false";
  19685.                 }
  19686.                 name = name.trim();
  19687.                 this.isProxyReadJMXResourcesEnabled = Boolean.parseBoolean(name);
  19688.             } catch(java.lang.Exception e) {
  19689.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.enabled': "+e.getMessage(),e);
  19690.                 this.isProxyReadJMXResourcesEnabled = false;
  19691.             }    
  19692.         }

  19693.         return this.isProxyReadJMXResourcesEnabled;
  19694.     }
  19695.    
  19696.     private Boolean isProxyReadJMXResourcesAsyncProcessByTimer = null;
  19697.     public boolean isProxyReadJMXResourcesAsyncProcessByTimer() {  
  19698.         if(this.isProxyReadJMXResourcesAsyncProcessByTimer==null){
  19699.             try{
  19700.                 String name = null;
  19701.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.asyncUpdate");
  19702.                 if(name==null){
  19703.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.asyncUpdate' non impostata, viene utilizzato il default=false");
  19704.                     name="false";
  19705.                 }
  19706.                 name = name.trim();
  19707.                 this.isProxyReadJMXResourcesAsyncProcessByTimer = Boolean.parseBoolean(name);
  19708.             } catch(java.lang.Exception e) {
  19709.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.asyncUpdate': "+e.getMessage(),e);
  19710.                 this.isProxyReadJMXResourcesAsyncProcessByTimer = false;
  19711.             }    
  19712.         }

  19713.         return this.isProxyReadJMXResourcesAsyncProcessByTimer;
  19714.     }
  19715.    
  19716.     private String getProxyReadJMXResourcesAsyncProcessByTimerServiceImplClass = null;
  19717.     private Boolean getProxyReadJMXResourcesAsyncProcessByTimerServiceImplClassRead = null;
  19718.     public String getProxyReadJMXResourcesAsyncProcessByTimerServiceImplClass() {  
  19719.         if(this.getProxyReadJMXResourcesAsyncProcessByTimerServiceImplClassRead==null){
  19720.             try{
  19721.                 String name = null;
  19722.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.serviceClass");
  19723.                 if(name!=null){
  19724.                     name = name.trim();
  19725.                 }
  19726.                 this.getProxyReadJMXResourcesAsyncProcessByTimerServiceImplClassRead = true;
  19727.                 this.getProxyReadJMXResourcesAsyncProcessByTimerServiceImplClass = name;
  19728.             } catch(java.lang.Exception e) {
  19729.                 this.logWarn("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.serviceClass': "+e.getMessage(),e);
  19730.             }    
  19731.         }
  19732.         return this.getProxyReadJMXResourcesAsyncProcessByTimerServiceImplClass;
  19733.     }
  19734.    
  19735.     private Boolean isProxyReadJMXResourcesAsyncProcessByTimerDebug = null;
  19736.     public boolean isProxyReadJMXResourcesAsyncProcessByTimerDebug() {  
  19737.         if(this.isProxyReadJMXResourcesAsyncProcessByTimerDebug==null){
  19738.             String pName = "org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.debug";
  19739.             try{
  19740.                 String name = null;
  19741.                 name = this.reader.getValueConvertEnvProperties(pName);
  19742.                 if(name==null){
  19743.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  19744.                     name="true";
  19745.                 }
  19746.                 name = name.trim();
  19747.                 this.isProxyReadJMXResourcesAsyncProcessByTimerDebug = Boolean.parseBoolean(name);
  19748.             } catch(java.lang.Exception e) {
  19749.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  19750.                 this.isProxyReadJMXResourcesAsyncProcessByTimerDebug = true;
  19751.             }    
  19752.         }

  19753.         return this.isProxyReadJMXResourcesAsyncProcessByTimerDebug;
  19754.     }
  19755.    
  19756.     private String getProxyReadJMXResourcesAsyncProcessByTimerHostname = null;
  19757.     private Boolean getProxyReadJMXResourcesAsyncProcessByTimerHostnameRead = null;
  19758.     public String getProxyReadJMXResourcesAsyncProcessByTimerHostname() {  
  19759.         if(this.getProxyReadJMXResourcesAsyncProcessByTimerHostnameRead==null){
  19760.             try{
  19761.                 String name = null;
  19762.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.hostname");
  19763.                 if(name!=null){
  19764.                     name = name.trim();
  19765.                 }
  19766.                 this.getProxyReadJMXResourcesAsyncProcessByTimerHostnameRead = true;
  19767.                 this.getProxyReadJMXResourcesAsyncProcessByTimerHostname = name;
  19768.             } catch(java.lang.Exception e) {
  19769.                 this.logWarn("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.hostname': "+e.getMessage(),e);
  19770.             }    
  19771.         }
  19772.         return this.getProxyReadJMXResourcesAsyncProcessByTimerHostname;
  19773.     }
  19774.    
  19775.     private String getProxyReadJMXResourcesAsyncProcessByTimerSchema = null;
  19776.     private Boolean getProxyReadJMXResourcesAsyncProcessByTimerSchemaRead = null;
  19777.     public String getProxyReadJMXResourcesAsyncProcessByTimerSchema() {
  19778.         if(this.getProxyReadJMXResourcesAsyncProcessByTimerSchemaRead==null){
  19779.             try{
  19780.                 String name = null;
  19781.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.schema");
  19782.                 if(name!=null){
  19783.                     name = name.trim();
  19784.                 }
  19785.                 this.getProxyReadJMXResourcesAsyncProcessByTimerSchemaRead = true;
  19786.                 this.getProxyReadJMXResourcesAsyncProcessByTimerSchema = name;
  19787.             } catch(java.lang.Exception e) {
  19788.                 this.logWarn("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.schema': "+e.getMessage(),e);
  19789.             }    
  19790.         }
  19791.         return this.getProxyReadJMXResourcesAsyncProcessByTimerSchema;
  19792.     }
  19793.    
  19794.     private Integer getProxyReadJMXResourcesAsyncProcessByTimerPort = null;
  19795.     private Boolean getProxyReadJMXResourcesAsyncProcessByTimerPortRead = null;
  19796.     public Integer getProxyReadJMXResourcesAsyncProcessByTimerPort() {  
  19797.         if(this.getProxyReadJMXResourcesAsyncProcessByTimerPortRead==null){
  19798.             try{
  19799.                 String name = null;
  19800.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.port");
  19801.                 if(name!=null){
  19802.                     name = name.trim();
  19803.                     this.getProxyReadJMXResourcesAsyncProcessByTimerPort = Integer.valueOf(name);
  19804.                 }
  19805.                 this.getProxyReadJMXResourcesAsyncProcessByTimerPortRead = true;
  19806.             } catch(java.lang.Exception e) {
  19807.                 this.logWarn("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.port': "+e.getMessage(),e);
  19808.             }    
  19809.         }
  19810.         return this.getProxyReadJMXResourcesAsyncProcessByTimerPort;
  19811.     }
  19812.    
  19813.     private Integer getProxyReadJMXResourcesAsyncProcessByTimerCheckInterval = null;
  19814.     private Boolean getProxyReadJMXResourcesAsyncProcessByTimerCheckIntervalRead = null;
  19815.     public Integer getProxyReadJMXResourcesAsyncProcessByTimerCheckInterval() {
  19816.         if(this.getProxyReadJMXResourcesAsyncProcessByTimerCheckIntervalRead==null){
  19817.             try{
  19818.                 String name = null;
  19819.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.checkInterval");
  19820.                 if(name!=null){
  19821.                     name = name.trim();
  19822.                     this.getProxyReadJMXResourcesAsyncProcessByTimerCheckInterval = Integer.valueOf(name);
  19823.                 }
  19824.                 else {
  19825.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.checkInterval' non impostata, viene utilizzato il default=60");
  19826.                     this.getProxyReadJMXResourcesAsyncProcessByTimerCheckInterval = 60;
  19827.                 }
  19828.             } catch(java.lang.Exception e) {
  19829.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.checkInterval': "+e.getMessage()+". Viene utilizzato il default=60",e);
  19830.                 this.getProxyReadJMXResourcesAsyncProcessByTimerCheckInterval = 60;
  19831.             }
  19832.             this.getProxyReadJMXResourcesAsyncProcessByTimerCheckIntervalRead = true;
  19833.         }
  19834.         return this.getProxyReadJMXResourcesAsyncProcessByTimerCheckInterval;
  19835.     }
  19836.    
  19837.     private Integer getProxyReadJMXResourcesAsyncProcessByTimerLimit = null;
  19838.     private Boolean getProxyReadJMXResourcesAsyncProcessByTimerLimitRead = null;
  19839.     public Integer getProxyReadJMXResourcesAsyncProcessByTimerLimit() {
  19840.         if(this.getProxyReadJMXResourcesAsyncProcessByTimerLimitRead==null){
  19841.             try{
  19842.                 String name = null;
  19843.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.limit");
  19844.                 if(name!=null){
  19845.                     name = name.trim();
  19846.                     this.getProxyReadJMXResourcesAsyncProcessByTimerLimit = Integer.valueOf(name);
  19847.                 }
  19848.                 else {
  19849.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.limit' non impostata, viene utilizzato il default=100");
  19850.                     this.getProxyReadJMXResourcesAsyncProcessByTimerLimit = 100;
  19851.                 }
  19852.             } catch(java.lang.Exception e) {
  19853.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.limit': "+e.getMessage()+". Viene utilizzato il default=100",e);
  19854.                 this.getProxyReadJMXResourcesAsyncProcessByTimerLimit = 100;
  19855.             }
  19856.             this.getProxyReadJMXResourcesAsyncProcessByTimerLimitRead = true;
  19857.         }
  19858.         return this.getProxyReadJMXResourcesAsyncProcessByTimerLimit;
  19859.     }
  19860.    
  19861.     private Integer getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordInterval = null;
  19862.     private Boolean getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordIntervalRead = null;
  19863.     public Integer getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordInterval() {    
  19864.         if(this.getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordIntervalRead==null){
  19865.             try{
  19866.                 String name = null;
  19867.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.historyCleaning.checkInterval");
  19868.                 if(name!=null){
  19869.                     name = name.trim();
  19870.                     this.getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordInterval = Integer.valueOf(name);
  19871.                 }
  19872.                 else {
  19873.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.historyCleaning.checkInterval' non impostata, viene utilizzato il default=3600");
  19874.                     this.getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordInterval = 3600;
  19875.                 }
  19876.             } catch(java.lang.Exception e) {
  19877.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.historyCleaning.checkInterval': "+e.getMessage()+". Viene utilizzato il default=3600",e);
  19878.                 this.getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordInterval = 3600;
  19879.             }
  19880.             this.getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordIntervalRead = true;
  19881.         }
  19882.         return this.getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordInterval;
  19883.     }
  19884.    
  19885.     private Integer getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordDeleteOlderThanMinutes = null;
  19886.     private Boolean getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordDeleteOlderThanMinutesRead = null;
  19887.     public Integer getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordDeleteOlderThanMinutes() {  
  19888.         if(this.getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordDeleteOlderThanMinutesRead==null){
  19889.             try{
  19890.                 String name = null;
  19891.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.historyCleaning.olderThanMinutes");
  19892.                 if(name!=null){
  19893.                     name = name.trim();
  19894.                     this.getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordDeleteOlderThanMinutes = Integer.valueOf(name);
  19895.                 }
  19896.                 else {
  19897.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.historyCleaning.olderThanMinutes' non impostata, viene utilizzato il default=60");
  19898.                     this.getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordDeleteOlderThanMinutes = 60;
  19899.                 }
  19900.             } catch(java.lang.Exception e) {
  19901.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.historyCleaning.olderThanMinutes': "+e.getMessage()+". Viene utilizzato il default=60",e);
  19902.                 this.getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordDeleteOlderThanMinutes = 60;
  19903.             }
  19904.             this.getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordDeleteOlderThanMinutesRead = true;
  19905.         }
  19906.         return this.getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordDeleteOlderThanMinutes;
  19907.     }
  19908.    
  19909.     private String getProxyReadJMXResourcesSchema = null;
  19910.     private Boolean getProxyReadJMXResourcesSchemaRead = null;
  19911.     public String getProxyReadJMXResourcesSchema() {    
  19912.         if(this.getProxyReadJMXResourcesSchemaRead==null){
  19913.             try{
  19914.                 String name = null;
  19915.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.schema");
  19916.                 if(name!=null){
  19917.                     name = name.trim();
  19918.                 }
  19919.                 this.getProxyReadJMXResourcesSchemaRead = true;
  19920.                 this.getProxyReadJMXResourcesSchema = name;
  19921.             } catch(java.lang.Exception e) {
  19922.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.schema': "+e.getMessage(),e);
  19923.             }    
  19924.         }
  19925.         return this.getProxyReadJMXResourcesSchema;
  19926.     }
  19927.    
  19928.     private Integer getProxyReadJMXResourcesPort = null;
  19929.     private Boolean getProxyReadJMXResourcesPortRead = null;
  19930.     public Integer getProxyReadJMXResourcesPort() {
  19931.         if(this.getProxyReadJMXResourcesPortRead==null){
  19932.             try{
  19933.                 String name = null;
  19934.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.port");
  19935.                 if(name!=null){
  19936.                     name = name.trim();
  19937.                     this.getProxyReadJMXResourcesPort = Integer.valueOf(name);
  19938.                 }
  19939.                 this.getProxyReadJMXResourcesPortRead = true;
  19940.             } catch(java.lang.Exception e) {
  19941.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.port': "+e.getMessage(),e);
  19942.             }    
  19943.         }
  19944.         return this.getProxyReadJMXResourcesPort;
  19945.     }
  19946.    
  19947.     // utile per debug: invoco tutte le volte
  19948.     public Integer getProxyReadJMXResourcesPort(String hostname) {  
  19949.         try{
  19950.             String name = null;
  19951.             name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.port."+hostname);
  19952.             if(name!=null){
  19953.                 name = name.trim();
  19954.                 return Integer.valueOf(name);
  19955.             }
  19956.         } catch(java.lang.Exception e) {
  19957.             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.port."+hostname+"': "+e.getMessage(),e);
  19958.         }    
  19959.         return null;
  19960.     }
  19961.    
  19962.     private String getProxyReadJMXResourcesUsername = null;
  19963.     private Boolean getProxyReadJMXResourcesUsernameRead = null;
  19964.     public String getProxyReadJMXResourcesUsername() {  
  19965.         if(this.getProxyReadJMXResourcesUsernameRead==null){
  19966.             try{
  19967.                 String name = null;
  19968.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.username");
  19969.                 if(name!=null){
  19970.                     name = name.trim();
  19971.                 }
  19972.                 this.getProxyReadJMXResourcesUsernameRead = true;
  19973.                 this.getProxyReadJMXResourcesUsername = name;
  19974.             } catch(java.lang.Exception e) {
  19975.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.username': "+e.getMessage(),e);
  19976.             }    
  19977.         }
  19978.         return this.getProxyReadJMXResourcesUsername;
  19979.     }
  19980.    
  19981.     private String getProxyReadJMXResourcesPassword = null;
  19982.     private Boolean getProxyReadJMXResourcesPasswordRead = null;
  19983.     public String getProxyReadJMXResourcesPassword() {  
  19984.         if(this.getProxyReadJMXResourcesPasswordRead==null){
  19985.             try{
  19986.                 String name = null;
  19987.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.password");
  19988.                 if(name!=null){
  19989.                     name = name.trim();
  19990.                 }
  19991.                 this.getProxyReadJMXResourcesPasswordRead = true;
  19992.                 this.getProxyReadJMXResourcesPassword = name;
  19993.             } catch(java.lang.Exception e) {
  19994.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.password': "+e.getMessage(),e);
  19995.             }    
  19996.         }
  19997.         return this.getProxyReadJMXResourcesPassword;
  19998.     }
  19999.    
  20000.     private Boolean isProxyReadJMXResourcesHttpsEnabled = null;
  20001.     public boolean isProxyReadJMXResourcesHttpsEnabled() {  
  20002.         if(this.isProxyReadJMXResourcesHttpsEnabled==null){
  20003.             String pName = "org.openspcoop2.pdd.proxyJMXResources.https";
  20004.             try{
  20005.                 String name = null;
  20006.                 name = this.reader.getValueConvertEnvProperties(pName);
  20007.                 if(name==null){
  20008.                     this.logDebug(getMessaggioProprietaNonImpostata(pName, false));
  20009.                     name="false";
  20010.                 }
  20011.                 name = name.trim();
  20012.                 this.isProxyReadJMXResourcesHttpsEnabled = Boolean.parseBoolean(name);
  20013.             } catch(java.lang.Exception e) {
  20014.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  20015.                 this.isProxyReadJMXResourcesHttpsEnabled = false;
  20016.             }    
  20017.         }

  20018.         return this.isProxyReadJMXResourcesHttpsEnabled;
  20019.     }
  20020.    
  20021.     private Boolean isProxyReadJMXResourcesHttpsEnabledVerificaHostName = null;
  20022.     public boolean isProxyReadJMXResourcesHttpsEnabledVerificaHostName() {  
  20023.         if(this.isProxyReadJMXResourcesHttpsEnabledVerificaHostName==null){
  20024.             String pName = "org.openspcoop2.pdd.proxyJMXResources.https.verificaHostName";
  20025.             try{
  20026.                 String name = null;
  20027.                 name = this.reader.getValueConvertEnvProperties(pName);
  20028.                 if(name==null){
  20029.                     this.logDebug(getMessaggioProprietaNonImpostata(pName, true));
  20030.                     name="true";
  20031.                 }
  20032.                 name = name.trim();
  20033.                 this.isProxyReadJMXResourcesHttpsEnabledVerificaHostName = Boolean.parseBoolean(name);
  20034.             } catch(java.lang.Exception e) {
  20035.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  20036.                 this.isProxyReadJMXResourcesHttpsEnabledVerificaHostName = true;
  20037.             }    
  20038.         }

  20039.         return this.isProxyReadJMXResourcesHttpsEnabledVerificaHostName;
  20040.     }
  20041.    
  20042.     private Boolean isProxyReadJMXResourcesHttpsEnabledAutenticazioneServer = null;
  20043.     public boolean isProxyReadJMXResourcesHttpsEnabledAutenticazioneServer() {  
  20044.         if(this.isProxyReadJMXResourcesHttpsEnabledAutenticazioneServer==null){
  20045.             String pName = "org.openspcoop2.pdd.proxyJMXResources.https.autenticazioneServer";
  20046.             try{
  20047.                 String name = null;
  20048.                 name = this.reader.getValueConvertEnvProperties(pName);
  20049.                 if(name==null){
  20050.                     this.logDebug(getMessaggioProprietaNonImpostata(pName, true));
  20051.                     name="true";
  20052.                 }
  20053.                 name = name.trim();
  20054.                 this.isProxyReadJMXResourcesHttpsEnabledAutenticazioneServer = Boolean.parseBoolean(name);
  20055.             } catch(java.lang.Exception e) {
  20056.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  20057.                 this.isProxyReadJMXResourcesHttpsEnabledAutenticazioneServer = true;
  20058.             }    
  20059.         }

  20060.         return this.isProxyReadJMXResourcesHttpsEnabledAutenticazioneServer;
  20061.     }
  20062.    
  20063.     private String getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePath = null;
  20064.     private Boolean getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePathRead = null;
  20065.     public String getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePath() {    
  20066.         if(this.getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePathRead==null){
  20067.             String pName = "org.openspcoop2.pdd.proxyJMXResources.https.autenticazioneServer.truststorePath";
  20068.             try{
  20069.                 String name = null;
  20070.                 name = this.reader.getValueConvertEnvProperties(pName);
  20071.                 if(name!=null){
  20072.                     name = name.trim();
  20073.                 }
  20074.                 else {
  20075.                     throw new CoreException(NON_DEFINITA);
  20076.                 }
  20077.                 this.getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePathRead = true;
  20078.                 this.getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePath = name;
  20079.             } catch(java.lang.Exception e) {
  20080.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  20081.             }    
  20082.         }
  20083.         return this.getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePath;
  20084.     }
  20085.    
  20086.     private String getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststoreType = null;
  20087.     private Boolean getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststoreTypeRead = null;
  20088.     public String getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststoreType() {    
  20089.         if(this.getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststoreTypeRead==null){
  20090.             String pName = "org.openspcoop2.pdd.proxyJMXResources.https.autenticazioneServer.truststoreType";
  20091.             try{
  20092.                 String name = null;
  20093.                 name = this.reader.getValueConvertEnvProperties(pName);
  20094.                 if(name!=null){
  20095.                     name = name.trim();
  20096.                 }
  20097.                 else {
  20098.                     throw new CoreException(NON_DEFINITA);
  20099.                 }
  20100.                 this.getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststoreTypeRead = true;
  20101.                 this.getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststoreType = name;
  20102.             } catch(java.lang.Exception e) {
  20103.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  20104.             }    
  20105.         }
  20106.         return this.getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststoreType;
  20107.     }
  20108.    
  20109.     private String getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePassword = null;
  20110.     private Boolean getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePasswordRead = null;
  20111.     public String getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePassword() {    
  20112.         if(this.getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePasswordRead==null){
  20113.             String pName = "org.openspcoop2.pdd.proxyJMXResources.https.autenticazioneServer.truststorePassword";
  20114.             try{
  20115.                 String name = null;
  20116.                 name = this.reader.getValueConvertEnvProperties(pName);
  20117.                 if(name!=null){
  20118.                     name = name.trim();
  20119.                 }
  20120.                 else {
  20121.                     throw new CoreException(NON_DEFINITA);
  20122.                 }
  20123.                 this.getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePasswordRead = true;
  20124.                 this.getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePassword = name;
  20125.             } catch(java.lang.Exception e) {
  20126.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  20127.             }    
  20128.         }
  20129.         return this.getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePassword;
  20130.     }
  20131.    
  20132.     private Integer getProxyReadJMXResourcesConnectionTimeout = null;
  20133.     public Integer getProxyReadJMXResourcesConnectionTimeout() {    
  20134.         if(this.getProxyReadJMXResourcesConnectionTimeout==null){
  20135.             try{
  20136.                 String name = null;
  20137.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.connection.timeout");
  20138.                 if(name!=null){
  20139.                     name = name.trim();
  20140.                 }
  20141.                 else {
  20142.                     throw new CoreException("non esistente");
  20143.                 }
  20144.                 this.getProxyReadJMXResourcesConnectionTimeout = Integer.valueOf(name);
  20145.             } catch(java.lang.Exception e) {
  20146.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.connection.timeout': "+e.getMessage(),e);
  20147.             }    
  20148.         }
  20149.         return this.getProxyReadJMXResourcesConnectionTimeout;
  20150.     }
  20151.    
  20152.     private Integer getProxyReadJMXResourcesReadTimeout = null;
  20153.     public Integer getProxyReadJMXResourcesReadTimeout() {  
  20154.         if(this.getProxyReadJMXResourcesReadTimeout==null){
  20155.             try{
  20156.                 String name = null;
  20157.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.readConnection.timeout");
  20158.                 if(name!=null){
  20159.                     name = name.trim();
  20160.                 }
  20161.                 else {
  20162.                     throw new CoreException("non esistente");
  20163.                 }
  20164.                 this.getProxyReadJMXResourcesReadTimeout = Integer.valueOf(name);
  20165.             } catch(java.lang.Exception e) {
  20166.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.readConnection.timeout': "+e.getMessage(),e);
  20167.             }    
  20168.         }
  20169.         return this.getProxyReadJMXResourcesReadTimeout;
  20170.     }
  20171.    
  20172.    

  20173.    
  20174.     /* -------------Datasource Wrapped  ---------------------*/
  20175.    
  20176.     private Boolean isDSOp2UtilsEnabled = null;
  20177.     public boolean isDSOp2UtilsEnabled() {  
  20178.         if(this.isDSOp2UtilsEnabled==null){
  20179.             try{
  20180.                 String name = null;
  20181.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.datasource.useDSUtils");
  20182.                 if(name==null){
  20183.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.datasource.useDSUtils' non impostata, viene utilizzato il default=false");
  20184.                     name="false";
  20185.                 }
  20186.                 name = name.trim();
  20187.                 this.isDSOp2UtilsEnabled = Boolean.parseBoolean(name);
  20188.             } catch(java.lang.Exception e) {
  20189.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.datasource.useDSUtils': "+e.getMessage(),e);
  20190.                 this.isDSOp2UtilsEnabled = false;
  20191.             }    
  20192.         }

  20193.         return this.isDSOp2UtilsEnabled;
  20194.     }
  20195.    
  20196.    
  20197.    
  20198.     /* ------------- Datasource check in getConnection event  ---------------------*/
  20199.    
  20200.     private Boolean isDataSourceGetConnectionCheckAutoCommitDisabled = null;
  20201.     public boolean isDataSourceGetConnectionCheckAutoCommitDisabled() {
  20202.         String pName = "org.openspcoop2.pdd.datasource.getConnection.checkAutoCommitDisabled";
  20203.         if(this.isDataSourceGetConnectionCheckAutoCommitDisabled==null){
  20204.             try{
  20205.                 String name = null;
  20206.                 name = this.reader.getValueConvertEnvProperties(pName);
  20207.                 if(name==null){
  20208.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  20209.                     name="true";
  20210.                 }
  20211.                 name = name.trim();
  20212.                 this.isDataSourceGetConnectionCheckAutoCommitDisabled = Boolean.parseBoolean(name);
  20213.             } catch(java.lang.Exception e) {
  20214.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  20215.                 this.isDataSourceGetConnectionCheckAutoCommitDisabled = true;
  20216.             }    
  20217.         }

  20218.         return this.isDataSourceGetConnectionCheckAutoCommitDisabled;
  20219.     }
  20220.    
  20221.     private Boolean isDataSourceGetConnectionCheckTransactionIsolationLevel = null;
  20222.     public boolean isDataSourceGetConnectionCheckTransactionIsolationLevel() {  
  20223.         String pName = "org.openspcoop2.pdd.datasource.getConnection.checkTransactionIsolationLevel";
  20224.         if(this.isDataSourceGetConnectionCheckTransactionIsolationLevel==null){
  20225.             try{
  20226.                 String name = null;
  20227.                 name = this.reader.getValueConvertEnvProperties(pName);
  20228.                 if(name==null){
  20229.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  20230.                     name="true";
  20231.                 }
  20232.                 name = name.trim();
  20233.                 this.isDataSourceGetConnectionCheckTransactionIsolationLevel = Boolean.parseBoolean(name);
  20234.             } catch(java.lang.Exception e) {
  20235.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  20236.                 this.isDataSourceGetConnectionCheckTransactionIsolationLevel = true;
  20237.             }    
  20238.         }

  20239.         return this.isDataSourceGetConnectionCheckTransactionIsolationLevel;
  20240.     }
  20241.    
  20242.     private Integer getDataSourceGetConnectionCheckTransactionIsolationLevelExpected = null;
  20243.     public int getDataSourceGetConnectionCheckTransactionIsolationLevelExpected() {
  20244.         String pName = "org.openspcoop2.pdd.datasource.getConnection.checkTransactionIsolationLevel.expected";
  20245.         if(this.getDataSourceGetConnectionCheckTransactionIsolationLevelExpected==null){
  20246.             try{
  20247.                 String name = null;
  20248.                 name = this.reader.getValueConvertEnvProperties(pName);
  20249.                 if(name==null){
  20250.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,Connection.TRANSACTION_READ_COMMITTED));
  20251.                     name=Connection.TRANSACTION_READ_COMMITTED+"";
  20252.                 }
  20253.                 name = name.trim();
  20254.                 this.getDataSourceGetConnectionCheckTransactionIsolationLevelExpected = Integer.valueOf(name);
  20255.             } catch(java.lang.Exception e) {
  20256.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  20257.                 this.getDataSourceGetConnectionCheckTransactionIsolationLevelExpected = Connection.TRANSACTION_READ_COMMITTED;
  20258.             }    
  20259.         }

  20260.         return this.getDataSourceGetConnectionCheckTransactionIsolationLevelExpected;
  20261.     }
  20262.    

  20263.    
  20264.    
  20265.     /* ------------- NotifierInputStream  ---------------------*/
  20266.    
  20267.     private Boolean isNotifierInputStreamEnabled = null;
  20268.     public boolean isNotifierInputStreamEnabled(){

  20269.         if(this.isNotifierInputStreamEnabled==null){
  20270.             try{  
  20271.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.notifierInputStream.enabled");

  20272.                 if (value != null){
  20273.                     value = value.trim();
  20274.                     this.isNotifierInputStreamEnabled = Boolean.parseBoolean(value);
  20275.                 }else{
  20276.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.notifierInputStream.enabled' non impostata, viene utilizzato il default=false");
  20277.                     this.isNotifierInputStreamEnabled = false;
  20278.                 }

  20279.             }catch(java.lang.Exception e) {
  20280.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.notifierInputStream.enabled' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  20281.                 this.isNotifierInputStreamEnabled = false;
  20282.             }
  20283.         }

  20284.         return this.isNotifierInputStreamEnabled;
  20285.     }
  20286.    
  20287.     private String notifierInputStreamCallback = null;      
  20288.     private Boolean notifierInputStreamCallbackRead = null;    
  20289.     public String getNotifierInputStreamCallback() throws CoreException{
  20290.         if(this.notifierInputStreamCallbackRead==null){
  20291.             try{
  20292.                 this.notifierInputStreamCallback = this.reader.getValue("org.openspcoop2.pdd.notifierInputStream.tipo");
  20293.                 if(this.notifierInputStreamCallback!=null){
  20294.                     this.notifierInputStreamCallback = this.notifierInputStreamCallback.trim();
  20295.                 }
  20296.                 this.notifierInputStreamCallbackRead = true;
  20297.             } catch(java.lang.Exception e) {
  20298.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.notifierInputStream.tipo' non impostata correttamente,  errore:"+e.getMessage(),e);
  20299.                 throw new CoreException("Proprieta' di openspcoop 'org.openspcoop2.pdd.notifierInputStream.tipo' non impostata correttamente,  errore:"+e.getMessage(),e);
  20300.             }
  20301.         }
  20302.         return this.notifierInputStreamCallback;
  20303.     }
  20304.    
  20305.    
  20306.     /* ------------- PipeUnblockedVersion  ---------------------*/
  20307.    
  20308.     private String pipedUnblockedStreamClassName = null;        
  20309.     private Boolean pipedUnblockedStreamClassNameRead = null;      
  20310.     public String getPipedUnblockedStreamClassName() throws CoreException{
  20311.         if(this.pipedUnblockedStreamClassNameRead==null){
  20312.             String pName = "org.openspcoop2.pdd.pipedUnblockedStream.className";
  20313.             try{
  20314.                 this.pipedUnblockedStreamClassName = this.reader.getValue(pName);
  20315.                 if(this.pipedUnblockedStreamClassName!=null){
  20316.                     this.pipedUnblockedStreamClassName = this.pipedUnblockedStreamClassName.trim();
  20317.                 }
  20318.                 this.pipedUnblockedStreamClassNameRead = true;
  20319.             } catch(java.lang.Exception e) {
  20320.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata correttamente,  errore:"+e.getMessage(),e);
  20321.                 throw new CoreException("Proprieta' di openspcoop '"+pName+"' non impostata correttamente,  errore:"+e.getMessage(),e);
  20322.             }
  20323.         }
  20324.         return this.pipedUnblockedStreamClassName;
  20325.     }
  20326.    
  20327.    
  20328.    
  20329.    
  20330.     /* ------------- FORMURLEncoder  ---------------------*/
  20331.    
  20332.     private Boolean isFormUrlEncodedFilterEnabled = null;
  20333.     public boolean isFormUrlEncodedFilterEnabled(){

  20334.         if(this.isFormUrlEncodedFilterEnabled==null){
  20335.             try{  
  20336.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.formUrlEncodedFilter.enabled");

  20337.                 if (value != null){
  20338.                     value = value.trim();
  20339.                     this.isFormUrlEncodedFilterEnabled = Boolean.parseBoolean(value);
  20340.                 }else{
  20341.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.formUrlEncodedFilter.enabled' non impostata, viene utilizzato il default=false");
  20342.                     this.isFormUrlEncodedFilterEnabled = false;
  20343.                 }

  20344.             }catch(java.lang.Exception e) {
  20345.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.formUrlEncodedFilter.enabled' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  20346.                 this.isFormUrlEncodedFilterEnabled = false;
  20347.             }
  20348.         }

  20349.         return this.isFormUrlEncodedFilterEnabled;
  20350.     }
  20351.    
  20352.    
  20353.    
  20354.     /* ------------- FORMURLEncoder  ---------------------*/
  20355.    
  20356.     private Boolean isWildflyUndertowClientCertificateFilterEnabled = null;
  20357.     public boolean isWildflyUndertowClientCertificateFilterEnabled(){

  20358.         String pName = "org.openspcoop2.pdd.wildflyUndertowClientCertificateFilter.enabled";
  20359.         if(this.isWildflyUndertowClientCertificateFilterEnabled==null){
  20360.             try{  
  20361.                 String value = this.reader.getValueConvertEnvProperties(pName);

  20362.                 if (value != null){
  20363.                     value = value.trim();
  20364.                     this.isWildflyUndertowClientCertificateFilterEnabled = Boolean.parseBoolean(value);
  20365.                 }else{
  20366.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  20367.                     this.isWildflyUndertowClientCertificateFilterEnabled = false;
  20368.                 }

  20369.             }catch(java.lang.Exception e) {
  20370.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  20371.                 this.isWildflyUndertowClientCertificateFilterEnabled = false;
  20372.             }
  20373.         }

  20374.         return this.isWildflyUndertowClientCertificateFilterEnabled;
  20375.     }
  20376.    
  20377.    
  20378.    
  20379.    
  20380.     /* ------------- SEMAPHORE  ---------------------*/
  20381.    
  20382.     private Long getSemaphoreTimeoutMS = null;
  20383.     public long getSemaphoreTimeoutMS(){

  20384.         String pName = "org.openspcoop2.pdd.semaphore.timeoutMS";
  20385.         if(this.getSemaphoreTimeoutMS==null){
  20386.             try{  
  20387.                 String value = this.reader.getValueConvertEnvProperties(pName);

  20388.                 if (value != null){
  20389.                     value = value.trim();
  20390.                     this.getSemaphoreTimeoutMS = Long.parseLong(value);
  20391.                 }else{
  20392.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostata, viene utilizzato il default="+Semaphore.DEFAULT_LOCK_ACQUISITION_TIMEOUT_MS);
  20393.                     this.getSemaphoreTimeoutMS = Semaphore.DEFAULT_LOCK_ACQUISITION_TIMEOUT_MS;
  20394.                 }

  20395.             }catch(java.lang.Exception e) {
  20396.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostata, viene utilizzato il default="+Semaphore.DEFAULT_LOCK_ACQUISITION_TIMEOUT_MS+", errore:"+e.getMessage(),e);
  20397.                 this.getSemaphoreTimeoutMS = Semaphore.DEFAULT_LOCK_ACQUISITION_TIMEOUT_MS;
  20398.             }
  20399.         }

  20400.         return this.getSemaphoreTimeoutMS;
  20401.     }
  20402.    
  20403.     private Long getSemaphoreHoldTimeoutMS = null;
  20404.     public long getSemaphoreHoldTimeoutMS(){

  20405.         String pName = "org.openspcoop2.pdd.semaphore.hold.timeoutMS";
  20406.         if(this.getSemaphoreHoldTimeoutMS==null){
  20407.             try{  
  20408.                 String value = this.reader.getValueConvertEnvProperties(pName);

  20409.                 if (value != null){
  20410.                     value = value.trim();
  20411.                     this.getSemaphoreHoldTimeoutMS = Long.parseLong(value);
  20412.                 }else{
  20413.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostata, viene utilizzato il default="+Semaphore.DEFAULT_LOCK_HOLD_TIMEOUT_MS);
  20414.                     this.getSemaphoreHoldTimeoutMS = Semaphore.DEFAULT_LOCK_HOLD_TIMEOUT_MS;
  20415.                 }

  20416.             }catch(java.lang.Exception e) {
  20417.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostata, viene utilizzato il default="+Semaphore.DEFAULT_LOCK_HOLD_TIMEOUT_MS+", errore:"+e.getMessage(),e);
  20418.                 this.getSemaphoreHoldTimeoutMS = Semaphore.DEFAULT_LOCK_HOLD_TIMEOUT_MS;
  20419.             }
  20420.         }

  20421.         return this.getSemaphoreHoldTimeoutMS;
  20422.     }
  20423.    
  20424.     private Boolean isSemaphoreDebug = null;
  20425.     public boolean isSemaphoreDebug(){

  20426.         String pName = "org.openspcoop2.pdd.semaphore.debug";
  20427.         if(this.isSemaphoreDebug==null){
  20428.             try{  
  20429.                 String value = this.reader.getValueConvertEnvProperties(pName);

  20430.                 if (value != null){
  20431.                     value = value.trim();
  20432.                     this.isSemaphoreDebug = Boolean.parseBoolean(value);
  20433.                 }else{
  20434.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  20435.                     this.isSemaphoreDebug = false;
  20436.                 }

  20437.             }catch(java.lang.Exception e) {
  20438.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  20439.                 this.isSemaphoreDebug = false;
  20440.             }
  20441.         }

  20442.         return this.isSemaphoreDebug;
  20443.     }
  20444.    
  20445.     private SemaphoreType getSemaphoreType = null;
  20446.     public SemaphoreType getSemaphoreType(){

  20447.         String pName = "org.openspcoop2.pdd.semaphore.type";
  20448.         if(this.getSemaphoreType==null){
  20449.            
  20450.             SemaphoreType defaultV = SemaphoreType.Semaphore;
  20451.            
  20452.             try{  
  20453.                 String value = this.reader.getValueConvertEnvProperties(pName);

  20454.                 if (value != null){
  20455.                     value = value.trim();
  20456.                     this.getSemaphoreType = SemaphoreType.valueOf(value);
  20457.                 }else{
  20458.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,defaultV.toString()));
  20459.                     this.getSemaphoreType = defaultV;
  20460.                 }

  20461.             }catch(java.lang.Exception e) {
  20462.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,defaultV.toString()),e);
  20463.                 this.getSemaphoreType = defaultV;
  20464.             }
  20465.         }

  20466.         return this.getSemaphoreType;
  20467.     }
  20468.    
  20469.     private Boolean isSemaphoreFair = null;
  20470.     public boolean isSemaphoreFair(){

  20471.         String pName = "org.openspcoop2.pdd.semaphore.fair";
  20472.         if(this.isSemaphoreFair==null){
  20473.             try{  
  20474.                 String value = this.reader.getValueConvertEnvProperties(pName);

  20475.                 if (value != null){
  20476.                     value = value.trim();
  20477.                     this.isSemaphoreFair = Boolean.parseBoolean(value);
  20478.                 }else{
  20479.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  20480.                     this.isSemaphoreFair = true;
  20481.                 }

  20482.             }catch(java.lang.Exception e) {
  20483.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  20484.                 this.isSemaphoreFair = true;
  20485.             }
  20486.         }

  20487.         return this.isSemaphoreFair;
  20488.     }
  20489.    
  20490.    
  20491.        
  20492.     /* ------------- JMINIX Console  ---------------------*/
  20493.    
  20494.     private Integer portJminixConsole = null;
  20495.     private Boolean portJminixConsoleReaded = null;
  20496.     public Integer getPortJminixConsole() {
  20497.         if(this.portJminixConsoleReaded==null){
  20498.             try{
  20499.                 String p = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.jminix.port");
  20500.                 if(p!=null){
  20501.                     p = p.trim();
  20502.                     this.portJminixConsole = Integer.parseInt(p);
  20503.                 }
  20504.                 this.portJminixConsoleReaded = true;
  20505.             } catch(java.lang.Exception e) {
  20506.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.jminix.port': "+e.getMessage(),e);
  20507.                 this.portJminixConsoleReaded = true;
  20508.             }    
  20509.         }

  20510.         return this.portJminixConsole;
  20511.     }
  20512.    
  20513.    
  20514.    
  20515.    

  20516.     /* ------------- Custom Function ---------------------*/
  20517.    
  20518.     private Boolean isEnabledFunctionPD = null;
  20519.     public boolean isEnabledFunctionPD() {  
  20520.         if(this.isEnabledFunctionPD==null){
  20521.             try{
  20522.                 String name = null;
  20523.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.function.pd.enabled");
  20524.                 if(name==null){
  20525.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.function.pd.enabled' non impostata, viene utilizzato il default=false");
  20526.                     name="true";
  20527.                 }
  20528.                 name = name.trim();
  20529.                 this.isEnabledFunctionPD = Boolean.parseBoolean(name);
  20530.             } catch(java.lang.Exception e) {
  20531.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.function.pd.enabled': "+e.getMessage(),e);
  20532.                 this.isEnabledFunctionPD = false;
  20533.             }    
  20534.         }

  20535.         return this.isEnabledFunctionPD;
  20536.     }
  20537.    
  20538.     private Boolean isEnabledFunctionPDtoSOAP = null;
  20539.     public boolean isEnabledFunctionPDtoSOAP() {    
  20540.         if(this.isEnabledFunctionPDtoSOAP==null){
  20541.             try{
  20542.                 String name = null;
  20543.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.function.pdToSoap.enabled");
  20544.                 if(name==null){
  20545.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.function.pdToSoap.enabled' non impostata, viene utilizzato il default=false");
  20546.                     name="true";
  20547.                 }
  20548.                 name = name.trim();
  20549.                 this.isEnabledFunctionPDtoSOAP = Boolean.parseBoolean(name);
  20550.             } catch(java.lang.Exception e) {
  20551.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.function.pdToSoap.enabled': "+e.getMessage(),e);
  20552.                 this.isEnabledFunctionPDtoSOAP = false;
  20553.             }    
  20554.         }

  20555.         return this.isEnabledFunctionPDtoSOAP;
  20556.     }
  20557.    
  20558.     private Boolean isEnabledFunctionPA = null;
  20559.     public boolean isEnabledFunctionPA() {  
  20560.         if(this.isEnabledFunctionPA==null){
  20561.             try{
  20562.                 String name = null;
  20563.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.function.pa.enabled");
  20564.                 if(name==null){
  20565.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.function.pa.enabled' non impostata, viene utilizzato il default=false");
  20566.                     name="true";
  20567.                 }
  20568.                 name = name.trim();
  20569.                 this.isEnabledFunctionPA = Boolean.parseBoolean(name);
  20570.             } catch(java.lang.Exception e) {
  20571.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.function.pa.enabled': "+e.getMessage(),e);
  20572.                 this.isEnabledFunctionPA = false;
  20573.             }    
  20574.         }

  20575.         return this.isEnabledFunctionPA;
  20576.     }
  20577.    
  20578.    
  20579.     private FunctionContextsCustom customContexts = null;
  20580.     public FunctionContextsCustom getCustomContexts() throws UtilsException {  
  20581.         if(this.customContexts==null){
  20582.             try{
  20583.                 Properties p = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.function.custom.");
  20584.                 if(p!=null && p.size()>0) {
  20585.                     Enumeration<Object> en = p.keys();
  20586.                     while (en.hasMoreElements()) {
  20587.                         Object object = (Object) en.nextElement();
  20588.                         if(object instanceof String) {
  20589.                             String s = (String) object;
  20590.                             if(s.endsWith(".context")) {
  20591.                                 String alias = s.substring(0,s.indexOf(".context"));
  20592.                                
  20593.                                 String context = p.getProperty(s);
  20594.                                 if(context==null || "".equals(context.trim())) {
  20595.                                     throw new CoreException("Context not defined for alias '"+alias+"'");
  20596.                                 }
  20597.                                 context = context.trim();
  20598.                                
  20599.                                 String service = p.getProperty(alias+".service");
  20600.                                 boolean serviceFound = false;
  20601.                                 FunctionContextCustom customWithoutSubContext = null;
  20602.                                 IDService idServiceCustomWithoutSubContext = null;
  20603.                                 if(service!=null && !"".equals(service.trim())) {
  20604.                                     idServiceCustomWithoutSubContext = IDService.toEnumConstant(service);
  20605.                                     if(idServiceCustomWithoutSubContext==null) {
  20606.                                         throw new CoreException("Value '"+service+"' unsupported for service in alias '"+alias+"'");
  20607.                                     }
  20608.                                     customWithoutSubContext = new FunctionContextCustom(context, idServiceCustomWithoutSubContext);
  20609.                                     serviceFound = true;
  20610.                                     // lo registro dopo gli eventuali subcontext
  20611.                                 }

  20612.                                 Properties pSubContext = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.function.custom."+alias+".subcontext.");
  20613.                                 if(pSubContext==null || pSubContext.size()<=0) {
  20614.                                     if(!serviceFound) {
  20615.                                         throw new CoreException("Service and SubContext undefined for alias '"+alias+"'");
  20616.                                     }
  20617.                                 }
  20618.                                 else {
  20619.                                     HashMap<String,IDService> subcontextMap = new HashMap<String,IDService>();
  20620.                                     Enumeration<Object> enSubContext = pSubContext.keys();
  20621.                                     while (enSubContext.hasMoreElements()) {
  20622.                                         Object objectSubContext = (Object) enSubContext.nextElement();
  20623.                                         if(objectSubContext instanceof String) {
  20624.                                             String subContextKey = (String) objectSubContext;
  20625.                                             if(subContextKey.endsWith(".url")) {
  20626.                                                 String aliasSubContext = subContextKey.substring(0,subContextKey.indexOf(".url"));
  20627.                                                
  20628.                                                 String subContext = pSubContext.getProperty(subContextKey);
  20629.                                                 if(subContext==null || "".equals(subContext.trim())) {
  20630.                                                     throw new CoreException("Url not defined for alias '"+alias+"', subcontext '"+aliasSubContext+"'");
  20631.                                                 }
  20632.                                                 subContext = subContext.trim();
  20633.                                                
  20634.                                                 String serviceSubContext = pSubContext.getProperty(aliasSubContext+".service");
  20635.                                                 if(serviceSubContext!=null && !"".equals(serviceSubContext.trim())) {
  20636.                                                     IDService idService = IDService.toEnumConstant(serviceSubContext);
  20637.                                                     if(idService==null) {
  20638.                                                         throw new CoreException("Value '"+serviceSubContext+"' unsupported for service in alias '"+alias+"', subcontext '"+aliasSubContext+"'");
  20639.                                                     }
  20640.                                                     subcontextMap.put(subContext, idService);  
  20641.                                                 }
  20642.                                                 else {
  20643.                                                     throw new CoreException("Service not defined for alias '"+alias+"', subcontext '"+aliasSubContext+"'");
  20644.                                                 }
  20645.                                             }
  20646.                                         }
  20647.                                     }
  20648.                                     if(subcontextMap.size()<=0) {
  20649.                                         if(!serviceFound) {
  20650.                                             throw new CoreException("SubContext undefined (wrong configuration) for alias '"+alias+"'");
  20651.                                         }
  20652.                                     }
  20653.                                     else {
  20654.                                         FunctionContextCustom custom = new FunctionContextCustom(context, subcontextMap);
  20655.                                         if(this.customContexts==null) {
  20656.                                             this.customContexts = new FunctionContextsCustom();
  20657.                                         }
  20658.                                         this.customContexts.getContexts().add(custom);
  20659.                                         Iterator<String> itS = subcontextMap.keySet().iterator();
  20660.                                         while (itS.hasNext()) {
  20661.                                             String subContext = (String) itS.next();
  20662.                                             this.logInfo("Registrato context '"+context+"', subcontext '"+subContext+"',  per service '"+subcontextMap.get(subContext)+"'");        
  20663.                                         }
  20664.                                     }
  20665.                                 }
  20666.                                
  20667.                                 if(customWithoutSubContext!=null) {
  20668.                                     if(this.customContexts==null) {
  20669.                                         this.customContexts = new FunctionContextsCustom();
  20670.                                     }
  20671.                                     this.customContexts.getContexts().add(customWithoutSubContext);
  20672.                                     this.logInfo("Registrato context '"+context+"' per service '"+idServiceCustomWithoutSubContext+"'");
  20673.                                 }
  20674.                             }
  20675.                         }
  20676.                     }
  20677.                 }
  20678.                
  20679.             } catch(java.lang.Exception e) {
  20680.                 this.logError("Riscontrato errore durante la lettura dei custom contexts: "+e.getMessage(),e);
  20681.                 throw new UtilsException("Riscontrato errore durante la lettura dei custom contexts: "+e.getMessage(),e);
  20682.             }    
  20683.         }

  20684.         return this.customContexts;
  20685.     }
  20686.    
  20687.    
  20688.    
  20689.    
  20690.     /* ------------- Custom Container ---------------------*/
  20691.    
  20692.     private Boolean realContainerCustomRead = null;
  20693.     private String realContainerCustom = null;
  20694.     public String getRealContainerCustom() {    
  20695.         if(this.realContainerCustomRead==null){
  20696.             try{
  20697.                 String v = null;
  20698.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.realmContainer.custom");
  20699.                 if(v!=null){
  20700.                     v = v.trim();
  20701.                     this.realContainerCustom = v;
  20702.                 }
  20703.             } catch(java.lang.Exception e) {
  20704.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.realmContainer.custom' non impostata correttamente,  errore:"+e.getMessage(),e);
  20705.             }
  20706.         }
  20707.         this.realContainerCustomRead = true;
  20708.         return this.realContainerCustom;
  20709.     }
  20710.    
  20711.    
  20712.     /* ------------- govway_configurazioneSistema ---------------------*/
  20713.    
  20714.     private Boolean isConfigurazioneSistema_javaProperties_showPassword = null;
  20715.     public boolean isConfigurazioneSistema_javaProperties_showPassword(){

  20716.         String pName = "org.openspcoop2.pdd.configurazioneSistema.javaProperties.showPassword";
  20717.         if(this.isConfigurazioneSistema_javaProperties_showPassword==null){
  20718.             try{  
  20719.                 String value = this.reader.getValueConvertEnvProperties(pName);

  20720.                 if (value != null){
  20721.                     value = value.trim();
  20722.                     this.isConfigurazioneSistema_javaProperties_showPassword = Boolean.parseBoolean(value);
  20723.                 }else{
  20724.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  20725.                     this.isConfigurazioneSistema_javaProperties_showPassword = false;
  20726.                 }

  20727.             }catch(java.lang.Exception e) {
  20728.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  20729.                 this.isConfigurazioneSistema_javaProperties_showPassword = false;
  20730.             }
  20731.         }

  20732.         return this.isConfigurazioneSistema_javaProperties_showPassword;
  20733.     }
  20734.    
  20735.    
  20736.     /* ------------- govway startup ---------------------*/
  20737.    
  20738.     private Integer getStartupRichiesteIngressoTimeout = null;
  20739.     public int getStartupRichiesteIngressoTimeoutSecondi() {    
  20740.         if(this.getStartupRichiesteIngressoTimeout==null){
  20741.             String pName = "org.openspcoop2.pdd.startup.richiesteIngresso.timeout";
  20742.             try{
  20743.                 String name = null;
  20744.                 name = this.reader.getValueConvertEnvProperties(pName);

  20745.                 if(name!=null){
  20746.                     name = name.trim();
  20747.                     this.getStartupRichiesteIngressoTimeout = java.lang.Integer.parseInt(name);
  20748.                 }else{
  20749.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,CostantiPdD.WAIT_STARTUP_TIMEOUT_SECONDS));
  20750.                     this.getStartupRichiesteIngressoTimeout = CostantiPdD.WAIT_STARTUP_TIMEOUT_SECONDS;
  20751.                 }
  20752.             }catch(java.lang.Exception e) {
  20753.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,CostantiPdD.WAIT_STARTUP_TIMEOUT_SECONDS),e);
  20754.                 this.getStartupRichiesteIngressoTimeout = CostantiPdD.WAIT_STARTUP_TIMEOUT_SECONDS;
  20755.             }
  20756.         }

  20757.         return this.getStartupRichiesteIngressoTimeout;
  20758.     }
  20759.     private Integer getStartupRichiesteIngressoCheck = null;
  20760.     public int getStartupRichiesteIngressoCheckMs() {  
  20761.         if(this.getStartupRichiesteIngressoCheck==null){
  20762.             String pName = "org.openspcoop2.pdd.startup.richiesteIngresso.check";
  20763.             try{
  20764.                 String name = null;
  20765.                 name = this.reader.getValueConvertEnvProperties(pName);

  20766.                 if(name!=null){
  20767.                     name = name.trim();
  20768.                     this.getStartupRichiesteIngressoCheck = java.lang.Integer.parseInt(name);
  20769.                 }else{
  20770.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,CostantiPdD.WAIT_STARTUP_CHECK_INTERVAL_MS));
  20771.                     this.getStartupRichiesteIngressoCheck = CostantiPdD.WAIT_STARTUP_CHECK_INTERVAL_MS;
  20772.                 }
  20773.             }catch(java.lang.Exception e) {
  20774.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,CostantiPdD.WAIT_STARTUP_CHECK_INTERVAL_MS),e);
  20775.                 this.getStartupRichiesteIngressoCheck = CostantiPdD.WAIT_STARTUP_CHECK_INTERVAL_MS;
  20776.             }
  20777.         }

  20778.         return this.getStartupRichiesteIngressoCheck;
  20779.     }
  20780.    
  20781.     private Integer getStartupLockMaxLife = null;
  20782.     public int getStartupLockMaxLife() {    
  20783.         if(this.getStartupLockMaxLife==null){
  20784.             try{
  20785.                 String name = null;
  20786.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.startup.lock.maxLife");

  20787.                 if(name!=null){
  20788.                     name = name.trim();
  20789.                     this.getStartupLockMaxLife = java.lang.Integer.parseInt(name);
  20790.                 }else{
  20791.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.startup.lock.maxLife' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_MAX_LIFE);
  20792.                     this.getStartupLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  20793.                 }
  20794.             }catch(java.lang.Exception e) {
  20795.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.startup.lock.maxLife' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_MAX_LIFE+", errore:"+e.getMessage(),e);
  20796.                 this.getStartupLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  20797.             }
  20798.             if(this.getStartupLockMaxLife!=null && this.getStartupLockMaxLife>0) {
  20799.                 // trasformo in millisecondi l'informazione fornita in secondi
  20800.                 this.getStartupLockMaxLife = this.getStartupLockMaxLife *1000;
  20801.             }
  20802.         }

  20803.         if(this.getStartupLockMaxLife!=null) {
  20804.             return this.getStartupLockMaxLife.intValue();
  20805.         }
  20806.         return -1;
  20807.     }
  20808.    
  20809.     private Integer getStartupLockIdleTime = null;
  20810.     public int getStartupLockIdleTime() {  
  20811.         if(this.getStartupLockIdleTime==null){
  20812.             try{
  20813.                 String name = null;
  20814.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.startup.lock.idleTime");

  20815.                 if(name!=null){
  20816.                     name = name.trim();
  20817.                     this.getStartupLockIdleTime = java.lang.Integer.parseInt(name);
  20818.                 }else{
  20819.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.startup.lock.idleTime' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_IDLE_TIME);
  20820.                     this.getStartupLockIdleTime = CostantiPdD.TIMER_LOCK_IDLE_TIME;
  20821.                 }
  20822.             }catch(java.lang.Exception e) {
  20823.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.startup.lock.idleTime' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_IDLE_TIME+", errore:"+e.getMessage(),e);
  20824.                 this.getStartupLockIdleTime = CostantiPdD.TIMER_LOCK_IDLE_TIME;
  20825.             }
  20826.             if(this.getStartupLockIdleTime!=null && this.getStartupLockIdleTime>0) {
  20827.                 // trasformo in millisecondi l'informazione fornita in secondi
  20828.                 this.getStartupLockIdleTime = this.getStartupLockIdleTime *1000;
  20829.             }
  20830.         }

  20831.         if(this.getStartupLockIdleTime!=null) {
  20832.             return this.getStartupLockIdleTime.intValue();
  20833.         }
  20834.         return -1;
  20835.     }
  20836.    
  20837.     private Long getStartupGetLockAttesaAttiva = null;
  20838.     public long getStartupGetLockAttesaAttiva() {  
  20839.         if(this.getStartupGetLockAttesaAttiva==null){
  20840.             String pName = "org.openspcoop2.pdd.startup.lock.attesaAttiva";
  20841.             try{
  20842.                 String name = null;
  20843.                 name = this.reader.getValueConvertEnvProperties(pName);

  20844.                 if(name!=null){
  20845.                     name = name.trim();
  20846.                     long time = java.lang.Long.parseLong(name);
  20847.                     this.getStartupGetLockAttesaAttiva = time*1000;
  20848.                 }else{
  20849.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA);
  20850.                     this.getStartupGetLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  20851.                 }

  20852.             }catch(java.lang.Exception e) {
  20853.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA+", errore:"+e.getMessage(),e);
  20854.                 this.getStartupGetLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  20855.             }    
  20856.         }

  20857.         return this.getStartupGetLockAttesaAttiva;
  20858.     }

  20859.     private Integer getStartupGetLockCheckInterval = null;
  20860.     public int getStartupGetLockCheckInterval() {  
  20861.         if(this.getStartupGetLockCheckInterval==null){
  20862.             String pName = "org.openspcoop2.pdd.startup.lock.check";
  20863.             try{
  20864.                 String name = null;
  20865.                 name = this.reader.getValueConvertEnvProperties(pName);

  20866.                 if(name!=null){
  20867.                     name = name.trim();
  20868.                     int time = java.lang.Integer.parseInt(name);
  20869.                     this.getStartupGetLockCheckInterval = time;
  20870.                 }else{
  20871.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL);
  20872.                     this.getStartupGetLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  20873.                 }
  20874.             }catch(java.lang.Exception e) {
  20875.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL+", errore:"+e.getMessage(),e);
  20876.                 this.getStartupGetLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  20877.             }  
  20878.         }

  20879.         return this.getStartupGetLockCheckInterval;
  20880.     }
  20881.    
  20882.    
  20883.     /* ------------- ExtendedInfo ---------------------*/
  20884.    
  20885.     private String extendedInfoConfigurazione = null;      
  20886.     private Boolean extendedInfoConfigurazioneRead = null;      
  20887.     public String getExtendedInfoConfigurazione() throws CoreException{
  20888.         if(this.extendedInfoConfigurazioneRead==null){
  20889.             String pName = "org.openspcoop2.pdd.config.extendedInfo.configurazione";
  20890.             try{
  20891.                 this.extendedInfoConfigurazione = this.reader.getValue(pName);
  20892.                 if(this.extendedInfoConfigurazione!=null){
  20893.                     this.extendedInfoConfigurazione = this.extendedInfoConfigurazione.trim();
  20894.                     this.extendedInfoConfigurazioneRead = true;
  20895.                 }
  20896.             } catch(java.lang.Exception e) {
  20897.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata correttamente,  errore:"+e.getMessage(),e);
  20898.                 throw new CoreException("Proprieta' di openspcoop '"+pName+"' non impostata correttamente,  errore:"+e.getMessage(),e);
  20899.             }
  20900.         }
  20901.         return this.extendedInfoConfigurazione;
  20902.     }
  20903.    
  20904.     private String extendedInfoPortaDelegata = null;        
  20905.     private Boolean extendedInfoPortaDelegataRead = null;      
  20906.     public String getExtendedInfoPortaDelegata() throws CoreException{
  20907.         if(this.extendedInfoPortaDelegataRead==null){
  20908.             String pName = "org.openspcoop2.pdd.config.extendedInfo.portaDelegata";
  20909.             try{
  20910.                 this.extendedInfoPortaDelegata = this.reader.getValue(pName);
  20911.                 if(this.extendedInfoPortaDelegata!=null){
  20912.                     this.extendedInfoPortaDelegata = this.extendedInfoPortaDelegata.trim();
  20913.                     this.extendedInfoPortaDelegataRead = true;
  20914.                 }
  20915.             } catch(java.lang.Exception e) {
  20916.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata correttamente,  errore:"+e.getMessage(),e);
  20917.                 throw new CoreException("Proprieta' di openspcoop '"+pName+"' non impostata correttamente,  errore:"+e.getMessage(),e);
  20918.             }
  20919.         }
  20920.         return this.extendedInfoPortaDelegata;
  20921.     }
  20922.    
  20923.     private String extendedInfoPortaApplicativa = null;    
  20924.     private Boolean extendedInfoPortaApplicativaRead = null;        
  20925.     public String getExtendedInfoPortaApplicativa() throws CoreException{
  20926.         if(this.extendedInfoPortaApplicativaRead==null){
  20927.             String pName = "org.openspcoop2.pdd.config.extendedInfo.portaApplicativa";
  20928.             try{
  20929.                 this.extendedInfoPortaApplicativa = this.reader.getValue(pName);
  20930.                 if(this.extendedInfoPortaApplicativa!=null){
  20931.                     this.extendedInfoPortaApplicativa = this.extendedInfoPortaApplicativa.trim();
  20932.                     this.extendedInfoPortaApplicativaRead = true;
  20933.                 }
  20934.             } catch(java.lang.Exception e) {
  20935.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata correttamente,  errore:"+e.getMessage(),e);
  20936.                 throw new CoreException("Proprieta' di openspcoop '"+pName+"' non impostata correttamente,  errore:"+e.getMessage(),e);
  20937.             }
  20938.         }
  20939.         return this.extendedInfoPortaApplicativa;
  20940.     }
  20941.    
  20942.    
  20943.    
  20944.    
  20945.    
  20946.    
  20947.    
  20948.     /* ------------- Validazione Contenuti Applicativi ---------------------*/
  20949.    
  20950.     private Boolean isValidazioneContenutiApplicativiDebug = null;
  20951.     public boolean isValidazioneContenutiApplicativiDebug(){

  20952.         if(this.isValidazioneContenutiApplicativiDebug==null){
  20953.             try{  
  20954.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.validazioneContenutiApplicativi.debug");

  20955.                 if (value != null){
  20956.                     value = value.trim();
  20957.                     this.isValidazioneContenutiApplicativiDebug = Boolean.parseBoolean(value);
  20958.                 }else{
  20959.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.validazioneContenutiApplicativi.debug' non impostata, viene utilizzato il default=false");
  20960.                     this.isValidazioneContenutiApplicativiDebug = false;
  20961.                 }

  20962.             }catch(java.lang.Exception e) {
  20963.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.validazioneContenutiApplicativi.debug' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  20964.                 this.isValidazioneContenutiApplicativiDebug = false;
  20965.             }
  20966.         }

  20967.         return this.isValidazioneContenutiApplicativiDebug;
  20968.     }
  20969.    
  20970.     private Boolean isValidazioneContenutiApplicativiBufferContentRead = null;
  20971.     public boolean isValidazioneContenutiApplicativiBufferContentRead(){

  20972.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.buffer";
  20973.         if(this.isValidazioneContenutiApplicativiBufferContentRead==null){
  20974.             try{  
  20975.                 String value = this.reader.getValueConvertEnvProperties(pName);

  20976.                 if (value != null){
  20977.                     value = value.trim();
  20978.                     this.isValidazioneContenutiApplicativiBufferContentRead = Boolean.parseBoolean(value);
  20979.                 }else{
  20980.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  20981.                     this.isValidazioneContenutiApplicativiBufferContentRead = true;
  20982.                 }

  20983.             }catch(java.lang.Exception e) {
  20984.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  20985.                 this.isValidazioneContenutiApplicativiBufferContentRead = true;
  20986.             }
  20987.         }

  20988.         return this.isValidazioneContenutiApplicativiBufferContentRead;
  20989.     }
  20990.    
  20991.     private Boolean isValidazioneContenutiApplicativiXsdBuildSchemaSuccessSerializeXSDCollection = null;
  20992.     public boolean isValidazioneContenutiApplicativiXsdBuildSchemaSuccessSerializeXSDCollection(){

  20993.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.xsd.buildSchemaSuccess.serializeXSDCollection";
  20994.         if(this.isValidazioneContenutiApplicativiXsdBuildSchemaSuccessSerializeXSDCollection==null){
  20995.             try{  
  20996.                 String value = this.reader.getValueConvertEnvProperties(pName);

  20997.                 if (value != null){
  20998.                     value = value.trim();
  20999.                     this.isValidazioneContenutiApplicativiXsdBuildSchemaSuccessSerializeXSDCollection = Boolean.parseBoolean(value);
  21000.                 }else{
  21001.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21002.                     this.isValidazioneContenutiApplicativiXsdBuildSchemaSuccessSerializeXSDCollection = false;
  21003.                 }

  21004.             }catch(java.lang.Exception e) {
  21005.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21006.                 this.isValidazioneContenutiApplicativiXsdBuildSchemaSuccessSerializeXSDCollection = false;
  21007.             }
  21008.         }

  21009.         return this.isValidazioneContenutiApplicativiXsdBuildSchemaSuccessSerializeXSDCollection;
  21010.     }
  21011.    
  21012.     private Boolean isValidazioneContenutiApplicativiXsdBuildSchemaErrorSerializeXSDCollection = null;
  21013.     public boolean isValidazioneContenutiApplicativiXsdBuildSchemaErrorSerializeXSDCollection(){

  21014.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.xsd.buildSchemaError.serializeXSDCollection";
  21015.         if(this.isValidazioneContenutiApplicativiXsdBuildSchemaErrorSerializeXSDCollection==null){
  21016.             try{  
  21017.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21018.                 if (value != null){
  21019.                     value = value.trim();
  21020.                     this.isValidazioneContenutiApplicativiXsdBuildSchemaErrorSerializeXSDCollection = Boolean.parseBoolean(value);
  21021.                 }else{
  21022.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  21023.                     this.isValidazioneContenutiApplicativiXsdBuildSchemaErrorSerializeXSDCollection = true;
  21024.                 }

  21025.             }catch(java.lang.Exception e) {
  21026.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  21027.                 this.isValidazioneContenutiApplicativiXsdBuildSchemaErrorSerializeXSDCollection = true;
  21028.             }
  21029.         }

  21030.         return this.isValidazioneContenutiApplicativiXsdBuildSchemaErrorSerializeXSDCollection;
  21031.     }
  21032.    
  21033.     private File getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDir = null;
  21034.     private Boolean getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDirRead = null;
  21035.     public File getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDir() throws CoreException{

  21036.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.xsd.buildSchema.serializeXSDCollection.dir";
  21037.         if(this.getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDirRead==null){
  21038.             try{  
  21039.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21040.                 if (value != null){
  21041.                     value = value.trim();
  21042.                     value = LoggerWrapperFactory.applyClusterIdStrategy(value, "xsdCollection");
  21043.                     this.getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDir = new File(value);
  21044.                     checkValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDir();
  21045.                 }

  21046.             }catch(java.lang.Exception e) {
  21047.                 this.logError("Riscontrato errore per la directory che deve collezionare gli xsd schema ("+pName+"): "+e.getMessage(),e);
  21048.                 throw new CoreException(e.getMessage(),e);
  21049.             }
  21050.            
  21051.             this.getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDirRead = true;
  21052.         }

  21053.         return this.getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDir;
  21054.     }
  21055.     private void checkValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDir() throws CoreException, UtilsException {  
  21056.         if(this.getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDir.exists()) {
  21057.             if(!this.getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDir.isDirectory()) {
  21058.                 throw newCoreExceptionNotDir(this.getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDir,true);
  21059.             }
  21060.             if(!this.getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDir.canRead()) {
  21061.                 throw newCoreExceptionCannotRead(this.getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDir, true);
  21062.             }
  21063.             if(!this.getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDir.canWrite()) {
  21064.                 throw newCoreExceptionCannotWrite(this.getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDir, true);
  21065.             }
  21066.         }
  21067.         else {
  21068.             FileSystemMkdirConfig configMkdir = new FileSystemMkdirConfig();
  21069.             configMkdir.setCheckCanWrite(true);
  21070.             configMkdir.setCheckCanRead(true);
  21071.             configMkdir.setCheckCanExecute(false);
  21072.             configMkdir.setCrateParentIfNotExists(true);
  21073.             FileSystemUtilities.mkdir(this.getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDir, configMkdir);
  21074.         }
  21075.     }
  21076.    
  21077.    
  21078.    
  21079.    
  21080.        
  21081.     private Boolean isValidazioneContenutiApplicativiRpcLiteralXsiTypeGestione = null;
  21082.     public boolean isValidazioneContenutiApplicativiRpcLiteralXsiTypeGestione(){

  21083.         if(this.isValidazioneContenutiApplicativiRpcLiteralXsiTypeGestione==null){
  21084.             try{  
  21085.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.validazioneContenutiApplicativi.rpcLiteral.xsiType.gestione");

  21086.                 if (value != null){
  21087.                     value = value.trim();
  21088.                     this.isValidazioneContenutiApplicativiRpcLiteralXsiTypeGestione = Boolean.parseBoolean(value);
  21089.                 }else{
  21090.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.validazioneContenutiApplicativi.rpcLiteral.xsiType.gestione' non impostata, viene utilizzato il default=true");
  21091.                     this.isValidazioneContenutiApplicativiRpcLiteralXsiTypeGestione = true;
  21092.                 }

  21093.             }catch(java.lang.Exception e) {
  21094.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.validazioneContenutiApplicativi.rpcLiteral.xsiType.gestione' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  21095.                 this.isValidazioneContenutiApplicativiRpcLiteralXsiTypeGestione = true;
  21096.             }
  21097.         }

  21098.         return this.isValidazioneContenutiApplicativiRpcLiteralXsiTypeGestione;
  21099.     }
  21100.    
  21101.     private Boolean isValidazioneContenutiApplicativiRpcLiteralXsiTypeRipulituraDopoValidazione = null;
  21102.     public boolean isValidazioneContenutiApplicativiRpcLiteralXsiTypeRipulituraDopoValidazione(){

  21103.         if(this.isValidazioneContenutiApplicativiRpcLiteralXsiTypeRipulituraDopoValidazione==null){
  21104.             try{  
  21105.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.validazioneContenutiApplicativi.rpcLiteral.xsiType.ripulituraDopoValidazione");

  21106.                 if (value != null){
  21107.                     value = value.trim();
  21108.                     this.isValidazioneContenutiApplicativiRpcLiteralXsiTypeRipulituraDopoValidazione = Boolean.parseBoolean(value);
  21109.                 }else{
  21110.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.validazioneContenutiApplicativi.rpcLiteral.xsiType.ripulituraDopoValidazione' non impostata, viene utilizzato il default=true");
  21111.                     this.isValidazioneContenutiApplicativiRpcLiteralXsiTypeRipulituraDopoValidazione = true;
  21112.                 }

  21113.             }catch(java.lang.Exception e) {
  21114.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.validazioneContenutiApplicativi.rpcLiteral.xsiType.ripulituraDopoValidazione' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  21115.                 this.isValidazioneContenutiApplicativiRpcLiteralXsiTypeRipulituraDopoValidazione = true;
  21116.             }
  21117.         }

  21118.         return this.isValidazioneContenutiApplicativiRpcLiteralXsiTypeRipulituraDopoValidazione;
  21119.     }
  21120.    
  21121.     private Boolean isValidazioneContenutiApplicativiRpcAddNamespaceXSITypeIfNotExists = null;
  21122.     public boolean isValidazioneContenutiApplicativiRpcAddNamespaceXSITypeIfNotExists(){

  21123.         if(this.isValidazioneContenutiApplicativiRpcAddNamespaceXSITypeIfNotExists==null){
  21124.             String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.rpc.addNamespaceXSITypeIfNotExists";
  21125.             try{  
  21126.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21127.                 if (value != null){
  21128.                     value = value.trim();
  21129.                     this.isValidazioneContenutiApplicativiRpcAddNamespaceXSITypeIfNotExists = Boolean.parseBoolean(value);
  21130.                 }else{
  21131.                     this.logWarn(this.getMessaggioProprietaNonImpostata(pName, true));
  21132.                     this.isValidazioneContenutiApplicativiRpcAddNamespaceXSITypeIfNotExists = true;
  21133.                 }

  21134.             }catch(java.lang.Exception e) {
  21135.                 this.logWarn(this.getMessaggioProprietaNonImpostata(pName, e, true),e);
  21136.                 this.isValidazioneContenutiApplicativiRpcAddNamespaceXSITypeIfNotExists = true;
  21137.             }
  21138.         }

  21139.         return this.isValidazioneContenutiApplicativiRpcAddNamespaceXSITypeIfNotExists;
  21140.     }
  21141.    
  21142.     private Boolean isValidazioneContenutiApplicativiDocumentAddNamespaceXSITypeIfNotExists = null;
  21143.     public boolean isValidazioneContenutiApplicativiDocumentAddNamespaceXSITypeIfNotExists(){

  21144.         if(this.isValidazioneContenutiApplicativiDocumentAddNamespaceXSITypeIfNotExists==null){
  21145.             String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.document.addNamespaceXSITypeIfNotExists";
  21146.             try{  
  21147.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21148.                 if (value != null){
  21149.                     value = value.trim();
  21150.                     this.isValidazioneContenutiApplicativiDocumentAddNamespaceXSITypeIfNotExists = Boolean.parseBoolean(value);
  21151.                 }else{
  21152.                     this.logWarn(this.getMessaggioProprietaNonImpostata(pName, false));
  21153.                     this.isValidazioneContenutiApplicativiDocumentAddNamespaceXSITypeIfNotExists = true;
  21154.                 }

  21155.             }catch(java.lang.Exception e) {
  21156.                 this.logWarn(this.getMessaggioProprietaNonImpostata(pName, e, false),e);
  21157.                 this.isValidazioneContenutiApplicativiDocumentAddNamespaceXSITypeIfNotExists = true;
  21158.             }
  21159.         }

  21160.         return this.isValidazioneContenutiApplicativiDocumentAddNamespaceXSITypeIfNotExists;
  21161.     }
  21162.    
  21163.     private Boolean isValidazioneContenutiApplicativiXsdAddNamespaceXSITypeIfNotExists = null;
  21164.     public boolean isValidazioneContenutiApplicativiXsdAddNamespaceXSITypeIfNotExists(){

  21165.         if(this.isValidazioneContenutiApplicativiXsdAddNamespaceXSITypeIfNotExists==null){
  21166.             String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.xsd.addNamespaceXSITypeIfNotExists";
  21167.             try{  
  21168.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21169.                 if (value != null){
  21170.                     value = value.trim();
  21171.                     this.isValidazioneContenutiApplicativiXsdAddNamespaceXSITypeIfNotExists = Boolean.parseBoolean(value);
  21172.                 }else{
  21173.                     this.logWarn(this.getMessaggioProprietaNonImpostata(pName, false));
  21174.                     this.isValidazioneContenutiApplicativiXsdAddNamespaceXSITypeIfNotExists = true;
  21175.                 }

  21176.             }catch(java.lang.Exception e) {
  21177.                 this.logWarn(this.getMessaggioProprietaNonImpostata(pName, e, false),e);
  21178.                 this.isValidazioneContenutiApplicativiXsdAddNamespaceXSITypeIfNotExists = true;
  21179.             }
  21180.         }

  21181.         return this.isValidazioneContenutiApplicativiXsdAddNamespaceXSITypeIfNotExists;
  21182.     }
  21183.    
  21184.     private Boolean isValidazioneContenutiApplicativiRpcAcceptRootElementUnqualified = null;
  21185.     public boolean isValidazioneContenutiApplicativiRpcAcceptRootElementUnqualified(){

  21186.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.rpc.rootElement.unqualified.accept";
  21187.         if(this.isValidazioneContenutiApplicativiRpcAcceptRootElementUnqualified==null){
  21188.             try{  
  21189.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21190.                 if (value != null){
  21191.                     value = value.trim();
  21192.                     this.isValidazioneContenutiApplicativiRpcAcceptRootElementUnqualified = Boolean.parseBoolean(value);
  21193.                 }else{
  21194.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  21195.                     this.isValidazioneContenutiApplicativiRpcAcceptRootElementUnqualified = true;
  21196.                 }

  21197.             }catch(java.lang.Exception e) {
  21198.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  21199.                 this.isValidazioneContenutiApplicativiRpcAcceptRootElementUnqualified = true;
  21200.             }
  21201.         }

  21202.         return this.isValidazioneContenutiApplicativiRpcAcceptRootElementUnqualified;
  21203.     }
  21204.    
  21205.     private Boolean isValidazioneContenutiApplicativiCheckSoapAction = null;
  21206.     public boolean isValidazioneContenutiApplicativiCheckSoapAction(){

  21207.         if(this.isValidazioneContenutiApplicativiCheckSoapAction==null){
  21208.             try{  
  21209.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.validazioneContenutiApplicativi.soapAction.check");

  21210.                 if (value != null){
  21211.                     value = value.trim();
  21212.                     this.isValidazioneContenutiApplicativiCheckSoapAction = Boolean.parseBoolean(value);
  21213.                 }else{
  21214.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.validazioneContenutiApplicativi.soapAction.check' non impostata, viene utilizzato il default=true");
  21215.                     this.isValidazioneContenutiApplicativiCheckSoapAction = true;
  21216.                 }

  21217.             }catch(java.lang.Exception e) {
  21218.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.validazioneContenutiApplicativi.soapAction.check' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  21219.                 this.isValidazioneContenutiApplicativiCheckSoapAction = true;
  21220.             }
  21221.         }

  21222.         return this.isValidazioneContenutiApplicativiCheckSoapAction;
  21223.     }
  21224.    
  21225.     private ADDITIONAL getValidazioneContenutiApplicativiJsonPolicyAdditionalProperties = null;
  21226.     public ADDITIONAL getValidazioneContenutiApplicativiJsonPolicyAdditionalProperties(){

  21227.         if(this.getValidazioneContenutiApplicativiJsonPolicyAdditionalProperties==null){
  21228.             try{  
  21229.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.validazioneContenutiApplicativi.json.additionalProperties");

  21230.                 if (value != null){
  21231.                     value = value.trim();
  21232.                     this.getValidazioneContenutiApplicativiJsonPolicyAdditionalProperties = ADDITIONAL.valueOf(value);
  21233.                 }else{
  21234.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.validazioneContenutiApplicativi.json.additionalProperties' non impostata, viene utilizzato il default");
  21235.                     this.getValidazioneContenutiApplicativiJsonPolicyAdditionalProperties = ADDITIONAL.DEFAULT;
  21236.                 }

  21237.             }catch(java.lang.Exception e) {
  21238.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.validazioneContenutiApplicativi.json.additionalProperties' con un valore non ammesso (valori consentiti: "+ADDITIONAL.DEFAULT.name()+","+ADDITIONAL.IF_NULL_DISABLE+","+ADDITIONAL.FORCE_DISABLE+"), viene utilizzato il default, errore:"+e.getMessage(),e);
  21239.                 this.getValidazioneContenutiApplicativiJsonPolicyAdditionalProperties = ADDITIONAL.DEFAULT;
  21240.             }
  21241.         }

  21242.         return this.getValidazioneContenutiApplicativiJsonPolicyAdditionalProperties;
  21243.     }
  21244.    
  21245.    
  21246.     private ApiName getValidazioneContenutiApplicativiOpenApiJsonValidator = null;
  21247.     public ApiName getValidazioneContenutiApplicativiOpenApiJsonValidator(){

  21248.         if(this.getValidazioneContenutiApplicativiOpenApiJsonValidator==null){
  21249.             try{  
  21250.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.json.validator");

  21251.                 if (value != null){
  21252.                     value = value.trim();
  21253.                     this.getValidazioneContenutiApplicativiOpenApiJsonValidator = ApiName.valueOf(value);
  21254.                 }else{
  21255.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.json.validator' non impostata, viene utilizzato il default "+ApiName.NETWORK_NT);
  21256.                     this.getValidazioneContenutiApplicativiOpenApiJsonValidator = ApiName.NETWORK_NT;
  21257.                 }

  21258.             }catch(java.lang.Exception e) {
  21259.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.json.validator' con un valore non ammesso (valori consentiti: "+ApiName.NETWORK_NT.name()+","+ApiName.FGE+","+ApiName.EVERIT+"), viene utilizzato il default, errore:"+e.getMessage(),e);
  21260.                 this.getValidazioneContenutiApplicativiOpenApiJsonValidator = ApiName.NETWORK_NT;
  21261.             }
  21262.         }

  21263.         return this.getValidazioneContenutiApplicativiOpenApiJsonValidator;
  21264.     }
  21265.    
  21266.     private OpenAPILibrary getValidazioneContenutiApplicativiOpenApiLibrary = null;
  21267.     public OpenAPILibrary getValidazioneContenutiApplicativiOpenApiLibrary(){

  21268.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.library";
  21269.         OpenAPILibrary defaultValue = OpenAPILibrary.openapi4j;
  21270.        
  21271.         if(this.getValidazioneContenutiApplicativiOpenApiLibrary==null){
  21272.             try{  
  21273.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21274.                 if (value != null){
  21275.                     value = value.trim();
  21276.                     this.getValidazioneContenutiApplicativiOpenApiLibrary = OpenAPILibrary.valueOf(value);
  21277.                 }else{
  21278.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,defaultValue.toString()));
  21279.                     this.getValidazioneContenutiApplicativiOpenApiLibrary = defaultValue;
  21280.                 }

  21281.             }catch(java.lang.Exception e) {
  21282.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, defaultValue.toString()),e);
  21283.                 this.getValidazioneContenutiApplicativiOpenApiLibrary = defaultValue;
  21284.             }
  21285.         }

  21286.         return this.getValidazioneContenutiApplicativiOpenApiLibrary;
  21287.     }

  21288.     private Boolean isValidazioneContenutiApplicativiOpenApiMergeAPISpec = null;
  21289.     public boolean isValidazioneContenutiApplicativiOpenApiMergeAPISpec(){

  21290.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.mergeAPISpec";
  21291.        
  21292.         if(this.isValidazioneContenutiApplicativiOpenApiMergeAPISpec==null){
  21293.             try{  
  21294.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21295.                 if (value != null){
  21296.                     value = value.trim();
  21297.                     this.isValidazioneContenutiApplicativiOpenApiMergeAPISpec = Boolean.parseBoolean(value);
  21298.                 }else{
  21299.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21300.                     this.isValidazioneContenutiApplicativiOpenApiMergeAPISpec = false;
  21301.                 }

  21302.             }catch(java.lang.Exception e) {
  21303.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21304.                 this.isValidazioneContenutiApplicativiOpenApiMergeAPISpec = false;
  21305.             }
  21306.         }

  21307.         return this.isValidazioneContenutiApplicativiOpenApiMergeAPISpec;
  21308.     }
  21309.    
  21310.     private Boolean isValidazioneContenutiApplicativiOpenApiValidateAPISpec = null;
  21311.     public boolean isValidazioneContenutiApplicativiOpenApiValidateAPISpec(){

  21312.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.validateAPISpec";
  21313.        
  21314.         if(this.isValidazioneContenutiApplicativiOpenApiValidateAPISpec==null){
  21315.             try{  
  21316.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21317.                 if (value != null){
  21318.                     value = value.trim();
  21319.                     this.isValidazioneContenutiApplicativiOpenApiValidateAPISpec = Boolean.parseBoolean(value);
  21320.                 }else{
  21321.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  21322.                     this.isValidazioneContenutiApplicativiOpenApiValidateAPISpec = true;
  21323.                 }

  21324.             }catch(java.lang.Exception e) {
  21325.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  21326.                 this.isValidazioneContenutiApplicativiOpenApiValidateAPISpec = true;
  21327.             }
  21328.         }

  21329.         return this.isValidazioneContenutiApplicativiOpenApiValidateAPISpec;
  21330.     }
  21331.    
  21332.     private Boolean isValidazioneContenutiApplicativiOpenApiValidateRequestPath = null;
  21333.     public boolean isValidazioneContenutiApplicativiOpenApiValidateRequestPath(){

  21334.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.validateRequestPath";
  21335.        
  21336.         if(this.isValidazioneContenutiApplicativiOpenApiValidateRequestPath==null){
  21337.             try{  
  21338.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21339.                 if (value != null){
  21340.                     value = value.trim();
  21341.                     this.isValidazioneContenutiApplicativiOpenApiValidateRequestPath = Boolean.parseBoolean(value);
  21342.                 }else{
  21343.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  21344.                     this.isValidazioneContenutiApplicativiOpenApiValidateRequestPath = true;
  21345.                 }

  21346.             }catch(java.lang.Exception e) {
  21347.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  21348.                 this.isValidazioneContenutiApplicativiOpenApiValidateRequestPath = true;
  21349.             }
  21350.         }

  21351.         return this.isValidazioneContenutiApplicativiOpenApiValidateRequestPath;
  21352.     }
  21353.    
  21354.     private Boolean isValidazioneContenutiApplicativiOpenApiValidateRequestQuery = null;
  21355.     public boolean isValidazioneContenutiApplicativiOpenApiValidateRequestQuery(){

  21356.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.validateRequestQuery";
  21357.        
  21358.         if(this.isValidazioneContenutiApplicativiOpenApiValidateRequestQuery==null){
  21359.             try{  
  21360.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21361.                 if (value != null){
  21362.                     value = value.trim();
  21363.                     this.isValidazioneContenutiApplicativiOpenApiValidateRequestQuery = Boolean.parseBoolean(value);
  21364.                 }else{
  21365.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  21366.                     this.isValidazioneContenutiApplicativiOpenApiValidateRequestQuery = true;
  21367.                 }

  21368.             }catch(java.lang.Exception e) {
  21369.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  21370.                 this.isValidazioneContenutiApplicativiOpenApiValidateRequestQuery = true;
  21371.             }
  21372.         }

  21373.         return this.isValidazioneContenutiApplicativiOpenApiValidateRequestQuery;
  21374.     }
  21375.    
  21376.     private Boolean isValidazioneContenutiApplicativiOpenApiValidateRequestUnexpectedQueryParam = null;
  21377.     public boolean isValidazioneContenutiApplicativiOpenApiValidateRequestUnexpectedQueryParam(){

  21378.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.validateRequestUnexpectedQueryParam";
  21379.        
  21380.         if(this.isValidazioneContenutiApplicativiOpenApiValidateRequestUnexpectedQueryParam==null){
  21381.             try{  
  21382.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21383.                 if (value != null){
  21384.                     value = value.trim();
  21385.                     this.isValidazioneContenutiApplicativiOpenApiValidateRequestUnexpectedQueryParam = Boolean.parseBoolean(value);
  21386.                 }else{
  21387.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21388.                     this.isValidazioneContenutiApplicativiOpenApiValidateRequestUnexpectedQueryParam = false;
  21389.                 }

  21390.             }catch(java.lang.Exception e) {
  21391.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21392.                 this.isValidazioneContenutiApplicativiOpenApiValidateRequestUnexpectedQueryParam = false;
  21393.             }
  21394.         }

  21395.         return this.isValidazioneContenutiApplicativiOpenApiValidateRequestUnexpectedQueryParam;
  21396.     }
  21397.    
  21398.     private Boolean isValidazioneContenutiApplicativiOpenApiValidateRequestHeaders = null;
  21399.     public boolean isValidazioneContenutiApplicativiOpenApiValidateRequestHeaders(){

  21400.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.validateRequestHeaders";
  21401.        
  21402.         if(this.isValidazioneContenutiApplicativiOpenApiValidateRequestHeaders==null){
  21403.             try{  
  21404.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21405.                 if (value != null){
  21406.                     value = value.trim();
  21407.                     this.isValidazioneContenutiApplicativiOpenApiValidateRequestHeaders = Boolean.parseBoolean(value);
  21408.                 }else{
  21409.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  21410.                     this.isValidazioneContenutiApplicativiOpenApiValidateRequestHeaders = true;
  21411.                 }

  21412.             }catch(java.lang.Exception e) {
  21413.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  21414.                 this.isValidazioneContenutiApplicativiOpenApiValidateRequestHeaders = true;
  21415.             }
  21416.         }

  21417.         return this.isValidazioneContenutiApplicativiOpenApiValidateRequestHeaders;
  21418.     }
  21419.    
  21420.     private Boolean isValidazioneContenutiApplicativiOpenApiValidateRequestCookie = null;
  21421.     public boolean isValidazioneContenutiApplicativiOpenApiValidateRequestCookie(){

  21422.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.validateRequestCookie";
  21423.        
  21424.         if(this.isValidazioneContenutiApplicativiOpenApiValidateRequestCookie==null){
  21425.             try{  
  21426.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21427.                 if (value != null){
  21428.                     value = value.trim();
  21429.                     this.isValidazioneContenutiApplicativiOpenApiValidateRequestCookie = Boolean.parseBoolean(value);
  21430.                 }else{
  21431.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  21432.                     this.isValidazioneContenutiApplicativiOpenApiValidateRequestCookie = true;
  21433.                 }

  21434.             }catch(java.lang.Exception e) {
  21435.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  21436.                 this.isValidazioneContenutiApplicativiOpenApiValidateRequestCookie = true;
  21437.             }
  21438.         }

  21439.         return this.isValidazioneContenutiApplicativiOpenApiValidateRequestCookie;
  21440.     }
  21441.    
  21442.     private Boolean isValidazioneContenutiApplicativiOpenApiValidateRequestBody = null;
  21443.     public boolean isValidazioneContenutiApplicativiOpenApiValidateRequestBody(){

  21444.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.validateRequestBody";
  21445.        
  21446.         if(this.isValidazioneContenutiApplicativiOpenApiValidateRequestBody==null){
  21447.             try{  
  21448.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21449.                 if (value != null){
  21450.                     value = value.trim();
  21451.                     this.isValidazioneContenutiApplicativiOpenApiValidateRequestBody = Boolean.parseBoolean(value);
  21452.                 }else{
  21453.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  21454.                     this.isValidazioneContenutiApplicativiOpenApiValidateRequestBody = true;
  21455.                 }

  21456.             }catch(java.lang.Exception e) {
  21457.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  21458.                 this.isValidazioneContenutiApplicativiOpenApiValidateRequestBody = true;
  21459.             }
  21460.         }

  21461.         return this.isValidazioneContenutiApplicativiOpenApiValidateRequestBody;
  21462.     }
  21463.    
  21464.     private Boolean isValidazioneContenutiApplicativiOpenApiValidateResponseHeaders = null;
  21465.     public boolean isValidazioneContenutiApplicativiOpenApiValidateResponseHeaders(){

  21466.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.validateResponseHeaders";
  21467.        
  21468.         if(this.isValidazioneContenutiApplicativiOpenApiValidateResponseHeaders==null){
  21469.             try{  
  21470.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21471.                 if (value != null){
  21472.                     value = value.trim();
  21473.                     this.isValidazioneContenutiApplicativiOpenApiValidateResponseHeaders = Boolean.parseBoolean(value);
  21474.                 }else{
  21475.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  21476.                     this.isValidazioneContenutiApplicativiOpenApiValidateResponseHeaders = true;
  21477.                 }

  21478.             }catch(java.lang.Exception e) {
  21479.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  21480.                 this.isValidazioneContenutiApplicativiOpenApiValidateResponseHeaders = true;
  21481.             }
  21482.         }

  21483.         return this.isValidazioneContenutiApplicativiOpenApiValidateResponseHeaders;
  21484.     }
  21485.    
  21486.     private Boolean isValidazioneContenutiApplicativiOpenApiValidateResponseBody = null;
  21487.     public boolean isValidazioneContenutiApplicativiOpenApiValidateResponseBody(){

  21488.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.validateResponseBody";
  21489.        
  21490.         if(this.isValidazioneContenutiApplicativiOpenApiValidateResponseBody==null){
  21491.             try{  
  21492.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21493.                 if (value != null){
  21494.                     value = value.trim();
  21495.                     this.isValidazioneContenutiApplicativiOpenApiValidateResponseBody = Boolean.parseBoolean(value);
  21496.                 }else{
  21497.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  21498.                     this.isValidazioneContenutiApplicativiOpenApiValidateResponseBody = true;
  21499.                 }

  21500.             }catch(java.lang.Exception e) {
  21501.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  21502.                 this.isValidazioneContenutiApplicativiOpenApiValidateResponseBody = true;
  21503.             }
  21504.         }

  21505.         return this.isValidazioneContenutiApplicativiOpenApiValidateResponseBody;
  21506.     }
  21507.    
  21508.     private Boolean isValidazioneContenutiApplicativiOpenApiValidateWildcardSubtypeAsJson = null;
  21509.     public boolean isValidazioneContenutiApplicativiOpenApiValidateWildcardSubtypeAsJson(){

  21510.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.validateWildcardSubtypeAsJson";
  21511.        
  21512.         if(this.isValidazioneContenutiApplicativiOpenApiValidateWildcardSubtypeAsJson==null){
  21513.             try{  
  21514.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21515.                 if (value != null){
  21516.                     value = value.trim();
  21517.                     this.isValidazioneContenutiApplicativiOpenApiValidateWildcardSubtypeAsJson = Boolean.parseBoolean(value);
  21518.                 }else{
  21519.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  21520.                     this.isValidazioneContenutiApplicativiOpenApiValidateWildcardSubtypeAsJson = true;
  21521.                 }

  21522.             }catch(java.lang.Exception e) {
  21523.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  21524.                 this.isValidazioneContenutiApplicativiOpenApiValidateWildcardSubtypeAsJson = true;
  21525.             }
  21526.         }

  21527.         return this.isValidazioneContenutiApplicativiOpenApiValidateWildcardSubtypeAsJson;
  21528.     }
  21529.    
  21530.     private Boolean isValidazioneContenutiApplicativiOpenApiValidateMultipartOptimization = null;
  21531.     public boolean isValidazioneContenutiApplicativiOpenApiValidateMultipartOptimization(){

  21532.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.validateMultipartOptimization";
  21533.        
  21534.         if(this.isValidazioneContenutiApplicativiOpenApiValidateMultipartOptimization==null){
  21535.             try{  
  21536.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21537.                 if (value != null){
  21538.                     value = value.trim();
  21539.                     this.isValidazioneContenutiApplicativiOpenApiValidateMultipartOptimization = Boolean.parseBoolean(value);
  21540.                 }else{
  21541.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21542.                     this.isValidazioneContenutiApplicativiOpenApiValidateMultipartOptimization = false;
  21543.                 }

  21544.             }catch(java.lang.Exception e) {
  21545.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21546.                 this.isValidazioneContenutiApplicativiOpenApiValidateMultipartOptimization = false;
  21547.             }
  21548.         }

  21549.         return this.isValidazioneContenutiApplicativiOpenApiValidateMultipartOptimization;
  21550.     }
  21551.    
  21552.     private Boolean isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorInjectingAdditionalPropertiesFalse = null;
  21553.     public boolean isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorInjectingAdditionalPropertiesFalse(){

  21554.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.swaggerRequestValidator.injectingAdditionalPropertiesFalse";
  21555.        
  21556.         if(this.isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorInjectingAdditionalPropertiesFalse==null){
  21557.             try{  
  21558.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21559.                 if (value != null){
  21560.                     value = value.trim();
  21561.                     this.isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorInjectingAdditionalPropertiesFalse = Boolean.parseBoolean(value);
  21562.                 }else{
  21563.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21564.                     this.isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorInjectingAdditionalPropertiesFalse = false;
  21565.                 }

  21566.             }catch(java.lang.Exception e) {
  21567.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21568.                 this.isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorInjectingAdditionalPropertiesFalse = false;
  21569.             }
  21570.         }

  21571.         return this.isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorInjectingAdditionalPropertiesFalse;
  21572.     }
  21573.    
  21574.     private Boolean isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorResolveFullyApiSpec = null;
  21575.     public boolean isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorResolveFullyApiSpec(){

  21576.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.swaggerRequestValidator.resolveFullyApiSpec";
  21577.        
  21578.         if(this.isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorResolveFullyApiSpec==null){
  21579.             try{  
  21580.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21581.                 if (value != null){
  21582.                     value = value.trim();
  21583.                     this.isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorResolveFullyApiSpec = Boolean.parseBoolean(value);
  21584.                 }else{
  21585.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21586.                     this.isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorResolveFullyApiSpec = false;
  21587.                 }

  21588.             }catch(java.lang.Exception e) {
  21589.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21590.                 this.isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorResolveFullyApiSpec = false;
  21591.             }
  21592.         }

  21593.         return this.isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorResolveFullyApiSpec;
  21594.     }
  21595.    
  21596.     private Boolean isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateBase64Values = null;
  21597.     public boolean isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateBase64Values(){

  21598.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.openapi4j.validateBase64Values";
  21599.        
  21600.         if(this.isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateBase64Values==null){
  21601.             try{  
  21602.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21603.                 if (value != null){
  21604.                     value = value.trim();
  21605.                     this.isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateBase64Values = Boolean.parseBoolean(value);
  21606.                 }else{
  21607.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21608.                     this.isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateBase64Values = false;
  21609.                 }

  21610.             }catch(java.lang.Exception e) {
  21611.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21612.                 this.isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateBase64Values = false;
  21613.             }
  21614.         }

  21615.         return this.isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateBase64Values;
  21616.     }
  21617.    
  21618.     private Boolean isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateUriReferenceAsUrl = null;
  21619.     public boolean isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateUriReferenceAsUrl(){

  21620.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.openapi4j.validateUriReferenceAsUrl";
  21621.        
  21622.         if(this.isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateUriReferenceAsUrl==null){
  21623.             try{  
  21624.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21625.                 if (value != null){
  21626.                     value = value.trim();
  21627.                     this.isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateUriReferenceAsUrl = Boolean.parseBoolean(value);
  21628.                 }else{
  21629.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21630.                     this.isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateUriReferenceAsUrl = false;
  21631.                 }

  21632.             }catch(java.lang.Exception e) {
  21633.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21634.                 this.isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateUriReferenceAsUrl = false;
  21635.             }
  21636.         }

  21637.         return this.isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateUriReferenceAsUrl;
  21638.     }
  21639.    
  21640.     private Boolean isValidazioneContenutiApplicativiOpenApiDateTimeAllowLowerCaseTZ = null;
  21641.     public boolean isValidazioneContenutiApplicativiOpenApiDateTimeAllowLowerCaseTZ(){

  21642.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.dateTimeAllowLowerCaseTZ";
  21643.        
  21644.         if(this.isValidazioneContenutiApplicativiOpenApiDateTimeAllowLowerCaseTZ==null){
  21645.             try{  
  21646.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21647.                 if (value != null){
  21648.                     value = value.trim();
  21649.                     this.isValidazioneContenutiApplicativiOpenApiDateTimeAllowLowerCaseTZ = Boolean.parseBoolean(value);
  21650.                 }else{
  21651.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21652.                     this.isValidazioneContenutiApplicativiOpenApiDateTimeAllowLowerCaseTZ = false;
  21653.                 }

  21654.             }catch(java.lang.Exception e) {
  21655.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21656.                 this.isValidazioneContenutiApplicativiOpenApiDateTimeAllowLowerCaseTZ = false;
  21657.             }
  21658.         }

  21659.         return this.isValidazioneContenutiApplicativiOpenApiDateTimeAllowLowerCaseTZ;
  21660.     }
  21661.    
  21662.     private Boolean isValidazioneContenutiApplicativiOpenApiDateTimeAllowSpaceSeparator = null;
  21663.     public boolean isValidazioneContenutiApplicativiOpenApiDateTimeAllowSpaceSeparator(){

  21664.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.dateTimeAllowSpaceSeparator";
  21665.        
  21666.         if(this.isValidazioneContenutiApplicativiOpenApiDateTimeAllowSpaceSeparator==null){
  21667.             try{  
  21668.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21669.                 if (value != null){
  21670.                     value = value.trim();
  21671.                     this.isValidazioneContenutiApplicativiOpenApiDateTimeAllowSpaceSeparator = Boolean.parseBoolean(value);
  21672.                 }else{
  21673.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21674.                     this.isValidazioneContenutiApplicativiOpenApiDateTimeAllowSpaceSeparator = false;
  21675.                 }

  21676.             }catch(java.lang.Exception e) {
  21677.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21678.                 this.isValidazioneContenutiApplicativiOpenApiDateTimeAllowSpaceSeparator = false;
  21679.             }
  21680.         }

  21681.         return this.isValidazioneContenutiApplicativiOpenApiDateTimeAllowSpaceSeparator;
  21682.     }
  21683.    
  21684.    
  21685.    
  21686.     /* ------------- XML ---------------------*/
  21687.    
  21688.     private Boolean isXmlFactoryDTDsEnabled = null;
  21689.     public boolean isXmlFactoryDTDsEnabled(){

  21690.         String pName = "org.openspcoop2.pdd.xmlFactory.DTDs.enabled";
  21691.        
  21692.         if(this.isXmlFactoryDTDsEnabled==null){
  21693.             try{  
  21694.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21695.                 if (value != null){
  21696.                     value = value.trim();
  21697.                     this.isXmlFactoryDTDsEnabled = Boolean.parseBoolean(value);
  21698.                 }else{
  21699.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21700.                     this.isXmlFactoryDTDsEnabled = false;
  21701.                 }

  21702.             }catch(java.lang.Exception e) {
  21703.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21704.                 this.isXmlFactoryDTDsEnabled = false;
  21705.             }
  21706.         }

  21707.         return this.isXmlFactoryDTDsEnabled;
  21708.     }
  21709.    
  21710.     private Boolean isXsltProcessAsDOMSource = null;
  21711.     public boolean isXsltProcessAsDOMSource(){

  21712.         String pName = "org.openspcoop2.pdd.xslt.processAsDOMSource";
  21713.        
  21714.         if(this.isXsltProcessAsDOMSource==null){
  21715.             try{  
  21716.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21717.                 if (value != null){
  21718.                     value = value.trim();
  21719.                     this.isXsltProcessAsDOMSource = Boolean.parseBoolean(value);
  21720.                 }else{
  21721.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  21722.                     this.isXsltProcessAsDOMSource = true;
  21723.                 }

  21724.             }catch(java.lang.Exception e) {
  21725.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  21726.                 this.isXsltProcessAsDOMSource = true;
  21727.             }
  21728.         }

  21729.         return this.isXsltProcessAsDOMSource;
  21730.     }
  21731.    
  21732.    
  21733.     /* ------------- YAML ---------------------*/
  21734.    
  21735.     private Properties yamlSnakeLimits = null;
  21736.     private Boolean yamlSnakeLimits_read = null;
  21737.     public Properties getYamlSnakeLimits(){

  21738.         String pName = "org.openspcoop2.pdd.yaml.snakeLimits";
  21739.        
  21740.         if(this.yamlSnakeLimits_read==null){
  21741.             try{  
  21742.                 String file = this.reader.getValueConvertEnvProperties(pName);
  21743.                 if(file!=null && StringUtils.isNotEmpty(file)) {
  21744.                     File f = new File(file);
  21745.                     if(f.exists()) {
  21746.                         if(!f.isFile()) {
  21747.                             throw new CoreException("Il file indicato '"+f.getAbsolutePath()+"' non è un file");
  21748.                         }
  21749.                         if(!f.canRead()) {
  21750.                             throw new CoreException("Il file indicato '"+f.getAbsolutePath()+"' non è accessibile in lettura");
  21751.                         }
  21752.                         try(InputStream is = new FileInputStream(f)){
  21753.                             Properties p = new Properties();
  21754.                             p.load(is);
  21755.                             if (p != null && !p.isEmpty()){
  21756.                                 this.yamlSnakeLimits = p;
  21757.                             }
  21758.                         }
  21759.                     }
  21760.                 }
  21761.                
  21762.             }catch(java.lang.Exception e) {
  21763.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostate, errore:"+e.getMessage(),e);
  21764.             }
  21765.             this.yamlSnakeLimits_read=true;
  21766.         }

  21767.         return this.yamlSnakeLimits;
  21768.     }
  21769.    
  21770.    
  21771.     /* ------------- XPath e JSON Path ---------------------*/
  21772.    
  21773.     private Boolean isJsonPathCacheEnabled = null;
  21774.     public boolean isJsonPathCacheEnabled(){

  21775.         String pName = "org.openspcoop2.pdd.jsonPath.cache.enabled";
  21776.        
  21777.         if(this.isJsonPathCacheEnabled==null){
  21778.             try{  
  21779.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21780.                 if (value != null){
  21781.                     value = value.trim();
  21782.                     this.isJsonPathCacheEnabled = Boolean.parseBoolean(value);
  21783.                 }else{
  21784.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21785.                     this.isJsonPathCacheEnabled = false;
  21786.                 }

  21787.             }catch(java.lang.Exception e) {
  21788.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21789.                 this.isJsonPathCacheEnabled = false;
  21790.             }
  21791.         }

  21792.         return this.isJsonPathCacheEnabled;
  21793.     }
  21794.    
  21795.     private Boolean isReadByPathBufferEnabled = null;
  21796.     public boolean isReadByPathBufferEnabled(){

  21797.         String pName = "org.openspcoop2.pdd.readByPath.buffer";
  21798.        
  21799.         if(this.isReadByPathBufferEnabled==null){
  21800.             try{  
  21801.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21802.                 if (value != null){
  21803.                     value = value.trim();
  21804.                     this.isReadByPathBufferEnabled = Boolean.parseBoolean(value);
  21805.                 }else{
  21806.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  21807.                     this.isReadByPathBufferEnabled = true;
  21808.                 }

  21809.             }catch(java.lang.Exception e) {
  21810.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  21811.                 this.isReadByPathBufferEnabled = true;
  21812.             }
  21813.         }

  21814.         return this.isReadByPathBufferEnabled;
  21815.     }
  21816.    
  21817.    
  21818.    
  21819.     /* ------------- Caching Response ---------------------*/
  21820.    
  21821.     private String getCachingResponseDigestAlgorithm = null;
  21822.     public String getCachingResponseDigestAlgorithm(){

  21823.         if(this.getCachingResponseDigestAlgorithm==null){
  21824.             try{  
  21825.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.cachingResponse.digestAlgorithm");

  21826.                 if (value != null){
  21827.                     value = value.trim();
  21828.                     MessageDigest.getInstance(value); // valida
  21829.                     this.getCachingResponseDigestAlgorithm = value;
  21830.                 }else{
  21831.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.cachingResponse.digestAlgorithm' non impostata, viene utilizzato il default="+CostantiPdD.RESPONSE_CACHE_REQUEST_DIGEST_DEFAULT_ALGORITHM);
  21832.                     this.getCachingResponseDigestAlgorithm = CostantiPdD.RESPONSE_CACHE_REQUEST_DIGEST_DEFAULT_ALGORITHM;
  21833.                 }

  21834.             }catch(java.lang.Exception e) {
  21835.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.cachingResponse.digestAlgorithm' non impostata, viene utilizzato il default="+CostantiPdD.RESPONSE_CACHE_REQUEST_DIGEST_DEFAULT_ALGORITHM+", errore:"+e.getMessage(),e);
  21836.                 this.getCachingResponseDigestAlgorithm = CostantiPdD.RESPONSE_CACHE_REQUEST_DIGEST_DEFAULT_ALGORITHM;
  21837.             }
  21838.         }

  21839.         return this.getCachingResponseDigestAlgorithm;
  21840.     }
  21841.    
  21842.     private Boolean getCachingResponseHeaderCacheKey_read = null;
  21843.     private String getCachingResponseHeaderCacheKey = null;
  21844.     public String getCachingResponseHeaderCacheKey(){

  21845.         if(this.getCachingResponseHeaderCacheKey_read==null){
  21846.             try{  
  21847.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.cachingResponse.header.cacheKey");

  21848.                 if (value != null){
  21849.                     value = value.trim();
  21850.                     this.getCachingResponseHeaderCacheKey = value;
  21851.                 }

  21852.                 this.getCachingResponseHeaderCacheKey_read = true;
  21853.                
  21854.             }catch(java.lang.Exception e) {
  21855.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.cachingResponse.header.cacheKey', errore:"+e.getMessage(),e);
  21856.                
  21857.             }
  21858.         }

  21859.         return this.getCachingResponseHeaderCacheKey;
  21860.     }
  21861.    
  21862.    
  21863.    
  21864.     /* ------------- Gestione Token ---------------------*/
  21865.    
  21866.     private Boolean isGestioneTokenDynamicDiscoveryDebug = null;
  21867.     public boolean isGestioneTokenDynamicDiscoveryDebug(){

  21868.         String pName = "org.openspcoop2.pdd.gestioneToken.dynamicDiscovery.debug";
  21869.         if(this.isGestioneTokenDynamicDiscoveryDebug==null){
  21870.             try{  
  21871.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21872.                 if (value != null){
  21873.                     value = value.trim();
  21874.                     this.isGestioneTokenDynamicDiscoveryDebug = Boolean.parseBoolean(value);
  21875.                 }else{
  21876.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21877.                     this.isGestioneTokenDynamicDiscoveryDebug = false;
  21878.                 }

  21879.             }catch(java.lang.Exception e) {
  21880.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21881.                 this.isGestioneTokenDynamicDiscoveryDebug = false;
  21882.             }
  21883.         }

  21884.         return this.isGestioneTokenDynamicDiscoveryDebug;
  21885.     }
  21886.    
  21887.     private Boolean isGestioneTokenIntrospectionDebug = null;
  21888.     public boolean isGestioneTokenIntrospectionDebug(){

  21889.         String pName = "org.openspcoop2.pdd.gestioneToken.introspection.debug";
  21890.         if(this.isGestioneTokenIntrospectionDebug==null){
  21891.             try{  
  21892.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21893.                 if (value != null){
  21894.                     value = value.trim();
  21895.                     this.isGestioneTokenIntrospectionDebug = Boolean.parseBoolean(value);
  21896.                 }else{
  21897.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21898.                     this.isGestioneTokenIntrospectionDebug = false;
  21899.                 }

  21900.             }catch(java.lang.Exception e) {
  21901.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21902.                 this.isGestioneTokenIntrospectionDebug = false;
  21903.             }
  21904.         }

  21905.         return this.isGestioneTokenIntrospectionDebug;
  21906.     }
  21907.    
  21908.     private Boolean isGestioneTokenUserInfoDebug = null;
  21909.     public boolean isGestioneTokenUserInfoDebug(){

  21910.         String pName = "org.openspcoop2.pdd.gestioneToken.userInfo.debug";
  21911.         if(this.isGestioneTokenUserInfoDebug==null){
  21912.             try{  
  21913.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21914.                 if (value != null){
  21915.                     value = value.trim();
  21916.                     this.isGestioneTokenUserInfoDebug = Boolean.parseBoolean(value);
  21917.                 }else{
  21918.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21919.                     this.isGestioneTokenUserInfoDebug = false;
  21920.                 }

  21921.             }catch(java.lang.Exception e) {
  21922.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21923.                 this.isGestioneTokenUserInfoDebug = false;
  21924.             }
  21925.         }

  21926.         return this.isGestioneTokenUserInfoDebug;
  21927.     }
  21928.    
  21929.     private Boolean getGestioneTokenDynamicDiscoveryLockPermitsRead = null;
  21930.     private Integer getGestioneTokenDynamicDiscoveryLockPermits = null;
  21931.     public Integer getGestioneTokenDynamicDiscoveryLockPermits() {

  21932.         String pName = "org.openspcoop2.pdd.gestioneToken.dynamicDiscovery.lock.permits";
  21933.         if(this.getGestioneTokenDynamicDiscoveryLockPermitsRead==null){
  21934.             try{  
  21935.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21936.                 if (value != null){
  21937.                     value = value.trim();
  21938.                     int permits = Integer.parseInt(value);
  21939.                     if(permits>1) {
  21940.                         // altrimenti è un normale semaphore binario
  21941.                         this.getGestioneTokenDynamicDiscoveryLockPermits = permits;
  21942.                     }
  21943.                 }
  21944.                
  21945.                
  21946.             }catch(java.lang.Exception e) {
  21947.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  21948.             }
  21949.            
  21950.             this.getGestioneTokenDynamicDiscoveryLockPermitsRead = true;
  21951.         }

  21952.         return this.getGestioneTokenDynamicDiscoveryLockPermits;
  21953.     }
  21954.    
  21955.     private Boolean getGestioneTokenValidazioneJWTLockPermitsRead = null;
  21956.     private Integer getGestioneTokenValidazioneJWTLockPermits = null;
  21957.     public Integer getGestioneTokenValidazioneJWTLockPermits() {

  21958.         String pName = "org.openspcoop2.pdd.gestioneToken.validazioneJWT.lock.permits";
  21959.         if(this.getGestioneTokenValidazioneJWTLockPermitsRead==null){
  21960.             try{  
  21961.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21962.                 if (value != null){
  21963.                     value = value.trim();
  21964.                     int permits = Integer.parseInt(value);
  21965.                     if(permits>1) {
  21966.                         // altrimenti è un normale semaphore binario
  21967.                         this.getGestioneTokenValidazioneJWTLockPermits = permits;
  21968.                     }
  21969.                 }
  21970.                
  21971.                
  21972.             }catch(java.lang.Exception e) {
  21973.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  21974.             }
  21975.            
  21976.             this.getGestioneTokenValidazioneJWTLockPermitsRead = true;
  21977.         }

  21978.         return this.getGestioneTokenValidazioneJWTLockPermits;
  21979.     }
  21980.    
  21981.     private Boolean getGestioneTokenIntrospectionLockPermitsRead = null;
  21982.     private Integer getGestioneTokenIntrospectionLockPermits = null;
  21983.     public Integer getGestioneTokenIntrospectionLockPermits() {

  21984.         String pName = "org.openspcoop2.pdd.gestioneToken.introspection.lock.permits";
  21985.         if(this.getGestioneTokenIntrospectionLockPermitsRead==null){
  21986.             try{  
  21987.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21988.                 if (value != null){
  21989.                     value = value.trim();
  21990.                     int permits = Integer.parseInt(value);
  21991.                     if(permits>1) {
  21992.                         // altrimenti è un normale semaphore binario
  21993.                         this.getGestioneTokenIntrospectionLockPermits = permits;
  21994.                     }
  21995.                 }
  21996.                
  21997.                
  21998.             }catch(java.lang.Exception e) {
  21999.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  22000.             }
  22001.            
  22002.             this.getGestioneTokenIntrospectionLockPermitsRead = true;
  22003.         }

  22004.         return this.getGestioneTokenIntrospectionLockPermits;
  22005.     }
  22006.    
  22007.     private Boolean getGestioneTokenUserInfoLockPermitsRead = null;
  22008.     private Integer getGestioneTokenUserInfoLockPermits = null;
  22009.     public Integer getGestioneTokenUserInfoLockPermits() {

  22010.         String pName = "org.openspcoop2.pdd.gestioneToken.userInfo.lock.permits";
  22011.         if(this.getGestioneTokenUserInfoLockPermitsRead==null){
  22012.             try{  
  22013.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22014.                 if (value != null){
  22015.                     value = value.trim();
  22016.                     int permits = Integer.parseInt(value);
  22017.                     if(permits>1) {
  22018.                         // altrimenti è un normale semaphore binario
  22019.                         this.getGestioneTokenUserInfoLockPermits = permits;
  22020.                     }
  22021.                 }
  22022.                
  22023.                
  22024.             }catch(java.lang.Exception e) {
  22025.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  22026.             }
  22027.            
  22028.             this.getGestioneTokenUserInfoLockPermitsRead = true;
  22029.         }

  22030.         return this.getGestioneTokenUserInfoLockPermits;
  22031.     }
  22032.    
  22033.     private Boolean isGestioneTokenDynamicDiscoveryKeyCacheUseToken = null;
  22034.     public boolean isGestioneTokenDynamicDiscoveryKeyCacheUseToken(){

  22035.         String pName = "org.openspcoop2.pdd.gestioneToken.dynamicDiscovery.keyCache.useToken";
  22036.         if(this.isGestioneTokenDynamicDiscoveryKeyCacheUseToken==null){
  22037.             try{  
  22038.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22039.                 if (value != null){
  22040.                     value = value.trim();
  22041.                     this.isGestioneTokenDynamicDiscoveryKeyCacheUseToken = Boolean.parseBoolean(value);
  22042.                 }else{
  22043.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  22044.                     this.isGestioneTokenDynamicDiscoveryKeyCacheUseToken = false;
  22045.                 }

  22046.             }catch(java.lang.Exception e) {
  22047.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  22048.                 this.isGestioneTokenDynamicDiscoveryKeyCacheUseToken = false;
  22049.             }
  22050.         }

  22051.         return this.isGestioneTokenDynamicDiscoveryKeyCacheUseToken;
  22052.     }
  22053.    
  22054.     private Boolean isGestioneTokenDynamicDiscoveryUseCacheConfig = null;
  22055.     public boolean isGestioneTokenDynamicDiscoveryUseCacheConfig(){

  22056.         String pName = "org.openspcoop2.pdd.gestioneToken.dynamicDiscovery.useCacheConfig";
  22057.         if(this.isGestioneTokenDynamicDiscoveryUseCacheConfig==null){
  22058.             try{  
  22059.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22060.                 if (value != null){
  22061.                     value = value.trim();
  22062.                     this.isGestioneTokenDynamicDiscoveryUseCacheConfig = Boolean.parseBoolean(value);
  22063.                 }else{
  22064.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  22065.                     this.isGestioneTokenDynamicDiscoveryUseCacheConfig = true;
  22066.                 }

  22067.             }catch(java.lang.Exception e) {
  22068.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  22069.                 this.isGestioneTokenDynamicDiscoveryUseCacheConfig = true;
  22070.             }
  22071.         }

  22072.         return this.isGestioneTokenDynamicDiscoveryUseCacheConfig;
  22073.     }
  22074.        
  22075.     private Boolean isGestioneTokenIatRequired = null;
  22076.     public boolean isGestioneTokenIatRequired() {

  22077.         String pName = "org.openspcoop2.pdd.gestioneToken.iat.required";
  22078.         if(this.isGestioneTokenIatRequired==null){
  22079.             try{  
  22080.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22081.                 if (value != null){
  22082.                     value = value.trim();
  22083.                     this.isGestioneTokenIatRequired = Boolean.parseBoolean(value);
  22084.                 }else{
  22085.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  22086.                     this.isGestioneTokenIatRequired = false;
  22087.                 }
  22088.             }catch(java.lang.Exception e) {
  22089.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  22090.                 this.isGestioneTokenIatRequired = false;
  22091.             }
  22092.         }
  22093.        
  22094.         return this.isGestioneTokenIatRequired;
  22095.     }
  22096.    
  22097.     private static final String GESTIONE_TOKEN_FRUIZIONI = "fruizioni";
  22098.     private static final String GESTIONE_TOKEN_EROGAZIONI = "erogazioni";
  22099.     private static final String GESTIONE_TOKEN_SUFFIX_REQUIRED = ".required";
  22100.    
  22101.     private Map<String,BooleanNullable> isGestioneTokenIatRequirePddRuolodMap = new HashMap<>();
  22102.     public BooleanNullable isGestioneTokenIatRequired(boolean portaDelegata) {

  22103.         String keyRuolo =  portaDelegata ? GESTIONE_TOKEN_FRUIZIONI : GESTIONE_TOKEN_EROGAZIONI;
  22104.         String pName = "org.openspcoop2.pdd.gestioneToken.iat."+keyRuolo+GESTIONE_TOKEN_SUFFIX_REQUIRED;
  22105.         if(!this.isGestioneTokenIatRequirePddRuolodMap.containsKey(keyRuolo)){
  22106.             try{  
  22107.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22108.                 if (value != null){
  22109.                     value = value.trim();
  22110.                     boolean v = Boolean.parseBoolean(value);
  22111.                     this.isGestioneTokenIatRequirePddRuolodMap.put(keyRuolo, v ? BooleanNullable.TRUE() : BooleanNullable.FALSE());
  22112.                 }else{
  22113.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  22114.                     this.isGestioneTokenIatRequirePddRuolodMap.put(keyRuolo, BooleanNullable.NULL());
  22115.                 }
  22116.             }catch(java.lang.Exception e) {
  22117.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  22118.                 this.isGestioneTokenIatRequirePddRuolodMap.put(keyRuolo, BooleanNullable.NULL());
  22119.             }
  22120.         }
  22121.        
  22122.         return this.isGestioneTokenIatRequirePddRuolodMap.get(keyRuolo);
  22123.     }
  22124.    
  22125.     private Map<String,BooleanNullable> isGestioneTokenIatRequirePddRuoloProtocolloMap = new HashMap<>();
  22126.     public BooleanNullable isGestioneTokenIatRequired(boolean portaDelegata, String protocollo) {

  22127.         String keyRuolo =  portaDelegata ? GESTIONE_TOKEN_FRUIZIONI : GESTIONE_TOKEN_EROGAZIONI;
  22128.         keyRuolo+="."+protocollo;
  22129.         String pName = "org.openspcoop2.pdd.gestioneToken.iat."+keyRuolo+GESTIONE_TOKEN_SUFFIX_REQUIRED;
  22130.         if(!this.isGestioneTokenIatRequirePddRuoloProtocolloMap.containsKey(keyRuolo)){
  22131.             try{  
  22132.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22133.                 if (value != null){
  22134.                     value = value.trim();
  22135.                     boolean v = Boolean.parseBoolean(value);
  22136.                     this.isGestioneTokenIatRequirePddRuoloProtocolloMap.put(keyRuolo, v ? BooleanNullable.TRUE() : BooleanNullable.FALSE());
  22137.                 }else{
  22138.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  22139.                     this.isGestioneTokenIatRequirePddRuoloProtocolloMap.put(keyRuolo, BooleanNullable.NULL());
  22140.                 }
  22141.             }catch(java.lang.Exception e) {
  22142.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  22143.                 this.isGestioneTokenIatRequirePddRuoloProtocolloMap.put(keyRuolo, BooleanNullable.NULL());
  22144.             }
  22145.         }
  22146.        
  22147.         return this.isGestioneTokenIatRequirePddRuoloProtocolloMap.get(keyRuolo);
  22148.     }
  22149.     public BooleanNullable isGestioneTokenIatPdndRequired() {
  22150.         return isGestioneTokenIatRequired(false, "pdnd");
  22151.     }
  22152.    
  22153.     private Boolean getGestioneTokenIatTimeCheckMillisecondsRead = null;
  22154.     private Long getGestioneTokenIatTimeCheckMilliseconds = null;
  22155.     public Long getGestioneTokenIatTimeCheckMilliseconds() throws CoreException{

  22156.         String pName = "org.openspcoop2.pdd.gestioneToken.iat";
  22157.         if(this.getGestioneTokenIatTimeCheckMillisecondsRead==null){
  22158.             try{  
  22159.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22160.                 if (value != null){
  22161.                     value = value.trim();
  22162.                     long minuti = Long.parseLong(value); // minuti
  22163.                     this.getGestioneTokenIatTimeCheckMilliseconds = minuti * 60l * 1000l;
  22164.                 }
  22165.             }catch(java.lang.Exception e) {
  22166.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  22167.                 throw new CoreException(e.getMessage(),e);
  22168.             }
  22169.            
  22170.             this.getGestioneTokenIatTimeCheckMillisecondsRead = true;
  22171.         }

  22172.         return this.getGestioneTokenIatTimeCheckMilliseconds;
  22173.     }
  22174.    
  22175.     private Boolean getGestioneTokenIatTimeCheckFutureToleranceMillisecondsRead = null;
  22176.     private Long getGestioneTokenIatTimeCheckFutureToleranceMilliseconds = null;
  22177.     public Long getGestioneTokenIatTimeCheckFutureToleranceMilliseconds() throws CoreException{

  22178.         String pName = "org.openspcoop2.pdd.gestioneToken.iat.future.toleranceMilliseconds";
  22179.         if(this.getGestioneTokenIatTimeCheckFutureToleranceMillisecondsRead==null){
  22180.             try{  
  22181.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22182.                 if (value != null){
  22183.                     value = value.trim();
  22184.                     this.getGestioneTokenIatTimeCheckFutureToleranceMilliseconds = Long.parseLong(value); // gia' millisecondi
  22185.                     if(this.getGestioneTokenIatTimeCheckFutureToleranceMilliseconds<=0) {
  22186.                         // disabilito il controllo
  22187.                         this.getGestioneTokenIatTimeCheckFutureToleranceMilliseconds=null;
  22188.                     }
  22189.                 }
  22190.             }catch(java.lang.Exception e) {
  22191.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  22192.                 throw new CoreException(e.getMessage(),e);
  22193.             }
  22194.            
  22195.             this.getGestioneTokenIatTimeCheckFutureToleranceMillisecondsRead = true;
  22196.         }

  22197.         return this.getGestioneTokenIatTimeCheckFutureToleranceMilliseconds;
  22198.     }
  22199.    
  22200.     private Boolean isGestioneTokenExpRequired = null;
  22201.     public boolean isGestioneTokenExpRequired() {

  22202.         String pName = "org.openspcoop2.pdd.gestioneToken.exp.required";
  22203.         if(this.isGestioneTokenExpRequired==null){
  22204.             try{  
  22205.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22206.                 if (value != null){
  22207.                     value = value.trim();
  22208.                     this.isGestioneTokenExpRequired = Boolean.parseBoolean(value);
  22209.                 }else{
  22210.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  22211.                     this.isGestioneTokenExpRequired = false;
  22212.                 }
  22213.             }catch(java.lang.Exception e) {
  22214.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  22215.                 this.isGestioneTokenExpRequired = false;
  22216.             }
  22217.         }
  22218.        
  22219.         return this.isGestioneTokenExpRequired;
  22220.     }
  22221.    
  22222.     private Map<String,BooleanNullable> isGestioneTokenExpRequirePddRuolodMap = new HashMap<>();
  22223.     public BooleanNullable isGestioneTokenExpRequired(boolean portaDelegata) {

  22224.         String keyRuolo =  portaDelegata ? GESTIONE_TOKEN_FRUIZIONI : GESTIONE_TOKEN_EROGAZIONI;
  22225.         String pName = "org.openspcoop2.pdd.gestioneToken.exp."+keyRuolo+GESTIONE_TOKEN_SUFFIX_REQUIRED;
  22226.         if(!this.isGestioneTokenExpRequirePddRuolodMap.containsKey(keyRuolo)){
  22227.             try{  
  22228.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22229.                 if (value != null){
  22230.                     value = value.trim();
  22231.                     boolean v = Boolean.parseBoolean(value);
  22232.                     this.isGestioneTokenExpRequirePddRuolodMap.put(keyRuolo, v ? BooleanNullable.TRUE() : BooleanNullable.FALSE());
  22233.                 }else{
  22234.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  22235.                     this.isGestioneTokenExpRequirePddRuolodMap.put(keyRuolo, BooleanNullable.NULL());
  22236.                 }
  22237.             }catch(java.lang.Exception e) {
  22238.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  22239.                 this.isGestioneTokenExpRequirePddRuolodMap.put(keyRuolo, BooleanNullable.NULL());
  22240.             }
  22241.         }
  22242.        
  22243.         return this.isGestioneTokenExpRequirePddRuolodMap.get(keyRuolo);
  22244.     }
  22245.    
  22246.     private Map<String,BooleanNullable> isGestioneTokenExpRequirePddRuoloProtocolloMap = new HashMap<>();
  22247.     public BooleanNullable isGestioneTokenExpRequired(boolean portaDelegata, String protocollo) {

  22248.         String keyRuolo =  portaDelegata ? GESTIONE_TOKEN_FRUIZIONI : GESTIONE_TOKEN_EROGAZIONI;
  22249.         keyRuolo+="."+protocollo;
  22250.         String pName = "org.openspcoop2.pdd.gestioneToken.exp."+keyRuolo+GESTIONE_TOKEN_SUFFIX_REQUIRED;
  22251.         if(!this.isGestioneTokenExpRequirePddRuoloProtocolloMap.containsKey(keyRuolo)){
  22252.             try{  
  22253.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22254.                 if (value != null){
  22255.                     value = value.trim();
  22256.                     boolean v = Boolean.parseBoolean(value);
  22257.                     this.isGestioneTokenExpRequirePddRuoloProtocolloMap.put(keyRuolo, v ? BooleanNullable.TRUE() : BooleanNullable.FALSE());
  22258.                 }else{
  22259.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  22260.                     this.isGestioneTokenExpRequirePddRuoloProtocolloMap.put(keyRuolo, BooleanNullable.NULL());
  22261.                 }
  22262.             }catch(java.lang.Exception e) {
  22263.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  22264.                 this.isGestioneTokenExpRequirePddRuoloProtocolloMap.put(keyRuolo, BooleanNullable.NULL());
  22265.             }
  22266.         }
  22267.        
  22268.         return this.isGestioneTokenExpRequirePddRuoloProtocolloMap.get(keyRuolo);
  22269.     }
  22270.     public BooleanNullable isGestioneTokenExpPdndRequired() {
  22271.         return isGestioneTokenExpRequired(false, "pdnd");
  22272.     }
  22273.    
  22274.     private Boolean isGestioneTokenExpTimeCheck = null;
  22275.     public boolean isGestioneTokenExpTimeCheck(){

  22276.         if(this.isGestioneTokenExpTimeCheck==null){
  22277.             String pName = "org.openspcoop2.pdd.gestioneToken.exp.checkEnabled";
  22278.             try{  
  22279.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22280.                 if (value != null){
  22281.                     value = value.trim();
  22282.                     this.isGestioneTokenExpTimeCheck = Boolean.parseBoolean(value);
  22283.                 }else{
  22284.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  22285.                     this.isGestioneTokenExpTimeCheck = true;
  22286.                 }

  22287.             }catch(java.lang.Exception e) {
  22288.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  22289.                 this.isGestioneTokenExpTimeCheck = true;
  22290.             }
  22291.         }

  22292.         return this.isGestioneTokenExpTimeCheck;
  22293.     }
  22294.    
  22295.     private Boolean getGestioneTokenExpTimeCheckToleranceMillisecondsRead = null;
  22296.     private Long getGestioneTokenExpTimeCheckToleranceMilliseconds = null;
  22297.     public Long getGestioneTokenExpTimeCheckToleranceMilliseconds() throws CoreException{

  22298.         String pName = "org.openspcoop2.pdd.gestioneToken.exp.toleranceMilliseconds";
  22299.         if(this.getGestioneTokenExpTimeCheckToleranceMillisecondsRead==null){
  22300.             try{  
  22301.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22302.                 if (value != null){
  22303.                     value = value.trim();
  22304.                     this.getGestioneTokenExpTimeCheckToleranceMilliseconds = Long.parseLong(value); // gia' millisecondi
  22305.                     if(this.getGestioneTokenExpTimeCheckToleranceMilliseconds<=0) {
  22306.                         // disabilito il controllo
  22307.                         this.getGestioneTokenExpTimeCheckToleranceMilliseconds=null;
  22308.                     }
  22309.                 }
  22310.             }catch(java.lang.Exception e) {
  22311.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  22312.                 throw new CoreException(e.getMessage(),e);
  22313.             }
  22314.            
  22315.             this.getGestioneTokenExpTimeCheckToleranceMillisecondsRead = true;
  22316.         }

  22317.         return this.getGestioneTokenExpTimeCheckToleranceMilliseconds;
  22318.     }
  22319.    
  22320.     private Boolean isGestioneTokenNbfRequired = null;
  22321.     public boolean isGestioneTokenNbfRequired() {

  22322.         String pName = "org.openspcoop2.pdd.gestioneToken.nbf.required";
  22323.         if(this.isGestioneTokenNbfRequired==null){
  22324.             try{  
  22325.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22326.                 if (value != null){
  22327.                     value = value.trim();
  22328.                     this.isGestioneTokenNbfRequired = Boolean.parseBoolean(value);
  22329.                 }else{
  22330.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  22331.                     this.isGestioneTokenNbfRequired = false;
  22332.                 }
  22333.             }catch(java.lang.Exception e) {
  22334.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  22335.                 this.isGestioneTokenNbfRequired = false;
  22336.             }
  22337.         }
  22338.        
  22339.         return this.isGestioneTokenNbfRequired;
  22340.     }
  22341.    
  22342.     private Map<String,BooleanNullable> isGestioneTokenNbfRequirePddRuolodMap = new HashMap<>();
  22343.     public BooleanNullable isGestioneTokenNbfRequired(boolean portaDelegata) {

  22344.         String keyRuolo =  portaDelegata ? GESTIONE_TOKEN_FRUIZIONI : GESTIONE_TOKEN_EROGAZIONI;
  22345.         String pName = "org.openspcoop2.pdd.gestioneToken.nbf."+keyRuolo+GESTIONE_TOKEN_SUFFIX_REQUIRED;
  22346.         if(!this.isGestioneTokenNbfRequirePddRuolodMap.containsKey(keyRuolo)){
  22347.             try{  
  22348.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22349.                 if (value != null){
  22350.                     value = value.trim();
  22351.                     boolean v = Boolean.parseBoolean(value);
  22352.                     this.isGestioneTokenNbfRequirePddRuolodMap.put(keyRuolo, v ? BooleanNullable.TRUE() : BooleanNullable.FALSE());
  22353.                 }else{
  22354.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  22355.                     this.isGestioneTokenNbfRequirePddRuolodMap.put(keyRuolo, BooleanNullable.NULL());
  22356.                 }
  22357.             }catch(java.lang.Exception e) {
  22358.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  22359.                 this.isGestioneTokenNbfRequirePddRuolodMap.put(keyRuolo, BooleanNullable.NULL());
  22360.             }
  22361.         }
  22362.        
  22363.         return this.isGestioneTokenNbfRequirePddRuolodMap.get(keyRuolo);
  22364.     }
  22365.    
  22366.     private Map<String,BooleanNullable> isGestioneTokenNbfRequirePddRuoloProtocolloMap = new HashMap<>();
  22367.     public BooleanNullable isGestioneTokenNbfRequired(boolean portaDelegata, String protocollo) {

  22368.         String keyRuolo =  portaDelegata ? GESTIONE_TOKEN_FRUIZIONI : GESTIONE_TOKEN_EROGAZIONI;
  22369.         keyRuolo+="."+protocollo;
  22370.         String pName = "org.openspcoop2.pdd.gestioneToken.nbf."+keyRuolo+GESTIONE_TOKEN_SUFFIX_REQUIRED;
  22371.         if(!this.isGestioneTokenNbfRequirePddRuoloProtocolloMap.containsKey(keyRuolo)){
  22372.             try{  
  22373.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22374.                 if (value != null){
  22375.                     value = value.trim();
  22376.                     boolean v = Boolean.parseBoolean(value);
  22377.                     this.isGestioneTokenNbfRequirePddRuoloProtocolloMap.put(keyRuolo, v ? BooleanNullable.TRUE() : BooleanNullable.FALSE());
  22378.                 }else{
  22379.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  22380.                     this.isGestioneTokenNbfRequirePddRuoloProtocolloMap.put(keyRuolo, BooleanNullable.NULL());
  22381.                 }
  22382.             }catch(java.lang.Exception e) {
  22383.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  22384.                 this.isGestioneTokenNbfRequirePddRuoloProtocolloMap.put(keyRuolo, BooleanNullable.NULL());
  22385.             }
  22386.         }
  22387.        
  22388.         return this.isGestioneTokenNbfRequirePddRuoloProtocolloMap.get(keyRuolo);
  22389.     }
  22390.     public BooleanNullable isGestioneTokenNbfPdndRequired() {
  22391.         return isGestioneTokenNbfRequired(false, "pdnd");
  22392.     }
  22393.    
  22394.     private Boolean getGestioneTokenNbfTimeCheckToleranceMillisecondsRead = null;
  22395.     private Long getGestioneTokenNbfTimeCheckToleranceMilliseconds = null;
  22396.     public Long getGestioneTokenNbfTimeCheckToleranceMilliseconds() throws CoreException{

  22397.         String pName = "org.openspcoop2.pdd.gestioneToken.nbf.toleranceMilliseconds";
  22398.         if(this.getGestioneTokenNbfTimeCheckToleranceMillisecondsRead==null){
  22399.             try{  
  22400.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22401.                 if (value != null){
  22402.                     value = value.trim();
  22403.                     this.getGestioneTokenNbfTimeCheckToleranceMilliseconds = Long.parseLong(value); // gia' millisecondi
  22404.                     if(this.getGestioneTokenNbfTimeCheckToleranceMilliseconds<=0) {
  22405.                         // disabilito il controllo
  22406.                         this.getGestioneTokenNbfTimeCheckToleranceMilliseconds=null;
  22407.                     }
  22408.                 }
  22409.             }catch(java.lang.Exception e) {
  22410.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  22411.                 throw new CoreException(e.getMessage(),e);
  22412.             }
  22413.            
  22414.             this.getGestioneTokenNbfTimeCheckToleranceMillisecondsRead = true;
  22415.         }

  22416.         return this.getGestioneTokenNbfTimeCheckToleranceMilliseconds;
  22417.     }
  22418.    
  22419.     private CertificateValidityCheck getGestioneTokenValidityCheck = null;
  22420.     public CertificateValidityCheck getGestioneTokenValidityCheck(){

  22421.         String pName = "org.openspcoop2.pdd.gestioneToken.validityCheck";
  22422.         if(this.getGestioneTokenValidityCheck==null){
  22423.             try{  
  22424.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22425.                 if (value != null){
  22426.                     value = value.trim();
  22427.                     this.getGestioneTokenValidityCheck = CertificateValidityCheck.parseCertificateValidityCheck(value);
  22428.                     if(this.getGestioneTokenValidityCheck==null) {
  22429.                         throw new CoreException("Opzione '"+value+"' sconosciuta");
  22430.                     }
  22431.                 }else{
  22432.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  22433.                     this.getGestioneTokenValidityCheck = CertificateValidityCheck.ENABLED;
  22434.                 }

  22435.             }catch(java.lang.Exception e) {
  22436.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  22437.                 this.getGestioneTokenValidityCheck = CertificateValidityCheck.ENABLED;
  22438.             }
  22439.         }

  22440.         return this.getGestioneTokenValidityCheck;
  22441.     }
  22442.    
  22443.     private Boolean isGestioneTokenSaveSourceTokenInfo = null;
  22444.     public boolean isGestioneTokenSaveSourceTokenInfo(){

  22445.         if(this.isGestioneTokenSaveSourceTokenInfo==null){
  22446.             try{  
  22447.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.gestioneToken.saveSourceTokenInfo");

  22448.                 if (value != null){
  22449.                     value = value.trim();
  22450.                     this.isGestioneTokenSaveSourceTokenInfo = Boolean.parseBoolean(value);
  22451.                 }else{
  22452.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.gestioneToken.saveSourceTokenInfo' non impostata, viene utilizzato il default=false");
  22453.                     this.isGestioneTokenSaveSourceTokenInfo = false;
  22454.                 }

  22455.             }catch(java.lang.Exception e) {
  22456.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.gestioneToken.saveSourceTokenInfo' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  22457.                 this.isGestioneTokenSaveSourceTokenInfo = false;
  22458.             }
  22459.         }

  22460.         return this.isGestioneTokenSaveSourceTokenInfo;
  22461.     }
  22462.    
  22463.     private Boolean isGestioneTokenSaveTokenInfoValidationFailed = null;
  22464.     public boolean isGestioneTokenSaveTokenInfoValidationFailed(){

  22465.         if(this.isGestioneTokenSaveTokenInfoValidationFailed==null){
  22466.             String pName = "org.openspcoop2.pdd.gestioneToken.saveTokenInfo.validationFailed";
  22467.             try{  
  22468.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22469.                 if (value != null){
  22470.                     value = value.trim();
  22471.                     this.isGestioneTokenSaveTokenInfoValidationFailed = Boolean.parseBoolean(value);
  22472.                 }else{
  22473.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  22474.                     this.isGestioneTokenSaveTokenInfoValidationFailed = false;
  22475.                 }

  22476.             }catch(java.lang.Exception e) {
  22477.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  22478.                 this.isGestioneTokenSaveTokenInfoValidationFailed = false;
  22479.             }
  22480.         }

  22481.         return this.isGestioneTokenSaveTokenInfoValidationFailed;
  22482.     }
  22483.    
  22484.     private Boolean isGestioneTokenSaveTokenInfoValidationFailedExcludeJwtSignature = null;
  22485.     public boolean isGestioneTokenSaveTokenInfoValidationFailedExcludeJwtSignature(){

  22486.         if(this.isGestioneTokenSaveTokenInfoValidationFailedExcludeJwtSignature==null){
  22487.             String pName = "org.openspcoop2.pdd.gestioneToken.saveTokenInfo.validationFailed.excludeJwtSignature";
  22488.             try{  
  22489.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22490.                 if (value != null){
  22491.                     value = value.trim();
  22492.                     this.isGestioneTokenSaveTokenInfoValidationFailedExcludeJwtSignature = Boolean.parseBoolean(value);
  22493.                 }else{
  22494.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  22495.                     this.isGestioneTokenSaveTokenInfoValidationFailedExcludeJwtSignature = true;
  22496.                 }

  22497.             }catch(java.lang.Exception e) {
  22498.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  22499.                 this.isGestioneTokenSaveTokenInfoValidationFailedExcludeJwtSignature = true;
  22500.             }
  22501.         }

  22502.         return this.isGestioneTokenSaveTokenInfoValidationFailedExcludeJwtSignature;
  22503.     }
  22504.    
  22505.     private Boolean isGestioneTokenSaveTokenAuthenticationInfoValidationFailed = null;
  22506.     public boolean isGestioneTokenSaveTokenAuthenticationInfoValidationFailed(){

  22507.         if(this.isGestioneTokenSaveTokenAuthenticationInfoValidationFailed==null){
  22508.             String pName = "org.openspcoop2.pdd.gestioneToken.saveTokenAuthenticationInfo.validationFailed";
  22509.             try{  
  22510.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22511.                 if (value != null){
  22512.                     value = value.trim();
  22513.                     this.isGestioneTokenSaveTokenAuthenticationInfoValidationFailed = Boolean.parseBoolean(value);
  22514.                 }else{
  22515.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  22516.                     this.isGestioneTokenSaveTokenAuthenticationInfoValidationFailed = true;
  22517.                 }

  22518.             }catch(java.lang.Exception e) {
  22519.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  22520.                 this.isGestioneTokenSaveTokenAuthenticationInfoValidationFailed = true;
  22521.             }
  22522.         }

  22523.         return this.isGestioneTokenSaveTokenAuthenticationInfoValidationFailed;
  22524.     }
  22525.    
  22526.     private Boolean isGestioneTokenSaveTokenAuthenticationInfoAuthenticationFailed = null;
  22527.     public boolean isGestioneTokenSaveTokenAuthenticationInfoAuthenticationFailed(){

  22528.         if(this.isGestioneTokenSaveTokenAuthenticationInfoAuthenticationFailed==null){
  22529.             String pName = "org.openspcoop2.pdd.gestioneToken.saveTokenAuthenticationInfo.authenticationFailed";
  22530.             try{  
  22531.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22532.                 if (value != null){
  22533.                     value = value.trim();
  22534.                     this.isGestioneTokenSaveTokenAuthenticationInfoAuthenticationFailed = Boolean.parseBoolean(value);
  22535.                 }else{
  22536.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  22537.                     this.isGestioneTokenSaveTokenAuthenticationInfoAuthenticationFailed = true;
  22538.                 }

  22539.             }catch(java.lang.Exception e) {
  22540.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  22541.                 this.isGestioneTokenSaveTokenAuthenticationInfoAuthenticationFailed = true;
  22542.             }
  22543.         }

  22544.         return this.isGestioneTokenSaveTokenAuthenticationInfoAuthenticationFailed;
  22545.     }
  22546.    
  22547.     private Boolean getGestioneTokenFormatDateRead = null;
  22548.     private String getGestioneTokenFormatDate = null;
  22549.     public String getGestioneTokenFormatDate() throws CoreException{

  22550.         if(this.getGestioneTokenFormatDateRead==null){
  22551.             try{  
  22552.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.gestioneToken.forward.date.format");

  22553.                 if (value != null){
  22554.                     value = value.trim();
  22555.                     this.getGestioneTokenFormatDate = value;
  22556.                 }

  22557.             }catch(java.lang.Exception e) {
  22558.                 String msg = "Proprieta' di openspcoop 'org.openspcoop2.pdd.gestioneToken.forward.date.format' non impostata, errore:"+e.getMessage();
  22559.                 this.logError(msg,e);
  22560.                 throw new CoreException(msg);
  22561.             }
  22562.            
  22563.             this.getGestioneTokenFormatDateRead = true;
  22564.         }

  22565.         return this.getGestioneTokenFormatDate;
  22566.     }
  22567.    
  22568.     private String getGestioneTokenHeaderTrasportoJSON = null;
  22569.     public String getGestioneTokenHeaderTrasportoJSON() throws CoreException{

  22570.         if(this.getGestioneTokenHeaderTrasportoJSON==null){
  22571.             try{  
  22572.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.gestioneToken.forward.trasporto.jsonHeader");

  22573.                 if (value != null){
  22574.                     value = value.trim();
  22575.                     this.getGestioneTokenHeaderTrasportoJSON = value;
  22576.                 }else{
  22577.                     throw new CoreException("Non impostata");
  22578.                 }

  22579.             }catch(java.lang.Exception e) {
  22580.                 String msg = "Proprieta' di openspcoop 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.jsonHeader' non impostata, errore:"+e.getMessage();
  22581.                 this.logError(msg,e);
  22582.                 throw new CoreException(msg);
  22583.             }
  22584.         }

  22585.         return this.getGestioneTokenHeaderTrasportoJSON;
  22586.     }
  22587.    
  22588.     private String getGestioneTokenHeaderTrasportoJWT = null;
  22589.     public String getGestioneTokenHeaderTrasportoJWT() throws CoreException{

  22590.         if(this.getGestioneTokenHeaderTrasportoJWT==null){
  22591.             try{  
  22592.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.gestioneToken.forward.trasporto.jwsHeader");

  22593.                 if (value != null){
  22594.                     value = value.trim();
  22595.                     this.getGestioneTokenHeaderTrasportoJWT = value;
  22596.                 }else{
  22597.                     throw new CoreException("Non impostata");
  22598.                 }

  22599.             }catch(java.lang.Exception e) {
  22600.                 String msg = "Proprieta' di openspcoop 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.jwsHeader' non impostata, errore:"+e.getMessage();
  22601.                 this.logError(msg,e);
  22602.                 throw new CoreException(msg);
  22603.             }
  22604.         }

  22605.         return this.getGestioneTokenHeaderTrasportoJWT;
  22606.     }

  22607.     /**
  22608.      * Restituisce le proprieta' che identificano gli header di integrazione in caso di 'trasporto'
  22609.      *
  22610.      * @return Restituisce le proprieta' che identificano gli header di integrazione in caso di 'trasporto'
  22611.      *  
  22612.      */
  22613.     private Map<String, String> keyValueGestioneTokenHeaderIntegrazioneTrasporto = null;
  22614.     public Map<String, String> getKeyValueGestioneTokenHeaderIntegrazioneTrasporto() {  
  22615.         if(this.keyValueGestioneTokenHeaderIntegrazioneTrasporto==null){

  22616.             try{

  22617.                 this.keyValueGestioneTokenHeaderIntegrazioneTrasporto = this.reader.readPropertiesAsHashMapConvertEnvProperties("org.openspcoop2.pdd.gestioneToken.forward.trasporto.keyword.");
  22618.                
  22619.             }catch(java.lang.Exception e) {
  22620.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.keyword.*': "+e.getMessage(),e);
  22621.                 this.keyValueGestioneTokenHeaderIntegrazioneTrasporto = null;
  22622.             }    
  22623.         }

  22624.         return this.keyValueGestioneTokenHeaderIntegrazioneTrasporto;
  22625.     }
  22626.    
  22627.     private Map<String, Boolean> keyValueGestioneTokenHeaderIntegrazioneTrasportoSetPD = null;
  22628.     public Map<String, Boolean> getKeyPDSetEnabledGestioneTokenHeaderIntegrazioneTrasporto() throws CoreException {
  22629.         if(this.keyValueGestioneTokenHeaderIntegrazioneTrasportoSetPD==null){

  22630.             java.util.Properties prop = new java.util.Properties();
  22631.             try{

  22632.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.gestioneToken.forward.trasporto.pd.set.enabled.");
  22633.                 this.keyValueGestioneTokenHeaderIntegrazioneTrasportoSetPD = new HashMap<>();
  22634.                 Iterator<?> it = prop.keySet().iterator();
  22635.                 while (it.hasNext()) {
  22636.                     Object object = it.next();
  22637.                     if(object instanceof String) {
  22638.                         String key = (String) object;
  22639.                         String value = prop.getProperty(key);
  22640.                         processKeyPDSetEnabledGestioneTokenHeaderIntegrazioneTrasporto(key, value);
  22641.                     }
  22642.                 }
  22643.                
  22644.             }catch(java.lang.Exception e) {
  22645.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.pd.set.enabled.*': "+e.getMessage(),e);
  22646.                 throw new CoreException(e.getMessage(),e);
  22647.             }    
  22648.         }

  22649.         return this.keyValueGestioneTokenHeaderIntegrazioneTrasportoSetPD;
  22650.     }
  22651.     private void processKeyPDSetEnabledGestioneTokenHeaderIntegrazioneTrasporto(String key, String value) throws CoreException {
  22652.         try {
  22653.             boolean b = Boolean.parseBoolean(value);
  22654.             this.keyValueGestioneTokenHeaderIntegrazioneTrasportoSetPD.put(key, b);
  22655.         }catch(Exception e) {
  22656.             throw new CoreException("Rilevato errore durante il parsing della property 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.pd.set.enabled."+key+"' (atteso: true/false): "+e.getMessage(),e);
  22657.         }
  22658.     }

  22659.    
  22660.     private Map<String, Boolean> keyValueGestioneTokenHeaderIntegrazioneTrasportoSetPA = null;
  22661.     public Map<String, Boolean> getKeyPASetEnabledGestioneTokenHeaderIntegrazioneTrasporto() throws CoreException {
  22662.         if(this.keyValueGestioneTokenHeaderIntegrazioneTrasportoSetPA==null){

  22663.             java.util.Properties prop = new java.util.Properties();
  22664.             try{

  22665.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.gestioneToken.forward.trasporto.pa.set.enabled.");
  22666.                 this.keyValueGestioneTokenHeaderIntegrazioneTrasportoSetPA = new HashMap<>();
  22667.                 Iterator<?> it = prop.keySet().iterator();
  22668.                 while (it.hasNext()) {
  22669.                     Object object = it.next();
  22670.                     if(object instanceof String) {
  22671.                         String key = (String) object;
  22672.                         String value = prop.getProperty(key);
  22673.                         processKeyPASetEnabledGestioneTokenHeaderIntegrazioneTrasporto(key, value);
  22674.                     }
  22675.                 }
  22676.                
  22677.             }catch(java.lang.Exception e) {
  22678.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.pa.set.enabled.*': "+e.getMessage(),e);
  22679.                 throw new CoreException(e.getMessage(),e);
  22680.             }    
  22681.         }

  22682.         return this.keyValueGestioneTokenHeaderIntegrazioneTrasportoSetPA;
  22683.     }
  22684.     private void processKeyPASetEnabledGestioneTokenHeaderIntegrazioneTrasporto(String key, String value) throws CoreException {
  22685.         try {
  22686.             boolean b = Boolean.parseBoolean(value);
  22687.             this.keyValueGestioneTokenHeaderIntegrazioneTrasportoSetPA.put(key, b);
  22688.         }catch(Exception e) {
  22689.             throw new CoreException("Rilevato errore durante il parsing della property 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.pa.set.enabled."+key+"' (atteso: true/false): "+e.getMessage(),e);
  22690.         }
  22691.     }
  22692.    
  22693.     private Map<String, Boolean> keyValueGestioneTokenHeaderIntegrazioneJsonSetPD = null;
  22694.     public Map<String, Boolean> getKeyPDSetEnabledGestioneTokenHeaderIntegrazioneJson() throws CoreException {  
  22695.         if(this.keyValueGestioneTokenHeaderIntegrazioneJsonSetPD==null){

  22696.             java.util.Properties prop = new java.util.Properties();
  22697.             try{

  22698.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.gestioneToken.forward.json.pd.set.enabled.");
  22699.                 this.keyValueGestioneTokenHeaderIntegrazioneJsonSetPD = new HashMap<>();
  22700.                 Iterator<?> it = prop.keySet().iterator();
  22701.                 while (it.hasNext()) {
  22702.                     Object object = it.next();
  22703.                     if(object instanceof String) {
  22704.                         String key = (String) object;
  22705.                         String value = prop.getProperty(key);
  22706.                         processKeyPDSetEnabledGestioneTokenHeaderIntegrazioneJson(key, value);
  22707.                     }
  22708.                 }
  22709.                
  22710.             }catch(java.lang.Exception e) {
  22711.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.gestioneToken.forward.json.pd.set.enabled.*': "+e.getMessage(),e);
  22712.                 throw new CoreException(e.getMessage(),e);
  22713.             }    
  22714.         }

  22715.         return this.keyValueGestioneTokenHeaderIntegrazioneJsonSetPD;
  22716.     }
  22717.     private void processKeyPDSetEnabledGestioneTokenHeaderIntegrazioneJson(String key, String value) throws CoreException {
  22718.         try {
  22719.             boolean b = Boolean.parseBoolean(value);
  22720.             this.keyValueGestioneTokenHeaderIntegrazioneJsonSetPD.put(key, b);
  22721.         }catch(Exception e) {
  22722.             throw new CoreException("Rilevato errore durante il parsing della property 'org.openspcoop2.pdd.gestioneToken.forward.json.pd.set.enabled."+key+"' (atteso: true/false): "+e.getMessage(),e);
  22723.         }
  22724.     }

  22725.    
  22726.     private Map<String, Boolean> keyValueGestioneTokenHeaderIntegrazioneJsonSetPA = null;
  22727.     public Map<String, Boolean> getKeyPASetEnabledGestioneTokenHeaderIntegrazioneJson() throws CoreException {  
  22728.         if(this.keyValueGestioneTokenHeaderIntegrazioneJsonSetPA==null){

  22729.             java.util.Properties prop = new java.util.Properties();
  22730.             try{

  22731.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.gestioneToken.forward.json.pa.set.enabled.");
  22732.                 this.keyValueGestioneTokenHeaderIntegrazioneJsonSetPA = new HashMap<>();
  22733.                 Iterator<?> it = prop.keySet().iterator();
  22734.                 while (it.hasNext()) {
  22735.                     Object object = it.next();
  22736.                     if(object instanceof String) {
  22737.                         String key = (String) object;
  22738.                         String value = prop.getProperty(key);
  22739.                         processKeyPASetEnabledGestioneTokenHeaderIntegrazioneJson(key, value);
  22740.                     }
  22741.                 }
  22742.                
  22743.             }catch(java.lang.Exception e) {
  22744.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.gestioneToken.forward.json.pa.set.enabled.*': "+e.getMessage(),e);
  22745.                 throw new CoreException(e.getMessage(),e);
  22746.             }    
  22747.         }

  22748.         return this.keyValueGestioneTokenHeaderIntegrazioneJsonSetPA;
  22749.     }
  22750.     private void processKeyPASetEnabledGestioneTokenHeaderIntegrazioneJson(String key, String value) throws CoreException {
  22751.         try {
  22752.             boolean b = Boolean.parseBoolean(value);
  22753.             this.keyValueGestioneTokenHeaderIntegrazioneJsonSetPA.put(key, b);
  22754.         }catch(Exception e) {
  22755.             throw new CoreException("Rilevato errore durante il parsing della property 'org.openspcoop2.pdd.gestioneToken.forward.json.pa.set.enabled."+key+"' (atteso: true/false): "+e.getMessage(),e);
  22756.         }
  22757.     }
  22758.    
  22759.     private static final String PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX = "org.openspcoop2.pdd.gestioneToken.forward.custom.";
  22760.    
  22761.     private List<String> getCustomClaimsKeysGestioneTokenForward = null;
  22762.     public List<String> getCustomClaimsKeysGestioneTokenForward() throws CoreException {    
  22763.         if(this.getCustomClaimsKeysGestioneTokenForward==null){

  22764.             java.util.Properties prop = new java.util.Properties();
  22765.             try{

  22766.                 this.getCustomClaimsKeysGestioneTokenForward= new ArrayList<>();
  22767.                 prop = this.reader.readPropertiesConvertEnvProperties(PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX);
  22768.                 if(prop!=null && !prop.isEmpty()) {
  22769.                     Enumeration<?> en = prop.keys();
  22770.                     while (en.hasMoreElements()) {
  22771.                         String key = (String) en.nextElement();
  22772.                         processCustomClaimsKeysGestioneTokenForward(key);
  22773.                     }
  22774.                 }
  22775.                
  22776.             }catch(java.lang.Exception e) {
  22777.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.gestioneToken.forward.custom.CLAIM_NAME.name': "+e.getMessage(),e);
  22778.                 throw new CoreException(e.getMessage(),e);
  22779.             }    
  22780.         }

  22781.         return this.getCustomClaimsKeysGestioneTokenForward;
  22782.     }
  22783.     private void processCustomClaimsKeysGestioneTokenForward(String key) {
  22784.         if(key.contains(".")) {
  22785.             String keySub = key.substring(key.indexOf(".")+1);
  22786.             if("name".equals(keySub)) {
  22787.                 String tmp = key.substring(0, key.indexOf("."));
  22788.                 if(tmp!=null) {
  22789.                     this.getCustomClaimsKeysGestioneTokenForward.add(tmp.trim());
  22790.                 }
  22791.             }
  22792.         }
  22793.     }
  22794.    
  22795.     private Character gestioneTokenHeaderIntegrazioneTrasportoAudienceSeparator = null;
  22796.     public Character getGestioneTokenHeaderIntegrazioneTrasportoAudienceSeparator(){

  22797.         if(this.gestioneTokenHeaderIntegrazioneTrasportoAudienceSeparator==null){
  22798.             try{  
  22799.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.gestioneToken.forward.trasporto.audience.separator");

  22800.                 if (value != null){
  22801.                     value = value.trim();
  22802.                     if(value.length()<1 || value.length()>1) {
  22803.                         throw new CoreException(ATTESO_UN_CARATTERE_TROVATI+value.length());
  22804.                     }
  22805.                     this.gestioneTokenHeaderIntegrazioneTrasportoAudienceSeparator = value.charAt(0);
  22806.                 }else{
  22807.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.audience.separator' non impostata, viene utilizzato il default=,");
  22808.                     this.gestioneTokenHeaderIntegrazioneTrasportoAudienceSeparator = ',';
  22809.                 }

  22810.             }catch(java.lang.Exception e) {
  22811.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.audience.separator' non impostata, viene utilizzato il default=, ; errore:"+e.getMessage(),e);
  22812.                 this.gestioneTokenHeaderIntegrazioneTrasportoAudienceSeparator = ',';
  22813.             }
  22814.         }

  22815.         return this.gestioneTokenHeaderIntegrazioneTrasportoAudienceSeparator;
  22816.     }
  22817.    
  22818.     private Character gestioneTokenHeaderIntegrazioneTrasportoScopeSeparator = null;
  22819.     public Character getGestioneTokenHeaderIntegrazioneTrasportoScopeSeparator(){

  22820.         if(this.gestioneTokenHeaderIntegrazioneTrasportoScopeSeparator==null){
  22821.             try{  
  22822.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.gestioneToken.forward.trasporto.scopes.separator");

  22823.                 if (value != null){
  22824.                     value = value.trim();
  22825.                     if(value.length()<1 || value.length()>1) {
  22826.                         throw new CoreException(ATTESO_UN_CARATTERE_TROVATI+value.length());
  22827.                     }
  22828.                     this.gestioneTokenHeaderIntegrazioneTrasportoScopeSeparator = value.charAt(0);
  22829.                 }else{
  22830.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.scopes.separator' non impostata, viene utilizzato il default=,");
  22831.                     this.gestioneTokenHeaderIntegrazioneTrasportoScopeSeparator = ',';
  22832.                 }

  22833.             }catch(java.lang.Exception e) {
  22834.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.scopes.separator' non impostata, viene utilizzato il default=, ; errore:"+e.getMessage(),e);
  22835.                 this.gestioneTokenHeaderIntegrazioneTrasportoScopeSeparator = ',';
  22836.             }
  22837.         }

  22838.         return this.gestioneTokenHeaderIntegrazioneTrasportoScopeSeparator;
  22839.     }
  22840.    
  22841.     private Character gestioneTokenHeaderIntegrazioneTrasportoRoleSeparator = null;
  22842.     public Character getGestioneTokenHeaderIntegrazioneTrasportoRoleSeparator(){

  22843.         if(this.gestioneTokenHeaderIntegrazioneTrasportoRoleSeparator==null){
  22844.             try{  
  22845.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.gestioneToken.forward.trasporto.roles.separator");

  22846.                 if (value != null){
  22847.                     value = value.trim();
  22848.                     if(value.length()<1 || value.length()>1) {
  22849.                         throw new CoreException(ATTESO_UN_CARATTERE_TROVATI+value.length());
  22850.                     }
  22851.                     this.gestioneTokenHeaderIntegrazioneTrasportoRoleSeparator = value.charAt(0);
  22852.                 }else{
  22853.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.roles.separator' non impostata, viene utilizzato il default=,");
  22854.                     this.gestioneTokenHeaderIntegrazioneTrasportoRoleSeparator = ',';
  22855.                 }

  22856.             }catch(java.lang.Exception e) {
  22857.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.roles.separator' non impostata, viene utilizzato il default=, ; errore:"+e.getMessage(),e);
  22858.                 this.gestioneTokenHeaderIntegrazioneTrasportoRoleSeparator = ',';
  22859.             }
  22860.         }

  22861.         return this.gestioneTokenHeaderIntegrazioneTrasportoRoleSeparator;
  22862.     }
  22863.    
  22864.     private Map<String, String> getCustomClaimsNameGestioneTokenHeaderIntegrazione = null;
  22865.     public String getCustomClaimsNameGestioneTokenHeaderIntegrazione(String claimName) throws CoreException {  
  22866.         if(this.getCustomClaimsNameGestioneTokenHeaderIntegrazione==null){

  22867.             java.util.Properties prop = new java.util.Properties();
  22868.             try{

  22869.                 this.getCustomClaimsNameGestioneTokenHeaderIntegrazione = new HashMap<>();
  22870.                 prop = this.reader.readPropertiesConvertEnvProperties(PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX);
  22871.                 if(prop!=null && !prop.isEmpty()) {
  22872.                     Enumeration<?> en = prop.keys();
  22873.                     while (en.hasMoreElements()) {
  22874.                         String key = (String) en.nextElement();
  22875.                         processCustomClaimsNameGestioneTokenHeaderIntegrazioneEngine(key, prop);
  22876.                     }
  22877.                 }
  22878.                
  22879.             }catch(java.lang.Exception e) {
  22880.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX+claimName+".trasporto.name': "+e.getMessage(),e);
  22881.                 throw new CoreException(e.getMessage(),e);
  22882.             }    
  22883.         }

  22884.         return this.getCustomClaimsNameGestioneTokenHeaderIntegrazione.get(claimName);
  22885.     }
  22886.     private void processCustomClaimsNameGestioneTokenHeaderIntegrazioneEngine(String key, java.util.Properties prop) throws CoreException {
  22887.         if(key.contains(".")) {
  22888.             String keySub = key.substring(key.indexOf(".")+1);
  22889.             if("name".equals(keySub)) {
  22890.                 String tmp = prop.getProperty(key);
  22891.                 if(tmp!=null) {
  22892.                     String claimNameTmp = key.substring(0, key.indexOf("."));
  22893.                     this.getCustomClaimsNameGestioneTokenHeaderIntegrazione.put(claimNameTmp, tmp.trim());
  22894.                 }
  22895.                 else {
  22896.                     throw new CoreException(PROPRIETA_NON_DEFINITA);
  22897.                 }
  22898.             }
  22899.         }
  22900.     }
  22901.    
  22902.     private Map<String, String> getCustomClaimsHeaderNameGestioneTokenHeaderIntegrazioneTrasporto = null;
  22903.     public String getCustomClaimsHeaderNameGestioneTokenHeaderIntegrazioneTrasporto(String claimName) throws CoreException {    
  22904.         if(this.getCustomClaimsHeaderNameGestioneTokenHeaderIntegrazioneTrasporto==null){

  22905.             java.util.Properties prop = new java.util.Properties();
  22906.             try{

  22907.                 this.getCustomClaimsHeaderNameGestioneTokenHeaderIntegrazioneTrasporto = new HashMap<>();
  22908.                 prop = this.reader.readPropertiesConvertEnvProperties(PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX);
  22909.                 if(prop!=null && !prop.isEmpty()) {
  22910.                     Enumeration<?> en = prop.keys();
  22911.                     while (en.hasMoreElements()) {
  22912.                         String key = (String) en.nextElement();
  22913.                         processCustomClaimsHeaderNameGestioneTokenHeaderIntegrazioneTrasporto(key, prop);
  22914.                     }
  22915.                 }
  22916.                
  22917.             }catch(java.lang.Exception e) {
  22918.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX+claimName+".trasporto.name': "+e.getMessage(),e);
  22919.                 throw new CoreException(e.getMessage(),e);
  22920.             }    
  22921.         }

  22922.         return this.getCustomClaimsHeaderNameGestioneTokenHeaderIntegrazioneTrasporto.get(claimName);
  22923.     }
  22924.     private void processCustomClaimsHeaderNameGestioneTokenHeaderIntegrazioneTrasporto(String key, java.util.Properties prop) throws CoreException {    
  22925.         if(key.contains(".")) {
  22926.             String keySub = key.substring(key.indexOf(".")+1);
  22927.             if("trasporto.name".equals(keySub)) {
  22928.                 String tmp = prop.getProperty(key);
  22929.                 if(tmp!=null) {
  22930.                     String claimNameTmp = key.substring(0, key.indexOf("."));
  22931.                     this.getCustomClaimsHeaderNameGestioneTokenHeaderIntegrazioneTrasporto.put(claimNameTmp, tmp.trim());
  22932.                 }
  22933.                 else {
  22934.                     throw new CoreException(PROPRIETA_NON_DEFINITA);
  22935.                 }
  22936.             }
  22937.         }
  22938.     }
  22939.    
  22940.     private Map<String, Boolean> getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneTrasportoSetPD = null;
  22941.     public Boolean getCustomClaimsKeyPDSetEnabledGestioneTokenHeaderIntegrazioneTrasporto(String claimName) throws CoreException {  
  22942.         if(this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneTrasportoSetPD==null){

  22943.             java.util.Properties prop = new java.util.Properties();
  22944.             try{

  22945.                 this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneTrasportoSetPD = new HashMap<>();
  22946.                 prop = this.reader.readPropertiesConvertEnvProperties(PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX);
  22947.                 if(prop!=null && !prop.isEmpty()) {
  22948.                     Enumeration<?> en = prop.keys();
  22949.                     while (en.hasMoreElements()) {
  22950.                         String key = (String) en.nextElement();
  22951.                         processCustomClaimsKeyPDSetEnabledGestioneTokenHeaderIntegrazioneTrasporto(key, prop);
  22952.                     }
  22953.                 }
  22954.                
  22955.             }catch(java.lang.Exception e) {
  22956.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX+claimName+".trasporto.pd.set.enabled': "+e.getMessage(),e);
  22957.                 throw new CoreException(e.getMessage(),e);
  22958.             }    
  22959.         }

  22960.         return this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneTrasportoSetPD.get(claimName);
  22961.     }
  22962.     private void processCustomClaimsKeyPDSetEnabledGestioneTokenHeaderIntegrazioneTrasporto(String key, java.util.Properties prop) throws CoreException {  
  22963.         if(key.contains(".")) {
  22964.             String keySub = key.substring(key.indexOf(".")+1);
  22965.             if("trasporto.pd.set.enabled".equals(keySub)) {
  22966.                 String tmp = prop.getProperty(key);
  22967.                 if(tmp!=null) {
  22968.                     try {
  22969.                         boolean b = Boolean.parseBoolean(tmp.trim());
  22970.                         String claimNameTmp = key.substring(0, key.indexOf("."));
  22971.                         this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneTrasportoSetPD.put(claimNameTmp, b);
  22972.                     }catch(Exception e) {
  22973.                         throw new CoreException("Rilevato errore durante il parsing della property '"+PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX+key+"' (atteso: true/false): "+e.getMessage(),e);
  22974.                     }
  22975.                 }
  22976.                 else {
  22977.                     throw new CoreException(PROPRIETA_NON_DEFINITA);
  22978.                 }
  22979.             }
  22980.         }
  22981.     }

  22982.    
  22983.     private Map<String, Boolean> getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneTrasportoSetPA = null;
  22984.     public Boolean getCustomClaimsKeyPASetEnabledGestioneTokenHeaderIntegrazioneTrasporto(String claimName) throws CoreException {  
  22985.         if(this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneTrasportoSetPA==null){

  22986.             java.util.Properties prop = new java.util.Properties();
  22987.             try{

  22988.                 this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneTrasportoSetPA = new HashMap<>();
  22989.                 prop = this.reader.readPropertiesConvertEnvProperties(PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX);
  22990.                 if(prop!=null && !prop.isEmpty()) {
  22991.                     Enumeration<?> en = prop.keys();
  22992.                     while (en.hasMoreElements()) {
  22993.                         String key = (String) en.nextElement();
  22994.                         processCustomClaimsKeyPASetEnabledGestioneTokenHeaderIntegrazioneTrasporto(key, prop);
  22995.                     }
  22996.                 }
  22997.                
  22998.             }catch(java.lang.Exception e) {
  22999.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX+claimName+".trasporto.pa.set.enabled': "+e.getMessage(),e);
  23000.                 throw new CoreException(e.getMessage(),e);
  23001.             }    
  23002.         }

  23003.         return this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneTrasportoSetPA.get(claimName);
  23004.     }
  23005.     private void processCustomClaimsKeyPASetEnabledGestioneTokenHeaderIntegrazioneTrasporto(String key, java.util.Properties prop) throws CoreException {  
  23006.         if(key.contains(".")) {
  23007.             String keySub = key.substring(key.indexOf(".")+1);
  23008.             if("trasporto.pa.set.enabled".equals(keySub)) {
  23009.                 String tmp = prop.getProperty(key);
  23010.                 if(tmp!=null) {
  23011.                     try {
  23012.                         boolean b = Boolean.parseBoolean(tmp.trim());
  23013.                         String claimNameTmp = key.substring(0, key.indexOf("."));
  23014.                         this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneTrasportoSetPA.put(claimNameTmp, b);
  23015.                     }catch(Exception e) {
  23016.                         throw new CoreException("Rilevato errore durante il parsing della property '"+PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX+key+"' (atteso: true/false): "+e.getMessage(),e);
  23017.                     }
  23018.                 }
  23019.                 else {
  23020.                     throw new CoreException(PROPRIETA_NON_DEFINITA);
  23021.                 }
  23022.             }
  23023.         }
  23024.     }
  23025.    
  23026.     private Map<String, String> getCustomClaimsJsonPropertyNameGestioneTokenHeaderIntegrazioneJson = null;
  23027.     public String getCustomClaimsJsonPropertyNameGestioneTokenHeaderIntegrazioneJson(String claimName) throws CoreException {  
  23028.         if(this.getCustomClaimsJsonPropertyNameGestioneTokenHeaderIntegrazioneJson==null){

  23029.             java.util.Properties prop = new java.util.Properties();
  23030.             try{

  23031.                 this.getCustomClaimsJsonPropertyNameGestioneTokenHeaderIntegrazioneJson = new HashMap<>();
  23032.                 prop = this.reader.readPropertiesConvertEnvProperties(PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX);
  23033.                 if(prop!=null && !prop.isEmpty()) {
  23034.                     Enumeration<?> en = prop.keys();
  23035.                     while (en.hasMoreElements()) {
  23036.                         String key = (String) en.nextElement();
  23037.                         processCustomClaimsJsonPropertyNameGestioneTokenHeaderIntegrazioneJson(key, prop);
  23038.                     }
  23039.                 }
  23040.                
  23041.             }catch(java.lang.Exception e) {
  23042.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX+claimName+".json.name': "+e.getMessage(),e);
  23043.                 throw new CoreException(e.getMessage(),e);
  23044.             }    
  23045.         }

  23046.         return this.getCustomClaimsJsonPropertyNameGestioneTokenHeaderIntegrazioneJson.get(claimName);
  23047.     }
  23048.     private void processCustomClaimsJsonPropertyNameGestioneTokenHeaderIntegrazioneJson(String key, java.util.Properties prop) throws CoreException {  
  23049.         if(key.contains(".")) {
  23050.             String keySub = key.substring(key.indexOf(".")+1);
  23051.             if("json.name".equals(keySub)) {
  23052.                 String tmp = prop.getProperty(key);
  23053.                 if(tmp!=null) {
  23054.                     String claimNameTmp = key.substring(0, key.indexOf("."));
  23055.                     this.getCustomClaimsJsonPropertyNameGestioneTokenHeaderIntegrazioneJson.put(claimNameTmp, tmp.trim());
  23056.                 }
  23057.                 else {
  23058.                     throw new CoreException(PROPRIETA_NON_DEFINITA);
  23059.                 }
  23060.             }
  23061.         }
  23062.     }
  23063.    
  23064.     private Map<String, Boolean> getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneJsonSetPD = null;
  23065.     public Boolean getCustomClaimsKeyPDSetEnabledGestioneTokenHeaderIntegrazioneJson(String claimName) throws CoreException {  
  23066.         if(this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneJsonSetPD==null){

  23067.             java.util.Properties prop = new java.util.Properties();
  23068.             try{

  23069.                 this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneJsonSetPD = new HashMap<>();
  23070.                 prop = this.reader.readPropertiesConvertEnvProperties(PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX);
  23071.                 if(prop!=null && !prop.isEmpty()) {
  23072.                     Enumeration<?> en = prop.keys();
  23073.                     while (en.hasMoreElements()) {
  23074.                         String key = (String) en.nextElement();
  23075.                         processCustomClaimsKeyPDSetEnabledGestioneTokenHeaderIntegrazioneJson(key, prop);
  23076.                     }
  23077.                 }
  23078.                
  23079.             }catch(java.lang.Exception e) {
  23080.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX+claimName+".json.pd.set.enabled': "+e.getMessage(),e);
  23081.                 throw new CoreException(e.getMessage(),e);
  23082.             }    
  23083.         }

  23084.         return this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneJsonSetPD.get(claimName);
  23085.     }
  23086.     private void processCustomClaimsKeyPDSetEnabledGestioneTokenHeaderIntegrazioneJson(String key, java.util.Properties prop) throws CoreException {    
  23087.         if(key.contains(".")) {
  23088.             String keySub = key.substring(key.indexOf(".")+1);
  23089.             if("json.pd.set.enabled".equals(keySub)) {
  23090.                 String tmp = prop.getProperty(key);
  23091.                 if(tmp!=null) {
  23092.                     try {
  23093.                         boolean b = Boolean.parseBoolean(tmp.trim());
  23094.                         String claimNameTmp = key.substring(0, key.indexOf("."));
  23095.                         this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneJsonSetPD.put(claimNameTmp, b);
  23096.                     }catch(Exception e) {
  23097.                         throw new CoreException("Rilevato errore durante il parsing della property '"+PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX+key+"' (atteso: true/false): "+e.getMessage(),e);
  23098.                     }
  23099.                 }
  23100.                 else {
  23101.                     throw new CoreException(PROPRIETA_NON_DEFINITA);
  23102.                 }
  23103.             }
  23104.         }
  23105.     }

  23106.    
  23107.     private Map<String, Boolean> getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneJsonSetPA = null;
  23108.     public Boolean getCustomClaimsKeyPASetEnabledGestioneTokenHeaderIntegrazioneJson(String claimName) throws CoreException {  
  23109.         if(this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneJsonSetPA==null){

  23110.             java.util.Properties prop = new java.util.Properties();
  23111.             try{

  23112.                 this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneJsonSetPA = new HashMap<>();
  23113.                 prop = this.reader.readPropertiesConvertEnvProperties(PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX);
  23114.                 if(prop!=null && !prop.isEmpty()) {
  23115.                     Enumeration<?> en = prop.keys();
  23116.                     while (en.hasMoreElements()) {
  23117.                         String key = (String) en.nextElement();
  23118.                         processCustomClaimsKeyPASetEnabledGestioneTokenHeaderIntegrazioneJson(key, prop);
  23119.                     }
  23120.                 }
  23121.                
  23122.             }catch(java.lang.Exception e) {
  23123.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX+claimName+".json.pa.set.enabled': "+e.getMessage(),e);
  23124.                 throw new CoreException(e.getMessage(),e);
  23125.             }    
  23126.         }

  23127.         return this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneJsonSetPA.get(claimName);
  23128.     }
  23129.     private void processCustomClaimsKeyPASetEnabledGestioneTokenHeaderIntegrazioneJson(String key, java.util.Properties prop) throws CoreException {    
  23130.         if(key.contains(".")) {
  23131.             String keySub = key.substring(key.indexOf(".")+1);
  23132.             if("json.pa.set.enabled".equals(keySub)) {
  23133.                 String tmp = prop.getProperty(key);
  23134.                 if(tmp!=null) {
  23135.                     try {
  23136.                         boolean b = Boolean.parseBoolean(tmp.trim());
  23137.                         String claimNameTmp = key.substring(0, key.indexOf("."));
  23138.                         this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneJsonSetPA.put(claimNameTmp, b);
  23139.                     }catch(Exception e) {
  23140.                         throw new CoreException("Rilevato errore durante il parsing della property '"+PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX+key+"' (atteso: true/false): "+e.getMessage(),e);
  23141.                     }
  23142.                 }
  23143.                 else {
  23144.                     throw new CoreException(PROPRIETA_NON_DEFINITA);
  23145.                 }
  23146.             }
  23147.         }
  23148.     }
  23149.    
  23150.    
  23151.    
  23152.     /* ------------- Gestione Retrieve Token ---------------------*/
  23153.    
  23154.     private Boolean isGestioneRetrieveTokenDebug = null;
  23155.     private Boolean isGestioneRetrieveTokenDebugRead = null;
  23156.     public Boolean getGestioneRetrieveTokenDebug(){

  23157.         String pName = "org.openspcoop2.pdd.retrieveToken.debug";
  23158.         if(this.isGestioneRetrieveTokenDebugRead==null){
  23159.             try{  
  23160.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23161.                 if (value != null){
  23162.                     value = value.trim();
  23163.                     this.isGestioneRetrieveTokenDebug = Boolean.parseBoolean(value);
  23164.                 }
  23165.                
  23166.                 this.isGestioneRetrieveTokenDebugRead=true;

  23167.             }catch(java.lang.Exception e) {
  23168.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostata, viene utilizzato il default='Utilizzo dell'impostazione del connettore', errore:"+e.getMessage(),e);
  23169.                 this.isGestioneRetrieveTokenDebug = false;
  23170.             }
  23171.         }

  23172.         return this.isGestioneRetrieveTokenDebug;
  23173.     }
  23174.    
  23175.     private Boolean getGestioneRetrieveTokenLockPermitsRead = null;
  23176.     private Integer getGestioneRetrieveTokenLockPermits = null;
  23177.     public Integer getGestioneRetrieveTokenLockPermits() {

  23178.         String pName = "org.openspcoop2.pdd.retrieveToken.lock.permits";
  23179.         if(this.getGestioneRetrieveTokenLockPermitsRead==null){
  23180.             try{  
  23181.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23182.                 if (value != null){
  23183.                     value = value.trim();
  23184.                     int permits = Integer.parseInt(value);
  23185.                     if(permits>1) {
  23186.                         // altrimenti è un normale semaphore binario
  23187.                         this.getGestioneRetrieveTokenLockPermits = permits;
  23188.                     }
  23189.                 }
  23190.                
  23191.                
  23192.             }catch(java.lang.Exception e) {
  23193.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  23194.             }
  23195.            
  23196.             this.getGestioneRetrieveTokenLockPermitsRead = true;
  23197.         }

  23198.         return this.getGestioneRetrieveTokenLockPermits;
  23199.     }
  23200.    
  23201.     private Integer isGestioneRetrieveTokenRefreshTokenBeforeExpirePercent = null;
  23202.     private Boolean isGestioneRetrieveTokenRefreshTokenBeforeExpirePercentRead = null;
  23203.     private String isGestioneRetrieveTokenRefreshTokenBeforeExpirePercentPName = "org.openspcoop2.pdd.retrieveToken.refreshTokenBeforeExpire.percent";
  23204.     public Integer getGestioneRetrieveTokenRefreshTokenBeforeExpirePercent(){

  23205.         if(this.isGestioneRetrieveTokenRefreshTokenBeforeExpirePercentRead==null){
  23206.             try{  
  23207.                 String value = this.reader.getValueConvertEnvProperties(this.isGestioneRetrieveTokenRefreshTokenBeforeExpirePercentPName);

  23208.                 if (value != null){
  23209.                     value = value.trim();
  23210.                     this.isGestioneRetrieveTokenRefreshTokenBeforeExpirePercent = Integer.parseInt(value);
  23211.                 }
  23212.                
  23213.                 this.isGestioneRetrieveTokenRefreshTokenBeforeExpirePercentRead=true;

  23214.             }catch(java.lang.Exception e) {
  23215.                 this.logError("Proprieta' di openspcoop '"+this.isGestioneRetrieveTokenRefreshTokenBeforeExpirePercentPName+"' non impostata, errore:"+e.getMessage(),e);
  23216.                 this.isGestioneRetrieveTokenRefreshTokenBeforeExpirePercent = null;
  23217.             }
  23218.         }

  23219.         return this.isGestioneRetrieveTokenRefreshTokenBeforeExpirePercent;
  23220.     }
  23221.    
  23222.     private Integer isGestioneRetrieveTokenRefreshTokenBeforeExpireSeconds = null;
  23223.     private Boolean isGestioneRetrieveTokenRefreshTokenBeforeExpireSecondsRead = null;
  23224.     private String isGestioneRetrieveTokenRefreshTokenBeforeExpireSecondsPName = "org.openspcoop2.pdd.retrieveToken.refreshTokenBeforeExpire.seconds";
  23225.     public Integer getGestioneRetrieveTokenRefreshTokenBeforeExpireSeconds(){

  23226.         if(this.isGestioneRetrieveTokenRefreshTokenBeforeExpireSecondsRead==null){
  23227.             try{  
  23228.                 String value = this.reader.getValueConvertEnvProperties(this.isGestioneRetrieveTokenRefreshTokenBeforeExpireSecondsPName);

  23229.                 if (value != null){
  23230.                     value = value.trim();
  23231.                     this.isGestioneRetrieveTokenRefreshTokenBeforeExpireSeconds = Integer.parseInt(value);
  23232.                 }
  23233.                
  23234.                 this.isGestioneRetrieveTokenRefreshTokenBeforeExpireSecondsRead=true;

  23235.             }catch(java.lang.Exception e) {
  23236.                 this.logError("Proprieta' di openspcoop '"+this.isGestioneRetrieveTokenRefreshTokenBeforeExpireSecondsPName+"' non impostata, errore:"+e.getMessage(),e);
  23237.                 this.isGestioneRetrieveTokenRefreshTokenBeforeExpireSeconds = null;
  23238.             }
  23239.         }

  23240.         return this.isGestioneRetrieveTokenRefreshTokenBeforeExpireSeconds;
  23241.     }
  23242.    
  23243.     private boolean validateGestioneRetrieveTokenRefreshTokenBeforeExpire() {
  23244.         Integer percent = getGestioneRetrieveTokenRefreshTokenBeforeExpirePercent();
  23245.         Integer seconds = getGestioneRetrieveTokenRefreshTokenBeforeExpireSeconds();
  23246.         boolean percentDefined = percent !=null && percent>0;
  23247.         boolean secondsDefined = seconds!=null && seconds>0;
  23248.         /**
  23249.          *Fix: lascio la possibilità di usare il token fino alla scadenza prossima se non vengono definite nessuna delle due proprietà
  23250.         if(!percentDefined && !secondsDefined) {
  23251.             this.logError("Almeno una proprietà tra le seguenti deve essere definita: '"+isGestioneRetrieveToken_refreshTokenBeforeExpire_percent_pName+"' o '"+isGestioneRetrieveToken_refreshTokenBeforeExpire_seconds_pName+"'");
  23252.             return false;
  23253.         }*/
  23254.         if(percentDefined && secondsDefined) {
  23255.             this.logError("Non è possibile definire contemporaneamente entrambe le seguenti proprietà: '"+this.isGestioneRetrieveTokenRefreshTokenBeforeExpirePercentPName+"' o '"+this.isGestioneRetrieveTokenRefreshTokenBeforeExpireSecondsPName+"'");
  23256.             return false;
  23257.         }
  23258.         return true;
  23259.     }
  23260.    
  23261.     private Boolean isGestioneRetrieveTokenRefreshTokenGrantTypeClientCredentials = null;
  23262.     public boolean isGestioneRetrieveTokenRefreshTokenGrantTypeClientCredentials(){

  23263.         String pName = "org.openspcoop2.pdd.retrieveToken.refreshToken.grantType.clientCredentials";
  23264.         if(this.isGestioneRetrieveTokenRefreshTokenGrantTypeClientCredentials==null){
  23265.             try{  
  23266.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23267.                 if (value != null){
  23268.                     value = value.trim();
  23269.                     this.isGestioneRetrieveTokenRefreshTokenGrantTypeClientCredentials = Boolean.parseBoolean(value);
  23270.                 }else{
  23271.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23272.                     this.isGestioneRetrieveTokenRefreshTokenGrantTypeClientCredentials = false;
  23273.                 }

  23274.             }catch(java.lang.Exception e) {
  23275.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23276.                 this.isGestioneRetrieveTokenRefreshTokenGrantTypeClientCredentials = false;
  23277.             }
  23278.         }

  23279.         return this.isGestioneRetrieveTokenRefreshTokenGrantTypeClientCredentials;
  23280.     }
  23281.    
  23282.     private Boolean isGestioneRetrieveTokenRefreshTokenGrantTypeUsernamePassword = null;
  23283.     public boolean isGestioneRetrieveTokenRefreshTokenGrantTypeUsernamePassword(){

  23284.         String pName = "org.openspcoop2.pdd.retrieveToken.refreshToken.grantType.usernamePassword";
  23285.         if(this.isGestioneRetrieveTokenRefreshTokenGrantTypeUsernamePassword==null){
  23286.             try{  
  23287.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23288.                 if (value != null){
  23289.                     value = value.trim();
  23290.                     this.isGestioneRetrieveTokenRefreshTokenGrantTypeUsernamePassword = Boolean.parseBoolean(value);
  23291.                 }else{
  23292.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23293.                     this.isGestioneRetrieveTokenRefreshTokenGrantTypeUsernamePassword = false;
  23294.                 }

  23295.             }catch(java.lang.Exception e) {
  23296.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23297.                 this.isGestioneRetrieveTokenRefreshTokenGrantTypeUsernamePassword = false;
  23298.             }
  23299.         }

  23300.         return this.isGestioneRetrieveTokenRefreshTokenGrantTypeUsernamePassword;
  23301.     }
  23302.    
  23303.     private Boolean isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523x509 = null;
  23304.     public boolean isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523x509(){

  23305.         String pName = "org.openspcoop2.pdd.retrieveToken.refreshToken.grantType.rfc7523_x509";
  23306.         if(this.isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523x509==null){
  23307.             try{  
  23308.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23309.                 if (value != null){
  23310.                     value = value.trim();
  23311.                     this.isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523x509 = Boolean.parseBoolean(value);
  23312.                 }else{
  23313.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23314.                     this.isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523x509 = false;
  23315.                 }

  23316.             }catch(java.lang.Exception e) {
  23317.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23318.                 this.isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523x509 = false;
  23319.             }
  23320.         }

  23321.         return this.isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523x509;
  23322.     }
  23323.    
  23324.     private Boolean isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523ClientSecret = null;
  23325.     public boolean isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523ClientSecret(){

  23326.         String pName = "org.openspcoop2.pdd.retrieveToken.refreshToken.grantType.rfc7523_clientSecret";
  23327.         if(this.isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523ClientSecret==null){
  23328.             try{  
  23329.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23330.                 if (value != null){
  23331.                     value = value.trim();
  23332.                     this.isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523ClientSecret = Boolean.parseBoolean(value);
  23333.                 }else{
  23334.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23335.                     this.isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523ClientSecret = false;
  23336.                 }

  23337.             }catch(java.lang.Exception e) {
  23338.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23339.                 this.isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523ClientSecret = false;
  23340.             }
  23341.         }

  23342.         return this.isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523ClientSecret;
  23343.     }
  23344.    
  23345.     private Boolean isGestioneRetrieveTokenRefreshTokenGrantTypeCustom = null;
  23346.     public boolean isGestioneRetrieveTokenRefreshTokenGrantTypeCustom(){

  23347.         String pName = "org.openspcoop2.pdd.retrieveToken.refreshToken.grantType.custom";
  23348.         if(this.isGestioneRetrieveTokenRefreshTokenGrantTypeCustom==null){
  23349.             try{  
  23350.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23351.                 if (value != null){
  23352.                     value = value.trim();
  23353.                     this.isGestioneRetrieveTokenRefreshTokenGrantTypeCustom = Boolean.parseBoolean(value);
  23354.                 }else{
  23355.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23356.                     this.isGestioneRetrieveTokenRefreshTokenGrantTypeCustom = false;
  23357.                 }

  23358.             }catch(java.lang.Exception e) {
  23359.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23360.                 this.isGestioneRetrieveTokenRefreshTokenGrantTypeCustom = false;
  23361.             }
  23362.         }

  23363.         return this.isGestioneRetrieveTokenRefreshTokenGrantTypeCustom;
  23364.     }
  23365.    
  23366.     private Boolean isGestioneRetrieveTokenSaveAsTokenInfo = null;
  23367.     public boolean isGestioneRetrieveTokenSaveAsTokenInfo(){

  23368.         String pName = "org.openspcoop2.pdd.retrieveToken.saveAsTokenInfo";
  23369.         if(this.isGestioneRetrieveTokenSaveAsTokenInfo==null){
  23370.             try{  
  23371.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23372.                 if (value != null){
  23373.                     value = value.trim();
  23374.                     this.isGestioneRetrieveTokenSaveAsTokenInfo = Boolean.parseBoolean(value);
  23375.                 }else{
  23376.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  23377.                     this.isGestioneRetrieveTokenSaveAsTokenInfo = true;
  23378.                 }

  23379.             }catch(java.lang.Exception e) {
  23380.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  23381.                 this.isGestioneRetrieveTokenSaveAsTokenInfo = true;
  23382.             }
  23383.         }

  23384.         return this.isGestioneRetrieveTokenSaveAsTokenInfo;
  23385.     }
  23386.    
  23387.     private Boolean isGestioneRetrieveTokenSaveAsTokenInfoExcludeJwtSignature = null;
  23388.     public boolean isGestioneRetrieveTokenSaveAsTokenInfoExcludeJwtSignature(){

  23389.         String pName = "org.openspcoop2.pdd.retrieveToken.saveAsTokenInfo.excludeJwtSignature";
  23390.         if(this.isGestioneRetrieveTokenSaveAsTokenInfoExcludeJwtSignature==null){
  23391.             try{  
  23392.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23393.                 if (value != null){
  23394.                     value = value.trim();
  23395.                     this.isGestioneRetrieveTokenSaveAsTokenInfoExcludeJwtSignature = Boolean.parseBoolean(value);
  23396.                 }else{
  23397.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  23398.                     this.isGestioneRetrieveTokenSaveAsTokenInfoExcludeJwtSignature = true;
  23399.                 }

  23400.             }catch(java.lang.Exception e) {
  23401.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  23402.                 this.isGestioneRetrieveTokenSaveAsTokenInfoExcludeJwtSignature = true;
  23403.             }
  23404.         }

  23405.         return this.isGestioneRetrieveTokenSaveAsTokenInfoExcludeJwtSignature;
  23406.     }
  23407.    
  23408.     private Boolean isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequest = null;
  23409.     public boolean isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequest(){

  23410.         String pName = "org.openspcoop2.pdd.retrieveToken.saveAsTokenInfo.saveSourceRequest";
  23411.         if(this.isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequest==null){
  23412.             try{  
  23413.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23414.                 if (value != null){
  23415.                     value = value.trim();
  23416.                     this.isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequest = Boolean.parseBoolean(value);
  23417.                 }else{
  23418.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  23419.                     this.isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequest = true;
  23420.                 }

  23421.             }catch(java.lang.Exception e) {
  23422.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  23423.                 this.isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequest = true;
  23424.             }
  23425.         }

  23426.         return this.isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequest;
  23427.     }
  23428.    
  23429.     private Boolean isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequestDate = null;
  23430.     public boolean isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequestDate(){

  23431.         String pName = "org.openspcoop2.pdd.retrieveToken.saveAsTokenInfo.saveSourceRequest.date";
  23432.         if(this.isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequestDate==null){
  23433.             try{  
  23434.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23435.                 if (value != null){
  23436.                     value = value.trim();
  23437.                     this.isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequestDate = Boolean.parseBoolean(value);
  23438.                 }else{
  23439.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  23440.                     this.isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequestDate = true;
  23441.                 }

  23442.             }catch(java.lang.Exception e) {
  23443.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  23444.                 this.isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequestDate = true;
  23445.             }
  23446.         }

  23447.         return this.isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequestDate;
  23448.     }
  23449.    
  23450.     private Boolean isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoTransazioniRegistrazioneInformazioniNormalizzate = null;
  23451.     public boolean isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoTransazioniRegistrazioneInformazioniNormalizzate(){

  23452.         String pName = "org.openspcoop2.pdd.retrieveToken.grantType_rfc7523.saveClientAssertionJWTInfo.transazioniRegistrazioneInformazioniNormalizzate";
  23453.         if(this.isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoTransazioniRegistrazioneInformazioniNormalizzate==null){
  23454.             try{  
  23455.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23456.                 if (value != null){
  23457.                     value = value.trim();
  23458.                     this.isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoTransazioniRegistrazioneInformazioniNormalizzate = Boolean.parseBoolean(value);
  23459.                 }else{
  23460.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23461.                     this.isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoTransazioniRegistrazioneInformazioniNormalizzate = false;
  23462.                 }

  23463.             }catch(java.lang.Exception e) {
  23464.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23465.                 this.isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoTransazioniRegistrazioneInformazioniNormalizzate = false;
  23466.             }
  23467.         }

  23468.         return this.isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoTransazioniRegistrazioneInformazioniNormalizzate;
  23469.     }
  23470.    
  23471.     private Boolean isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoExcludeJwtSignature = null;
  23472.     public boolean isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoExcludeJwtSignature(){

  23473.         String pName = "org.openspcoop2.pdd.retrieveToken.grantType_rfc7523.saveClientAssertionJWTInfo.excludeJwtSignature";
  23474.         if(this.isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoExcludeJwtSignature==null){
  23475.             try{  
  23476.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23477.                 if (value != null){
  23478.                     value = value.trim();
  23479.                     this.isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoExcludeJwtSignature = Boolean.parseBoolean(value);
  23480.                 }else{
  23481.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  23482.                     this.isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoExcludeJwtSignature = true;
  23483.                 }

  23484.             }catch(java.lang.Exception e) {
  23485.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  23486.                 this.isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoExcludeJwtSignature = true;
  23487.             }
  23488.         }

  23489.         return this.isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoExcludeJwtSignature;
  23490.     }
  23491.    
  23492.     private Boolean isGestioneRetrieveTokenSaveTokenInfoRetrieveFailed = null;
  23493.     public boolean isGestioneRetrieveTokenSaveTokenInfoRetrieveFailed(){

  23494.         String pName = "org.openspcoop2.pdd.retrieveToken.saveTokenInfo.retrieveFailed";
  23495.         if(this.isGestioneRetrieveTokenSaveTokenInfoRetrieveFailed==null){
  23496.             try{  
  23497.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23498.                 if (value != null){
  23499.                     value = value.trim();
  23500.                     this.isGestioneRetrieveTokenSaveTokenInfoRetrieveFailed = Boolean.parseBoolean(value);
  23501.                 }else{
  23502.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23503.                     this.isGestioneRetrieveTokenSaveTokenInfoRetrieveFailed = false;
  23504.                 }

  23505.             }catch(java.lang.Exception e) {
  23506.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23507.                 this.isGestioneRetrieveTokenSaveTokenInfoRetrieveFailed = false;
  23508.             }
  23509.         }

  23510.         return this.isGestioneRetrieveTokenSaveTokenInfoRetrieveFailed;
  23511.     }

  23512.     private Map<String, Boolean> gestioneRetrieveTokenCacheKey = null;
  23513.     private void initGestioneRetrieveTokenCacheKey() throws CoreException {
  23514.         Properties p = null;
  23515.         try {
  23516.             p = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.retrieveToken.cacheKey.");
  23517.         }catch(Exception e) {
  23518.             throw new CoreException(e.getMessage(),e);
  23519.         }
  23520.         if(p!=null) {
  23521.             this.gestioneRetrieveTokenCacheKey = new HashMap<>();
  23522.             for (Object oKey : p.keySet()) {
  23523.                 if(oKey instanceof String) {
  23524.                     String key = (String) oKey;
  23525.                     String v = p.getProperty(key);
  23526.                     if(v!=null) {
  23527.                         boolean b = Boolean.parseBoolean(v.trim());
  23528.                         this.gestioneRetrieveTokenCacheKey.put(key,b);
  23529.                     }
  23530.                 }
  23531.             }
  23532.         }
  23533.     }
  23534.     public boolean isGestioneRetrieveTokenCacheKey(String tipo) {
  23535.         if(this.gestioneRetrieveTokenCacheKey!=null && !this.gestioneRetrieveTokenCacheKey.isEmpty() && this.gestioneRetrieveTokenCacheKey.containsKey(tipo)) {
  23536.             return this.gestioneRetrieveTokenCacheKey.get(tipo);
  23537.         }
  23538.        
  23539.         // logica di default
  23540.         return !(
  23541.                 CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_IDENTIFIER.equals(tipo)
  23542.                 ||
  23543.                 CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_SESSION_INFO.equals(tipo)
  23544.                 );
  23545.     }
  23546.    
  23547.     private static final String PDND_PATTERN_MATCH_DEFAULT = "^https://auth.*\\.interop\\.pagopa\\.it/token\\.oauth2$";
  23548.     private static final String PDD_RETRIEVE_TOKEN_PREFIX_PROPERTY = "org.openspcoop2.pdd.retrieveToken.";
  23549.     private Map<String,String> getGestioneRetrieveTokenPdndUrlPatternMatch = new HashMap<>();
  23550.     public String getGestioneRetrieveTokenPdndUrlPatternMatch(String protocollo){

  23551.         if(protocollo==null) {
  23552.             protocollo = Costanti.MODIPA_PROTOCOL_NAME; // default
  23553.         }
  23554.        
  23555.         String pName = PDD_RETRIEVE_TOKEN_PREFIX_PROPERTY+protocollo+".pdnd.url.pattern";
  23556.         if(!this.getGestioneRetrieveTokenPdndUrlPatternMatch.containsKey(protocollo)){
  23557.             try{  
  23558.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23559.                 if (value != null){
  23560.                     value = value.trim();
  23561.                     this.getGestioneRetrieveTokenPdndUrlPatternMatch.put(protocollo, value);
  23562.                 }else{
  23563.                     // dovrebbe venire chiamato solo per ModI
  23564.                     if(Costanti.MODIPA_PROTOCOL_NAME.equals(protocollo)) {
  23565.                         this.logWarn(getMessaggioProprietaNonImpostata(pName, PDND_PATTERN_MATCH_DEFAULT));
  23566.                     }
  23567.                     this.getGestioneRetrieveTokenPdndUrlPatternMatch.put(protocollo, PDND_PATTERN_MATCH_DEFAULT);
  23568.                 }

  23569.             }catch(java.lang.Exception e) {
  23570.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, PDND_PATTERN_MATCH_DEFAULT),e);
  23571.                 this.getGestioneRetrieveTokenPdndUrlPatternMatch.put(protocollo, PDND_PATTERN_MATCH_DEFAULT);
  23572.             }
  23573.         }

  23574.         return this.getGestioneRetrieveTokenPdndUrlPatternMatch.get(protocollo);
  23575.     }
  23576.    
  23577.     private Map<String,Boolean> isGestioneRetrieveTokenPdndPayloadClientId = new HashMap<>();
  23578.     private boolean isGestioneRetrieveTokenPdndPayloadClientId(String protocollo){

  23579.         if(protocollo==null) {
  23580.             protocollo = Costanti.MODIPA_PROTOCOL_NAME; // default
  23581.         }
  23582.        
  23583.         String pName = PDD_RETRIEVE_TOKEN_PREFIX_PROPERTY+protocollo+".pdnd.payload.clientId";
  23584.         if(!this.isGestioneRetrieveTokenPdndPayloadClientId.containsKey(protocollo)){
  23585.             try{  
  23586.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23587.                 if (value != null){
  23588.                     value = value.trim();
  23589.                     this.isGestioneRetrieveTokenPdndPayloadClientId.put(protocollo, Boolean.parseBoolean(value));
  23590.                 }else{
  23591.                     // dovrebbe venire chiamato solo per ModI
  23592.                     if(Costanti.MODIPA_PROTOCOL_NAME.equals(protocollo)) {
  23593.                         this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23594.                     }
  23595.                     this.isGestioneRetrieveTokenPdndPayloadClientId.put(protocollo, false);
  23596.                 }

  23597.             }catch(java.lang.Exception e) {
  23598.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23599.                 this.isGestioneRetrieveTokenPdndPayloadClientId.put(protocollo, false);
  23600.             }
  23601.         }

  23602.         return this.isGestioneRetrieveTokenPdndPayloadClientId.get(protocollo);
  23603.     }
  23604.    
  23605.     private Map<String,Boolean> isGestioneRetrieveTokenPdndPayloadClientIdMapSoggetto = new HashMap<>();
  23606.     public boolean isGestioneRetrieveTokenPdndPayloadClientId(String protocollo, String soggettoFruitore){

  23607.         if(soggettoFruitore==null) {
  23608.             return isGestioneRetrieveTokenPdndPayloadClientId(protocollo);
  23609.         }
  23610.        
  23611.         String key = protocollo+"_"+soggettoFruitore;
  23612.         String pName = PDD_RETRIEVE_TOKEN_PREFIX_PROPERTY+protocollo+"."+soggettoFruitore+".pdnd.payload.clientId";
  23613.         if(!this.isGestioneRetrieveTokenPdndPayloadClientIdMapSoggetto.containsKey(key)){
  23614.             try{  
  23615.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23616.                 if (value != null){
  23617.                     value = value.trim();
  23618.                     this.isGestioneRetrieveTokenPdndPayloadClientIdMapSoggetto.put(key, Boolean.parseBoolean(value));
  23619.                 }else{
  23620.                     return isGestioneRetrieveTokenPdndPayloadClientId(protocollo);
  23621.                 }

  23622.             }catch(java.lang.Exception e) {
  23623.                 this.logError("isGestioneRetrieveTokenPdndPayloadClientId failed: "+e.getMessage(), e);
  23624.                 return isGestioneRetrieveTokenPdndPayloadClientId(protocollo);
  23625.             }
  23626.         }

  23627.         return this.isGestioneRetrieveTokenPdndPayloadClientIdMapSoggetto.get(key);
  23628.     }
  23629.    
  23630.     private Map<String,Boolean> isGestioneRetrieveTokenPdndPayloadNbf = new HashMap<>();
  23631.     private boolean isGestioneRetrieveTokenPdndPayloadNbf(String protocollo){

  23632.         if(protocollo==null) {
  23633.             protocollo = Costanti.MODIPA_PROTOCOL_NAME; // default
  23634.         }
  23635.        
  23636.         String pName = PDD_RETRIEVE_TOKEN_PREFIX_PROPERTY+protocollo+".pdnd.payload.nbf";
  23637.         if(!this.isGestioneRetrieveTokenPdndPayloadNbf.containsKey(protocollo)){
  23638.             try{  
  23639.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23640.                 if (value != null){
  23641.                     value = value.trim();
  23642.                     this.isGestioneRetrieveTokenPdndPayloadNbf.put(protocollo, Boolean.parseBoolean(value));
  23643.                 }else{
  23644.                     // dovrebbe venire chiamato solo per ModI
  23645.                     if(Costanti.MODIPA_PROTOCOL_NAME.equals(protocollo)) {
  23646.                         this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23647.                     }
  23648.                     this.isGestioneRetrieveTokenPdndPayloadNbf.put(protocollo, false);
  23649.                 }

  23650.             }catch(java.lang.Exception e) {
  23651.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23652.                 this.isGestioneRetrieveTokenPdndPayloadNbf.put(protocollo, false);
  23653.             }
  23654.         }

  23655.         return this.isGestioneRetrieveTokenPdndPayloadNbf.get(protocollo);
  23656.     }
  23657.    
  23658.     private Map<String,Boolean> isGestioneRetrieveTokenPdndPayloadNbfMapSoggetto = new HashMap<>();
  23659.     public boolean isGestioneRetrieveTokenPdndPayloadNbf(String protocollo, String soggettoFruitore){

  23660.         if(soggettoFruitore==null) {
  23661.             return isGestioneRetrieveTokenPdndPayloadNbf(protocollo);
  23662.         }
  23663.        
  23664.         String key = protocollo+"_"+soggettoFruitore;
  23665.         String pName = PDD_RETRIEVE_TOKEN_PREFIX_PROPERTY+protocollo+"."+soggettoFruitore+".pdnd.payload.nbf";
  23666.         if(!this.isGestioneRetrieveTokenPdndPayloadNbfMapSoggetto.containsKey(key)){
  23667.             try{  
  23668.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23669.                 if (value != null){
  23670.                     value = value.trim();
  23671.                     this.isGestioneRetrieveTokenPdndPayloadNbfMapSoggetto.put(key, Boolean.parseBoolean(value));
  23672.                 }else{
  23673.                     return isGestioneRetrieveTokenPdndPayloadNbf(protocollo);
  23674.                 }

  23675.             }catch(java.lang.Exception e) {
  23676.                 this.logError("isGestioneRetrieveTokenPdndPayloadNbf failed: "+e.getMessage(), e);
  23677.                 return isGestioneRetrieveTokenPdndPayloadNbf(protocollo);
  23678.             }
  23679.         }

  23680.         return this.isGestioneRetrieveTokenPdndPayloadNbfMapSoggetto.get(key);
  23681.     }
  23682.    
  23683.    
  23684.     private Map<String,Boolean> isGestioneRetrieveTokenPdndDatiRichiestaForceClientId = new HashMap<>();
  23685.     private boolean isGestioneRetrieveTokenPdndDatiRichiestaForceClientId(String protocollo){

  23686.         if(protocollo==null) {
  23687.             protocollo = Costanti.MODIPA_PROTOCOL_NAME; // default
  23688.         }
  23689.        
  23690.         String pName = PDD_RETRIEVE_TOKEN_PREFIX_PROPERTY+protocollo+".pdnd.datiRichiesta.forceClientId";
  23691.         if(!this.isGestioneRetrieveTokenPdndDatiRichiestaForceClientId.containsKey(protocollo)){
  23692.             try{  
  23693.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23694.                 if (value != null){
  23695.                     value = value.trim();
  23696.                     this.isGestioneRetrieveTokenPdndDatiRichiestaForceClientId.put(protocollo, Boolean.parseBoolean(value));
  23697.                 }else{
  23698.                     // dovrebbe venire chiamato solo per ModI
  23699.                     if(Costanti.MODIPA_PROTOCOL_NAME.equals(protocollo)) {
  23700.                         this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  23701.                     }
  23702.                     this.isGestioneRetrieveTokenPdndDatiRichiestaForceClientId.put(protocollo, true);
  23703.                 }

  23704.             }catch(java.lang.Exception e) {
  23705.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  23706.                 this.isGestioneRetrieveTokenPdndDatiRichiestaForceClientId.put(protocollo, true);
  23707.             }
  23708.         }

  23709.         return this.isGestioneRetrieveTokenPdndDatiRichiestaForceClientId.get(protocollo);
  23710.     }
  23711.    
  23712.     private Map<String,Boolean> isGestioneRetrieveTokenPdndDatiRichiestaForceClientIdMapSoggetto = new HashMap<>();
  23713.     public boolean isGestioneRetrieveTokenPdndDatiRichiestaForceClientId(String protocollo, String soggettoFruitore){

  23714.         if(soggettoFruitore==null) {
  23715.             return isGestioneRetrieveTokenPdndDatiRichiestaForceClientId(protocollo);
  23716.         }
  23717.        
  23718.         String key = protocollo+"_"+soggettoFruitore;
  23719.         String pName = PDD_RETRIEVE_TOKEN_PREFIX_PROPERTY+protocollo+"."+soggettoFruitore+".pdnd.datiRichiesta.forceClientId";
  23720.         if(!this.isGestioneRetrieveTokenPdndDatiRichiestaForceClientIdMapSoggetto.containsKey(key)){
  23721.             try{  
  23722.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23723.                 if (value != null){
  23724.                     value = value.trim();
  23725.                     this.isGestioneRetrieveTokenPdndDatiRichiestaForceClientIdMapSoggetto.put(key, Boolean.parseBoolean(value));
  23726.                 }else{
  23727.                     return isGestioneRetrieveTokenPdndDatiRichiestaForceClientId(protocollo);
  23728.                 }

  23729.             }catch(java.lang.Exception e) {
  23730.                 this.logError("isGestioneRetrieveTokenPdndDatiRichiestaForceClientId failed: "+e.getMessage(), e);
  23731.                 return isGestioneRetrieveTokenPdndDatiRichiestaForceClientId(protocollo);
  23732.             }
  23733.         }

  23734.         return this.isGestioneRetrieveTokenPdndDatiRichiestaForceClientIdMapSoggetto.get(key);
  23735.     }
  23736.    
  23737.    
  23738.    
  23739.    
  23740.     /* ------------- Gestione Attribute Authority ---------------------*/
  23741.    
  23742.     private Boolean isGestioneAttributeAuthorityDebug = null;
  23743.     public boolean isGestioneAttributeAuthorityDebug(){

  23744.         String pName = "org.openspcoop2.pdd.gestioneAttributeAuthority.debug";
  23745.         if(this.isGestioneAttributeAuthorityDebug==null){
  23746.             try{  
  23747.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23748.                 if (value != null){
  23749.                     value = value.trim();
  23750.                     this.isGestioneAttributeAuthorityDebug = Boolean.parseBoolean(value);
  23751.                 }else{
  23752.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23753.                     this.isGestioneAttributeAuthorityDebug = false;
  23754.                 }

  23755.             }catch(java.lang.Exception e) {
  23756.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23757.                 this.isGestioneAttributeAuthorityDebug = false;
  23758.             }
  23759.         }

  23760.         return this.isGestioneAttributeAuthorityDebug;
  23761.     }
  23762.    
  23763.     private Boolean getGestioneAttributeAuthorityLockPermitsRead = null;
  23764.     private Integer getGestioneAttributeAuthorityLockPermits = null;
  23765.     public Integer getGestioneAttributeAuthorityLockPermits() {

  23766.         String pName = "org.openspcoop2.pdd.gestioneAttributeAuthority.lock.permits";
  23767.         if(this.getGestioneAttributeAuthorityLockPermitsRead==null){
  23768.             try{  
  23769.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23770.                 if (value != null){
  23771.                     value = value.trim();
  23772.                     int permits = Integer.parseInt(value);
  23773.                     if(permits>1) {
  23774.                         // altrimenti è un normale semaphore binario
  23775.                         this.getGestioneAttributeAuthorityLockPermits = permits;
  23776.                     }
  23777.                 }
  23778.                
  23779.                
  23780.             }catch(java.lang.Exception e) {
  23781.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  23782.             }
  23783.            
  23784.             this.getGestioneAttributeAuthorityLockPermitsRead = true;
  23785.         }

  23786.         return this.getGestioneAttributeAuthorityLockPermits;
  23787.     }
  23788.    
  23789.     private Boolean isGestioneAttributeAuthoritySaveSourceAttributeResponseInfo = null;
  23790.     public boolean isGestioneAttributeAuthoritySaveSourceAttributeResponseInfo(){

  23791.         String pName = "org.openspcoop2.pdd.gestioneAttributeAuthority.saveSourceAttributeResponseInfo";
  23792.         if(this.isGestioneAttributeAuthoritySaveSourceAttributeResponseInfo==null){
  23793.             try{  
  23794.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23795.                 if (value != null){
  23796.                     value = value.trim();
  23797.                     this.isGestioneAttributeAuthoritySaveSourceAttributeResponseInfo = Boolean.parseBoolean(value);
  23798.                 }else{
  23799.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23800.                     this.isGestioneAttributeAuthoritySaveSourceAttributeResponseInfo = false;
  23801.                 }

  23802.             }catch(java.lang.Exception e) {
  23803.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23804.                 this.isGestioneAttributeAuthoritySaveSourceAttributeResponseInfo = false;
  23805.             }
  23806.         }

  23807.         return this.isGestioneAttributeAuthoritySaveSourceAttributeResponseInfo;
  23808.     }
  23809.    
  23810.     private Boolean isGestioneAttributeAuthorityTransazioniRegistrazioneAttributiInformazioniNormalizzate = null;
  23811.     public boolean isGestioneAttributeAuthorityTransazioniRegistrazioneAttributiInformazioniNormalizzate(){

  23812.         String pName = "org.openspcoop2.pdd.gestioneAttributeAuthority.transazioniRegistrazioneAttributiInformazioniNormalizzate";
  23813.         if(this.isGestioneAttributeAuthorityTransazioniRegistrazioneAttributiInformazioniNormalizzate==null){
  23814.             try{  
  23815.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23816.                 if (value != null){
  23817.                     value = value.trim();
  23818.                     this.isGestioneAttributeAuthorityTransazioniRegistrazioneAttributiInformazioniNormalizzate = Boolean.parseBoolean(value);
  23819.                 }else{
  23820.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23821.                     this.isGestioneAttributeAuthorityTransazioniRegistrazioneAttributiInformazioniNormalizzate = false;
  23822.                 }

  23823.             }catch(java.lang.Exception e) {
  23824.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23825.                 this.isGestioneAttributeAuthorityTransazioniRegistrazioneAttributiInformazioniNormalizzate = false;
  23826.             }
  23827.         }

  23828.         return this.isGestioneAttributeAuthorityTransazioniRegistrazioneAttributiInformazioniNormalizzate;
  23829.     }
  23830.    
  23831.     private CertificateValidityCheck getGestioneAttributeAuthorityValidityCheck = null;
  23832.     public CertificateValidityCheck getGestioneAttributeAuthorityValidityCheck(){

  23833.         String pName = "org.openspcoop2.pdd.gestioneAttributeAuthority.validityCheck";
  23834.         if(this.getGestioneAttributeAuthorityValidityCheck==null){
  23835.             try{  
  23836.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23837.                 if (value != null){
  23838.                     value = value.trim();
  23839.                     this.getGestioneAttributeAuthorityValidityCheck = CertificateValidityCheck.parseCertificateValidityCheck(value);
  23840.                     if(this.getGestioneAttributeAuthorityValidityCheck==null) {
  23841.                         throw new CoreException("Opzione '"+value+"' sconosciuta");
  23842.                     }
  23843.                 }else{
  23844.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  23845.                     this.getGestioneAttributeAuthorityValidityCheck = CertificateValidityCheck.ENABLED;
  23846.                 }

  23847.             }catch(java.lang.Exception e) {
  23848.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  23849.                 this.getGestioneAttributeAuthorityValidityCheck = CertificateValidityCheck.ENABLED;
  23850.             }
  23851.         }

  23852.         return this.getGestioneAttributeAuthorityValidityCheck;
  23853.     }
  23854.    
  23855.    
  23856.    
  23857.    
  23858.    
  23859.    
  23860.     /* ------------- JMX Statistiche ---------------------*/
  23861.    
  23862.     private Boolean isStatisticheViaJmx = null;
  23863.     public boolean isStatisticheViaJmx(){

  23864.         if(this.isStatisticheViaJmx==null){
  23865.             try{  
  23866.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.jmx.statistiche");

  23867.                 if (value != null){
  23868.                     value = value.trim();
  23869.                     this.isStatisticheViaJmx = Boolean.parseBoolean(value);
  23870.                 }else{
  23871.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.jmx.statistiche' non impostata, viene utilizzato il default=false");
  23872.                     this.isStatisticheViaJmx = false;
  23873.                 }

  23874.             }catch(java.lang.Exception e) {
  23875.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.jmx.statistiche' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  23876.                 this.isStatisticheViaJmx = false;
  23877.             }
  23878.         }

  23879.         return this.isStatisticheViaJmx;
  23880.     }
  23881.    
  23882.    
  23883.    
  23884.     /* ------------- REST / SOAP Trasporto Utils ---------------------*/
  23885.    
  23886.     private void _list_add(List<MapKey<String>> tmp, List<MapKey<String>> addList) {
  23887.         if(tmp!=null && tmp.size()>0) {
  23888.             for (MapKey<String> hdr : tmp) {
  23889.                 if(addList.contains(hdr)==false) {
  23890.                     addList.add(hdr);
  23891.                 }
  23892.             }
  23893.         }
  23894.     }
  23895.    
  23896.     /* ------------- Forward Proxy ---------------------*/
  23897.    
  23898.     private Boolean isForwardProxyEnable = null;
  23899.     public boolean isForwardProxyEnable(){

  23900.         String pName = "org.openspcoop2.pdd.connettori.govwayProxy.enable";
  23901.         if(this.isForwardProxyEnable==null){
  23902.             try{  
  23903.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23904.                 if (value != null){
  23905.                     value = value.trim();
  23906.                     this.isForwardProxyEnable = Boolean.parseBoolean(value);
  23907.                 }else{
  23908.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23909.                     this.isForwardProxyEnable = false;
  23910.                 }

  23911.             }catch(java.lang.Exception e) {
  23912.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23913.                 this.isForwardProxyEnable = false;
  23914.             }
  23915.         }

  23916.         return this.isForwardProxyEnable;
  23917.     }
  23918.    
  23919.    
  23920.     private Boolean isForwardProxyHeaderEnable = null;
  23921.     private boolean isForwardProxyHeaderEnable(){

  23922.         String pName = "org.openspcoop2.pdd.connettori.govwayProxy.header.enable";
  23923.         if(this.isForwardProxyHeaderEnable==null){
  23924.             try{  
  23925.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23926.                 if (value != null){
  23927.                     value = value.trim();
  23928.                     this.isForwardProxyHeaderEnable = Boolean.parseBoolean(value);
  23929.                 }else{
  23930.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23931.                     this.isForwardProxyHeaderEnable = false;
  23932.                 }

  23933.             }catch(java.lang.Exception e) {
  23934.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23935.                 this.isForwardProxyHeaderEnable = false;
  23936.             }
  23937.         }

  23938.         return this.isForwardProxyHeaderEnable;
  23939.     }
  23940.    
  23941.     private String getForwardProxyHeaderName = null;
  23942.     private String getForwardProxyHeaderName(){

  23943.         String pName = "org.openspcoop2.pdd.connettori.govwayProxy.header.nome";
  23944.         if(this.getForwardProxyHeaderName==null){
  23945.             try{  
  23946.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23947.                 if (value != null){
  23948.                     value = value.trim();
  23949.                     this.getForwardProxyHeaderName = value;
  23950.                 }else{
  23951.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER));
  23952.                     this.getForwardProxyHeaderName = ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER;
  23953.                 }

  23954.             }catch(java.lang.Exception e) {
  23955.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER),e);
  23956.                 this.getForwardProxyHeaderName = ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER;
  23957.             }
  23958.         }

  23959.         return this.getForwardProxyHeaderName;
  23960.     }
  23961.    
  23962.     private Boolean isForwardProxyHeaderBase64 = null;
  23963.     private boolean isForwardProxyHeaderBase64(){

  23964.         String pName = "org.openspcoop2.pdd.connettori.govwayProxy.header.base64";
  23965.         if(this.isForwardProxyHeaderBase64==null){
  23966.             try{  
  23967.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23968.                 if (value != null){
  23969.                     value = value.trim();
  23970.                     this.isForwardProxyHeaderBase64 = Boolean.parseBoolean(value);
  23971.                 }else{
  23972.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER_BASE64));
  23973.                     this.isForwardProxyHeaderBase64 = ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER_BASE64;
  23974.                 }

  23975.             }catch(java.lang.Exception e) {
  23976.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER_BASE64),e);
  23977.                 this.isForwardProxyHeaderBase64 = ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER_BASE64;
  23978.             }
  23979.         }

  23980.         return this.isForwardProxyHeaderBase64;
  23981.     }
  23982.    
  23983.    
  23984.     private Boolean isForwardProxyQueryParameterEnable = null;
  23985.     private boolean isForwardProxyQueryParameterEnable(){

  23986.         String pName = "org.openspcoop2.pdd.connettori.govwayProxy.urlParameter.enable";
  23987.         if(this.isForwardProxyQueryParameterEnable==null){
  23988.             try{  
  23989.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23990.                 if (value != null){
  23991.                     value = value.trim();
  23992.                     this.isForwardProxyQueryParameterEnable = Boolean.parseBoolean(value);
  23993.                 }else{
  23994.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23995.                     this.isForwardProxyQueryParameterEnable = false;
  23996.                 }

  23997.             }catch(java.lang.Exception e) {
  23998.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23999.                 this.isForwardProxyQueryParameterEnable = false;
  24000.             }
  24001.         }

  24002.         return this.isForwardProxyQueryParameterEnable;
  24003.     }
  24004.    
  24005.     private String getForwardProxyQueryParameterName = null;
  24006.     private String getForwardProxyQueryParameterName(){

  24007.         String pName = "org.openspcoop2.pdd.connettori.govwayProxy.urlParameter.nome";
  24008.         if(this.getForwardProxyQueryParameterName==null){
  24009.             try{  
  24010.                 String value = this.reader.getValueConvertEnvProperties(pName);

  24011.                 if (value != null){
  24012.                     value = value.trim();
  24013.                     this.getForwardProxyQueryParameterName = value;
  24014.                 }else{
  24015.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER));
  24016.                     this.getForwardProxyQueryParameterName = ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER;
  24017.                 }

  24018.             }catch(java.lang.Exception e) {
  24019.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER),e);
  24020.                 this.getForwardProxyQueryParameterName = ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER;
  24021.             }
  24022.         }

  24023.         return this.getForwardProxyQueryParameterName;
  24024.     }
  24025.    
  24026.     private Boolean isForwardProxyQueryParameterBase64 = null;
  24027.     private boolean isForwardProxyQueryParameterBase64(){

  24028.         String pName = "org.openspcoop2.pdd.connettori.govwayProxy.urlParameter.base64";
  24029.         if(this.isForwardProxyQueryParameterBase64==null){
  24030.             try{  
  24031.                 String value = this.reader.getValueConvertEnvProperties(pName);

  24032.                 if (value != null){
  24033.                     value = value.trim();
  24034.                     this.isForwardProxyQueryParameterBase64 = Boolean.parseBoolean(value);
  24035.                 }else{
  24036.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER_BASE64));
  24037.                     this.isForwardProxyQueryParameterBase64 = ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER_BASE64;
  24038.                 }

  24039.             }catch(java.lang.Exception e) {
  24040.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER_BASE64),e);
  24041.                 this.isForwardProxyQueryParameterBase64 = ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER_BASE64;
  24042.             }
  24043.         }

  24044.         return this.isForwardProxyQueryParameterBase64;
  24045.     }
  24046.    
  24047.     private Boolean isForwardProxyTokenDynamicDiscoveryEnabled = null;
  24048.     private boolean isForwardProxyTokenDynamicDiscoveryEnabled(){

  24049.         String pName = "org.openspcoop2.pdd.connettori.govwayProxy.tokenDynamicDiscovery.enable";
  24050.         if(this.isForwardProxyTokenDynamicDiscoveryEnabled==null){
  24051.             try{  
  24052.                 String value = this.reader.getValueConvertEnvProperties(pName);

  24053.                 if (value != null){
  24054.                     value = value.trim();
  24055.                     this.isForwardProxyTokenDynamicDiscoveryEnabled = Boolean.parseBoolean(value);
  24056.                 }else{
  24057.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_DYNAMIC_DISCOVERY));
  24058.                     this.isForwardProxyTokenDynamicDiscoveryEnabled = ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_DYNAMIC_DISCOVERY;
  24059.                 }

  24060.             }catch(java.lang.Exception e) {
  24061.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_DYNAMIC_DISCOVERY),e);
  24062.                 this.isForwardProxyTokenDynamicDiscoveryEnabled = ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_DYNAMIC_DISCOVERY;
  24063.             }
  24064.         }

  24065.         return this.isForwardProxyTokenDynamicDiscoveryEnabled;
  24066.     }
  24067.    
  24068.     private Boolean isForwardProxyTokenValidazioneJwtEnabled = null;
  24069.     private boolean isForwardProxyTokenValidazioneJwtEnabled(){

  24070.         String pName = "org.openspcoop2.pdd.connettori.govwayProxy.tokenJwtValidation.enable";
  24071.         if(this.isForwardProxyTokenValidazioneJwtEnabled==null){
  24072.             try{  
  24073.                 String value = this.reader.getValueConvertEnvProperties(pName);

  24074.                 if (value != null){
  24075.                     value = value.trim();
  24076.                     this.isForwardProxyTokenValidazioneJwtEnabled = Boolean.parseBoolean(value);
  24077.                 }else{
  24078.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_VALIDAZIONE_JWT));
  24079.                     this.isForwardProxyTokenValidazioneJwtEnabled = ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_VALIDAZIONE_JWT;
  24080.                 }

  24081.             }catch(java.lang.Exception e) {
  24082.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_VALIDAZIONE_JWT),e);
  24083.                 this.isForwardProxyTokenValidazioneJwtEnabled = ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_VALIDAZIONE_JWT;
  24084.             }
  24085.         }

  24086.         return this.isForwardProxyTokenValidazioneJwtEnabled;
  24087.     }
  24088.    
  24089.     private Boolean isForwardProxyTokenIntrospectionEnabled = null;
  24090.     private boolean isForwardProxyTokenIntrospectionEnabled(){

  24091.         String pName = "org.openspcoop2.pdd.connettori.govwayProxy.tokenIntrospection.enable";
  24092.         if(this.isForwardProxyTokenIntrospectionEnabled==null){
  24093.             try{  
  24094.                 String value = this.reader.getValueConvertEnvProperties(pName);

  24095.                 if (value != null){
  24096.                     value = value.trim();
  24097.                     this.isForwardProxyTokenIntrospectionEnabled = Boolean.parseBoolean(value);
  24098.                 }else{
  24099.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_INTROSPECTION));
  24100.                     this.isForwardProxyTokenIntrospectionEnabled = ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_INTROSPECTION;
  24101.                 }

  24102.             }catch(java.lang.Exception e) {
  24103.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_INTROSPECTION),e);
  24104.                 this.isForwardProxyTokenIntrospectionEnabled = ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_INTROSPECTION;
  24105.             }
  24106.         }

  24107.         return this.isForwardProxyTokenIntrospectionEnabled;
  24108.     }
  24109.    
  24110.     private Boolean isForwardProxyTokenUserInfoEnabled = null;
  24111.     private boolean isForwardProxyTokenUserInfoEnabled(){

  24112.         String pName = "org.openspcoop2.pdd.connettori.govwayProxy.tokenUserInfo.enable";
  24113.         if(this.isForwardProxyTokenUserInfoEnabled==null){
  24114.             try{  
  24115.                 String value = this.reader.getValueConvertEnvProperties(pName);

  24116.                 if (value != null){
  24117.                     value = value.trim();
  24118.                     this.isForwardProxyTokenUserInfoEnabled = Boolean.parseBoolean(value);
  24119.                 }else{
  24120.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_USERINFO));
  24121.                     this.isForwardProxyTokenUserInfoEnabled = ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_USERINFO;
  24122.                 }

  24123.             }catch(java.lang.Exception e) {
  24124.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_USERINFO),e);
  24125.                 this.isForwardProxyTokenUserInfoEnabled = ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_USERINFO;
  24126.             }
  24127.         }

  24128.         return this.isForwardProxyTokenUserInfoEnabled;
  24129.     }
  24130.    
  24131.     private Boolean isForwardProxyTokenRetrieveEnabled = null;
  24132.     private boolean isForwardProxyTokenRetrieveEnabled(){

  24133.         String pName = "org.openspcoop2.pdd.connettori.govwayProxy.tokenRetrieve.enable";
  24134.         if(this.isForwardProxyTokenRetrieveEnabled==null){
  24135.             try{  
  24136.                 String value = this.reader.getValueConvertEnvProperties(pName);

  24137.                 if (value != null){
  24138.                     value = value.trim();
  24139.                     this.isForwardProxyTokenRetrieveEnabled = Boolean.parseBoolean(value);
  24140.                 }else{
  24141.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_RETRIEVE));
  24142.                     this.isForwardProxyTokenRetrieveEnabled = ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_RETRIEVE;
  24143.                 }

  24144.             }catch(java.lang.Exception e) {
  24145.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_RETRIEVE),e);
  24146.                 this.isForwardProxyTokenRetrieveEnabled = ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_RETRIEVE;
  24147.             }
  24148.         }

  24149.         return this.isForwardProxyTokenRetrieveEnabled;
  24150.     }
  24151.    
  24152.     private Boolean isForwardProxyAttributeAuthorityEnabled = null;
  24153.     private boolean isForwardProxyAttributeAuthorityEnabled(){

  24154.         String pName = "org.openspcoop2.pdd.connettori.govwayProxy.attributeAuthority.enable";
  24155.         if(this.isForwardProxyAttributeAuthorityEnabled==null){
  24156.             try{  
  24157.                 String value = this.reader.getValueConvertEnvProperties(pName);

  24158.                 if (value != null){
  24159.                     value = value.trim();
  24160.                     this.isForwardProxyAttributeAuthorityEnabled = Boolean.parseBoolean(value);
  24161.                 }else{
  24162.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,ForwardProxy.DEFAULT_GOVWAY_PROXY_ATTRIBUTE_AUTHORITY));
  24163.                     this.isForwardProxyAttributeAuthorityEnabled = ForwardProxy.DEFAULT_GOVWAY_PROXY_ATTRIBUTE_AUTHORITY;
  24164.                 }

  24165.             }catch(java.lang.Exception e) {
  24166.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,ForwardProxy.DEFAULT_GOVWAY_PROXY_ATTRIBUTE_AUTHORITY),e);
  24167.                 this.isForwardProxyAttributeAuthorityEnabled = ForwardProxy.DEFAULT_GOVWAY_PROXY_ATTRIBUTE_AUTHORITY;
  24168.             }
  24169.         }

  24170.         return this.isForwardProxyAttributeAuthorityEnabled;
  24171.     }
  24172.    
  24173.     private Boolean isForwardProxyAttributeAuthorityResponseJwtValidationEnabled = null;
  24174.     private boolean isForwardProxyAttributeAuthorityResponseJwtValidationEnabled(){

  24175.         String pName = "org.openspcoop2.pdd.connettori.govwayProxy.attributeAuthority.responseJwtValidation.enable";
  24176.         if(this.isForwardProxyAttributeAuthorityResponseJwtValidationEnabled==null){
  24177.             try{  
  24178.                 String value = this.reader.getValueConvertEnvProperties(pName);

  24179.                 if (value != null){
  24180.                     value = value.trim();
  24181.                     this.isForwardProxyAttributeAuthorityResponseJwtValidationEnabled = Boolean.parseBoolean(value);
  24182.                 }else{
  24183.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,ForwardProxy.DEFAULT_GOVWAY_PROXY_ATTRIBUTE_AUTHORITY_RESPONSE_JWT_VALIDATION));
  24184.                     this.isForwardProxyAttributeAuthorityResponseJwtValidationEnabled = ForwardProxy.DEFAULT_GOVWAY_PROXY_ATTRIBUTE_AUTHORITY_RESPONSE_JWT_VALIDATION;
  24185.                 }

  24186.             }catch(java.lang.Exception e) {
  24187.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,ForwardProxy.DEFAULT_GOVWAY_PROXY_ATTRIBUTE_AUTHORITY_RESPONSE_JWT_VALIDATION),e);
  24188.                 this.isForwardProxyAttributeAuthorityResponseJwtValidationEnabled = ForwardProxy.DEFAULT_GOVWAY_PROXY_ATTRIBUTE_AUTHORITY_RESPONSE_JWT_VALIDATION;
  24189.             }
  24190.         }

  24191.         return this.isForwardProxyAttributeAuthorityResponseJwtValidationEnabled;
  24192.     }
  24193.    
  24194.     public ForwardProxyConfigurazione getForwardProxyConfigurazioneDefault() {
  24195.         ForwardProxyConfigurazione config = new ForwardProxyConfigurazione();
  24196.         if(this.isForwardProxyHeaderEnable()) {
  24197.             config.setHeader(this.getForwardProxyHeaderName());
  24198.             config.setHeaderBase64(this.isForwardProxyHeaderBase64());
  24199.         }
  24200.         if(this.isForwardProxyQueryParameterEnable()) {
  24201.             config.setQuery(this.getForwardProxyQueryParameterName());
  24202.             config.setQueryBase64(this.isForwardProxyQueryParameterBase64());
  24203.         }
  24204.         return config;
  24205.     }
  24206.    
  24207.     public ForwardProxyConfigurazioneToken getForwardProxyConfigurazioneTokenDefault() {
  24208.         ForwardProxyConfigurazioneToken config = new ForwardProxyConfigurazioneToken();
  24209.         config.setTokenDynamicDiscoveryEnabled(this.isForwardProxyTokenDynamicDiscoveryEnabled());
  24210.         config.setTokenJwtValidationEnabled(this.isForwardProxyTokenValidazioneJwtEnabled());
  24211.         config.setTokenIntrospectionEnabled(this.isForwardProxyTokenIntrospectionEnabled());
  24212.         config.setTokenUserInfoEnabled(this.isForwardProxyTokenUserInfoEnabled());
  24213.         config.setTokenRetrieveEnabled(this.isForwardProxyTokenRetrieveEnabled());
  24214.         config.setAttributeAuthorityEnabled(this.isForwardProxyAttributeAuthorityEnabled());
  24215.         config.setAttributeAuthorityResponseJwtValidationEnabled(this.isForwardProxyAttributeAuthorityResponseJwtValidationEnabled());
  24216.         return config;
  24217.     }

  24218.    
  24219.    
  24220.    
  24221.    
  24222.    
  24223.    
  24224.     /* ------------- Trasformazioni ---------------------*/
  24225.    
  24226.     private Boolean isTrasformazioni_readCharsetFromContentType = null;
  24227.     public boolean isTrasformazioni_readCharsetFromContentType(){

  24228.         String pName = "org.openspcoop2.pdd.trasformazioni.readCharsetFromContentType.enable";
  24229.         if(this.isTrasformazioni_readCharsetFromContentType==null){
  24230.             try{  
  24231.                 String value = this.reader.getValueConvertEnvProperties(pName);

  24232.                 if (value != null){
  24233.                     value = value.trim();
  24234.                     this.isTrasformazioni_readCharsetFromContentType = Boolean.parseBoolean(value);
  24235.                 }else{
  24236.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  24237.                     this.isTrasformazioni_readCharsetFromContentType = false;
  24238.                 }

  24239.             }catch(java.lang.Exception e) {
  24240.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  24241.                 this.isTrasformazioni_readCharsetFromContentType = false;
  24242.             }
  24243.         }

  24244.         return this.isTrasformazioni_readCharsetFromContentType;
  24245.     }
  24246.    
  24247.     private Map<String, String> getTrasformazioni_backwardCompatibility = null;
  24248.     private Boolean getTrasformazioni_backwardCompatibility_read = null;
  24249.     public Map<String, String> getTrasformazioni_backwardCompatibility(){

  24250.         String pName = "org.openspcoop2.pdd.trasformazioni.backwardCompatibility.";
  24251.         if(this.getTrasformazioni_backwardCompatibility_read==null){
  24252.             try{  
  24253.                 Properties p = this.reader.readPropertiesConvertEnvProperties(pName);

  24254.                 if (p != null && !p.isEmpty()){
  24255.                     Enumeration<?> keys = p.keys();
  24256.                     if(keys!=null) {
  24257.                         while (keys.hasMoreElements()) {
  24258.                             Object object = (Object) keys.nextElement();
  24259.                             if(object!=null && object instanceof String) {
  24260.                                 String key = (String) object;
  24261.                                 String value = p.getProperty(key);
  24262.                                 if(value!=null) {
  24263.                                     key = key.trim();
  24264.                                     value = value.trim();
  24265.                                     if(StringUtils.isNotEmpty(key) && StringUtils.isNotEmpty(value)) {
  24266.                                         if(this.getTrasformazioni_backwardCompatibility==null) {
  24267.                                             this.getTrasformazioni_backwardCompatibility=new HashMap<>();
  24268.                                         }
  24269.                                         this.getTrasformazioni_backwardCompatibility.put(key, value); // old, new
  24270.                                     }
  24271.                                 }
  24272.                             }
  24273.                         }
  24274.                     }
  24275.                 }

  24276.             }catch(java.lang.Exception e) {
  24277.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  24278.                 this.isTrasformazioni_readCharsetFromContentType = false;
  24279.             }
  24280.            
  24281.             this.getTrasformazioni_backwardCompatibility_read = true;
  24282.         }

  24283.         return this.getTrasformazioni_backwardCompatibility;
  24284.     }
  24285.    
  24286.    
  24287.    
  24288.    
  24289.    
  24290.    
  24291.     /* ------------- SOAP (Trasporto - URLParameters) ---------------------*/
  24292.    
  24293.     private Boolean isSOAPServicesUrlParametersForward = null;
  24294.     private boolean isSOAPServicesUrlParametersForward(){

  24295.         if(this.isSOAPServicesUrlParametersForward==null){
  24296.             try{  
  24297.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.urlParameters.forward.enable");

  24298.                 if (value != null){
  24299.                     value = value.trim();
  24300.                     this.isSOAPServicesUrlParametersForward = Boolean.parseBoolean(value);
  24301.                 }else{
  24302.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.soap.urlParameters.forward.enable' non impostata, viene utilizzato il default=true");
  24303.                     this.isSOAPServicesUrlParametersForward = true;
  24304.                 }

  24305.             }catch(java.lang.Exception e) {
  24306.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.soap.urlParameters.forward.enable' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  24307.                 this.isSOAPServicesUrlParametersForward = true;
  24308.             }
  24309.         }

  24310.         return this.isSOAPServicesUrlParametersForward;
  24311.     }
  24312.    
  24313.     private Boolean getSOAPServicesBlackListInternalUrlParametersRead = null;
  24314.     private List<MapKey<String>> getSOAPServicesBlackListInternalUrlParametersList = null;
  24315.     private List<MapKey<String>> getSOAPServicesBlackListInternalUrlParameters() {  
  24316.         if(this.getSOAPServicesBlackListInternalUrlParametersRead==null){
  24317.             try{
  24318.                 this.getSOAPServicesBlackListInternalUrlParametersList = new ArrayList<>();
  24319.                 String name = null;
  24320.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.urlParameters.blackList.internal");
  24321.                 if(name!=null){
  24322.                     name = name.trim();
  24323.                     String [] split = name.split(",");
  24324.                     if(split!=null){
  24325.                         for (int i = 0; i < split.length; i++) {
  24326.                             this.getSOAPServicesBlackListInternalUrlParametersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  24327.                         }
  24328.                     }
  24329.                 }
  24330.                 this.getSOAPServicesBlackListInternalUrlParametersRead = true;
  24331.             } catch(java.lang.Exception e) {
  24332.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.urlParameters.blackList.internal': "+e.getMessage(),e);
  24333.             }    
  24334.         }
  24335.        
  24336.         return this.getSOAPServicesBlackListInternalUrlParametersList;
  24337.     }
  24338.    
  24339.     private Boolean getSOAPServicesBlackListUrlParametersRead = null;
  24340.     private List<MapKey<String>> getSOAPServicesBlackListUrlParametersList = null;
  24341.     private List<MapKey<String>> getSOAPServicesBlackListUrlParameters() {  
  24342.         if(this.getSOAPServicesBlackListUrlParametersRead==null){
  24343.             try{
  24344.                 this.getSOAPServicesBlackListUrlParametersList = new ArrayList<>();
  24345.                 String name = null;
  24346.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.urlParameters.blackList");
  24347.                 if(name!=null){
  24348.                     name = name.trim();
  24349.                     String [] split = name.split(",");
  24350.                     if(split!=null){
  24351.                         for (int i = 0; i < split.length; i++) {
  24352.                             this.getSOAPServicesBlackListUrlParametersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  24353.                         }
  24354.                     }
  24355.                 }
  24356.                 this.getSOAPServicesBlackListUrlParametersRead = true;
  24357.             } catch(java.lang.Exception e) {
  24358.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.urlParameters.blackList': "+e.getMessage(),e);
  24359.             }    
  24360.         }
  24361.        
  24362.         return this.getSOAPServicesBlackListUrlParametersList;
  24363.     }
  24364.    
  24365.     private Boolean getSOAPServicesWhiteListUrlParametersRead = null;
  24366.     private List<MapKey<String>> getSOAPServicesWhiteListUrlParametersList = null;
  24367.     private List<MapKey<String>> getSOAPServicesWhiteListUrlParameters() {  
  24368.         if(this.getSOAPServicesWhiteListUrlParametersRead==null){
  24369.             try{
  24370.                 this.getSOAPServicesWhiteListUrlParametersList = new ArrayList<>();
  24371.                 String name = null;
  24372.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.urlParameters.whiteList");
  24373.                 if(name!=null){
  24374.                     name = name.trim();
  24375.                     String [] split = name.split(",");
  24376.                     if(split!=null){
  24377.                         for (int i = 0; i < split.length; i++) {
  24378.                             this.getSOAPServicesWhiteListUrlParametersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  24379.                         }
  24380.                     }
  24381.                 }
  24382.                 this.getSOAPServicesWhiteListUrlParametersRead = true;
  24383.             } catch(java.lang.Exception e) {
  24384.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.urlParameters.whiteList': "+e.getMessage(),e);
  24385.             }    
  24386.         }
  24387.        
  24388.         return this.getSOAPServicesWhiteListUrlParametersList;
  24389.     }
  24390.    
  24391.     private List<String> _getSOAPServicesBlackListUrlParameters() {
  24392.        
  24393.         List<MapKey<String>> blackList = new ArrayList<>();
  24394.         List<MapKey<String>> tmp = this.getSOAPServicesBlackListInternalUrlParameters();
  24395.         this._list_add(tmp, blackList);
  24396.         tmp = this.getSOAPServicesBlackListUrlParameters();
  24397.         this._list_add(tmp, blackList);
  24398.        
  24399.         List<String> l = new ArrayList<>();
  24400.         if(!blackList.isEmpty()) {
  24401.             for (MapKey<String> key : blackList) {
  24402.                 l.add(key.getValue());
  24403.             }
  24404.         }
  24405.         return l;
  24406.     }
  24407.     private List<String> _getSOAPServicesWhiteListUrlParameters() {
  24408.        
  24409.         List<MapKey<String>> whiteList = new ArrayList<>();
  24410.         List<MapKey<String>> tmp = this.getSOAPServicesWhiteListUrlParameters();
  24411.         this._list_add(tmp, whiteList);
  24412.        
  24413.         List<String> l = new ArrayList<>();
  24414.         if(!whiteList.isEmpty()) {
  24415.             for (MapKey<String> key : whiteList) {
  24416.                 l.add(key.getValue());
  24417.             }
  24418.         }
  24419.         return l;
  24420.     }
  24421.     public ForwardConfig getSOAPServicesUrlParametersForwardConfig() {
  24422.         ForwardConfig f = new ForwardConfig();
  24423.         f.setForwardEnable(this.isSOAPServicesUrlParametersForward());
  24424.         f.setBlackList(_getSOAPServicesBlackListUrlParameters());
  24425.         f.setWhiteList(_getSOAPServicesWhiteListUrlParameters());
  24426.         return f;
  24427.     }
  24428.    
  24429.    
  24430.    
  24431.    
  24432.     /* ------------- SOAP (Trasporto - Headers) ---------------------*/
  24433.    
  24434.     private Boolean isSOAPServicesHeadersForward = null;
  24435.     private boolean isSOAPServicesHeadersForward(){

  24436.         if(this.isSOAPServicesHeadersForward==null){
  24437.             try{  
  24438.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.headers.forward.enable");

  24439.                 if (value != null){
  24440.                     value = value.trim();
  24441.                     this.isSOAPServicesHeadersForward = Boolean.parseBoolean(value);
  24442.                 }else{
  24443.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.soap.headers.forward.enable' non impostata, viene utilizzato il default=true");
  24444.                     this.isSOAPServicesHeadersForward = true;
  24445.                 }

  24446.             }catch(java.lang.Exception e) {
  24447.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.soap.headers.forward.enable' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  24448.                 this.isSOAPServicesHeadersForward = true;
  24449.             }
  24450.         }

  24451.         return this.isSOAPServicesHeadersForward;
  24452.     }
  24453.    
  24454.     private Boolean getSOAPServicesBlackListBothInternalHeadersRead = null;
  24455.     private List<MapKey<String>> getSOAPServicesBlackListBothInternalHeadersList = null;
  24456.     private List<MapKey<String>> getSOAPServicesBlackListBothInternalHeaders() {    
  24457.         if(this.getSOAPServicesBlackListBothInternalHeadersRead==null){
  24458.             try{
  24459.                 this.getSOAPServicesBlackListBothInternalHeadersList = new ArrayList<>();
  24460.                 String name = null;
  24461.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.headers.blackList.internal.both");
  24462.                 if(name!=null){
  24463.                     name = name.trim();
  24464.                     String [] split = name.split(",");
  24465.                     if(split!=null){
  24466.                         for (int i = 0; i < split.length; i++) {
  24467.                             this.getSOAPServicesBlackListBothInternalHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  24468.                         }
  24469.                     }
  24470.                 }
  24471.                 this.getSOAPServicesBlackListBothInternalHeadersRead = true;
  24472.             } catch(java.lang.Exception e) {
  24473.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.headers.blackList.internal.both': "+e.getMessage(),e);
  24474.             }    
  24475.         }
  24476.        
  24477.         return this.getSOAPServicesBlackListBothInternalHeadersList;
  24478.     }
  24479.    
  24480.     private Boolean getSOAPServicesBlackListRequestInternalHeadersRead = null;
  24481.     private List<MapKey<String>> getSOAPServicesBlackListRequestInternalHeadersList = null;
  24482.     private List<MapKey<String>> getSOAPServicesBlackListRequestInternalHeaders() {
  24483.         if(this.getSOAPServicesBlackListRequestInternalHeadersRead==null){
  24484.             try{
  24485.                 this.getSOAPServicesBlackListRequestInternalHeadersList = new ArrayList<>();
  24486.                 String name = null;
  24487.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.headers.blackList.internal.request");
  24488.                 if(name!=null){
  24489.                     name = name.trim();
  24490.                     String [] split = name.split(",");
  24491.                     if(split!=null){
  24492.                         for (int i = 0; i < split.length; i++) {
  24493.                             this.getSOAPServicesBlackListRequestInternalHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  24494.                         }
  24495.                     }
  24496.                 }
  24497.                 this.getSOAPServicesBlackListRequestInternalHeadersRead = true;
  24498.             } catch(java.lang.Exception e) {
  24499.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.headers.blackList.internal.request': "+e.getMessage(),e);
  24500.             }    
  24501.         }
  24502.        
  24503.         return this.getSOAPServicesBlackListRequestInternalHeadersList;
  24504.     }
  24505.    
  24506.     private Boolean getSOAPServicesBlackListResponseInternalHeadersRead = null;
  24507.     private List<MapKey<String>> getSOAPServicesBlackListResponseInternalHeadersList = null;
  24508.     private List<MapKey<String>> getSOAPServicesBlackListResponseInternalHeaders() {    
  24509.         if(this.getSOAPServicesBlackListResponseInternalHeadersRead==null){
  24510.             try{
  24511.                 this.getSOAPServicesBlackListResponseInternalHeadersList = new ArrayList<>();
  24512.                 String name = null;
  24513.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.headers.blackList.internal.response");
  24514.                 if(name!=null){
  24515.                     name = name.trim();
  24516.                     String [] split = name.split(",");
  24517.                     if(split!=null){
  24518.                         for (int i = 0; i < split.length; i++) {
  24519.                             this.getSOAPServicesBlackListResponseInternalHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  24520.                         }
  24521.                     }
  24522.                 }
  24523.                 this.getSOAPServicesBlackListResponseInternalHeadersRead = true;
  24524.             } catch(java.lang.Exception e) {
  24525.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.headers.blackList.internal.response': "+e.getMessage(),e);
  24526.             }    
  24527.         }
  24528.        
  24529.         return this.getSOAPServicesBlackListResponseInternalHeadersList;
  24530.     }
  24531.    
  24532.     private Boolean getSOAPServicesBlackListBothHeadersRead = null;
  24533.     private List<MapKey<String>> getSOAPServicesBlackListBothHeadersList = null;
  24534.     private List<MapKey<String>> getSOAPServicesBlackListBothHeaders() {    
  24535.         if(this.getSOAPServicesBlackListBothHeadersRead==null){
  24536.             try{
  24537.                 this.getSOAPServicesBlackListBothHeadersList = new ArrayList<>();
  24538.                 String name = null;
  24539.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.headers.blackList.both");
  24540.                 if(name!=null){
  24541.                     name = name.trim();
  24542.                     String [] split = name.split(",");
  24543.                     if(split!=null){
  24544.                         for (int i = 0; i < split.length; i++) {
  24545.                             this.getSOAPServicesBlackListBothHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  24546.                         }
  24547.                     }
  24548.                 }
  24549.                 this.getSOAPServicesBlackListBothHeadersRead = true;
  24550.             } catch(java.lang.Exception e) {
  24551.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.headers.blackList.both': "+e.getMessage(),e);
  24552.             }    
  24553.         }
  24554.        
  24555.         return this.getSOAPServicesBlackListBothHeadersList;
  24556.     }
  24557.    
  24558.     private Boolean getSOAPServicesBlackListRequestHeadersRead = null;
  24559.     private List<MapKey<String>> getSOAPServicesBlackListRequestHeadersList = null;
  24560.     private List<MapKey<String>> getSOAPServicesBlackListRequestHeaders() {
  24561.         if(this.getSOAPServicesBlackListRequestHeadersRead==null){
  24562.             try{
  24563.                 this.getSOAPServicesBlackListRequestHeadersList = new ArrayList<>();
  24564.                 String name = null;
  24565.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.headers.blackList.request");
  24566.                 if(name!=null){
  24567.                     name = name.trim();
  24568.                     String [] split = name.split(",");
  24569.                     if(split!=null){
  24570.                         for (int i = 0; i < split.length; i++) {
  24571.                             this.getSOAPServicesBlackListRequestHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  24572.                         }
  24573.                     }
  24574.                 }
  24575.                 this.getSOAPServicesBlackListRequestHeadersRead = true;
  24576.             } catch(java.lang.Exception e) {
  24577.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.headers.blackList.request': "+e.getMessage(),e);
  24578.             }    
  24579.         }
  24580.        
  24581.         return this.getSOAPServicesBlackListRequestHeadersList;
  24582.     }
  24583.    
  24584.     private Boolean getSOAPServicesBlackListResponseHeadersRead = null;
  24585.     private List<MapKey<String>> getSOAPServicesBlackListResponseHeadersList = null;
  24586.     private List<MapKey<String>> getSOAPServicesBlackListResponseHeaders() {    
  24587.         if(this.getSOAPServicesBlackListResponseHeadersRead==null){
  24588.             try{
  24589.                 this.getSOAPServicesBlackListResponseHeadersList = new ArrayList<>();
  24590.                 String name = null;
  24591.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.headers.blackList.response");
  24592.                 if(name!=null){
  24593.                     name = name.trim();
  24594.                     String [] split = name.split(",");
  24595.                     if(split!=null){
  24596.                         for (int i = 0; i < split.length; i++) {
  24597.                             this.getSOAPServicesBlackListResponseHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  24598.                         }
  24599.                     }
  24600.                 }
  24601.                 this.getSOAPServicesBlackListResponseHeadersRead = true;
  24602.             } catch(java.lang.Exception e) {
  24603.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.headers.blackList.response': "+e.getMessage(),e);
  24604.             }    
  24605.         }
  24606.        
  24607.         return this.getSOAPServicesBlackListResponseHeadersList;
  24608.     }
  24609.    
  24610.     private Boolean getSOAPServicesWhiteListBothHeadersRead = null;
  24611.     private List<MapKey<String>> getSOAPServicesWhiteListBothHeadersList = null;
  24612.     private List<MapKey<String>> getSOAPServicesWhiteListBothHeaders() {    
  24613.         if(this.getSOAPServicesWhiteListBothHeadersRead==null){
  24614.             try{
  24615.                 this.getSOAPServicesWhiteListBothHeadersList = new ArrayList<>();
  24616.                 String name = null;
  24617.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.headers.whiteList.both");
  24618.                 if(name!=null){
  24619.                     name = name.trim();
  24620.                     String [] split = name.split(",");
  24621.                     if(split!=null){
  24622.                         for (int i = 0; i < split.length; i++) {
  24623.                             this.getSOAPServicesWhiteListBothHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  24624.                         }
  24625.                     }
  24626.                 }
  24627.                 this.getSOAPServicesWhiteListBothHeadersRead = true;
  24628.             } catch(java.lang.Exception e) {
  24629.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.headers.whiteList.both': "+e.getMessage(),e);
  24630.             }    
  24631.         }
  24632.        
  24633.         return this.getSOAPServicesWhiteListBothHeadersList;
  24634.     }
  24635.    
  24636.     private Boolean getSOAPServicesWhiteListRequestHeadersRead = null;
  24637.     private List<MapKey<String>> getSOAPServicesWhiteListRequestHeadersList = null;
  24638.     private List<MapKey<String>> getSOAPServicesWhiteListRequestHeaders() {
  24639.         if(this.getSOAPServicesWhiteListRequestHeadersRead==null){
  24640.             try{
  24641.                 this.getSOAPServicesWhiteListRequestHeadersList = new ArrayList<>();
  24642.                 String name = null;
  24643.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.headers.whiteList.request");
  24644.                 if(name!=null){
  24645.                     name = name.trim();
  24646.                     String [] split = name.split(",");
  24647.                     if(split!=null){
  24648.                         for (int i = 0; i < split.length; i++) {
  24649.                             this.getSOAPServicesWhiteListRequestHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  24650.                         }
  24651.                     }
  24652.                 }
  24653.                 this.getSOAPServicesWhiteListRequestHeadersRead = true;
  24654.             } catch(java.lang.Exception e) {
  24655.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.headers.whiteList.request': "+e.getMessage(),e);
  24656.             }    
  24657.         }
  24658.        
  24659.         return this.getSOAPServicesWhiteListRequestHeadersList;
  24660.     }
  24661.    
  24662.     private Boolean getSOAPServicesWhiteListResponseHeadersRead = null;
  24663.     private List<MapKey<String>> getSOAPServicesWhiteListResponseHeadersList = null;
  24664.     private List<MapKey<String>> getSOAPServicesWhiteListResponseHeaders() {    
  24665.         if(this.getSOAPServicesWhiteListResponseHeadersRead==null){
  24666.             try{
  24667.                 this.getSOAPServicesWhiteListResponseHeadersList = new ArrayList<>();
  24668.                 String name = null;
  24669.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.headers.whiteList.response");
  24670.                 if(name!=null){
  24671.                     name = name.trim();
  24672.                     String [] split = name.split(",");
  24673.                     if(split!=null){
  24674.                         for (int i = 0; i < split.length; i++) {
  24675.                             this.getSOAPServicesWhiteListResponseHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  24676.                         }
  24677.                     }
  24678.                 }
  24679.                 this.getSOAPServicesWhiteListResponseHeadersRead = true;
  24680.             } catch(java.lang.Exception e) {
  24681.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.headers.whiteList.response': "+e.getMessage(),e);
  24682.             }    
  24683.         }
  24684.        
  24685.         return this.getSOAPServicesWhiteListResponseHeadersList;
  24686.     }
  24687.    
  24688.     private List<String> getSOAPServicesBlackListHeaders(boolean request) {
  24689.        
  24690.         List<MapKey<String>> blackList = new ArrayList<>();
  24691.         List<MapKey<String>> tmp = this.getSOAPServicesBlackListBothInternalHeaders();
  24692.         this._list_add(tmp, blackList);
  24693.         tmp = this.getSOAPServicesBlackListBothHeaders();
  24694.         this._list_add(tmp, blackList);
  24695.        
  24696.         if(request) {
  24697.             tmp = this.getSOAPServicesBlackListRequestInternalHeaders();
  24698.             this._list_add(tmp, blackList);
  24699.             tmp = this.getSOAPServicesBlackListRequestHeaders();
  24700.             this._list_add(tmp, blackList);
  24701.         }
  24702.         else {
  24703.             tmp = this.getSOAPServicesBlackListResponseInternalHeaders();
  24704.             this._list_add(tmp, blackList);
  24705.             tmp = this.getSOAPServicesBlackListResponseHeaders();
  24706.             this._list_add(tmp, blackList);
  24707.         }
  24708.        
  24709.         List<String> l = new ArrayList<>();
  24710.         if(!blackList.isEmpty()) {
  24711.             for (MapKey<String> key : blackList) {
  24712.                 l.add(key.getValue());
  24713.             }
  24714.         }
  24715.         return l;
  24716.     }
  24717.     private List<String> getSOAPServicesWhiteListHeaders(boolean request) {
  24718.        
  24719.         List<MapKey<String>> whiteList = new ArrayList<>();
  24720.         List<MapKey<String>> tmp = this.getSOAPServicesWhiteListBothHeaders();
  24721.         this._list_add(tmp, whiteList);
  24722.         if(request) {
  24723.             tmp = this.getSOAPServicesWhiteListRequestHeaders();
  24724.             this._list_add(tmp, whiteList);
  24725.         }
  24726.         else {
  24727.             tmp = this.getSOAPServicesWhiteListResponseHeaders();
  24728.             this._list_add(tmp, whiteList);
  24729.         }
  24730.        
  24731.         List<String> l = new ArrayList<>();
  24732.         if(!whiteList.isEmpty()) {
  24733.             for (MapKey<String> key : whiteList) {
  24734.                 l.add(key.getValue());
  24735.             }
  24736.         }
  24737.         return l;
  24738.     }
  24739.     public ForwardConfig getSOAPServicesHeadersForwardConfig(boolean request) {
  24740.         ForwardConfig f = new ForwardConfig();
  24741.         f.setForwardEnable(this.isSOAPServicesHeadersForward());
  24742.         f.setBlackList(getSOAPServicesBlackListHeaders(request));
  24743.         f.setWhiteList(getSOAPServicesWhiteListHeaders(request));
  24744.         return f;
  24745.     }

  24746.    
  24747.     /* ------------- SOAP (Trasporto - Headers - Proxy Pass Reverse) ---------------------*/
  24748.    
  24749.     // Location
  24750.    
  24751.     private Boolean isSOAPServices_inoltroBuste_proxyPassReverse = null;
  24752.     public boolean isSOAPServices_inoltroBuste_proxyPassReverse() {
  24753.         if(this.isSOAPServices_inoltroBuste_proxyPassReverse==null){
  24754.             try{
  24755.                 String name = null;
  24756.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.connettori.inoltroBuste.proxyPassReverse");
  24757.                 if(name==null){
  24758.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.soap.connettori.inoltroBuste.proxyPassReverse' non impostata, viene utilizzato il default=false");
  24759.                     name="false";
  24760.                 }
  24761.                 name = name.trim();
  24762.                 this.isSOAPServices_inoltroBuste_proxyPassReverse = Boolean.parseBoolean(name);
  24763.             } catch(java.lang.Exception e) {
  24764.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.connettori.inoltroBuste.proxyPassReverse': "+e.getMessage(),e);
  24765.                 this.isSOAPServices_inoltroBuste_proxyPassReverse = false;
  24766.             }    
  24767.         }

  24768.         return this.isSOAPServices_inoltroBuste_proxyPassReverse;
  24769.     }
  24770.    
  24771.     private Boolean isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse = null;
  24772.     public boolean isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse() {
  24773.         if(this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse==null){
  24774.             try{
  24775.                 String name = null;
  24776.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.proxyPassReverse");
  24777.                 if(name==null){
  24778.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.proxyPassReverse' non impostata, viene utilizzato il default=false");
  24779.                     name="false";
  24780.                 }
  24781.                 name = name.trim();
  24782.                 this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse = Boolean.parseBoolean(name);
  24783.             } catch(java.lang.Exception e) {
  24784.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.proxyPassReverse': "+e.getMessage(),e);
  24785.                 this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse = false;
  24786.             }    
  24787.         }

  24788.         return this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse;
  24789.     }
  24790.    
  24791.     private List<String> getSOAPServices_inoltroBuste_proxyPassReverse_headers = null;
  24792.     public List<String> getSOAPServices_inoltroBuste_proxyPassReverse_headers() throws CoreException {  
  24793.         if(this.getSOAPServices_inoltroBuste_proxyPassReverse_headers==null){
  24794.             try{
  24795.                 this.getSOAPServices_inoltroBuste_proxyPassReverse_headers = new ArrayList<>();
  24796.                
  24797.                 String name = null;
  24798.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.connettori.inoltroBuste.proxyPassReverse.headers");
  24799.                 if(name!=null){
  24800.                     name = name.trim();
  24801.                 }
  24802.                 if(name!=null && !"".equals(name)) {
  24803.                     if(name.contains(",")) {
  24804.                         String [] tmp = name.split(",");
  24805.                         for (int i = 0; i < tmp.length; i++) {
  24806.                             this.getSOAPServices_inoltroBuste_proxyPassReverse_headers.add(tmp[i].trim());
  24807.                         }
  24808.                     }
  24809.                     else {
  24810.                         this.getSOAPServices_inoltroBuste_proxyPassReverse_headers.add(name);
  24811.                     }
  24812.                 }
  24813.             } catch(java.lang.Exception e) {
  24814.                 String error = "Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.connettori.inoltroBuste.proxyPassReverse.headers': "+e.getMessage();
  24815.                 this.logError(error,e);
  24816.                 throw new CoreException(error);
  24817.             }    
  24818.         }

  24819.         return this.getSOAPServices_inoltroBuste_proxyPassReverse_headers;
  24820.     }
  24821.    
  24822.     private List<String> getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_headers = null;
  24823.     public List<String> getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_headers() throws CoreException {  
  24824.         if(this.getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_headers==null){
  24825.             try{
  24826.                 this.getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_headers = new ArrayList<>();
  24827.                
  24828.                 String name = null;
  24829.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.proxyPassReverse.headers");
  24830.                 if(name!=null){
  24831.                     name = name.trim();
  24832.                 }
  24833.                 if(name!=null && !"".equals(name)) {
  24834.                     if(name.contains(",")) {
  24835.                         String [] tmp = name.split(",");
  24836.                         for (int i = 0; i < tmp.length; i++) {
  24837.                             this.getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_headers.add(tmp[i].trim());
  24838.                         }
  24839.                     }
  24840.                     else {
  24841.                         this.getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_headers.add(name);
  24842.                     }
  24843.                 }
  24844.             } catch(java.lang.Exception e) {
  24845.                 String error = "Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.proxyPassReverse.headers': "+e.getMessage();
  24846.                 this.logError(error,e);
  24847.                 throw new CoreException(error);
  24848.             }    
  24849.         }

  24850.         return this.getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_headers;
  24851.     }
  24852.    
  24853.     // Set-Cookie
  24854.    
  24855.     private Boolean isSOAPServices_inoltroBuste_proxyPassReverse_setCookie = null;
  24856.     public boolean isSOAPServices_inoltroBuste_proxyPassReverse_setCookie() {  
  24857.         if(this.isSOAPServices_inoltroBuste_proxyPassReverse_setCookie==null){
  24858.             String pName = "org.openspcoop2.pdd.soap.connettori.inoltroBuste.proxyPassReverse.setCookie";
  24859.             try{
  24860.                 String name = null;
  24861.                 name = this.reader.getValueConvertEnvProperties(pName);
  24862.                 if(name==null){
  24863.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  24864.                     name="false";
  24865.                 }
  24866.                 name = name.trim();
  24867.                 this.isSOAPServices_inoltroBuste_proxyPassReverse_setCookie = Boolean.parseBoolean(name);
  24868.             } catch(java.lang.Exception e) {
  24869.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  24870.                 this.isSOAPServices_inoltroBuste_proxyPassReverse_setCookie = false;
  24871.             }    
  24872.         }

  24873.         return this.isSOAPServices_inoltroBuste_proxyPassReverse_setCookie;
  24874.     }
  24875.    
  24876.     private Boolean isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie = null;
  24877.     public boolean isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie() {  
  24878.         if(this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie==null){
  24879.             String pName = "org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.proxyPassReverse.setCookie";
  24880.             try{
  24881.                 String name = null;
  24882.                 name = this.reader.getValueConvertEnvProperties(pName);
  24883.                 if(name==null){
  24884.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  24885.                     name="false";
  24886.                 }
  24887.                 name = name.trim();
  24888.                 this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie = Boolean.parseBoolean(name);
  24889.             } catch(java.lang.Exception e) {
  24890.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  24891.                 this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie = false;
  24892.             }    
  24893.         }

  24894.         return this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie;
  24895.     }
  24896.    
  24897.     private Boolean isSOAPServices_inoltroBuste_proxyPassReverse_setCookie_path = null;
  24898.     public boolean isSOAPServices_inoltroBuste_proxyPassReverse_setCookie_path() {  
  24899.         if(this.isSOAPServices_inoltroBuste_proxyPassReverse_setCookie_path==null){
  24900.             String pName = "org.openspcoop2.pdd.soap.connettori.inoltroBuste.proxyPassReverse.setCookie.path";
  24901.             try{
  24902.                 String name = null;
  24903.                 name = this.reader.getValueConvertEnvProperties(pName);
  24904.                 if(name==null){
  24905.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isSOAPServices_inoltroBuste_proxyPassReverse_setCookie()));
  24906.                     name=""+isSOAPServices_inoltroBuste_proxyPassReverse_setCookie();
  24907.                 }
  24908.                 name = name.trim();
  24909.                 this.isSOAPServices_inoltroBuste_proxyPassReverse_setCookie_path = Boolean.parseBoolean(name);
  24910.             } catch(java.lang.Exception e) {
  24911.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  24912.                 this.isSOAPServices_inoltroBuste_proxyPassReverse_setCookie_path = isSOAPServices_inoltroBuste_proxyPassReverse_setCookie();
  24913.             }    
  24914.         }

  24915.         return this.isSOAPServices_inoltroBuste_proxyPassReverse_setCookie_path;
  24916.     }
  24917.    
  24918.     private Boolean isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_path = null;
  24919.     public boolean isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_path() {  
  24920.         if(this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_path==null){
  24921.             String pName = "org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.proxyPassReverse.setCookie.path";
  24922.             try{
  24923.                 String name = null;
  24924.                 name = this.reader.getValueConvertEnvProperties(pName);
  24925.                 if(name==null){
  24926.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie()));
  24927.                     name=""+isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie();
  24928.                 }
  24929.                 name = name.trim();
  24930.                 this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_path = Boolean.parseBoolean(name);
  24931.             } catch(java.lang.Exception e) {
  24932.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  24933.                 this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_path = isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie();
  24934.             }    
  24935.         }

  24936.         return this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_path;
  24937.     }
  24938.    
  24939.     private Boolean isSOAPServices_inoltroBuste_proxyPassReverse_setCookie_domain = null;
  24940.     public boolean isSOAPServices_inoltroBuste_proxyPassReverse_setCookie_domain() {    
  24941.         if(this.isSOAPServices_inoltroBuste_proxyPassReverse_setCookie_domain==null){
  24942.             String pName = "org.openspcoop2.pdd.soap.connettori.inoltroBuste.proxyPassReverse.setCookie.domain";
  24943.             try{
  24944.                 String name = null;
  24945.                 name = this.reader.getValueConvertEnvProperties(pName);
  24946.                 if(name==null){
  24947.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isSOAPServices_inoltroBuste_proxyPassReverse_setCookie()));
  24948.                     name=""+isSOAPServices_inoltroBuste_proxyPassReverse_setCookie();
  24949.                 }
  24950.                 name = name.trim();
  24951.                 this.isSOAPServices_inoltroBuste_proxyPassReverse_setCookie_domain = Boolean.parseBoolean(name);
  24952.             } catch(java.lang.Exception e) {
  24953.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  24954.                 this.isSOAPServices_inoltroBuste_proxyPassReverse_setCookie_domain = isSOAPServices_inoltroBuste_proxyPassReverse_setCookie();
  24955.             }    
  24956.         }

  24957.         return this.isSOAPServices_inoltroBuste_proxyPassReverse_setCookie_domain;
  24958.     }
  24959.    
  24960.     private Boolean isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_domain = null;
  24961.     public boolean isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_domain() {    
  24962.         if(this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_domain==null){
  24963.             String pName = "org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.proxyPassReverse.setCookie.domain";
  24964.             try{
  24965.                 String name = null;
  24966.                 name = this.reader.getValueConvertEnvProperties(pName);
  24967.                 if(name==null){
  24968.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie()));
  24969.                     name=""+isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie();
  24970.                 }
  24971.                 name = name.trim();
  24972.                 this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_domain = Boolean.parseBoolean(name);
  24973.             } catch(java.lang.Exception e) {
  24974.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  24975.                 this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_domain = isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie();
  24976.             }    
  24977.         }

  24978.         return this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_domain;
  24979.     }
  24980.    
  24981.     private List<String> getSOAPServices_inoltroBuste_proxyPassReverse_setCookie_headers = null;
  24982.     public List<String> getSOAPServices_inoltroBuste_proxyPassReverse_setCookie_headers() throws CoreException {    
  24983.         if(this.getSOAPServices_inoltroBuste_proxyPassReverse_setCookie_headers==null){
  24984.             try{
  24985.                 this.getSOAPServices_inoltroBuste_proxyPassReverse_setCookie_headers = new ArrayList<>();
  24986.                
  24987.                 String name = null;
  24988.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.connettori.inoltroBuste.proxyPassReverse.setCookie.headers");
  24989.                 if(name!=null){
  24990.                     name = name.trim();
  24991.                 }
  24992.                 if(name!=null && !"".equals(name)) {
  24993.                     if(name.contains(",")) {
  24994.                         String [] tmp = name.split(",");
  24995.                         for (int i = 0; i < tmp.length; i++) {
  24996.                             this.getSOAPServices_inoltroBuste_proxyPassReverse_setCookie_headers.add(tmp[i].trim());
  24997.                         }
  24998.                     }
  24999.                     else {
  25000.                         this.getSOAPServices_inoltroBuste_proxyPassReverse_setCookie_headers.add(name);
  25001.                     }
  25002.                 }
  25003.             } catch(java.lang.Exception e) {
  25004.                 String error = "Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.connettori.inoltroBuste.proxyPassReverse.setCookie.headers': "+e.getMessage();
  25005.                 this.logError(error,e);
  25006.                 throw new CoreException(error);
  25007.             }    
  25008.         }

  25009.         return this.getSOAPServices_inoltroBuste_proxyPassReverse_setCookie_headers;
  25010.     }
  25011.    
  25012.     private List<String> getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers = null;
  25013.     public List<String> getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers() throws CoreException {    
  25014.         if(this.getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers==null){
  25015.             try{
  25016.                 this.getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers = new ArrayList<>();
  25017.                
  25018.                 String name = null;
  25019.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.proxyPassReverse.setCookie.headers");
  25020.                 if(name!=null){
  25021.                     name = name.trim();
  25022.                 }
  25023.                 if(name!=null && !"".equals(name)) {
  25024.                     if(name.contains(",")) {
  25025.                         String [] tmp = name.split(",");
  25026.                         for (int i = 0; i < tmp.length; i++) {
  25027.                             this.getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers.add(tmp[i].trim());
  25028.                         }
  25029.                     }
  25030.                     else {
  25031.                         this.getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers.add(name);
  25032.                     }
  25033.                 }
  25034.             } catch(java.lang.Exception e) {
  25035.                 String error = "Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.proxyPassReverse.setCookie.headers': "+e.getMessage();
  25036.                 this.logError(error,e);
  25037.                 throw new CoreException(error);
  25038.             }    
  25039.         }

  25040.         return this.getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers;
  25041.     }
  25042.    
  25043.     // useProtocolPrefix
  25044.    
  25045.     private Boolean isSOAPServices_inoltroBuste_proxyPassReverse_useProtocolPrefix = null;
  25046.     public boolean isSOAPServices_inoltroBuste_proxyPassReverse_useProtocolPrefix() {  
  25047.         if(this.isSOAPServices_inoltroBuste_proxyPassReverse_useProtocolPrefix==null){
  25048.             try{
  25049.                 String name = null;
  25050.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.connettori.inoltroBuste.proxyPassReverse.useProtocolPrefix");
  25051.                 if(name==null){
  25052.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.soap.connettori.inoltroBuste.proxyPassReverse.useProtocolPrefix' non impostata, viene utilizzato il default=false");
  25053.                     name="false";
  25054.                 }
  25055.                 name = name.trim();
  25056.                 this.isSOAPServices_inoltroBuste_proxyPassReverse_useProtocolPrefix = Boolean.parseBoolean(name);
  25057.             } catch(java.lang.Exception e) {
  25058.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.connettori.inoltroBuste.proxyPassReverse.useProtocolPrefix': "+e.getMessage(),e);
  25059.                 this.isSOAPServices_inoltroBuste_proxyPassReverse_useProtocolPrefix = false;
  25060.             }    
  25061.         }

  25062.         return this.isSOAPServices_inoltroBuste_proxyPassReverse_useProtocolPrefix;
  25063.     }
  25064.    
  25065.     private Boolean isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_useProtocolPrefix = null;
  25066.     public boolean isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_useProtocolPrefix() {  
  25067.         if(this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_useProtocolPrefix==null){
  25068.             try{
  25069.                 String name = null;
  25070.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.proxyPassReverse.useProtocolPrefix");
  25071.                 if(name==null){
  25072.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.proxyPassReverse.useProtocolPrefix' non impostata, viene utilizzato il default=false");
  25073.                     name="false";
  25074.                 }
  25075.                 name = name.trim();
  25076.                 this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_useProtocolPrefix = Boolean.parseBoolean(name);
  25077.             } catch(java.lang.Exception e) {
  25078.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.proxyPassReverse.useProtocolPrefix': "+e.getMessage(),e);
  25079.                 this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_useProtocolPrefix = false;
  25080.             }    
  25081.         }

  25082.         return this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_useProtocolPrefix;
  25083.     }
  25084.    
  25085.     private Boolean isSOAPServices_inoltroBuste_response_securityHeaders = null;
  25086.     public boolean isSOAPServices_inoltroBuste_response_securityHeaders() {
  25087.         if(this.isSOAPServices_inoltroBuste_response_securityHeaders==null){
  25088.             String pName = "org.openspcoop2.pdd.soap.connettori.inoltroBuste.response.securityHeaders";
  25089.             try{
  25090.                 String name = null;
  25091.                 name = this.reader.getValueConvertEnvProperties(pName);
  25092.                 if(name==null){
  25093.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  25094.                     name="true";
  25095.                 }
  25096.                 name = name.trim();
  25097.                 this.isSOAPServices_inoltroBuste_response_securityHeaders = Boolean.parseBoolean(name);
  25098.             } catch(java.lang.Exception e) {
  25099.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  25100.                 this.isSOAPServices_inoltroBuste_response_securityHeaders = true;
  25101.             }    
  25102.         }

  25103.         return this.isSOAPServices_inoltroBuste_response_securityHeaders;
  25104.     }
  25105.    
  25106.     private Properties getSOAPServices_inoltroBuste_response_securityHeaders = null;
  25107.     public Properties getSOAPServices_inoltroBuste_response_securityHeaders() throws CoreException {    
  25108.         if(this.getSOAPServices_inoltroBuste_response_securityHeaders==null){
  25109.             String pName = "org.openspcoop2.pdd.soap.connettori.inoltroBuste.response.securityHeaders.";
  25110.             try{
  25111.                 this.getSOAPServices_inoltroBuste_response_securityHeaders = this.reader.readPropertiesConvertEnvProperties(pName);
  25112.             } catch(java.lang.Exception e) {
  25113.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"*': "+e.getMessage(),e);
  25114.                 throw new CoreException(e.getMessage(),e);
  25115.             }    
  25116.         }

  25117.         return this.getSOAPServices_inoltroBuste_response_securityHeaders;
  25118.     }
  25119.    
  25120.     private Boolean isSOAPServices_consegnaContenutiApplicativi_response_securityHeaders = null;
  25121.     public boolean isSOAPServices_consegnaContenutiApplicativi_response_securityHeaders() {
  25122.         if(this.isSOAPServices_consegnaContenutiApplicativi_response_securityHeaders==null){
  25123.             String pName = "org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.response.securityHeaders";
  25124.             try{
  25125.                 String name = null;
  25126.                 name = this.reader.getValueConvertEnvProperties(pName);
  25127.                 if(name==null){
  25128.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  25129.                     name="true";
  25130.                 }
  25131.                 name = name.trim();
  25132.                 this.isSOAPServices_consegnaContenutiApplicativi_response_securityHeaders = Boolean.parseBoolean(name);
  25133.             } catch(java.lang.Exception e) {
  25134.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  25135.                 this.isSOAPServices_consegnaContenutiApplicativi_response_securityHeaders = true;
  25136.             }    
  25137.         }

  25138.         return this.isSOAPServices_consegnaContenutiApplicativi_response_securityHeaders;
  25139.     }
  25140.    
  25141.     private Properties getSOAPServices_consegnaContenutiApplicativi_response_securityHeaders = null;
  25142.     public Properties getSOAPServices_consegnaContenutiApplicativi_response_securityHeaders() throws CoreException {    
  25143.         if(this.getSOAPServices_consegnaContenutiApplicativi_response_securityHeaders==null){
  25144.             String pName = "org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.response.securityHeaders.";
  25145.             try{
  25146.                 this.getSOAPServices_consegnaContenutiApplicativi_response_securityHeaders = this.reader.readPropertiesConvertEnvProperties(pName);
  25147.             } catch(java.lang.Exception e) {
  25148.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"*': "+e.getMessage(),e);
  25149.                 throw new CoreException(e.getMessage(),e);
  25150.             }    
  25151.         }

  25152.         return this.getSOAPServices_consegnaContenutiApplicativi_response_securityHeaders;
  25153.     }
  25154.    
  25155.    
  25156.    
  25157.     /* ------------- REST (Trasporto - URLParameters) ---------------------*/
  25158.    
  25159.     private Boolean isRESTServicesUrlParametersForward = null;
  25160.     private boolean isRESTServicesUrlParametersForward(){

  25161.         if(this.isRESTServicesUrlParametersForward==null){
  25162.             try{  
  25163.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.urlParameters.forward.enable");

  25164.                 if (value != null){
  25165.                     value = value.trim();
  25166.                     this.isRESTServicesUrlParametersForward = Boolean.parseBoolean(value);
  25167.                 }else{
  25168.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.rest.urlParameters.forward.enable' non impostata, viene utilizzato il default=true");
  25169.                     this.isRESTServicesUrlParametersForward = true;
  25170.                 }

  25171.             }catch(java.lang.Exception e) {
  25172.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.rest.urlParameters.forward.enable' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  25173.                 this.isRESTServicesUrlParametersForward = true;
  25174.             }
  25175.         }

  25176.         return this.isRESTServicesUrlParametersForward;
  25177.     }
  25178.    
  25179.     private Boolean getRESTServicesBlackListInternalUrlParametersRead = null;
  25180.     private List<MapKey<String>> getRESTServicesBlackListInternalUrlParametersList = null;
  25181.     private List<MapKey<String>> getRESTServicesBlackListInternalUrlParameters() {  
  25182.         if(this.getRESTServicesBlackListInternalUrlParametersRead==null){
  25183.             try{
  25184.                 this.getRESTServicesBlackListInternalUrlParametersList = new ArrayList<>();
  25185.                 String name = null;
  25186.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.urlParameters.blackList.internal");
  25187.                 if(name!=null){
  25188.                     name = name.trim();
  25189.                     String [] split = name.split(",");
  25190.                     if(split!=null){
  25191.                         for (int i = 0; i < split.length; i++) {
  25192.                             this.getRESTServicesBlackListInternalUrlParametersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  25193.                         }
  25194.                     }
  25195.                 }
  25196.                 this.getRESTServicesBlackListInternalUrlParametersRead = true;
  25197.             } catch(java.lang.Exception e) {
  25198.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.urlParameters.blackList.internal': "+e.getMessage(),e);
  25199.             }    
  25200.         }
  25201.        
  25202.         return this.getRESTServicesBlackListInternalUrlParametersList;
  25203.     }
  25204.    
  25205.     private Boolean getRESTServicesBlackListUrlParametersRead = null;
  25206.     private List<MapKey<String>> getRESTServicesBlackListUrlParametersList = null;
  25207.     private List<MapKey<String>> getRESTServicesBlackListUrlParameters() {  
  25208.         if(this.getRESTServicesBlackListUrlParametersRead==null){
  25209.             try{
  25210.                 this.getRESTServicesBlackListUrlParametersList = new ArrayList<>();
  25211.                 String name = null;
  25212.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.urlParameters.blackList");
  25213.                 if(name!=null){
  25214.                     name = name.trim();
  25215.                     String [] split = name.split(",");
  25216.                     if(split!=null){
  25217.                         for (int i = 0; i < split.length; i++) {
  25218.                             this.getRESTServicesBlackListUrlParametersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  25219.                         }
  25220.                     }
  25221.                 }
  25222.                 this.getRESTServicesBlackListUrlParametersRead = true;
  25223.             } catch(java.lang.Exception e) {
  25224.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.urlParameters.blackList': "+e.getMessage(),e);
  25225.             }    
  25226.         }
  25227.        
  25228.         return this.getRESTServicesBlackListUrlParametersList;
  25229.     }
  25230.    
  25231.     private Boolean getRESTServicesWhiteListUrlParametersRead = null;
  25232.     private List<MapKey<String>> getRESTServicesWhiteListUrlParametersList = null;
  25233.     private List<MapKey<String>> getRESTServicesWhiteListUrlParameters() {  
  25234.         if(this.getRESTServicesWhiteListUrlParametersRead==null){
  25235.             try{
  25236.                 this.getRESTServicesWhiteListUrlParametersList = new ArrayList<>();
  25237.                 String name = null;
  25238.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.urlParameters.whiteList");
  25239.                 if(name!=null){
  25240.                     name = name.trim();
  25241.                     String [] split = name.split(",");
  25242.                     if(split!=null){
  25243.                         for (int i = 0; i < split.length; i++) {
  25244.                             this.getRESTServicesWhiteListUrlParametersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  25245.                         }
  25246.                     }
  25247.                 }
  25248.                 this.getRESTServicesWhiteListUrlParametersRead = true;
  25249.             } catch(java.lang.Exception e) {
  25250.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.urlParameters.whiteList': "+e.getMessage(),e);
  25251.             }    
  25252.         }
  25253.        
  25254.         return this.getRESTServicesWhiteListUrlParametersList;
  25255.     }
  25256.        
  25257.     private List<String> _getRESTServicesBlackListUrlParameters() {
  25258.        
  25259.         List<MapKey<String>> blackList = new ArrayList<>();
  25260.         List<MapKey<String>> tmp = this.getRESTServicesBlackListInternalUrlParameters();
  25261.         this._list_add(tmp, blackList);
  25262.         tmp = this.getRESTServicesBlackListUrlParameters();
  25263.         this._list_add(tmp, blackList);
  25264.        
  25265.         List<String> l = new ArrayList<>();
  25266.         if(!blackList.isEmpty()) {
  25267.             for (MapKey<String> key : blackList) {
  25268.                 l.add(key.getValue());
  25269.             }
  25270.         }
  25271.         return l;
  25272.     }
  25273.     private List<String> _getRESTServicesWhiteListUrlParameters() {
  25274.        
  25275.         List<MapKey<String>> whiteList = new ArrayList<>();
  25276.         List<MapKey<String>> tmp = this.getRESTServicesWhiteListUrlParameters();
  25277.         this._list_add(tmp, whiteList);
  25278.        
  25279.         List<String> l = new ArrayList<>();
  25280.         if(!whiteList.isEmpty()) {
  25281.             for (MapKey<String> key : whiteList) {
  25282.                 l.add(key.getValue());
  25283.             }
  25284.         }
  25285.         return l;
  25286.     }
  25287.     public ForwardConfig getRESTServicesUrlParametersForwardConfig() {
  25288.         ForwardConfig f = new ForwardConfig();
  25289.         f.setForwardEnable(this.isRESTServicesUrlParametersForward());
  25290.         f.setBlackList(_getRESTServicesBlackListUrlParameters());
  25291.         f.setWhiteList(_getRESTServicesWhiteListUrlParameters());
  25292.         return f;
  25293.     }
  25294.    
  25295.    
  25296.    
  25297.    
  25298.     /* ------------- REST (Trasporto - Headers) ---------------------*/
  25299.    
  25300.     private Boolean isRESTServicesHeadersForward = null;
  25301.     private boolean isRESTServicesHeadersForward(){

  25302.         if(this.isRESTServicesHeadersForward==null){
  25303.             try{  
  25304.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.headers.forward.enable");

  25305.                 if (value != null){
  25306.                     value = value.trim();
  25307.                     this.isRESTServicesHeadersForward = Boolean.parseBoolean(value);
  25308.                 }else{
  25309.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.rest.headers.forward.enable' non impostata, viene utilizzato il default=true");
  25310.                     this.isRESTServicesHeadersForward = true;
  25311.                 }

  25312.             }catch(java.lang.Exception e) {
  25313.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.rest.headers.forward.enable' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  25314.                 this.isRESTServicesHeadersForward = true;
  25315.             }
  25316.         }

  25317.         return this.isRESTServicesHeadersForward;
  25318.     }
  25319.    
  25320.     private Boolean getRESTServicesBlackListBothInternalHeadersRead = null;
  25321.     private List<MapKey<String>> getRESTServicesBlackListBothInternalHeadersList = null;
  25322.     private List<MapKey<String>> getRESTServicesBlackListBothInternalHeaders() {    
  25323.         if(this.getRESTServicesBlackListBothInternalHeadersRead==null){
  25324.             try{
  25325.                 this.getRESTServicesBlackListBothInternalHeadersList = new ArrayList<>();
  25326.                 String name = null;
  25327.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.headers.blackList.internal.both");
  25328.                 if(name!=null){
  25329.                     name = name.trim();
  25330.                     String [] split = name.split(",");
  25331.                     if(split!=null){
  25332.                         for (int i = 0; i < split.length; i++) {
  25333.                             this.getRESTServicesBlackListBothInternalHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  25334.                         }
  25335.                     }
  25336.                 }
  25337.                 this.getRESTServicesBlackListBothInternalHeadersRead = true;
  25338.             } catch(java.lang.Exception e) {
  25339.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.headers.blackList.internal.both': "+e.getMessage(),e);
  25340.             }    
  25341.         }
  25342.        
  25343.         return this.getRESTServicesBlackListBothInternalHeadersList;
  25344.     }
  25345.    
  25346.     private Boolean getRESTServicesBlackListRequestInternalHeadersRead = null;
  25347.     private List<MapKey<String>> getRESTServicesBlackListRequestInternalHeadersList = null;
  25348.     private List<MapKey<String>> getRESTServicesBlackListRequestInternalHeaders() {
  25349.         if(this.getRESTServicesBlackListRequestInternalHeadersRead==null){
  25350.             try{
  25351.                 this.getRESTServicesBlackListRequestInternalHeadersList = new ArrayList<>();
  25352.                 String name = null;
  25353.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.headers.blackList.internal.request");
  25354.                 if(name!=null){
  25355.                     name = name.trim();
  25356.                     String [] split = name.split(",");
  25357.                     if(split!=null){
  25358.                         for (int i = 0; i < split.length; i++) {
  25359.                             this.getRESTServicesBlackListRequestInternalHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  25360.                         }
  25361.                     }
  25362.                 }
  25363.                 this.getRESTServicesBlackListRequestInternalHeadersRead = true;
  25364.             } catch(java.lang.Exception e) {
  25365.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.headers.blackList.internal.request': "+e.getMessage(),e);
  25366.             }    
  25367.         }
  25368.        
  25369.         return this.getRESTServicesBlackListRequestInternalHeadersList;
  25370.     }
  25371.    
  25372.     private Boolean getRESTServicesBlackListResponseInternalHeadersRead = null;
  25373.     private List<MapKey<String>> getRESTServicesBlackListResponseInternalHeadersList = null;
  25374.     private List<MapKey<String>> getRESTServicesBlackListResponseInternalHeaders() {    
  25375.         if(this.getRESTServicesBlackListResponseInternalHeadersRead==null){
  25376.             try{
  25377.                 this.getRESTServicesBlackListResponseInternalHeadersList = new ArrayList<>();
  25378.                 String name = null;
  25379.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.headers.blackList.internal.response");
  25380.                 if(name!=null){
  25381.                     name = name.trim();
  25382.                     String [] split = name.split(",");
  25383.                     if(split!=null){
  25384.                         for (int i = 0; i < split.length; i++) {
  25385.                             this.getRESTServicesBlackListResponseInternalHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  25386.                         }
  25387.                     }
  25388.                 }
  25389.                 this.getRESTServicesBlackListResponseInternalHeadersRead = true;
  25390.             } catch(java.lang.Exception e) {
  25391.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.headers.blackList.internal.response': "+e.getMessage(),e);
  25392.             }    
  25393.         }
  25394.        
  25395.         return this.getRESTServicesBlackListResponseInternalHeadersList;
  25396.     }
  25397.    
  25398.     private Boolean getRESTServicesBlackListBothHeadersRead = null;
  25399.     private List<MapKey<String>> getRESTServicesBlackListBothHeadersList = null;
  25400.     private List<MapKey<String>> getRESTServicesBlackListBothHeaders() {    
  25401.         if(this.getRESTServicesBlackListBothHeadersRead==null){
  25402.             try{
  25403.                 this.getRESTServicesBlackListBothHeadersList = new ArrayList<>();
  25404.                 String name = null;
  25405.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.headers.blackList.both");
  25406.                 if(name!=null){
  25407.                     name = name.trim();
  25408.                     String [] split = name.split(",");
  25409.                     if(split!=null){
  25410.                         for (int i = 0; i < split.length; i++) {
  25411.                             this.getRESTServicesBlackListBothHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  25412.                         }
  25413.                     }
  25414.                 }
  25415.                 this.getRESTServicesBlackListBothHeadersRead = true;
  25416.             } catch(java.lang.Exception e) {
  25417.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.headers.blackList.both': "+e.getMessage(),e);
  25418.             }    
  25419.         }
  25420.        
  25421.         return this.getRESTServicesBlackListBothHeadersList;
  25422.     }
  25423.    
  25424.     private Boolean getRESTServicesBlackListRequestHeadersRead = null;
  25425.     private List<MapKey<String>> getRESTServicesBlackListRequestHeadersList = null;
  25426.     private List<MapKey<String>> getRESTServicesBlackListRequestHeaders() {
  25427.         if(this.getRESTServicesBlackListRequestHeadersRead==null){
  25428.             try{
  25429.                 this.getRESTServicesBlackListRequestHeadersList = new ArrayList<>();
  25430.                 String name = null;
  25431.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.headers.blackList.request");
  25432.                 if(name!=null){
  25433.                     name = name.trim();
  25434.                     String [] split = name.split(",");
  25435.                     if(split!=null){
  25436.                         for (int i = 0; i < split.length; i++) {
  25437.                             this.getRESTServicesBlackListRequestHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  25438.                         }
  25439.                     }
  25440.                 }
  25441.                 this.getRESTServicesBlackListRequestHeadersRead = true;
  25442.             } catch(java.lang.Exception e) {
  25443.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.headers.blackList.request': "+e.getMessage(),e);
  25444.             }    
  25445.         }
  25446.        
  25447.         return this.getRESTServicesBlackListRequestHeadersList;
  25448.     }
  25449.    
  25450.     private Boolean getRESTServicesBlackListResponseHeadersRead = null;
  25451.     private List<MapKey<String>> getRESTServicesBlackListResponseHeadersList = null;
  25452.     private List<MapKey<String>> getRESTServicesBlackListResponseHeaders() {    
  25453.         if(this.getRESTServicesBlackListResponseHeadersRead==null){
  25454.             try{
  25455.                 this.getRESTServicesBlackListResponseHeadersList = new ArrayList<>();
  25456.                 String name = null;
  25457.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.headers.blackList.response");
  25458.                 if(name!=null){
  25459.                     name = name.trim();
  25460.                     String [] split = name.split(",");
  25461.                     if(split!=null){
  25462.                         for (int i = 0; i < split.length; i++) {
  25463.                             this.getRESTServicesBlackListResponseHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  25464.                         }
  25465.                     }
  25466.                 }
  25467.                 this.getRESTServicesBlackListResponseHeadersRead = true;
  25468.             } catch(java.lang.Exception e) {
  25469.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.headers.blackList.response': "+e.getMessage(),e);
  25470.             }    
  25471.         }
  25472.        
  25473.         return this.getRESTServicesBlackListResponseHeadersList;
  25474.     }
  25475.    
  25476.     private Boolean getRESTServicesWhiteListBothHeadersRead = null;
  25477.     private List<MapKey<String>> getRESTServicesWhiteListBothHeadersList = null;
  25478.     private List<MapKey<String>> getRESTServicesWhiteListBothHeaders() {    
  25479.         if(this.getRESTServicesWhiteListBothHeadersRead==null){
  25480.             try{
  25481.                 this.getRESTServicesWhiteListBothHeadersList = new ArrayList<>();
  25482.                 String name = null;
  25483.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.headers.whiteList.both");
  25484.                 if(name!=null){
  25485.                     name = name.trim();
  25486.                     String [] split = name.split(",");
  25487.                     if(split!=null){
  25488.                         for (int i = 0; i < split.length; i++) {
  25489.                             this.getRESTServicesWhiteListBothHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  25490.                         }
  25491.                     }
  25492.                 }
  25493.                 this.getRESTServicesWhiteListBothHeadersRead = true;
  25494.             } catch(java.lang.Exception e) {
  25495.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.headers.whiteList.both': "+e.getMessage(),e);
  25496.             }    
  25497.         }
  25498.        
  25499.         return this.getRESTServicesWhiteListBothHeadersList;
  25500.     }
  25501.    
  25502.     private Boolean getRESTServicesWhiteListRequestHeadersRead = null;
  25503.     private List<MapKey<String>> getRESTServicesWhiteListRequestHeadersList = null;
  25504.     private List<MapKey<String>> getRESTServicesWhiteListRequestHeaders() {
  25505.         if(this.getRESTServicesWhiteListRequestHeadersRead==null){
  25506.             try{
  25507.                 this.getRESTServicesWhiteListRequestHeadersList = new ArrayList<>();
  25508.                 String name = null;
  25509.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.headers.whiteList.request");
  25510.                 if(name!=null){
  25511.                     name = name.trim();
  25512.                     String [] split = name.split(",");
  25513.                     if(split!=null){
  25514.                         for (int i = 0; i < split.length; i++) {
  25515.                             this.getRESTServicesWhiteListRequestHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  25516.                         }
  25517.                     }
  25518.                 }
  25519.                 this.getRESTServicesWhiteListRequestHeadersRead = true;
  25520.             } catch(java.lang.Exception e) {
  25521.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.headers.whiteList.request': "+e.getMessage(),e);
  25522.             }    
  25523.         }
  25524.        
  25525.         return this.getRESTServicesWhiteListRequestHeadersList;
  25526.     }
  25527.    
  25528.     private Boolean getRESTServicesWhiteListResponseHeadersRead = null;
  25529.     private List<MapKey<String>> getRESTServicesWhiteListResponseHeadersList = null;
  25530.     private List<MapKey<String>> getRESTServicesWhiteListResponseHeaders() {    
  25531.         if(this.getRESTServicesWhiteListResponseHeadersRead==null){
  25532.             try{
  25533.                 this.getRESTServicesWhiteListResponseHeadersList = new ArrayList<>();
  25534.                 String name = null;
  25535.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.headers.whiteList.response");
  25536.                 if(name!=null){
  25537.                     name = name.trim();
  25538.                     String [] split = name.split(",");
  25539.                     if(split!=null){
  25540.                         for (int i = 0; i < split.length; i++) {
  25541.                             this.getRESTServicesWhiteListResponseHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  25542.                         }
  25543.                     }
  25544.                 }
  25545.                 this.getRESTServicesWhiteListResponseHeadersRead = true;
  25546.             } catch(java.lang.Exception e) {
  25547.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.headers.whiteList.response': "+e.getMessage(),e);
  25548.             }    
  25549.         }
  25550.        
  25551.         return this.getRESTServicesWhiteListResponseHeadersList;
  25552.     }
  25553.    
  25554.     private List<String> getRESTServicesBlackListHeaders(boolean request) {
  25555.        
  25556.         List<MapKey<String>> blackList = new ArrayList<>();
  25557.         List<MapKey<String>> tmp = this.getRESTServicesBlackListBothInternalHeaders();
  25558.         this._list_add(tmp, blackList);
  25559.         tmp = this.getRESTServicesBlackListBothHeaders();
  25560.         this._list_add(tmp, blackList);
  25561.        
  25562.         if(request) {
  25563.             tmp = this.getRESTServicesBlackListRequestInternalHeaders();
  25564.             this._list_add(tmp, blackList);
  25565.             tmp = this.getRESTServicesBlackListRequestHeaders();
  25566.             this._list_add(tmp, blackList);
  25567.         }
  25568.         else {
  25569.             tmp = this.getRESTServicesBlackListResponseInternalHeaders();
  25570.             this._list_add(tmp, blackList);
  25571.             tmp = this.getRESTServicesBlackListResponseHeaders();
  25572.             this._list_add(tmp, blackList);
  25573.         }
  25574.        
  25575.         List<String> l = new ArrayList<>();
  25576.         if(!blackList.isEmpty()) {
  25577.             for (MapKey<String> key : blackList) {
  25578.                 l.add(key.getValue());
  25579.             }
  25580.         }
  25581.         return l;
  25582.     }
  25583.     private List<String> getRESTServicesWhiteListHeaders(boolean request) {
  25584.        
  25585.         List<MapKey<String>> whiteList = new ArrayList<>();
  25586.         List<MapKey<String>> tmp = this.getRESTServicesWhiteListBothHeaders();
  25587.         this._list_add(tmp, whiteList);
  25588.         if(request) {
  25589.             tmp = this.getRESTServicesWhiteListRequestHeaders();
  25590.             this._list_add(tmp, whiteList);
  25591.         }
  25592.         else {
  25593.             tmp = this.getRESTServicesWhiteListResponseHeaders();
  25594.             this._list_add(tmp, whiteList);
  25595.         }
  25596.        
  25597.         List<String> l = new ArrayList<>();
  25598.         if(!whiteList.isEmpty()) {
  25599.             for (MapKey<String> key : whiteList) {
  25600.                 l.add(key.getValue());
  25601.             }
  25602.         }
  25603.         return l;
  25604.     }
  25605.     public ForwardConfig getRESTServicesHeadersForwardConfig(boolean request) {
  25606.         ForwardConfig f = new ForwardConfig();
  25607.         f.setForwardEnable(this.isRESTServicesHeadersForward());
  25608.         f.setBlackList(getRESTServicesBlackListHeaders(request));
  25609.         f.setWhiteList(getRESTServicesWhiteListHeaders(request));
  25610.         return f;
  25611.     }


  25612.     /* ------------- REST (Trasporto - Headers - Proxy Pass Reverse) ---------------------*/
  25613.    
  25614.     // Location
  25615.    
  25616.     private Boolean isRESTServices_inoltroBuste_proxyPassReverse = null;
  25617.     public boolean isRESTServices_inoltroBuste_proxyPassReverse() {
  25618.         if(this.isRESTServices_inoltroBuste_proxyPassReverse==null){
  25619.             try{
  25620.                 String name = null;
  25621.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.connettori.inoltroBuste.proxyPassReverse");
  25622.                 if(name==null){
  25623.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.rest.connettori.inoltroBuste.proxyPassReverse' non impostata, viene utilizzato il default=false");
  25624.                     name="false";
  25625.                 }
  25626.                 name = name.trim();
  25627.                 this.isRESTServices_inoltroBuste_proxyPassReverse = Boolean.parseBoolean(name);
  25628.             } catch(java.lang.Exception e) {
  25629.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.connettori.inoltroBuste.proxyPassReverse': "+e.getMessage(),e);
  25630.                 this.isRESTServices_inoltroBuste_proxyPassReverse = false;
  25631.             }    
  25632.         }

  25633.         return this.isRESTServices_inoltroBuste_proxyPassReverse;
  25634.     }
  25635.    
  25636.     private Boolean isRESTServices_consegnaContenutiApplicativi_proxyPassReverse = null;
  25637.     public boolean isRESTServices_consegnaContenutiApplicativi_proxyPassReverse() {
  25638.         if(this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse==null){
  25639.             try{
  25640.                 String name = null;
  25641.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.proxyPassReverse");
  25642.                 if(name==null){
  25643.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.proxyPassReverse' non impostata, viene utilizzato il default=false");
  25644.                     name="false";
  25645.                 }
  25646.                 name = name.trim();
  25647.                 this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse = Boolean.parseBoolean(name);
  25648.             } catch(java.lang.Exception e) {
  25649.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.proxyPassReverse': "+e.getMessage(),e);
  25650.                 this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse = false;
  25651.             }    
  25652.         }

  25653.         return this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse;
  25654.     }
  25655.        
  25656.     private List<String> getRESTServices_inoltroBuste_proxyPassReverse_headers = null;
  25657.     public List<String> getRESTServices_inoltroBuste_proxyPassReverse_headers() throws CoreException {  
  25658.         if(this.getRESTServices_inoltroBuste_proxyPassReverse_headers==null){
  25659.             try{
  25660.                 this.getRESTServices_inoltroBuste_proxyPassReverse_headers = new ArrayList<>();
  25661.                
  25662.                 String name = null;
  25663.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.connettori.inoltroBuste.proxyPassReverse.headers");
  25664.                 if(name!=null){
  25665.                     name = name.trim();
  25666.                 }
  25667.                 if(name!=null && !"".equals(name)) {
  25668.                     if(name.contains(",")) {
  25669.                         String [] tmp = name.split(",");
  25670.                         for (int i = 0; i < tmp.length; i++) {
  25671.                             this.getRESTServices_inoltroBuste_proxyPassReverse_headers.add(tmp[i].trim());
  25672.                         }
  25673.                     }
  25674.                     else {
  25675.                         this.getRESTServices_inoltroBuste_proxyPassReverse_headers.add(name);
  25676.                     }
  25677.                 }
  25678.             } catch(java.lang.Exception e) {
  25679.                 String error = "Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.connettori.inoltroBuste.proxyPassReverse.headers': "+e.getMessage();
  25680.                 this.logError(error,e);
  25681.                 throw new CoreException(error);
  25682.             }    
  25683.         }

  25684.         return this.getRESTServices_inoltroBuste_proxyPassReverse_headers;
  25685.     }
  25686.    
  25687.     private List<String> getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_headers = null;
  25688.     public List<String> getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_headers() throws CoreException {  
  25689.         if(this.getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_headers==null){
  25690.             try{
  25691.                 this.getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_headers = new ArrayList<>();
  25692.                
  25693.                 String name = null;
  25694.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.proxyPassReverse.headers");
  25695.                 if(name!=null){
  25696.                     name = name.trim();
  25697.                 }
  25698.                 if(name!=null && !"".equals(name)) {
  25699.                     if(name.contains(",")) {
  25700.                         String [] tmp = name.split(",");
  25701.                         for (int i = 0; i < tmp.length; i++) {
  25702.                             this.getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_headers.add(tmp[i].trim());
  25703.                         }
  25704.                     }
  25705.                     else {
  25706.                         this.getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_headers.add(name);
  25707.                     }
  25708.                 }
  25709.             } catch(java.lang.Exception e) {
  25710.                 String error = "Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.proxyPassReverse.headers': "+e.getMessage();
  25711.                 this.logError(error,e);
  25712.                 throw new CoreException(error);
  25713.             }    
  25714.         }

  25715.         return this.getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_headers;
  25716.     }
  25717.    
  25718.     // Set-Cookie
  25719.    
  25720.     private Boolean isRESTServices_inoltroBuste_proxyPassReverse_setCookie = null;
  25721.     public boolean isRESTServices_inoltroBuste_proxyPassReverse_setCookie() {  
  25722.         if(this.isRESTServices_inoltroBuste_proxyPassReverse_setCookie==null){
  25723.             String pName = "org.openspcoop2.pdd.rest.connettori.inoltroBuste.proxyPassReverse.setCookie";
  25724.             try{
  25725.                 String name = null;
  25726.                 name = this.reader.getValueConvertEnvProperties(pName);
  25727.                 if(name==null){
  25728.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  25729.                     name="false";
  25730.                 }
  25731.                 name = name.trim();
  25732.                 this.isRESTServices_inoltroBuste_proxyPassReverse_setCookie = Boolean.parseBoolean(name);
  25733.             } catch(java.lang.Exception e) {
  25734.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  25735.                 this.isRESTServices_inoltroBuste_proxyPassReverse_setCookie = false;
  25736.             }    
  25737.         }

  25738.         return this.isRESTServices_inoltroBuste_proxyPassReverse_setCookie;
  25739.     }
  25740.    
  25741.     private Boolean isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie = null;
  25742.     public boolean isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie() {  
  25743.         if(this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie==null){
  25744.             String pName = "org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.proxyPassReverse.setCookie";
  25745.             try{
  25746.                 String name = null;
  25747.                 name = this.reader.getValueConvertEnvProperties(pName);
  25748.                 if(name==null){
  25749.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  25750.                     name="false";
  25751.                 }
  25752.                 name = name.trim();
  25753.                 this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie = Boolean.parseBoolean(name);
  25754.             } catch(java.lang.Exception e) {
  25755.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  25756.                 this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie = false;
  25757.             }    
  25758.         }

  25759.         return this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie;
  25760.     }
  25761.    
  25762.     private Boolean isRESTServices_inoltroBuste_proxyPassReverse_setCookie_path = null;
  25763.     public boolean isRESTServices_inoltroBuste_proxyPassReverse_setCookie_path() {  
  25764.         if(this.isRESTServices_inoltroBuste_proxyPassReverse_setCookie_path==null){
  25765.             String pName = "org.openspcoop2.pdd.rest.connettori.inoltroBuste.proxyPassReverse.setCookie.path";
  25766.             try{
  25767.                 String name = null;
  25768.                 name = this.reader.getValueConvertEnvProperties(pName);
  25769.                 if(name==null){
  25770.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isRESTServices_inoltroBuste_proxyPassReverse_setCookie()));
  25771.                     name=""+isRESTServices_inoltroBuste_proxyPassReverse_setCookie();
  25772.                 }
  25773.                 name = name.trim();
  25774.                 this.isRESTServices_inoltroBuste_proxyPassReverse_setCookie_path = Boolean.parseBoolean(name);
  25775.             } catch(java.lang.Exception e) {
  25776.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  25777.                 this.isRESTServices_inoltroBuste_proxyPassReverse_setCookie_path = isRESTServices_inoltroBuste_proxyPassReverse_setCookie();
  25778.             }    
  25779.         }

  25780.         return this.isRESTServices_inoltroBuste_proxyPassReverse_setCookie_path;
  25781.     }
  25782.    
  25783.     private Boolean isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_path = null;
  25784.     public boolean isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_path() {  
  25785.         if(this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_path==null){
  25786.             String pName = "org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.proxyPassReverse.setCookie.path";
  25787.             try{
  25788.                 String name = null;
  25789.                 name = this.reader.getValueConvertEnvProperties(pName);
  25790.                 if(name==null){
  25791.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie()));
  25792.                     name=""+isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie();
  25793.                 }
  25794.                 name = name.trim();
  25795.                 this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_path = Boolean.parseBoolean(name);
  25796.             } catch(java.lang.Exception e) {
  25797.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  25798.                 this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_path = isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie();
  25799.             }    
  25800.         }

  25801.         return this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_path;
  25802.     }
  25803.    
  25804.     private Boolean isRESTServices_inoltroBuste_proxyPassReverse_setCookie_domain = null;
  25805.     public boolean isRESTServices_inoltroBuste_proxyPassReverse_setCookie_domain() {    
  25806.         if(this.isRESTServices_inoltroBuste_proxyPassReverse_setCookie_domain==null){
  25807.             String pName = "org.openspcoop2.pdd.rest.connettori.inoltroBuste.proxyPassReverse.setCookie.domain";
  25808.             try{
  25809.                 String name = null;
  25810.                 name = this.reader.getValueConvertEnvProperties(pName);
  25811.                 if(name==null){
  25812.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isRESTServices_inoltroBuste_proxyPassReverse_setCookie()));
  25813.                     name=""+isRESTServices_inoltroBuste_proxyPassReverse_setCookie();
  25814.                 }
  25815.                 name = name.trim();
  25816.                 this.isRESTServices_inoltroBuste_proxyPassReverse_setCookie_domain = Boolean.parseBoolean(name);
  25817.             } catch(java.lang.Exception e) {
  25818.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  25819.                 this.isRESTServices_inoltroBuste_proxyPassReverse_setCookie_domain = isRESTServices_inoltroBuste_proxyPassReverse_setCookie();
  25820.             }    
  25821.         }

  25822.         return this.isRESTServices_inoltroBuste_proxyPassReverse_setCookie_domain;
  25823.     }
  25824.    
  25825.     private Boolean isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_domain = null;
  25826.     public boolean isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_domain() {    
  25827.         if(this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_domain==null){
  25828.             String pName = "org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.proxyPassReverse.setCookie.domain";
  25829.             try{
  25830.                 String name = null;
  25831.                 name = this.reader.getValueConvertEnvProperties(pName);
  25832.                 if(name==null){
  25833.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie()));
  25834.                     name=""+isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie();
  25835.                 }
  25836.                 name = name.trim();
  25837.                 this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_domain = Boolean.parseBoolean(name);
  25838.             } catch(java.lang.Exception e) {
  25839.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  25840.                 this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_domain = isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie();
  25841.             }    
  25842.         }

  25843.         return this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_domain;
  25844.     }
  25845.    
  25846.     private List<String> getRESTServices_inoltroBuste_proxyPassReverse_setCookie_headers = null;
  25847.     public List<String> getRESTServices_inoltroBuste_proxyPassReverse_setCookie_headers() throws CoreException {    
  25848.         if(this.getRESTServices_inoltroBuste_proxyPassReverse_setCookie_headers==null){
  25849.             try{
  25850.                 this.getRESTServices_inoltroBuste_proxyPassReverse_setCookie_headers = new ArrayList<>();
  25851.                
  25852.                 String name = null;
  25853.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.connettori.inoltroBuste.proxyPassReverse.setCookie.headers");
  25854.                 if(name!=null){
  25855.                     name = name.trim();
  25856.                 }
  25857.                 if(name!=null && !"".equals(name)) {
  25858.                     if(name.contains(",")) {
  25859.                         String [] tmp = name.split(",");
  25860.                         for (int i = 0; i < tmp.length; i++) {
  25861.                             this.getRESTServices_inoltroBuste_proxyPassReverse_setCookie_headers.add(tmp[i].trim());
  25862.                         }
  25863.                     }
  25864.                     else {
  25865.                         this.getRESTServices_inoltroBuste_proxyPassReverse_setCookie_headers.add(name);
  25866.                     }
  25867.                 }
  25868.             } catch(java.lang.Exception e) {
  25869.                 String error = "Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.connettori.inoltroBuste.proxyPassReverse.setCookie.headers': "+e.getMessage();
  25870.                 this.logError(error,e);
  25871.                 throw new CoreException(error);
  25872.             }    
  25873.         }

  25874.         return this.getRESTServices_inoltroBuste_proxyPassReverse_setCookie_headers;
  25875.     }
  25876.    
  25877.     private List<String> getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers = null;
  25878.     public List<String> getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers() throws CoreException {    
  25879.         if(this.getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers==null){
  25880.             try{
  25881.                 this.getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers = new ArrayList<>();
  25882.                
  25883.                 String name = null;
  25884.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.proxyPassReverse.setCookie.headers");
  25885.                 if(name!=null){
  25886.                     name = name.trim();
  25887.                 }
  25888.                 if(name!=null && !"".equals(name)) {
  25889.                     if(name.contains(",")) {
  25890.                         String [] tmp = name.split(",");
  25891.                         for (int i = 0; i < tmp.length; i++) {
  25892.                             this.getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers.add(tmp[i].trim());
  25893.                         }
  25894.                     }
  25895.                     else {
  25896.                         this.getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers.add(name);
  25897.                     }
  25898.                 }
  25899.             } catch(java.lang.Exception e) {
  25900.                 String error = "Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.proxyPassReverse.setCookie.headers': "+e.getMessage();
  25901.                 this.logError(error,e);
  25902.                 throw new CoreException(error);
  25903.             }    
  25904.         }

  25905.         return this.getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers;
  25906.     }
  25907.    
  25908.     // useProtocolPrefix
  25909.    
  25910.     private Boolean isRESTServices_inoltroBuste_proxyPassReverse_useProtocolPrefix = null;
  25911.     public boolean isRESTServices_inoltroBuste_proxyPassReverse_useProtocolPrefix() {  
  25912.         if(this.isRESTServices_inoltroBuste_proxyPassReverse_useProtocolPrefix==null){
  25913.             try{
  25914.                 String name = null;
  25915.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.connettori.inoltroBuste.proxyPassReverse.useProtocolPrefix");
  25916.                 if(name==null){
  25917.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.rest.connettori.inoltroBuste.proxyPassReverse.useProtocolPrefix' non impostata, viene utilizzato il default=false");
  25918.                     name="false";
  25919.                 }
  25920.                 name = name.trim();
  25921.                 this.isRESTServices_inoltroBuste_proxyPassReverse_useProtocolPrefix = Boolean.parseBoolean(name);
  25922.             } catch(java.lang.Exception e) {
  25923.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.connettori.inoltroBuste.proxyPassReverse.useProtocolPrefix': "+e.getMessage(),e);
  25924.                 this.isRESTServices_inoltroBuste_proxyPassReverse_useProtocolPrefix = false;
  25925.             }    
  25926.         }

  25927.         return this.isRESTServices_inoltroBuste_proxyPassReverse_useProtocolPrefix;
  25928.     }
  25929.    
  25930.     private Boolean isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_useProtocolPrefix = null;
  25931.     public boolean isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_useProtocolPrefix() {  
  25932.         if(this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_useProtocolPrefix==null){
  25933.             try{
  25934.                 String name = null;
  25935.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.proxyPassReverse.useProtocolPrefix");
  25936.                 if(name==null){
  25937.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.proxyPassReverse.useProtocolPrefix' non impostata, viene utilizzato il default=false");
  25938.                     name="false";
  25939.                 }
  25940.                 name = name.trim();
  25941.                 this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_useProtocolPrefix = Boolean.parseBoolean(name);
  25942.             } catch(java.lang.Exception e) {
  25943.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.proxyPassReverse.useProtocolPrefix': "+e.getMessage(),e);
  25944.                 this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_useProtocolPrefix = false;
  25945.             }    
  25946.         }

  25947.         return this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_useProtocolPrefix;
  25948.     }
  25949.    

  25950.     private Boolean isRESTServices_inoltroBuste_response_securityHeaders = null;
  25951.     public boolean isRESTServices_inoltroBuste_response_securityHeaders() {
  25952.         if(this.isRESTServices_inoltroBuste_response_securityHeaders==null){
  25953.             String pName = "org.openspcoop2.pdd.rest.connettori.inoltroBuste.response.securityHeaders";
  25954.             try{
  25955.                 String name = null;
  25956.                 name = this.reader.getValueConvertEnvProperties(pName);
  25957.                 if(name==null){
  25958.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  25959.                     name="true";
  25960.                 }
  25961.                 name = name.trim();
  25962.                 this.isRESTServices_inoltroBuste_response_securityHeaders = Boolean.parseBoolean(name);
  25963.             } catch(java.lang.Exception e) {
  25964.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  25965.                 this.isRESTServices_inoltroBuste_response_securityHeaders = true;
  25966.             }    
  25967.         }
  25968.    
  25969.         return this.isRESTServices_inoltroBuste_response_securityHeaders;
  25970.     }

  25971.     private Properties getRESTServices_inoltroBuste_response_securityHeaders = null;
  25972.     public Properties getRESTServices_inoltroBuste_response_securityHeaders() throws CoreException {    
  25973.         if(this.getRESTServices_inoltroBuste_response_securityHeaders==null){
  25974.             String pName = "org.openspcoop2.pdd.rest.connettori.inoltroBuste.response.securityHeaders.";
  25975.             try{
  25976.                 this.getRESTServices_inoltroBuste_response_securityHeaders = this.reader.readPropertiesConvertEnvProperties(pName);
  25977.             } catch(java.lang.Exception e) {
  25978.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"*': "+e.getMessage(),e);
  25979.                 throw new CoreException(e.getMessage(),e);
  25980.             }    
  25981.         }
  25982.    
  25983.         return this.getRESTServices_inoltroBuste_response_securityHeaders;
  25984.     }
  25985.    
  25986.     private Boolean isRESTServices_consegnaContenutiApplicativi_response_securityHeaders = null;
  25987.     public boolean isRESTServices_consegnaContenutiApplicativi_response_securityHeaders() {
  25988.         if(this.isRESTServices_consegnaContenutiApplicativi_response_securityHeaders==null){
  25989.             String pName = "org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.response.securityHeaders";
  25990.             try{
  25991.                 String name = null;
  25992.                 name = this.reader.getValueConvertEnvProperties(pName);
  25993.                 if(name==null){
  25994.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  25995.                     name="true";
  25996.                 }
  25997.                 name = name.trim();
  25998.                 this.isRESTServices_consegnaContenutiApplicativi_response_securityHeaders = Boolean.parseBoolean(name);
  25999.             } catch(java.lang.Exception e) {
  26000.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  26001.                 this.isRESTServices_consegnaContenutiApplicativi_response_securityHeaders = true;
  26002.             }    
  26003.         }
  26004.    
  26005.         return this.isRESTServices_consegnaContenutiApplicativi_response_securityHeaders;
  26006.     }
  26007.    
  26008.     private Properties getRESTServices_consegnaContenutiApplicativi_response_securityHeaders = null;
  26009.     public Properties getRESTServices_consegnaContenutiApplicativi_response_securityHeaders() throws CoreException {    
  26010.         if(this.getRESTServices_consegnaContenutiApplicativi_response_securityHeaders==null){
  26011.             String pName = "org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.response.securityHeaders.";
  26012.             try{
  26013.                 this.getRESTServices_consegnaContenutiApplicativi_response_securityHeaders = this.reader.readPropertiesConvertEnvProperties(pName);
  26014.             } catch(java.lang.Exception e) {
  26015.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"*': "+e.getMessage(),e);
  26016.                 throw new CoreException(e.getMessage(),e);
  26017.             }    
  26018.         }
  26019.    
  26020.         return this.getRESTServices_consegnaContenutiApplicativi_response_securityHeaders;
  26021.     }

  26022.    
  26023.    
  26024.     /* ------------- Transazioni ---------------------*/
  26025.    
  26026.     private Boolean isTransazioniEnabled = null;
  26027.     public boolean isTransazioniEnabled() {
  26028.         if(this.isTransazioniEnabled==null){
  26029.             try{
  26030.                 String name = null;
  26031.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.enabled");
  26032.                 if(name==null){
  26033.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.enabled' non impostata, viene utilizzato il default=true");
  26034.                     name="true";
  26035.                 }
  26036.                 name = name.trim();
  26037.                 this.isTransazioniEnabled = Boolean.parseBoolean(name);
  26038.             } catch(java.lang.Exception e) {
  26039.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.enabled', viene utilizzato il default=true : "+e.getMessage(),e);
  26040.                 this.isTransazioniEnabled = true;
  26041.             }    
  26042.         }

  26043.         return this.isTransazioniEnabled;
  26044.     }  
  26045.    
  26046.     private Boolean isTransazioniDebug = null;
  26047.     public boolean isTransazioniDebug() {  
  26048.         if(this.isTransazioniDebug==null){
  26049.             try{
  26050.                 String name = null;
  26051.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.debug");
  26052.                 if(name==null){
  26053.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.debug' non impostata, viene utilizzato il default=true");
  26054.                     name="true";
  26055.                 }
  26056.                 name = name.trim();
  26057.                 this.isTransazioniDebug = Boolean.parseBoolean(name);
  26058.             } catch(java.lang.Exception e) {
  26059.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.debug', viene utilizzato il default=true : "+e.getMessage(),e);
  26060.                 this.isTransazioniDebug = true;
  26061.             }    
  26062.         }

  26063.         return this.isTransazioniDebug;
  26064.     }  
  26065.    
  26066.     private Boolean isTransazioniUsePddRuntimeDatasource = null;
  26067.     public boolean isTransazioniUsePddRuntimeDatasource() {
  26068.         if(this.isTransazioniUsePddRuntimeDatasource==null){
  26069.             try{
  26070.                 String name = null;
  26071.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.dataSource.usePddRuntime");
  26072.                 if(name==null){
  26073.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.dataSource.usePddRuntime' non impostata, viene utilizzato il default=true");
  26074.                     name="true";
  26075.                 }
  26076.                 name = name.trim();
  26077.                 this.isTransazioniUsePddRuntimeDatasource = Boolean.parseBoolean(name);
  26078.             } catch(java.lang.Exception e) {
  26079.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.dataSource.usePddRuntime', viene utilizzato il default=true : "+e.getMessage(),e);
  26080.                 this.isTransazioniUsePddRuntimeDatasource = true;
  26081.             }    
  26082.         }

  26083.         return this.isTransazioniUsePddRuntimeDatasource;
  26084.     }
  26085.    
  26086.     private String getTransazioniDatasource = null;
  26087.     public String getTransazioniDatasource() throws CoreException {
  26088.         if(this.getTransazioniDatasource==null){
  26089.             try{
  26090.                 String name = null;
  26091.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.dataSource");
  26092.                 if(name==null){
  26093.                     throw new CoreException("Proprieta' non impostata");
  26094.                 }
  26095.                 name = name.trim();
  26096.                 this.getTransazioniDatasource = name;
  26097.             } catch(java.lang.Exception e) {
  26098.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.dataSource': "+e.getMessage(),e);
  26099.                 throw new CoreException(e.getMessage(),e);
  26100.             }    
  26101.         }

  26102.         return this.getTransazioniDatasource;
  26103.     }
  26104.    
  26105.     private Properties getTransazioniDatasourceJndiContext = null;
  26106.     public Properties getTransazioniDatasourceJndiContext() throws CoreException {  
  26107.         if(this.getTransazioniDatasourceJndiContext==null){
  26108.             try{
  26109.                 this.getTransazioniDatasourceJndiContext = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.transazioni.dataSource.property.");
  26110.             } catch(java.lang.Exception e) {
  26111.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.dataSource.property.*': "+e.getMessage(),e);
  26112.                 throw new CoreException(e.getMessage(),e);
  26113.             }    
  26114.         }

  26115.         return this.getTransazioniDatasourceJndiContext;
  26116.     }
  26117.    
  26118.     private Boolean isTransazioniDatasourceUseDBUtils = null;
  26119.     public boolean isTransazioniDatasourceUseDBUtils() {    
  26120.         if(this.isTransazioniDatasourceUseDBUtils==null){
  26121.             try{
  26122.                 String name = null;
  26123.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.datasource.useDSUtils");
  26124.                 if(name==null){
  26125.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.datasource.useDSUtils' non impostata, viene utilizzato il default=true");
  26126.                     name="true";
  26127.                 }
  26128.                 name = name.trim();
  26129.                 this.isTransazioniDatasourceUseDBUtils = Boolean.parseBoolean(name);
  26130.             } catch(java.lang.Exception e) {
  26131.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.datasource.useDSUtils', viene utilizzato il default=true : "+e.getMessage(),e);
  26132.                 this.isTransazioniDatasourceUseDBUtils = true;
  26133.             }    
  26134.         }

  26135.         return this.isTransazioniDatasourceUseDBUtils;
  26136.     }
  26137.    
  26138.     private Boolean isTransazioniSaveTracceInUniqueTransaction = null;
  26139.     public boolean isTransazioniSaveTracceInUniqueTransaction() {  
  26140.         if(this.isTransazioniSaveTracceInUniqueTransaction==null){
  26141.             try{
  26142.                 String name = null;
  26143.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.tracce.enabled");
  26144.                 if(name==null){
  26145.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.tracce.enabled' non impostata, viene utilizzato il default=true");
  26146.                     name="true";
  26147.                 }
  26148.                 name = name.trim();
  26149.                 this.isTransazioniSaveTracceInUniqueTransaction = Boolean.parseBoolean(name);
  26150.             } catch(java.lang.Exception e) {
  26151.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.tracce.enabled', viene utilizzato il default=true : "+e.getMessage(),e);
  26152.                 this.isTransazioniSaveTracceInUniqueTransaction = true;
  26153.             }    
  26154.         }

  26155.         return this.isTransazioniSaveTracceInUniqueTransaction;
  26156.     }
  26157.    
  26158.     private Boolean isTransazioniSaveDiagnosticiInUniqueTransaction = null;
  26159.     public boolean isTransazioniSaveDiagnosticiInUniqueTransaction() {  
  26160.         if(this.isTransazioniSaveDiagnosticiInUniqueTransaction==null){
  26161.             try{
  26162.                 String name = null;
  26163.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.diagnostici.enabled");
  26164.                 if(name==null){
  26165.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.diagnostici.enabled' non impostata, viene utilizzato il default=true");
  26166.                     name="true";
  26167.                 }
  26168.                 name = name.trim();
  26169.                 this.isTransazioniSaveDiagnosticiInUniqueTransaction = Boolean.parseBoolean(name);
  26170.             } catch(java.lang.Exception e) {
  26171.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.diagnostici.enabled', viene utilizzato il default=true : "+e.getMessage(),e);
  26172.                 this.isTransazioniSaveDiagnosticiInUniqueTransaction = true;
  26173.             }    
  26174.         }

  26175.         return this.isTransazioniSaveDiagnosticiInUniqueTransaction;
  26176.     }
  26177.    
  26178.     private Boolean isTransazioniSaveDumpInUniqueTransaction = null;
  26179.     public boolean isTransazioniSaveDumpInUniqueTransaction() {
  26180.         if(this.isTransazioniSaveDumpInUniqueTransaction==null){
  26181.             try{
  26182.                 String name = null;
  26183.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.dump.enabled");
  26184.                 if(name==null){
  26185.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.dump.enabled' non impostata, viene utilizzato il default=true");
  26186.                     name="true";
  26187.                 }
  26188.                 name = name.trim();
  26189.                 this.isTransazioniSaveDumpInUniqueTransaction = Boolean.parseBoolean(name);
  26190.             } catch(java.lang.Exception e) {
  26191.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.dump.enabled', viene utilizzato il default=true : "+e.getMessage(),e);
  26192.                 this.isTransazioniSaveDumpInUniqueTransaction = true;
  26193.             }    
  26194.         }

  26195.         return this.isTransazioniSaveDumpInUniqueTransaction;
  26196.     }
  26197.    
  26198.     private Boolean isTransazioniValorizzaDataIngressoConDataAccettazione = null;
  26199.     public boolean isTransazioniValorizzaDataIngressoConDataAccettazione() {    
  26200.         String pName = "org.openspcoop2.pdd.transazioni.dataIngresso.valorizzaConDataAccettazione";
  26201.         if(this.isTransazioniValorizzaDataIngressoConDataAccettazione==null){
  26202.             try{
  26203.                 String name = null;
  26204.                 name = this.reader.getValueConvertEnvProperties(pName);
  26205.                 if(name==null){
  26206.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  26207.                     name="true";
  26208.                 }
  26209.                 name = name.trim();
  26210.                 this.isTransazioniValorizzaDataIngressoConDataAccettazione = Boolean.parseBoolean(name);
  26211.             } catch(java.lang.Exception e) {
  26212.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  26213.                 this.isTransazioniValorizzaDataIngressoConDataAccettazione = true;
  26214.             }    
  26215.         }

  26216.         return this.isTransazioniValorizzaDataIngressoConDataAccettazione;
  26217.     }
  26218.    
  26219.     private Boolean isTransazioniValorizzaDataUscitaRispostaUseDateAfterResponseSent = null;
  26220.     public boolean isTransazioniValorizzaDataUscitaRispostaUseDateAfterResponseSent() {
  26221.         String pName = "org.openspcoop2.pdd.transazioni.dataUscitaRisposta.useDateAfterResponseSent";
  26222.         if(this.isTransazioniValorizzaDataUscitaRispostaUseDateAfterResponseSent==null){
  26223.             try{
  26224.                 String name = null;
  26225.                 name = this.reader.getValueConvertEnvProperties(pName);
  26226.                 if(name==null){
  26227.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  26228.                     name="true";
  26229.                 }
  26230.                 name = name.trim();
  26231.                 this.isTransazioniValorizzaDataUscitaRispostaUseDateAfterResponseSent = Boolean.parseBoolean(name);
  26232.             } catch(java.lang.Exception e) {
  26233.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  26234.                 this.isTransazioniValorizzaDataUscitaRispostaUseDateAfterResponseSent = true;
  26235.             }    
  26236.         }

  26237.         return this.isTransazioniValorizzaDataUscitaRispostaUseDateAfterResponseSent;
  26238.     }
  26239.    
  26240.     private Boolean isTransazioniFaultPrettyPrint = null;
  26241.     public boolean isTransazioniFaultPrettyPrint() {    
  26242.         if(this.isTransazioniFaultPrettyPrint==null){
  26243.             try{
  26244.                 String name = null;
  26245.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.fault.prettyPrint");
  26246.                 if(name==null){
  26247.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.fault.prettyPrint' non impostata, viene utilizzato il default=false");
  26248.                     name="false";
  26249.                 }
  26250.                 name = name.trim();
  26251.                 this.isTransazioniFaultPrettyPrint = Boolean.parseBoolean(name);
  26252.             } catch(java.lang.Exception e) {
  26253.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.fault.prettyPrint', viene utilizzato il default=false : "+e.getMessage(),e);
  26254.                 this.isTransazioniFaultPrettyPrint = false;
  26255.             }    
  26256.         }

  26257.         return this.isTransazioniFaultPrettyPrint;
  26258.     }
  26259.    
  26260.     private Boolean isTransazioniHttpStatusAsEvent_inResponseCode = null;
  26261.     public boolean isTransazioniHttpStatusAsEvent_inResponseCode() {    
  26262.         if(this.isTransazioniHttpStatusAsEvent_inResponseCode==null){
  26263.             String pName = "org.openspcoop2.pdd.transazioni.httpStatusAsEvent.inResponseCode";
  26264.             try{
  26265.                 String name = null;
  26266.                 name = this.reader.getValueConvertEnvProperties(pName);
  26267.                 if(name==null){
  26268.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  26269.                     name="false";
  26270.                 }
  26271.                 name = name.trim();
  26272.                 this.isTransazioniHttpStatusAsEvent_inResponseCode = Boolean.parseBoolean(name);
  26273.             } catch(java.lang.Exception e) {
  26274.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  26275.                 this.isTransazioniHttpStatusAsEvent_inResponseCode = false;
  26276.             }    
  26277.         }

  26278.         return this.isTransazioniHttpStatusAsEvent_inResponseCode;
  26279.     }
  26280.     private Boolean isTransazioniHttpStatusAsEvent_outResponseCode = null;
  26281.     public boolean isTransazioniHttpStatusAsEvent_outResponseCode() {  
  26282.         if(this.isTransazioniHttpStatusAsEvent_outResponseCode==null){
  26283.             String pName = "org.openspcoop2.pdd.transazioni.httpStatusAsEvent.outResponseCode";
  26284.             try{
  26285.                 String name = null;
  26286.                 name = this.reader.getValueConvertEnvProperties(pName);
  26287.                 if(name==null){
  26288.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  26289.                     name="false";
  26290.                 }
  26291.                 name = name.trim();
  26292.                 this.isTransazioniHttpStatusAsEvent_outResponseCode = Boolean.parseBoolean(name);
  26293.             } catch(java.lang.Exception e) {
  26294.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  26295.                 this.isTransazioniHttpStatusAsEvent_outResponseCode = false;
  26296.             }    
  26297.         }

  26298.         return this.isTransazioniHttpStatusAsEvent_outResponseCode;
  26299.     }
  26300.    
  26301.     private Boolean isTransazioniTipoApiAsEvent = null;
  26302.     public boolean isTransazioniTipoApiAsEvent() {  
  26303.         if(this.isTransazioniTipoApiAsEvent==null){
  26304.             String pName = "org.openspcoop2.pdd.transazioni.tipoApiAsEvent";
  26305.             try{
  26306.                 String name = null;
  26307.                 name = this.reader.getValueConvertEnvProperties(pName);
  26308.                 if(name==null){
  26309.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  26310.                     name="false";
  26311.                 }
  26312.                 name = name.trim();
  26313.                 this.isTransazioniTipoApiAsEvent = Boolean.parseBoolean(name);
  26314.             } catch(java.lang.Exception e) {
  26315.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  26316.                 this.isTransazioniTipoApiAsEvent = false;
  26317.             }    
  26318.         }

  26319.         return this.isTransazioniTipoApiAsEvent;
  26320.     }
  26321.    
  26322.     private Boolean isTransazioniConnettoriMultipliAsEvent = null;
  26323.     public boolean isTransazioniConnettoriMultipliAsEvent() {  
  26324.         if(this.isTransazioniConnettoriMultipliAsEvent==null){
  26325.             String pName = "org.openspcoop2.pdd.transazioni.connettoriMultipliAsEvent";
  26326.             try{
  26327.                 String name = null;
  26328.                 name = this.reader.getValueConvertEnvProperties(pName);
  26329.                 if(name==null){
  26330.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  26331.                     name="false";
  26332.                 }
  26333.                 name = name.trim();
  26334.                 this.isTransazioniConnettoriMultipliAsEvent = Boolean.parseBoolean(name);
  26335.             } catch(java.lang.Exception e) {
  26336.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  26337.                 this.isTransazioniConnettoriMultipliAsEvent = false;
  26338.             }    
  26339.         }

  26340.         return this.isTransazioniConnettoriMultipliAsEvent;
  26341.     }
  26342.    
  26343.     private Boolean isTransazioniUpdateUseDayInterval = null;
  26344.     public boolean isTransazioniUpdateUseDayInterval() {    
  26345.         if(this.isTransazioniUpdateUseDayInterval==null){
  26346.             String pName = "org.openspcoop2.pdd.transazioni.update.useDayInterval";
  26347.             try{
  26348.                 String name = null;
  26349.                 name = this.reader.getValueConvertEnvProperties(pName);
  26350.                 if(name==null){
  26351.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  26352.                     name="true";
  26353.                 }
  26354.                 name = name.trim();
  26355.                 this.isTransazioniUpdateUseDayInterval = Boolean.parseBoolean(name);
  26356.             } catch(java.lang.Exception e) {
  26357.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  26358.                 this.isTransazioniUpdateUseDayInterval = true;
  26359.             }    
  26360.         }

  26361.         return this.isTransazioniUpdateUseDayInterval;
  26362.     }
  26363.    
  26364.     private Boolean isTransazioniRegistrazioneSlowLog = null;
  26365.     public boolean isTransazioniRegistrazioneSlowLog() {    
  26366.         if(this.isTransazioniRegistrazioneSlowLog==null){
  26367.             String pName = "org.openspcoop2.pdd.transazioni.slowLog.enabled";
  26368.             try{
  26369.                 String name = null;
  26370.                 name = this.reader.getValueConvertEnvProperties(pName);
  26371.                 if(name==null){
  26372.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  26373.                     name="false";
  26374.                 }
  26375.                 name = name.trim();
  26376.                 this.isTransazioniRegistrazioneSlowLog = Boolean.parseBoolean(name);
  26377.             } catch(java.lang.Exception e) {
  26378.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  26379.                 this.isTransazioniRegistrazioneSlowLog = false;
  26380.             }    
  26381.         }

  26382.         return this.isTransazioniRegistrazioneSlowLog;
  26383.     }
  26384.    
  26385.     private Integer getTransazioniRegistrazioneSlowLogThresholdMs = null;
  26386.     private final int getTransazioniRegistrazioneSlowLogThresholdMs_default = 1000;
  26387.     public int getTransazioniRegistrazioneSlowLogThresholdMs() {    
  26388.         if(this.getTransazioniRegistrazioneSlowLogThresholdMs==null){
  26389.             String pName = "org.openspcoop2.pdd.transazioni.slowLog.thresholdMs";
  26390.             try{
  26391.                 String name = null;
  26392.                 name = this.reader.getValueConvertEnvProperties(pName);
  26393.                 if(name==null){
  26394.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,this.getTransazioniRegistrazioneSlowLogThresholdMs_default));
  26395.                     name=""+this.getTransazioniRegistrazioneSlowLogThresholdMs_default;
  26396.                 }
  26397.                 name = name.trim();
  26398.                 this.getTransazioniRegistrazioneSlowLogThresholdMs = Integer.valueOf(name);
  26399.             } catch(java.lang.Exception e) {
  26400.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+this.getTransazioniRegistrazioneSlowLogThresholdMs_default+" : "+e.getMessage(),e);
  26401.                 this.getTransazioniRegistrazioneSlowLogThresholdMs = this.getTransazioniRegistrazioneSlowLogThresholdMs_default;
  26402.             }    
  26403.         }

  26404.         return this.getTransazioniRegistrazioneSlowLogThresholdMs;
  26405.     }
  26406.    
  26407.     private Boolean isTransazioniRegistrazioneSlowLogBuildTransactionDetails = null;
  26408.     public boolean isTransazioniRegistrazioneSlowLogBuildTransactionDetails() {
  26409.         if(this.isTransazioniRegistrazioneSlowLogBuildTransactionDetails==null){
  26410.             String pName = "org.openspcoop2.pdd.transazioni.slowLog.buildTransactionDetails.enabled";
  26411.             try{
  26412.                 String name = null;
  26413.                 name = this.reader.getValueConvertEnvProperties(pName);
  26414.                 if(name==null){
  26415.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  26416.                     name="false";
  26417.                 }
  26418.                 name = name.trim();
  26419.                 this.isTransazioniRegistrazioneSlowLogBuildTransactionDetails = Boolean.parseBoolean(name);
  26420.             } catch(java.lang.Exception e) {
  26421.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  26422.                 this.isTransazioniRegistrazioneSlowLogBuildTransactionDetails = false;
  26423.             }    
  26424.         }

  26425.         return this.isTransazioniRegistrazioneSlowLogBuildTransactionDetails;
  26426.     }
  26427.    
  26428.     private Boolean isTransazioniRegistrazioneSlowLogRateLimitingDetails = null;
  26429.     public boolean isTransazioniRegistrazioneSlowLogRateLimitingDetails() {
  26430.         if(this.isTransazioniRegistrazioneSlowLogRateLimitingDetails==null){
  26431.             String pName = "org.openspcoop2.pdd.transazioni.slowLog.rateLimitingDetails.enabled";
  26432.             try{
  26433.                 String name = null;
  26434.                 name = this.reader.getValueConvertEnvProperties(pName);
  26435.                 if(name==null){
  26436.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  26437.                     name="false";
  26438.                 }
  26439.                 name = name.trim();
  26440.                 this.isTransazioniRegistrazioneSlowLogRateLimitingDetails = Boolean.parseBoolean(name);
  26441.             } catch(java.lang.Exception e) {
  26442.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  26443.                 this.isTransazioniRegistrazioneSlowLogRateLimitingDetails = false;
  26444.             }    
  26445.         }

  26446.         return this.isTransazioniRegistrazioneSlowLogRateLimitingDetails;
  26447.     }
  26448.    
  26449.     private Boolean isTransazioniRegistrazioneSlowLogConnettoriMultipliProcessTransactionSADetails = null;
  26450.     public boolean isTransazioniRegistrazioneSlowLogConnettoriMultipliProcessTransactionSADetails() {  
  26451.         if(this.isTransazioniRegistrazioneSlowLogConnettoriMultipliProcessTransactionSADetails==null){
  26452.             String pName = "org.openspcoop2.pdd.transazioni.slowLog.connettoriMultipli.processTransactionSADetails.enabled";
  26453.             try{
  26454.                 String name = null;
  26455.                 name = this.reader.getValueConvertEnvProperties(pName);
  26456.                 if(name==null){
  26457.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  26458.                     name="false";
  26459.                 }
  26460.                 name = name.trim();
  26461.                 this.isTransazioniRegistrazioneSlowLogConnettoriMultipliProcessTransactionSADetails = Boolean.parseBoolean(name);
  26462.             } catch(java.lang.Exception e) {
  26463.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  26464.                 this.isTransazioniRegistrazioneSlowLogConnettoriMultipliProcessTransactionSADetails = false;
  26465.             }    
  26466.         }

  26467.         return this.isTransazioniRegistrazioneSlowLogConnettoriMultipliProcessTransactionSADetails;
  26468.     }
  26469.    
  26470.     private Boolean isTransazioniRegistrazioneSlowLogConnettoriMultipliUpdateTransactionDetails = null;
  26471.     public boolean isTransazioniRegistrazioneSlowLogConnettoriMultipliUpdateTransactionDetails() {  
  26472.         if(this.isTransazioniRegistrazioneSlowLogConnettoriMultipliUpdateTransactionDetails==null){
  26473.             String pName = "org.openspcoop2.pdd.transazioni.slowLog.connettoriMultipli.updateTransactionDetails.enabled";
  26474.             try{
  26475.                 String name = null;
  26476.                 name = this.reader.getValueConvertEnvProperties(pName);
  26477.                 if(name==null){
  26478.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  26479.                     name="false";
  26480.                 }
  26481.                 name = name.trim();
  26482.                 this.isTransazioniRegistrazioneSlowLogConnettoriMultipliUpdateTransactionDetails = Boolean.parseBoolean(name);
  26483.             } catch(java.lang.Exception e) {
  26484.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  26485.                 this.isTransazioniRegistrazioneSlowLogConnettoriMultipliUpdateTransactionDetails = false;
  26486.             }    
  26487.         }

  26488.         return this.isTransazioniRegistrazioneSlowLogConnettoriMultipliUpdateTransactionDetails;
  26489.     }
  26490.    
  26491.    
  26492.     // TracciamentoDB

  26493.     private Boolean isTransazioniTracciamentoDBOutRequestThrowRequestException = null;
  26494.     public boolean isTransazioniTracciamentoDBOutRequestThrowRequestException() {  
  26495.         if(this.isTransazioniTracciamentoDBOutRequestThrowRequestException==null){
  26496.             String pName = "org.openspcoop2.pdd.transazioni.tracciamentoDB.outRequest.throwRequestException";
  26497.             try{
  26498.                 String name = null;
  26499.                 name = this.reader.getValueConvertEnvProperties(pName);
  26500.                 if(name==null){
  26501.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  26502.                     name="true";
  26503.                 }
  26504.                 name = name.trim();
  26505.                 this.isTransazioniTracciamentoDBOutRequestThrowRequestException = Boolean.parseBoolean(name);
  26506.             } catch(java.lang.Exception e) {
  26507.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  26508.                 this.isTransazioniTracciamentoDBOutRequestThrowRequestException = true;
  26509.             }    
  26510.         }

  26511.         return this.isTransazioniTracciamentoDBOutRequestThrowRequestException;
  26512.     }
  26513.    
  26514.     private Boolean isTransazioniTracciamentoDBOutResponseThrowRequestException = null;
  26515.     public boolean isTransazioniTracciamentoDBOutResponseThrowRequestException() {  
  26516.         if(this.isTransazioniTracciamentoDBOutResponseThrowRequestException==null){
  26517.             String pName = "org.openspcoop2.pdd.transazioni.tracciamentoDB.outResponse.throwRequestException";
  26518.             try{
  26519.                 String name = null;
  26520.                 name = this.reader.getValueConvertEnvProperties(pName);
  26521.                 if(name==null){
  26522.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  26523.                     name="true";
  26524.                 }
  26525.                 name = name.trim();
  26526.                 this.isTransazioniTracciamentoDBOutResponseThrowRequestException = Boolean.parseBoolean(name);
  26527.             } catch(java.lang.Exception e) {
  26528.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  26529.                 this.isTransazioniTracciamentoDBOutResponseThrowRequestException = true;
  26530.             }    
  26531.         }

  26532.         return this.isTransazioniTracciamentoDBOutResponseThrowRequestException;
  26533.     }
  26534.    
  26535.     private Boolean isTransazioniTracciamentoDBPostOutResponseThrowRequestException = null;
  26536.     public boolean isTransazioniTracciamentoDBPostOutResponseThrowRequestException() {  
  26537.         if(this.isTransazioniTracciamentoDBPostOutResponseThrowRequestException==null){
  26538.             String pName = "org.openspcoop2.pdd.transazioni.tracciamentoDB.postOutResponse.throwRequestException";
  26539.             try{
  26540.                 String name = null;
  26541.                 name = this.reader.getValueConvertEnvProperties(pName);
  26542.                 if(name==null){
  26543.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  26544.                     name="true";
  26545.                 }
  26546.                 name = name.trim();
  26547.                 this.isTransazioniTracciamentoDBPostOutResponseThrowRequestException = Boolean.parseBoolean(name);
  26548.             } catch(java.lang.Exception e) {
  26549.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  26550.                 this.isTransazioniTracciamentoDBPostOutResponseThrowRequestException = true;
  26551.             }    
  26552.         }

  26553.         return this.isTransazioniTracciamentoDBPostOutResponseThrowRequestException;
  26554.     }
  26555.    
  26556.     private Boolean isTransazioniTracciamentoDBPostOutResponseThrowResponseException = null;
  26557.     public boolean isTransazioniTracciamentoDBPostOutResponseThrowResponseException() {
  26558.         if(this.isTransazioniTracciamentoDBPostOutResponseThrowResponseException==null){
  26559.             String pName = "org.openspcoop2.pdd.transazioni.tracciamentoDB.postOutResponse.throwResponseException";
  26560.             try{
  26561.                 String name = null;
  26562.                 name = this.reader.getValueConvertEnvProperties(pName);
  26563.                 if(name==null){
  26564.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  26565.                     name="true";
  26566.                 }
  26567.                 name = name.trim();
  26568.                 this.isTransazioniTracciamentoDBPostOutResponseThrowResponseException = Boolean.parseBoolean(name);
  26569.             } catch(java.lang.Exception e) {
  26570.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  26571.                 this.isTransazioniTracciamentoDBPostOutResponseThrowResponseException = true;
  26572.             }    
  26573.         }

  26574.         return this.isTransazioniTracciamentoDBPostOutResponseThrowResponseException;
  26575.     }
  26576.    
  26577.    
  26578.     // Gestione PurposeId
  26579.    
  26580.     private Boolean isTransazioniPolicyValidazioneSavePurposeIdAlways = null;
  26581.     public boolean isTransazioniPolicyValidazioneSavePurposeIdAlways() {    
  26582.         if(this.isTransazioniPolicyValidazioneSavePurposeIdAlways==null){
  26583.             String pName = "org.openspcoop2.pdd.transazioni.policy.validazione.savePurposeId.always";
  26584.             try{
  26585.                 String name = null;
  26586.                 name = this.reader.getValueConvertEnvProperties(pName);
  26587.                 if(name==null){
  26588.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  26589.                     name="false";
  26590.                 }
  26591.                 name = name.trim();
  26592.                 this.isTransazioniPolicyValidazioneSavePurposeIdAlways = Boolean.parseBoolean(name);
  26593.             } catch(java.lang.Exception e) {
  26594.                 this.logError(getMessaggioProprietaNonImpostata(pName,e,false));
  26595.                 this.isTransazioniPolicyValidazioneSavePurposeIdAlways = false;
  26596.             }    
  26597.         }

  26598.         return this.isTransazioniPolicyValidazioneSavePurposeIdAlways;
  26599.     }
  26600.    
  26601.     private Boolean isTransazioniPolicyNegoziazioneSavePurposeIdAlways = null;
  26602.     public boolean isTransazioniPolicyNegoziazioneSavePurposeIdAlways() {  
  26603.         if(this.isTransazioniPolicyNegoziazioneSavePurposeIdAlways==null){
  26604.             String pName = "org.openspcoop2.pdd.transazioni.policy.negoziazione.savePurposeId.always";
  26605.             try{
  26606.                 String name = null;
  26607.                 name = this.reader.getValueConvertEnvProperties(pName);
  26608.                 if(name==null){
  26609.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  26610.                     name="false";
  26611.                 }
  26612.                 name = name.trim();
  26613.                 this.isTransazioniPolicyNegoziazioneSavePurposeIdAlways = Boolean.parseBoolean(name);
  26614.             } catch(java.lang.Exception e) {
  26615.                 this.logError(getMessaggioProprietaNonImpostata(pName,e,false));
  26616.                 this.isTransazioniPolicyNegoziazioneSavePurposeIdAlways = false;
  26617.             }    
  26618.         }

  26619.         return this.isTransazioniPolicyNegoziazioneSavePurposeIdAlways;
  26620.     }
  26621.    
  26622.    
  26623.     // FiltroDuplicati
  26624.    
  26625.     private Boolean isTransazioniFiltroDuplicatiSaveDateEnabled = null;
  26626.     private boolean _isTransazioniFiltroDuplicatiSaveDateEnabled() throws ProtocolException {  
  26627.         if(this.isTransazioniFiltroDuplicatiSaveDateEnabled==null){
  26628.             try{
  26629.                 String name = null;
  26630.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.duplicati.dateIdentificativiProtocolloInCampiSeparati");
  26631.                 if(name==null){
  26632.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.duplicati.dateIdentificativiProtocolloInCampiSeparati' non impostata, viene utilizzato il default=true");
  26633.                     name="true";
  26634.                 }
  26635.                 name = name.trim();
  26636.                 this.isTransazioniFiltroDuplicatiSaveDateEnabled = Boolean.parseBoolean(name);
  26637.             } catch(java.lang.Exception e) {
  26638.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.duplicati.dateIdentificativiProtocolloInCampiSeparati', viene utilizzato il default=true : "+e.getMessage(),e);
  26639.                 this.isTransazioniFiltroDuplicatiSaveDateEnabled = true;
  26640.             }    
  26641.         }

  26642.         return this.isTransazioniFiltroDuplicatiSaveDateEnabled;
  26643.     }
  26644.     public boolean isTransazioniFiltroDuplicatiSaveDateEnabled(IProtocolFactory<?> protocolFactory) throws ProtocolException {  
  26645.         return _isTransazioniFiltroDuplicatiSaveDateEnabled() && protocolFactory.createProtocolConfiguration().isDataPresenteInIdentificativoMessaggio();
  26646.     }
  26647.    
  26648.     private Boolean isTransazioniFiltroDuplicatiTramiteTransazioniEnabled = null;
  26649.     public boolean isTransazioniFiltroDuplicatiTramiteTransazioniEnabled() {    
  26650.         if(this.isTransazioniFiltroDuplicatiTramiteTransazioniEnabled==null){
  26651.             try{
  26652.                 String name = null;
  26653.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.duplicati.filtroTramiteTransazioni.enabled");
  26654.                 if(name==null){
  26655.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.duplicati.filtroTramiteTransazioni.enabled' non impostata, viene utilizzato il default=true");
  26656.                     name="true";
  26657.                 }
  26658.                 name = name.trim();
  26659.                 this.isTransazioniFiltroDuplicatiTramiteTransazioniEnabled = Boolean.parseBoolean(name);
  26660.             } catch(java.lang.Exception e) {
  26661.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.duplicati.filtroTramiteTransazioni.enabled', viene utilizzato il default=true : "+e.getMessage(),e);
  26662.                 this.isTransazioniFiltroDuplicatiTramiteTransazioniEnabled = true;
  26663.             }    
  26664.         }

  26665.         return this.isTransazioniFiltroDuplicatiTramiteTransazioniEnabled;
  26666.     }
  26667.    
  26668.     private Boolean isTransazioniFiltroDuplicatiTramiteTransazioniUsePdDConnection = null;
  26669.     public boolean isTransazioniFiltroDuplicatiTramiteTransazioniUsePdDConnection() {  
  26670.         if(this.isTransazioniFiltroDuplicatiTramiteTransazioniUsePdDConnection==null){
  26671.             try{
  26672.                 String name = null;
  26673.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.duplicati.filtroTramiteTransazioni.usePdDConnection");
  26674.                 if(name==null){
  26675.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.duplicati.filtroTramiteTransazioni.usePdDConnection' non impostata, viene utilizzato il default=true");
  26676.                     name="true";
  26677.                 }
  26678.                 name = name.trim();
  26679.                 this.isTransazioniFiltroDuplicatiTramiteTransazioniUsePdDConnection = Boolean.parseBoolean(name);
  26680.             } catch(java.lang.Exception e) {
  26681.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.duplicati.filtroTramiteTransazioni.usePdDConnection', viene utilizzato il default=true : "+e.getMessage(),e);
  26682.                 this.isTransazioniFiltroDuplicatiTramiteTransazioniUsePdDConnection = true;
  26683.             }    
  26684.         }

  26685.         return this.isTransazioniFiltroDuplicatiTramiteTransazioniUsePdDConnection;
  26686.     }
  26687.    
  26688.     private Boolean isTransazioniFiltroDuplicatiTramiteTransazioniForceIndex = null;
  26689.     public boolean isTransazioniFiltroDuplicatiTramiteTransazioniForceIndex() {
  26690.         if(this.isTransazioniFiltroDuplicatiTramiteTransazioniForceIndex==null){
  26691.             try{
  26692.                 String name = null;
  26693.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.duplicati.filtroTramiteTransazioni.forceIndex");
  26694.                 if(name==null){
  26695.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.duplicati.filtroTramiteTransazioni.forceIndex' non impostata, viene utilizzato il default=false");
  26696.                     name="false";
  26697.                 }
  26698.                 name = name.trim();
  26699.                 this.isTransazioniFiltroDuplicatiTramiteTransazioniForceIndex = Boolean.parseBoolean(name);
  26700.             } catch(java.lang.Exception e) {
  26701.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.duplicati.filtroTramiteTransazioni.forceIndex', viene utilizzato il default=false : "+e.getMessage(),e);
  26702.                 this.isTransazioniFiltroDuplicatiTramiteTransazioniForceIndex = false;
  26703.             }    
  26704.         }

  26705.         return this.isTransazioniFiltroDuplicatiTramiteTransazioniForceIndex;
  26706.     }
  26707.    
  26708.    
  26709.     // Stateful
  26710.    
  26711.     private Boolean isTransazioniStatefulEnabled = null;
  26712.     public boolean isTransazioniStatefulEnabled() {
  26713.         if(this.isTransazioniStatefulEnabled==null){
  26714.             try{
  26715.                 String name = null;
  26716.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.stateful.enabled");
  26717.                 if(name==null){
  26718.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.stateful.enabled' non impostata, viene utilizzato il default=true");
  26719.                     name="true";
  26720.                 }
  26721.                 name = name.trim();
  26722.                 this.isTransazioniStatefulEnabled = Boolean.parseBoolean(name);
  26723.             } catch(java.lang.Exception e) {
  26724.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.stateful.enabled', viene utilizzato il default=true : "+e.getMessage(),e);
  26725.                 this.isTransazioniStatefulEnabled = true;
  26726.             }    
  26727.         }

  26728.         return this.isTransazioniStatefulEnabled;
  26729.     }
  26730.    
  26731.     private Boolean isTransazioniStatefulDebug = null;
  26732.     public boolean isTransazioniStatefulDebug() {  
  26733.         if(this.isTransazioniStatefulDebug==null){
  26734.             try{
  26735.                 String name = null;
  26736.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.stateful.debug");
  26737.                 if(name==null){
  26738.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.stateful.debug' non impostata, viene utilizzato il default=true");
  26739.                     name="true";
  26740.                 }
  26741.                 name = name.trim();
  26742.                 this.isTransazioniStatefulDebug = Boolean.parseBoolean(name);
  26743.             } catch(java.lang.Exception e) {
  26744.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.stateful.debug', viene utilizzato il default=true : "+e.getMessage(),e);
  26745.                 this.isTransazioniStatefulDebug = true;
  26746.             }    
  26747.         }

  26748.         return this.isTransazioniStatefulDebug;
  26749.     }
  26750.    
  26751.     private Integer getTransazioniStatefulTimerIntervalSeconds = null;
  26752.     public int getTransazioniStatefulTimerIntervalSeconds() throws CoreException {  
  26753.         if(this.getTransazioniStatefulTimerIntervalSeconds==null){
  26754.             try{
  26755.                 String name = null;
  26756.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.stateful.seconds");
  26757.                 if(name==null){
  26758.                     throw new CoreException("Proprieta' non impostata");
  26759.                 }
  26760.                 name = name.trim();
  26761.                 this.getTransazioniStatefulTimerIntervalSeconds = Integer.valueOf(name);
  26762.             } catch(java.lang.Exception e) {
  26763.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.stateful.seconds': "+e.getMessage(),e);
  26764.                 throw new CoreException(e.getMessage(),e);
  26765.             }    
  26766.         }

  26767.         return this.getTransazioniStatefulTimerIntervalSeconds;
  26768.     }
  26769.    
  26770.    
  26771.     // Salvataggio
  26772.    
  26773.     private Integer getTransazioniCredenzialiMittenteMaxLength = null;
  26774.     public int getTransazioniCredenzialiMittenteMaxLength() throws CoreException {  
  26775.         if(this.getTransazioniCredenzialiMittenteMaxLength==null){
  26776.             try{
  26777.                 String name = null;
  26778.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.credenzialiMittente.maxLength");
  26779.                 if(name==null){
  26780.                     throw new CoreException("Proprieta' non impostata");
  26781.                 }
  26782.                 name = name.trim();
  26783.                 this.getTransazioniCredenzialiMittenteMaxLength = Integer.valueOf(name);
  26784.             } catch(java.lang.Exception e) {
  26785.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.credenzialiMittente.maxLength': "+e.getMessage(),e);
  26786.                 throw new CoreException(e.getMessage(),e);
  26787.             }    
  26788.         }

  26789.         return this.getTransazioniCredenzialiMittenteMaxLength;
  26790.     }
  26791.    
  26792.     private Boolean getTransazioniCredenzialiMittenteLifeSeconds_read = null;
  26793.     private Integer getTransazioniCredenzialiMittenteLifeSeconds = null;
  26794.     public Integer getTransazioniCredenzialiMittenteLifeSeconds() throws CoreException {    
  26795.         if(this.getTransazioniCredenzialiMittenteLifeSeconds_read==null){
  26796.             try{
  26797.                 String name = null;
  26798.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.credenzialiMittente.updateAfterSeconds");
  26799.                 if(name==null){
  26800.                     throw new CoreException("Proprieta' non impostata");
  26801.                 }
  26802.                 name = name.trim();
  26803.                 this.getTransazioniCredenzialiMittenteLifeSeconds = Integer.valueOf(name);
  26804.             } catch(java.lang.Exception e) {
  26805.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.credenzialiMittente.updateAfterSeconds': "+e.getMessage(),e);
  26806.                 throw new CoreException(e.getMessage(),e);
  26807.             }    
  26808.            
  26809.             this.getTransazioniCredenzialiMittenteLifeSeconds_read = true;
  26810.         }

  26811.         return this.getTransazioniCredenzialiMittenteLifeSeconds;
  26812.     }
  26813.    
  26814.     private Boolean isTransazioniRegistrazioneTracceProtocolPropertiesEnabled = null;
  26815.     public boolean isTransazioniRegistrazioneTracceProtocolPropertiesEnabled() {    
  26816.         if(this.isTransazioniRegistrazioneTracceProtocolPropertiesEnabled==null){
  26817.             try{
  26818.                 String name = null;
  26819.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.tracce.protocolProperties.enabled");
  26820.                 if(name==null){
  26821.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.tracce.protocolProperties.enabled' non impostata, viene utilizzato il default=false");
  26822.                     name="false";
  26823.                 }
  26824.                 name = name.trim();
  26825.                 this.isTransazioniRegistrazioneTracceProtocolPropertiesEnabled = Boolean.parseBoolean(name);
  26826.             } catch(java.lang.Exception e) {
  26827.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.tracce.protocolProperties.enabled', viene utilizzato il default=false : "+e.getMessage(),e);
  26828.                 this.isTransazioniRegistrazioneTracceProtocolPropertiesEnabled = false;
  26829.             }    
  26830.         }

  26831.         return this.isTransazioniRegistrazioneTracceProtocolPropertiesEnabled;
  26832.     }
  26833.    
  26834.     private Boolean isTransazioniRegistrazioneTracceHeaderRawEnabled = null;
  26835.     public boolean isTransazioniRegistrazioneTracceHeaderRawEnabled() {
  26836.         if(this.isTransazioniRegistrazioneTracceHeaderRawEnabled==null){
  26837.             try{
  26838.                 String name = null;
  26839.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.tracce.headerRaw.enabled");
  26840.                 if(name==null){
  26841.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.tracce.headerRaw.enabled' non impostata, viene utilizzato il default=false");
  26842.                     name="false";
  26843.                 }
  26844.                 name = name.trim();
  26845.                 this.isTransazioniRegistrazioneTracceHeaderRawEnabled = Boolean.parseBoolean(name);
  26846.             } catch(java.lang.Exception e) {
  26847.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.tracce.headerRaw.enabled', viene utilizzato il default=false : "+e.getMessage(),e);
  26848.                 this.isTransazioniRegistrazioneTracceHeaderRawEnabled = false;
  26849.             }    
  26850.         }

  26851.         return this.isTransazioniRegistrazioneTracceHeaderRawEnabled;
  26852.     }
  26853.    
  26854.     private Boolean isTransazioniRegistrazioneTracceDigestEnabled = null;
  26855.     public boolean isTransazioniRegistrazioneTracceDigestEnabled() {    
  26856.         if(this.isTransazioniRegistrazioneTracceDigestEnabled==null){
  26857.             try{
  26858.                 String name = null;
  26859.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.tracce.digest.enabled");
  26860.                 if(name==null){
  26861.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.tracce.digest.enabled' non impostata, viene utilizzato il default=false");
  26862.                     name="false";
  26863.                 }
  26864.                 name = name.trim();
  26865.                 this.isTransazioniRegistrazioneTracceDigestEnabled = Boolean.parseBoolean(name);
  26866.             } catch(java.lang.Exception e) {
  26867.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.tracce.digest.enabled', viene utilizzato il default=false : "+e.getMessage(),e);
  26868.                 this.isTransazioniRegistrazioneTracceDigestEnabled = false;
  26869.             }    
  26870.         }

  26871.         return this.isTransazioniRegistrazioneTracceDigestEnabled;
  26872.     }
  26873.    
  26874.     private ISalvataggioTracceManager getTransazioniRegistrazioneTracceManager = null;
  26875.     private Boolean getTransazioniRegistrazioneTracceManager_read = null;
  26876.     public ISalvataggioTracceManager getTransazioniRegistrazioneTracceManager() throws CoreException {  
  26877.         return this.getTransazioniRegistrazioneTracceManager;
  26878.     }
  26879.     private ISalvataggioTracceManager _getTransazioniRegistrazioneTracceManager(ClassNameProperties className, Loader loader) throws CoreException {    
  26880.         if(this.getTransazioniRegistrazioneTracceManager_read==null){
  26881.             try{
  26882.                 String name = null;
  26883.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.tracce.salvataggio");
  26884.                 if(name!=null){
  26885.                     name = name.trim();
  26886.                    
  26887.                     String classe = className.getSalvataggioTracceManager(name);
  26888.                     if(classe == null) {
  26889.                         throw new CoreException("Classe non trovata per il salvataggio delle tracce con tipo '"+name+"'");
  26890.                     }
  26891.                    
  26892.                     this.getTransazioniRegistrazioneTracceManager = (ISalvataggioTracceManager) loader.newInstance(classe);
  26893.                 }
  26894.                
  26895.                 this.getTransazioniRegistrazioneTracceManager_read = true;
  26896.                
  26897.             } catch(java.lang.Exception e) {
  26898.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.tracce.salvataggio': "+e.getMessage(),e);
  26899.                 throw new CoreException(e.getMessage(),e);
  26900.             }    
  26901.         }

  26902.         return this.getTransazioniRegistrazioneTracceManager;
  26903.     }
  26904.    
  26905.     private ISalvataggioDiagnosticiManager getTransazioniRegistrazioneDiagnosticiManager = null;
  26906.     private Boolean getTransazioniRegistrazioneDiagnosticiManager_read = null;
  26907.     public ISalvataggioDiagnosticiManager getTransazioniRegistrazioneDiagnosticiManager() throws CoreException {    
  26908.         return this.getTransazioniRegistrazioneDiagnosticiManager;
  26909.     }
  26910.     private ISalvataggioDiagnosticiManager _getTransazioniRegistrazioneDiagnosticiManager(ClassNameProperties className, Loader loader) throws CoreException {  
  26911.         if(this.getTransazioniRegistrazioneDiagnosticiManager_read==null){
  26912.             try{
  26913.                 String name = null;
  26914.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.diagnostici.salvataggio");
  26915.                 if(name!=null){
  26916.                     name = name.trim();
  26917.                    
  26918.                     String classe = className.getSalvataggioDiagnosticiManager(name);
  26919.                     if(classe == null) {
  26920.                         throw new CoreException("Classe non trovata per il salvataggio dei diagnostici con tipo '"+name+"'");
  26921.                     }
  26922.                    
  26923.                     this.getTransazioniRegistrazioneDiagnosticiManager = (ISalvataggioDiagnosticiManager) loader.newInstance(classe);
  26924.                 }
  26925.                
  26926.                 this.getTransazioniRegistrazioneDiagnosticiManager_read = true;
  26927.                
  26928.             } catch(java.lang.Exception e) {
  26929.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.diagnostici.salvataggio': "+e.getMessage(),e);
  26930.                 throw new CoreException(e.getMessage(),e);
  26931.             }    
  26932.         }

  26933.         return this.getTransazioniRegistrazioneDiagnosticiManager;
  26934.     }
  26935.    
  26936.     private Boolean isTransazioniRegistrazioneDumpHeadersCompactEnabled = null;
  26937.     public boolean isTransazioniRegistrazioneDumpHeadersCompactEnabled() {  
  26938.         if(this.isTransazioniRegistrazioneDumpHeadersCompactEnabled==null){
  26939.             try{
  26940.                 String name = null;
  26941.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.dump.headers.compact.enabled");
  26942.                 if(name==null){
  26943.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.dump.headers.compact.enabled' non impostata, viene utilizzato il default=false");
  26944.                     name="false";
  26945.                 }
  26946.                 name = name.trim();
  26947.                 this.isTransazioniRegistrazioneDumpHeadersCompactEnabled = Boolean.parseBoolean(name);
  26948.             } catch(java.lang.Exception e) {
  26949.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.dump.headers.compact.enabled', viene utilizzato il default=false : "+e.getMessage(),e);
  26950.                 this.isTransazioniRegistrazioneDumpHeadersCompactEnabled = false;
  26951.             }    
  26952.         }

  26953.         return this.isTransazioniRegistrazioneDumpHeadersCompactEnabled;
  26954.     }
  26955.    
  26956.     // Trace su File
  26957.    
  26958.     private Boolean isTransazioniFileTraceEnabled = null;
  26959.     public boolean isTransazioniFileTraceEnabled() {    
  26960.         if(this.isTransazioniFileTraceEnabled==null){
  26961.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.enabled";
  26962.             try{
  26963.                 String name = null;
  26964.                 name = this.reader.getValueConvertEnvProperties(pName);
  26965.                 if(name==null){
  26966.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  26967.                     name="false";
  26968.                 }
  26969.                 name = name.trim();
  26970.                 this.isTransazioniFileTraceEnabled = Boolean.parseBoolean(name);
  26971.             } catch(java.lang.Exception e) {
  26972.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  26973.                 this.isTransazioniFileTraceEnabled = false;
  26974.             }    
  26975.         }

  26976.         return this.isTransazioniFileTraceEnabled;
  26977.     }
  26978.    
  26979.     private Boolean isTransazioniFileTraceDumpBinarioPDEnabled = null;
  26980.     public boolean isTransazioniFileTraceDumpBinarioPDEnabled() {  
  26981.         if(this.isTransazioniFileTraceDumpBinarioPDEnabled==null){
  26982.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.dumpBinarioPD.enabled";
  26983.             try{
  26984.                 String name = null;
  26985.                 name = this.reader.getValueConvertEnvProperties(pName);
  26986.                 if(name==null){
  26987.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  26988.                     name="false";
  26989.                 }
  26990.                 name = name.trim();
  26991.                 this.isTransazioniFileTraceDumpBinarioPDEnabled = Boolean.parseBoolean(name);
  26992.             } catch(java.lang.Exception e) {
  26993.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  26994.                 this.isTransazioniFileTraceDumpBinarioPDEnabled = false;
  26995.             }    
  26996.         }

  26997.         return this.isTransazioniFileTraceDumpBinarioPDEnabled;
  26998.     }
  26999.     private Boolean isTransazioniFileTraceDumpBinarioPDPayloadEnabled = null;
  27000.     public boolean isTransazioniFileTraceDumpBinarioPDPayloadEnabled() {    
  27001.         if(this.isTransazioniFileTraceDumpBinarioPDPayloadEnabled==null){
  27002.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.dumpBinarioPD.payload.enabled";
  27003.             try{
  27004.                 String name = null;
  27005.                 name = this.reader.getValueConvertEnvProperties(pName);
  27006.                 if(name==null || "".equals(name)){
  27007.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isTransazioniFileTraceDumpBinarioPDEnabled()));
  27008.                     name=""+isTransazioniFileTraceDumpBinarioPDEnabled();
  27009.                 }
  27010.                 name = name.trim();
  27011.                 this.isTransazioniFileTraceDumpBinarioPDPayloadEnabled = Boolean.parseBoolean(name);
  27012.             } catch(java.lang.Exception e) {
  27013.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+isTransazioniFileTraceDumpBinarioPDEnabled()+" : "+e.getMessage(),e);
  27014.                 this.isTransazioniFileTraceDumpBinarioPDPayloadEnabled = isTransazioniFileTraceDumpBinarioPDEnabled();
  27015.             }    
  27016.         }

  27017.         return this.isTransazioniFileTraceDumpBinarioPDPayloadEnabled;
  27018.     }
  27019.     private Boolean isTransazioniFileTraceDumpBinarioPDHeadersEnabled = null;
  27020.     public boolean isTransazioniFileTraceDumpBinarioPDHeadersEnabled() {    
  27021.         if(this.isTransazioniFileTraceDumpBinarioPDHeadersEnabled==null){
  27022.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.dumpBinarioPD.headers.enabled";
  27023.             try{
  27024.                 String name = null;
  27025.                 name = this.reader.getValueConvertEnvProperties(pName);
  27026.                 if(name==null || "".equals(name)){
  27027.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isTransazioniFileTraceDumpBinarioPDEnabled()));
  27028.                     name=""+isTransazioniFileTraceDumpBinarioPDEnabled();
  27029.                 }
  27030.                 name = name.trim();
  27031.                 this.isTransazioniFileTraceDumpBinarioPDHeadersEnabled = Boolean.parseBoolean(name);
  27032.             } catch(java.lang.Exception e) {
  27033.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+isTransazioniFileTraceDumpBinarioPDEnabled()+" : "+e.getMessage(),e);
  27034.                 this.isTransazioniFileTraceDumpBinarioPDHeadersEnabled = isTransazioniFileTraceDumpBinarioPDEnabled();
  27035.             }    
  27036.         }

  27037.         return this.isTransazioniFileTraceDumpBinarioPDHeadersEnabled;
  27038.     }
  27039.    
  27040.     private Boolean isTransazioniFileTraceDumpBinarioPDConnettoreEnabled = null;
  27041.     public boolean isTransazioniFileTraceDumpBinarioPDConnettoreEnabled() {
  27042.         if(this.isTransazioniFileTraceDumpBinarioPDConnettoreEnabled==null){
  27043.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.dumpBinarioPD.connettore.enabled";
  27044.             try{
  27045.                 String name = null;
  27046.                 name = this.reader.getValueConvertEnvProperties(pName);
  27047.                 if(name==null){
  27048.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  27049.                     name="false";
  27050.                 }
  27051.                 name = name.trim();
  27052.                 this.isTransazioniFileTraceDumpBinarioPDConnettoreEnabled = Boolean.parseBoolean(name);
  27053.             } catch(java.lang.Exception e) {
  27054.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  27055.                 this.isTransazioniFileTraceDumpBinarioPDConnettoreEnabled = false;
  27056.             }    
  27057.         }

  27058.         return this.isTransazioniFileTraceDumpBinarioPDConnettoreEnabled;
  27059.     }
  27060.     private Boolean isTransazioniFileTraceDumpBinarioPDConnettorePayloadEnabled = null;
  27061.     public boolean isTransazioniFileTraceDumpBinarioPDConnettorePayloadEnabled() {  
  27062.         if(this.isTransazioniFileTraceDumpBinarioPDConnettorePayloadEnabled==null){
  27063.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.dumpBinarioPD.connettore.payload.enabled";
  27064.             try{
  27065.                 String name = null;
  27066.                 name = this.reader.getValueConvertEnvProperties(pName);
  27067.                 if(name==null || "".equals(name)){
  27068.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isTransazioniFileTraceDumpBinarioPDConnettoreEnabled()));
  27069.                     name=""+isTransazioniFileTraceDumpBinarioPDConnettoreEnabled();
  27070.                 }
  27071.                 name = name.trim();
  27072.                 this.isTransazioniFileTraceDumpBinarioPDConnettorePayloadEnabled = Boolean.parseBoolean(name);
  27073.             } catch(java.lang.Exception e) {
  27074.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+isTransazioniFileTraceDumpBinarioPDConnettoreEnabled()+" : "+e.getMessage(),e);
  27075.                 this.isTransazioniFileTraceDumpBinarioPDConnettorePayloadEnabled = isTransazioniFileTraceDumpBinarioPDConnettoreEnabled();
  27076.             }    
  27077.         }

  27078.         return this.isTransazioniFileTraceDumpBinarioPDConnettorePayloadEnabled;
  27079.     }
  27080.     private Boolean isTransazioniFileTraceDumpBinarioPDConnettoreHeadersEnabled = null;
  27081.     public boolean isTransazioniFileTraceDumpBinarioPDConnettoreHeadersEnabled() {  
  27082.         if(this.isTransazioniFileTraceDumpBinarioPDConnettoreHeadersEnabled==null){
  27083.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.dumpBinarioPD.connettore.headers.enabled";
  27084.             try{
  27085.                 String name = null;
  27086.                 name = this.reader.getValueConvertEnvProperties(pName);
  27087.                 if(name==null || "".equals(name)){
  27088.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isTransazioniFileTraceDumpBinarioPDConnettoreEnabled()));
  27089.                     name=""+isTransazioniFileTraceDumpBinarioPDConnettoreEnabled();
  27090.                 }
  27091.                 name = name.trim();
  27092.                 this.isTransazioniFileTraceDumpBinarioPDConnettoreHeadersEnabled = Boolean.parseBoolean(name);
  27093.             } catch(java.lang.Exception e) {
  27094.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+isTransazioniFileTraceDumpBinarioPDConnettoreEnabled()+" : "+e.getMessage(),e);
  27095.                 this.isTransazioniFileTraceDumpBinarioPDConnettoreHeadersEnabled = isTransazioniFileTraceDumpBinarioPDConnettoreEnabled();
  27096.             }    
  27097.         }

  27098.         return this.isTransazioniFileTraceDumpBinarioPDConnettoreHeadersEnabled;
  27099.     }
  27100.    
  27101.     private Boolean isTransazioniFileTraceDumpBinarioPAEnabled = null;
  27102.     public boolean isTransazioniFileTraceDumpBinarioPAEnabled() {  
  27103.         if(this.isTransazioniFileTraceDumpBinarioPAEnabled==null){
  27104.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.dumpBinarioPA.enabled";
  27105.             try{
  27106.                 String name = null;
  27107.                 name = this.reader.getValueConvertEnvProperties(pName);
  27108.                 if(name==null){
  27109.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  27110.                     name="false";
  27111.                 }
  27112.                 name = name.trim();
  27113.                 this.isTransazioniFileTraceDumpBinarioPAEnabled = Boolean.parseBoolean(name);
  27114.             } catch(java.lang.Exception e) {
  27115.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  27116.                 this.isTransazioniFileTraceDumpBinarioPAEnabled = false;
  27117.             }    
  27118.         }

  27119.         return this.isTransazioniFileTraceDumpBinarioPAEnabled;
  27120.     }
  27121.     private Boolean isTransazioniFileTraceDumpBinarioPAPayloadEnabled = null;
  27122.     public boolean isTransazioniFileTraceDumpBinarioPAPayloadEnabled() {    
  27123.         if(this.isTransazioniFileTraceDumpBinarioPAPayloadEnabled==null){
  27124.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.dumpBinarioPA.payload.enabled";
  27125.             try{
  27126.                 String name = null;
  27127.                 name = this.reader.getValueConvertEnvProperties(pName);
  27128.                 if(name==null || "".equals(name)){
  27129.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isTransazioniFileTraceDumpBinarioPAEnabled()));
  27130.                     name=""+isTransazioniFileTraceDumpBinarioPAEnabled();
  27131.                 }
  27132.                 name = name.trim();
  27133.                 this.isTransazioniFileTraceDumpBinarioPAPayloadEnabled = Boolean.parseBoolean(name);
  27134.             } catch(java.lang.Exception e) {
  27135.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+isTransazioniFileTraceDumpBinarioPAEnabled()+" : "+e.getMessage(),e);
  27136.                 this.isTransazioniFileTraceDumpBinarioPAPayloadEnabled = isTransazioniFileTraceDumpBinarioPAEnabled();
  27137.             }    
  27138.         }

  27139.         return this.isTransazioniFileTraceDumpBinarioPAPayloadEnabled;
  27140.     }
  27141.     private Boolean isTransazioniFileTraceDumpBinarioPAHeadersEnabled = null;
  27142.     public boolean isTransazioniFileTraceDumpBinarioPAHeadersEnabled() {    
  27143.         if(this.isTransazioniFileTraceDumpBinarioPAHeadersEnabled==null){
  27144.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.dumpBinarioPA.headers.enabled";
  27145.             try{
  27146.                 String name = null;
  27147.                 name = this.reader.getValueConvertEnvProperties(pName);
  27148.                 if(name==null || "".equals(name)){
  27149.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isTransazioniFileTraceDumpBinarioPAEnabled()));
  27150.                     name=""+isTransazioniFileTraceDumpBinarioPAEnabled();
  27151.                 }
  27152.                 name = name.trim();
  27153.                 this.isTransazioniFileTraceDumpBinarioPAHeadersEnabled = Boolean.parseBoolean(name);
  27154.             } catch(java.lang.Exception e) {
  27155.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+isTransazioniFileTraceDumpBinarioPAEnabled()+" : "+e.getMessage(),e);
  27156.                 this.isTransazioniFileTraceDumpBinarioPAHeadersEnabled = isTransazioniFileTraceDumpBinarioPAEnabled();
  27157.             }    
  27158.         }

  27159.         return this.isTransazioniFileTraceDumpBinarioPAHeadersEnabled;
  27160.     }

  27161.    
  27162.     private Boolean isTransazioniFileTraceDumpBinarioPAConnettoreEnabled = null;
  27163.     public boolean isTransazioniFileTraceDumpBinarioPAConnettoreEnabled() {
  27164.         if(this.isTransazioniFileTraceDumpBinarioPAConnettoreEnabled==null){
  27165.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.dumpBinarioPA.connettore.enabled";
  27166.             try{
  27167.                 String name = null;
  27168.                 name = this.reader.getValueConvertEnvProperties(pName);
  27169.                 if(name==null){
  27170.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  27171.                     name="false";
  27172.                 }
  27173.                 name = name.trim();
  27174.                 this.isTransazioniFileTraceDumpBinarioPAConnettoreEnabled = Boolean.parseBoolean(name);
  27175.             } catch(java.lang.Exception e) {
  27176.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  27177.                 this.isTransazioniFileTraceDumpBinarioPAConnettoreEnabled = false;
  27178.             }    
  27179.         }

  27180.         return this.isTransazioniFileTraceDumpBinarioPAConnettoreEnabled;
  27181.     }
  27182.     private Boolean isTransazioniFileTraceDumpBinarioPAConnettorePayloadEnabled = null;
  27183.     public boolean isTransazioniFileTraceDumpBinarioPAConnettorePayloadEnabled() {  
  27184.         if(this.isTransazioniFileTraceDumpBinarioPAConnettorePayloadEnabled==null){
  27185.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.dumpBinarioPA.connettore.payload.enabled";
  27186.             try{
  27187.                 String name = null;
  27188.                 name = this.reader.getValueConvertEnvProperties(pName);
  27189.                 if(name==null || "".equals(name)){
  27190.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isTransazioniFileTraceDumpBinarioPAConnettoreEnabled()));
  27191.                     name=""+isTransazioniFileTraceDumpBinarioPAConnettoreEnabled();
  27192.                 }
  27193.                 name = name.trim();
  27194.                 this.isTransazioniFileTraceDumpBinarioPAConnettorePayloadEnabled = Boolean.parseBoolean(name);
  27195.             } catch(java.lang.Exception e) {
  27196.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+isTransazioniFileTraceDumpBinarioPAConnettoreEnabled()+" : "+e.getMessage(),e);
  27197.                 this.isTransazioniFileTraceDumpBinarioPAConnettorePayloadEnabled = isTransazioniFileTraceDumpBinarioPAConnettoreEnabled();
  27198.             }    
  27199.         }

  27200.         return this.isTransazioniFileTraceDumpBinarioPAConnettorePayloadEnabled;
  27201.     }
  27202.     private Boolean isTransazioniFileTraceDumpBinarioPAConnettoreHeadersEnabled = null;
  27203.     public boolean isTransazioniFileTraceDumpBinarioPAConnettoreHeadersEnabled() {  
  27204.         if(this.isTransazioniFileTraceDumpBinarioPAConnettoreHeadersEnabled==null){
  27205.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.dumpBinarioPA.connettore.headers.enabled";
  27206.             try{
  27207.                 String name = null;
  27208.                 name = this.reader.getValueConvertEnvProperties(pName);
  27209.                 if(name==null || "".equals(name)){
  27210.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isTransazioniFileTraceDumpBinarioPAConnettoreEnabled()));
  27211.                     name=""+isTransazioniFileTraceDumpBinarioPAConnettoreEnabled();
  27212.                 }
  27213.                 name = name.trim();
  27214.                 this.isTransazioniFileTraceDumpBinarioPAConnettoreHeadersEnabled = Boolean.parseBoolean(name);
  27215.             } catch(java.lang.Exception e) {
  27216.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+isTransazioniFileTraceDumpBinarioPAConnettoreEnabled()+" : "+e.getMessage(),e);
  27217.                 this.isTransazioniFileTraceDumpBinarioPAConnettoreHeadersEnabled = isTransazioniFileTraceDumpBinarioPAConnettoreEnabled();
  27218.             }    
  27219.         }

  27220.         return this.isTransazioniFileTraceDumpBinarioPAConnettoreHeadersEnabled;
  27221.     }
  27222.    
  27223.     private Boolean isTransazioniFileTraceDumpBinarioReleaseInLastTrackingPhase = null;
  27224.     public boolean isTransazioniFileTraceDumpBinarioReleaseInLastTrackingPhase() {  
  27225.         if(this.isTransazioniFileTraceDumpBinarioReleaseInLastTrackingPhase==null){
  27226.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.dumpBinario.releaseInLastTrackingPhase";
  27227.             try{
  27228.                 String name = null;
  27229.                 name = this.reader.getValueConvertEnvProperties(pName);
  27230.                 if(name==null || "".equals(name)){
  27231.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,true));
  27232.                     name=""+true;
  27233.                 }
  27234.                 name = name.trim();
  27235.                 this.isTransazioniFileTraceDumpBinarioReleaseInLastTrackingPhase = Boolean.parseBoolean(name);
  27236.             } catch(java.lang.Exception e) {
  27237.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+true+" : "+e.getMessage(),e);
  27238.                 this.isTransazioniFileTraceDumpBinarioReleaseInLastTrackingPhase = true;
  27239.             }    
  27240.         }

  27241.         return this.isTransazioniFileTraceDumpBinarioReleaseInLastTrackingPhase;
  27242.     }

  27243.     private File getTransazioniFileTraceConfig = null;
  27244.     public File getTransazioniFileTraceConfig() throws CoreException {  
  27245.         if(this.getTransazioniFileTraceConfig==null){
  27246.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.config";
  27247.             try{
  27248.                 String name = null;
  27249.                 name = this.reader.getValueConvertEnvProperties(pName);
  27250.                 if(name==null){
  27251.                     throw new CoreException("Proprieta' non impostata");
  27252.                 }
  27253.                 name = name.trim();
  27254.                
  27255.                 this.getTransazioniFileTraceConfig = ConfigurazioneTracciamento.toFileTraceConfig(name, this.getRootDirectory(), false);
  27256.                
  27257.             } catch(java.lang.Exception e) {
  27258.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  27259.                 throw new CoreException(e.getMessage(),e);
  27260.             }    
  27261.         }

  27262.         return this.getTransazioniFileTraceConfig;
  27263.     }
  27264.    
  27265.     public FileTraceGovWayState getFileTraceGovWayState() {
  27266.         FileTraceGovWayState state = new FileTraceGovWayState();
  27267.         state.setEnabled(this.isTransazioniFileTraceEnabled());
  27268.         if(state.isEnabled()) {
  27269.             try {
  27270.                 state.setPath(this.getTransazioniFileTraceConfig().getAbsolutePath());
  27271.             }catch(Exception e) {
  27272.                 state.setPath("ERROR: "+e.getMessage());
  27273.             }
  27274.             state.setEnabledInErogazione(this.isTransazioniFileTraceDumpBinarioPAEnabled());
  27275.             if(this.isTransazioniFileTraceDumpBinarioPAEnabled()) {
  27276.                 state.setEnabledInErogazione_headers(this.isTransazioniFileTraceDumpBinarioPAHeadersEnabled());
  27277.                 state.setEnabledInErogazione_payload(this.isTransazioniFileTraceDumpBinarioPAPayloadEnabled());
  27278.             }
  27279.            
  27280.             state.setEnabledOutErogazione(this.isTransazioniFileTraceDumpBinarioPAConnettoreEnabled());
  27281.             if(this.isTransazioniFileTraceDumpBinarioPAConnettoreEnabled()) {
  27282.                 state.setEnabledOutErogazione_headers(this.isTransazioniFileTraceDumpBinarioPAConnettoreHeadersEnabled());
  27283.                 state.setEnabledOutErogazione_payload(this.isTransazioniFileTraceDumpBinarioPAConnettorePayloadEnabled());
  27284.             }
  27285.            
  27286.             state.setEnabledInFruizione(this.isTransazioniFileTraceDumpBinarioPDEnabled());
  27287.             if(this.isTransazioniFileTraceDumpBinarioPDEnabled()) {
  27288.                 state.setEnabledInFruizione_headers(this.isTransazioniFileTraceDumpBinarioPDHeadersEnabled());
  27289.                 state.setEnabledInFruizione_payload(this.isTransazioniFileTraceDumpBinarioPDPayloadEnabled());
  27290.             }
  27291.            
  27292.             state.setEnabledOutFruizione(this.isTransazioniFileTraceDumpBinarioPDConnettoreEnabled());
  27293.             if(this.isTransazioniFileTraceDumpBinarioPDConnettoreEnabled()) {
  27294.                 state.setEnabledOutFruizione_headers(this.isTransazioniFileTraceDumpBinarioPDConnettoreHeadersEnabled());
  27295.                 state.setEnabledOutFruizione_payload(this.isTransazioniFileTraceDumpBinarioPDConnettorePayloadEnabled());
  27296.             }
  27297.         }
  27298.         return state;
  27299.     }
  27300.    
  27301.    
  27302.     /* ------------- Testsuite ---------------------*/
  27303.    
  27304.     private String getTransazioniTestsuiteManuallyFaultHeaderDBBeforeCommit = null;
  27305.     private Boolean getTransazioniTestsuiteManuallyFaultHeaderDBBeforeCommitRead = null;
  27306.     public String getTransazioniTestsuiteManuallyFaultHeaderDBBeforeCommit() throws CoreException {
  27307.         if(this.getTransazioniTestsuiteManuallyFaultHeaderDBBeforeCommitRead==null){
  27308.             String pName = "org.openspcoop2.pdd.transazioni.testsuite.manuallyFaultHeader.db.beforeCommit";
  27309.             try{
  27310.                 String name = null;
  27311.                 name = this.reader.getValueConvertEnvProperties(pName);
  27312.                 if(name!=null){
  27313.                     name = name.trim();
  27314.                     this.getTransazioniTestsuiteManuallyFaultHeaderDBBeforeCommit = name;
  27315.                 }
  27316.             } catch(java.lang.Exception e) {
  27317.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  27318.                 throw new CoreException(e.getMessage(),e);
  27319.             }    
  27320.             this.getTransazioniTestsuiteManuallyFaultHeaderDBBeforeCommitRead=true;
  27321.         }

  27322.         return this.getTransazioniTestsuiteManuallyFaultHeaderDBBeforeCommit;
  27323.     }
  27324.    
  27325.     private String getTransazioniTestsuiteManuallyFaultHeaderFileTraceBeforeLog = null;
  27326.     private Boolean getTransazioniTestsuiteManuallyFaultHeaderFileTraceBeforeLogRead = null;
  27327.     public String getTransazioniTestsuiteManuallyFaultHeaderFileTraceBeforeLog() throws CoreException {
  27328.         if(this.getTransazioniTestsuiteManuallyFaultHeaderFileTraceBeforeLogRead==null){
  27329.             String pName = "org.openspcoop2.pdd.transazioni.testsuite.manuallyFaultHeader.fileTrace.beforeLog";
  27330.             try{
  27331.                 String name = null;
  27332.                 name = this.reader.getValueConvertEnvProperties(pName);
  27333.                 if(name!=null){
  27334.                     name = name.trim();
  27335.                     this.getTransazioniTestsuiteManuallyFaultHeaderFileTraceBeforeLog = name;
  27336.                 }
  27337.             } catch(java.lang.Exception e) {
  27338.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  27339.                 throw new CoreException(e.getMessage(),e);
  27340.             }    
  27341.             this.getTransazioniTestsuiteManuallyFaultHeaderFileTraceBeforeLogRead=true;
  27342.         }

  27343.         return this.getTransazioniTestsuiteManuallyFaultHeaderFileTraceBeforeLog;
  27344.     }
  27345.    
  27346.     /* ------------- Eventi ---------------------*/
  27347.    
  27348.     private Boolean isEventiEnabled = null;
  27349.     public boolean isEventiEnabled() {  
  27350.         if(this.isEventiEnabled==null){
  27351.             try{
  27352.                 String name = null;
  27353.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.eventi.enabled");
  27354.                 if(name==null){
  27355.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.eventi.enabled' non impostata, viene utilizzato il default=true");
  27356.                     name="true";
  27357.                 }
  27358.                 name = name.trim();
  27359.                 this.isEventiEnabled = Boolean.parseBoolean(name);
  27360.             } catch(java.lang.Exception e) {
  27361.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.eventi.enabled', viene utilizzato il default=true : "+e.getMessage(),e);
  27362.                 this.isEventiEnabled = true;
  27363.             }    
  27364.         }

  27365.         return this.isEventiEnabled;
  27366.     }
  27367.    
  27368.     private Boolean isEventiDebug = null;
  27369.     public boolean isEventiDebug() {    
  27370.         if(this.isEventiDebug==null){
  27371.             try{
  27372.                 String name = null;
  27373.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.eventi.debug");
  27374.                 if(name==null){
  27375.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.eventi.debug' non impostata, viene utilizzato il default=true");
  27376.                     name="true";
  27377.                 }
  27378.                 name = name.trim();
  27379.                 this.isEventiDebug = Boolean.parseBoolean(name);
  27380.             } catch(java.lang.Exception e) {
  27381.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.eventi.debug', viene utilizzato il default=true : "+e.getMessage(),e);
  27382.                 this.isEventiDebug = true;
  27383.             }    
  27384.         }

  27385.         return this.isEventiDebug;
  27386.     }
  27387.    
  27388.     private Boolean isEventiRegistrazioneStatoPorta = null;
  27389.     public boolean isEventiRegistrazioneStatoPorta() {  
  27390.         if(this.isEventiRegistrazioneStatoPorta==null){
  27391.             try{
  27392.                 String name = null;
  27393.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.eventi.registraStatoPorta");
  27394.                 if(name==null){
  27395.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.eventi.registraStatoPorta' non impostata, viene utilizzato il default=true");
  27396.                     name="true";
  27397.                 }
  27398.                 name = name.trim();
  27399.                 this.isEventiRegistrazioneStatoPorta = Boolean.parseBoolean(name);
  27400.             } catch(java.lang.Exception e) {
  27401.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.eventi.registraStatoPorta', viene utilizzato il default=true : "+e.getMessage(),e);
  27402.                 this.isEventiRegistrazioneStatoPorta = true;
  27403.             }    
  27404.         }

  27405.         return this.isEventiRegistrazioneStatoPorta;
  27406.     }
  27407.    
  27408.     private Boolean isEventiTimerEnabled = null;
  27409.     public boolean isEventiTimerEnabled() {
  27410.         if(this.isEventiTimerEnabled==null){
  27411.             try{
  27412.                 String name = null;
  27413.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.eventi.timer.enabled");
  27414.                 if(name==null){
  27415.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.eventi.timer.enabled' non impostata, viene utilizzato il default=true");
  27416.                     name="true";
  27417.                 }
  27418.                 name = name.trim();
  27419.                 this.isEventiTimerEnabled = Boolean.parseBoolean(name);
  27420.             } catch(java.lang.Exception e) {
  27421.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.eventi.timer.enabled', viene utilizzato il default=true : "+e.getMessage(),e);
  27422.                 this.isEventiTimerEnabled = true;
  27423.             }    
  27424.         }

  27425.         return this.isEventiTimerEnabled;
  27426.     }
  27427.    
  27428.     private Integer getEventiTimerIntervalSeconds = null;
  27429.     public int getEventiTimerIntervalSeconds() throws CoreException {  
  27430.         if(this.getEventiTimerIntervalSeconds==null){
  27431.             try{
  27432.                 String name = null;
  27433.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.eventi.timer.seconds");
  27434.                 if(name==null){
  27435.                     throw new CoreException("Proprieta' non impostata");
  27436.                 }
  27437.                 name = name.trim();
  27438.                 this.getEventiTimerIntervalSeconds = Integer.valueOf(name);
  27439.             } catch(java.lang.Exception e) {
  27440.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.eventi.timer.seconds': "+e.getMessage(),e);
  27441.                 throw new CoreException(e.getMessage(),e);
  27442.             }    
  27443.         }

  27444.         return this.getEventiTimerIntervalSeconds;
  27445.     }
  27446.    
  27447.     private Integer getEventiTimerIntervalConnectionTimeoutEveryXTimes = null;
  27448.     public int getEventiTimerIntervalConnectionTimeoutEveryXTimes() throws CoreException {  
  27449.         if(this.getEventiTimerIntervalConnectionTimeoutEveryXTimes==null){
  27450.             String pName = "org.openspcoop2.pdd.eventi.timer.connectionTimeout.everyXtimes";
  27451.             try{
  27452.                 String name = null;
  27453.                 name = this.reader.getValueConvertEnvProperties(pName);
  27454.                 if(name==null){
  27455.                     throw new CoreException("Proprieta' non impostata");
  27456.                 }
  27457.                 name = name.trim();
  27458.                 this.getEventiTimerIntervalConnectionTimeoutEveryXTimes = Integer.valueOf(name);
  27459.                 if(this.getEventiTimerIntervalConnectionTimeoutEveryXTimes<=0) {
  27460.                     this.getEventiTimerIntervalConnectionTimeoutEveryXTimes = 1;
  27461.                 }
  27462.             } catch(java.lang.Exception e) {
  27463.                 this.logWarn("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+5+" : "+e.getMessage(),e);
  27464.                 this.getEventiTimerIntervalConnectionTimeoutEveryXTimes = 5;
  27465.             }    
  27466.         }

  27467.         return this.getEventiTimerIntervalConnectionTimeoutEveryXTimes;
  27468.     }
  27469.    
  27470.     private Integer getEventiTimerIntervalRequestReadTimeoutEveryXTimes = null;
  27471.     public int getEventiTimerIntervalRequestReadTimeoutEveryXTimes() throws CoreException {
  27472.         if(this.getEventiTimerIntervalRequestReadTimeoutEveryXTimes==null){
  27473.             String pName = "org.openspcoop2.pdd.eventi.timer.requestReadTimeout.everyXtimes";
  27474.             try{
  27475.                 String name = null;
  27476.                 name = this.reader.getValueConvertEnvProperties(pName);
  27477.                 if(name==null){
  27478.                     throw new CoreException("Proprieta' non impostata");
  27479.                 }
  27480.                 name = name.trim();
  27481.                 this.getEventiTimerIntervalRequestReadTimeoutEveryXTimes = Integer.valueOf(name);
  27482.                 if(this.getEventiTimerIntervalRequestReadTimeoutEveryXTimes<=0) {
  27483.                     this.getEventiTimerIntervalRequestReadTimeoutEveryXTimes = 1;
  27484.                 }
  27485.             } catch(java.lang.Exception e) {
  27486.                 this.logWarn("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=5 : "+e.getMessage(),e);
  27487.                 this.getEventiTimerIntervalRequestReadTimeoutEveryXTimes = 5;
  27488.             }    
  27489.         }

  27490.         return this.getEventiTimerIntervalRequestReadTimeoutEveryXTimes;
  27491.     }
  27492.    
  27493.     private Integer getEventiTimerIntervalReadTimeoutEveryXTimes = null;
  27494.     public int getEventiTimerIntervalReadTimeoutEveryXTimes() throws CoreException {    
  27495.         if(this.getEventiTimerIntervalReadTimeoutEveryXTimes==null){
  27496.             String pName = "org.openspcoop2.pdd.eventi.timer.readTimeout.everyXtimes";
  27497.             try{
  27498.                 String name = null;
  27499.                 name = this.reader.getValueConvertEnvProperties(pName);
  27500.                 if(name==null){
  27501.                     throw new CoreException("Proprieta' non impostata");
  27502.                 }
  27503.                 name = name.trim();
  27504.                 this.getEventiTimerIntervalReadTimeoutEveryXTimes = Integer.valueOf(name);
  27505.                 if(this.getEventiTimerIntervalReadTimeoutEveryXTimes<=0) {
  27506.                     this.getEventiTimerIntervalReadTimeoutEveryXTimes = 1;
  27507.                 }
  27508.             } catch(java.lang.Exception e) {
  27509.                 this.logWarn("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=5 : "+e.getMessage(),e);
  27510.                 this.getEventiTimerIntervalReadTimeoutEveryXTimes = 5;
  27511.             }    
  27512.         }

  27513.         return this.getEventiTimerIntervalReadTimeoutEveryXTimes;
  27514.     }
  27515.    
  27516.    
  27517.    
  27518.    
  27519.     /* ------------- Repository ---------------------*/
  27520.    
  27521.     private File getFileSystemRecoveryRepository = null;
  27522.     public File getFileSystemRecoveryRepository() throws CoreException {    
  27523.         if(this.getFileSystemRecoveryRepository==null){
  27524.             try{
  27525.                 String name = null;
  27526.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.resources.fileSystemRecovery.repository");
  27527.                 if(name==null){
  27528.                     throw new CoreException("Proprieta' non impostata");
  27529.                 }
  27530.                 name = LoggerWrapperFactory.applyClusterIdStrategy(name.trim(), "resources");
  27531.                 this.getFileSystemRecoveryRepository = new File(name);
  27532.                 checkFileSystemRecoveryRepository();
  27533.             } catch(java.lang.Exception e) {
  27534.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.resources.fileSystemRecovery.repository': "+e.getMessage(),e);
  27535.                 throw new CoreException(e.getMessage(),e);
  27536.             }    
  27537.         }

  27538.         return this.getFileSystemRecoveryRepository;
  27539.     }
  27540.     private void checkFileSystemRecoveryRepository() throws CoreException {
  27541.         if(this.getFileSystemRecoveryRepository.exists()) {
  27542.             if(!this.getFileSystemRecoveryRepository.isDirectory()) {
  27543.                 throw newCoreExceptionNotDir(this.getFileSystemRecoveryRepository,true);
  27544.             }
  27545.             if(!this.getFileSystemRecoveryRepository.canRead()) {
  27546.                 throw newCoreExceptionCannotRead(this.getFileSystemRecoveryRepository,true);
  27547.             }
  27548.             if(!this.getFileSystemRecoveryRepository.canWrite()) {
  27549.                 throw newCoreExceptionCannotWrite(this.getFileSystemRecoveryRepository,true);
  27550.             }
  27551.         }
  27552.         else {
  27553.             // viene creata automaticamente
  27554.         }
  27555.     }
  27556.    
  27557.     private Boolean isFileSystemRecoveryDebug = null;
  27558.     public boolean isFileSystemRecoveryDebug() {    
  27559.         if(this.isFileSystemRecoveryDebug==null){
  27560.             try{
  27561.                 String name = null;
  27562.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.resources.fileSystemRecovery.debug");
  27563.                 if(name==null){
  27564.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.resources.fileSystemRecovery.debug' non impostata, viene utilizzato il default=true");
  27565.                     name="true";
  27566.                 }
  27567.                 name = name.trim();
  27568.                 this.isFileSystemRecoveryDebug = Boolean.parseBoolean(name);
  27569.             } catch(java.lang.Exception e) {
  27570.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.resources.fileSystemRecovery.debug', viene utilizzato il default=true : "+e.getMessage(),e);
  27571.                 this.isFileSystemRecoveryDebug = true;
  27572.             }    
  27573.         }

  27574.         return this.isFileSystemRecoveryDebug;
  27575.     }
  27576.    
  27577.     private Boolean isFileSystemRecoveryTimerEnabled = null;
  27578.     public boolean isFileSystemRecoveryTimerEnabled() {
  27579.         if(this.isFileSystemRecoveryTimerEnabled==null){
  27580.             try{
  27581.                 String name = null;
  27582.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.resources.fileSystemRecovery.enabled");
  27583.                 if(name==null){
  27584.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.resources.fileSystemRecovery.enabled' non impostata, viene utilizzato il default=true");
  27585.                     name="true";
  27586.                 }
  27587.                 name = name.trim();
  27588.                 this.isFileSystemRecoveryTimerEnabled = Boolean.parseBoolean(name);
  27589.             } catch(java.lang.Exception e) {
  27590.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.resources.fileSystemRecovery.enabled', viene utilizzato il default=true : "+e.getMessage(),e);
  27591.                 this.isFileSystemRecoveryTimerEnabled = true;
  27592.             }    
  27593.         }

  27594.         return this.isFileSystemRecoveryTimerEnabled;
  27595.     }
  27596.    
  27597.     private Integer getFileSystemRecoveryTimerIntervalSeconds = null;
  27598.     public int getFileSystemRecoveryTimerIntervalSeconds() throws CoreException {  
  27599.         if(this.getFileSystemRecoveryTimerIntervalSeconds==null){
  27600.             try{
  27601.                 String name = null;
  27602.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.resources.fileSystemRecovery.timeout");
  27603.                 if(name==null){
  27604.                     throw new CoreException("Proprieta' non impostata");
  27605.                 }
  27606.                 name = name.trim();
  27607.                 this.getFileSystemRecoveryTimerIntervalSeconds = Integer.valueOf(name);
  27608.             } catch(java.lang.Exception e) {
  27609.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.resources.fileSystemRecovery.timeout': "+e.getMessage(),e);
  27610.                 throw new CoreException(e.getMessage(),e);
  27611.             }    
  27612.         }

  27613.         return this.getFileSystemRecoveryTimerIntervalSeconds;
  27614.     }
  27615.        
  27616.     private Integer getFileSystemRecoveryTimerMaxAttempts = null;
  27617.     public int getFileSystemRecoveryMaxAttempts() throws CoreException {    
  27618.         if(this.getFileSystemRecoveryTimerMaxAttempts==null){
  27619.             try{
  27620.                 String name = null;
  27621.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.resources.fileSystemRecovery.maxAttempts");
  27622.                 if(name==null){
  27623.                     throw new CoreException("Proprieta' non impostata");
  27624.                 }
  27625.                 name = name.trim();
  27626.                 this.getFileSystemRecoveryTimerMaxAttempts = Integer.valueOf(name);
  27627.             } catch(java.lang.Exception e) {
  27628.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.resources.fileSystemRecovery.maxAttempts': "+e.getMessage(),e);
  27629.                 throw new CoreException(e.getMessage(),e);
  27630.             }    
  27631.         }

  27632.         return this.getFileSystemRecoveryTimerMaxAttempts;
  27633.     }
  27634.    
  27635.     private Boolean isFileSystemRecoveryTimerEventEnabled = null;
  27636.     public boolean isFileSystemRecoveryTimerEventEnabled() {    
  27637.         if(this.isFileSystemRecoveryTimerEventEnabled==null){
  27638.             try{
  27639.                 String name = null;
  27640.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.resources.fileSystemRecovery.events.enabled");
  27641.                 if(name==null){
  27642.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.resources.fileSystemRecovery.events.enabled' non impostata, viene utilizzato il default=true");
  27643.                     name="true";
  27644.                 }
  27645.                 name = name.trim();
  27646.                 this.isFileSystemRecoveryTimerEventEnabled = Boolean.parseBoolean(name);
  27647.             } catch(java.lang.Exception e) {
  27648.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.resources.fileSystemRecovery.events.enabled', viene utilizzato il default=true : "+e.getMessage(),e);
  27649.                 this.isFileSystemRecoveryTimerEventEnabled = true;
  27650.             }    
  27651.         }

  27652.         return this.isFileSystemRecoveryTimerEventEnabled;
  27653.     }
  27654.    
  27655.     private Boolean isFileSystemRecoveryTimerTransactionEnabled = null;
  27656.     public boolean isFileSystemRecoveryTimerTransactionEnabled() {  
  27657.         if(this.isFileSystemRecoveryTimerTransactionEnabled==null){
  27658.             try{
  27659.                 String name = null;
  27660.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.resources.fileSystemRecovery.transaction.enabled");
  27661.                 if(name==null){
  27662.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.resources.fileSystemRecovery.transaction.enabled' non impostata, viene utilizzato il default=true");
  27663.                     name="true";
  27664.                 }
  27665.                 name = name.trim();
  27666.                 this.isFileSystemRecoveryTimerTransactionEnabled = Boolean.parseBoolean(name);
  27667.             } catch(java.lang.Exception e) {
  27668.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.resources.fileSystemRecovery.transaction.enabled', viene utilizzato il default=true : "+e.getMessage(),e);
  27669.                 this.isFileSystemRecoveryTimerTransactionEnabled = true;
  27670.             }    
  27671.         }

  27672.         return this.isFileSystemRecoveryTimerTransactionEnabled;
  27673.     }
  27674.    
  27675.     private Long getFileSystemRecoveryEventsProcessingFileAfterMs = null;
  27676.     public long getFileSystemRecoveryEventsProcessingFileAfterMs() throws CoreException {  
  27677.         if(this.getFileSystemRecoveryEventsProcessingFileAfterMs==null){
  27678.             String pName = "org.openspcoop2.pdd.resources.fileSystemRecovery.events.processingFileAfterMs";
  27679.             try{
  27680.                 String name = null;
  27681.                 name = this.reader.getValueConvertEnvProperties(pName);
  27682.                 if(name==null){
  27683.                     throw new CoreException("Proprieta' non impostata");
  27684.                 }
  27685.                 name = name.trim();
  27686.                 this.getFileSystemRecoveryEventsProcessingFileAfterMs = Long.valueOf(name);
  27687.             } catch(java.lang.Exception e) {
  27688.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  27689.                 throw new CoreException(e.getMessage(),e);
  27690.             }    
  27691.         }

  27692.         return this.getFileSystemRecoveryEventsProcessingFileAfterMs;
  27693.     }
  27694.    
  27695.     private Long getFileSystemRecoveryTransactionProcessingFileAfterMs = null;
  27696.     public long getFileSystemRecoveryTransactionProcessingFileAfterMs() throws CoreException {  
  27697.         if(this.getFileSystemRecoveryTransactionProcessingFileAfterMs==null){
  27698.             String pName = "org.openspcoop2.pdd.resources.fileSystemRecovery.transaction.processingFileAfterMs";
  27699.             try{
  27700.                 String name = null;
  27701.                 name = this.reader.getValueConvertEnvProperties(pName);
  27702.                 if(name==null){
  27703.                     throw new CoreException("Proprieta' non impostata");
  27704.                 }
  27705.                 name = name.trim();
  27706.                 this.getFileSystemRecoveryTransactionProcessingFileAfterMs = Long.valueOf(name);
  27707.             } catch(java.lang.Exception e) {
  27708.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  27709.                 throw new CoreException(e.getMessage(),e);
  27710.             }    
  27711.         }

  27712.         return this.getFileSystemRecoveryTransactionProcessingFileAfterMs;
  27713.     }
  27714.    
  27715.    
  27716.    
  27717.    
  27718.    
  27719.     /* ------------- Controllo Traffico ---------------------*/
  27720.    
  27721.     private Boolean isControlloTrafficoEnabled = null;
  27722.     public boolean isControlloTrafficoEnabled() {  
  27723.         if(this.isControlloTrafficoEnabled==null){
  27724.             try{
  27725.                 if(CostantiConfigurazione.CONFIGURAZIONE_XML.equalsIgnoreCase(getTipoConfigurazionePDD())){
  27726.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.enabled' ignorata. Il controllo del traffico e' disabilitato sulla configurazione xml");
  27727.                     this.isControlloTrafficoEnabled = false;
  27728.                 }
  27729.                 else {
  27730.                     String name = null;
  27731.                     name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.enabled");
  27732.                     if(name==null){
  27733.                         this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.enabled' non impostata, viene utilizzato il default=true");
  27734.                         name="true";
  27735.                     }
  27736.                     name = name.trim();
  27737.                     this.isControlloTrafficoEnabled = Boolean.parseBoolean(name);
  27738.                 }
  27739.             } catch(java.lang.Exception e) {
  27740.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.enabled', viene utilizzato il default=true : "+e.getMessage(),e);
  27741.                 this.isControlloTrafficoEnabled = true;
  27742.             }    
  27743.         }

  27744.         return this.isControlloTrafficoEnabled;
  27745.     }
  27746.    
  27747.     private Boolean isControlloTrafficoDebug = null;
  27748.     public boolean isControlloTrafficoDebug() {
  27749.         if(this.isControlloTrafficoDebug==null){
  27750.             try{
  27751.                 String name = null;
  27752.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.debug");
  27753.                 if(name==null){
  27754.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.debug' non impostata, viene utilizzato il default=true");
  27755.                     name="true";
  27756.                 }
  27757.                 name = name.trim();
  27758.                 this.isControlloTrafficoDebug = Boolean.parseBoolean(name);
  27759.             } catch(java.lang.Exception e) {
  27760.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.debug', viene utilizzato il default=true : "+e.getMessage(),e);
  27761.                 this.isControlloTrafficoDebug = true;
  27762.             }    
  27763.         }

  27764.         return this.isControlloTrafficoDebug;
  27765.     }
  27766.    
  27767.     private Boolean isControlloTrafficoViolazioneGenerazioneErroreGenerico = null;
  27768.     private boolean isControlloTrafficoViolazioneGenerazioneErroreGenerico() {  
  27769.         if(this.isControlloTrafficoViolazioneGenerazioneErroreGenerico==null){
  27770.             try{
  27771.                 String name = null;
  27772.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.erroreGenerico");
  27773.                 if(name==null){
  27774.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.erroreGenerico' non impostata, viene utilizzato il default=true");
  27775.                     name="true";
  27776.                 }
  27777.                 name = name.trim();
  27778.                 this.isControlloTrafficoViolazioneGenerazioneErroreGenerico = Boolean.parseBoolean(name);
  27779.             } catch(java.lang.Exception e) {
  27780.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.erroreGenerico', viene utilizzato il default=true : "+e.getMessage(),e);
  27781.                 this.isControlloTrafficoViolazioneGenerazioneErroreGenerico = true;
  27782.             }    
  27783.         }

  27784.         return this.isControlloTrafficoViolazioneGenerazioneErroreGenerico;
  27785.     }
  27786.    
  27787.     private Boolean isControlloTrafficoPolicyLetturaDaCacheDinamica = null;
  27788.     private boolean isControlloTrafficoPolicyLetturaDaCacheDinamica() {
  27789.         if(this.isControlloTrafficoPolicyLetturaDaCacheDinamica==null){
  27790.             try{
  27791.                 String name = null;
  27792.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.policy.readWithDynamicCache");
  27793.                 if(name==null){
  27794.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.policy.readWithDynamicCache' non impostata, viene utilizzato il default=true");
  27795.                     name="true";
  27796.                 }
  27797.                 name = name.trim();
  27798.                 this.isControlloTrafficoPolicyLetturaDaCacheDinamica = Boolean.parseBoolean(name);
  27799.             } catch(java.lang.Exception e) {
  27800.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.policy.readWithDynamicCache', viene utilizzato il default=true : "+e.getMessage(),e);
  27801.                 this.isControlloTrafficoPolicyLetturaDaCacheDinamica = true;
  27802.             }    
  27803.         }

  27804.         return this.isControlloTrafficoPolicyLetturaDaCacheDinamica;
  27805.     }
  27806.    
  27807.     private Map<String, int[]> getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaDelegata = new HashMap<>();
  27808.     private int[] getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaDelegata(String protocollo) throws CoreException{
  27809.         if(!this.getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaDelegata.containsKey(protocollo)){
  27810.             EsitiProperties esitiProperties = null;
  27811.             try{
  27812.                 esitiProperties =EsitiProperties.getInstanceFromProtocolName(this.log,protocollo);
  27813.             }catch(Exception e) {
  27814.                 throw new CoreException(e.getMessage(),e);
  27815.             }
  27816.             try{
  27817.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.calcoloLatenza.portaDelegata.esitiConsiderati");
  27818.                 if(value!=null){
  27819.                     value = value.trim();
  27820.                     String [] split = value.split(",");
  27821.                     List<Integer> lInt = new ArrayList<>();
  27822.                     for (int i = 0; i < split.length; i++) {
  27823.                         String s = split[i].trim();
  27824.                         int e = -1;
  27825.                         try{
  27826.                             e = Integer.parseInt(s);
  27827.                         }catch(Exception eParse){
  27828.                             throw new CoreException("Valore ["+s+"] non riconosciuto come esito valido: "+eParse.getMessage(),eParse);
  27829.                         }
  27830.                         if(esitiProperties.existsEsitoCode(e)==false){
  27831.                             continue; // non supportato dal protocollo
  27832.                         }
  27833.                         lInt.add(e);
  27834.                     }
  27835.                     if(lInt.isEmpty()) {
  27836.                         throw new CoreException("Nessun valore è utilizzabile per il protocollo '"+protocollo+"'");
  27837.                     }
  27838.                     int [] tmp = new int[lInt.size()];
  27839.                     for (int i = 0; i < lInt.size(); i++) {
  27840.                         tmp[i] = lInt.get(i);
  27841.                     }
  27842.                     this.getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaDelegata.put(protocollo, tmp);
  27843.                 }
  27844.                 else{
  27845.                     // default
  27846.                     int defaultEsito = esitiProperties.convertoToCode(EsitoTransazioneName.OK);
  27847.                     this.logWarn("Proprieta' non presente [org.openspcoop2.pdd.controlloTraffico.calcoloLatenza.portaDelegata.esitiConsiderati] (Uso il default '"+EsitoTransazioneName.OK+"="+defaultEsito+"')");
  27848.                     int [] tmp = new int[1];
  27849.                     tmp[0] = defaultEsito;
  27850.                     this.getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaDelegata.put(protocollo, tmp);
  27851.                 }

  27852.             }catch(Exception e){
  27853.                 // default
  27854.                 int defaultEsito = -1;
  27855.                 try{
  27856.                     defaultEsito = esitiProperties.convertoToCode(EsitoTransazioneName.OK);
  27857.                 }catch(Exception eEsito) {
  27858.                     throw new CoreException(eEsito.getMessage(),eEsito);
  27859.                 }
  27860.                 this.logError("Errore durante la lettura della proprieta' [org.openspcoop2.pdd.controlloTraffico.calcoloLatenza.portaDelegata.esitiConsideratii] (Uso il default '"+EsitoTransazioneName.OK+"="+defaultEsito+"'): "+e.getMessage(),e);
  27861.                 int [] tmp = new int[1];
  27862.                 tmp[0] = defaultEsito;
  27863.                 this.getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaDelegata.put(protocollo, tmp);
  27864.             }
  27865.         }
  27866.         return this.getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaDelegata.get(protocollo);
  27867.     }
  27868.    
  27869.     private Map<String, int[]> getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaApplicativa = new HashMap<>();
  27870.     private int[] getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaApplicativa(String protocollo) throws CoreException{
  27871.         if(!this.getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaApplicativa.containsKey(protocollo)){
  27872.             EsitiProperties esitiProperties = null;
  27873.             try{
  27874.                 esitiProperties = EsitiProperties.getInstanceFromProtocolName(this.log,protocollo);
  27875.             }catch(Exception e) {
  27876.                 throw new CoreException(e.getMessage(),e);
  27877.             }
  27878.             try{
  27879.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.calcoloLatenza.portaApplicativa.esitiConsiderati");
  27880.                 if(value!=null){
  27881.                     value = value.trim();
  27882.                     String [] split = value.split(",");
  27883.                     List<Integer> lInt = new ArrayList<>();
  27884.                     for (int i = 0; i < split.length; i++) {
  27885.                         String s = split[i].trim();
  27886.                         int e = -1;
  27887.                         try{
  27888.                             e = Integer.parseInt(s);
  27889.                         }catch(Exception eParse){
  27890.                             throw new CoreException("Valore ["+s+"] non riconosciuto come esito valido: "+eParse.getMessage(),eParse);
  27891.                         }
  27892.                         if(esitiProperties.existsEsitoCode(e)==false){
  27893.                             continue; // non supportato dal protocollo
  27894.                         }
  27895.                         lInt.add(e);
  27896.                     }
  27897.                     if(lInt.isEmpty()) {
  27898.                         throw new CoreException("Nessun valore è utilizzabile per il protocollo '"+protocollo+"'");
  27899.                     }
  27900.                     int [] tmp = new int[lInt.size()];
  27901.                     for (int i = 0; i < lInt.size(); i++) {
  27902.                         tmp[i] = lInt.get(i);
  27903.                     }
  27904.                     this.getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaApplicativa.put(protocollo, tmp);
  27905.                 }
  27906.                 else{
  27907.                     // default
  27908.                     int defaultEsito = esitiProperties.convertoToCode(EsitoTransazioneName.OK);
  27909.                     this.logWarn("Proprieta' non presente [org.openspcoop2.pdd.controlloTraffico.calcoloLatenza.portaApplicativa.esitiConsiderati] (Uso il default '"+EsitoTransazioneName.OK+"="+defaultEsito+"')");
  27910.                     int [] tmp = new int[1];
  27911.                     tmp[0] = defaultEsito;
  27912.                     this.getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaApplicativa.put(protocollo, tmp);
  27913.                 }

  27914.             }catch(Exception e){
  27915.                 // default
  27916.                 int defaultEsito = -1;
  27917.                 try{
  27918.                     defaultEsito = esitiProperties.convertoToCode(EsitoTransazioneName.OK);
  27919.                 }catch(Exception eEsito) {
  27920.                     throw new CoreException(eEsito.getMessage(),eEsito);
  27921.                 }
  27922.                 this.logError("Errore durante la lettura della proprieta' [org.openspcoop2.pdd.controlloTraffico.calcoloLatenza.portaApplicativa.esitiConsideratii] (Uso il default '"+EsitoTransazioneName.OK+"="+defaultEsito+"'): "+e.getMessage(),e);
  27923.                 int [] tmp = new int[1];
  27924.                 tmp[0] = defaultEsito;
  27925.                 this.getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaApplicativa.put(protocollo, tmp);
  27926.             }
  27927.         }
  27928.         return this.getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaApplicativa.get(protocollo);
  27929.     }
  27930.    
  27931.     private Boolean isControlloTrafficoStatisticheFinestraScorrevoleGestioneUltimoIntervallo = null;
  27932.     private boolean isControlloTrafficoStatisticheFinestraScorrevoleGestioneUltimoIntervallo() {    
  27933.         if(this.isControlloTrafficoStatisticheFinestraScorrevoleGestioneUltimoIntervallo==null){
  27934.             try{
  27935.                 String name = null;
  27936.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.statistiche.finestraScorrevole.gestioneUltimoIntervallo");
  27937.                 if(name==null){
  27938.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.statistiche.finestraScorrevole.gestioneUltimoIntervallo' non impostata, viene utilizzato il default=true");
  27939.                     name="true";
  27940.                 }
  27941.                 name = name.trim();
  27942.                 this.isControlloTrafficoStatisticheFinestraScorrevoleGestioneUltimoIntervallo = Boolean.parseBoolean(name);
  27943.             } catch(java.lang.Exception e) {
  27944.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.statistiche.finestraScorrevole.gestioneUltimoIntervallo', viene utilizzato il default=true : "+e.getMessage(),e);
  27945.                 this.isControlloTrafficoStatisticheFinestraScorrevoleGestioneUltimoIntervallo = true;
  27946.             }    
  27947.         }

  27948.         return this.isControlloTrafficoStatisticheFinestraScorrevoleGestioneUltimoIntervallo;
  27949.     }
  27950.    
  27951.     private Boolean isControlloTrafficoStatisticheDistribuzioneSettimanaleUsaStatisticheGiornaliere = null;
  27952.     private boolean isControlloTrafficoStatisticheDistribuzioneSettimanaleUsaStatisticheGiornaliere() {
  27953.         if(this.isControlloTrafficoStatisticheDistribuzioneSettimanaleUsaStatisticheGiornaliere==null){
  27954.             String pName = "org.openspcoop2.pdd.controlloTraffico.statistiche.distribuzioneSettimanale.usaStatisticheGiornaliere";
  27955.             try{
  27956.                 String name = null;
  27957.                 name = this.reader.getValueConvertEnvProperties(pName);
  27958.                 if(name==null){
  27959.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  27960.                     name="true";
  27961.                 }
  27962.                 name = name.trim();
  27963.                 this.isControlloTrafficoStatisticheDistribuzioneSettimanaleUsaStatisticheGiornaliere = Boolean.parseBoolean(name);
  27964.             } catch(java.lang.Exception e) {
  27965.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  27966.                 this.isControlloTrafficoStatisticheDistribuzioneSettimanaleUsaStatisticheGiornaliere = true;
  27967.             }    
  27968.         }

  27969.         return this.isControlloTrafficoStatisticheDistribuzioneSettimanaleUsaStatisticheGiornaliere;
  27970.     }
  27971.    
  27972.     private Boolean isControlloTrafficoStatisticheDistribuzioneMensileUsaStatisticheGiornaliere = null;
  27973.     private boolean isControlloTrafficoStatisticheDistribuzioneMensileUsaStatisticheGiornaliere() {
  27974.         if(this.isControlloTrafficoStatisticheDistribuzioneMensileUsaStatisticheGiornaliere==null){
  27975.             String pName = "org.openspcoop2.pdd.controlloTraffico.statistiche.distribuzioneMensile.usaStatisticheGiornaliere";
  27976.             try{
  27977.                 String name = null;
  27978.                 name = this.reader.getValueConvertEnvProperties(pName);
  27979.                 if(name==null){
  27980.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  27981.                     name="true";
  27982.                 }
  27983.                 name = name.trim();
  27984.                 this.isControlloTrafficoStatisticheDistribuzioneMensileUsaStatisticheGiornaliere = Boolean.parseBoolean(name);
  27985.             } catch(java.lang.Exception e) {
  27986.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  27987.                 this.isControlloTrafficoStatisticheDistribuzioneMensileUsaStatisticheGiornaliere = true;
  27988.             }    
  27989.         }

  27990.         return this.isControlloTrafficoStatisticheDistribuzioneMensileUsaStatisticheGiornaliere;
  27991.     }
  27992.    
  27993.     private Boolean isControlloTrafficoStatisticheDistribuzioneSettimanaleMensileUsaStatisticheGiornaliereLatenzaMediaPesata = null;
  27994.     private boolean isControlloTrafficoStatisticheDistribuzioneSettimanaleMensileUsaStatisticheGiornaliereLatenzaMediaPesata() {    
  27995.         if(this.isControlloTrafficoStatisticheDistribuzioneSettimanaleMensileUsaStatisticheGiornaliereLatenzaMediaPesata==null){
  27996.             String pName = "org.openspcoop2.pdd.controlloTraffico.statistiche.distribuzioneSettimanaleMensile.usaStatisticheGiornaliere.latenza.mediaPesata";
  27997.             try{
  27998.                 String name = null;
  27999.                 name = this.reader.getValueConvertEnvProperties(pName);
  28000.                 if(name==null){
  28001.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  28002.                     name="true";
  28003.                 }
  28004.                 name = name.trim();
  28005.                 this.isControlloTrafficoStatisticheDistribuzioneSettimanaleMensileUsaStatisticheGiornaliereLatenzaMediaPesata = Boolean.parseBoolean(name);
  28006.             } catch(java.lang.Exception e) {
  28007.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  28008.                 this.isControlloTrafficoStatisticheDistribuzioneSettimanaleMensileUsaStatisticheGiornaliereLatenzaMediaPesata = true;
  28009.             }    
  28010.         }

  28011.         return this.isControlloTrafficoStatisticheDistribuzioneSettimanaleMensileUsaStatisticheGiornaliereLatenzaMediaPesata;
  28012.     }
  28013.    
  28014.     private Map<String, int[]> getControlloTrafficoEsitiDaConsiderarePerViolazionePolicy = new HashMap<>();
  28015.     private int[] getControlloTrafficoEsitiDaConsiderarePerViolazionePolicy(String protocollo) throws CoreException{
  28016.         if(!this.getControlloTrafficoEsitiDaConsiderarePerViolazionePolicy.containsKey(protocollo)){
  28017.             EsitiProperties esitiProperties = null;
  28018.             try{
  28019.                 esitiProperties = EsitiProperties.getInstanceFromProtocolName(this.log, protocollo);
  28020.             }catch(Exception e) {
  28021.                 throw new CoreException(e.getMessage(),e);
  28022.             }
  28023.             try{
  28024.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.violazionePolicy.esitiConsiderati");
  28025.                 if(value!=null){
  28026.                     value = value.trim();
  28027.                     String [] split = value.split(",");
  28028.                     int [] tmp = new int[split.length];
  28029.                     for (int i = 0; i < split.length; i++) {
  28030.                         String s = split[i].trim();
  28031.                         int e = -1;
  28032.                         try{
  28033.                             e = Integer.parseInt(s);
  28034.                         }catch(Exception eParse){
  28035.                             throw new CoreException("Valore ["+s+"] non riconosciuto come esito valido: "+eParse.getMessage(),eParse);
  28036.                         }
  28037.                         if(!esitiProperties.existsEsitoCode(e)){
  28038.                             throw new CoreException("Valore ["+s+"] non riconosciuto come esito valido");
  28039.                         }
  28040.                         tmp[i] = e;
  28041.                     }
  28042.                     this.getControlloTrafficoEsitiDaConsiderarePerViolazionePolicy.put(protocollo, tmp);
  28043.                 }
  28044.                 else{
  28045.                     // default
  28046.                     int defaultEsito =  esitiProperties.convertoToCode(EsitoTransazioneName.CONTROLLO_TRAFFICO_POLICY_VIOLATA);
  28047.                     this.logWarn("Proprieta' non presente [org.openspcoop2.pdd.controlloTraffico.violazionePolicy.esitiConsiderati] (Uso il default '"+defaultEsito+"')");
  28048.                     int [] tmp = new int[1];
  28049.                     tmp[0] = defaultEsito;
  28050.                     this.getControlloTrafficoEsitiDaConsiderarePerViolazionePolicy.put(protocollo, tmp);
  28051.                 }

  28052.             }catch(Exception e){
  28053.                 // default
  28054.                 int defaultEsito = -1;
  28055.                 try {
  28056.                     defaultEsito = esitiProperties.convertoToCode(EsitoTransazioneName.CONTROLLO_TRAFFICO_POLICY_VIOLATA);
  28057.                 }catch(Exception eEsito) {
  28058.                     throw new CoreException(eEsito.getMessage(),eEsito);
  28059.                 }
  28060.                 this.logError("Errore durante la lettura della proprieta' [org.openspcoop2.pdd.controlloTraffico.violazionePolicy.esitiConsiderati] (Uso il default '"+defaultEsito+"'): "+e.getMessage(),e);
  28061.                 int [] tmp = new int[1];
  28062.                 tmp[0] = defaultEsito;
  28063.                 this.getControlloTrafficoEsitiDaConsiderarePerViolazionePolicy.put(protocollo, tmp);
  28064.             }
  28065.         }
  28066.         return this.getControlloTrafficoEsitiDaConsiderarePerViolazionePolicy.get(protocollo);
  28067.     }
  28068.    
  28069.     private EsitoTransazioneName getControlloTrafficoEsitiPolicyElaborazioneInErrore = null;
  28070.     public EsitoTransazioneName getControlloTrafficoEsitiPolicyElaborazioneInErrore(EsitiProperties esitiProperties) {  
  28071.         if(this.getControlloTrafficoEsitiPolicyElaborazioneInErrore==null){
  28072.             String pName = "org.openspcoop2.pdd.controlloTraffico.violazionePolicy.elaborazioneInErrore";
  28073.             try{
  28074.                 String name = null;
  28075.                 name = this.reader.getValueConvertEnvProperties(pName);
  28076.                 if(name==null){
  28077.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostata, viene utilizzato il default="+EsitoTransazioneName.ERRORE_PROCESSAMENTO_PDD_5XX);
  28078.                     this.getControlloTrafficoEsitiPolicyElaborazioneInErrore = EsitoTransazioneName.ERRORE_PROCESSAMENTO_PDD_5XX;
  28079.                 }
  28080.                 else {
  28081.                     name = name.trim();
  28082.                     if(esitiProperties!=null) {
  28083.                         this.getControlloTrafficoEsitiPolicyElaborazioneInErrore = esitiProperties.getEsitoTransazioneName(Integer.parseInt(name));
  28084.                     }
  28085.                     else {
  28086.                         // verrà inizializzato alla prima chiamata
  28087.                     }
  28088.                 }
  28089.             } catch(java.lang.Exception e) {
  28090.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+EsitoTransazioneName.ERRORE_PROCESSAMENTO_PDD_5XX+" : "+e.getMessage(),e);
  28091.                 this.getControlloTrafficoEsitiPolicyElaborazioneInErrore = EsitoTransazioneName.ERRORE_PROCESSAMENTO_PDD_5XX;
  28092.             }    
  28093.         }

  28094.         return this.getControlloTrafficoEsitiPolicyElaborazioneInErrore;
  28095.     }
  28096.    
  28097.     private Boolean isControlloTrafficoRealtimeIncrementaSoloPolicyApplicabile = null;
  28098.     private boolean isControlloTrafficoRealtimeIncrementaSoloPolicyApplicabile() {  
  28099.         if(this.isControlloTrafficoRealtimeIncrementaSoloPolicyApplicabile==null){
  28100.             try{
  28101.                 String name = null;
  28102.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.realtime.incrementaSoloPolicyApplicabile");
  28103.                 if(name==null){
  28104.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.realtime.incrementaSoloPolicyApplicabile' non impostata, viene utilizzato il default=false");
  28105.                     name="false";
  28106.                 }
  28107.                 name = name.trim();
  28108.                 this.isControlloTrafficoRealtimeIncrementaSoloPolicyApplicabile = Boolean.parseBoolean(name);
  28109.             } catch(java.lang.Exception e) {
  28110.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.realtime.incrementaSoloPolicyApplicabile', viene utilizzato il default=false : "+e.getMessage(),e);
  28111.                 this.isControlloTrafficoRealtimeIncrementaSoloPolicyApplicabile = false;
  28112.             }    
  28113.         }

  28114.         return this.isControlloTrafficoRealtimeIncrementaSoloPolicyApplicabile;
  28115.     }
  28116.    
  28117.     private ConfigurazioneGatewayControlloTraffico controlloTrafficoConfigurazione = null;
  28118.     public void initConfigurazioneControlloTraffico(Loader loaderOpenSPCoop, List<String> protocolli) throws CoreException{
  28119.         if(this.controlloTrafficoConfigurazione==null){
  28120.            
  28121.             this.controlloTrafficoConfigurazione = new ConfigurazioneGatewayControlloTraffico();
  28122.                        
  28123.             AccessoConfigurazionePdD config = null;
  28124.             try {
  28125.                 config = this.getAccessoConfigurazionePdD();
  28126.             }catch(Exception e) {
  28127.                 throw new CoreException(e.getMessage(),e);
  28128.             }
  28129.             this.controlloTrafficoConfigurazione.setTipoDatabaseConfig(config.getTipoDatabase());
  28130.            
  28131.             this.controlloTrafficoConfigurazione.setDebug(this.isControlloTrafficoDebug());
  28132.            
  28133.             this.controlloTrafficoConfigurazione.setErroreGenerico(this.isControlloTrafficoViolazioneGenerazioneErroreGenerico());
  28134.            
  28135.             this.controlloTrafficoConfigurazione.setPolicyReadedWithDynamicCache(this.isControlloTrafficoPolicyLetturaDaCacheDinamica());
  28136.            
  28137.             for (String protocollo : protocolli) {
  28138.                 getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaDelegata(protocollo);
  28139.                 getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaApplicativa(protocollo);
  28140.             }
  28141.             this.controlloTrafficoConfigurazione.setCalcoloLatenzaPortaDelegataEsitiConsiderati(this.getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaDelegata);
  28142.             this.controlloTrafficoConfigurazione.setCalcoloLatenzaPortaApplicativaEsitiConsiderati(this.getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaApplicativa);
  28143.            
  28144.             this.controlloTrafficoConfigurazione.setElaborazioneStatistica_finestraScorrevole_gestioneIntervalloCorrente(this.isControlloTrafficoStatisticheFinestraScorrevoleGestioneUltimoIntervallo());
  28145.            
  28146.             this.controlloTrafficoConfigurazione.setElaborazioneStatistica_distribuzioneSettimanale_usaStatisticheGiornaliere(this.isControlloTrafficoStatisticheDistribuzioneSettimanaleUsaStatisticheGiornaliere());
  28147.             this.controlloTrafficoConfigurazione.setElaborazioneStatistica_distribuzioneMensile_usaStatisticheGiornaliere(this.isControlloTrafficoStatisticheDistribuzioneMensileUsaStatisticheGiornaliere());
  28148.             this.controlloTrafficoConfigurazione.setElaborazioneStatistica_distribuzioneSettimanaleMensile_usaStatisticheGiornaliere_latenza_mediaPesata(this.isControlloTrafficoStatisticheDistribuzioneSettimanaleMensileUsaStatisticheGiornaliereLatenzaMediaPesata());
  28149.                        
  28150.             INotify notifier = this.getControlloTrafficoNotifyImpl(loaderOpenSPCoop);
  28151.             this.controlloTrafficoConfigurazione.setNotifierEnabled(notifier!=null);
  28152.             this.controlloTrafficoConfigurazione.setNotifier(notifier);
  28153.            
  28154.             for (String protocollo : protocolli) {
  28155.                 getControlloTrafficoEsitiDaConsiderarePerViolazionePolicy(protocollo);
  28156.             }
  28157.             this.controlloTrafficoConfigurazione.setEsitiPolicyViolate(this.getControlloTrafficoEsitiDaConsiderarePerViolazionePolicy);
  28158.            
  28159.             getControlloTrafficoEsitiPolicyElaborazioneInErrore(null);
  28160.            
  28161.             this.controlloTrafficoConfigurazione.setElaborazioneRealtime_incrementaSoloPolicyApplicabile(this.isControlloTrafficoRealtimeIncrementaSoloPolicyApplicabile());
  28162.         }
  28163.     }
  28164.     public ConfigurazioneGatewayControlloTraffico getConfigurazioneControlloTraffico(){
  28165.         return this.controlloTrafficoConfigurazione;
  28166.     }
  28167.    
  28168.    
  28169.     private TipoGestorePolicy isControlloTrafficoGestorePolicyTipo = null;
  28170.     public TipoGestorePolicy getControlloTrafficoGestorePolicyTipo() {  
  28171.         if(this.isControlloTrafficoGestorePolicyTipo==null){
  28172.             try{
  28173.                 String name = null;
  28174.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.gestorePolicy.tipo");
  28175.                 if(name==null){
  28176.                     TipoGestorePolicy gestoreDefault = TipoGestorePolicy.IN_MEMORY;
  28177.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.gestorePolicy.tipo' non impostata, viene utilizzato il default="+gestoreDefault);
  28178.                     this.isControlloTrafficoGestorePolicyTipo = gestoreDefault;
  28179.                 }
  28180.                 else {
  28181.                     name = name.trim();
  28182.                     this.isControlloTrafficoGestorePolicyTipo = TipoGestorePolicy.toEnumConstant(name, true);
  28183.                 }
  28184.             } catch(java.lang.Exception e) {
  28185.                 TipoGestorePolicy gestoreDefault = TipoGestorePolicy.IN_MEMORY;
  28186.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.gestorePolicy.tipo', viene utilizzato il default="+gestoreDefault+" : "+e.getMessage(),e);
  28187.                 this.isControlloTrafficoGestorePolicyTipo = gestoreDefault;
  28188.             }    
  28189.         }

  28190.         return this.isControlloTrafficoGestorePolicyTipo;
  28191.     }
  28192.    
  28193.     private PolicyGroupByActiveThreadsType getControlloTrafficoGestorePolicyInMemoryType = null;
  28194.     public PolicyGroupByActiveThreadsType getControlloTrafficoGestorePolicyInMemoryType() throws CoreException {    
  28195.         if(this.getControlloTrafficoGestorePolicyInMemoryType==null){
  28196.             try{
  28197.                 String name = null;
  28198.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.tipo");
  28199.                 if(name==null){
  28200.                     this.getControlloTrafficoGestorePolicyInMemoryType = PolicyGroupByActiveThreadsType.LOCAL;
  28201.                     this.logWarn("Proprieta' 'org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.tipo' non impostata; viene usato il default: "+this.getControlloTrafficoGestorePolicyInMemoryType);
  28202.                 }
  28203.                 else {
  28204.                     name = name.trim();
  28205.                     this.getControlloTrafficoGestorePolicyInMemoryType = PolicyGroupByActiveThreadsType.valueOf(name);
  28206.                 }
  28207.             } catch(java.lang.Exception e) {
  28208.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.tipo': "+e.getMessage(),e);
  28209.                 throw new CoreException(e.getMessage(),e);
  28210.             }    
  28211.         }

  28212.         return this.getControlloTrafficoGestorePolicyInMemoryType;
  28213.     }
  28214.    
  28215.     private Map<PolicyGroupByActiveThreadsType, Boolean> getControlloTrafficoGestorePolicyInMemoryTypeLazyInitialization = null;
  28216.     public boolean isControlloTrafficoGestorePolicyInMemoryTypeLazyInitialization(PolicyGroupByActiveThreadsType type) throws CoreException {  
  28217.         if(this.getControlloTrafficoGestorePolicyInMemoryTypeLazyInitialization==null){
  28218.             this.getControlloTrafficoGestorePolicyInMemoryTypeLazyInitialization = new HashMap<PolicyGroupByActiveThreadsType, Boolean>();
  28219.             for (PolicyGroupByActiveThreadsType initType : PolicyGroupByActiveThreadsType.values()) {
  28220.                 String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory."+initType.name()+".lazyInitialization";
  28221.                 try{
  28222.                     String name = this.reader.getValueConvertEnvProperties(pName);
  28223.                     if(name==null){
  28224.                         this.logWarn("Proprieta' '"+pName+"' non impostata; viene usato il default: "+true);
  28225.                         this.getControlloTrafficoGestorePolicyInMemoryTypeLazyInitialization.put(initType, true);
  28226.                     }
  28227.                     else {
  28228.                         name = name.trim();
  28229.                         Boolean v = Boolean.valueOf(name);
  28230.                         this.getControlloTrafficoGestorePolicyInMemoryTypeLazyInitialization.put(initType, v);
  28231.                     }
  28232.                 } catch(java.lang.Exception e) {
  28233.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"'; viene usato il default: "+true+". Errore: "+e.getMessage(),e);
  28234.                     this.getControlloTrafficoGestorePolicyInMemoryTypeLazyInitialization.put(initType, true);
  28235.                 }          
  28236.             }
  28237.         }

  28238.         return this.getControlloTrafficoGestorePolicyInMemoryTypeLazyInitialization.get(type);
  28239.     }
  28240.    
  28241.     private Boolean isControlloTrafficoGestorePolicyInMemoryRemoteCountersUseLocalLock = null;
  28242.     public boolean isControlloTrafficoGestorePolicyInMemoryRemoteCountersUseLocalLock(){
  28243.         String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.counters.useLocalLock";
  28244.         if(this.isControlloTrafficoGestorePolicyInMemoryRemoteCountersUseLocalLock==null){
  28245.             try{  
  28246.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28247.                 if(value!=null){
  28248.                     value = value.trim();
  28249.                     this.isControlloTrafficoGestorePolicyInMemoryRemoteCountersUseLocalLock = Boolean.parseBoolean(value);
  28250.                 }else{
  28251.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  28252.                     this.isControlloTrafficoGestorePolicyInMemoryRemoteCountersUseLocalLock = false;
  28253.                 }

  28254.             }catch(java.lang.Exception e) {
  28255.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  28256.                 this.isControlloTrafficoGestorePolicyInMemoryRemoteCountersUseLocalLock = false;
  28257.             }
  28258.         }
  28259.         return this.isControlloTrafficoGestorePolicyInMemoryRemoteCountersUseLocalLock;
  28260.     }
  28261.    
  28262.     private Boolean isControlloTrafficoGestioneClusterRemainingZeroValue = null;
  28263.     public boolean isControlloTrafficoGestorePolicyInMemoryLocalDividedByNodesRemainingZeroValue(){
  28264.         String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.LOCAL_DIVIDED_BY_NODES.remaining.zeroValue";
  28265.         if(this.isControlloTrafficoGestioneClusterRemainingZeroValue==null){
  28266.             try{  
  28267.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28268.                 if(value!=null){
  28269.                     value = value.trim();
  28270.                     this.isControlloTrafficoGestioneClusterRemainingZeroValue = Boolean.parseBoolean(value);
  28271.                 }else{
  28272.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  28273.                     this.isControlloTrafficoGestioneClusterRemainingZeroValue = false;
  28274.                 }

  28275.             }catch(java.lang.Exception e) {
  28276.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  28277.                 this.isControlloTrafficoGestioneClusterRemainingZeroValue = false;
  28278.             }
  28279.         }
  28280.         return this.isControlloTrafficoGestioneClusterRemainingZeroValue;
  28281.     }
  28282.    
  28283.     private Boolean isControlloTrafficoGestioneClusterLimitRoundingDown = null;
  28284.     public boolean isControlloTrafficoGestorePolicyInMemoryLocalDividedByNodesLimitRoundingDown(){
  28285.         String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.LOCAL_DIVIDED_BY_NODES.limit.roundingDown";
  28286.         if(this.isControlloTrafficoGestioneClusterLimitRoundingDown==null){
  28287.             try{  
  28288.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28289.                 if(value!=null){
  28290.                     value = value.trim();
  28291.                     this.isControlloTrafficoGestioneClusterLimitRoundingDown = Boolean.parseBoolean(value);
  28292.                 }else{
  28293.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  28294.                     this.isControlloTrafficoGestioneClusterLimitRoundingDown = true;
  28295.                 }

  28296.             }catch(java.lang.Exception e) {
  28297.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  28298.                 this.isControlloTrafficoGestioneClusterLimitRoundingDown = true;
  28299.             }
  28300.         }
  28301.         return this.isControlloTrafficoGestioneClusterLimitRoundingDown;
  28302.     }
  28303.    
  28304.     private Boolean isControlloTrafficoGestioneClusterLimitNormalizedQuota = null;
  28305.     public boolean isControlloTrafficoGestorePolicyInMemoryLocalDividedByNodesLimitNormalizedQuota(){
  28306.         String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.LOCAL_DIVIDED_BY_NODES.limit.normalizedQuota";
  28307.         if(this.isControlloTrafficoGestioneClusterLimitNormalizedQuota==null){
  28308.             try{  
  28309.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28310.                 if(value!=null){
  28311.                     value = value.trim();
  28312.                     this.isControlloTrafficoGestioneClusterLimitNormalizedQuota = Boolean.parseBoolean(value);
  28313.                 }else{
  28314.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  28315.                     this.isControlloTrafficoGestioneClusterLimitNormalizedQuota = false;
  28316.                 }

  28317.             }catch(java.lang.Exception e) {
  28318.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  28319.                 this.isControlloTrafficoGestioneClusterLimitNormalizedQuota = false;
  28320.             }
  28321.         }
  28322.         return this.isControlloTrafficoGestioneClusterLimitNormalizedQuota;
  28323.     }
  28324.    
  28325.     private Boolean getControlloTrafficoGestorePolicyInMemoryDatabaseUseTransaction = null;
  28326.     public boolean isControlloTrafficoGestorePolicyInMemoryDatabaseUseTransaction() {
  28327.         if(this.getControlloTrafficoGestorePolicyInMemoryDatabaseUseTransaction==null){
  28328.             String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.DATABASE.useTransaction";
  28329.             try{
  28330.                 String name = null;
  28331.                 name = this.reader.getValueConvertEnvProperties(pName);
  28332.                 if (name != null) {
  28333.                     name = name.trim();
  28334.                     this.getControlloTrafficoGestorePolicyInMemoryDatabaseUseTransaction = Boolean.valueOf(name);
  28335.                 } else {
  28336.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  28337.                     this.getControlloTrafficoGestorePolicyInMemoryDatabaseUseTransaction =  true;
  28338.                 }
  28339.             }catch(java.lang.Exception e) {
  28340.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  28341.                 this.getControlloTrafficoGestorePolicyInMemoryDatabaseUseTransaction = true;
  28342.             }  
  28343.         }

  28344.         return this.getControlloTrafficoGestorePolicyInMemoryDatabaseUseTransaction;
  28345.     }
  28346.    
  28347.     private Long getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBAttesaAttiva = null;
  28348.     public long getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBAttesaAttiva() {
  28349.         if(this.getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBAttesaAttiva==null){
  28350.             String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.DATABASE.serializable.attesaAttiva";
  28351.             try{
  28352.                 String name = null;
  28353.                 name = this.reader.getValueConvertEnvProperties(pName);
  28354.                 if (name != null) {
  28355.                     name = name.trim();
  28356.                     long time = java.lang.Long.parseLong(name);
  28357.                     this.getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBAttesaAttiva = time*1000;
  28358.                 } else {
  28359.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,Costanti.GESTIONE_SERIALIZABLE_ATTESA_ATTIVA));
  28360.                     this.getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBAttesaAttiva =  Costanti.GESTIONE_SERIALIZABLE_ATTESA_ATTIVA;
  28361.                 }
  28362.             }catch(java.lang.Exception e) {
  28363.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,Costanti.GESTIONE_SERIALIZABLE_ATTESA_ATTIVA),e);
  28364.                 this.getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBAttesaAttiva = Costanti.GESTIONE_SERIALIZABLE_ATTESA_ATTIVA;
  28365.             }  
  28366.         }

  28367.         return this.getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBAttesaAttiva;
  28368.     }

  28369.     private Integer getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBCheckInterval = null;
  28370.     public int getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBCheckInterval() {
  28371.         if(this.getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBCheckInterval==null){
  28372.             String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.DATABASE.serializable.check";
  28373.             try{
  28374.                 String name = null;
  28375.                 name = this.reader.getValueConvertEnvProperties(pName);
  28376.                 if (name != null){
  28377.                     name = name.trim();
  28378.                     int time = java.lang.Integer.parseInt(name);
  28379.                     this.getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBCheckInterval = time;
  28380.                 } else{
  28381.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,Costanti.GESTIONE_SERIALIZABLE_CHECK_INTERVAL));
  28382.                     this.getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBCheckInterval = Costanti.GESTIONE_SERIALIZABLE_CHECK_INTERVAL;
  28383.                 }
  28384.             }catch(java.lang.Exception e) {
  28385.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,Costanti.GESTIONE_SERIALIZABLE_CHECK_INTERVAL),e);
  28386.                 this.getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBCheckInterval = Costanti.GESTIONE_SERIALIZABLE_CHECK_INTERVAL;
  28387.             }    
  28388.         }

  28389.         return this.getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBCheckInterval;
  28390.     }

  28391.     private Boolean isHazelcastEngineEnabled = null;
  28392.     public boolean isHazelcastEngineEnabled() {
  28393.         if(this.isHazelcastEngineEnabled==null){
  28394.             String pName = "org.openspcoop2.pdd.hazelcast.enabled";
  28395.             try{
  28396.                 String name = null;
  28397.                 name = this.reader.getValueConvertEnvProperties(pName);
  28398.                 if(name==null){
  28399.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  28400.                     name="true";
  28401.                 }
  28402.                 name = name.trim();
  28403.                 this.isHazelcastEngineEnabled = Boolean.parseBoolean(name);
  28404.             } catch(java.lang.Exception e) {
  28405.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  28406.                 this.isHazelcastEngineEnabled = true;
  28407.             }    
  28408.         }

  28409.         return this.isHazelcastEngineEnabled;
  28410.     }
  28411.    
  28412.    
  28413.     private Boolean getControlloTrafficoGestorePolicyInMemoryHazelCastMapConfigPathRead = null;
  28414.     private String getControlloTrafficoGestorePolicyInMemoryHazelCastMapConfigPath = null;
  28415.     public String getControlloTrafficoGestorePolicyInMemoryHazelCastMapConfigPath() throws CoreException {
  28416.        
  28417.         if(this.getControlloTrafficoGestorePolicyInMemoryHazelCastMapConfigPathRead==null){
  28418.             String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.HAZELCAST_MAP.config";

  28419.             try{  
  28420.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28421.                 if (value != null){
  28422.                     value = value.trim();
  28423.                     this.getControlloTrafficoGestorePolicyInMemoryHazelCastMapConfigPath = value;
  28424.                 }
  28425.                
  28426.                 this.getControlloTrafficoGestorePolicyInMemoryHazelCastMapConfigPathRead = true;
  28427.                
  28428.             }catch(java.lang.Exception e) {
  28429.                 String msgError = "Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage();
  28430.                 this.logError(msgError,e);
  28431.                 throw new CoreException(msgError,e);
  28432.             }
  28433.         }

  28434.         return this.getControlloTrafficoGestorePolicyInMemoryHazelCastMapConfigPath;        
  28435.     }
  28436.    
  28437.    
  28438.     private Boolean getControlloTrafficoGestorePolicyInMemoryHazelCastPNCounterConfigPathRead = null;
  28439.     private String getControlloTrafficoGestorePolicyInMemoryHazelCastPNCounterConfigPath = null;
  28440.     public String getControlloTrafficoGestorePolicyInMemoryHazelCastPNCounterConfigPath() throws CoreException {
  28441.        
  28442.         if(this.getControlloTrafficoGestorePolicyInMemoryHazelCastPNCounterConfigPathRead==null){
  28443.             String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.HAZELCAST_PNCOUNTER.config";

  28444.             try{  
  28445.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28446.                 if (value != null){
  28447.                     value = value.trim();
  28448.                     this.getControlloTrafficoGestorePolicyInMemoryHazelCastPNCounterConfigPath = value;
  28449.                 }
  28450.                
  28451.                 this.getControlloTrafficoGestorePolicyInMemoryHazelCastPNCounterConfigPathRead = true;
  28452.                
  28453.             }catch(java.lang.Exception e) {
  28454.                 String msgError = "Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage();
  28455.                 this.logError(msgError,e);
  28456.                 throw new CoreException(msgError,e);
  28457.             }
  28458.         }

  28459.         return this.getControlloTrafficoGestorePolicyInMemoryHazelCastPNCounterConfigPath;      
  28460.     }
  28461.    
  28462.    
  28463.     private Boolean getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongConfigPathRead = null;
  28464.     private String getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongConfigPath = null;
  28465.     public String getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongConfigPath() throws CoreException {
  28466.        
  28467.         if(this.getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongConfigPathRead==null){
  28468.             String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.HAZELCAST_ATOMIC_LONG.config";

  28469.             try{  
  28470.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28471.                 if (value != null){
  28472.                     value = value.trim();
  28473.                     this.getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongConfigPath = value;
  28474.                 }
  28475.                
  28476.                 this.getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongConfigPathRead = true;
  28477.                
  28478.             }catch(java.lang.Exception e) {
  28479.                 String msgError = "Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage();
  28480.                 this.logError(msgError,e);
  28481.                 throw new CoreException(msgError,e);
  28482.             }
  28483.         }

  28484.         return this.getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongConfigPath;    
  28485.     }
  28486.    
  28487.    
  28488.    
  28489.     private Boolean getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongAsyncConfigPathRead = null;
  28490.     private String getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongAsyncConfigPath = null;
  28491.     public String getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongAsyncConfigPath() throws CoreException {
  28492.        
  28493.         if(this.getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongAsyncConfigPathRead==null){
  28494.             String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.HAZELCAST_ATOMIC_LONG_ASYNC.config";

  28495.             try{  
  28496.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28497.                 if (value != null){
  28498.                     value = value.trim();
  28499.                     this.getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongAsyncConfigPath = value;
  28500.                 }
  28501.                
  28502.                 this.getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongAsyncConfigPathRead = true;
  28503.                
  28504.             }catch(java.lang.Exception e) {
  28505.                 String msgError = "Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage();
  28506.                 this.logError(msgError,e);
  28507.                 throw new CoreException(msgError,e);
  28508.             }
  28509.         }

  28510.         return this.getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongAsyncConfigPath;        
  28511.     }
  28512.    
  28513.    
  28514.        
  28515.     private Boolean getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheConfigPathRead = null;
  28516.     private String getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheConfigPath = null;
  28517.     public String getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheConfigPath() throws CoreException {
  28518.        
  28519.         if(this.getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheConfigPathRead==null){
  28520.             String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.HAZELCAST_NEAR_CACHE.config";

  28521.             try{  
  28522.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28523.                 if (value != null){
  28524.                     value = value.trim();
  28525.                     this.getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheConfigPath = value;
  28526.                 }

  28527.                 this.getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheConfigPathRead = true;
  28528.                
  28529.             }catch(java.lang.Exception e) {
  28530.                 String msgError = "Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage();
  28531.                 this.logError(msgError,e);
  28532.                 throw new CoreException(msgError,e);
  28533.             }
  28534.         }

  28535.         return this.getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheConfigPath;      
  28536.     }
  28537.    
  28538.     private Boolean getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeSyncMapConfigPathRead = null;
  28539.     private String getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeSyncMapConfigPath = null;
  28540.     public String getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeSyncMapConfigPath() throws CoreException {
  28541.        
  28542.         if(this.getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeSyncMapConfigPathRead==null){
  28543.             String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.HAZELCAST_NEAR_CACHE_UNSAFE_SYNC_MAP.config";

  28544.             try{  
  28545.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28546.                 if (value != null){
  28547.                     value = value.trim();
  28548.                     this.getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeSyncMapConfigPath = value;
  28549.                 }

  28550.                 this.getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeSyncMapConfigPathRead = true;
  28551.                
  28552.             }catch(java.lang.Exception e) {
  28553.                 String msgError = "Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage();
  28554.                 this.logError(msgError,e);
  28555.                 throw new CoreException(msgError,e);
  28556.             }
  28557.         }

  28558.         return this.getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeSyncMapConfigPath;    
  28559.     }
  28560.    
  28561.     private Boolean getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeAsyncMapConfigPathRead = null;
  28562.     private String getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeAsyncMapConfigPath = null;
  28563.     public String getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeAsyncMapConfigPath() throws CoreException {
  28564.        
  28565.         if(this.getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeAsyncMapConfigPathRead==null){
  28566.             String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.HAZELCAST_NEAR_CACHE_UNSAFE_ASYNC_MAP.config";

  28567.             try{  
  28568.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28569.                 if (value != null){
  28570.                     value = value.trim();
  28571.                     this.getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeAsyncMapConfigPath = value;
  28572.                 }

  28573.                 this.getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeAsyncMapConfigPathRead = true;
  28574.                
  28575.             }catch(java.lang.Exception e) {
  28576.                 String msgError = "Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage();
  28577.                 this.logError(msgError,e);
  28578.                 throw new CoreException(msgError,e);
  28579.             }
  28580.         }

  28581.         return this.getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeAsyncMapConfigPath;        
  28582.     }
  28583.    
  28584.     private Boolean getControlloTrafficoGestorePolicyInMemoryHazelCastReplicatedMapConfigPathRead = null;
  28585.     private String getControlloTrafficoGestorePolicyInMemoryHazelCastReplicatedMapConfigPath = null;
  28586.     public String getControlloTrafficoGestorePolicyInMemoryHazelCastReplicatedMapConfigPath() throws CoreException {
  28587.        
  28588.         if(this.getControlloTrafficoGestorePolicyInMemoryHazelCastReplicatedMapConfigPathRead==null){
  28589.             String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.HAZELCAST_REPLICATED_MAP.config";

  28590.             try{  
  28591.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28592.                 if (value != null){
  28593.                     value = value.trim();
  28594.                     this.getControlloTrafficoGestorePolicyInMemoryHazelCastReplicatedMapConfigPath = value;
  28595.                 }

  28596.                 this.getControlloTrafficoGestorePolicyInMemoryHazelCastReplicatedMapConfigPathRead = true;
  28597.                
  28598.             }catch(java.lang.Exception e) {
  28599.                 String msgError = "Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage();
  28600.                 this.logError(msgError,e);
  28601.                 throw new CoreException(msgError,e);
  28602.             }
  28603.         }

  28604.         return this.getControlloTrafficoGestorePolicyInMemoryHazelCastReplicatedMapConfigPath;      
  28605.     }
  28606.    
  28607.    
  28608.     private Boolean getControlloTrafficoGestorePolicyInMemoryHazelCastLocalConfigPathRead = null;
  28609.     private String getControlloTrafficoGestorePolicyInMemoryHazelCastLocalCacheConfigPath = null;
  28610.     public String getControlloTrafficoGestorePolicyInMemoryHazelCastLocalCacheConfigPath() throws CoreException {
  28611.        
  28612.         if(this.getControlloTrafficoGestorePolicyInMemoryHazelCastLocalConfigPathRead==null){
  28613.             String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.HAZELCAST_LOCAL_CACHE.config";

  28614.             try{  
  28615.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28616.                 if (value != null){
  28617.                     value = value.trim();
  28618.                     this.getControlloTrafficoGestorePolicyInMemoryHazelCastLocalCacheConfigPath = value;
  28619.                 }

  28620.                 this.getControlloTrafficoGestorePolicyInMemoryHazelCastLocalConfigPathRead = true;
  28621.                
  28622.             }catch(java.lang.Exception e) {
  28623.                 String msgError = "Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage();
  28624.                 this.logError(msgError,e);
  28625.                 throw new CoreException(msgError,e);
  28626.             }
  28627.         }

  28628.         return this.getControlloTrafficoGestorePolicyInMemoryHazelCastLocalCacheConfigPath;    
  28629.     }
  28630.    
  28631.     private Boolean isControlloTrafficoGestorePolicyInMemoryHazelcastOneMapForeachPolicy = null;
  28632.     public Boolean isControlloTrafficoGestorePolicyInMemoryHazelcastOneMapForeachPolicy() {
  28633.         String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.HAZELCAST.oneMapForeachPolicy";
  28634.        
  28635.         if(this.isControlloTrafficoGestorePolicyInMemoryHazelcastOneMapForeachPolicy==null){
  28636.             try{  
  28637.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28638.                 if(value!=null){
  28639.                     value = value.trim();
  28640.                     this.isControlloTrafficoGestorePolicyInMemoryHazelcastOneMapForeachPolicy = Boolean.parseBoolean(value);
  28641.                 }else{
  28642.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  28643.                     this.isControlloTrafficoGestorePolicyInMemoryHazelcastOneMapForeachPolicy = false;
  28644.                 }

  28645.             }catch(java.lang.Exception e) {
  28646.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  28647.                 this.isControlloTrafficoGestorePolicyInMemoryHazelcastOneMapForeachPolicy = false;
  28648.             }
  28649.         }
  28650.        
  28651.         return this.isControlloTrafficoGestorePolicyInMemoryHazelcastOneMapForeachPolicy;
  28652.     }
  28653.    
  28654.     private String getControlloTrafficoGestorePolicyInMemoryHazelCastGroupId = null;
  28655.     public String getControlloTrafficoGestorePolicyInMemoryHazelCastGroupId() {
  28656.         String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.HAZELCAST.group_id";
  28657.         if(this.getControlloTrafficoGestorePolicyInMemoryHazelCastGroupId==null){
  28658.             try{
  28659.                 String name = null;
  28660.                 name = this.reader.getValueConvertEnvProperties(pName);
  28661.                 if(name==null) {
  28662.                     throw new CoreException(NON_DEFINITA);
  28663.                 }
  28664.                 else {
  28665.                     name = name.trim();
  28666.                     this.getControlloTrafficoGestorePolicyInMemoryHazelCastGroupId = name;
  28667.                 }
  28668.             }catch(java.lang.Exception e) {
  28669.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  28670.                 this.getControlloTrafficoGestorePolicyInMemoryHazelCastGroupId = null;
  28671.             }  
  28672.         }

  28673.         return this.getControlloTrafficoGestorePolicyInMemoryHazelCastGroupId;
  28674.     }
  28675.    
  28676.     private File getControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfig = null;
  28677.     private Boolean getControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfigRead = null;
  28678.     public File getControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfig() throws CoreException {
  28679.         String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.HAZELCAST.sharedConfig";
  28680.         if(this.getControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfigRead==null){
  28681.             initControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfigEngine(pName);
  28682.         }

  28683.         return this.getControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfig;
  28684.     }
  28685.     private void initControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfigEngine(String pName) throws CoreException {
  28686.         try{
  28687.             String name = null;
  28688.             name = this.reader.getValueConvertEnvProperties(pName);
  28689.             if(name!=null) {
  28690.                 name = name.trim();
  28691.                 this.getControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfig = new File(name);
  28692.                 if(this.getControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfig.exists()) {
  28693.                     if(!this.getControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfig.isFile()) {
  28694.                         throw newCoreExceptionNotFile(this.getControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfig,false);
  28695.                     }
  28696.                     if(!this.getControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfig.canRead()) {
  28697.                         throw newCoreExceptionCannotRead(this.getControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfig,false);
  28698.                     }
  28699.                 }
  28700.                 else {
  28701.                     this.getControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfig=null;
  28702.                 }
  28703.             }
  28704.         }catch(java.lang.Exception e) {
  28705.             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  28706.             throw new CoreException(e.getMessage(),e);
  28707.         }
  28708.         this.getControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfigRead = true;
  28709.     }

  28710.     private Integer getControlloTrafficoGestorePolicyInMemoryHazelcastLocalCacheUpdateInterval = null;  
  28711.     public Integer getControlloTrafficoGestorePolicyInMemoryHazelcastLocalCacheTimerUpdate() {
  28712.         if(this.getControlloTrafficoGestorePolicyInMemoryHazelcastLocalCacheUpdateInterval==null){
  28713.             String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.HAZELCAST_LOCAL_CACHE.updateInterval";
  28714.            
  28715.             try{
  28716.                 String name = null;
  28717.                 name = this.reader.getValueConvertEnvProperties(pName);
  28718.                 if (name != null) {
  28719.                     name = name.trim();
  28720.                     this.getControlloTrafficoGestorePolicyInMemoryHazelcastLocalCacheUpdateInterval = Integer.valueOf(name);
  28721.                 } else {
  28722.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,5));
  28723.                     this.getControlloTrafficoGestorePolicyInMemoryHazelcastLocalCacheUpdateInterval =  5;
  28724.                 }
  28725.             }catch(java.lang.Exception e) {
  28726.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,5),e);
  28727.                 this.getControlloTrafficoGestorePolicyInMemoryHazelcastLocalCacheUpdateInterval = 5;
  28728.             }  
  28729.         }

  28730.         return this.getControlloTrafficoGestorePolicyInMemoryHazelcastLocalCacheUpdateInterval;
  28731.     }
  28732.    
  28733.     private Boolean isHazelcastSecurityRecommendationsEnabled = null;
  28734.     public boolean isHazelcastSecurityRecommendationsEnabled() {    
  28735.         if(this.isHazelcastSecurityRecommendationsEnabled==null){
  28736.             String pName = "org.openspcoop2.pdd.hazelcast.security.recommendations";
  28737.             try{
  28738.                 String name = null;
  28739.                 name = this.reader.getValueConvertEnvProperties(pName);
  28740.                 if(name==null){
  28741.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  28742.                     name="true";
  28743.                 }
  28744.                 name = name.trim();
  28745.                 this.isHazelcastSecurityRecommendationsEnabled = Boolean.parseBoolean(name);
  28746.             } catch(java.lang.Exception e) {
  28747.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, true));
  28748.                 this.isHazelcastSecurityRecommendationsEnabled = true;
  28749.             }    
  28750.         }

  28751.         return this.isHazelcastSecurityRecommendationsEnabled;
  28752.     }
  28753.    
  28754.     private Boolean isHazelcastDiagnosticsEnabled = null;
  28755.     public boolean isHazelcastDiagnosticsEnabled() {    
  28756.         if(this.isHazelcastDiagnosticsEnabled==null){
  28757.             String pName = "org.openspcoop2.pdd.hazelcast.diagnostics.enabled";
  28758.             try{
  28759.                 String name = null;
  28760.                 name = this.reader.getValueConvertEnvProperties(pName);
  28761.                 if(name==null){
  28762.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  28763.                     name="true";
  28764.                 }
  28765.                 name = name.trim();
  28766.                 this.isHazelcastDiagnosticsEnabled = Boolean.parseBoolean(name);
  28767.             } catch(java.lang.Exception e) {
  28768.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, true));
  28769.                 this.isHazelcastDiagnosticsEnabled = true;
  28770.             }    
  28771.         }

  28772.         return this.isHazelcastDiagnosticsEnabled;
  28773.     }
  28774.    
  28775.     private File getHazelcastDiagnosticsDirectory = null;
  28776.     public File getHazelcastDiagnosticsDirectory() throws CoreException {  
  28777.         if(this.getHazelcastDiagnosticsDirectory==null){
  28778.             String pName = "org.openspcoop2.pdd.hazelcast.diagnostics.directory";
  28779.             try{
  28780.                 String name = null;
  28781.                 name = this.reader.getValueConvertEnvProperties(pName);
  28782.                 if(name==null){
  28783.                     throw new CoreException("Hazelcast diagnostics dir non impostata");
  28784.                 }
  28785.                 name = LoggerWrapperFactory.applyClusterIdStrategy(name.trim(), "hazelcast");
  28786.                 this.getHazelcastDiagnosticsDirectory = new File(name);
  28787.                 checkHazelcastDiagnosticsDirectory();
  28788.             } catch(java.lang.Exception e) {
  28789.                 this.logError("Riscontrato errore per la directory della diagnostica di hazelcast ("+pName+"): "+e.getMessage(),e);
  28790.                 throw new CoreException(e.getMessage(),e);
  28791.             }    
  28792.         }

  28793.         return this.getHazelcastDiagnosticsDirectory;
  28794.     }
  28795.     private void checkHazelcastDiagnosticsDirectory() throws CoreException {    
  28796.         if(this.getHazelcastDiagnosticsDirectory.exists()) {
  28797.             if(!this.getHazelcastDiagnosticsDirectory.isDirectory()) {
  28798.                 throw newCoreExceptionNotDir(this.getHazelcastDiagnosticsDirectory,true);
  28799.             }
  28800.             if(!this.getHazelcastDiagnosticsDirectory.canRead()) {
  28801.                 throw newCoreExceptionCannotRead(this.getHazelcastDiagnosticsDirectory, true);
  28802.             }
  28803.             if(!this.getHazelcastDiagnosticsDirectory.canWrite()) {
  28804.                 throw newCoreExceptionCannotWrite(this.getHazelcastDiagnosticsDirectory, true);
  28805.             }
  28806.         }
  28807.         else {
  28808.             // viene creata automaticamente
  28809.         }
  28810.     }
  28811.    
  28812.     private Integer getHazelcastDiagnosticsMaxRolledFileCount = null;
  28813.     public int getHazelcastDiagnosticsMaxRolledFileCount() throws CoreException {  
  28814.         if(this.getHazelcastDiagnosticsMaxRolledFileCount==null){
  28815.             String pName = "org.openspcoop2.pdd.hazelcast.diagnostics.max.rolled.file.count";
  28816.             try{
  28817.                 String name = null;
  28818.                 name = this.reader.getValueConvertEnvProperties(pName);
  28819.                 if(name==null){
  28820.                     throw new CoreException("Hazelcast diagnostics max.rolled.file.count config not found");
  28821.                 }
  28822.                 name = name.trim();
  28823.                 this.getHazelcastDiagnosticsMaxRolledFileCount = Integer.valueOf(name);
  28824.             } catch(java.lang.Exception e) {
  28825.                 this.logError("Riscontrato errore durante la lettura delle configurazione diagnostica di hazelcast ("+pName+"): "+e.getMessage(),e);
  28826.                 throw new CoreException(e.getMessage(),e);
  28827.             }    
  28828.         }

  28829.         return this.getHazelcastDiagnosticsMaxRolledFileCount;
  28830.     }
  28831.    
  28832.     private Integer getHazelcastDiagnosticsMaxFileSizeMb = null;
  28833.     public int getHazelcastDiagnosticsMaxFileSizeMb() throws CoreException {    
  28834.         if(this.getHazelcastDiagnosticsMaxFileSizeMb==null){
  28835.             String pName = "org.openspcoop2.pdd.hazelcast.diagnostics.max.file.size.mb";
  28836.             try{
  28837.                 String name = null;
  28838.                 name = this.reader.getValueConvertEnvProperties(pName);
  28839.                 if(name==null){
  28840.                     throw new CoreException("Hazelcast diagnostics max.rolled.file.count config not found");
  28841.                 }
  28842.                 name = name.trim();
  28843.                 this.getHazelcastDiagnosticsMaxFileSizeMb = Integer.valueOf(name);
  28844.             } catch(java.lang.Exception e) {
  28845.                 this.logError("Riscontrato errore durante la lettura delle configurazione diagnostica di hazelcast ("+pName+"): "+e.getMessage(),e);
  28846.                 throw new CoreException(e.getMessage(),e);
  28847.             }    
  28848.         }

  28849.         return this.getHazelcastDiagnosticsMaxFileSizeMb;
  28850.     }
  28851.    
  28852.     private Integer getHazelcastCPSubsystemDistributedObjectDestroyedExceptionFailover = null;
  28853.     public int getHazelcastCPSubsystemDistributedObjectDestroyedExceptionFailover() {  
  28854.         if(this.getHazelcastCPSubsystemDistributedObjectDestroyedExceptionFailover==null){
  28855.             String pName = "org.openspcoop2.pdd.hazelcast.CPSubsystem.distributedObjectDestroyedException.failover";
  28856.             try{
  28857.                 String name = null;
  28858.                 name = this.reader.getValueConvertEnvProperties(pName);
  28859.                 if(name==null){
  28860.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, -1));
  28861.                     name="-1";
  28862.                 }
  28863.                 name = name.trim();
  28864.                 this.getHazelcastCPSubsystemDistributedObjectDestroyedExceptionFailover = Integer.valueOf(name);
  28865.             } catch(java.lang.Exception e) {
  28866.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, -1));
  28867.                 this.getHazelcastCPSubsystemDistributedObjectDestroyedExceptionFailover = -1;
  28868.             }    
  28869.         }

  28870.         return this.getHazelcastCPSubsystemDistributedObjectDestroyedExceptionFailover;
  28871.     }
  28872.    
  28873.     private Integer getHazelcastCPSubsystemDistributedObjectDestroyedExceptionFailoverCheckEveryMs = null;
  28874.     public int getHazelcastCPSubsystemDistributedObjectDestroyedExceptionFailoverCheckEveryMs() {  
  28875.         if(this.getHazelcastCPSubsystemDistributedObjectDestroyedExceptionFailoverCheckEveryMs==null){
  28876.             String pName = "org.openspcoop2.pdd.hazelcast.CPSubsystem.distributedObjectDestroyedException.failover.checkEveryMs";
  28877.             try{
  28878.                 String name = null;
  28879.                 name = this.reader.getValueConvertEnvProperties(pName);
  28880.                 if(name==null){
  28881.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, 500));
  28882.                     name="500";
  28883.                 }
  28884.                 name = name.trim();
  28885.                 this.getHazelcastCPSubsystemDistributedObjectDestroyedExceptionFailoverCheckEveryMs = Integer.valueOf(name);
  28886.             } catch(java.lang.Exception e) {
  28887.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, 500));
  28888.                 this.getHazelcastCPSubsystemDistributedObjectDestroyedExceptionFailoverCheckEveryMs = 500;
  28889.             }    
  28890.         }

  28891.         return this.getHazelcastCPSubsystemDistributedObjectDestroyedExceptionFailoverCheckEveryMs;
  28892.     }
  28893.    
  28894.     private Boolean isRedisEngineEnabled = null;
  28895.     public boolean isRedisEngineEnabled() {
  28896.         if(this.isRedisEngineEnabled==null){
  28897.             String pName = "org.openspcoop2.pdd.redis.enabled";
  28898.             try{
  28899.                 String name = null;
  28900.                 name = this.reader.getValueConvertEnvProperties(pName);
  28901.                 if(name==null){
  28902.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  28903.                     name="true";
  28904.                 }
  28905.                 name = name.trim();
  28906.                 this.isRedisEngineEnabled = Boolean.parseBoolean(name);
  28907.             } catch(java.lang.Exception e) {
  28908.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  28909.                 this.isRedisEngineEnabled = true;
  28910.             }    
  28911.         }

  28912.         return this.isRedisEngineEnabled;
  28913.     }
  28914.    
  28915.     private List<String> getControlloTrafficoGestorePolicyInMemoryRedisConnectionUrl = null;
  28916.     private boolean getControlloTrafficoGestorePolicyInMemoryRedisConnectionUrlRead = false;
  28917.     public List<String> getControlloTrafficoGestorePolicyInMemoryRedisConnectionUrl() throws CoreException {    
  28918.         if(!this.getControlloTrafficoGestorePolicyInMemoryRedisConnectionUrlRead){
  28919.             String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.REDIS.connectionUrl";
  28920.             try{

  28921.                 String name = null;
  28922.                 name = this.reader.getValueConvertEnvProperties(pName);
  28923.                 if(name==null){
  28924.                     throw new CoreException(NON_DEFINITA);
  28925.                 }else{
  28926.                     String [] r = name.trim().split(",");
  28927.                     List<String> l = new ArrayList<>();
  28928.                     for(int i=0; i<r.length; i++){
  28929.                         r[i] = r[i].trim();
  28930.                         l.add(r[i]);
  28931.                     }
  28932.                    
  28933.                     if(!l.isEmpty()) {
  28934.                         this.getControlloTrafficoGestorePolicyInMemoryRedisConnectionUrl = new ArrayList<>();
  28935.                         this.getControlloTrafficoGestorePolicyInMemoryRedisConnectionUrl.addAll(l);
  28936.                     }
  28937.                     else {
  28938.                         throw new CoreException(NON_DEFINITA);
  28939.                     }
  28940.                 }
  28941.             }catch(java.lang.Exception e) {
  28942.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  28943.                 throw new CoreException("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  28944.             }  
  28945.             this.getControlloTrafficoGestorePolicyInMemoryRedisConnectionUrlRead = true;
  28946.         }

  28947.         return this.getControlloTrafficoGestorePolicyInMemoryRedisConnectionUrl;
  28948.     }
  28949.    
  28950.     private Boolean isControlloTrafficoGestorePolicyInMemoryRedisOneMapForeachPolicy = null;
  28951.     public Boolean isControlloTrafficoGestorePolicyInMemoryRedisOneMapForeachPolicy() {
  28952.         String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.REDIS.oneMapForeachPolicy";
  28953.        
  28954.         if(this.isControlloTrafficoGestorePolicyInMemoryRedisOneMapForeachPolicy==null){
  28955.             try{  
  28956.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28957.                 if(value!=null){
  28958.                     value = value.trim();
  28959.                     this.isControlloTrafficoGestorePolicyInMemoryRedisOneMapForeachPolicy = Boolean.parseBoolean(value);
  28960.                 }else{
  28961.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  28962.                     this.isControlloTrafficoGestorePolicyInMemoryRedisOneMapForeachPolicy = false;
  28963.                 }

  28964.             }catch(java.lang.Exception e) {
  28965.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  28966.                 this.isControlloTrafficoGestorePolicyInMemoryRedisOneMapForeachPolicy = false;
  28967.             }
  28968.         }
  28969.        
  28970.         return this.isControlloTrafficoGestorePolicyInMemoryRedisOneMapForeachPolicy;
  28971.     }
  28972.    
  28973.     private Boolean isControlloTrafficoGestorePolicyInMemoryRedisThrowExceptionIfRedisNotReady = null;
  28974.     public Boolean isControlloTrafficoGestorePolicyInMemoryRedisThrowExceptionIfRedisNotReady() {
  28975.         String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.REDIS.startupGovWay.throwExceptionIfRedisNotReady";
  28976.        
  28977.         if(this.isControlloTrafficoGestorePolicyInMemoryRedisThrowExceptionIfRedisNotReady==null){
  28978.             try{  
  28979.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28980.                 if(value!=null){
  28981.                     value = value.trim();
  28982.                     this.isControlloTrafficoGestorePolicyInMemoryRedisThrowExceptionIfRedisNotReady = Boolean.parseBoolean(value);
  28983.                 }else{
  28984.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  28985.                     this.isControlloTrafficoGestorePolicyInMemoryRedisThrowExceptionIfRedisNotReady = false;
  28986.                 }

  28987.             }catch(java.lang.Exception e) {
  28988.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  28989.                 this.isControlloTrafficoGestorePolicyInMemoryRedisThrowExceptionIfRedisNotReady = false;
  28990.             }
  28991.         }
  28992.        
  28993.         return this.isControlloTrafficoGestorePolicyInMemoryRedisThrowExceptionIfRedisNotReady;
  28994.     }
  28995.    
  28996.    
  28997.     private String getControlloTrafficoGestorePolicyWSUrl = null;
  28998.     public String getControlloTrafficoGestorePolicyWSUrl() throws CoreException {  
  28999.         if(this.getControlloTrafficoGestorePolicyWSUrl==null){
  29000.             try{
  29001.                 String name = null;
  29002.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.gestorePolicy.ws.url");
  29003.                 if(name==null){
  29004.                     throw new CoreException("Proprieta' non impostata");
  29005.                 }
  29006.                 else {
  29007.                     name = name.trim();
  29008.                     @SuppressWarnings("unused")
  29009.                     String s = (new URL(name)).toString();
  29010.                     this.getControlloTrafficoGestorePolicyWSUrl = name;
  29011.                 }
  29012.             } catch(java.lang.Exception e) {
  29013.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.gestorePolicy.ws.url': "+e.getMessage(),e);
  29014.                 throw new CoreException(e.getMessage(),e);
  29015.             }    
  29016.         }

  29017.         return this.getControlloTrafficoGestorePolicyWSUrl;
  29018.     }
  29019.        
  29020.     private Boolean getControlloTrafficoNotifyImplRead = null;
  29021.     private INotify getControlloTrafficoNotifyImpl = null;
  29022.     public INotify getControlloTrafficoNotifyImpl(Loader loaderOpenSPCoop) throws CoreException {  
  29023.         if(this.getControlloTrafficoNotifyImplRead==null){
  29024.             try{
  29025.                 String name = null;
  29026.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.notifier.implementation");
  29027.                 if(name!=null){
  29028.                     name = name.trim();
  29029.                     this.getControlloTrafficoNotifyImpl = (INotify) loaderOpenSPCoop.newInstance(name);
  29030.                 }
  29031.             } catch(java.lang.Exception e) {
  29032.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.notifier.implementation': "+e.getMessage(),e);
  29033.                 throw new CoreException(e.getMessage(),e);
  29034.             }  
  29035.             this.getControlloTrafficoNotifyImplRead = true;
  29036.         }

  29037.         return this.getControlloTrafficoNotifyImpl;
  29038.     }
  29039.    
  29040.     private File getControlloTrafficoGestorePolicyFileSystemRecoveryRepository = null;
  29041.     public File getControlloTrafficoGestorePolicyFileSystemRecoveryRepository() throws CoreException {  
  29042.         if(this.getControlloTrafficoGestorePolicyFileSystemRecoveryRepository==null){
  29043.             try{
  29044.                 String name = null;
  29045.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.gestorePolicy.fileSystemRecovery.repository");
  29046.                 if(name!=null){
  29047.                     name = LoggerWrapperFactory.applyClusterIdStrategy(name.trim(), "controlloTraffico");
  29048.                     initControlloTrafficoGestorePolicyFileSystemRecoveryRepository(name);
  29049.                 }
  29050.             } catch(java.lang.Exception e) {
  29051.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.gestorePolicy.fileSystemRecovery.repository': "+e.getMessage(),e);
  29052.                 throw new CoreException(e.getMessage(),e);
  29053.             }    
  29054.         }

  29055.         return this.getControlloTrafficoGestorePolicyFileSystemRecoveryRepository;
  29056.     }
  29057.     private void initControlloTrafficoGestorePolicyFileSystemRecoveryRepository(String name) throws CoreException {
  29058.         this.getControlloTrafficoGestorePolicyFileSystemRecoveryRepository = new File(name);
  29059.         if(this.getControlloTrafficoGestorePolicyFileSystemRecoveryRepository.exists()) {
  29060.             if(!this.getControlloTrafficoGestorePolicyFileSystemRecoveryRepository.isDirectory()) {
  29061.                 throw newCoreExceptionNotDir(this.getControlloTrafficoGestorePolicyFileSystemRecoveryRepository, true);
  29062.             }
  29063.             if(!this.getControlloTrafficoGestorePolicyFileSystemRecoveryRepository.canRead()) {
  29064.                 throw newCoreExceptionCannotRead(this.getControlloTrafficoGestorePolicyFileSystemRecoveryRepository, true);
  29065.             }
  29066.             if(!this.getControlloTrafficoGestorePolicyFileSystemRecoveryRepository.canWrite()) {
  29067.                 throw newCoreExceptionCannotWrite(this.getControlloTrafficoGestorePolicyFileSystemRecoveryRepository, true);
  29068.             }
  29069.         }
  29070.         else {
  29071.             // viene creata automaticamente
  29072.         }
  29073.     }
  29074.    
  29075.    
  29076.    
  29077.    
  29078.    
  29079.     // Limit
  29080.    
  29081.     private String [] getControlloTrafficoNumeroRichiesteSimultaneeHeaderLimit = null;
  29082.     private Boolean getControlloTrafficoNumeroRichiesteSimultaneeHeaderLimitRead = null;
  29083.     public String [] getControlloTrafficoNumeroRichiesteSimultaneeHeaderLimit() throws CoreException {  
  29084.         if(this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderLimitRead==null){
  29085.             try{
  29086.                 String name = null;
  29087.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteSimultanee.header.limit");
  29088.                 if(name!=null){
  29089.                     name = name.trim();
  29090.                     this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderLimit = name.split(",");
  29091.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderLimit.length; i++) {
  29092.                         this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderLimit[i]=this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderLimit[i].trim();
  29093.                     }
  29094.                 }
  29095.                
  29096.                 this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderLimitRead = true;
  29097.                
  29098.             } catch(java.lang.Exception e) {
  29099.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteSimultanee.header.limit': "+e.getMessage(),e);
  29100.                 throw new CoreException(e.getMessage(),e);
  29101.             }    
  29102.         }

  29103.         return this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderLimit;
  29104.     }
  29105.    
  29106.     private String [] getControlloTrafficoNumeroRichiesteHeaderLimit = null;
  29107.     private Boolean getControlloTrafficoNumeroRichiesteHeaderLimitRead = null;
  29108.     public String [] getControlloTrafficoNumeroRichiesteHeaderLimit() throws CoreException {    
  29109.         if(this.getControlloTrafficoNumeroRichiesteHeaderLimitRead==null){
  29110.             try{
  29111.                 String name = null;
  29112.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichieste.header.limit");
  29113.                 if(name!=null){
  29114.                     name = name.trim();
  29115.                     this.getControlloTrafficoNumeroRichiesteHeaderLimit = name.split(",");
  29116.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteHeaderLimit.length; i++) {
  29117.                         this.getControlloTrafficoNumeroRichiesteHeaderLimit[i]=this.getControlloTrafficoNumeroRichiesteHeaderLimit[i].trim();
  29118.                     }
  29119.                 }
  29120.                
  29121.                 this.getControlloTrafficoNumeroRichiesteHeaderLimitRead = true;
  29122.                
  29123.             } catch(java.lang.Exception e) {
  29124.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichieste.header.limit': "+e.getMessage(),e);
  29125.                 throw new CoreException(e.getMessage(),e);
  29126.             }    
  29127.         }

  29128.         return this.getControlloTrafficoNumeroRichiesteHeaderLimit;
  29129.     }
  29130.    
  29131.     private String [] getControlloTrafficoOccupazioneBandaHeaderLimit = null;
  29132.     private Boolean getControlloTrafficoOccupazioneBandaHeaderLimitRead = null;
  29133.     public String [] getControlloTrafficoOccupazioneBandaHeaderLimit() throws CoreException {  
  29134.         if(this.getControlloTrafficoOccupazioneBandaHeaderLimitRead==null){
  29135.             try{
  29136.                 String name = null;
  29137.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.occupazioneBanda.header.limit");
  29138.                 if(name!=null){
  29139.                     name = name.trim();
  29140.                     this.getControlloTrafficoOccupazioneBandaHeaderLimit = name.split(",");
  29141.                     for (int i = 0; i < this.getControlloTrafficoOccupazioneBandaHeaderLimit.length; i++) {
  29142.                         this.getControlloTrafficoOccupazioneBandaHeaderLimit[i]=this.getControlloTrafficoOccupazioneBandaHeaderLimit[i].trim();
  29143.                     }
  29144.                 }
  29145.                
  29146.                 this.getControlloTrafficoOccupazioneBandaHeaderLimitRead = true;
  29147.                
  29148.             } catch(java.lang.Exception e) {
  29149.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.occupazioneBanda.header.limit': "+e.getMessage(),e);
  29150.                 throw new CoreException(e.getMessage(),e);
  29151.             }    
  29152.         }

  29153.         return this.getControlloTrafficoOccupazioneBandaHeaderLimit;
  29154.     }
  29155.    
  29156.     private String [] getControlloTrafficoTempoComplessivoRispostaHeaderLimit = null;
  29157.     private Boolean getControlloTrafficoTempoComplessivoRispostaHeaderLimitRead = null;
  29158.     public String [] getControlloTrafficoTempoComplessivoRispostaHeaderLimit() throws CoreException {  
  29159.         if(this.getControlloTrafficoTempoComplessivoRispostaHeaderLimitRead==null){
  29160.             try{
  29161.                 String name = null;
  29162.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.tempoComplessivoRisposta.header.limit");
  29163.                 if(name!=null){
  29164.                     name = name.trim();
  29165.                     this.getControlloTrafficoTempoComplessivoRispostaHeaderLimit = name.split(",");
  29166.                     for (int i = 0; i < this.getControlloTrafficoTempoComplessivoRispostaHeaderLimit.length; i++) {
  29167.                         this.getControlloTrafficoTempoComplessivoRispostaHeaderLimit[i]=this.getControlloTrafficoTempoComplessivoRispostaHeaderLimit[i].trim();
  29168.                     }
  29169.                 }
  29170.                
  29171.                 this.getControlloTrafficoTempoComplessivoRispostaHeaderLimitRead = true;
  29172.                
  29173.             } catch(java.lang.Exception e) {
  29174.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.tempoComplessivoRisposta.header.limit': "+e.getMessage(),e);
  29175.                 throw new CoreException(e.getMessage(),e);
  29176.             }    
  29177.         }

  29178.         return this.getControlloTrafficoTempoComplessivoRispostaHeaderLimit;
  29179.     }
  29180.    
  29181.     private String [] getControlloTrafficoTempoMedioRispostaHeaderLimit = null;
  29182.     private Boolean getControlloTrafficoTempoMedioRispostaHeaderLimitRead = null;
  29183.     public String [] getControlloTrafficoTempoMedioRispostaHeaderLimit() throws CoreException {
  29184.         if(this.getControlloTrafficoTempoMedioRispostaHeaderLimitRead==null){
  29185.             try{
  29186.                 String name = null;
  29187.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.tempoMedioRisposta.header.limit");
  29188.                 if(name!=null){
  29189.                     name = name.trim();
  29190.                     this.getControlloTrafficoTempoMedioRispostaHeaderLimit = name.split(",");
  29191.                     for (int i = 0; i < this.getControlloTrafficoTempoMedioRispostaHeaderLimit.length; i++) {
  29192.                         this.getControlloTrafficoTempoMedioRispostaHeaderLimit[i]=this.getControlloTrafficoTempoMedioRispostaHeaderLimit[i].trim();
  29193.                     }
  29194.                 }
  29195.                
  29196.                 this.getControlloTrafficoTempoMedioRispostaHeaderLimitRead = true;
  29197.                
  29198.             } catch(java.lang.Exception e) {
  29199.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.tempoMedioRisposta.header.limit': "+e.getMessage(),e);
  29200.                 throw new CoreException(e.getMessage(),e);
  29201.             }    
  29202.         }

  29203.         return this.getControlloTrafficoTempoMedioRispostaHeaderLimit;
  29204.     }
  29205.    
  29206.     private String [] getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimit = null;
  29207.     private Boolean getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimitRead = null;
  29208.     public String [] getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimit() throws CoreException {  
  29209.         if(this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimitRead==null){
  29210.             try{
  29211.                 String name = null;
  29212.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccesso.header.limit");
  29213.                 if(name!=null){
  29214.                     name = name.trim();
  29215.                     this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimit = name.split(",");
  29216.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimit.length; i++) {
  29217.                         this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimit[i]=this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimit[i].trim();
  29218.                     }
  29219.                 }
  29220.                
  29221.                 this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimitRead = true;
  29222.                
  29223.             } catch(java.lang.Exception e) {
  29224.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccesso.header.limit': "+e.getMessage(),e);
  29225.                 throw new CoreException(e.getMessage(),e);
  29226.             }    
  29227.         }

  29228.         return this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimit;
  29229.     }
  29230.    
  29231.     private String [] getControlloTrafficoNumeroRichiesteFalliteHeaderLimit = null;
  29232.     private Boolean getControlloTrafficoNumeroRichiesteFalliteHeaderLimitRead = null;
  29233.     public String [] getControlloTrafficoNumeroRichiesteFalliteHeaderLimit() throws CoreException {
  29234.         if(this.getControlloTrafficoNumeroRichiesteFalliteHeaderLimitRead==null){
  29235.             try{
  29236.                 String name = null;
  29237.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFallite.header.limit");
  29238.                 if(name!=null){
  29239.                     name = name.trim();
  29240.                     this.getControlloTrafficoNumeroRichiesteFalliteHeaderLimit = name.split(",");
  29241.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteFalliteHeaderLimit.length; i++) {
  29242.                         this.getControlloTrafficoNumeroRichiesteFalliteHeaderLimit[i]=this.getControlloTrafficoNumeroRichiesteFalliteHeaderLimit[i].trim();
  29243.                     }
  29244.                 }
  29245.                
  29246.                 this.getControlloTrafficoNumeroRichiesteFalliteHeaderLimitRead = true;
  29247.                
  29248.             } catch(java.lang.Exception e) {
  29249.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFallite.header.limit': "+e.getMessage(),e);
  29250.                 throw new CoreException(e.getMessage(),e);
  29251.             }    
  29252.         }

  29253.         return this.getControlloTrafficoNumeroRichiesteFalliteHeaderLimit;
  29254.     }
  29255.    
  29256.     private String [] getControlloTrafficoNumeroFaultApplicativiHeaderLimit = null;
  29257.     private Boolean getControlloTrafficoNumeroFaultApplicativiHeaderLimitRead = null;
  29258.     public String [] getControlloTrafficoNumeroFaultApplicativiHeaderLimit() throws CoreException {
  29259.         if(this.getControlloTrafficoNumeroFaultApplicativiHeaderLimitRead==null){
  29260.             try{
  29261.                 String name = null;
  29262.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroFaultApplicativi.header.limit");
  29263.                 if(name!=null){
  29264.                     name = name.trim();
  29265.                     this.getControlloTrafficoNumeroFaultApplicativiHeaderLimit = name.split(",");
  29266.                     for (int i = 0; i < this.getControlloTrafficoNumeroFaultApplicativiHeaderLimit.length; i++) {
  29267.                         this.getControlloTrafficoNumeroFaultApplicativiHeaderLimit[i]=this.getControlloTrafficoNumeroFaultApplicativiHeaderLimit[i].trim();
  29268.                     }
  29269.                 }
  29270.                
  29271.                 this.getControlloTrafficoNumeroFaultApplicativiHeaderLimitRead = true;
  29272.                
  29273.             } catch(java.lang.Exception e) {
  29274.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroFaultApplicativi.header.limit': "+e.getMessage(),e);
  29275.                 throw new CoreException(e.getMessage(),e);
  29276.             }    
  29277.         }

  29278.         return this.getControlloTrafficoNumeroFaultApplicativiHeaderLimit;
  29279.     }
  29280.    
  29281.     private String [] getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimit = null;
  29282.     private Boolean getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimitRead = null;
  29283.     public String [] getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimit() throws CoreException {    
  29284.         if(this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimitRead==null){
  29285.             try{
  29286.                 String name = null;
  29287.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFalliteOFaultApplicativi.header.limit");
  29288.                 if(name!=null){
  29289.                     name = name.trim();
  29290.                     this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimit = name.split(",");
  29291.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimit.length; i++) {
  29292.                         this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimit[i]=this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimit[i].trim();
  29293.                     }
  29294.                 }
  29295.                
  29296.                 this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimitRead = true;
  29297.                
  29298.             } catch(java.lang.Exception e) {
  29299.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFalliteOFaultApplicativi.header.limit': "+e.getMessage(),e);
  29300.                 throw new CoreException(e.getMessage(),e);
  29301.             }    
  29302.         }

  29303.         return this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimit;
  29304.     }  
  29305.        
  29306.     private String [] getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimit = null;
  29307.     private Boolean getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimitRead = null;
  29308.     public String [] getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimit() throws CoreException {  
  29309.         if(this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimitRead==null){
  29310.             try{
  29311.                 String name = null;
  29312.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccessoOFaultApplicativi.header.limit");
  29313.                 if(name!=null){
  29314.                     name = name.trim();
  29315.                     this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimit = name.split(",");
  29316.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimit.length; i++) {
  29317.                         this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimit[i]=this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimit[i].trim();
  29318.                     }
  29319.                 }
  29320.                
  29321.                 this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimitRead = true;
  29322.                
  29323.             } catch(java.lang.Exception e) {
  29324.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccessoOFaultApplicativi.header.limit': "+e.getMessage(),e);
  29325.                 throw new CoreException(e.getMessage(),e);
  29326.             }    
  29327.         }

  29328.         return this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimit;
  29329.     }  
  29330.    
  29331.    
  29332.     // Windows
  29333.    
  29334.     private Boolean getControlloTrafficoNumeroRichiesteHeaderLimitWindows = null;
  29335.     private Boolean getControlloTrafficoNumeroRichiesteHeaderLimitWindowsRead = null;
  29336.     public Boolean getControlloTrafficoNumeroRichiesteHeaderLimitWindows() throws CoreException {  
  29337.         if(this.getControlloTrafficoNumeroRichiesteHeaderLimitWindowsRead==null){
  29338.             try{
  29339.                 String name = null;
  29340.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichieste.header.limit.windows");
  29341.                 if(name!=null){
  29342.                     name = name.trim();
  29343.                     this.getControlloTrafficoNumeroRichiesteHeaderLimitWindows = Boolean.valueOf(name);
  29344.                 }
  29345.                
  29346.                 this.getControlloTrafficoNumeroRichiesteHeaderLimitWindowsRead = true;
  29347.                
  29348.             } catch(java.lang.Exception e) {
  29349.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichieste.header.limit.windows': "+e.getMessage(),e);
  29350.                 throw new CoreException(e.getMessage(),e);
  29351.             }    
  29352.         }

  29353.         return this.getControlloTrafficoNumeroRichiesteHeaderLimitWindows;
  29354.     }
  29355.    
  29356.     private Boolean getControlloTrafficoOccupazioneBandaHeaderLimitWindows = null;
  29357.     private Boolean getControlloTrafficoOccupazioneBandaHeaderLimitWindowsRead = null;
  29358.     public Boolean getControlloTrafficoOccupazioneBandaHeaderLimitWindows() throws CoreException {  
  29359.         if(this.getControlloTrafficoOccupazioneBandaHeaderLimitWindowsRead==null){
  29360.             try{
  29361.                 String name = null;
  29362.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.occupazioneBanda.header.limit.windows");
  29363.                 if(name!=null){
  29364.                     name = name.trim();
  29365.                     this.getControlloTrafficoOccupazioneBandaHeaderLimitWindows = Boolean.valueOf(name);
  29366.                 }
  29367.                
  29368.                 this.getControlloTrafficoOccupazioneBandaHeaderLimitWindowsRead = true;
  29369.                
  29370.             } catch(java.lang.Exception e) {
  29371.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.occupazioneBanda.header.limit.windows': "+e.getMessage(),e);
  29372.                 throw new CoreException(e.getMessage(),e);
  29373.             }    
  29374.         }

  29375.         return this.getControlloTrafficoOccupazioneBandaHeaderLimitWindows;
  29376.     }
  29377.    
  29378.     private Boolean getControlloTrafficoTempoComplessivoRispostaHeaderLimitWindows = null;
  29379.     private Boolean getControlloTrafficoTempoComplessivoRispostaHeaderLimitWindowsRead = null;
  29380.     public Boolean getControlloTrafficoTempoComplessivoRispostaHeaderLimitWindows() throws CoreException {  
  29381.         if(this.getControlloTrafficoTempoComplessivoRispostaHeaderLimitWindowsRead==null){
  29382.             try{
  29383.                 String name = null;
  29384.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.tempoComplessivoRisposta.header.limit.windows");
  29385.                 if(name!=null){
  29386.                     name = name.trim();
  29387.                     this.getControlloTrafficoTempoComplessivoRispostaHeaderLimitWindows = Boolean.valueOf(name);
  29388.                 }
  29389.                
  29390.                 this.getControlloTrafficoTempoComplessivoRispostaHeaderLimitWindowsRead = true;
  29391.                
  29392.             } catch(java.lang.Exception e) {
  29393.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.tempoComplessivoRisposta.header.limit.windows': "+e.getMessage(),e);
  29394.                 throw new CoreException(e.getMessage(),e);
  29395.             }    
  29396.         }

  29397.         return this.getControlloTrafficoTempoComplessivoRispostaHeaderLimitWindows;
  29398.     }
  29399.    
  29400.     private Boolean getControlloTrafficoTempoMedioRispostaHeaderLimitWindows = null;
  29401.     private Boolean getControlloTrafficoTempoMedioRispostaHeaderLimitWindowsRead = null;
  29402.     public Boolean getControlloTrafficoTempoMedioRispostaHeaderLimitWindows() throws CoreException {    
  29403.         if(this.getControlloTrafficoTempoMedioRispostaHeaderLimitWindowsRead==null){
  29404.             try{
  29405.                 String name = null;
  29406.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.tempoMedioRisposta.header.limit.windows");
  29407.                 if(name!=null){
  29408.                     name = name.trim();
  29409.                     this.getControlloTrafficoTempoMedioRispostaHeaderLimitWindows = Boolean.valueOf(name);
  29410.                 }
  29411.                
  29412.                 this.getControlloTrafficoTempoMedioRispostaHeaderLimitWindowsRead = true;
  29413.                
  29414.             } catch(java.lang.Exception e) {
  29415.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.tempoMedioRisposta.header.limit.windows': "+e.getMessage(),e);
  29416.                 throw new CoreException(e.getMessage(),e);
  29417.             }    
  29418.         }

  29419.         return this.getControlloTrafficoTempoMedioRispostaHeaderLimitWindows;
  29420.     }
  29421.    
  29422.     private Boolean getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimitWindows = null;
  29423.     private Boolean getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimitWindowsRead = null;
  29424.     public Boolean getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimitWindows() throws CoreException {  
  29425.         if(this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimitWindowsRead==null){
  29426.             try{
  29427.                 String name = null;
  29428.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccesso.header.limit.windows");
  29429.                 if(name!=null){
  29430.                     name = name.trim();
  29431.                     this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimitWindows = Boolean.valueOf(name);
  29432.                 }
  29433.                
  29434.                 this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimitWindowsRead = true;
  29435.                
  29436.             } catch(java.lang.Exception e) {
  29437.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccesso.header.limit.windows': "+e.getMessage(),e);
  29438.                 throw new CoreException(e.getMessage(),e);
  29439.             }    
  29440.         }

  29441.         return this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimitWindows;
  29442.     }
  29443.    
  29444.     private Boolean getControlloTrafficoNumeroRichiesteFalliteHeaderLimitWindows = null;
  29445.     private Boolean getControlloTrafficoNumeroRichiesteFalliteHeaderLimitWindowsRead = null;
  29446.     public Boolean getControlloTrafficoNumeroRichiesteFalliteHeaderLimitWindows() throws CoreException {    
  29447.         if(this.getControlloTrafficoNumeroRichiesteFalliteHeaderLimitWindowsRead==null){
  29448.             try{
  29449.                 String name = null;
  29450.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFallite.header.limit.windows");
  29451.                 if(name!=null){
  29452.                     name = name.trim();
  29453.                     this.getControlloTrafficoNumeroRichiesteFalliteHeaderLimitWindows = Boolean.valueOf(name);
  29454.                 }
  29455.                
  29456.                 this.getControlloTrafficoNumeroRichiesteFalliteHeaderLimitWindowsRead = true;
  29457.                
  29458.             } catch(java.lang.Exception e) {
  29459.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFallite.header.limit.windows': "+e.getMessage(),e);
  29460.                 throw new CoreException(e.getMessage(),e);
  29461.             }    
  29462.         }

  29463.         return this.getControlloTrafficoNumeroRichiesteFalliteHeaderLimitWindows;
  29464.     }
  29465.    
  29466.     private Boolean getControlloTrafficoNumeroFaultApplicativiHeaderLimitWindows = null;
  29467.     private Boolean getControlloTrafficoNumeroFaultApplicativiHeaderLimitWindowsRead = null;
  29468.     public Boolean getControlloTrafficoNumeroFaultApplicativiHeaderLimitWindows() throws CoreException {    
  29469.         if(this.getControlloTrafficoNumeroFaultApplicativiHeaderLimitWindowsRead==null){
  29470.             try{
  29471.                 String name = null;
  29472.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroFaultApplicativi.header.limit.windows");
  29473.                 if(name!=null){
  29474.                     name = name.trim();
  29475.                     this.getControlloTrafficoNumeroFaultApplicativiHeaderLimitWindows = Boolean.valueOf(name);
  29476.                 }
  29477.                
  29478.                 this.getControlloTrafficoNumeroFaultApplicativiHeaderLimitWindowsRead = true;
  29479.                
  29480.             } catch(java.lang.Exception e) {
  29481.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroFaultApplicativi.header.limit.windows': "+e.getMessage(),e);
  29482.                 throw new CoreException(e.getMessage(),e);
  29483.             }    
  29484.         }

  29485.         return this.getControlloTrafficoNumeroFaultApplicativiHeaderLimitWindows;
  29486.     }
  29487.    
  29488.     private Boolean getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimitWindows = null;
  29489.     private Boolean getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimitWindowsRead = null;
  29490.     public Boolean getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimitWindows() throws CoreException {  
  29491.         if(this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimitWindowsRead==null){
  29492.             try{
  29493.                 String name = null;
  29494.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFalliteOFaultApplicativi.header.limit.windows");
  29495.                 if(name!=null){
  29496.                     name = name.trim();
  29497.                     this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimitWindows = Boolean.valueOf(name);
  29498.                 }
  29499.                
  29500.                 this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimitWindowsRead = true;
  29501.                
  29502.             } catch(java.lang.Exception e) {
  29503.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFalliteOFaultApplicativi.header.limit.windows': "+e.getMessage(),e);
  29504.                 throw new CoreException(e.getMessage(),e);
  29505.             }    
  29506.         }

  29507.         return this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimitWindows;
  29508.     }  
  29509.    
  29510.     private Boolean getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimitWindows = null;
  29511.     private Boolean getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimitWindowsRead = null;
  29512.     public Boolean getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimitWindows() throws CoreException {
  29513.         if(this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimitWindowsRead==null){
  29514.             try{
  29515.                 String name = null;
  29516.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccessoOFaultApplicativi.header.limit.windows");
  29517.                 if(name!=null){
  29518.                     name = name.trim();
  29519.                     this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimitWindows = Boolean.valueOf(name);
  29520.                 }
  29521.                
  29522.                 this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimitWindowsRead = true;
  29523.                
  29524.             } catch(java.lang.Exception e) {
  29525.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccessoOFaultApplicativi.header.limit.windows': "+e.getMessage(),e);
  29526.                 throw new CoreException(e.getMessage(),e);
  29527.             }    
  29528.         }

  29529.         return this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimitWindows;
  29530.     }  

  29531.    
  29532.     // Remaining
  29533.    
  29534.     private String [] getControlloTrafficoNumeroRichiesteSimultaneeHeaderRemaining = null;
  29535.     private Boolean getControlloTrafficoNumeroRichiesteSimultaneeHeaderRemainingRead = null;
  29536.     public String [] getControlloTrafficoNumeroRichiesteSimultaneeHeaderRemaining() throws CoreException {  
  29537.         if(this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderRemainingRead==null){
  29538.             try{
  29539.                 String name = null;
  29540.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteSimultanee.header.remaining");
  29541.                 if(name!=null){
  29542.                     name = name.trim();
  29543.                     this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderRemaining = name.split(",");
  29544.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderRemaining.length; i++) {
  29545.                         this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderRemaining[i]=this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderRemaining[i].trim();
  29546.                     }
  29547.                 }
  29548.                
  29549.                 this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderRemainingRead = true;
  29550.                
  29551.             } catch(java.lang.Exception e) {
  29552.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteSimultanee.header.remaining': "+e.getMessage(),e);
  29553.                 throw new CoreException(e.getMessage(),e);
  29554.             }    
  29555.         }

  29556.         return this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderRemaining;
  29557.     }
  29558.    
  29559.     private String [] getControlloTrafficoNumeroRichiesteHeaderRemaining = null;
  29560.     private Boolean getControlloTrafficoNumeroRichiesteHeaderRemainingRead = null;
  29561.     public String [] getControlloTrafficoNumeroRichiesteHeaderRemaining() throws CoreException {    
  29562.         if(this.getControlloTrafficoNumeroRichiesteHeaderRemainingRead==null){
  29563.             try{
  29564.                 String name = null;
  29565.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichieste.header.remaining");
  29566.                 if(name!=null){
  29567.                     name = name.trim();
  29568.                     this.getControlloTrafficoNumeroRichiesteHeaderRemaining = name.split(",");
  29569.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteHeaderRemaining.length; i++) {
  29570.                         this.getControlloTrafficoNumeroRichiesteHeaderRemaining[i]=this.getControlloTrafficoNumeroRichiesteHeaderRemaining[i].trim();
  29571.                     }
  29572.                 }
  29573.                
  29574.                 this.getControlloTrafficoNumeroRichiesteHeaderRemainingRead = true;
  29575.                
  29576.             } catch(java.lang.Exception e) {
  29577.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichieste.header.remaining': "+e.getMessage(),e);
  29578.                 throw new CoreException(e.getMessage(),e);
  29579.             }    
  29580.         }

  29581.         return this.getControlloTrafficoNumeroRichiesteHeaderRemaining;
  29582.     }
  29583.    
  29584.     private String [] getControlloTrafficoOccupazioneBandaHeaderRemaining = null;
  29585.     private Boolean getControlloTrafficoOccupazioneBandaHeaderRemainingRead = null;
  29586.     public String [] getControlloTrafficoOccupazioneBandaHeaderRemaining() throws CoreException {  
  29587.         if(this.getControlloTrafficoOccupazioneBandaHeaderRemainingRead==null){
  29588.             try{
  29589.                 String name = null;
  29590.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.occupazioneBanda.header.remaining");
  29591.                 if(name!=null){
  29592.                     name = name.trim();
  29593.                     this.getControlloTrafficoOccupazioneBandaHeaderRemaining = name.split(",");
  29594.                     for (int i = 0; i < this.getControlloTrafficoOccupazioneBandaHeaderRemaining.length; i++) {
  29595.                         this.getControlloTrafficoOccupazioneBandaHeaderRemaining[i]=this.getControlloTrafficoOccupazioneBandaHeaderRemaining[i].trim();
  29596.                     }
  29597.                 }
  29598.                
  29599.                 this.getControlloTrafficoOccupazioneBandaHeaderRemainingRead = true;
  29600.                
  29601.             } catch(java.lang.Exception e) {
  29602.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.occupazioneBanda.header.remaining': "+e.getMessage(),e);
  29603.                 throw new CoreException(e.getMessage(),e);
  29604.             }    
  29605.         }

  29606.         return this.getControlloTrafficoOccupazioneBandaHeaderRemaining;
  29607.     }
  29608.    
  29609.     private String [] getControlloTrafficoTempoComplessivoRispostaHeaderRemaining = null;
  29610.     private Boolean getControlloTrafficoTempoComplessivoRispostaHeaderRemainingRead = null;
  29611.     public String [] getControlloTrafficoTempoComplessivoRispostaHeaderRemaining() throws CoreException {  
  29612.         if(this.getControlloTrafficoTempoComplessivoRispostaHeaderRemainingRead==null){
  29613.             try{
  29614.                 String name = null;
  29615.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.tempoComplessivoRisposta.header.remaining");
  29616.                 if(name!=null){
  29617.                     name = name.trim();
  29618.                     this.getControlloTrafficoTempoComplessivoRispostaHeaderRemaining = name.split(",");
  29619.                     for (int i = 0; i < this.getControlloTrafficoTempoComplessivoRispostaHeaderRemaining.length; i++) {
  29620.                         this.getControlloTrafficoTempoComplessivoRispostaHeaderRemaining[i]=this.getControlloTrafficoTempoComplessivoRispostaHeaderRemaining[i].trim();
  29621.                     }
  29622.                 }
  29623.                
  29624.                 this.getControlloTrafficoTempoComplessivoRispostaHeaderRemainingRead = true;
  29625.                
  29626.             } catch(java.lang.Exception e) {
  29627.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.tempoComplessivoRisposta.header.remaining': "+e.getMessage(),e);
  29628.                 throw new CoreException(e.getMessage(),e);
  29629.             }    
  29630.         }

  29631.         return this.getControlloTrafficoTempoComplessivoRispostaHeaderRemaining;
  29632.     }
  29633.        
  29634.     private String [] getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderRemaining = null;
  29635.     private Boolean getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderRemainingRead = null;
  29636.     public String [] getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderRemaining() throws CoreException {  
  29637.         if(this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderRemainingRead==null){
  29638.             try{
  29639.                 String name = null;
  29640.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccesso.header.remaining");
  29641.                 if(name!=null){
  29642.                     name = name.trim();
  29643.                     this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderRemaining = name.split(",");
  29644.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderRemaining.length; i++) {
  29645.                         this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderRemaining[i]=this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderRemaining[i].trim();
  29646.                     }
  29647.                 }
  29648.                
  29649.                 this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderRemainingRead = true;
  29650.                
  29651.             } catch(java.lang.Exception e) {
  29652.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccesso.header.remaining': "+e.getMessage(),e);
  29653.                 throw new CoreException(e.getMessage(),e);
  29654.             }    
  29655.         }

  29656.         return this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderRemaining;
  29657.     }
  29658.    
  29659.     private String [] getControlloTrafficoNumeroRichiesteFalliteHeaderRemaining = null;
  29660.     private Boolean getControlloTrafficoNumeroRichiesteFalliteHeaderRemainingRead = null;
  29661.     public String [] getControlloTrafficoNumeroRichiesteFalliteHeaderRemaining() throws CoreException {
  29662.         if(this.getControlloTrafficoNumeroRichiesteFalliteHeaderRemainingRead==null){
  29663.             try{
  29664.                 String name = null;
  29665.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFallite.header.remaining");
  29666.                 if(name!=null){
  29667.                     name = name.trim();
  29668.                     this.getControlloTrafficoNumeroRichiesteFalliteHeaderRemaining = name.split(",");
  29669.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteFalliteHeaderRemaining.length; i++) {
  29670.                         this.getControlloTrafficoNumeroRichiesteFalliteHeaderRemaining[i]=this.getControlloTrafficoNumeroRichiesteFalliteHeaderRemaining[i].trim();
  29671.                     }
  29672.                 }
  29673.                
  29674.                 this.getControlloTrafficoNumeroRichiesteFalliteHeaderRemainingRead = true;
  29675.                
  29676.             } catch(java.lang.Exception e) {
  29677.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFallite.header.remaining': "+e.getMessage(),e);
  29678.                 throw new CoreException(e.getMessage(),e);
  29679.             }    
  29680.         }

  29681.         return this.getControlloTrafficoNumeroRichiesteFalliteHeaderRemaining;
  29682.     }
  29683.    
  29684.     private String [] getControlloTrafficoNumeroFaultApplicativiHeaderRemaining = null;
  29685.     private Boolean getControlloTrafficoNumeroFaultApplicativiHeaderRemainingRead = null;
  29686.     public String [] getControlloTrafficoNumeroFaultApplicativiHeaderRemaining() throws CoreException {
  29687.         if(this.getControlloTrafficoNumeroFaultApplicativiHeaderRemainingRead==null){
  29688.             try{
  29689.                 String name = null;
  29690.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroFaultApplicativi.header.remaining");
  29691.                 if(name!=null){
  29692.                     name = name.trim();
  29693.                     this.getControlloTrafficoNumeroFaultApplicativiHeaderRemaining = name.split(",");
  29694.                     for (int i = 0; i < this.getControlloTrafficoNumeroFaultApplicativiHeaderRemaining.length; i++) {
  29695.                         this.getControlloTrafficoNumeroFaultApplicativiHeaderRemaining[i]=this.getControlloTrafficoNumeroFaultApplicativiHeaderRemaining[i].trim();
  29696.                     }
  29697.                 }
  29698.                
  29699.                 this.getControlloTrafficoNumeroFaultApplicativiHeaderRemainingRead = true;
  29700.                
  29701.             } catch(java.lang.Exception e) {
  29702.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroFaultApplicativi.header.remaining': "+e.getMessage(),e);
  29703.                 throw new CoreException(e.getMessage(),e);
  29704.             }    
  29705.         }

  29706.         return this.getControlloTrafficoNumeroFaultApplicativiHeaderRemaining;
  29707.     }
  29708.    
  29709.     private String [] getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderRemaining = null;
  29710.     private Boolean getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderRemainingRead = null;
  29711.     public String [] getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderRemaining() throws CoreException {    
  29712.         if(this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderRemainingRead==null){
  29713.             try{
  29714.                 String name = null;
  29715.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFalliteOFaultApplicativi.header.remaining");
  29716.                 if(name!=null){
  29717.                     name = name.trim();
  29718.                     this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderRemaining = name.split(",");
  29719.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderRemaining.length; i++) {
  29720.                         this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderRemaining[i]=this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderRemaining[i].trim();
  29721.                     }
  29722.                 }
  29723.                
  29724.                 this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderRemainingRead = true;
  29725.                
  29726.             } catch(java.lang.Exception e) {
  29727.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteNonCompletateConSuccesso.header.remaining': "+e.getMessage(),e);
  29728.                 throw new CoreException(e.getMessage(),e);
  29729.             }    
  29730.         }

  29731.         return this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderRemaining;
  29732.     }
  29733.    
  29734.     private String [] getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderRemaining = null;
  29735.     private Boolean getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderRemainingRead = null;
  29736.     public String [] getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderRemaining() throws CoreException {  
  29737.         if(this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderRemainingRead==null){
  29738.             try{
  29739.                 String name = null;
  29740.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccessoOFaultApplicativi.header.remaining");
  29741.                 if(name!=null){
  29742.                     name = name.trim();
  29743.                     this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderRemaining = name.split(",");
  29744.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderRemaining.length; i++) {
  29745.                         this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderRemaining[i]=this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderRemaining[i].trim();
  29746.                     }
  29747.                 }
  29748.                
  29749.                 this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderRemainingRead = true;
  29750.                
  29751.             } catch(java.lang.Exception e) {
  29752.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccessoOFaultApplicativi.header.remaining': "+e.getMessage(),e);
  29753.                 throw new CoreException(e.getMessage(),e);
  29754.             }    
  29755.         }

  29756.         return this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderRemaining;
  29757.     }
  29758.    

  29759.    
  29760.    
  29761.    
  29762.     // Reset
  29763.    
  29764.     private String [] getControlloTrafficoNumeroRichiesteHeaderReset = null;
  29765.     private Boolean getControlloTrafficoNumeroRichiesteHeaderResetRead = null;
  29766.     public String [] getControlloTrafficoNumeroRichiesteHeaderReset() throws CoreException {    
  29767.         if(this.getControlloTrafficoNumeroRichiesteHeaderResetRead==null){
  29768.             try{
  29769.                 String name = null;
  29770.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichieste.header.reset");
  29771.                 if(name!=null){
  29772.                     name = name.trim();
  29773.                     this.getControlloTrafficoNumeroRichiesteHeaderReset = name.split(",");
  29774.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteHeaderReset.length; i++) {
  29775.                         this.getControlloTrafficoNumeroRichiesteHeaderReset[i]=this.getControlloTrafficoNumeroRichiesteHeaderReset[i].trim();
  29776.                     }
  29777.                 }
  29778.                
  29779.                 this.getControlloTrafficoNumeroRichiesteHeaderResetRead = true;
  29780.                
  29781.             } catch(java.lang.Exception e) {
  29782.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichieste.header.reset': "+e.getMessage(),e);
  29783.                 throw new CoreException(e.getMessage(),e);
  29784.             }    
  29785.         }

  29786.         return this.getControlloTrafficoNumeroRichiesteHeaderReset;
  29787.     }
  29788.    
  29789.     private String [] getControlloTrafficoOccupazioneBandaHeaderReset = null;
  29790.     private Boolean getControlloTrafficoOccupazioneBandaHeaderResetRead = null;
  29791.     public String [] getControlloTrafficoOccupazioneBandaHeaderReset() throws CoreException {  
  29792.         if(this.getControlloTrafficoOccupazioneBandaHeaderResetRead==null){
  29793.             try{
  29794.                 String name = null;
  29795.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.occupazioneBanda.header.reset");
  29796.                 if(name!=null){
  29797.                     name = name.trim();
  29798.                     this.getControlloTrafficoOccupazioneBandaHeaderReset = name.split(",");
  29799.                     for (int i = 0; i < this.getControlloTrafficoOccupazioneBandaHeaderReset.length; i++) {
  29800.                         this.getControlloTrafficoOccupazioneBandaHeaderReset[i]=this.getControlloTrafficoOccupazioneBandaHeaderReset[i].trim();
  29801.                     }
  29802.                 }
  29803.                
  29804.                 this.getControlloTrafficoOccupazioneBandaHeaderResetRead = true;
  29805.                
  29806.             } catch(java.lang.Exception e) {
  29807.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.occupazioneBanda.header.reset': "+e.getMessage(),e);
  29808.                 throw new CoreException(e.getMessage(),e);
  29809.             }    
  29810.         }

  29811.         return this.getControlloTrafficoOccupazioneBandaHeaderReset;
  29812.     }
  29813.    
  29814.     private String [] getControlloTrafficoTempoComplessivoRispostaHeaderReset = null;
  29815.     private Boolean getControlloTrafficoTempoComplessivoRispostaHeaderResetRead = null;
  29816.     public String [] getControlloTrafficoTempoComplessivoRispostaHeaderReset() throws CoreException {  
  29817.         if(this.getControlloTrafficoTempoComplessivoRispostaHeaderResetRead==null){
  29818.             try{
  29819.                 String name = null;
  29820.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.tempoComplessivoRisposta.header.reset");
  29821.                 if(name!=null){
  29822.                     name = name.trim();
  29823.                     this.getControlloTrafficoTempoComplessivoRispostaHeaderReset = name.split(",");
  29824.                     for (int i = 0; i < this.getControlloTrafficoTempoComplessivoRispostaHeaderReset.length; i++) {
  29825.                         this.getControlloTrafficoTempoComplessivoRispostaHeaderReset[i]=this.getControlloTrafficoTempoComplessivoRispostaHeaderReset[i].trim();
  29826.                     }
  29827.                 }
  29828.                
  29829.                 this.getControlloTrafficoTempoComplessivoRispostaHeaderResetRead = true;
  29830.                
  29831.             } catch(java.lang.Exception e) {
  29832.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.tempoComplessivoRisposta.header.reset': "+e.getMessage(),e);
  29833.                 throw new CoreException(e.getMessage(),e);
  29834.             }    
  29835.         }

  29836.         return this.getControlloTrafficoTempoComplessivoRispostaHeaderReset;
  29837.     }
  29838.    
  29839.     private String [] getControlloTrafficoTempoMedioRispostaHeaderReset = null;
  29840.     private Boolean getControlloTrafficoTempoMedioRispostaHeaderResetRead = null;
  29841.     public String [] getControlloTrafficoTempoMedioRispostaHeaderReset() throws CoreException {
  29842.         if(this.getControlloTrafficoTempoMedioRispostaHeaderResetRead==null){
  29843.             try{
  29844.                 String name = null;
  29845.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.tempoMedioRisposta.header.reset");
  29846.                 if(name!=null){
  29847.                     name = name.trim();
  29848.                     this.getControlloTrafficoTempoMedioRispostaHeaderReset = name.split(",");
  29849.                     for (int i = 0; i < this.getControlloTrafficoTempoMedioRispostaHeaderReset.length; i++) {
  29850.                         this.getControlloTrafficoTempoMedioRispostaHeaderReset[i]=this.getControlloTrafficoTempoMedioRispostaHeaderReset[i].trim();
  29851.                     }
  29852.                 }
  29853.                
  29854.                 this.getControlloTrafficoTempoMedioRispostaHeaderResetRead = true;
  29855.                
  29856.             } catch(java.lang.Exception e) {
  29857.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.tempoMedioRisposta.header.reset': "+e.getMessage(),e);
  29858.                 throw new CoreException(e.getMessage(),e);
  29859.             }    
  29860.         }

  29861.         return this.getControlloTrafficoTempoMedioRispostaHeaderReset;
  29862.     }
  29863.    
  29864.     private String [] getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderReset = null;
  29865.     private Boolean getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderResetRead = null;
  29866.     public String [] getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderReset() throws CoreException {  
  29867.         if(this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderResetRead==null){
  29868.             try{
  29869.                 String name = null;
  29870.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccesso.header.reset");
  29871.                 if(name!=null){
  29872.                     name = name.trim();
  29873.                     this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderReset = name.split(",");
  29874.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderReset.length; i++) {
  29875.                         this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderReset[i]=this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderReset[i].trim();
  29876.                     }
  29877.                 }
  29878.                
  29879.                 this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderResetRead = true;
  29880.                
  29881.             } catch(java.lang.Exception e) {
  29882.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccesso.header.reset': "+e.getMessage(),e);
  29883.                 throw new CoreException(e.getMessage(),e);
  29884.             }    
  29885.         }

  29886.         return this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderReset;
  29887.     }
  29888.    
  29889.     private String [] getControlloTrafficoNumeroRichiesteFalliteHeaderReset = null;
  29890.     private Boolean getControlloTrafficoNumeroRichiesteFalliteHeaderResetRead = null;
  29891.     public String [] getControlloTrafficoNumeroRichiesteFalliteHeaderReset() throws CoreException {
  29892.         if(this.getControlloTrafficoNumeroRichiesteFalliteHeaderResetRead==null){
  29893.             try{
  29894.                 String name = null;
  29895.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFallite.header.reset");
  29896.                 if(name!=null){
  29897.                     name = name.trim();
  29898.                     this.getControlloTrafficoNumeroRichiesteFalliteHeaderReset = name.split(",");
  29899.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteFalliteHeaderReset.length; i++) {
  29900.                         this.getControlloTrafficoNumeroRichiesteFalliteHeaderReset[i]=this.getControlloTrafficoNumeroRichiesteFalliteHeaderReset[i].trim();
  29901.                     }
  29902.                 }
  29903.                
  29904.                 this.getControlloTrafficoNumeroRichiesteFalliteHeaderResetRead = true;
  29905.                
  29906.             } catch(java.lang.Exception e) {
  29907.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFallite.header.reset': "+e.getMessage(),e);
  29908.                 throw new CoreException(e.getMessage(),e);
  29909.             }    
  29910.         }

  29911.         return this.getControlloTrafficoNumeroRichiesteFalliteHeaderReset;
  29912.     }
  29913.    
  29914.     private String [] getControlloTrafficoNumeroFaultApplicativiHeaderReset = null;
  29915.     private Boolean getControlloTrafficoNumeroFaultApplicativiHeaderResetRead = null;
  29916.     public String [] getControlloTrafficoNumeroFaultApplicativiHeaderReset() throws CoreException {
  29917.         if(this.getControlloTrafficoNumeroFaultApplicativiHeaderResetRead==null){
  29918.             try{
  29919.                 String name = null;
  29920.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroFaultApplicativi.header.reset");
  29921.                 if(name!=null){
  29922.                     name = name.trim();
  29923.                     this.getControlloTrafficoNumeroFaultApplicativiHeaderReset = name.split(",");
  29924.                     for (int i = 0; i < this.getControlloTrafficoNumeroFaultApplicativiHeaderReset.length; i++) {
  29925.                         this.getControlloTrafficoNumeroFaultApplicativiHeaderReset[i]=this.getControlloTrafficoNumeroFaultApplicativiHeaderReset[i].trim();
  29926.                     }
  29927.                 }
  29928.                
  29929.                 this.getControlloTrafficoNumeroFaultApplicativiHeaderResetRead = true;
  29930.                
  29931.             } catch(java.lang.Exception e) {
  29932.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroFaultApplicativi.header.reset': "+e.getMessage(),e);
  29933.                 throw new CoreException(e.getMessage(),e);
  29934.             }    
  29935.         }

  29936.         return this.getControlloTrafficoNumeroFaultApplicativiHeaderReset;
  29937.     }
  29938.    
  29939.     private String [] getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderReset = null;
  29940.     private Boolean getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderResetRead = null;
  29941.     public String [] getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderReset() throws CoreException {    
  29942.         if(this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderResetRead==null){
  29943.             try{
  29944.                 String name = null;
  29945.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFalliteOFaultApplicativi.header.reset");
  29946.                 if(name!=null){
  29947.                     name = name.trim();
  29948.                     this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderReset = name.split(",");
  29949.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderReset.length; i++) {
  29950.                         this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderReset[i]=this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderReset[i].trim();
  29951.                     }
  29952.                 }
  29953.                
  29954.                 this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderResetRead = true;
  29955.                
  29956.             } catch(java.lang.Exception e) {
  29957.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFalliteOFaultApplicativi.header.reset': "+e.getMessage(),e);
  29958.                 throw new CoreException(e.getMessage(),e);
  29959.             }    
  29960.         }

  29961.         return this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderReset;
  29962.     }
  29963.    
  29964.     private String [] getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderReset = null;
  29965.     private Boolean getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderResetRead = null;
  29966.     public String [] getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderReset() throws CoreException {  
  29967.         if(this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderResetRead==null){
  29968.             try{
  29969.                 String name = null;
  29970.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccessoOFaultApplicativi.header.reset");
  29971.                 if(name!=null){
  29972.                     name = name.trim();
  29973.                     this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderReset = name.split(",");
  29974.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderReset.length; i++) {
  29975.                         this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderReset[i]=this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderReset[i].trim();
  29976.                     }
  29977.                 }
  29978.                
  29979.                 this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderResetRead = true;
  29980.                
  29981.             } catch(java.lang.Exception e) {
  29982.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccessoOFaultApplicativi.header.reset': "+e.getMessage(),e);
  29983.                 throw new CoreException(e.getMessage(),e);
  29984.             }    
  29985.         }

  29986.         return this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderReset;
  29987.     }
  29988.    
  29989.    
  29990.    
  29991.     // Header Retry After
  29992.    
  29993.     private String [] getControlloTrafficoRetryAfterHeader = null;
  29994.     private Boolean getControlloTrafficoRetryAfterHeaderRead = null;
  29995.     public String [] getControlloTrafficoRetryAfterHeader() throws CoreException {  
  29996.         if(this.getControlloTrafficoRetryAfterHeaderRead==null){
  29997.             try{
  29998.                 String name = null;
  29999.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.policyViolate.retryAfter");
  30000.                 if(name!=null){
  30001.                     name = name.trim();
  30002.                     this.getControlloTrafficoRetryAfterHeader = name.split(",");
  30003.                     for (int i = 0; i < this.getControlloTrafficoRetryAfterHeader.length; i++) {
  30004.                         this.getControlloTrafficoRetryAfterHeader[i]=this.getControlloTrafficoRetryAfterHeader[i].trim();
  30005.                     }
  30006.                 }
  30007.                
  30008.                 this.getControlloTrafficoRetryAfterHeaderRead = true;
  30009.                
  30010.             } catch(java.lang.Exception e) {
  30011.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichieste.header.limit': "+e.getMessage(),e);
  30012.                 throw new CoreException(e.getMessage(),e);
  30013.             }    
  30014.         }

  30015.         return this.getControlloTrafficoRetryAfterHeader;
  30016.     }
  30017.        
  30018.     private Integer getControlloTrafficoRetryAfterHeaderRandomBackoff = null;
  30019.     public Integer getControlloTrafficoRetryAfterHeaderRandomBackoff() {    
  30020.         if(this.getControlloTrafficoRetryAfterHeaderRandomBackoff==null){
  30021.             try{
  30022.                 String name = null;
  30023.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.policyViolate.retryAfter.randomBackoff.seconds");
  30024.                 if(name!=null){
  30025.                     name = name.trim();
  30026.                     this.getControlloTrafficoRetryAfterHeaderRandomBackoff = Integer.parseInt(name);
  30027.                 }
  30028.                 else {
  30029.                     this.getControlloTrafficoRetryAfterHeaderRandomBackoff = 0;
  30030.                 }
  30031.             } catch(java.lang.Exception e) {
  30032.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.policyViolate.retryAfter.randomBackoff.seconds': "+e.getMessage(),e);
  30033.                 this.getControlloTrafficoRetryAfterHeaderRandomBackoff = 0;
  30034.             }    
  30035.         }

  30036.         return this.getControlloTrafficoRetryAfterHeaderRandomBackoff;
  30037.     }
  30038.    
  30039.    
  30040.    
  30041.     /* ------------- Allarmi ---------------------*/
  30042.    
  30043.     private Boolean isAllarmiEnabled = null;
  30044.     public boolean isAllarmiEnabled() {
  30045.         if(this.isAllarmiEnabled==null){
  30046.             try{
  30047.                 if(CostantiConfigurazione.CONFIGURAZIONE_XML.equalsIgnoreCase(getTipoConfigurazionePDD())){
  30048.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.allarmi.enabled' ignorata. La segnalazione degli allarmi è disabilitata sulla configurazione xml");
  30049.                     this.isAllarmiEnabled = false;
  30050.                 }
  30051.                 else {
  30052.                     String name = null;
  30053.                     name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.allarmi.enabled");
  30054.                     if(name==null){
  30055.                         this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.allarmi.enabled' non impostata, viene utilizzato il default=false");
  30056.                         name="false";
  30057.                     }
  30058.                     name = name.trim();
  30059.                     this.isAllarmiEnabled = Boolean.parseBoolean(name);
  30060.                 }
  30061.             } catch(java.lang.Exception e) {
  30062.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.allarmi.enabled', viene utilizzato il default=false : "+e.getMessage(),e);
  30063.                 this.isAllarmiEnabled = true;
  30064.             }    
  30065.         }

  30066.         return this.isAllarmiEnabled;
  30067.     }
  30068.    
  30069.     private Boolean isAllarmiDebug = null;
  30070.     public boolean isAllarmiDebug() {  
  30071.         if(this.isAllarmiDebug==null){
  30072.             try{
  30073.                 String name = null;
  30074.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.allarmi.debug");
  30075.                 if(name==null){
  30076.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.allarmi.debug' non impostata, viene utilizzato il default=true");
  30077.                     name="true";
  30078.                 }
  30079.                 name = name.trim();
  30080.                 this.isAllarmiDebug = Boolean.parseBoolean(name);
  30081.             } catch(java.lang.Exception e) {
  30082.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.allarmi.debug', viene utilizzato il default=true : "+e.getMessage(),e);
  30083.                 this.isAllarmiDebug = true;
  30084.             }    
  30085.         }

  30086.         return this.isAllarmiDebug;
  30087.     }
  30088.    
  30089.    
  30090.    
  30091.    
  30092.     /* ------------- Service Unavailable ---------------------*/
  30093.    
  30094.     private Integer getServiceUnavailableRetryAfterSecondsPD = null;
  30095.     public Integer getServiceUnavailableRetryAfterSecondsPD() {
  30096.         if(this.getServiceUnavailableRetryAfterSecondsPD==null){
  30097.             try{
  30098.                 String name = null;
  30099.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.seconds");
  30100.                 if(name!=null){
  30101.                     name = name.trim();
  30102.                     this.getServiceUnavailableRetryAfterSecondsPD = Integer.parseInt(name);
  30103.                 }
  30104.                 else {
  30105.                     throw new CoreException(PROPRIETA_NON_DEFINITA);
  30106.                 }
  30107.             } catch(java.lang.Exception e) {
  30108.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.seconds', default:60 : "+e.getMessage(),e);
  30109.                 this.getServiceUnavailableRetryAfterSecondsPD = 60;
  30110.             }    
  30111.         }

  30112.         return this.getServiceUnavailableRetryAfterSecondsPD;
  30113.     }
  30114.    
  30115.     private Integer getServiceUnavailableRetryAfterSecondsRandomBackoffPD = null;
  30116.     public Integer getServiceUnavailableRetryAfterSecondsRandomBackoffPD() {    
  30117.         if(this.getServiceUnavailableRetryAfterSecondsRandomBackoffPD==null){
  30118.             try{
  30119.                 String name = null;
  30120.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.randomBackoff.seconds");
  30121.                 if(name!=null){
  30122.                     name = name.trim();
  30123.                     this.getServiceUnavailableRetryAfterSecondsRandomBackoffPD = Integer.parseInt(name);
  30124.                 }
  30125.                 else {
  30126.                     this.getServiceUnavailableRetryAfterSecondsRandomBackoffPD = 0;
  30127.                 }
  30128.             } catch(java.lang.Exception e) {
  30129.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.randomBackoff.seconds': "+e.getMessage(),e);
  30130.                 this.getServiceUnavailableRetryAfterSecondsRandomBackoffPD = 0;
  30131.             }    
  30132.         }

  30133.         return this.getServiceUnavailableRetryAfterSecondsRandomBackoffPD;
  30134.     }
  30135.    
  30136.     private Integer getServiceUnavailableRetryAfterSecondsPA = null;
  30137.     public Integer getServiceUnavailableRetryAfterSecondsPA() {
  30138.         if(this.getServiceUnavailableRetryAfterSecondsPA==null){
  30139.             try{
  30140.                 String name = null;
  30141.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.seconds");
  30142.                 if(name!=null){
  30143.                     name = name.trim();
  30144.                     this.getServiceUnavailableRetryAfterSecondsPA = Integer.parseInt(name);
  30145.                 }
  30146.                 else {
  30147.                     throw new CoreException(PROPRIETA_NON_DEFINITA);
  30148.                 }
  30149.             } catch(java.lang.Exception e) {
  30150.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.seconds', default:60 : "+e.getMessage(),e);
  30151.                 this.getServiceUnavailableRetryAfterSecondsPA = 60;
  30152.             }    
  30153.         }

  30154.         return this.getServiceUnavailableRetryAfterSecondsPA;
  30155.     }
  30156.    
  30157.     private Integer getServiceUnavailableRetryAfterSecondsRandomBackoffPA = null;
  30158.     public Integer getServiceUnavailableRetryAfterSecondsRandomBackoffPA() {    
  30159.         if(this.getServiceUnavailableRetryAfterSecondsRandomBackoffPA==null){
  30160.             try{
  30161.                 String name = null;
  30162.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.randomBackoff.seconds");
  30163.                 if(name!=null){
  30164.                     name = name.trim();
  30165.                     this.getServiceUnavailableRetryAfterSecondsRandomBackoffPA = Integer.parseInt(name);
  30166.                 }
  30167.                 else {
  30168.                     this.getServiceUnavailableRetryAfterSecondsRandomBackoffPA = 0;
  30169.                 }
  30170.             } catch(java.lang.Exception e) {
  30171.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.randomBackoff.seconds': "+e.getMessage(),e);
  30172.                 this.getServiceUnavailableRetryAfterSecondsRandomBackoffPA = 0;
  30173.             }    
  30174.         }

  30175.         return this.getServiceUnavailableRetryAfterSecondsRandomBackoffPA;
  30176.     }
  30177.    
  30178.    
  30179.    
  30180.     private Boolean isEnabledServiceUnavailableRetryAfterPDSuspend = null;
  30181.     public boolean isEnabledServiceUnavailableRetryAfterPDSuspend() {  
  30182.         if(this.isEnabledServiceUnavailableRetryAfterPDSuspend==null){
  30183.             try{
  30184.                 String name = null;
  30185.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.suspend.enabled");
  30186.                 if(name==null){
  30187.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.suspend.enabled' non impostata, viene utilizzato il default=true");
  30188.                     name="true";
  30189.                 }
  30190.                 name = name.trim();
  30191.                 this.isEnabledServiceUnavailableRetryAfterPDSuspend = Boolean.parseBoolean(name);
  30192.             } catch(java.lang.Exception e) {
  30193.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.suspend.enabled', viene utilizzato il default=true : "+e.getMessage(),e);
  30194.                 this.isEnabledServiceUnavailableRetryAfterPDSuspend = true;
  30195.             }    
  30196.         }

  30197.         return this.isEnabledServiceUnavailableRetryAfterPDSuspend;
  30198.     }
  30199.    
  30200.     private Integer getServiceUnavailableRetryAfterSecondsPDSuspend = null;
  30201.     public Integer getServiceUnavailableRetryAfterSecondsPDSuspend() {  
  30202.         if(this.getServiceUnavailableRetryAfterSecondsPDSuspend==null){
  30203.             try{
  30204.                 String name = null;
  30205.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.suspend.seconds");
  30206.                 if(name!=null){
  30207.                     name = name.trim();
  30208.                     this.getServiceUnavailableRetryAfterSecondsPDSuspend = Integer.parseInt(name);
  30209.                 }
  30210.                 else {
  30211.                     throw new CoreException(PROPRIETA_NON_DEFINITA);
  30212.                 }
  30213.             } catch(java.lang.Exception e) {
  30214.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.suspend.seconds', default:60 : "+e.getMessage(),e);
  30215.                 this.getServiceUnavailableRetryAfterSecondsPDSuspend = 60;
  30216.             }    
  30217.         }

  30218.         return this.getServiceUnavailableRetryAfterSecondsPDSuspend;
  30219.     }
  30220.    
  30221.     private Integer getServiceUnavailableRetryAfterSecondsRandomBackoffPDSuspend = null;
  30222.     public Integer getServiceUnavailableRetryAfterSecondsRandomBackoffPDSuspend() {
  30223.         if(this.getServiceUnavailableRetryAfterSecondsRandomBackoffPDSuspend==null){
  30224.             try{
  30225.                 String name = null;
  30226.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.suspend.randomBackoff.seconds");
  30227.                 if(name!=null){
  30228.                     name = name.trim();
  30229.                     this.getServiceUnavailableRetryAfterSecondsRandomBackoffPDSuspend = Integer.parseInt(name);
  30230.                 }
  30231.                 else {
  30232.                     this.getServiceUnavailableRetryAfterSecondsRandomBackoffPDSuspend = 0;
  30233.                 }
  30234.             } catch(java.lang.Exception e) {
  30235.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.suspend.randomBackoff.seconds': "+e.getMessage(),e);
  30236.                 this.getServiceUnavailableRetryAfterSecondsRandomBackoffPDSuspend = 0;
  30237.             }    
  30238.         }

  30239.         return this.getServiceUnavailableRetryAfterSecondsRandomBackoffPDSuspend;
  30240.     }
  30241.    
  30242.     private Boolean isEnabledServiceUnavailableRetryAfterPASuspend = null;
  30243.     public boolean isEnabledServiceUnavailableRetryAfterPASuspend() {  
  30244.         if(this.isEnabledServiceUnavailableRetryAfterPASuspend==null){
  30245.             try{
  30246.                 String name = null;
  30247.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.suspend.enabled");
  30248.                 if(name==null){
  30249.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.suspend.enabled' non impostata, viene utilizzato il default=true");
  30250.                     name="true";
  30251.                 }
  30252.                 name = name.trim();
  30253.                 this.isEnabledServiceUnavailableRetryAfterPASuspend = Boolean.parseBoolean(name);
  30254.             } catch(java.lang.Exception e) {
  30255.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.suspend.enabled', viene utilizzato il default=true : "+e.getMessage(),e);
  30256.                 this.isEnabledServiceUnavailableRetryAfterPASuspend = true;
  30257.             }    
  30258.         }

  30259.         return this.isEnabledServiceUnavailableRetryAfterPASuspend;
  30260.     }
  30261.    
  30262.     private Integer getServiceUnavailableRetryAfterSecondsPASuspend = null;
  30263.     public Integer getServiceUnavailableRetryAfterSecondsPASuspend() {  
  30264.         if(this.getServiceUnavailableRetryAfterSecondsPASuspend==null){
  30265.             try{
  30266.                 String name = null;
  30267.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.suspend.seconds");
  30268.                 if(name!=null){
  30269.                     name = name.trim();
  30270.                     this.getServiceUnavailableRetryAfterSecondsPASuspend = Integer.parseInt(name);
  30271.                 }
  30272.                 else {
  30273.                     throw new CoreException(PROPRIETA_NON_DEFINITA);
  30274.                 }
  30275.             } catch(java.lang.Exception e) {
  30276.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.suspend.seconds', default:60 : "+e.getMessage(),e);
  30277.                 this.getServiceUnavailableRetryAfterSecondsPASuspend = 60;
  30278.             }    
  30279.         }

  30280.         return this.getServiceUnavailableRetryAfterSecondsPASuspend;
  30281.     }
  30282.    
  30283.     private Integer getServiceUnavailableRetryAfterSecondsRandomBackoffPASuspend = null;
  30284.     public Integer getServiceUnavailableRetryAfterSecondsRandomBackoffPASuspend() {
  30285.         if(this.getServiceUnavailableRetryAfterSecondsRandomBackoffPASuspend==null){
  30286.             try{
  30287.                 String name = null;
  30288.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.suspend.randomBackoff.seconds");
  30289.                 if(name!=null){
  30290.                     name = name.trim();
  30291.                     this.getServiceUnavailableRetryAfterSecondsRandomBackoffPASuspend = Integer.parseInt(name);
  30292.                 }
  30293.                 else {
  30294.                     this.getServiceUnavailableRetryAfterSecondsRandomBackoffPASuspend = 0;
  30295.                 }
  30296.             } catch(java.lang.Exception e) {
  30297.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.suspend.randomBackoff.seconds': "+e.getMessage(),e);
  30298.                 this.getServiceUnavailableRetryAfterSecondsRandomBackoffPASuspend = 0;
  30299.             }    
  30300.         }

  30301.         return this.getServiceUnavailableRetryAfterSecondsRandomBackoffPASuspend;
  30302.     }
  30303.    
  30304.     private Boolean isEnabledServiceUnavailableRetryAfterPDConnectionFailed = null;
  30305.     public boolean isEnabledServiceUnavailableRetryAfterPDConnectionFailed() {  
  30306.         if(this.isEnabledServiceUnavailableRetryAfterPDConnectionFailed==null){
  30307.             try{
  30308.                 String name = null;
  30309.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.connectionFailed.enabled");
  30310.                 if(name==null){
  30311.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.connectionFailed.enabled' non impostata, viene utilizzato il default=true");
  30312.                     name="true";
  30313.                 }
  30314.                 name = name.trim();
  30315.                 this.isEnabledServiceUnavailableRetryAfterPDConnectionFailed = Boolean.parseBoolean(name);
  30316.             } catch(java.lang.Exception e) {
  30317.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.connectionFailed.enabled', viene utilizzato il default=true : "+e.getMessage(),e);
  30318.                 this.isEnabledServiceUnavailableRetryAfterPDConnectionFailed = true;
  30319.             }    
  30320.         }

  30321.         return this.isEnabledServiceUnavailableRetryAfterPDConnectionFailed;
  30322.     }
  30323.    
  30324.     private Integer getServiceUnavailableRetryAfterSecondsPDConnectionFailed = null;
  30325.     public Integer getServiceUnavailableRetryAfterSecondsPDConnectionFailed() {
  30326.         if(this.getServiceUnavailableRetryAfterSecondsPDConnectionFailed==null){
  30327.             try{
  30328.                 String name = null;
  30329.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.connectionFailed.seconds");
  30330.                 if(name!=null){
  30331.                     name = name.trim();
  30332.                     this.getServiceUnavailableRetryAfterSecondsPDConnectionFailed = Integer.parseInt(name);
  30333.                 }
  30334.                 else {
  30335.                     throw new CoreException(PROPRIETA_NON_DEFINITA);
  30336.                 }
  30337.             } catch(java.lang.Exception e) {
  30338.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.connectionFailed.seconds', default:60 : "+e.getMessage(),e);
  30339.                 this.getServiceUnavailableRetryAfterSecondsPDConnectionFailed = 60;
  30340.             }    
  30341.         }

  30342.         return this.getServiceUnavailableRetryAfterSecondsPDConnectionFailed;
  30343.     }
  30344.    
  30345.     private Integer getServiceUnavailableRetryAfterSecondsRandomBackoffPDConnectionFailed = null;
  30346.     public Integer getServiceUnavailableRetryAfterSecondsRandomBackoffPDConnectionFailed() {    
  30347.         if(this.getServiceUnavailableRetryAfterSecondsRandomBackoffPDConnectionFailed==null){
  30348.             try{
  30349.                 String name = null;
  30350.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.connectionFailed.randomBackoff.seconds");
  30351.                 if(name!=null){
  30352.                     name = name.trim();
  30353.                     this.getServiceUnavailableRetryAfterSecondsRandomBackoffPDConnectionFailed = Integer.parseInt(name);
  30354.                 }
  30355.                 else {
  30356.                     this.getServiceUnavailableRetryAfterSecondsRandomBackoffPDConnectionFailed = 0;
  30357.                 }
  30358.             } catch(java.lang.Exception e) {
  30359.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.connectionFailed.randomBackoff.seconds': "+e.getMessage(),e);
  30360.                 this.getServiceUnavailableRetryAfterSecondsRandomBackoffPDConnectionFailed = 0;
  30361.             }    
  30362.         }

  30363.         return this.getServiceUnavailableRetryAfterSecondsRandomBackoffPDConnectionFailed;
  30364.     }
  30365.    
  30366.     private Boolean isEnabledServiceUnavailableRetryAfterPAConnectionFailed = null;
  30367.     public boolean isEnabledServiceUnavailableRetryAfterPAConnectionFailed() {  
  30368.         if(this.isEnabledServiceUnavailableRetryAfterPAConnectionFailed==null){
  30369.             try{
  30370.                 String name = null;
  30371.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.connectionFailed.enabled");
  30372.                 if(name==null){
  30373.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.connectionFailed.enabled' non impostata, viene utilizzato il default=true");
  30374.                     name="true";
  30375.                 }
  30376.                 name = name.trim();
  30377.                 this.isEnabledServiceUnavailableRetryAfterPAConnectionFailed = Boolean.parseBoolean(name);
  30378.             } catch(java.lang.Exception e) {
  30379.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.connectionFailed.enabled', viene utilizzato il default=true : "+e.getMessage(),e);
  30380.                 this.isEnabledServiceUnavailableRetryAfterPAConnectionFailed = true;
  30381.             }    
  30382.         }

  30383.         return this.isEnabledServiceUnavailableRetryAfterPAConnectionFailed;
  30384.     }
  30385.    
  30386.     private Integer getServiceUnavailableRetryAfterSecondsPAConnectionFailed = null;
  30387.     public Integer getServiceUnavailableRetryAfterSecondsPAConnectionFailed() {
  30388.         if(this.getServiceUnavailableRetryAfterSecondsPAConnectionFailed==null){
  30389.             try{
  30390.                 String name = null;
  30391.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.connectionFailed.seconds");
  30392.                 if(name!=null){
  30393.                     name = name.trim();
  30394.                     this.getServiceUnavailableRetryAfterSecondsPAConnectionFailed = Integer.parseInt(name);
  30395.                 }
  30396.                 else {
  30397.                     throw new CoreException(PROPRIETA_NON_DEFINITA);
  30398.                 }
  30399.             } catch(java.lang.Exception e) {
  30400.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.connectionFailed.seconds', default:60 : "+e.getMessage(),e);
  30401.                 this.getServiceUnavailableRetryAfterSecondsPAConnectionFailed = 60;
  30402.             }    
  30403.         }

  30404.         return this.getServiceUnavailableRetryAfterSecondsPAConnectionFailed;
  30405.     }
  30406.    
  30407.     private Integer getServiceUnavailableRetryAfterSecondsRandomBackoffPAConnectionFailed = null;
  30408.     public Integer getServiceUnavailableRetryAfterSecondsRandomBackoffPAConnectionFailed() {    
  30409.         if(this.getServiceUnavailableRetryAfterSecondsRandomBackoffPAConnectionFailed==null){
  30410.             try{
  30411.                 String name = null;
  30412.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.connectionFailed.randomBackoff.seconds");
  30413.                 if(name!=null){
  30414.                     name = name.trim();
  30415.                     this.getServiceUnavailableRetryAfterSecondsRandomBackoffPAConnectionFailed = Integer.parseInt(name);
  30416.                 }
  30417.                 else {
  30418.                     this.getServiceUnavailableRetryAfterSecondsRandomBackoffPAConnectionFailed = 0;
  30419.                 }
  30420.             } catch(java.lang.Exception e) {
  30421.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.connectionFailed.randomBackoff.seconds': "+e.getMessage(),e);
  30422.                 this.getServiceUnavailableRetryAfterSecondsRandomBackoffPAConnectionFailed = 0;
  30423.             }    
  30424.         }

  30425.         return this.getServiceUnavailableRetryAfterSecondsRandomBackoffPAConnectionFailed;
  30426.     }
  30427.    
  30428.    
  30429.     private List<String> isReadTimedOut = null;
  30430.     public boolean isServiceUnavailableReadTimedOut(String msg) {  
  30431.         if(this.isReadTimedOut==null){
  30432.             initServiceUnavailableReadTimedOut();
  30433.         }

  30434.         if(!this.isReadTimedOut.isEmpty()) {
  30435.             for (String s : this.isReadTimedOut) {
  30436.                 if(msg.contains(s)) {
  30437.                     return true;
  30438.                 }
  30439.             }
  30440.         }
  30441.        
  30442.         return false;
  30443.     }
  30444.     private void initServiceUnavailableReadTimedOut() {
  30445.         try{
  30446.             Properties p = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.readTimedOut.");
  30447.             this.isReadTimedOut = new ArrayList<>();
  30448.             if(p!=null && !p.isEmpty()) {
  30449.                 Iterator<Object> it = p.values().iterator();
  30450.                 while (it.hasNext()) {
  30451.                     Object o = it.next();
  30452.                     if(o instanceof String) {
  30453.                         String s = (String) o;
  30454.                         this.isReadTimedOut.add(s);
  30455.                     }
  30456.                 }
  30457.             }
  30458.         } catch(java.lang.Exception e) {
  30459.             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.error.': "+e.getMessage(),e);
  30460.             this.isReadTimedOut = new ArrayList<>();
  30461.         }    
  30462.     }
  30463.    
  30464.    
  30465.     /* ------------- Statistiche ---------------------*/
  30466.    
  30467.     private Boolean isStatisticheGenerazioneEnabled = null;
  30468.     public boolean isStatisticheGenerazioneEnabled() {  
  30469.         if(this.isStatisticheGenerazioneEnabled==null){
  30470.             try{
  30471.                 String name = null;
  30472.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.enabled");
  30473.                 if(name==null){
  30474.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.enabled' non impostata, viene utilizzato il default=true");
  30475.                     name="true";
  30476.                 }
  30477.                 name = name.trim();
  30478.                 this.isStatisticheGenerazioneEnabled = Boolean.parseBoolean(name);
  30479.             } catch(java.lang.Exception e) {
  30480.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.enabled', viene utilizzato il default=true : "+e.getMessage(),e);
  30481.                 this.isStatisticheGenerazioneEnabled = true;
  30482.             }    
  30483.         }

  30484.         return this.isStatisticheGenerazioneEnabled;
  30485.     }
  30486.    
  30487.    
  30488.     private Boolean isStatisticheUsePddRuntimeDatasource = null;
  30489.     public boolean isStatisticheUsePddRuntimeDatasource() {
  30490.         if(this.isStatisticheUsePddRuntimeDatasource==null){
  30491.             try{
  30492.                 String name = null;
  30493.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.dataSource.usePddRuntime");
  30494.                 if(name==null){
  30495.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.dataSource.usePddRuntime' non impostata, viene utilizzato il default=true");
  30496.                     name="true";
  30497.                 }
  30498.                 name = name.trim();
  30499.                 this.isStatisticheUsePddRuntimeDatasource = Boolean.parseBoolean(name);
  30500.             } catch(java.lang.Exception e) {
  30501.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.dataSource.usePddRuntime', viene utilizzato il default=false : "+e.getMessage(),e);
  30502.                 this.isStatisticheUsePddRuntimeDatasource = false;
  30503.             }    
  30504.         }

  30505.         return this.isStatisticheUsePddRuntimeDatasource;
  30506.     }
  30507.    
  30508.     private Boolean isStatisticheUseTransazioniDatasource = null;
  30509.     public boolean isStatisticheUseTransazioniDatasource() {    
  30510.         if(this.isStatisticheUseTransazioniDatasource==null){
  30511.             try{
  30512.                 String name = null;
  30513.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.dataSource.useTransazioni");
  30514.                 if(name==null){
  30515.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.dataSource.useTransazioni' non impostata, viene utilizzato il default=true");
  30516.                     name="true";
  30517.                 }
  30518.                 name = name.trim();
  30519.                 this.isStatisticheUseTransazioniDatasource = Boolean.parseBoolean(name);
  30520.             } catch(java.lang.Exception e) {
  30521.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.dataSource.useTransazioni', viene utilizzato il default=true : "+e.getMessage(),e);
  30522.                 this.isStatisticheUseTransazioniDatasource = true;
  30523.             }    
  30524.         }

  30525.         return this.isStatisticheUseTransazioniDatasource;
  30526.     }
  30527.    
  30528.     private String getStatisticheDatasource = null;
  30529.     public String getStatisticheDatasource() throws CoreException {
  30530.         if(this.getStatisticheDatasource==null){
  30531.             try{
  30532.                 String name = null;
  30533.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.dataSource");
  30534.                 if(name==null){
  30535.                     throw new CoreException("Proprieta' non impostata");
  30536.                 }
  30537.                 name = name.trim();
  30538.                 this.getStatisticheDatasource = name;
  30539.             } catch(java.lang.Exception e) {
  30540.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.dataSource': "+e.getMessage(),e);
  30541.                 throw new CoreException(e.getMessage(),e);
  30542.             }    
  30543.         }

  30544.         return this.getStatisticheDatasource;
  30545.     }
  30546.    
  30547.     private Properties getStatisticheDatasourceJndiContext = null;
  30548.     public Properties getStatisticheDatasourceJndiContext() throws CoreException {  
  30549.         if(this.getStatisticheDatasourceJndiContext==null){
  30550.             try{
  30551.                 this.getStatisticheDatasourceJndiContext = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.statistiche.dataSource.property.");
  30552.             } catch(java.lang.Exception e) {
  30553.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.dataSource.property.*': "+e.getMessage(),e);
  30554.                 throw new CoreException(e.getMessage(),e);
  30555.             }    
  30556.         }

  30557.         return this.getStatisticheDatasourceJndiContext;
  30558.     }
  30559.    
  30560.     private Boolean isStatisticheDatasourceUseDBUtils = null;
  30561.     public boolean isStatisticheDatasourceUseDBUtils() {    
  30562.         if(this.isStatisticheDatasourceUseDBUtils==null){
  30563.             try{
  30564.                 String name = null;
  30565.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.datasource.useDSUtils");
  30566.                 if(name==null){
  30567.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.datasource.useDSUtils' non impostata, viene utilizzato il default=true");
  30568.                     name="true";
  30569.                 }
  30570.                 name = name.trim();
  30571.                 this.isStatisticheDatasourceUseDBUtils = Boolean.parseBoolean(name);
  30572.             } catch(java.lang.Exception e) {
  30573.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.datasource.useDSUtils', viene utilizzato il default=true : "+e.getMessage(),e);
  30574.                 this.isStatisticheDatasourceUseDBUtils = true;
  30575.             }    
  30576.         }

  30577.         return this.isStatisticheDatasourceUseDBUtils;
  30578.     }

  30579.     private Boolean isStatisticheGenerazioneUseUnionForLatency = null;
  30580.     public boolean isStatisticheGenerazioneUseUnionForLatency() {  
  30581.         if(this.isStatisticheGenerazioneUseUnionForLatency==null){
  30582.             try{
  30583.                 String name = null;
  30584.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.useUnionForLatency");
  30585.                 if(name==null){
  30586.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.useUnionForLatency' non impostata, viene utilizzato il default=true");
  30587.                     name="true";
  30588.                 }
  30589.                 name = name.trim();
  30590.                 this.isStatisticheGenerazioneUseUnionForLatency = Boolean.parseBoolean(name);
  30591.             } catch(java.lang.Exception e) {
  30592.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.useUnionForLatency', viene utilizzato il default=true : "+e.getMessage(),e);
  30593.                 this.isStatisticheGenerazioneUseUnionForLatency = true;
  30594.             }    
  30595.         }

  30596.         return this.isStatisticheGenerazioneUseUnionForLatency;
  30597.     }
  30598.    
  30599.     private Boolean isStatisticheGenerazioneCustomEnabled = null;
  30600.     public boolean isStatisticheGenerazioneCustomEnabled() {    
  30601.         if(this.isStatisticheGenerazioneCustomEnabled==null){
  30602.             try{
  30603.                 String name = null;
  30604.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.custom.enabled");
  30605.                 if(name==null){
  30606.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.custom.enabled' non impostata, viene utilizzato il default=false");
  30607.                     name="false";
  30608.                 }
  30609.                 name = name.trim();
  30610.                 this.isStatisticheGenerazioneCustomEnabled = Boolean.parseBoolean(name);
  30611.             } catch(java.lang.Exception e) {
  30612.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.custom.enabled', viene utilizzato il default=false : "+e.getMessage(),e);
  30613.                 this.isStatisticheGenerazioneCustomEnabled = false;
  30614.             }    
  30615.         }

  30616.         return this.isStatisticheGenerazioneCustomEnabled;
  30617.     }
  30618.    
  30619.     private Boolean isStatisticheGenerazioneCustomSdkEnabled = null;
  30620.     public boolean isStatisticheGenerazioneCustomSdkEnabled() {
  30621.         if(this.isStatisticheGenerazioneCustomSdkEnabled==null){
  30622.             try{
  30623.                 String name = null;
  30624.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.custom.transazioniSdk.enabled");
  30625.                 if(name==null){
  30626.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.custom.transazioniSdk.enabled' non impostata, viene utilizzato il default=false");
  30627.                     name="false";
  30628.                 }
  30629.                 name = name.trim();
  30630.                 this.isStatisticheGenerazioneCustomSdkEnabled = Boolean.parseBoolean(name);
  30631.             } catch(java.lang.Exception e) {
  30632.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.custom.transazioniSdk.enabled', viene utilizzato il default=false : "+e.getMessage(),e);
  30633.                 this.isStatisticheGenerazioneCustomSdkEnabled = false;
  30634.             }    
  30635.         }

  30636.         return this.isStatisticheGenerazioneCustomSdkEnabled;
  30637.     }
  30638.    
  30639.     private Boolean isStatisticheGenerazioneDebug = null;
  30640.     public boolean isStatisticheGenerazioneDebug() {    
  30641.         if(this.isStatisticheGenerazioneDebug==null){
  30642.             try{
  30643.                 String name = null;
  30644.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.debug");
  30645.                 if(name==null){
  30646.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.debug' non impostata, viene utilizzato il default=true");
  30647.                     name="true";
  30648.                 }
  30649.                 name = name.trim();
  30650.                 this.isStatisticheGenerazioneDebug = Boolean.parseBoolean(name);
  30651.             } catch(java.lang.Exception e) {
  30652.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.debug', viene utilizzato il default=true : "+e.getMessage(),e);
  30653.                 this.isStatisticheGenerazioneDebug = true;
  30654.             }    
  30655.         }

  30656.         return this.isStatisticheGenerazioneDebug;
  30657.     }
  30658.    
  30659.     private Integer getStatisticheOrarieGenerazioneTimerIntervalSeconds = null;
  30660.     public int getStatisticheOrarieGenerazioneTimerIntervalSeconds() throws CoreException {
  30661.         if(this.getStatisticheOrarieGenerazioneTimerIntervalSeconds==null){
  30662.             try{
  30663.                 String name = null;
  30664.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.baseOraria.timer.intervalloSecondi");
  30665.                 if(name==null){
  30666.                     throw new CoreException("Proprieta' non impostata");
  30667.                 }
  30668.                 name = name.trim();
  30669.                 this.getStatisticheOrarieGenerazioneTimerIntervalSeconds = Integer.valueOf(name);
  30670.             } catch(java.lang.Exception e) {
  30671.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseOraria.timer.intervalloSecondi': "+e.getMessage(),e);
  30672.                 throw new CoreException(e.getMessage(),e);
  30673.             }    
  30674.         }

  30675.         return this.getStatisticheOrarieGenerazioneTimerIntervalSeconds;
  30676.     }
  30677.    
  30678.     private Integer getStatisticheGiornaliereGenerazioneTimerIntervalSeconds = null;
  30679.     public int getStatisticheGiornaliereGenerazioneTimerIntervalSeconds() throws CoreException {    
  30680.         if(this.getStatisticheGiornaliereGenerazioneTimerIntervalSeconds==null){
  30681.             try{
  30682.                 String name = null;
  30683.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.baseGiornaliera.timer.intervalloSecondi");
  30684.                 if(name==null){
  30685.                     throw new CoreException("Proprieta' non impostata");
  30686.                 }
  30687.                 name = name.trim();
  30688.                 this.getStatisticheGiornaliereGenerazioneTimerIntervalSeconds = Integer.valueOf(name);
  30689.             } catch(java.lang.Exception e) {
  30690.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseGiornaliera.timer.intervalloSecondi': "+e.getMessage(),e);
  30691.                 throw new CoreException(e.getMessage(),e);
  30692.             }    
  30693.         }

  30694.         return this.getStatisticheGiornaliereGenerazioneTimerIntervalSeconds;
  30695.     }
  30696.    
  30697.     private Integer getStatisticheSettimanaliGenerazioneTimerIntervalSeconds = null;
  30698.     public int getStatisticheSettimanaliGenerazioneTimerIntervalSeconds() throws CoreException {    
  30699.         if(this.getStatisticheSettimanaliGenerazioneTimerIntervalSeconds==null){
  30700.             try{
  30701.                 String name = null;
  30702.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.baseSettimanale.timer.intervalloSecondi");
  30703.                 if(name==null){
  30704.                     throw new CoreException("Proprieta' non impostata");
  30705.                 }
  30706.                 name = name.trim();
  30707.                 this.getStatisticheSettimanaliGenerazioneTimerIntervalSeconds = Integer.valueOf(name);
  30708.             } catch(java.lang.Exception e) {
  30709.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseSettimanale.timer.intervalloSecondi': "+e.getMessage(),e);
  30710.                 throw new CoreException(e.getMessage(),e);
  30711.             }    
  30712.         }

  30713.         return this.getStatisticheSettimanaliGenerazioneTimerIntervalSeconds;
  30714.     }
  30715.    
  30716.     private Integer getStatisticheMensiliGenerazioneTimerIntervalSeconds = null;
  30717.     public int getStatisticheMensiliGenerazioneTimerIntervalSeconds() throws CoreException {    
  30718.         if(this.getStatisticheMensiliGenerazioneTimerIntervalSeconds==null){
  30719.             try{
  30720.                 String name = null;
  30721.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.baseMensile.timer.intervalloSecondi");
  30722.                 if(name==null){
  30723.                     throw new CoreException("Proprieta' non impostata");
  30724.                 }
  30725.                 name = name.trim();
  30726.                 this.getStatisticheMensiliGenerazioneTimerIntervalSeconds = Integer.valueOf(name);
  30727.             } catch(java.lang.Exception e) {
  30728.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseMensile.timer.intervalloSecondi': "+e.getMessage(),e);
  30729.                 throw new CoreException(e.getMessage(),e);
  30730.             }    
  30731.         }

  30732.         return this.getStatisticheMensiliGenerazioneTimerIntervalSeconds;
  30733.     }
  30734.    
  30735.     private Integer getStatisticheGenerazioneTimerLockMaxLife = null;
  30736.     public int getStatisticheGenerazioneTimerLockMaxLife() {    
  30737.         if(this.getStatisticheGenerazioneTimerLockMaxLife==null){
  30738.             try{
  30739.                 String name = null;
  30740.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.timer.lock.maxLife");

  30741.                 if(name!=null){
  30742.                     name = name.trim();
  30743.                     this.getStatisticheGenerazioneTimerLockMaxLife = java.lang.Integer.parseInt(name);
  30744.                 }else{
  30745.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.timer.lock.maxLife' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_MAX_LIFE);
  30746.                     this.getStatisticheGenerazioneTimerLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  30747.                 }
  30748.             }catch(java.lang.Exception e) {
  30749.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.timer.lock.maxLife' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_MAX_LIFE+", errore:"+e.getMessage(),e);
  30750.                 this.getStatisticheGenerazioneTimerLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  30751.             }
  30752.             if(this.getStatisticheGenerazioneTimerLockMaxLife!=null && this.getStatisticheGenerazioneTimerLockMaxLife>0) {
  30753.                 // trasformo in millisecondi l'informazione fornita in secondi
  30754.                 this.getStatisticheGenerazioneTimerLockMaxLife = this.getStatisticheGenerazioneTimerLockMaxLife *1000;
  30755.             }
  30756.         }

  30757.         if(this.getStatisticheGenerazioneTimerLockMaxLife!=null) {
  30758.             return this.getStatisticheGenerazioneTimerLockMaxLife.intValue();
  30759.         }
  30760.         return -1;
  30761.     }
  30762.    
  30763.     private Integer getStatisticheGenerazioneTimerLockIdleTime = null;
  30764.     public int getStatisticheGenerazioneTimerLockIdleTime() {  
  30765.         if(this.getStatisticheGenerazioneTimerLockIdleTime==null){
  30766.             try{
  30767.                 String name = null;
  30768.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.timer.lock.idleTime");

  30769.                 if(name!=null){
  30770.                     name = name.trim();
  30771.                     this.getStatisticheGenerazioneTimerLockIdleTime = java.lang.Integer.parseInt(name);
  30772.                 }else{
  30773.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.timer.lock.idleTime' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_IDLE_TIME);
  30774.                     this.getStatisticheGenerazioneTimerLockIdleTime = CostantiPdD.TIMER_LOCK_IDLE_TIME;
  30775.                 }
  30776.             }catch(java.lang.Exception e) {
  30777.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.timer.lock.idleTime' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_IDLE_TIME+", errore:"+e.getMessage(),e);
  30778.                 this.getStatisticheGenerazioneTimerLockIdleTime = CostantiPdD.TIMER_LOCK_IDLE_TIME;
  30779.             }
  30780.             if(this.getStatisticheGenerazioneTimerLockIdleTime!=null && this.getStatisticheGenerazioneTimerLockIdleTime>0) {
  30781.                 // trasformo in millisecondi l'informazione fornita in secondi
  30782.                 this.getStatisticheGenerazioneTimerLockIdleTime = this.getStatisticheGenerazioneTimerLockIdleTime *1000;
  30783.             }
  30784.         }

  30785.         if(this.getStatisticheGenerazioneTimerLockIdleTime!=null) {
  30786.             return this.getStatisticheGenerazioneTimerLockIdleTime.intValue();
  30787.         }
  30788.         return -1;
  30789.     }
  30790.    
  30791.     private Long getStatisticheGenerazioneTimerLockAttesaAttiva = null;
  30792.     public long getStatisticheGenerazioneTimerLockAttesaAttiva() {  
  30793.         if(this.getStatisticheGenerazioneTimerLockAttesaAttiva==null){
  30794.             String pName = "org.openspcoop2.pdd.statistiche.generazione.timer.lock.attesaAttiva";
  30795.             try{
  30796.                 String name = null;
  30797.                 name = this.reader.getValueConvertEnvProperties(pName);

  30798.                 if(name!=null){
  30799.                     name = name.trim();
  30800.                     long time = java.lang.Long.parseLong(name);
  30801.                     this.getStatisticheGenerazioneTimerLockAttesaAttiva = time*1000;
  30802.                 }else{
  30803.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA);
  30804.                     this.getStatisticheGenerazioneTimerLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  30805.                 }

  30806.             }catch(java.lang.Exception e) {
  30807.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA+", errore:"+e.getMessage(),e);
  30808.                 this.getStatisticheGenerazioneTimerLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  30809.             }    
  30810.         }

  30811.         return this.getStatisticheGenerazioneTimerLockAttesaAttiva;
  30812.     }

  30813.     private Integer getStatisticheGenerazioneTimerLockCheckInterval = null;
  30814.     public int getStatisticheGenerazioneTimerLockCheckInterval() {  
  30815.         if(this.getStatisticheGenerazioneTimerLockCheckInterval==null){
  30816.             String pName = "org.openspcoop2.pdd.statistiche.generazione.timer.lock.check";
  30817.             try{
  30818.                 String name = null;
  30819.                 name = this.reader.getValueConvertEnvProperties(pName);

  30820.                 if(name!=null){
  30821.                     name = name.trim();
  30822.                     int time = java.lang.Integer.parseInt(name);
  30823.                     this.getStatisticheGenerazioneTimerLockCheckInterval = time;
  30824.                 }else{
  30825.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL);
  30826.                     this.getStatisticheGenerazioneTimerLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  30827.                 }
  30828.             }catch(java.lang.Exception e) {
  30829.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL+", errore:"+e.getMessage(),e);
  30830.                 this.getStatisticheGenerazioneTimerLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  30831.             }  
  30832.         }

  30833.         return this.getStatisticheGenerazioneTimerLockCheckInterval;
  30834.     }
  30835.    
  30836.     private Boolean isStatisticheGenerazioneBaseOrariaEnabled = null;
  30837.     public boolean isStatisticheGenerazioneBaseOrariaEnabled() {    
  30838.         if(this.isStatisticheGenerazioneBaseOrariaEnabled==null){
  30839.             try{
  30840.                 String name = null;
  30841.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.baseOraria.enabled");
  30842.                 if(name==null){
  30843.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseOraria.enabled' non impostata, viene utilizzato il default=true");
  30844.                     name="true";
  30845.                 }
  30846.                 name = name.trim();
  30847.                 this.isStatisticheGenerazioneBaseOrariaEnabled = Boolean.parseBoolean(name);
  30848.             } catch(java.lang.Exception e) {
  30849.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseOraria.enabled', viene utilizzato il default=true : "+e.getMessage(),e);
  30850.                 this.isStatisticheGenerazioneBaseOrariaEnabled = true;
  30851.             }    
  30852.         }

  30853.         return this.isStatisticheGenerazioneBaseOrariaEnabled;
  30854.     }
  30855.    
  30856.     private Boolean isStatisticheGenerazioneBaseGiornalieraEnabled = null;
  30857.     public boolean isStatisticheGenerazioneBaseGiornalieraEnabled() {  
  30858.         if(this.isStatisticheGenerazioneBaseGiornalieraEnabled==null){
  30859.             try{
  30860.                 String name = null;
  30861.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.baseGiornaliera.enabled");
  30862.                 if(name==null){
  30863.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseGiornaliera.enabled' non impostata, viene utilizzato il default=true");
  30864.                     name="true";
  30865.                 }
  30866.                 name = name.trim();
  30867.                 this.isStatisticheGenerazioneBaseGiornalieraEnabled = Boolean.parseBoolean(name);
  30868.             } catch(java.lang.Exception e) {
  30869.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseGiornaliera.enabled', viene utilizzato il default=true : "+e.getMessage(),e);
  30870.                 this.isStatisticheGenerazioneBaseGiornalieraEnabled = true;
  30871.             }    
  30872.         }

  30873.         return this.isStatisticheGenerazioneBaseGiornalieraEnabled;
  30874.     }
  30875.    
  30876.     private Boolean isStatisticheGenerazioneBaseSettimanaleEnabled = null;
  30877.     public boolean isStatisticheGenerazioneBaseSettimanaleEnabled() {  
  30878.         if(this.isStatisticheGenerazioneBaseSettimanaleEnabled==null){
  30879.             try{
  30880.                 String name = null;
  30881.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.baseSettimanale.enabled");
  30882.                 if(name==null){
  30883.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseSettimanale.enabled' non impostata, viene utilizzato il default=true");
  30884.                     name="true";
  30885.                 }
  30886.                 name = name.trim();
  30887.                 this.isStatisticheGenerazioneBaseSettimanaleEnabled = Boolean.parseBoolean(name);
  30888.             } catch(java.lang.Exception e) {
  30889.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseSettimanale.enabled', viene utilizzato il default=true : "+e.getMessage(),e);
  30890.                 this.isStatisticheGenerazioneBaseSettimanaleEnabled = true;
  30891.             }    
  30892.         }

  30893.         return this.isStatisticheGenerazioneBaseSettimanaleEnabled;
  30894.     }
  30895.    
  30896.     private Boolean isStatisticheGenerazioneBaseMensileEnabled = null;
  30897.     public boolean isStatisticheGenerazioneBaseMensileEnabled() {  
  30898.         if(this.isStatisticheGenerazioneBaseMensileEnabled==null){
  30899.             try{
  30900.                 String name = null;
  30901.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.baseMensile.enabled");
  30902.                 if(name==null){
  30903.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseMensile.enabled' non impostata, viene utilizzato il default=true");
  30904.                     name="true";
  30905.                 }
  30906.                 name = name.trim();
  30907.                 this.isStatisticheGenerazioneBaseMensileEnabled = Boolean.parseBoolean(name);
  30908.             } catch(java.lang.Exception e) {
  30909.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseMensile.enabled', viene utilizzato il default=true : "+e.getMessage(),e);
  30910.                 this.isStatisticheGenerazioneBaseMensileEnabled = true;
  30911.             }    
  30912.         }

  30913.         return this.isStatisticheGenerazioneBaseMensileEnabled;
  30914.     }
  30915.    
  30916.    
  30917.     private Boolean isStatisticheGenerazioneBaseOrariaEnabledUltimaOra = null;
  30918.     public boolean isStatisticheGenerazioneBaseOrariaEnabledUltimaOra() {  
  30919.         if(this.isStatisticheGenerazioneBaseOrariaEnabledUltimaOra==null){
  30920.             try{
  30921.                 String name = null;
  30922.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.baseOraria.gestioneUltimaOra");
  30923.                 if(name==null){
  30924.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseOraria.gestioneUltimaOra' non impostata, viene utilizzato il default=true");
  30925.                     name="true";
  30926.                 }
  30927.                 name = name.trim();
  30928.                 this.isStatisticheGenerazioneBaseOrariaEnabledUltimaOra = Boolean.parseBoolean(name);
  30929.             } catch(java.lang.Exception e) {
  30930.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseOraria.gestioneUltimaOra', viene utilizzato il default=true : "+e.getMessage(),e);
  30931.                 this.isStatisticheGenerazioneBaseOrariaEnabledUltimaOra = true;
  30932.             }    
  30933.         }

  30934.         return this.isStatisticheGenerazioneBaseOrariaEnabledUltimaOra;
  30935.     }
  30936.    
  30937.     private Boolean isStatisticheGenerazioneBaseGiornalieraEnabledUltimoGiorno = null;
  30938.     public boolean isStatisticheGenerazioneBaseGiornalieraEnabledUltimoGiorno() {  
  30939.         if(this.isStatisticheGenerazioneBaseGiornalieraEnabledUltimoGiorno==null){
  30940.             try{
  30941.                 String name = null;
  30942.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.baseGiornaliera.gestioneUltimoGiorno");
  30943.                 if(name==null){
  30944.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseGiornaliera.gestioneUltimoGiorno' non impostata, viene utilizzato il default=true");
  30945.                     name="true";
  30946.                 }
  30947.                 name = name.trim();
  30948.                 this.isStatisticheGenerazioneBaseGiornalieraEnabledUltimoGiorno = Boolean.parseBoolean(name);
  30949.             } catch(java.lang.Exception e) {
  30950.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseGiornaliera.gestioneUltimoGiorno', viene utilizzato il default=true : "+e.getMessage(),e);
  30951.                 this.isStatisticheGenerazioneBaseGiornalieraEnabledUltimoGiorno = true;
  30952.             }    
  30953.         }

  30954.         return this.isStatisticheGenerazioneBaseGiornalieraEnabledUltimoGiorno;
  30955.     }
  30956.    
  30957.     private Boolean isStatisticheGenerazioneBaseSettimanaleEnabledUltimaSettimana = null;
  30958.     public boolean isStatisticheGenerazioneBaseSettimanaleEnabledUltimaSettimana() {    
  30959.         if(this.isStatisticheGenerazioneBaseSettimanaleEnabledUltimaSettimana==null){
  30960.             try{
  30961.                 String name = null;
  30962.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.baseSettimanale.gestioneUltimaSettimana");
  30963.                 if(name==null){
  30964.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseSettimanale.gestioneUltimaSettimana' non impostata, viene utilizzato il default=true");
  30965.                     name="true";
  30966.                 }
  30967.                 name = name.trim();
  30968.                 this.isStatisticheGenerazioneBaseSettimanaleEnabledUltimaSettimana = Boolean.parseBoolean(name);
  30969.             } catch(java.lang.Exception e) {
  30970.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseSettimanale.gestioneUltimaSettimana', viene utilizzato il default=true : "+e.getMessage(),e);
  30971.                 this.isStatisticheGenerazioneBaseSettimanaleEnabledUltimaSettimana = true;
  30972.             }    
  30973.         }

  30974.         return this.isStatisticheGenerazioneBaseSettimanaleEnabledUltimaSettimana;
  30975.     }
  30976.    
  30977.     private Boolean isStatisticheGenerazioneBaseMensileEnabledUltimoMese = null;
  30978.     public boolean isStatisticheGenerazioneBaseMensileEnabledUltimoMese() {
  30979.         if(this.isStatisticheGenerazioneBaseMensileEnabledUltimoMese==null){
  30980.             try{
  30981.                 String name = null;
  30982.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.baseMensile.gestioneUltimoMese");
  30983.                 if(name==null){
  30984.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseMensile.gestioneUltimoMese' non impostata, viene utilizzato il default=true");
  30985.                     name="true";
  30986.                 }
  30987.                 name = name.trim();
  30988.                 this.isStatisticheGenerazioneBaseMensileEnabledUltimoMese = Boolean.parseBoolean(name);
  30989.             } catch(java.lang.Exception e) {
  30990.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseMensile.gestioneUltimoMese', viene utilizzato il default=true : "+e.getMessage(),e);
  30991.                 this.isStatisticheGenerazioneBaseMensileEnabledUltimoMese = true;
  30992.             }    
  30993.         }

  30994.         return this.isStatisticheGenerazioneBaseMensileEnabledUltimoMese;
  30995.     }
  30996.    
  30997.     private Boolean isStatisticheGenerazioneAttendiCompletamentoTransazioniInFasiIntermedie = null;
  30998.     public boolean isStatisticheGenerazioneAttendiCompletamentoTransazioniInFasiIntermedie() {  
  30999.         if(this.isStatisticheGenerazioneAttendiCompletamentoTransazioniInFasiIntermedie==null){
  31000.             String pName = "org.openspcoop2.pdd.statistiche.generazione.attendiCompletamentoTransazioniInFasiIntermedie";
  31001.             try{
  31002.                 String name = null;
  31003.                 name = this.reader.getValueConvertEnvProperties(pName);
  31004.                 if(name==null){
  31005.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostata, viene utilizzato il default=true");
  31006.                     name="true";
  31007.                 }
  31008.                 name = name.trim();
  31009.                 this.isStatisticheGenerazioneAttendiCompletamentoTransazioniInFasiIntermedie = Boolean.parseBoolean(name);
  31010.             } catch(java.lang.Exception e) {
  31011.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  31012.                 this.isStatisticheGenerazioneAttendiCompletamentoTransazioniInFasiIntermedie = true;
  31013.             }    
  31014.         }

  31015.         return this.isStatisticheGenerazioneAttendiCompletamentoTransazioniInFasiIntermedie;
  31016.     }
  31017.    
  31018.     private Long getStatisticheGenerazioneTradeOffMs = null;
  31019.     public long getStatisticheGenerazioneTradeOffMs() {
  31020.         if(this.getStatisticheGenerazioneTradeOffMs==null){
  31021.             String pName = "org.openspcoop2.pdd.statistiche.generazione.tradeOffSeconds";
  31022.             try{
  31023.                 String name = null;
  31024.                 name = this.reader.getValueConvertEnvProperties(pName);
  31025.                 if(name==null){
  31026.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostata");
  31027.                     name="-1";
  31028.                 }
  31029.                 name = name.trim();
  31030.                 this.getStatisticheGenerazioneTradeOffMs = Long.parseLong(name);
  31031.                 if(this.getStatisticheGenerazioneTradeOffMs>0) {
  31032.                     this.getStatisticheGenerazioneTradeOffMs = this.getStatisticheGenerazioneTradeOffMs * 1000l; // traduco in ms
  31033.                 }
  31034.             } catch(java.lang.Exception e) {
  31035.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=300 : "+e.getMessage(),e);
  31036.                 this.getStatisticheGenerazioneTradeOffMs = 300l * 1000l;  // traduco in ms
  31037.             }    
  31038.         }

  31039.         return this.getStatisticheGenerazioneTradeOffMs;
  31040.     }

  31041.     // NOTA: DEVE ESSERE RILETTO TUTTE LE VOLTE CHE VIENE CHIAMATO!!!!!!!
  31042.     public StatisticsForceIndexConfig getStatisticheGenerazioneExternalForceIndexRepository() throws CoreException {    
  31043.         try{
  31044.             String name = null;
  31045.             name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.forceIndex.repository");
  31046.             if(name!=null){
  31047.                 name = name.trim();
  31048.                 return readStatisticsForceIndexConfig(name);
  31049.             }
  31050.            
  31051.             return null;
  31052.            
  31053.         } catch(java.lang.Exception e) {
  31054.             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.forceIndex.repository': "+e.getMessage(),e);
  31055.             throw new CoreException(e.getMessage(),e);
  31056.         }    
  31057.        
  31058.     }
  31059.     private StatisticsForceIndexConfig readStatisticsForceIndexConfig(String name) throws CoreException, IOException {
  31060.         File f = new File(name);
  31061.         if(f.exists()) {
  31062.             if(f.isDirectory()) {
  31063.                 throw newCoreExceptionNotFile(f,false);
  31064.             }
  31065.             if(!f.canRead()) {
  31066.                 throw newCoreExceptionCannotRead(f, false);
  31067.             }
  31068.         }
  31069.         else {
  31070.             // provo a cercarlo nel classpath
  31071.         }
  31072.         try (InputStream is = f.exists() ? new FileInputStream(f) : OpenSPCoop2Properties.class.getResourceAsStream(name);){
  31073.             if(is!=null) {
  31074.                 Properties p = new Properties();
  31075.                 p.load(is);
  31076.                 return new StatisticsForceIndexConfig(p);
  31077.             }
  31078.         }
  31079.         return null;
  31080.     }
  31081.    
  31082.     /* ------------- Tracing PDND ---------------------*/

  31083.     private Integer getStatistichePdndTracciamentoGenerazioneTimerIntervalSeconds = null;
  31084.     public int getStatistichePdndTracciamentoGenerazioneTimerIntervalSeconds() throws CoreException {  
  31085.         if(this.getStatistichePdndTracciamentoGenerazioneTimerIntervalSeconds==null){
  31086.             String key = "org.openspcoop2.pdd.statistiche.pdnd.tracciamento.generazione.timer.intervalloSecondi";
  31087.             try{
  31088.                 String name = null;
  31089.                 name = this.reader.getValueConvertEnvProperties(key);
  31090.                 if(name==null){
  31091.                     throw new CoreException("Proprieta' non impostata");
  31092.                 }
  31093.                 name = name.trim();
  31094.                 this.getStatistichePdndTracciamentoGenerazioneTimerIntervalSeconds = Integer.valueOf(name);
  31095.             } catch(java.lang.Exception e) {
  31096.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '" + key +"': "+e.getMessage(),e);
  31097.                 throw new CoreException(e.getMessage(),e);
  31098.             }    
  31099.         }

  31100.         return this.getStatistichePdndTracciamentoGenerazioneTimerIntervalSeconds;
  31101.     }
  31102.    
  31103.     private Integer getStatistichePdndTracciamentoPubblicazioneTimerIntervalSeconds = null;
  31104.     public int getStatistichePdndTracciamentoPubblicazioneTimerIntervalSeconds() throws CoreException {
  31105.         if(this.getStatistichePdndTracciamentoPubblicazioneTimerIntervalSeconds==null){
  31106.             String key = "org.openspcoop2.pdd.statistiche.pdnd.tracciamento.pubblicazione.timer.intervalloSecondi";
  31107.             try{
  31108.                 String name = null;
  31109.                 name = this.reader.getValueConvertEnvProperties(key);
  31110.                 if(name==null){
  31111.                     throw new CoreException("Proprieta' non impostata");
  31112.                 }
  31113.                 name = name.trim();
  31114.                 this.getStatistichePdndTracciamentoPubblicazioneTimerIntervalSeconds = Integer.valueOf(name);
  31115.             } catch(java.lang.Exception e) {
  31116.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '" + key +"': "+e.getMessage(),e);
  31117.                 throw new CoreException(e.getMessage(),e);
  31118.             }    
  31119.         }

  31120.         return this.getStatistichePdndTracciamentoPubblicazioneTimerIntervalSeconds;
  31121.     }
  31122.    
  31123.     private Boolean isStatistichePdndTracciamentoGenerazione = null;
  31124.     public boolean isStatistichePdndTracciamentoGenerazioneEnabled() {  
  31125.         String key = "org.openspcoop2.pdd.statistiche.pdnd.tracciamento.generazione.enabled";
  31126.         if(this.isStatistichePdndTracciamentoGenerazione==null){
  31127.             try{
  31128.                 String name = null;
  31129.                 name = this.reader.getValueConvertEnvProperties(key);
  31130.                 if(name==null){
  31131.                     this.logWarn("Proprieta' di openspcoop '" + key + "' non impostata, viene utilizzato il default=true");
  31132.                     name="true";
  31133.                 }
  31134.                 name = name.trim();
  31135.                 this.isStatistichePdndTracciamentoGenerazione = Boolean.parseBoolean(name);
  31136.             } catch(java.lang.Exception e) {
  31137.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '" + key + "', viene utilizzato il default=true : "+e.getMessage(),e);
  31138.                 this.isStatistichePdndTracciamentoGenerazione = true;
  31139.             }    
  31140.         }

  31141.         return this.isStatistichePdndTracciamentoGenerazione;
  31142.     }
  31143.    
  31144.     private Boolean isStatistichePdndTracciamentoPubblicazione = null;
  31145.     public boolean isStatistichePdndTracciamentoPubblicazioneEnabled() {    
  31146.         String key = "org.openspcoop2.pdd.statistiche.pdnd.tracciamento.pubblicazione.enabled";
  31147.         if(this.isStatistichePdndTracciamentoPubblicazione==null){
  31148.             try{
  31149.                 String name = null;
  31150.                 name = this.reader.getValueConvertEnvProperties(key);
  31151.                 if(name==null){
  31152.                     this.logWarn("Proprieta' di openspcoop '" + key + "' non impostata, viene utilizzato il default=true");
  31153.                     name="true";
  31154.                 }
  31155.                 name = name.trim();
  31156.                 this.isStatistichePdndTracciamentoPubblicazione = Boolean.parseBoolean(name);
  31157.             } catch(java.lang.Exception e) {
  31158.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '" + key + "', viene utilizzato il default=true : "+e.getMessage(),e);
  31159.                 this.isStatistichePdndTracciamentoPubblicazione = true;
  31160.             }    
  31161.         }

  31162.         return this.isStatistichePdndTracciamentoPubblicazione;
  31163.     }
  31164.    
  31165.     private Set<String> getStatistichePdndTracciamentoSoggettiEnabled = null;
  31166.     private boolean isStatistichePdndTracciamentoSoggettiDisabled = false;
  31167.     public boolean isStatistichePdndTracciamentoSoggettiDisabled() {
  31168.         return this.isStatistichePdndTracciamentoSoggettiDisabled;
  31169.     }
  31170.     public Set<String> getStatistichePdndTracciamentoSoggettiEnabled() throws CoreException {  
  31171.         if(this.getStatistichePdndTracciamentoSoggettiEnabled==null){
  31172.             String key = "org.openspcoop2.pdd.statistiche.pdnd.tracciamento.soggetti.enabled";
  31173.             try{
  31174.                 String name = null;
  31175.                 name = this.reader.getValueConvertEnvProperties(key);
  31176.                 if (name == null || StringUtils.isEmpty(name)) {
  31177.                     this.isStatistichePdndTracciamentoSoggettiDisabled = true;
  31178.                     this.getStatistichePdndTracciamentoSoggettiEnabled = Set.of();
  31179.                 }
  31180.                 else {
  31181.                     name = name.trim();
  31182.                     if("*".equals(name)) {
  31183.                         this.getStatistichePdndTracciamentoSoggettiEnabled = Set.of();
  31184.                     }
  31185.                     else {
  31186.                         this.getStatistichePdndTracciamentoSoggettiEnabled = Set.of(name.split(","));
  31187.                     }
  31188.                 }
  31189.             } catch(java.lang.Exception e) {
  31190.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '" + key +"': "+e.getMessage(),e);
  31191.                 throw new CoreException(e.getMessage(),e);
  31192.             }    
  31193.         }

  31194.         return this.getStatistichePdndTracciamentoSoggettiEnabled;
  31195.     }
  31196.    
  31197.     private Integer getStatistichePdndTracciamentoMaxAttempts = null;
  31198.     public Integer getStatistichePdndTracciamentoMaxAttempts() throws CoreException {  
  31199.         if(this.getStatistichePdndTracciamentoMaxAttempts==null){
  31200.             String key = "org.openspcoop2.pdd.statistiche.pdnd.tracciamento.maxAttempts";
  31201.             try{
  31202.                 String name = null;
  31203.                 name = this.reader.getValueConvertEnvProperties(key);
  31204.                 if(name==null){
  31205.                     this.getStatistichePdndTracciamentoMaxAttempts = 0;
  31206.                 } else {
  31207.                     name = name.trim();
  31208.                     this.getStatistichePdndTracciamentoMaxAttempts = Integer.valueOf(name);
  31209.                 }
  31210.             } catch(java.lang.Exception e) {
  31211.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '" + key +"': "+e.getMessage(),e);
  31212.                 throw new CoreException(e.getMessage(),e);
  31213.             }    
  31214.         }

  31215.         return this.getStatistichePdndTracciamentoMaxAttempts == 0 ? null : this.getStatistichePdndTracciamentoMaxAttempts;
  31216.     }
  31217.    
  31218.     private List<Integer> getStatistichePdndTracciamentoPendingCheck = null;
  31219.     public List<Integer> getStatistichePdndTracciamentoPendingCheck() throws CoreException {    
  31220.         if(this.getStatistichePdndTracciamentoPendingCheck==null){
  31221.             String key = "org.openspcoop2.pdd.statistiche.pdnd.tracciamento.pending.check";
  31222.             try{
  31223.                 String name = null;
  31224.                 name = this.reader.getValueConvertEnvProperties(key);
  31225.                 if(name==null){
  31226.                     this.getStatistichePdndTracciamentoPendingCheck = List.of(0);
  31227.                 } else {
  31228.                     name = name.trim();
  31229.                     this.getStatistichePdndTracciamentoPendingCheck = Arrays.stream(name.split(","))
  31230.                             .map(Integer::valueOf)
  31231.                             .collect(Collectors.toList());
  31232.                 }
  31233.             } catch(java.lang.Exception e) {
  31234.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '" + key +"': "+e.getMessage(),e);
  31235.                 throw new CoreException(e.getMessage(),e);
  31236.             }    
  31237.         }

  31238.         return this.getStatistichePdndTracciamentoPendingCheck;
  31239.     }
  31240.    
  31241.     private Boolean isStatistichePdndTracciamentoErogazioniEnabled = null;
  31242.     public boolean isStatistichePdndTracciamentoErogazioniEnabled() {  
  31243.         String key = "org.openspcoop2.pdd.statistiche.pdnd.tracciamento.erogazioni.enabled";
  31244.         if(this.isStatistichePdndTracciamentoErogazioniEnabled==null){
  31245.             try{
  31246.                 String name = null;
  31247.                 name = this.reader.getValueConvertEnvProperties(key);
  31248.                 if(name==null){
  31249.                     this.logWarn("Proprieta' di openspcoop '" + key + "' non impostata, viene utilizzato il default=true");
  31250.                     name="true";
  31251.                 }
  31252.                 name = name.trim();
  31253.                 this.isStatistichePdndTracciamentoErogazioniEnabled = Boolean.parseBoolean(name);
  31254.             } catch(java.lang.Exception e) {
  31255.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '" + key + "', viene utilizzato il default=true : "+e.getMessage(),e);
  31256.                 this.isStatistichePdndTracciamentoErogazioniEnabled = true;
  31257.             }    
  31258.         }

  31259.         return this.isStatistichePdndTracciamentoErogazioniEnabled;
  31260.     }
  31261.    
  31262.     private Boolean isStatistichePdndTracciamentoFruizioniEnabled = null;
  31263.     public boolean isStatistichePdndTracciamentoFruizioniEnabled() {    
  31264.         String key = "org.openspcoop2.pdd.statistiche.pdnd.tracciamento.fruizioni.enabled";
  31265.         if(this.isStatistichePdndTracciamentoFruizioniEnabled==null){
  31266.             try{
  31267.                 String name = null;
  31268.                 name = this.reader.getValueConvertEnvProperties(key);
  31269.                 if(name==null){
  31270.                     this.logWarn("Proprieta' di openspcoop '" + key + "' non impostata, viene utilizzato il default=true");
  31271.                     name="true";
  31272.                 }
  31273.                 name = name.trim();
  31274.                 this.isStatistichePdndTracciamentoFruizioniEnabled = Boolean.parseBoolean(name);
  31275.             } catch(java.lang.Exception e) {
  31276.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '" + key + "', viene utilizzato il default=true : "+e.getMessage(),e);
  31277.                 this.isStatistichePdndTracciamentoFruizioniEnabled = true;
  31278.             }    
  31279.         }

  31280.         return this.isStatistichePdndTracciamentoFruizioniEnabled;
  31281.     }
  31282.    
  31283.     private HttpRequestConfig statistichePdndTracciamentoHttpRequestConfig = null;
  31284.     public HttpRequestConfig getStatistichePdndTracciamentoHttpRequestConfig() {    
  31285.         if(this.statistichePdndTracciamentoHttpRequestConfig==null){
  31286.             this.statistichePdndTracciamentoHttpRequestConfig = new HttpRequestConfig("org.openspcoop2.pdd.statistiche.pdnd.tracciamento", p -> {
  31287.                 try {
  31288.                     return this.reader.getValueConvertEnvProperties(p);
  31289.                 } catch (UtilsException e) {
  31290.                     return null;
  31291.                 }
  31292.             });  
  31293.         }

  31294.         return this.statistichePdndTracciamentoHttpRequestConfig;
  31295.     }
  31296.    
  31297.    
  31298.    
  31299.     /* ------------- Gestore Chiavi PDND ---------------------*/
  31300.    
  31301.     private Boolean isGestoreChiaviPDNDEnabled = null;
  31302.     public boolean isGestoreChiaviPDNDEnabled() {  
  31303.         if(this.isGestoreChiaviPDNDEnabled==null){
  31304.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.enabled";
  31305.             try{
  31306.                 String name = null;
  31307.                 name = this.reader.getValueConvertEnvProperties(pName);
  31308.                 if(name==null){
  31309.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  31310.                     name="false";
  31311.                 }
  31312.                 name = name.trim();
  31313.                 this.isGestoreChiaviPDNDEnabled = Boolean.parseBoolean(name);
  31314.             } catch(java.lang.Exception e) {
  31315.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  31316.                 this.isGestoreChiaviPDNDEnabled = false;
  31317.             }    
  31318.         }

  31319.         return this.isGestoreChiaviPDNDEnabled;
  31320.     }
  31321.    
  31322.     private Boolean isGestoreChiaviPDNDDebug = null;
  31323.     public boolean isGestoreChiaviPDNDDebug() {
  31324.         if(this.isGestoreChiaviPDNDDebug==null){
  31325.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.debug";
  31326.             try{
  31327.                 String name = null;
  31328.                 name = this.reader.getValueConvertEnvProperties(pName);
  31329.                 if(name==null){
  31330.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  31331.                     name="true";
  31332.                 }
  31333.                 name = name.trim();
  31334.                 this.isGestoreChiaviPDNDDebug = Boolean.parseBoolean(name);
  31335.             } catch(java.lang.Exception e) {
  31336.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  31337.                 this.isGestoreChiaviPDNDDebug = true;
  31338.             }    
  31339.         }

  31340.         return this.isGestoreChiaviPDNDDebug;
  31341.     }
  31342.    
  31343.     private Boolean isGestoreChiaviPDNDEventiAdd = null;
  31344.     public boolean isGestoreChiaviPDNDEventiAdd() {
  31345.         if(this.isGestoreChiaviPDNDEventiAdd==null){
  31346.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.eventi.add";
  31347.             try{
  31348.                 String name = null;
  31349.                 name = this.reader.getValueConvertEnvProperties(pName);
  31350.                 if(name==null){
  31351.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  31352.                     name="true";
  31353.                 }
  31354.                 name = name.trim();
  31355.                 this.isGestoreChiaviPDNDEventiAdd = Boolean.parseBoolean(name);
  31356.             } catch(java.lang.Exception e) {
  31357.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  31358.                 this.isGestoreChiaviPDNDEventiAdd = true;
  31359.             }    
  31360.         }

  31361.         return this.isGestoreChiaviPDNDEventiAdd;
  31362.     }
  31363.    
  31364.     private Boolean isGestoreChiaviPDNDEventiUpdate = null;
  31365.     public boolean isGestoreChiaviPDNDEventiUpdate() {  
  31366.         if(this.isGestoreChiaviPDNDEventiUpdate==null){
  31367.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.eventi.update";
  31368.             try{
  31369.                 String name = null;
  31370.                 name = this.reader.getValueConvertEnvProperties(pName);
  31371.                 if(name==null){
  31372.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  31373.                     name="true";
  31374.                 }
  31375.                 name = name.trim();
  31376.                 this.isGestoreChiaviPDNDEventiUpdate = Boolean.parseBoolean(name);
  31377.             } catch(java.lang.Exception e) {
  31378.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  31379.                 this.isGestoreChiaviPDNDEventiUpdate = true;
  31380.             }    
  31381.         }

  31382.         return this.isGestoreChiaviPDNDEventiUpdate;
  31383.     }
  31384.    
  31385.     private Boolean isGestoreChiaviPDNDEventiDelete = null;
  31386.     public boolean isGestoreChiaviPDNDEventiDelete() {  
  31387.         if(this.isGestoreChiaviPDNDEventiDelete==null){
  31388.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.eventi.delete";
  31389.             try{
  31390.                 String name = null;
  31391.                 name = this.reader.getValueConvertEnvProperties(pName);
  31392.                 if(name==null){
  31393.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  31394.                     name="true";
  31395.                 }
  31396.                 name = name.trim();
  31397.                 this.isGestoreChiaviPDNDEventiDelete = Boolean.parseBoolean(name);
  31398.             } catch(java.lang.Exception e) {
  31399.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  31400.                 this.isGestoreChiaviPDNDEventiDelete = true;
  31401.             }    
  31402.         }

  31403.         return this.isGestoreChiaviPDNDEventiDelete;
  31404.     }
  31405.    
  31406.     private List<String> getGestoreChiaviPDNDRemoteStoreName = null;
  31407.     public List<String> getGestoreChiaviPDNDRemoteStoreName() throws CoreException {    
  31408.         if(this.getGestoreChiaviPDNDRemoteStoreName==null){
  31409.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.remoteStore.name";
  31410.             try{
  31411.                 String name = null;
  31412.                 name = this.reader.getValueConvertEnvProperties(pName);
  31413.                 if(name==null){
  31414.                     throw new CoreException("Proprieta' non impostata");
  31415.                 }
  31416.                 name = name.trim();
  31417.                 this.getGestoreChiaviPDNDRemoteStoreName = new ArrayList<>();
  31418.                
  31419.                 initSplitValues(this.getGestoreChiaviPDNDRemoteStoreName, name, false);
  31420.                
  31421.             } catch(java.lang.Exception e) {
  31422.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31423.                 throw new CoreException(e.getMessage(),e);
  31424.             }    
  31425.         }

  31426.         return this.getGestoreChiaviPDNDRemoteStoreName;
  31427.     }
  31428.    
  31429.     private Boolean isGestoreChiaviPDNDEventiCheckAllStores = null;
  31430.     public boolean isGestoreChiaviPDNDEventiCheckAllStores() {  
  31431.         if(this.isGestoreChiaviPDNDEventiCheckAllStores==null){
  31432.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.remoteStore.checkAllStores";
  31433.             try{
  31434.                 String name = null;
  31435.                 name = this.reader.getValueConvertEnvProperties(pName);
  31436.                 if(name==null){
  31437.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  31438.                     name="true";
  31439.                 }
  31440.                 name = name.trim();
  31441.                 this.isGestoreChiaviPDNDEventiCheckAllStores = Boolean.parseBoolean(name);
  31442.             } catch(java.lang.Exception e) {
  31443.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, true));
  31444.                 this.isGestoreChiaviPDNDEventiCheckAllStores = true;
  31445.             }    
  31446.         }

  31447.         return this.isGestoreChiaviPDNDEventiCheckAllStores;
  31448.     }
  31449.    
  31450.     private Integer getGestoreChiaviPDNDkeysMaxLifeMinutes = null;
  31451.     public int getGestoreChiaviPDNDkeysMaxLifeMinutes() {  
  31452.         if(this.getGestoreChiaviPDNDkeysMaxLifeMinutes==null){
  31453.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.keys.maxLifeMinutes";
  31454.             int defaultValue = 43200;
  31455.             try{
  31456.                 String name = null;
  31457.                 name = this.reader.getValueConvertEnvProperties(pName);
  31458.                 if(name==null){
  31459.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,defaultValue));
  31460.                     name=defaultValue+"";
  31461.                 }
  31462.                 name = name.trim();
  31463.                 this.getGestoreChiaviPDNDkeysMaxLifeMinutes = Integer.valueOf(name);
  31464.                 /**if(this.getGestoreChiaviPDNDkeysMaxLifeMinutes<=0) {
  31465.                     throw new CoreException("Atteso un limite maggiore di zero");
  31466.                 }*/ // Se la proprietà viene valorizzata con un valore <=0 le informazioni hanno vita infinita
  31467.             } catch(java.lang.Exception e) {
  31468.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+defaultValue+" : "+e.getMessage(),e);
  31469.                 this.getGestoreChiaviPDNDkeysMaxLifeMinutes = defaultValue;
  31470.             }    
  31471.         }

  31472.         return this.getGestoreChiaviPDNDkeysMaxLifeMinutes;
  31473.     }
  31474.        
  31475.     private String getGestoreChiaviPDNDkeysPath = null;
  31476.     public String getGestoreChiaviPDNDkeysPath() throws CoreException {
  31477.         if(this.getGestoreChiaviPDNDkeysPath==null){
  31478.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.keys.path";
  31479.             try{
  31480.                 String name = null;
  31481.                 name = this.reader.getValueConvertEnvProperties(pName);
  31482.                 if(name==null){
  31483.                     throw new CoreException("Proprieta' non impostata");
  31484.                 }
  31485.                 name = name.trim();
  31486.                 this.getGestoreChiaviPDNDkeysPath = name;
  31487.             } catch(java.lang.Exception e) {
  31488.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31489.                 throw new CoreException(e.getMessage(),e);
  31490.             }    
  31491.         }

  31492.         return this.getGestoreChiaviPDNDkeysPath;
  31493.     }
  31494.    
  31495.     private String getGestoreChiaviPDNDeventsKeysPath = null;
  31496.     public String getGestoreChiaviPDNDeventsKeysPath() throws CoreException {  
  31497.         if(this.getGestoreChiaviPDNDeventsKeysPath==null){
  31498.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.events.keys.path";
  31499.             try{
  31500.                 String name = null;
  31501.                 name = this.reader.getValueConvertEnvProperties(pName);
  31502.                 if(name==null){
  31503.                     throw new CoreException("Proprieta' non impostata");
  31504.                 }
  31505.                 name = name.trim();
  31506.                 this.getGestoreChiaviPDNDeventsKeysPath = name;
  31507.             } catch(java.lang.Exception e) {
  31508.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31509.                 throw new CoreException(e.getMessage(),e);
  31510.             }    
  31511.         }

  31512.         return this.getGestoreChiaviPDNDeventsKeysPath;
  31513.     }
  31514.    
  31515.     private String getGestoreChiaviPDNDeventsKeysParameterLastEventId = null;
  31516.     public String getGestoreChiaviPDNDeventsKeysParameterLastEventId() throws CoreException {  
  31517.         if(this.getGestoreChiaviPDNDeventsKeysParameterLastEventId==null){
  31518.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.events.keys.parameter.lastEventId";
  31519.             try{
  31520.                 String name = null;
  31521.                 name = this.reader.getValueConvertEnvProperties(pName);
  31522.                 if(name==null){
  31523.                     throw new CoreException("Proprieta' non impostata");
  31524.                 }
  31525.                 name = name.trim();
  31526.                 this.getGestoreChiaviPDNDeventsKeysParameterLastEventId = name;
  31527.             } catch(java.lang.Exception e) {
  31528.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31529.                 throw new CoreException(e.getMessage(),e);
  31530.             }    
  31531.         }

  31532.         return this.getGestoreChiaviPDNDeventsKeysParameterLastEventId;
  31533.     }
  31534.    
  31535.     private String getGestoreChiaviPDNDeventsKeysParameterLimit = null;
  31536.     public String getGestoreChiaviPDNDeventsKeysParameterLimit() throws CoreException {
  31537.         if(this.getGestoreChiaviPDNDeventsKeysParameterLimit==null){
  31538.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.events.keys.parameter.limit";
  31539.             try{
  31540.                 String name = null;
  31541.                 name = this.reader.getValueConvertEnvProperties(pName);
  31542.                 if(name==null){
  31543.                     throw new CoreException("Proprieta' non impostata");
  31544.                 }
  31545.                 name = name.trim();
  31546.                 this.getGestoreChiaviPDNDeventsKeysParameterLimit = name;
  31547.             } catch(java.lang.Exception e) {
  31548.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31549.                 throw new CoreException(e.getMessage(),e);
  31550.             }    
  31551.         }

  31552.         return this.getGestoreChiaviPDNDeventsKeysParameterLimit;
  31553.     }

  31554.     private Integer getGestoreChiaviPDNDeventsKeysLimit = null;
  31555.     public int getGestoreChiaviPDNDeventsKeysLimit() {  
  31556.         if(this.getGestoreChiaviPDNDeventsKeysLimit==null){
  31557.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.events.keys.limit";
  31558.             int defaultValue = 100;
  31559.             try{
  31560.                 String name = null;
  31561.                 name = this.reader.getValueConvertEnvProperties(pName);
  31562.                 if(name==null){
  31563.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,defaultValue));
  31564.                     name=defaultValue+"";
  31565.                 }
  31566.                 name = name.trim();
  31567.                 this.getGestoreChiaviPDNDeventsKeysLimit = Integer.valueOf(name);
  31568.                 if(this.getGestoreChiaviPDNDeventsKeysLimit<=0) {
  31569.                     throw new CoreException("Atteso un limite maggiore di zero");
  31570.                 }
  31571.             } catch(java.lang.Exception e) {
  31572.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+defaultValue+" : "+e.getMessage(),e);
  31573.                 this.getGestoreChiaviPDNDeventsKeysLimit = defaultValue;
  31574.             }    
  31575.         }

  31576.         return this.getGestoreChiaviPDNDeventsKeysLimit;
  31577.     }

  31578.     private Long getGestoreChiaviPDNDeventsKeysTimerIntervalloSecondi = null;
  31579.     public long getGestoreChiaviPDNDeventsKeysTimerIntervalloSecondi() {    
  31580.         if(this.getGestoreChiaviPDNDeventsKeysTimerIntervalloSecondi==null){
  31581.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.events.keys.timer.intervalloSecondi";
  31582.             long defaultValue = 3600;
  31583.             try{
  31584.                 String name = null;
  31585.                 name = this.reader.getValueConvertEnvProperties(pName);
  31586.                 if(name==null){
  31587.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,defaultValue));
  31588.                     name=defaultValue+"";
  31589.                 }
  31590.                 name = name.trim();
  31591.                 this.getGestoreChiaviPDNDeventsKeysTimerIntervalloSecondi = Long.valueOf(name);
  31592.                 if(this.getGestoreChiaviPDNDeventsKeysTimerIntervalloSecondi<=0) {
  31593.                     throw new CoreException("Atteso un intervallo maggiore di zero");
  31594.                 }
  31595.             } catch(java.lang.Exception e) {
  31596.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+defaultValue+" : "+e.getMessage(),e);
  31597.                 this.getGestoreChiaviPDNDeventsKeysTimerIntervalloSecondi = defaultValue;
  31598.             }    
  31599.         }

  31600.         return this.getGestoreChiaviPDNDeventsKeysTimerIntervalloSecondi;
  31601.     }
  31602.    
  31603.     private Long getGestoreChiaviPDNDcacheKeysTimerIntervalloSecondi = null;
  31604.     public long getGestoreChiaviPDNDcacheKeysTimerIntervalloSecondi() {
  31605.         if(this.getGestoreChiaviPDNDcacheKeysTimerIntervalloSecondi==null){
  31606.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.cache.keys.timer.intervalloSecondi";
  31607.             long defaultValue = 300;
  31608.             try{
  31609.                 String name = null;
  31610.                 name = this.reader.getValueConvertEnvProperties(pName);
  31611.                 if(name==null){
  31612.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,defaultValue));
  31613.                     name=defaultValue+"";
  31614.                 }
  31615.                 name = name.trim();
  31616.                 this.getGestoreChiaviPDNDcacheKeysTimerIntervalloSecondi = Long.valueOf(name);
  31617.                 if(this.getGestoreChiaviPDNDcacheKeysTimerIntervalloSecondi<=0) {
  31618.                     throw new CoreException("Atteso un intervallo maggiore di zero");
  31619.                 }
  31620.             } catch(java.lang.Exception e) {
  31621.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+defaultValue+" : "+e.getMessage(),e);
  31622.                 this.getGestoreChiaviPDNDcacheKeysTimerIntervalloSecondi = defaultValue;
  31623.             }    
  31624.         }

  31625.         return this.getGestoreChiaviPDNDcacheKeysTimerIntervalloSecondi;
  31626.     }
  31627.    
  31628.     private Integer getGestoreChiaviPDNDTimerLockMaxLife = null;
  31629.     public int getGestoreChiaviPDNDTimerLockMaxLife() {
  31630.         if(this.getGestoreChiaviPDNDTimerLockMaxLife==null){
  31631.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.events.keys.timer.lock.maxLife";
  31632.             try{
  31633.                 String name = null;
  31634.                 name = this.reader.getValueConvertEnvProperties(pName);

  31635.                 if(name!=null){
  31636.                     name = name.trim();
  31637.                     this.getGestoreChiaviPDNDTimerLockMaxLife = java.lang.Integer.parseInt(name);
  31638.                 }else{
  31639.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,CostantiPdD.TIMER_LOCK_MAX_LIFE));
  31640.                     this.getGestoreChiaviPDNDTimerLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  31641.                 }
  31642.             }catch(java.lang.Exception e) {
  31643.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,CostantiPdD.TIMER_LOCK_MAX_LIFE),e);
  31644.                 this.getGestoreChiaviPDNDTimerLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  31645.             }
  31646.             if(this.getGestoreChiaviPDNDTimerLockMaxLife!=null && this.getGestoreChiaviPDNDTimerLockMaxLife>0) {
  31647.                 // trasformo in millisecondi l'informazione fornita in secondi
  31648.                 this.getGestoreChiaviPDNDTimerLockMaxLife = this.getGestoreChiaviPDNDTimerLockMaxLife *1000;
  31649.             }
  31650.         }

  31651.         if(this.getGestoreChiaviPDNDTimerLockMaxLife!=null) {
  31652.             return this.getGestoreChiaviPDNDTimerLockMaxLife.intValue();
  31653.         }
  31654.         return -1;
  31655.     }
  31656.    
  31657.     private Integer getGestoreChiaviPDNDTimerLockIdleTime = null;
  31658.     public int getGestoreChiaviPDNDTimerLockIdleTime() {    
  31659.         if(this.getGestoreChiaviPDNDTimerLockIdleTime==null){
  31660.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.events.keys.timer.lock.idleTime";
  31661.             try{
  31662.                 String name = null;
  31663.                 name = this.reader.getValueConvertEnvProperties(pName);

  31664.                 if(name!=null){
  31665.                     name = name.trim();
  31666.                     this.getGestoreChiaviPDNDTimerLockIdleTime = java.lang.Integer.parseInt(name);
  31667.                 }else{
  31668.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,CostantiPdD.TIMER_LOCK_IDLE_TIME));
  31669.                     this.getGestoreChiaviPDNDTimerLockIdleTime = CostantiPdD.TIMER_LOCK_IDLE_TIME;
  31670.                 }
  31671.             }catch(java.lang.Exception e) {
  31672.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,CostantiPdD.TIMER_LOCK_IDLE_TIME),e);
  31673.                 this.getGestoreChiaviPDNDTimerLockIdleTime = CostantiPdD.TIMER_LOCK_IDLE_TIME;
  31674.             }
  31675.             if(this.getGestoreChiaviPDNDTimerLockIdleTime!=null && this.getGestoreChiaviPDNDTimerLockIdleTime>0) {
  31676.                 // trasformo in millisecondi l'informazione fornita in secondi
  31677.                 this.getGestoreChiaviPDNDTimerLockIdleTime = this.getGestoreChiaviPDNDTimerLockIdleTime *1000;
  31678.             }
  31679.         }

  31680.         if(this.getGestoreChiaviPDNDTimerLockIdleTime!=null) {
  31681.             return this.getGestoreChiaviPDNDTimerLockIdleTime.intValue();
  31682.         }
  31683.         return -1;
  31684.     }
  31685.    
  31686.     private Long getGestoreChiaviPDNDTimerLockAttesaAttiva = null;
  31687.     public long getGestoreChiaviPDNDTimerLockAttesaAttiva() {  
  31688.         if(this.getGestoreChiaviPDNDTimerLockAttesaAttiva==null){
  31689.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.events.keys.timer.lock.attesaAttiva";
  31690.             try{
  31691.                 String name = null;
  31692.                 name = this.reader.getValueConvertEnvProperties(pName);

  31693.                 if(name!=null){
  31694.                     name = name.trim();
  31695.                     long time = java.lang.Long.parseLong(name);
  31696.                     this.getGestoreChiaviPDNDTimerLockAttesaAttiva = time*1000;
  31697.                 }else{
  31698.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA);
  31699.                     this.getGestoreChiaviPDNDTimerLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  31700.                 }

  31701.             }catch(java.lang.Exception e) {
  31702.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA+", errore:"+e.getMessage(),e);
  31703.                 this.getGestoreChiaviPDNDTimerLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  31704.             }    
  31705.         }

  31706.         return this.getGestoreChiaviPDNDTimerLockAttesaAttiva;
  31707.     }

  31708.     private Integer getGestoreChiaviPDNDTimerLockCheckInterval = null;
  31709.     public int getGestoreChiaviPDNDTimerLockCheckInterval() {  
  31710.         if(this.getGestoreChiaviPDNDTimerLockCheckInterval==null){
  31711.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.events.keys.timer.lock.check";
  31712.             try{
  31713.                 String name = null;
  31714.                 name = this.reader.getValueConvertEnvProperties(pName);

  31715.                 if(name!=null){
  31716.                     name = name.trim();
  31717.                     int time = java.lang.Integer.parseInt(name);
  31718.                     this.getGestoreChiaviPDNDTimerLockCheckInterval = time;
  31719.                 }else{
  31720.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL);
  31721.                     this.getGestoreChiaviPDNDTimerLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  31722.                 }
  31723.             }catch(java.lang.Exception e) {
  31724.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL+", errore:"+e.getMessage(),e);
  31725.                 this.getGestoreChiaviPDNDTimerLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  31726.             }  
  31727.         }

  31728.         return this.getGestoreChiaviPDNDTimerLockCheckInterval;
  31729.     }
  31730.    
  31731.     private String getGestoreChiaviPDNDclientsPath = null;
  31732.     public String getGestoreChiaviPDNDclientsPath() throws CoreException {  
  31733.         if(this.getGestoreChiaviPDNDclientsPath==null){
  31734.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.clients.path";
  31735.             try{
  31736.                 String name = null;
  31737.                 name = this.reader.getValueConvertEnvProperties(pName);
  31738.                 if(name==null){
  31739.                     throw new CoreException("Proprieta' non impostata");
  31740.                 }
  31741.                 name = name.trim();
  31742.                 this.getGestoreChiaviPDNDclientsPath = name;
  31743.             } catch(java.lang.Exception e) {
  31744.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31745.                 throw new CoreException(e.getMessage(),e);
  31746.             }    
  31747.         }

  31748.         return this.getGestoreChiaviPDNDclientsPath;
  31749.     }
  31750.        
  31751.     private String getGestoreChiaviPDNDclientsOrganizationJsonPath = null;
  31752.     public String getGestoreChiaviPDNDclientsOrganizationJsonPath() throws CoreException {  
  31753.         if(this.getGestoreChiaviPDNDclientsOrganizationJsonPath==null){
  31754.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.clients.organizationJsonPath";
  31755.             try{
  31756.                 String name = null;
  31757.                 name = this.reader.getValueConvertEnvProperties(pName);
  31758.                 if(name==null){
  31759.                     throw new CoreException("Proprieta' non impostata");
  31760.                 }
  31761.                 name = name.trim();
  31762.                 this.getGestoreChiaviPDNDclientsOrganizationJsonPath = name;
  31763.             } catch(java.lang.Exception e) {
  31764.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31765.                 throw new CoreException(e.getMessage(),e);
  31766.             }    
  31767.         }

  31768.         return this.getGestoreChiaviPDNDclientsOrganizationJsonPath;
  31769.     }
  31770.    
  31771.     private String getGestoreChiaviPDNDorganizationsPath = null;
  31772.     public String getGestoreChiaviPDNDorganizationsPath() throws CoreException {    
  31773.         if(this.getGestoreChiaviPDNDorganizationsPath==null){
  31774.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.organizations.path";
  31775.             try{
  31776.                 String name = null;
  31777.                 name = this.reader.getValueConvertEnvProperties(pName);
  31778.                 if(name==null){
  31779.                     throw new CoreException("Proprieta' non impostata");
  31780.                 }
  31781.                 name = name.trim();
  31782.                 this.getGestoreChiaviPDNDorganizationsPath = name;
  31783.             } catch(java.lang.Exception e) {
  31784.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31785.                 throw new CoreException(e.getMessage(),e);
  31786.             }    
  31787.         }

  31788.         return this.getGestoreChiaviPDNDorganizationsPath;
  31789.     }
  31790.    
  31791.    
  31792.    
  31793.     private Boolean isGestoreChiaviPDNDclientInfoEnabled = null;
  31794.     public boolean isGestoreChiaviPDNDclientInfoEnabled() throws CoreException {    
  31795.         if(this.isGestoreChiaviPDNDclientInfoEnabled==null){
  31796.             String pName = "org.openspcoop2.pdd.gestorePDND.clientInfo.enabled";
  31797.             try{
  31798.                 String name = null;
  31799.                 name = this.reader.getValueConvertEnvProperties(pName);
  31800.                 if(name==null){
  31801.                     throw new CoreException("Proprieta' non impostata");
  31802.                 }
  31803.                 name = name.trim();
  31804.                 this.isGestoreChiaviPDNDclientInfoEnabled = Boolean.valueOf(name);
  31805.                
  31806.                 if(this.isGestoreChiaviPDNDclientInfoEnabled.booleanValue() && !this.isGestoreChiaviPDNDEnabled()) {
  31807.                     throw new CoreException("per abilitare la proprietà è richiesto che sia abilitata la gestione delle chiavi PDND");
  31808.                 }
  31809.                
  31810.             } catch(java.lang.Exception e) {
  31811.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31812.                 throw new CoreException(e.getMessage(),e);
  31813.             }    
  31814.         }

  31815.         return this.isGestoreChiaviPDNDclientInfoEnabled;
  31816.     }
  31817.    
  31818.     private Integer getGestoreChiaviPDNDclientInfoMaxLifeMinutes = null;
  31819.     public int getGestoreChiaviPDNDclientInfoMaxLifeMinutes() {
  31820.         if(this.getGestoreChiaviPDNDclientInfoMaxLifeMinutes==null){
  31821.             String pName = "org.openspcoop2.pdd.gestorePDND.clientInfo.maxLifeMinutes";
  31822.             int defaultValue = 43200;
  31823.             try{
  31824.                 String name = null;
  31825.                 name = this.reader.getValueConvertEnvProperties(pName);
  31826.                 if(name==null){
  31827.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,defaultValue));
  31828.                     name=defaultValue+"";
  31829.                 }
  31830.                 name = name.trim();
  31831.                 this.getGestoreChiaviPDNDclientInfoMaxLifeMinutes = Integer.valueOf(name);
  31832.                 /**if(this.getGestoreChiaviPDNDclientInfoMaxLifeMinutes<=0) {
  31833.                     throw new CoreException("Atteso un limite maggiore di zero");
  31834.                 }*/ // Se la proprietà viene valorizzata con un valore <=0 le informazioni hanno vita infinita
  31835.             } catch(java.lang.Exception e) {
  31836.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+defaultValue+" : "+e.getMessage(),e);
  31837.                 this.getGestoreChiaviPDNDclientInfoMaxLifeMinutes = defaultValue;
  31838.             }    
  31839.         }

  31840.         return this.getGestoreChiaviPDNDclientInfoMaxLifeMinutes;
  31841.     }
  31842.    
  31843.     private Integer getGestoreChiaviPDNDclientInfoCacheFallbackMaxLifeMinutes = null;
  31844.     public int getGestoreChiaviPDNDclientInfoCacheFallbackMaxLifeMinutes() {    
  31845.         if(this.getGestoreChiaviPDNDclientInfoCacheFallbackMaxLifeMinutes==null){
  31846.             String pName = "org.openspcoop2.pdd.gestorePDND.clientInfo.cacheFallbackMaxLifeMinutes";
  31847.             int defaultValue = 5;
  31848.             try{
  31849.                 String name = null;
  31850.                 name = this.reader.getValueConvertEnvProperties(pName);
  31851.                 if(name==null){
  31852.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,defaultValue));
  31853.                     name=defaultValue+"";
  31854.                 }
  31855.                 name = name.trim();
  31856.                 this.getGestoreChiaviPDNDclientInfoCacheFallbackMaxLifeMinutes = Integer.valueOf(name);
  31857.                 /**if(this.getGestoreChiaviPDNDclientInfoCacheFallbackMaxLifeMinutes<=0) {
  31858.                     throw new CoreException("Atteso un limite maggiore di zero");
  31859.                 }*/ // Se la proprietà viene valorizzata con un valore <=0 le informazioni hanno vita infinita
  31860.             } catch(java.lang.Exception e) {
  31861.                 this.logError("Riscontrato errore durante la lettura della proprietà di govway '"+pName+"', viene utilizzato il default="+defaultValue+" : "+e.getMessage(),e);
  31862.                 this.getGestoreChiaviPDNDclientInfoCacheFallbackMaxLifeMinutes = defaultValue;
  31863.             }    
  31864.         }

  31865.         return this.getGestoreChiaviPDNDclientInfoCacheFallbackMaxLifeMinutes;
  31866.     }
  31867.        
  31868.     private Boolean isGestoreChiaviPDNDclientsErrorAbortTransaction = null;
  31869.     public boolean isGestoreChiaviPDNDclientsErrorAbortTransaction() throws CoreException {
  31870.         if(this.isGestoreChiaviPDNDclientsErrorAbortTransaction==null){
  31871.             String pName = "org.openspcoop2.pdd.gestorePDND.clients.error.abortTransaction";
  31872.             try{
  31873.                 String name = null;
  31874.                 name = this.reader.getValueConvertEnvProperties(pName);
  31875.                 if(name==null){
  31876.                     throw new CoreException("Proprieta' non impostata");
  31877.                 }
  31878.                 name = name.trim();
  31879.                 this.isGestoreChiaviPDNDclientsErrorAbortTransaction = Boolean.valueOf(name);
  31880.             } catch(java.lang.Exception e) {
  31881.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31882.                 throw new CoreException(e.getMessage(),e);
  31883.             }    
  31884.         }

  31885.         return this.isGestoreChiaviPDNDclientsErrorAbortTransaction;
  31886.     }
  31887.    
  31888.     private Boolean isGestoreChiaviPDNDorganizationsErrorAbortTransaction = null;
  31889.     public boolean isGestoreChiaviPDNDorganizationsErrorAbortTransaction() throws CoreException {  
  31890.         if(this.isGestoreChiaviPDNDorganizationsErrorAbortTransaction==null){
  31891.             String pName = "org.openspcoop2.pdd.gestorePDND.organizations.error.abortTransaction";
  31892.             try{
  31893.                 String name = null;
  31894.                 name = this.reader.getValueConvertEnvProperties(pName);
  31895.                 if(name==null){
  31896.                     throw new CoreException("Proprieta' non impostata");
  31897.                 }
  31898.                 name = name.trim();
  31899.                 this.isGestoreChiaviPDNDorganizationsErrorAbortTransaction = Boolean.valueOf(name);
  31900.             } catch(java.lang.Exception e) {
  31901.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31902.                 throw new CoreException(e.getMessage(),e);
  31903.             }    
  31904.         }

  31905.         return this.isGestoreChiaviPDNDorganizationsErrorAbortTransaction;
  31906.     }
  31907.    
  31908.     private Boolean isGestoreChiaviPDNDRateLimitingInfoNotAvailableAbortTransaction = null;
  31909.     public boolean isGestoreChiaviPDNDRateLimitingInfoNotAvailableAbortTransaction() throws CoreException {
  31910.         if(this.isGestoreChiaviPDNDRateLimitingInfoNotAvailableAbortTransaction==null){
  31911.             String pName = "org.openspcoop2.pdd.gestorePDND.rateLimiting.infoNotAvailable.abortTransaction";
  31912.             try{
  31913.                 String name = null;
  31914.                 name = this.reader.getValueConvertEnvProperties(pName);
  31915.                 if(name==null){
  31916.                     throw new CoreException("Proprieta' non impostata");
  31917.                 }
  31918.                 name = name.trim();
  31919.                 this.isGestoreChiaviPDNDRateLimitingInfoNotAvailableAbortTransaction = Boolean.valueOf(name);
  31920.             } catch(java.lang.Exception e) {
  31921.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31922.                 throw new CoreException(e.getMessage(),e);
  31923.             }    
  31924.         }

  31925.         return this.isGestoreChiaviPDNDRateLimitingInfoNotAvailableAbortTransaction;
  31926.     }
  31927.    
  31928.     private Boolean isGestoreChiaviPDNDretrieveClientInfoAfterVoucherPDNDValidation = null;
  31929.     public boolean isGestoreChiaviPDNDretrieveClientInfoAfterVoucherPDNDValidation() throws CoreException {
  31930.         if(this.isGestoreChiaviPDNDretrieveClientInfoAfterVoucherPDNDValidation==null){
  31931.             String pName = "org.openspcoop2.pdd.gestorePDND.clientInfo.retrieveAfterVoucherPDNDValidation";
  31932.             try{
  31933.                 String name = null;
  31934.                 name = this.reader.getValueConvertEnvProperties(pName);
  31935.                 if(name==null){
  31936.                     throw new CoreException("Proprieta' non impostata");
  31937.                 }
  31938.                 name = name.trim();
  31939.                 this.isGestoreChiaviPDNDretrieveClientInfoAfterVoucherPDNDValidation = Boolean.valueOf(name);
  31940.             } catch(java.lang.Exception e) {
  31941.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31942.                 throw new CoreException(e.getMessage(),e);
  31943.             }    
  31944.         }

  31945.         return this.isGestoreChiaviPDNDretrieveClientInfoAfterVoucherPDNDValidation;
  31946.     }
  31947.    
  31948.     private Boolean isGestoreChiaviPDNDclientsTraceJsonResponse = null;
  31949.     public boolean isGestoreChiaviPDNDclientsTraceJsonResponse() throws CoreException {
  31950.         if(this.isGestoreChiaviPDNDclientsTraceJsonResponse==null){
  31951.             String pName = "org.openspcoop2.pdd.gestorePDND.clients.traceJsonResponse";
  31952.             try{
  31953.                 String name = null;
  31954.                 name = this.reader.getValueConvertEnvProperties(pName);
  31955.                 if(name==null){
  31956.                     throw new CoreException("Proprieta' non impostata");
  31957.                 }
  31958.                 name = name.trim();
  31959.                 this.isGestoreChiaviPDNDclientsTraceJsonResponse = Boolean.valueOf(name);
  31960.             } catch(java.lang.Exception e) {
  31961.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31962.                 throw new CoreException(e.getMessage(),e);
  31963.             }    
  31964.         }

  31965.         return this.isGestoreChiaviPDNDclientsTraceJsonResponse;
  31966.     }
  31967.    
  31968.     private Boolean isGestoreChiaviPDNDorganizationsTraceJsonResponse = null;
  31969.     public boolean isGestoreChiaviPDNDorganizationsTraceJsonResponse() throws CoreException {  
  31970.         if(this.isGestoreChiaviPDNDorganizationsTraceJsonResponse==null){
  31971.             String pName = "org.openspcoop2.pdd.gestorePDND.organizations.traceJsonResponse";
  31972.             try{
  31973.                 String name = null;
  31974.                 name = this.reader.getValueConvertEnvProperties(pName);
  31975.                 if(name==null){
  31976.                     throw new CoreException("Proprieta' non impostata");
  31977.                 }
  31978.                 name = name.trim();
  31979.                 this.isGestoreChiaviPDNDorganizationsTraceJsonResponse = Boolean.valueOf(name);
  31980.             } catch(java.lang.Exception e) {
  31981.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31982.                 throw new CoreException(e.getMessage(),e);
  31983.             }    
  31984.         }

  31985.         return this.isGestoreChiaviPDNDorganizationsTraceJsonResponse;
  31986.     }
  31987.    
  31988.     private Boolean isGestoreChiaviPDNDorganizationsTraceName = null;
  31989.     public boolean isGestoreChiaviPDNDorganizationsTraceName() throws CoreException {  
  31990.         if(this.isGestoreChiaviPDNDorganizationsTraceName==null){
  31991.             String pName = "org.openspcoop2.pdd.gestorePDND.organizations.traceName";
  31992.             try{
  31993.                 String name = null;
  31994.                 name = this.reader.getValueConvertEnvProperties(pName);
  31995.                 if(name==null){
  31996.                     throw new CoreException("Proprieta' non impostata");
  31997.                 }
  31998.                 name = name.trim();
  31999.                 this.isGestoreChiaviPDNDorganizationsTraceName = Boolean.valueOf(name);
  32000.             } catch(java.lang.Exception e) {
  32001.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  32002.                 throw new CoreException(e.getMessage(),e);
  32003.             }    
  32004.         }

  32005.         return this.isGestoreChiaviPDNDorganizationsTraceName;
  32006.     }
  32007.    
  32008.     private Integer headersPeerRegexpCacheSize = null;
  32009.     public Integer getHeadersPeerRegexpCacheSize() throws CoreException {
  32010.         if (this.headersPeerRegexpCacheSize == null) {
  32011.             String pName = "org.openspcoop2.pdd.headers.peer.regexp.cacheSize";
  32012.             try{
  32013.                 String value = null;
  32014.                 value = this.reader.getValueConvertEnvProperties(pName);
  32015.                 if(value == null){
  32016.                     throw new CoreException("Proprieta' non impostata");
  32017.                 }
  32018.                 this.headersPeerRegexpCacheSize = Integer.parseInt(value.trim());
  32019.             } catch(java.lang.Exception e) {
  32020.                 this.logError("Riscontrato errore durante la lettura della proprietà di govway '"+pName+"': "+e.getMessage(),e);
  32021.                 throw new CoreException(e.getMessage(),e);
  32022.             }    
  32023.         }

  32024.         return this.headersPeerRegexpCacheSize;
  32025.     }
  32026.    
  32027.     private List<PeerHeaderDescriptor> headersDescriptors = null;
  32028.     public List<PeerHeaderDescriptor> getHeadersPeer() throws CoreException {
  32029.         if (this.headersDescriptors == null) {
  32030.             this.headersDescriptors = new ArrayList<>();
  32031.            
  32032.             String startPName = "org.openspcoop2.pdd.headers.peer.";
  32033.             String endHeaderName = ".headers";
  32034.             String endRegexpName = ".regexp";
  32035.            
  32036.             try {
  32037.                 Properties prop = this.reader.readProperties(startPName);
  32038.                 prop.forEach((k, v) -> {
  32039.                     String key = k.toString();
  32040.                     String value = v.toString();
  32041.                    
  32042.                     PeerHeaderDescriptor desc;
  32043.                    
  32044.                     if (key.endsWith(endHeaderName)) {
  32045.                         key = key.substring(0, key.length() - endHeaderName.length());
  32046.                         desc = new StringPeerHeaderDescriptor(key, value);
  32047.                     } else if (key.endsWith(endRegexpName)) {
  32048.                         key = key.substring(0, key.length() - endRegexpName.length());
  32049.                         desc = new RegexpPeerHeaderDescriptor(key, value);
  32050.                     } else {
  32051.                         String suffix = key.substring(key.lastIndexOf('.'));
  32052.                         this.logWarn("Proprieta " + key + " con prefisso: " + startPName + "ha un suffisso '" + suffix + "' non conosciuto");
  32053.                         return;
  32054.                     }
  32055.                    
  32056.                     this.headersDescriptors.add(desc);
  32057.                 });
  32058.                 this.headersDescriptors = Collections.unmodifiableList(this.headersDescriptors);
  32059.                
  32060.             } catch (UtilsException e) {
  32061.                 this.logError("Riscontrato errore durante la lettura della proprietà di govway '" + startPName + "<Peer-Header-Name>.header': " + e.getMessage(), e);
  32062.                 throw new CoreException(e.getMessage(),e);
  32063.             }
  32064.            
  32065.         }
  32066.         return this.headersDescriptors;
  32067.     }
  32068.    
  32069. }