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.Collections;
  33. import java.util.Date;
  34. import java.util.Enumeration;
  35. import java.util.HashMap;
  36. import java.util.Iterator;
  37. import java.util.List;
  38. import java.util.Locale;
  39. import java.util.Map;
  40. import java.util.Properties;

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

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


  176. public class OpenSPCoop2Properties {    

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

  248.     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 [";
  249.    
  250.     private static final String PROPRIETA_NON_DEFINITA = "Proprietà non definita";
  251.    
  252.     private static final String ATTESO_UN_CARATTERE_TROVATI = "Atteso un carattere, trovati ";
  253.    
  254.     private static final String VALORE_NON_VALIDO = "Valore fornito non valido: ";
  255.    
  256.     private String getPrefixFile(File f, boolean expectedDir) {
  257.         return (expectedDir ? "Dir ":"")+"["+f.getAbsolutePath()+"] ";
  258.     }
  259.     private CoreException newCoreExceptionNotDir(File f, boolean expectedDir){
  260.         return new CoreException(getPrefixFile(f, expectedDir)+"isn't dir");
  261.     }
  262.     private CoreException newCoreExceptionNotFile(File f, boolean expectedDir){
  263.         return new CoreException(getPrefixFile(f, expectedDir)+"isn't file");
  264.     }
  265.     private CoreException newCoreExceptionCannotRead(File f, boolean expectedDir){
  266.         return new CoreException(getPrefixFile(f, expectedDir)+"cannot read");
  267.     }
  268.     private CoreException newCoreExceptionCannotWrite(File f, boolean expectedDir){
  269.         return new CoreException(getPrefixFile(f, expectedDir)+"cannot write");
  270.     }
  271.     /**private CoreException newCoreExceptionNotExists(File f, boolean expectedDir){
  272.         return new CoreException(getPrefixFile(f, expectedDir)+"not exists");
  273.     }*/
  274.    

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




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

  294.     /** Reader delle proprieta' impostate nel file 'govway.properties' */
  295.     private OpenSPCoop2InstanceProperties reader;
  296.     private PddProperties pddReader;





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

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

  307.         if(OpenSPCoop2Startup.initialize)
  308.             this.log = OpenSPCoop2Logger.getLoggerOpenSPCoopCore();
  309.         else
  310.             this.log = LoggerWrapperFactory.getLogger("govway.startup");

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

  342.     }

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

  366.     /**
  367.      * Ritorna l'istanza di questa classe
  368.      *
  369.      * @return Istanza di OpenSPCoopProperties
  370.      *
  371.      */
  372.     public static OpenSPCoop2Properties getInstance(){
  373.         return OpenSPCoop2Properties.openspcoopProperties;
  374.     }


  375.     public static void updatePddPropertiesReader(PddProperties pddProperties){
  376.         OpenSPCoop2Properties.openspcoopProperties.pddReader = pddProperties;
  377.     }












  378.     /* ********  VALIDATORE FILE PROPERTY  ******** */

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

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

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

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

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

  547.             // Threshold per il Repository
  548.             List<String> tipiThreshold = this.getRepositoryThresholdTypes();
  549.             if(tipiThreshold!=null){
  550.                 // CheckInterval in Repository
  551.                 long intervalloCheck = this.getRepositoryThresholdCheckInterval();
  552.                 if(intervalloCheck<=0){
  553.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.repository.threshold.checkInterval', valore non impostato/valido.");          
  554.                     return false;
  555.                 }
  556.                 for(int i=0; i<tipiThreshold.size();i++){
  557.                     if(this.getRepositoryThresholdParameters(tipiThreshold.get(i))==null)
  558.                         return false;
  559.                     //  Ricerco connettore
  560.                     String tipoClass = className.getThreshold(tipiThreshold.get(i));
  561.                     if(tipoClass == null){
  562.                         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");
  563.                         return false;
  564.                     }
  565.                     try{
  566.                         IThreshold t = (IThreshold) loaderOpenSPCoop.newInstance(tipoClass);
  567.                         t.toString();
  568.                     }catch(Exception e){
  569.                         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);
  570.                         return false;
  571.                     }
  572.                 }
  573.             }

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


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


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

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

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

  723.             // DataSource
  724.             if (getJNDIName_DataSource() == null){      
  725.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.dataSource'. Proprieta' non impostata");
  726.                 return false;
  727.             }
  728.             if (getJNDIContext_DataSource() == null){      
  729.                 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?");
  730.                 return false;
  731.             }

  732.             // Comunicazioni infrastrutturali
  733.             if( this.getNodeReceiver()==null ){
  734.                 return false;
  735.             }else{
  736.                 //  Ricerco connettore
  737.                 String tipoClass = className.getNodeReceiver(this.getNodeReceiver());
  738.                 if(tipoClass == null){
  739.                     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");
  740.                     return false;
  741.                 }
  742.                 try{
  743.                     INodeReceiver nodeReceiverTest = (INodeReceiver) loaderOpenSPCoop.newInstance(tipoClass);
  744.                     nodeReceiverTest.toString();
  745.                 }catch(Exception e){
  746.                     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);
  747.                     return false;
  748.                 }
  749.             }
  750.             // warning
  751.             this.getNodeReceiverTimeout();
  752.             this.getNodeReceiverTimeoutRicezioneContenutiApplicativi();
  753.             this.getNodeReceiverTimeoutRicezioneBuste();
  754.             this.getNodeReceiverCheckInterval();
  755.             this.getNodeReceiverCheckDBInterval();
  756.             this.singleConnectionNodeReceiver();

  757.             if( this.getNodeSender()==null ){
  758.                 return false;
  759.             }else{
  760.                 //  Ricerco connettore
  761.                 String tipoClass = className.getNodeSender(this.getNodeSender());
  762.                 if(tipoClass == null){
  763.                     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");
  764.                     return false;
  765.                 }
  766.                 try{
  767.                     INodeSender nodeSenderTest = (INodeSender) loaderOpenSPCoop.newInstance(tipoClass);
  768.                     nodeSenderTest.toString();
  769.                 }catch(Exception e){
  770.                     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);
  771.                     return false;
  772.                 }


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

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

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

  914.                 // Code Interne
  915.                 if(this.getJNDIQueueName( (CostantiConfigurazione.COMUNICAZIONE_INFRASTRUTTURALE_JMS.equals(this.getNodeReceiver())),
  916.                         (CostantiConfigurazione.COMUNICAZIONE_INFRASTRUTTURALE_JMS.equals(this.getNodeSender())))==null){
  917.                     // log stampato dentro il metodo
  918.                     return false;
  919.                 }
  920.                 if (getJNDIContext_CodeInterne() == null){      
  921.                     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?");
  922.                     return false;
  923.                 }
  924.                 // warning
  925.                 this.getAcknowledgeModeSessioneConnectionFactory();

  926.                 // TransactionManager (Warning)
  927.                 this.getTransactionManagerAttesaAttiva();
  928.                 this.getTransactionManagerCheckDBInterval();
  929.                 this.getTransactionManagerCheckInterval();
  930.                 this.singleConnectionTransactionManager();
  931.             }

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

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

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

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

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

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

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

  1175.                     if(!checkTipiIntegrazione(tipiIntegrazionePDprotocollo))
  1176.                         return false;
  1177.                 }
  1178.             }

  1179.             // Integrazione tra GovWay e Servizi Applicativi
  1180.             if ( this.getTipoIntegrazionePA() == null ){
  1181.                 String[] tipiIntegrazionePA = this.getTipoIntegrazionePA();

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

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

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

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

  1309.             //  TipoAutorizzazioneBuste
  1310.             String tipoNonEsistente = "tipoNonEsistente";
  1311.             getAutorizzazioneLockPermits();
  1312.             getAutorizzazioneLockPermits(tipoNonEsistente);
  1313.             if( this.getTipoAutorizzazioneBuste()==null ){
  1314.                 return false;
  1315.             }else{
  1316.                 if(!CostantiConfigurazione.AUTORIZZAZIONE_NONE.equals(this.getTipoAutorizzazioneBuste())){
  1317.                     //  Ricerco connettore
  1318.                     String tipoClass = className.getAutorizzazionePortaApplicativa(this.getTipoAutorizzazioneBuste());
  1319.                     if(tipoClass == null){
  1320.                         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");
  1321.                         return false;
  1322.                     }
  1323.                     try{
  1324.                         IAutorizzazionePortaApplicativa auth = (IAutorizzazionePortaApplicativa) loaderOpenSPCoop.newInstance(tipoClass);
  1325.                         auth.toString();
  1326.                     }catch(Exception e){
  1327.                         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);
  1328.                         return false;
  1329.                     }
  1330.                 }
  1331.             }
  1332.             isAutorizzazioneBustaAutenticazioneOpzionaleSoggettoFruitoreProfiloInteroperabilitaDifferenteServizioBloccaRichiesta();
  1333.            
  1334.             //  TipoAutorizzazioneContenuti
  1335.             getAutorizzazioneContenutiLockPermits();
  1336.             getAutorizzazioneContenutiLockPermits(tipoNonEsistente);

  1337.             // ByPass
  1338.             // Controllo spostato sotto, in attesa che venga inizializzato il ProtocolFactoryManager
  1339.             /**protocolli = ProtocolFactoryManager.getInstance().getProtocolFactories().keys();
  1340.             while (protocolli.hasMoreElements()) {
  1341.                 String protocollo = (String) protocolli.nextElement();
  1342.                 getBypassFilterMustUnderstandProperties(protocollo);
  1343.             }*/
  1344.            
  1345.             // GestoreRepositoryBuste
  1346.             if( this.getGestoreRepositoryBuste() == null  ){
  1347.                 return false;
  1348.             }else{
  1349.                 //  Ricerco
  1350.                 if(this.getDatabaseType()!=null){
  1351.                     try{
  1352.                         IGestoreRepository repository = GestoreRepositoryFactory.createRepositoryBuste(this.getDatabaseType());
  1353.                         repository.toString();
  1354.                     }catch(Exception e){
  1355.                         this.logError("Riscontrato errore durante l'inizializzazione del gestore del repository buste associato dalla factory al tipo di database ["+this.getDatabaseType()+"]: "+e.getMessage(),e);
  1356.                         return false;
  1357.                     }
  1358.                 }
  1359.                 else{
  1360.                     String tipoClass = className.getRepositoryBuste(this.getGestoreRepositoryBuste());
  1361.                     if(tipoClass == null){
  1362.                         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");
  1363.                         return false;
  1364.                     }
  1365.                     try{
  1366.                         IGestoreRepository repository = (IGestoreRepository) loaderOpenSPCoop.newInstance(tipoClass);
  1367.                         repository.toString();
  1368.                     }catch(Exception e){
  1369.                         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);
  1370.                         return false;
  1371.                     }
  1372.                 }
  1373.             }

  1374.             // Filtro duplicati (warning)
  1375.             // Ricerco
  1376.             String tipoClassFiltroDuplicati = className.getFiltroDuplicati(this.getGestoreFiltroDuplicatiRepositoryBuste());
  1377.             if(tipoClassFiltroDuplicati == null){
  1378.                 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");
  1379.                 return false;
  1380.             }
  1381.             try{
  1382.                 IFiltroDuplicati duplicati = (IFiltroDuplicati) loaderOpenSPCoop.newInstance(tipoClassFiltroDuplicati);
  1383.                 duplicati.toString();
  1384.             }catch(Exception e){
  1385.                 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);
  1386.                 return false;
  1387.             }
  1388.            
  1389.             // SQLQueryObject
  1390.             if(this.getDatabaseType()!=null){
  1391.                 if ( ! TipiDatabase.isAMember(this.getDatabaseType())){
  1392.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.repository.tipoDatabase', tipo di database non gestito");
  1393.                     return false;
  1394.                 }
  1395.                 // Ricerco
  1396.                 String tipoClass = className.getSQLQueryObject(this.getDatabaseType());
  1397.                 if(tipoClass == null){
  1398.                     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");
  1399.                     return false;
  1400.                 }
  1401.                 try{
  1402.                     ISQLQueryObject sqlQuery = (ISQLQueryObject) loaderOpenSPCoop.newInstance(tipoClass,TipiDatabase.DEFAULT);
  1403.                     sqlQuery.toString();
  1404.                 }catch(Exception e){
  1405.                     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);
  1406.                     return false;
  1407.                 }
  1408.             }

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

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

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

  1481.             // Gestione JMX
  1482.             this.isRisorseJMXAbilitate();
  1483.             this.getJNDIName_MBeanServer();
  1484.             this.getJNDIContext_MBeanServer();

  1485.             // DateManager
  1486.             if(this.getTipoDateManager()==null)
  1487.                 return false;
  1488.             if(getTipoDateTimeFormat()==null) {
  1489.                 return false;
  1490.             }
  1491.             String tipoDateManger = className.getDateManager(this.getTipoDateManager());
  1492.             if(tipoDateManger == null){
  1493.                 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");
  1494.                 return false;
  1495.             }
  1496.             try{
  1497.                 IDate date = (IDate) loaderOpenSPCoop.newInstance(tipoDateManger);
  1498.                 date.toString();
  1499.             }catch(Exception e){
  1500.                 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);
  1501.                 return false;
  1502.             }
  1503.             if (this.getDateManagerProperties() == null){      
  1504.                 this.logError("Riscontrato errore durante la lettura della proprieta' del DataManager: 'org.openspcoop2.pdd.date.property.*'. Proprieta' definite in maniera errata?");
  1505.                 return false;
  1506.             }
  1507.             // Warning
  1508.             this.getTipoTempoBusta(CostantiRegistroServizi.IMPLEMENTAZIONE_STANDARD);

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

  1529.             // Gestione Attachments (Warning)
  1530.             this.isDeleteInstructionTargetMachineXml();
  1531.             this.isTunnelSOAP_loadMailcap();
  1532.             this.getTunnelSOAPKeyWord_headerTrasporto();
  1533.             this.getTunnelSOAPKeyWordMimeType_headerTrasporto();
  1534.             this.getTunnelSOAPKeyWord_urlBased();
  1535.             this.getTunnelSOAPKeyWordMimeType_urlBased();

  1536.             // MustUnderstandHandler (warning)
  1537.             this.isBypassFilterMustUnderstandEnabledForAllHeaders();

  1538.             // Autenticazione
  1539.             this.getAutenticazioneLockPermits();
  1540.             this.getAutenticazioneLockPermits(tipoNonEsistente);
  1541.             this.isGestioneAutenticazioneSaveTokenAuthenticationInfoAuthenticationFailed();
  1542.             if(this.getCryptConfigAutenticazioneApplicativi()==null) {
  1543.                 return false;
  1544.             }
  1545.             if(this.getCryptConfigAutenticazioneSoggetti()==null) {
  1546.                 return false;
  1547.             }
  1548.            
  1549.             this.isAutenticazioneBasicLogPassword();
  1550.             this.getRealmAutenticazioneBasicWWWAuthenticateConfig();
  1551.            
  1552.             this.getRealmAutenticazioneApiKeyWWWAuthenticateConfig();
  1553.            
  1554.             this.isAutenticazioneHttpsPortaDelegataValidityCheck();
  1555.             if(this.getAutenticazioneHttpsPortaDelegataTruststorePath()!=null) {
  1556.                 this.getAutenticazioneHttpsPortaDelegataTruststoreType();
  1557.                 this.getAutenticazioneHttpsPortaDelegataTruststorePassword();
  1558.                 this.getAutenticazioneHttpsPortaDelegataTruststoreCRLs();
  1559.                 this.getAutenticazioneHttpsPortaDelegataTruststoreOCSPPolicy();
  1560.             }
  1561.             this.isAutenticazioneHttpsPortaApplicativaValidityCheck();
  1562.             if(this.getAutenticazioneHttpsPortaApplicativaTruststorePath()!=null) {
  1563.                 this.getAutenticazioneHttpsPortaApplicativaTruststoreType();
  1564.                 this.getAutenticazioneHttpsPortaApplicativaTruststorePassword();
  1565.                 this.getAutenticazioneHttpsPortaApplicativaTruststoreCRLs();
  1566.                 this.getAutenticazioneHttpsPortaApplicativaTruststoreOCSPPolicy();
  1567.             }
  1568.             this.isAutenticazioneHttpsPortaDelegataCheckSoggettiProprietari();
  1569.             this.getRealmAutenticazioneHttpsWWWAuthenticateConfig();
  1570.            
  1571.             this.isAutenticazionePrincipalPortaDelegataCheckSoggettiProprietari();
  1572.             TipoAutenticazionePrincipal [] tipiPrincipale = TipoAutenticazionePrincipal.values();
  1573.             for (TipoAutenticazionePrincipal tipoAutenticazionePrincipal : tipiPrincipale) {
  1574.                 this.getRealmAutenticazionePrincipalWWWAuthenticateConfig(tipoAutenticazionePrincipal);
  1575.             }
  1576.            
  1577.             this.isAutenticazioneTokenPortaDelegataCheckSoggettiProprietari();
  1578.            
  1579.             // Gestori Credenziali PD
  1580.             String [] gestoriCredenzialiPD = this.getTipoGestoreCredenzialiPD();
  1581.             if(gestoriCredenzialiPD!=null){
  1582.                 for(int i=0; i<gestoriCredenzialiPD.length;i++){
  1583.                     //  Ricerco
  1584.                     String tipoClass = className.getGestoreCredenziali(gestoriCredenzialiPD[i]);
  1585.                     if(tipoClass == null){
  1586.                         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");
  1587.                         return false;
  1588.                     }
  1589.                     try{
  1590.                         IGestoreCredenziali g = (IGestoreCredenziali) loaderOpenSPCoop.newInstance(tipoClass);
  1591.                         g.toString();
  1592.                     }catch(Exception e){
  1593.                         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);
  1594.                         return false;
  1595.                     }
  1596.                 }
  1597.             }
  1598.            
  1599.             // Gestori Credenziali PA
  1600.             String [] gestoriCredenzialiPA = this.getTipoGestoreCredenzialiPA();
  1601.             if(gestoriCredenzialiPA!=null){
  1602.                 for(int i=0; i<gestoriCredenzialiPA.length;i++){
  1603.                     //  Ricerco
  1604.                     String tipoClass = className.getGestoreCredenziali(gestoriCredenzialiPA[i]);
  1605.                     if(tipoClass == null){
  1606.                         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");
  1607.                         return false;
  1608.                     }
  1609.                     try{
  1610.                         IGestoreCredenziali g = (IGestoreCredenziali) loaderOpenSPCoop.newInstance(tipoClass);
  1611.                         g.toString();
  1612.                     }catch(Exception e){
  1613.                         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);
  1614.                         return false;
  1615.                     }
  1616.                 }
  1617.             }
  1618.            
  1619.             // Gestori Credenziali IntegrationManager
  1620.             String [] gestoriCredenzialiIM = this.getTipoGestoreCredenzialiIM();
  1621.             if(gestoriCredenzialiIM!=null){
  1622.                 for(int i=0; i<gestoriCredenzialiIM.length;i++){
  1623.                     //  Ricerco
  1624.                     String tipoClass = className.getGestoreCredenzialiIM(gestoriCredenzialiIM[i]);
  1625.                     if(tipoClass == null){
  1626.                         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");
  1627.                         return false;
  1628.                     }
  1629.                     try{
  1630.                         IGestoreCredenzialiIM g = (IGestoreCredenzialiIM) loaderOpenSPCoop.newInstance(tipoClass);
  1631.                         g.toString();
  1632.                     }catch(Exception e){
  1633.                         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);
  1634.                         return false;
  1635.                     }
  1636.                 }
  1637.             }
  1638.            
  1639.             // warning Risposta Asincrona
  1640.             this.getTimeoutBustaRispostaAsincrona();
  1641.             this.getCheckIntervalBustaRispostaAsincrona();

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

  1678.             // Stateless
  1679.             if(this.getStatelessOneWay()==null)
  1680.                 return false;
  1681.             if(this.getStatelessSincrono()==null)
  1682.                 return false;
  1683.             if(this.getStatelessAsincroni()==null)
  1684.                 return false;
  1685.             if(this.getStatelessRouting()==null)
  1686.                 return false;

  1687.             // Warning
  1688.             this.isGestioneOnewayStateful_1_1();
  1689.             this.isRinegoziamentoConnessione();

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

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

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

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

  2411.                     isControlloTrafficoGestorePolicyInMemoryDatabaseUseTransaction();
  2412.                     getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBAttesaAttiva();
  2413.                     getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBCheckInterval();
  2414.                    
  2415.                     //case HAZELCAST:
  2416.                     if(isHazelcastEngineEnabled()) {
  2417.                         //case HAZELCAST_MAP:
  2418.                         getControlloTrafficoGestorePolicyInMemoryHazelCastMapConfigPath();
  2419.                         //case HAZELCAST_NEAR_CACHE:
  2420.                         getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheConfigPath();
  2421.                         //case HAZELCAST_NEAR_CACHE_UNSAFE_SYNC_MAP:
  2422.                         getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeSyncMapConfigPath();
  2423.                         //case HAZELCAST_NEAR_CACHE_UNSAFE_ASYNC_MAP:
  2424.                         getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeAsyncMapConfigPath();
  2425.                         // case HAZELCAST_REPLICATED_MAP
  2426.                         getControlloTrafficoGestorePolicyInMemoryHazelCastReplicatedMapConfigPath();
  2427.                         //case HAZELCAST_LOCAL_CACHE:
  2428.                         getControlloTrafficoGestorePolicyInMemoryHazelCastLocalCacheConfigPath();
  2429.                         getControlloTrafficoGestorePolicyInMemoryHazelcastLocalCacheTimerUpdate();

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

  2614.         }catch(java.lang.Exception e) {
  2615.             this.logError("Riscontrato errore durante la validazione lettura della proprieta' di openspcoop: "+e.getMessage(),e);
  2616.             return false;
  2617.         }
  2618.     }
  2619.    
  2620.     public boolean validaConfigurazioneDopoInizializzazioneProtocolManager(java.lang.ClassLoader loader) {  
  2621.         try{  
  2622.            
  2623.             if(loader!=null) {
  2624.                 // nop
  2625.             }
  2626.            
  2627.             // IdentitaPdD
  2628.             Enumeration<String> protocolli = ProtocolFactoryManager.getInstance().getProtocolFactories().keys();
  2629.             while (protocolli.hasMoreElements()) {
  2630.                 String protocollo = protocolli.nextElement();
  2631.                 getIdentitaPortaDefault(protocollo, null);
  2632.             }  
  2633.            
  2634.             // ByPass
  2635.             protocolli = ProtocolFactoryManager.getInstance().getProtocolFactories().keys();
  2636.             while (protocolli.hasMoreElements()) {
  2637.                 String protocollo = protocolli.nextElement();
  2638.                 getBypassFilterMustUnderstandProperties(protocollo);
  2639.             }
  2640.            
  2641.             // ControlliToken
  2642.             protocolli = ProtocolFactoryManager.getInstance().getProtocolFactories().keys();
  2643.             while (protocolli.hasMoreElements()) {
  2644.                 String protocollo = protocolli.nextElement();
  2645.                 isGestioneTokenIatRequired(true, protocollo);
  2646.                 isGestioneTokenIatRequired(false, protocollo);
  2647.                 isGestioneTokenExpRequired(true, protocollo);
  2648.                 isGestioneTokenExpRequired(false, protocollo);
  2649.                 isGestioneTokenNbfRequired(true, protocollo);
  2650.                 isGestioneTokenNbfRequired(false, protocollo);
  2651.                 if(Costanti.MODIPA_PROTOCOL_NAME.equals(protocollo)) {
  2652.                     isGestioneTokenIatPdndRequired();
  2653.                     isGestioneTokenExpPdndRequired();
  2654.                     isGestioneTokenNbfPdndRequired();
  2655.                 }
  2656.             }
  2657.            
  2658.             return true;
  2659.            
  2660.         }catch(java.lang.Exception e) {
  2661.             this.logError("Riscontrato errore durante la validazione lettura della proprieta' di openspcoop: "+e.getMessage(),e);
  2662.             return false;
  2663.         }
  2664.     }

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


  3223.     public List<String> getKeywordsIntegrazioneGestioneToken(){
  3224.         List<String> keywords = new ArrayList<>();
  3225.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_PROCESS_TIME);
  3226.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_ISSUER);
  3227.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_SUBJECT);
  3228.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_USERNAME);
  3229.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_AUDIENCE);
  3230.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_CLIENT_ID);
  3231.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_ISSUED_AT);
  3232.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_EXPIRED);
  3233.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_NBF);
  3234.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_ROLES);
  3235.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_SCOPES);
  3236.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_FULL_NAME);
  3237.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_FIRST_NAME);
  3238.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_MIDDLE_NAME);
  3239.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_FAMILY_NAME);
  3240.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_EMAIL);
  3241.         return keywords;
  3242.     }

  3243.     private boolean checkTipiIntegrazioneGestioneToken(){
  3244.        
  3245.         Map<?,?> prop = this.getKeyValueGestioneTokenHeaderIntegrazioneTrasporto();
  3246.         if ( prop == null ){
  3247.             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.keyword.*'.");
  3248.             return false;
  3249.         }
  3250.        
  3251.         Map<String, Boolean> propSetPDtrasporto = null;
  3252.         try {
  3253.             propSetPDtrasporto = this.getKeyPDSetEnabledGestioneTokenHeaderIntegrazioneTrasporto();
  3254.         }catch(Exception e) {
  3255.             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.pd.set.enabled.*'.");
  3256.             return false;
  3257.         }
  3258.        
  3259.         Map<String, Boolean> propSetPDjson = null;
  3260.         try {
  3261.             propSetPDjson = this.getKeyPDSetEnabledGestioneTokenHeaderIntegrazioneJson();
  3262.         }catch(Exception e) {
  3263.             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.gestioneToken.forward.json.pd.set.enabled.*'.");
  3264.             return false;
  3265.         }
  3266.        
  3267.         Map<String, Boolean> propSetPAtrasporto = null;
  3268.         try {
  3269.             propSetPAtrasporto = this.getKeyPASetEnabledGestioneTokenHeaderIntegrazioneTrasporto();
  3270.         }catch(Exception e) {
  3271.             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.pa.set.enabled.*'.");
  3272.             return false;
  3273.         }
  3274.        
  3275.         Map<String, Boolean> propSetPAjson = null;
  3276.         try {
  3277.             propSetPAjson = this.getKeyPASetEnabledGestioneTokenHeaderIntegrazioneJson();
  3278.         }catch(Exception e) {
  3279.             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.gestioneToken.forward.json.pa.set.enabled.*'.");
  3280.             return false;
  3281.         }
  3282.        
  3283.         List<String> keywords = this.getKeywordsIntegrazioneGestioneToken();
  3284.         for (String keyword : keywords) {
  3285.             if( prop.get(keyword) == null){
  3286.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.keyword."+
  3287.                         keyword+"'.");
  3288.                 return false;
  3289.             }
  3290.             if( !propSetPDtrasporto.containsKey(keyword)){
  3291.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.pd.set.enabled."+
  3292.                         keyword+"'.");
  3293.                 return false;
  3294.             }
  3295.             if( !propSetPDjson.containsKey(keyword)){
  3296.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.gestioneToken.forward.json.pd.set.enabled."+
  3297.                         keyword+"'.");
  3298.                 return false;
  3299.             }
  3300.             if( !propSetPAtrasporto.containsKey(keyword)){
  3301.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.pa.set.enabled."+
  3302.                         keyword+"'.");
  3303.                 return false;
  3304.             }
  3305.             if( !propSetPAjson.containsKey(keyword)){
  3306.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop: 'org.openspcoop2.pdd.gestioneToken.forward.json.pa.set.enabled."+
  3307.                         keyword+"'.");
  3308.                 return false;
  3309.             }
  3310.         }
  3311.                

  3312.         return true;
  3313.     }

  3314.     public List<MapKey<String>> getKeywordsIntegrazione(){
  3315.         return getKeywordsIntegrazioneEngine(false);
  3316.     }
  3317.     private List<MapKey<String>> getKeywordsIntegrazioneEngine(boolean all){
  3318.         List<MapKey<String>> keywords = new ArrayList<>();
  3319.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TIPO_MITTENTE);
  3320.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_MITTENTE);
  3321.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TIPO_DESTINATARIO);
  3322.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_DESTINATARIO);
  3323.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TIPO_SERVIZIO);
  3324.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_SERVIZIO);
  3325.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_VERSIONE_SERVIZIO);
  3326.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_AZIONE);
  3327.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_ID_MESSAGGIO);
  3328.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_RIFERIMENTO_MESSAGGIO);
  3329.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_COLLABORAZIONE);
  3330.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_ID_APPLICATIVO);
  3331.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_SERVIZIO_APPLICATIVO);
  3332.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_TIPO_MITTENTE_TOKEN);
  3333.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_MITTENTE_TOKEN);
  3334.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_SERVIZIO_APPLICATIVO_TOKEN);
  3335.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_ID_TRANSAZIONE);
  3336.         keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_PROTOCOL_INFO);
  3337.         if(all) {
  3338.             keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_INFO);
  3339.             keywords.add(CostantiPdD.HEADER_INTEGRAZIONE_USER_AGENT);
  3340.         }
  3341.         return keywords;
  3342.     }

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














  3716.     /* ********  CONF DIRECTORY  ******** */

  3717.     /**
  3718.      * Restituisce la directory di configurazione di OpenSPCoop.
  3719.      *
  3720.      * @return la directory di configurazione di OpenSPCoop.
  3721.      *
  3722.      */
  3723.     private String rootDirectory = null;
  3724.     public String getRootDirectory() {  
  3725.         if(this.rootDirectory==null){
  3726.             try{
  3727.                 String root = null;
  3728.                 root = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.confDirectory");

  3729.                 if(root==null)
  3730.                     throw new CoreException(NON_DEFINITA);

  3731.                 root = root.trim();

  3732.                 if(!root.endsWith(File.separator))
  3733.                     root = root + File.separator;

  3734.                 this.rootDirectory = root;
  3735.             }catch(java.lang.Exception e) {
  3736.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop, 'org.openspcoop2.pdd.confDirectory': "+e.getMessage(),e);
  3737.                 this.rootDirectory = null;
  3738.             }    
  3739.         }

  3740.         return this.rootDirectory;
  3741.     }

  3742.     /**
  3743.      * Restituisce L'indicazione se il server è un server J2EE o WEB
  3744.      *
  3745.      * @return indicazione se il server è un server J2EE o WEB
  3746.      *
  3747.      */
  3748.     private Boolean serverJ2EE = null;
  3749.     public Boolean isServerJ2EE() {
  3750.         if(this.serverJ2EE==null){
  3751.             try{
  3752.                 String server = null;
  3753.                 server = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.server");

  3754.                 if(server==null)
  3755.                     throw new CoreException(NON_DEFINITA);

  3756.                 server = server.trim();

  3757.                 if(CostantiConfigurazione.SERVER_J2EE.equalsIgnoreCase(server)){
  3758.                     this.serverJ2EE = true;
  3759.                 }else if(CostantiConfigurazione.SERVER_WEB.equalsIgnoreCase(server)){
  3760.                     this.serverJ2EE = false;
  3761.                 }else{
  3762.                     throw new CoreException("Valore ["+server+"] non conosciuto");
  3763.                 }

  3764.             }catch(java.lang.Exception e) {
  3765.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop, 'org.openspcoop2.pdd.server': "+e.getMessage(),e);
  3766.                 this.serverJ2EE = null;
  3767.             }    
  3768.         }

  3769.         return this.serverJ2EE;
  3770.     }

  3771.     private Boolean getClassLoaderRead = null;
  3772.     private String getClassLoader = null;
  3773.     public String getClassLoader(){

  3774.         if(this.getClassLoaderRead==null){
  3775.             try{  
  3776.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.classLoader");

  3777.                 if (value != null){
  3778.                     value = value.trim();
  3779.                     this.getClassLoader = value;
  3780.                 }

  3781.             }catch(java.lang.Exception e) {
  3782.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.classLoader' non impostata, errore:"+e.getMessage(),e);
  3783.             }
  3784.             this.getClassLoaderRead = true;
  3785.         }

  3786.         return this.getClassLoader;
  3787.     }

  3788.     private String productName = null;
  3789.     public String getProductName() {    
  3790.         if(this.productName==null){
  3791.             try{
  3792.                 String v = null;
  3793.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.productName");
  3794.                 if(v!=null){
  3795.                     v = v.trim();
  3796.                     this.productName = v;
  3797.                 }else{
  3798.                     this.productName = CostantiPdD.OPENSPCOOP2_PRODUCT;
  3799.                 }
  3800.             }catch(java.lang.Exception e) {
  3801.                 this.productName = CostantiPdD.OPENSPCOOP2_PRODUCT;
  3802.             }    
  3803.         }
  3804.         return this.productName;
  3805.     }
  3806.    
  3807.     private String versione = null;
  3808.     public String getVersione() {  
  3809.         if(this.versione==null){
  3810.             try{
  3811.                 String v = null;
  3812.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.versione");
  3813.                 if(v!=null){
  3814.                     v = v.trim();
  3815.                     this.versione = v;
  3816.                 }else{
  3817.                     this.versione = getVersionePdD(null);
  3818.                 }
  3819.             }catch(java.lang.Exception e) {
  3820.                 this.versione = CostantiPdD.OPENSPCOOP2_PRODUCT_VERSION;
  3821.             }    
  3822.         }
  3823.         return this.versione;
  3824.     }
  3825.     public static String getVersionePdD(OpenSPCoop2Properties properties) {
  3826.         String versione = CostantiPdD.OPENSPCOOP2_PRODUCT_VERSION;
  3827.         if(properties!=null){
  3828.             versione = properties.getPddDetailsForServices();
  3829.         }
  3830.        
  3831.         try {
  3832.             String version = VersionUtilities.readVersion();
  3833.             if(version!=null && !StringUtils.isEmpty(version)) {
  3834.                 versione = version;
  3835.             }
  3836.         }catch(Exception e) {
  3837.             // ignore
  3838.         }
  3839.        
  3840.         String buildVersion = null;
  3841.         try {
  3842.             buildVersion = VersionUtilities.readBuildVersion();
  3843.         }catch(Exception e) {
  3844.             // ignore
  3845.         }
  3846.         if(buildVersion!=null) {
  3847.             versione = versione + " (build "+buildVersion+")";
  3848.         }
  3849.         return versione;
  3850.     }
  3851.    
  3852.     private String details = null;
  3853.     public String getDetails() {    
  3854.         if(this.details==null){
  3855.             try{
  3856.                 String v = null;
  3857.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.details");
  3858.                 if(v!=null){
  3859.                     v = v.trim();
  3860.                     this.details = v;
  3861.                 }else{
  3862.                     this.details = CostantiPdD.OPENSPCOOP2_DETAILS;
  3863.                 }
  3864.             }catch(java.lang.Exception e) {
  3865.                 this.details = CostantiPdD.OPENSPCOOP2_DETAILS;
  3866.             }    
  3867.         }
  3868.         return this.details;
  3869.     }
  3870.    
  3871.     private String getPddDetailsForLog = null;
  3872.     public String getPddDetailsForLog() {  
  3873.         if(this.getPddDetailsForLog==null){
  3874.             try{
  3875.                 String v = null;
  3876.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.log.details");
  3877.                 if(v!=null){
  3878.                     v = v.trim();
  3879.                     this.getPddDetailsForLog = v;
  3880.                 }else{
  3881.                     this.getPddDetailsForLog = getDefaultLogVersionDetails();
  3882.                 }
  3883.             }catch(java.lang.Exception e) {
  3884.                 this.getPddDetailsForLog = getDefaultLogVersionDetails();
  3885.             }    
  3886.         }
  3887.         return this.getPddDetailsForLog;
  3888.     }
  3889.    
  3890.     private String getDefaultLogVersionDetails() {
  3891.         String d = this.getDetails();
  3892.         if(d!=null && !"".equals(d))
  3893.             return this.getVersione()+" ("+d+")";
  3894.         else
  3895.             return this.getVersione();
  3896.     }

  3897.     private String getPddDetailsForServices = null;
  3898.     public String getPddDetailsForServices() {  
  3899.         if(this.getPddDetailsForServices==null){
  3900.             try{
  3901.                 String v = null;
  3902.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.details");
  3903.                 if(v!=null){
  3904.                     v = v.trim();
  3905.                     this.getPddDetailsForServices = v;
  3906.                 }else{
  3907.                     this.getPddDetailsForServices = this.getVersione();
  3908.                 }
  3909.             }catch(java.lang.Exception e) {
  3910.                 this.getPddDetailsForServices = this.getVersione();
  3911.             }    
  3912.         }
  3913.         return this.getPddDetailsForServices;
  3914.     }
  3915.    
  3916.     private StatoFunzionalitaConWarning getCheckOpenSPCoopHome = null;
  3917.     public StatoFunzionalitaConWarning getCheckOpenSPCoopHome() {  
  3918.         if(this.getCheckOpenSPCoopHome==null){
  3919.             try{
  3920.                 String v = null;
  3921.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.checkHomeProperty");
  3922.                 if(v!=null){
  3923.                     v = v.trim();
  3924.                     this.getCheckOpenSPCoopHome = (StatoFunzionalitaConWarning) StatoFunzionalitaConWarning.toEnumConstantFromString(v);
  3925.                     if(this.getCheckOpenSPCoopHome==null){
  3926.                         throw new CoreException("Valore inatteso: "+v);
  3927.                     }
  3928.                 }else{
  3929.                     this.getCheckOpenSPCoopHome = StatoFunzionalitaConWarning.DISABILITATO;
  3930.                 }
  3931.             }catch(java.lang.Exception e) {
  3932.                 e.printStackTrace(System.out);
  3933.                 this.getCheckOpenSPCoopHome = StatoFunzionalitaConWarning.DISABILITATO;
  3934.             }    
  3935.         }
  3936.         return this.getCheckOpenSPCoopHome;
  3937.     }
  3938.    
  3939.     public void checkOpenSPCoopHome() throws CoreException{
  3940.         if(!StatoFunzionalitaConWarning.DISABILITATO.equals(this.getCheckOpenSPCoopHome())){
  3941.             Exception e = null;
  3942.             boolean foundSystem = false;
  3943.             try{
  3944.                 String dir = System.getProperty(CostantiPdD.OPENSPCOOP2_LOCAL_HOME);
  3945.                 if(dir==null || "".equals(dir)){
  3946.                     throw new CoreException("Variabile java ["+CostantiPdD.OPENSPCOOP2_LOCAL_HOME+"] non trovata");
  3947.                 }
  3948.                 foundSystem = true;
  3949.                 File fDir = new File(dir);
  3950.                 if(!fDir.exists()){
  3951.                     throw new CoreException("File ["+fDir.getAbsolutePath()+"] indicato nella variabile java ["+CostantiPdD.OPENSPCOOP2_LOCAL_HOME+"] non esiste");
  3952.                 }
  3953.                 if(!fDir.isDirectory()){
  3954.                     throw new CoreException("File ["+fDir.getAbsolutePath()+"] indicato nella variabile java ["+CostantiPdD.OPENSPCOOP2_LOCAL_HOME+"] non è una directory");
  3955.                 }
  3956.                 if(!fDir.canRead()){
  3957.                     throw new CoreException("File ["+fDir.getAbsolutePath()+"] indicato nella variabile java ["+CostantiPdD.OPENSPCOOP2_LOCAL_HOME+"] non è accessibile in lettura");
  3958.                 }
  3959.             }catch(Exception eTh){
  3960.                 e = eTh;
  3961.             }
  3962.             try{
  3963.                 // NOTA: nel caricamento la variabile di sistema vince sulla variabile java
  3964.                 String dir = System.getenv(CostantiPdD.OPENSPCOOP2_LOCAL_HOME);
  3965.                 if(dir==null || "".equals(dir)){
  3966.                     if(!foundSystem){
  3967.                         throw new CoreException("Ne variabile java ne variabile di sistema ["+CostantiPdD.OPENSPCOOP2_LOCAL_HOME+"] trovata");
  3968.                     }
  3969.                 }
  3970.                 else{
  3971.                     File fDir = new File(dir);
  3972.                     if(!fDir.exists()){
  3973.                         throw new CoreException("File ["+fDir.getAbsolutePath()+"] indicato nella variabile di sistema ["+CostantiPdD.OPENSPCOOP2_LOCAL_HOME+"] non esiste");
  3974.                     }
  3975.                     if(!fDir.isDirectory()){
  3976.                         throw new CoreException("File ["+fDir.getAbsolutePath()+"] indicato nella variabile di sistema ["+CostantiPdD.OPENSPCOOP2_LOCAL_HOME+"] non è una directory");
  3977.                     }
  3978.                     if(!fDir.canRead()){
  3979.                         throw new CoreException("File ["+fDir.getAbsolutePath()+"] indicato nella variabile di sistema ["+CostantiPdD.OPENSPCOOP2_LOCAL_HOME+"] non è accessibile in lettura");
  3980.                     }
  3981.                     // trovata.
  3982.                     // annullo una eventuale eccezione di sistema
  3983.                     e = null;
  3984.                 }
  3985.             }catch(Exception eTh){
  3986.                 if(e==null)
  3987.                     e = eTh;
  3988.                 else{
  3989.                     e = new Exception(e.getMessage()+" - "+eTh.getMessage(),eTh);
  3990.                 }
  3991.             }
  3992.             if(e!=null){
  3993.                 throw new CoreException(e.getMessage(),e);
  3994.             }
  3995.         }
  3996.     }
  3997.    
  3998.    




  3999.     /* ********  CONFIGURAZIONE DI OPENSPCOOP  ******** */

  4000.     /**
  4001.      * Restituisce la location della configurazione della porta di dominio di OpenSPCoop,
  4002.      *
  4003.      * @return il path del file di configurazione della porta di dominio in caso di ricerca con successo, null altrimenti.
  4004.      *
  4005.      */
  4006.     private String pathConfigurazionePDD = null;
  4007.     public String getPathConfigurazionePDD() {  
  4008.         if(this.pathConfigurazionePDD==null){
  4009.             try{  
  4010.                 String indirizzo = this.reader.getValue("org.openspcoop2.pdd.config.location");
  4011.                 if(indirizzo==null)
  4012.                     throw new CoreException(NON_DEFINITA);

  4013.                 indirizzo = indirizzo.trim();

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

  4015.                     if( (!indirizzo.startsWith("http://")) && (!indirizzo.startsWith("file://")) ){
  4016.                         if(!indirizzo.startsWith("${")){
  4017.                             String root = getRootDirectory();
  4018.                             indirizzo = root+indirizzo;
  4019.                         }
  4020.                         while (indirizzo.indexOf("${")!=-1){
  4021.                             int indexStart = indirizzo.indexOf("${");
  4022.                             int indexEnd = indirizzo.indexOf("}");
  4023.                             if(indexEnd==-1){
  4024.                                 throw new CoreException("errore durante l'interpretazione del path ["+indirizzo+"]: ${ utilizzato senza la rispettiva chiusura }");
  4025.                             }
  4026.                             String nameSystemProperty = indirizzo.substring(indexStart+"${".length(),indexEnd);
  4027.                             String valueSystemProperty = System.getProperty(nameSystemProperty);
  4028.                             if(valueSystemProperty==null){
  4029.                                 throw new CoreException("errore durante l'interpretazione del path ["+indirizzo+"]: variabile di sistema ${"+nameSystemProperty+"} non esistente");
  4030.                             }
  4031.                             indirizzo = indirizzo.replace("${"+nameSystemProperty+"}", valueSystemProperty);
  4032.                         }
  4033.                     }

  4034.                 }

  4035.                 this.pathConfigurazionePDD = indirizzo;
  4036.             }catch(java.lang.Exception e) {
  4037.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.config.location': "+e.getMessage(),e);
  4038.                 this.pathConfigurazionePDD = null;
  4039.             }
  4040.         }

  4041.         return this.pathConfigurazionePDD;
  4042.     }

  4043.     private List<byte[]> configPreLoadingLocale = null;
  4044.     private Boolean configPreLoadingLocaleRead = null;
  4045.     public List<byte[]> getConfigPreLoadingLocale() {  
  4046.         if(this.configPreLoadingLocaleRead==null){
  4047.             try{
  4048.                 String resourceTmp = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.config.preLoading.locale");
  4049.                 if(resourceTmp!=null){
  4050.                     resourceTmp = resourceTmp.trim();
  4051.                    
  4052.                     List<String> lResources = new ArrayList<>();
  4053.                     initSplitValues(lResources, resourceTmp, false);
  4054.                    
  4055.                     this.configPreLoadingLocale = new ArrayList<>();
  4056.                    
  4057.                     for (String resource : lResources) {
  4058.                         File f = new File(resource);
  4059.                         if(f.exists()) {
  4060.                             this.configPreLoadingLocale.add(FileSystemUtilities.readBytesFromFile(f));
  4061.                         }
  4062.                         else {
  4063.                             if(!resource.startsWith("/")) {
  4064.                                 resource = "/" + resource;
  4065.                             }
  4066.                             InputStream is = OpenSPCoop2Properties.class.getResourceAsStream(resource);
  4067.                             if(is!=null) {
  4068.                                 try {
  4069.                                     this.configPreLoadingLocale.add(Utilities.getAsByteArray(is));
  4070.                                 }finally {
  4071.                                     try {
  4072.                                         is.close();
  4073.                                     }catch(Exception eClose) {
  4074.                                         // close
  4075.                                     }
  4076.                                 }
  4077.                             }
  4078.                         }  
  4079.                     }
  4080.                    
  4081.                 }

  4082.             }catch(java.lang.Exception e) {
  4083.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.config.preLoading.locale': "+e.getMessage(),e);
  4084.                 this.tipoConfigurazionePDD = null;
  4085.             }  
  4086.            
  4087.             this.configPreLoadingLocaleRead = true;
  4088.         }

  4089.         return this.configPreLoadingLocale;
  4090.     }
  4091.    
  4092.     /**
  4093.      * Restituisce il tipo di configurazione della porta di dominio di OpenSPCoop.
  4094.      *
  4095.      * @return il tipo di configurazione della porta di dominio, null altrimenti.
  4096.      *
  4097.      */
  4098.     private String tipoConfigurazionePDD = null;
  4099.     public String getTipoConfigurazionePDD() {  
  4100.         if(this.tipoConfigurazionePDD==null){
  4101.             try{
  4102.                 String tipo = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.config.tipo");
  4103.                 if(tipo==null)
  4104.                     throw new CoreException(NON_DEFINITA);
  4105.                 tipo = tipo.trim();

  4106.                 this.tipoConfigurazionePDD = tipo;
  4107.             }catch(java.lang.Exception e) {
  4108.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.config.tipo': "+e.getMessage(),e);
  4109.                 this.tipoConfigurazionePDD = null;
  4110.             }    
  4111.         }

  4112.         return this.tipoConfigurazionePDD;
  4113.     }

  4114.     /**
  4115.      * Restituisce l'indicazione Se si desidera condividere i due database config e regserv
  4116.      *
  4117.      * @return l'indicazione Se si desidera condividere i due database config e regserv
  4118.      *
  4119.      */
  4120.     private Boolean isCondivisioneConfigurazioneRegistroDB = null;
  4121.     public boolean isCondivisioneConfigurazioneRegistroDB() {  
  4122.         if(this.isCondivisioneConfigurazioneRegistroDB==null){
  4123.             try{
  4124.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.config.db.condivisioneDBRegserv");
  4125.                 if(value==null)
  4126.                     this.isCondivisioneConfigurazioneRegistroDB = false;
  4127.                 else{
  4128.                     this.isCondivisioneConfigurazioneRegistroDB = Boolean.parseBoolean(value);
  4129.                 }
  4130.             }catch(java.lang.Exception e) {
  4131.                 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);
  4132.                 this.isCondivisioneConfigurazioneRegistroDB = false;
  4133.             }    
  4134.         }

  4135.         return this.isCondivisioneConfigurazioneRegistroDB;
  4136.     }

  4137.     /**
  4138.      * Restituisce le proprieta' da utilizzare con il contesto JNDI di lookup, se impostate.
  4139.      *
  4140.      * @return proprieta' da utilizzare con il contesto JNDI di lookup.
  4141.      *
  4142.      */
  4143.     private java.util.Properties jndiContext_Configurazione = null;
  4144.     public java.util.Properties getJNDIContext_Configurazione() {  
  4145.         if(this.jndiContext_Configurazione==null){
  4146.             java.util.Properties prop = new java.util.Properties();
  4147.             try{

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

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

  4155.         return this.jndiContext_Configurazione;
  4156.     }

  4157.    
  4158.     private AccessoConfigurazionePdD accessoConfigurazionePdD = null;
  4159.     public AccessoConfigurazionePdD getAccessoConfigurazionePdD() throws OpenSPCoop2ConfigurationException{
  4160.         if(this.accessoConfigurazionePdD==null){
  4161.             try{  
  4162.                 AccessoConfigurazionePdD conf = new AccessoConfigurazionePdD();
  4163.                 conf.setTipo(this.getTipoConfigurazionePDD());
  4164.                 if(CostantiConfigurazione.CONFIGURAZIONE_DB.equalsIgnoreCase(this.getTipoConfigurazionePDD())){
  4165.                     String tipoDatabase = null;
  4166.                     String location = null;
  4167.                     if(this.getPathConfigurazionePDD().indexOf("@")!=-1){
  4168.                         // estrazione tipo database
  4169.                         tipoDatabase = DBUtils.estraiTipoDatabaseFromLocation(this.getPathConfigurazionePDD());
  4170.                         location = this.getPathConfigurazionePDD().substring(this.getPathConfigurazionePDD().indexOf("@")+1);
  4171.                     }else{
  4172.                         tipoDatabase = this.getDatabaseType();
  4173.                         location =this.getPathConfigurazionePDD();
  4174.                     }
  4175.                     conf.setLocation(location);
  4176.                     conf.setTipoDatabase(tipoDatabase);
  4177.                 }else{
  4178.                     conf.setLocation(this.getPathConfigurazionePDD());
  4179.                 }
  4180.                 conf.setContext(this.getJNDIContext_Configurazione());
  4181.                 conf.setCondivisioneDatabasePddRegistro(this.isCondivisioneConfigurazioneRegistroDB());
  4182.                
  4183.                 this.accessoConfigurazionePdD = conf;
  4184.             }catch(java.lang.Exception e) {
  4185.                 throw new OpenSPCoop2ConfigurationException("Riscontrato errore durante la lettura della modalita' di accesso alla configurazione della PdD OpenSPCoop",e);
  4186.             }
  4187.         }

  4188.         return this.accessoConfigurazionePdD;
  4189.     }

  4190.     /**
  4191.      * Restituisce l'indicazione se la configurazione di GovWay
  4192.      * e' letta una sola volta (statica) o letta ai refresh della sorgente (dinamica)
  4193.      *
  4194.      * @return Restituisce indicazione se la configurazione e' statica (false) o dinamica (true)
  4195.      *
  4196.      */
  4197.     private Boolean isConfigurazioneDinamica_value = null;
  4198.     public boolean isConfigurazioneDinamica(){
  4199.         if(this.isConfigurazioneDinamica_value==null){
  4200.             try{  
  4201.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.config.refresh");

  4202.                 if(value!=null){
  4203.                     value = value.trim();
  4204.                     this.isConfigurazioneDinamica_value = Boolean.parseBoolean(value);
  4205.                 }else{
  4206.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.config.refresh' non impostata, viene utilizzato il default=true");
  4207.                     this.isConfigurazioneDinamica_value = true;
  4208.                 }

  4209.             }catch(java.lang.Exception e) {
  4210.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.config.refresh' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  4211.                 this.isConfigurazioneDinamica_value = true;
  4212.             }
  4213.         }

  4214.         return this.isConfigurazioneDinamica_value;
  4215.     }
  4216.    
  4217.     private Boolean isConfigurazioneCache_ConfigPrefill_value = null;
  4218.     public boolean isConfigurazioneCache_ConfigPrefill(){
  4219.         if(this.isConfigurazioneCache_ConfigPrefill_value==null){
  4220.             try{  
  4221.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.cache.config.prefill");

  4222.                 if(value!=null){
  4223.                     value = value.trim();
  4224.                     this.isConfigurazioneCache_ConfigPrefill_value = Boolean.parseBoolean(value);
  4225.                 }else{
  4226.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.cache.config.prefill' non impostata, viene utilizzato il default=false");
  4227.                     this.isConfigurazioneCache_ConfigPrefill_value = false;
  4228.                 }

  4229.             }catch(java.lang.Exception e) {
  4230.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.cache.config.prefill' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  4231.                 this.isConfigurazioneCache_ConfigPrefill_value = false;
  4232.             }
  4233.         }

  4234.         return this.isConfigurazioneCache_ConfigPrefill_value;
  4235.     }
  4236.    
  4237.     private Boolean isConfigurazioneCache_RegistryPrefill_value = null;
  4238.     public boolean isConfigurazioneCache_RegistryPrefill(){
  4239.         if(this.isConfigurazioneCache_RegistryPrefill_value==null){
  4240.             try{  
  4241.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.cache.registry.prefill");

  4242.                 if(value!=null){
  4243.                     value = value.trim();
  4244.                     this.isConfigurazioneCache_RegistryPrefill_value = Boolean.parseBoolean(value);
  4245.                 }else{
  4246.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.cache.registry.prefill' non impostata, viene utilizzato il default=false");
  4247.                     this.isConfigurazioneCache_RegistryPrefill_value = false;
  4248.                 }

  4249.             }catch(java.lang.Exception e) {
  4250.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.cache.registry.prefill' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  4251.                 this.isConfigurazioneCache_RegistryPrefill_value = false;
  4252.             }
  4253.         }

  4254.         return this.isConfigurazioneCache_RegistryPrefill_value;
  4255.     }
  4256.    
  4257.     private Boolean isConfigurazioneCache_accessiSynchronized = null;
  4258.     public boolean isConfigurazioneCache_accessiSynchronized(){
  4259.         if(this.isConfigurazioneCache_accessiSynchronized==null){
  4260.             try{  
  4261.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.cache.get.synchronized");

  4262.                 if(value!=null){
  4263.                     value = value.trim();
  4264.                     this.isConfigurazioneCache_accessiSynchronized = Boolean.parseBoolean(value);
  4265.                 }else{
  4266.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.cache.get.synchronized' non impostata, viene utilizzato il default=false");
  4267.                     this.isConfigurazioneCache_accessiSynchronized = false;
  4268.                 }

  4269.             }catch(java.lang.Exception e) {
  4270.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.cache.get.synchronized' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  4271.                 this.isConfigurazioneCache_accessiSynchronized = false;
  4272.             }
  4273.         }

  4274.         return this.isConfigurazioneCache_accessiSynchronized;
  4275.     }
  4276.    
  4277.     private Boolean isConfigurazioneCache_transactionContext_accessiSynchronized = null;
  4278.     public boolean isConfigurazioneCache_transactionContext_accessiSynchronized(){
  4279.         if(this.isConfigurazioneCache_transactionContext_accessiSynchronized==null){
  4280.             try{  
  4281.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.cache.transactionContext.synchronized");

  4282.                 if(value!=null){
  4283.                     value = value.trim();
  4284.                     this.isConfigurazioneCache_transactionContext_accessiSynchronized = Boolean.parseBoolean(value);
  4285.                 }else{
  4286.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.cache.transactionContext.synchronized' non impostata, viene utilizzato il default=true");
  4287.                     this.isConfigurazioneCache_transactionContext_accessiSynchronized = true;
  4288.                 }

  4289.             }catch(java.lang.Exception e) {
  4290.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.cache.transactionContext.synchronized' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  4291.                 this.isConfigurazioneCache_transactionContext_accessiSynchronized = true;
  4292.             }
  4293.         }

  4294.         return this.isConfigurazioneCache_transactionContext_accessiSynchronized;
  4295.     }

  4296.     private CacheType readCacheTypeConfig = null;
  4297.     public CacheType getCacheTypeConfig() {
  4298.         if(this.readCacheTypeConfig==null) {
  4299.             this.readCacheTypeConfig = readCacheType("org.openspcoop2.pdd.cache.impl.config");
  4300.         }
  4301.         return this.readCacheTypeConfig;
  4302.     }
  4303.    
  4304.     private CacheType readCacheTypeRegistry = null;
  4305.     public CacheType getCacheTypeRegistry() {
  4306.         if(this.readCacheTypeRegistry==null) {
  4307.             this.readCacheTypeRegistry = readCacheType("org.openspcoop2.pdd.cache.impl.registry");
  4308.         }
  4309.         return this.readCacheTypeRegistry;
  4310.     }
  4311.    
  4312.     private CacheType readCacheTypeAuthentication = null;
  4313.     public CacheType getCacheTypeAuthentication() {
  4314.         if(this.readCacheTypeAuthentication==null) {
  4315.             this.readCacheTypeAuthentication = readCacheType("org.openspcoop2.pdd.cache.impl.authentication");
  4316.         }
  4317.         return this.readCacheTypeAuthentication;
  4318.     }
  4319.    
  4320.     private CacheType readCacheTypeAuthorization = null;
  4321.     public CacheType getCacheTypeAuthorization() {
  4322.         if(this.readCacheTypeAuthorization==null) {
  4323.             this.readCacheTypeAuthorization = readCacheType("org.openspcoop2.pdd.cache.impl.authorization");
  4324.         }
  4325.         return this.readCacheTypeAuthorization;
  4326.     }
  4327.    
  4328.     private CacheType readCacheTypeResponseCaching = null;
  4329.     public CacheType getCacheTypeResponseCaching() {
  4330.         if(this.readCacheTypeResponseCaching==null) {
  4331.             this.readCacheTypeResponseCaching = readCacheType("org.openspcoop2.pdd.cache.impl.responseCaching");
  4332.         }
  4333.         return this.readCacheTypeResponseCaching;
  4334.     }

  4335.     private CacheType readCacheTypeToken = null;
  4336.     public CacheType getCacheTypeToken() {
  4337.         if(this.readCacheTypeToken==null) {
  4338.             this.readCacheTypeToken = readCacheType("org.openspcoop2.pdd.cache.impl.token");
  4339.         }
  4340.         return this.readCacheTypeToken;
  4341.     }
  4342.    
  4343.     private CacheType readCacheTypeAttributeAuthority = null;
  4344.     public CacheType getCacheTypeAttributeAuthority() {
  4345.         if(this.readCacheTypeAttributeAuthority==null) {
  4346.             this.readCacheTypeAttributeAuthority = readCacheType("org.openspcoop2.pdd.cache.impl.attributeAuthority");
  4347.         }
  4348.         return this.readCacheTypeAttributeAuthority;
  4349.     }
  4350.    
  4351.     private CacheType readCacheTypeKeystore = null;
  4352.     public CacheType getCacheTypeKeystore() {
  4353.         if(this.readCacheTypeKeystore==null) {
  4354.             this.readCacheTypeKeystore = readCacheType("org.openspcoop2.pdd.cache.impl.keystore");
  4355.         }
  4356.         return this.readCacheTypeKeystore;
  4357.     }
  4358.    
  4359.     private CacheType readCacheTypeLoadBalancer = null;
  4360.     public CacheType getCacheTypeLoadBalancer() {
  4361.         if(this.readCacheTypeLoadBalancer==null) {
  4362.             this.readCacheTypeLoadBalancer = readCacheType("org.openspcoop2.pdd.cache.impl.loadBalancer");
  4363.         }
  4364.         return this.readCacheTypeLoadBalancer;
  4365.     }
  4366.    
  4367.     private CacheType readCacheTypeTrafficControl = null;
  4368.     public CacheType getCacheTypeTrafficControl() {
  4369.         if(this.readCacheTypeTrafficControl==null) {
  4370.             this.readCacheTypeTrafficControl = readCacheType("org.openspcoop2.pdd.cache.impl.trafficControl");
  4371.         }
  4372.         return this.readCacheTypeTrafficControl;
  4373.     }
  4374.    
  4375.     private CacheType readCacheTypeMessage = null;
  4376.     public CacheType getCacheTypeMessage() {
  4377.         if(this.readCacheTypeMessage==null) {
  4378.             this.readCacheTypeMessage = readCacheType("org.openspcoop2.pdd.cache.impl.message");
  4379.         }
  4380.         return this.readCacheTypeMessage;
  4381.     }
  4382.    
  4383.     private CacheType readCacheTypeRequestManager = null;
  4384.     public CacheType getCacheTypeRequestManager() {
  4385.         if(this.readCacheTypeRequestManager==null) {
  4386.             this.readCacheTypeRequestManager = readCacheType("org.openspcoop2.pdd.cache.impl.requestManager");
  4387.         }
  4388.         return this.readCacheTypeRequestManager;
  4389.     }
  4390.    
  4391.    
  4392.     public CacheType readCacheType(String pName){
  4393.         try{  
  4394.             String value = this.reader.getValueConvertEnvProperties(pName);

  4395.             if(value!=null){
  4396.                 value = value.trim();
  4397.                 return CacheType.valueOf(value);
  4398.             }else{
  4399.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,CacheType.JCS.toString()));
  4400.                 return CacheType.JCS;
  4401.             }

  4402.         }catch(java.lang.Exception e) {
  4403.             this.logWarn(getMessaggioProprietaNonImpostata(pName,e,CacheType.JCS.toString()),e);
  4404.             return CacheType.JCS;
  4405.         }
  4406.     }

  4407.     private Boolean isConfigurazioneCacheDebug = null;
  4408.     public boolean isConfigurazioneCacheDebug(){
  4409.         if(this.isConfigurazioneCacheDebug==null){
  4410.             String pName = "org.openspcoop2.pdd.cache.debug";
  4411.             try{  
  4412.                 String value = this.reader.getValueConvertEnvProperties(pName);

  4413.                 if(value!=null){
  4414.                     value = value.trim();
  4415.                     this.isConfigurazioneCacheDebug = Boolean.parseBoolean(value);
  4416.                 }else{
  4417.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  4418.                     this.isConfigurazioneCacheDebug = false;
  4419.                 }

  4420.             }catch(java.lang.Exception e) {
  4421.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  4422.                 this.isConfigurazioneCacheDebug = false;
  4423.             }
  4424.         }

  4425.         return this.isConfigurazioneCacheDebug;
  4426.     }
  4427.    
  4428.     private Boolean isConfigurazioneCacheRequestManagerUseCache = null;
  4429.     public boolean isConfigurazioneCacheRequestManagerUseCache(){
  4430.         if(this.isConfigurazioneCacheRequestManagerUseCache==null){
  4431.             String pName = "org.openspcoop2.pdd.cache.impl.requestManager.useCache";
  4432.             try{  
  4433.                 String value = this.reader.getValueConvertEnvProperties(pName);

  4434.                 if(value!=null){
  4435.                     value = value.trim();
  4436.                     this.isConfigurazioneCacheRequestManagerUseCache = Boolean.parseBoolean(value);
  4437.                 }else{
  4438.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  4439.                     this.isConfigurazioneCacheRequestManagerUseCache = true;
  4440.                 }

  4441.             }catch(java.lang.Exception e) {
  4442.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  4443.                 this.isConfigurazioneCacheRequestManagerUseCache = true;
  4444.             }
  4445.         }

  4446.         return this.isConfigurazioneCacheRequestManagerUseCache;
  4447.     }
  4448.    
  4449.     private Boolean isConfigurazioneCacheRequestManagerExternalResourceSaveInCache = null;
  4450.     public boolean isConfigurazioneCacheRequestManagerExternalResourceSaveInCache() {  
  4451.         if(this.isConfigurazioneCacheRequestManagerExternalResourceSaveInCache==null){
  4452.             String pName = "org.openspcoop2.pdd.cache.impl.requestManager.externalResource.saveInCache";
  4453.             try{
  4454.                 String name = null;
  4455.                 name = this.reader.getValueConvertEnvProperties(pName);
  4456.                 if(name==null){
  4457.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  4458.                     name="false";
  4459.                 }
  4460.                 name = name.trim();
  4461.                 this.isConfigurazioneCacheRequestManagerExternalResourceSaveInCache = Boolean.parseBoolean(name);
  4462.             } catch(java.lang.Exception e) {
  4463.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  4464.                 this.isConfigurazioneCacheRequestManagerExternalResourceSaveInCache = false;
  4465.             }    
  4466.         }

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

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

  4509.         return this.isConfigurazioneCacheRequestManagerRemoteStoreSaveInCache;
  4510.     }
  4511.    
  4512.    
  4513.    
  4514.     private Boolean isConfigurazioneKeystoreJksPasswordRequired = null;
  4515.     public boolean isConfigurazioneKeystoreJksPasswordRequired() {  
  4516.         if(this.isConfigurazioneKeystoreJksPasswordRequired==null){
  4517.             String pName = "org.openspcoop2.pdd.keystore.jks.passwordRequired";
  4518.             try{
  4519.                 String name = null;
  4520.                 name = this.reader.getValueConvertEnvProperties(pName);
  4521.                 if(name==null){
  4522.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  4523.                     name="true";
  4524.                 }
  4525.                 name = name.trim();
  4526.                 this.isConfigurazioneKeystoreJksPasswordRequired = Boolean.parseBoolean(name);
  4527.             } catch(java.lang.Exception e) {
  4528.                 this.logError("Riscontrato errore durante la lettura della proprietà di govway '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  4529.                 this.isConfigurazioneKeystoreJksPasswordRequired = true;
  4530.             }    
  4531.         }

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

  4552.         return this.isConfigurazioneKeystoreJksKeyPasswordRequired;
  4553.     }
  4554.     private Boolean isConfigurazioneKeystorePkcs12PasswordRequired = null;
  4555.     public boolean isConfigurazioneKeystorePkcs12PasswordRequired() {  
  4556.         if(this.isConfigurazioneKeystorePkcs12PasswordRequired==null){
  4557.             String pName = "org.openspcoop2.pdd.keystore.pkcs12.passwordRequired";
  4558.             try{
  4559.                 String name = null;
  4560.                 name = this.reader.getValueConvertEnvProperties(pName);
  4561.                 if(name==null){
  4562.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  4563.                     name="true";
  4564.                 }
  4565.                 name = name.trim();
  4566.                 this.isConfigurazioneKeystorePkcs12PasswordRequired = Boolean.parseBoolean(name);
  4567.             } catch(java.lang.Exception e) {
  4568.                 this.logError("Riscontrato errore durante la lettura della proprietà di govway '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  4569.                 this.isConfigurazioneKeystorePkcs12PasswordRequired = true;
  4570.             }    
  4571.         }

  4572.         return this.isConfigurazioneKeystorePkcs12PasswordRequired;
  4573.     }
  4574.     private Boolean isConfigurazioneKeystorePkcs12KeyPasswordRequired = null;
  4575.     public boolean isConfigurazioneKeystorePkcs12KeyPasswordRequired() {    
  4576.         if(this.isConfigurazioneKeystorePkcs12KeyPasswordRequired==null){
  4577.             String pName = "org.openspcoop2.pdd.keystore.pkcs12.key.passwordRequired";
  4578.             try{
  4579.                 String name = null;
  4580.                 name = this.reader.getValueConvertEnvProperties(pName);
  4581.                 if(name==null){
  4582.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  4583.                     name="true";
  4584.                 }
  4585.                 name = name.trim();
  4586.                 this.isConfigurazioneKeystorePkcs12KeyPasswordRequired = Boolean.parseBoolean(name);
  4587.             } catch(java.lang.Exception e) {
  4588.                 this.logError("Riscontrato errore durante la lettura della proprietà di govway '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  4589.                 this.isConfigurazioneKeystorePkcs12KeyPasswordRequired = true;
  4590.             }    
  4591.         }

  4592.         return this.isConfigurazioneKeystorePkcs12KeyPasswordRequired;
  4593.     }
  4594.    
  4595.     private Boolean isConfigurazioneTruststoreJksPasswordRequired = null;
  4596.     public boolean isConfigurazioneTruststoreJksPasswordRequired() {    
  4597.         if(this.isConfigurazioneTruststoreJksPasswordRequired==null){
  4598.             String pName = "org.openspcoop2.pdd.truststore.jks.passwordRequired";
  4599.             try{
  4600.                 String name = null;
  4601.                 name = this.reader.getValueConvertEnvProperties(pName);
  4602.                 if(name==null){
  4603.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  4604.                     name="true";
  4605.                 }
  4606.                 name = name.trim();
  4607.                 this.isConfigurazioneTruststoreJksPasswordRequired = Boolean.parseBoolean(name);
  4608.             } catch(java.lang.Exception e) {
  4609.                 this.logError("Riscontrato errore durante la lettura della proprietà di govway '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  4610.                 this.isConfigurazioneTruststoreJksPasswordRequired = true;
  4611.             }    
  4612.         }

  4613.         return this.isConfigurazioneTruststoreJksPasswordRequired;
  4614.     }
  4615.     private Boolean isConfigurazioneTruststorePkcs12PasswordRequired = null;
  4616.     public boolean isConfigurazioneTruststorePkcs12PasswordRequired() {
  4617.         if(this.isConfigurazioneTruststorePkcs12PasswordRequired==null){
  4618.             String pName = "org.openspcoop2.pdd.truststore.pkcs12.passwordRequired";
  4619.             try{
  4620.                 String name = null;
  4621.                 name = this.reader.getValueConvertEnvProperties(pName);
  4622.                 if(name==null){
  4623.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  4624.                     name="true";
  4625.                 }
  4626.                 name = name.trim();
  4627.                 this.isConfigurazioneTruststorePkcs12PasswordRequired = Boolean.parseBoolean(name);
  4628.             } catch(java.lang.Exception e) {
  4629.                 this.logError("Riscontrato errore durante la lettura della proprietà di govway '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  4630.                 this.isConfigurazioneTruststorePkcs12PasswordRequired = true;
  4631.             }    
  4632.         }

  4633.         return this.isConfigurazioneTruststorePkcs12PasswordRequired;
  4634.     }


  4635.    
  4636.    
  4637.     /* ********  CONFIGURAZIONE PLUGINS  ******** */
  4638.    
  4639.     private Boolean isConfigurazionePluginsEnabled = null;
  4640.     public boolean isConfigurazionePluginsEnabled(){
  4641.        
  4642.         String pName = "org.openspcoop2.pdd.config.plugins.enabled";
  4643.         if(this.isConfigurazionePluginsEnabled==null){
  4644.             try{  
  4645.                 String value = this.reader.getValueConvertEnvProperties(pName);

  4646.                 if(value!=null){
  4647.                     value = value.trim();
  4648.                     this.isConfigurazionePluginsEnabled = Boolean.parseBoolean(value);
  4649.                 }else{
  4650.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  4651.                     this.isConfigurazionePluginsEnabled = true;
  4652.                 }

  4653.             }catch(java.lang.Exception e) {
  4654.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  4655.                 this.isConfigurazionePluginsEnabled = true;
  4656.             }
  4657.         }

  4658.         return this.isConfigurazionePluginsEnabled;
  4659.     }
  4660.    
  4661.     private Boolean isConfigurazionePluginsDebug = null;
  4662.     public boolean isConfigurazionePluginsDebug(){
  4663.        
  4664.         String pName = "org.openspcoop2.pdd.config.plugins.debug";
  4665.         if(this.isConfigurazionePluginsDebug==null){
  4666.             try{  
  4667.                 String value = this.reader.getValueConvertEnvProperties(pName);

  4668.                 if(value!=null){
  4669.                     value = value.trim();
  4670.                     this.isConfigurazionePluginsDebug = Boolean.parseBoolean(value);
  4671.                 }else{
  4672.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  4673.                     this.isConfigurazionePluginsDebug = true;
  4674.                 }

  4675.             }catch(java.lang.Exception e) {
  4676.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  4677.                 this.isConfigurazionePluginsDebug = true;
  4678.             }
  4679.         }

  4680.         return this.isConfigurazionePluginsDebug;
  4681.     }
  4682.    
  4683.     private Integer getConfigurazionePluginsSeconds = null;
  4684.     public int getConfigurazionePluginsSeconds(){
  4685.        
  4686.         String pName = "org.openspcoop2.pdd.config.plugins.seconds";
  4687.         if(this.getConfigurazionePluginsSeconds==null){
  4688.             try{  
  4689.                 String value = this.reader.getValueConvertEnvProperties(pName);

  4690.                 if(value!=null){
  4691.                     value = value.trim();
  4692.                     this.getConfigurazionePluginsSeconds = Integer.parseInt(value);
  4693.                 }else{
  4694.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostata, viene utilizzato il default=300");
  4695.                     this.getConfigurazionePluginsSeconds = 300;
  4696.                 }

  4697.             }catch(java.lang.Exception e) {
  4698.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostata, viene utilizzato il default=300, errore:"+e.getMessage(),e);
  4699.                 this.getConfigurazionePluginsSeconds = 300;
  4700.             }
  4701.         }

  4702.         return this.getConfigurazionePluginsSeconds;
  4703.     }






  4704.     /* ********  DATASOURCE DI OPENSPCOOP  ******** */

  4705.     /**
  4706.      * Restituisce il Nome JNDI del DataSource utilizzato da OpenSPCoop.
  4707.      *
  4708.      * @return il Nome JNDI del DataSource utilizzato da OpenSPCoop.
  4709.      *
  4710.      */
  4711.     private String jndiNameDatasource = null;
  4712.     public String getJNDIName_DataSource() {    
  4713.         if(this.jndiNameDatasource==null){
  4714.             try{
  4715.                 String name = null;
  4716.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.dataSource");
  4717.                 if(name==null)
  4718.                     throw new CoreException(NON_DEFINITA);
  4719.                 name = name.trim();

  4720.                 this.jndiNameDatasource = name;
  4721.             }catch(java.lang.Exception e) {
  4722.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.dataSource': "+e.getMessage(),e);
  4723.                 this.jndiNameDatasource = null;
  4724.             }    
  4725.         }

  4726.         return this.jndiNameDatasource;
  4727.     }

  4728.     /**
  4729.      * Restituisce le proprieta' da utilizzare con il contesto JNDI di lookup, se impostate.
  4730.      *
  4731.      * @return proprieta' da utilizzare con il contesto JNDI di lookup.
  4732.      *
  4733.      */
  4734.     private java.util.Properties jndiContextDatasource = null;
  4735.     public java.util.Properties getJNDIContext_DataSource() {
  4736.         if(this.jndiContextDatasource == null){
  4737.             java.util.Properties prop = new java.util.Properties();
  4738.             try{

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

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

  4746.         return this.jndiContextDatasource;
  4747.     }











  4748.     /* ********  CONNECTION FACTORY DI OPENSPCOOP  ******** */

  4749.     /**
  4750.      * Restituisce il Nome JNDI del ConnectionFactory utilizzato da OpenSPCoop.
  4751.      *
  4752.      * @return il Nome JNDI del ConnectionFactory utilizzato da OpenSPCoop.
  4753.      *
  4754.      */
  4755.     private String jndiNameConnectionFactory = null;
  4756.     public String getJNDIName_ConnectionFactory() {
  4757.         if(this.jndiNameConnectionFactory==null){
  4758.             try{
  4759.                 String name = null;
  4760.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.queueConnectionFactory");
  4761.                 if(name==null)
  4762.                     throw new CoreException(NON_DEFINITA);
  4763.                 name = name.trim();

  4764.                 this.jndiNameConnectionFactory = name;
  4765.             }catch(java.lang.Exception e) {
  4766.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.queueConnectionFactory': "+e.getMessage(),e);
  4767.                 this.jndiNameConnectionFactory = null;
  4768.             }    
  4769.         }

  4770.         return this.jndiNameConnectionFactory;
  4771.     }

  4772.     /**
  4773.      * Restituisce le proprieta' da utilizzare con il contesto JNDI di lookup, se impostate.
  4774.      *
  4775.      * @return proprieta' da utilizzare con il contesto JNDI di lookup.
  4776.      *
  4777.      */
  4778.     private java.util.Properties jndiContextConnectionFactory = null;
  4779.     public java.util.Properties getJNDIContext_ConnectionFactory() {
  4780.         if(this.jndiContextConnectionFactory==null){
  4781.             java.util.Properties prop = new java.util.Properties();
  4782.             try{

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

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

  4790.         return this.jndiContextConnectionFactory;
  4791.     }

  4792.     /**
  4793.      * Restituisce acknowledgeMode della Sessione utilizzata da OpenSPCoop.
  4794.      *
  4795.      * @return acknowledgeMode della Sessione utilizzata da OpenSPCoop.
  4796.      *
  4797.      */
  4798.     private int acknowledgeModeSessioneConnectionFactory = -1;
  4799.     public int getAcknowledgeModeSessioneConnectionFactory() {  
  4800.         if(this.acknowledgeModeSessioneConnectionFactory==-1){
  4801.             try{
  4802.                 String name = null;
  4803.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.queueConnectionFactory.session.AcknowledgeMode");

  4804.                 if(name!=null){
  4805.                     name = name.trim();
  4806.                     if(CostantiConfigurazione.AUTO_ACKNOWLEDGE.equals(name))
  4807.                         this.acknowledgeModeSessioneConnectionFactory = javax.jms.Session.AUTO_ACKNOWLEDGE;
  4808.                     else if(CostantiConfigurazione.CLIENT_ACKNOWLEDGE.equals(name))
  4809.                         this.acknowledgeModeSessioneConnectionFactory = javax.jms.Session.CLIENT_ACKNOWLEDGE;
  4810.                     else if(CostantiConfigurazione.DUPS_OK_ACKNOWLEDGE.equals(name))
  4811.                         this.acknowledgeModeSessioneConnectionFactory = javax.jms.Session.DUPS_OK_ACKNOWLEDGE;
  4812.                     else
  4813.                         throw new CoreException("Tipo di acknowledgeModeSessione non conosciuto (viene utilizzato il default:AUTO_ACKNOWLEDGE)");
  4814.                 }else{
  4815.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.queueConnectionFactory.session.AcknowledgeMode' non impostata, viene utilizzato il default=AUTO_ACKNOWLEDGE");
  4816.                     this.acknowledgeModeSessioneConnectionFactory = javax.jms.Session.AUTO_ACKNOWLEDGE; // Default
  4817.                 }

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

  4823.         return this.acknowledgeModeSessioneConnectionFactory;
  4824.     }








  4825.     /* ********  CODE JMS DI OPENSPCOOP  ******** */

  4826.     public java.util.Map<String,String> getJNDIQueueName(boolean receiverJMSActive,boolean senderJMSActive){
  4827.         java.util.Map<String,String> table = new java.util.HashMap<>();
  4828.         try{
  4829.             boolean ricezioneContenutiApplicativi = !receiverJMSActive;
  4830.             boolean ricezioneBuste = !receiverJMSActive;
  4831.             boolean consegnaContenutiApplicativi = !senderJMSActive;
  4832.             boolean inoltroBuste = !senderJMSActive;
  4833.             boolean inoltroRisposte = !senderJMSActive;
  4834.             boolean imbustamento = !senderJMSActive;
  4835.             boolean imbustamentoRisposte = !senderJMSActive;
  4836.             boolean sbustamento=!senderJMSActive;
  4837.             boolean sbustamentoRisposte=!senderJMSActive;
  4838.             java.util.Enumeration<?> en = this.reader.propertyNames();
  4839.             for (; en.hasMoreElements() ;) {
  4840.                 String property = (String) en.nextElement();
  4841.                 if(property.startsWith("org.openspcoop2.pdd.queue.")){
  4842.                     String key = (property.substring("org.openspcoop2.pdd.queue.".length()));
  4843.                     if(key != null)
  4844.                         key = key.trim();
  4845.                     String value = this.reader.getValueConvertEnvProperties(property);
  4846.                     if(value!=null)
  4847.                         value = value.trim();
  4848.                     if(receiverJMSActive){
  4849.                         if("ricezioneContenutiApplicativi".equals(key) && value!=null){
  4850.                             table.put(RicezioneContenutiApplicativi.ID_MODULO, value);
  4851.                             ricezioneContenutiApplicativi = true;
  4852.                         }else if("ricezioneBuste".equals(key) && value!=null){
  4853.                             table.put(RicezioneBuste.ID_MODULO, value);
  4854.                             ricezioneBuste = true;
  4855.                         }
  4856.                     }
  4857.                     if(senderJMSActive){
  4858.                         if("inoltroBuste".equals(key) && value!=null){
  4859.                             table.put(InoltroBuste.ID_MODULO, value);
  4860.                             inoltroBuste = true;
  4861.                         }else if("inoltroRisposte".equals(key) && value!=null){
  4862.                             table.put(InoltroRisposte.ID_MODULO, value);
  4863.                             inoltroRisposte = true;
  4864.                         }else if("consegnaContenutiApplicativi".equals(key) && value!=null){
  4865.                             table.put(ConsegnaContenutiApplicativi.ID_MODULO, value);
  4866.                             consegnaContenutiApplicativi = true;
  4867.                         }else if("imbustamento".equals(key) && value!=null){
  4868.                             table.put(Imbustamento.ID_MODULO, value);
  4869.                             imbustamento = true;
  4870.                         }else if("imbustamentoRisposte".equals(key) && value!=null){
  4871.                             table.put(ImbustamentoRisposte.ID_MODULO, value);
  4872.                             imbustamentoRisposte = true;
  4873.                         }else if("sbustamento".equals(key) && value!=null){
  4874.                             table.put(Sbustamento.ID_MODULO, value);
  4875.                             sbustamento = true;
  4876.                         }else if("sbustamentoRisposte".equals(key) && value!=null){
  4877.                             table.put(SbustamentoRisposte.ID_MODULO, value);
  4878.                             sbustamentoRisposte = true;
  4879.                         }
  4880.                     }
  4881.                 }
  4882.             }


  4883.             if(ricezioneContenutiApplicativi==false){
  4884.                 this.logError("Riscontrato errore durante la lettura dei nomi JNDI delle code di openspcoop: coda org.openspcoop2.pdd.queue.ricezioneContenutiApplicativi non definita");
  4885.                 return null;
  4886.             }
  4887.             if(ricezioneBuste==false){
  4888.                 this.logError("Riscontrato errore durante la lettura dei nomi JNDI delle code di openspcoop: coda org.openspcoop2.pdd.queue.ricezioneBuste non definita");
  4889.                 return null;
  4890.             }
  4891.             if(consegnaContenutiApplicativi==false){
  4892.                 this.logError("Riscontrato errore durante la lettura dei nomi JNDI delle code di openspcoop: coda org.openspcoop2.pdd.queue.consegnaContenutiApplicativi non definita");
  4893.                 return null;
  4894.             }
  4895.             if(inoltroBuste==false){
  4896.                 this.logError("Riscontrato errore durante la lettura dei nomi JNDI delle code di openspcoop: coda org.openspcoop2.pdd.queue.inoltroBuste non definita");
  4897.                 return null;
  4898.             }
  4899.             if(inoltroRisposte==false){
  4900.                 this.logError("Riscontrato errore durante la lettura dei nomi JNDI delle code di openspcoop: coda org.openspcoop2.pdd.queue.inoltroRisposte non definita");
  4901.                 return null;
  4902.             }
  4903.             if(imbustamento==false){
  4904.                 this.logError("Riscontrato errore durante la lettura dei nomi JNDI delle code di openspcoop: coda org.openspcoop2.pdd.queue.imbustamento non definita");
  4905.                 return null;
  4906.             }if(imbustamentoRisposte==false){
  4907.                 this.logError("Riscontrato errore durante la lettura dei nomi JNDI delle code di openspcoop: coda org.openspcoop2.pdd.queue.imbustamentoRisposte non definita");
  4908.                 return null;
  4909.             }else if(sbustamentoRisposte==false){
  4910.                 this.logError("Riscontrato errore durante la lettura dei nomi JNDI delle code di openspcoop: coda org.openspcoop2.pdd.queue.sbustamentoRisposte non definita");
  4911.                 return null;
  4912.             }
  4913.             if(sbustamento==false){
  4914.                 this.logError("Riscontrato errore durante la lettura dei nomi JNDI delle code di openspcoop: coda org.openspcoop2.pdd.queue.sbustamento non definita");
  4915.                 return null;
  4916.             }
  4917.             return table;

  4918.         }catch(java.lang.Exception e) {
  4919.             this.logError("Riscontrato errore durante la lettura dei nomi JNDI delle code di openspcoop 'org.openspcoop2.pdd.queue.property.*': "+e.getMessage(),e);
  4920.             return null;
  4921.         }    
  4922.     }

  4923.     /**
  4924.      * Restituisce le proprieta' da utilizzare nel contesto JNDI di lookup per localizzare le code.
  4925.      *
  4926.      * @return proprieta' da utilizzare con il contesto JNDI di lookup per localizzare le code.
  4927.      *
  4928.      */
  4929.     private java.util.Properties jndiContext_CodeInterne = null;
  4930.     public java.util.Properties getJNDIContext_CodeInterne() {  
  4931.         if(this.jndiContext_CodeInterne==null){
  4932.             java.util.Properties prop = new java.util.Properties();
  4933.             try{

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

  4936.             }catch(java.lang.Exception e) {
  4937.                 this.logError("Riscontrato errore durante la lettura delle propriete' JNDI delle code di openspcoop 'org.openspcoop2.pdd.queue.property.*': "+e.getMessage(),e);
  4938.                 this.jndiContext_CodeInterne = null;
  4939.             }    
  4940.         }

  4941.         return this.jndiContext_CodeInterne;
  4942.     }














  4943.     /* ********  Timer EJB DI OPENSPCOOP  ******** */

  4944.     public java.util.Map<String,String> getJNDITimerEJBName(){
  4945.         java.util.Map<String,String> table = new java.util.HashMap<>();
  4946.         try{
  4947.             boolean gestoreBusteNonRiscontrate = false;
  4948.             boolean gestoreMessaggi = false;
  4949.             boolean gestorePuliziaMessaggiAnomali = false;
  4950.             boolean gestoreRepositoryBuste = false;
  4951.             java.util.Enumeration<?> en = this.reader.propertyNames();
  4952.             for (; en.hasMoreElements() ;) {
  4953.                 String property = (String) en.nextElement();
  4954.                 if(property.startsWith("org.openspcoop2.pdd.timer.")){
  4955.                     String key = (property.substring("org.openspcoop2.pdd.timer.".length()));
  4956.                     if(key != null)
  4957.                         key = key.trim();
  4958.                     String value = this.reader.getValueConvertEnvProperties(property);
  4959.                     if(value!=null)
  4960.                         value = value.trim();
  4961.                     if("gestoreBusteNonRiscontrate".equals(key) && value!=null){
  4962.                         table.put(TimerGestoreBusteNonRiscontrate.ID_MODULO, value);
  4963.                         gestoreBusteNonRiscontrate = true;
  4964.                     }else if("gestoreMessaggi".equals(key) && value!=null){
  4965.                         table.put(TimerGestoreMessaggi.ID_MODULO, value);
  4966.                         gestoreMessaggi = true;
  4967.                     }else if("gestorePuliziaMessaggiAnomali".equals(key) && value!=null){
  4968.                         table.put(TimerGestorePuliziaMessaggiAnomali.ID_MODULO, value);
  4969.                         gestorePuliziaMessaggiAnomali = true;
  4970.                     }else if("gestoreRepositoryBuste".equals(key) && value!=null){
  4971.                         table.put(TimerGestoreRepositoryBuste.ID_MODULO, value);
  4972.                         gestoreRepositoryBuste = true;
  4973.                     }
  4974.                 }
  4975.             }


  4976.             if(gestoreBusteNonRiscontrate==false && this.isTimerGestoreRiscontriRicevuteAbilitato()){
  4977.                 this.logError("Riscontrato errore durante la lettura dei nomi JNDI dei timer openspcoop: timer org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate non definito");
  4978.                 return null;
  4979.             }
  4980.             if(gestoreMessaggi==false && this.isTimerGestoreMessaggiAbilitato()){
  4981.                 this.logError("Riscontrato errore durante la lettura dei nomi JNDI dei timer openspcoop: timer org.openspcoop2.pdd.timer.gestoreMessaggi non definito");
  4982.                 return null;
  4983.             }
  4984.             if(gestorePuliziaMessaggiAnomali==false && this.isTimerGestorePuliziaMessaggiAnomaliAbilitato()){
  4985.                 this.logError("Riscontrato errore durante la lettura dei nomi JNDI dei timer openspcoop: timer org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali non definito");
  4986.                 return null;
  4987.             }
  4988.             if(gestoreRepositoryBuste==false && this.isTimerGestoreRepositoryBusteAbilitato()){
  4989.                 this.logError("Riscontrato errore durante la lettura dei nomi JNDI dei timer openspcoop: timer org.openspcoop2.pdd.timer.gestoreRepositoryBuste  non definito");
  4990.                 return null;
  4991.             }
  4992.             return table;

  4993.         }catch(java.lang.Exception e) {
  4994.             this.logError("Riscontrato errore durante la lettura dei nomi JNDI delle code di openspcoop 'org.openspcoop2.pdd.queue.property.*': "+e.getMessage(),e);
  4995.             return null;
  4996.         }    
  4997.     }

  4998.     /**
  4999.      * Restituisce le proprieta' da utilizzare nel contesto JNDI di lookup per localizzare i timer.
  5000.      *
  5001.      * @return proprieta' da utilizzare con il contesto JNDI di lookup per localizzare i timer.
  5002.      *
  5003.      */
  5004.     private java.util.Properties jndiContext_TimerEJB = null;
  5005.     public java.util.Properties getJNDIContext_TimerEJB() {
  5006.         if(this.jndiContext_TimerEJB==null){
  5007.             java.util.Properties prop = new java.util.Properties();
  5008.             try{

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

  5011.             }catch(java.lang.Exception e) {
  5012.                 this.logError("Riscontrato errore durante la lettura delle propriete' JNDI dei timer di openspcoop 'org.openspcoop2.pdd.timer.property.*': "+e.getMessage(),e);
  5013.                 this.jndiContext_TimerEJB = null;
  5014.             }    
  5015.         }

  5016.         return this.jndiContext_TimerEJB;
  5017.     }
  5018.    
  5019.     private Boolean isTimerAutoStart_StopTimer = null;
  5020.     public boolean isTimerAutoStart_StopTimer(){
  5021.         if(this.isTimerAutoStart_StopTimer==null){
  5022.             try{  
  5023.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.autoStart.stop");

  5024.                 if(value!=null){
  5025.                     value = value.trim();
  5026.                     this.isTimerAutoStart_StopTimer = Boolean.parseBoolean(value);
  5027.                 }else{
  5028.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.autoStart.stop' non impostata, viene utilizzato il default=true");
  5029.                     this.isTimerAutoStart_StopTimer = true;
  5030.                 }

  5031.             }catch(java.lang.Exception e) {
  5032.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.autoStart.stop', viene utilizzato il default=true, errore:"+e.getMessage(),e);
  5033.                 this.isTimerAutoStart_StopTimer = true;
  5034.             }
  5035.         }

  5036.         return this.isTimerAutoStart_StopTimer;
  5037.     }
  5038.    
  5039.    
  5040.    

  5041.    
  5042.     // GestoreRiscontriRicevute
  5043.    
  5044.     /**
  5045.      * Restituisce l'indicazione se avviare il timer
  5046.      *
  5047.      * @return Restituisce indicazione se avviare il timer
  5048.      *
  5049.      */
  5050.     private Boolean isTimerGestoreRiscontriRicevuteAbilitato = null;
  5051.     public boolean isTimerGestoreRiscontriRicevuteAbilitato(){
  5052.         if(this.isTimerGestoreRiscontriRicevuteAbilitato==null){
  5053.             try{  
  5054.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.enable");

  5055.                 if(value!=null){
  5056.                     value = value.trim();
  5057.                     this.isTimerGestoreRiscontriRicevuteAbilitato = Boolean.parseBoolean(value);
  5058.                 }else{
  5059.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.enable' non impostata, viene utilizzato il default=true");
  5060.                     this.isTimerGestoreRiscontriRicevuteAbilitato = true;
  5061.                 }

  5062.             }catch(java.lang.Exception e) {
  5063.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.enable', viene utilizzato il default=true, errore:"+e.getMessage(),e);
  5064.                 this.isTimerGestoreRiscontriRicevuteAbilitato = true;
  5065.             }
  5066.         }

  5067.         return this.isTimerGestoreRiscontriRicevuteAbilitato;
  5068.     }
  5069.    
  5070.     /**
  5071.      * Restituisce l'indicazione se registrare su log le queries
  5072.      *
  5073.      * @return Restituisce indicazione se registrare su log le queries
  5074.      *
  5075.      */
  5076.     private Boolean isTimerGestoreRiscontriRicevuteAbilitatoLog = null;
  5077.     public boolean isTimerGestoreRiscontriRicevuteAbilitatoLog(){
  5078.         if(this.isTimerGestoreRiscontriRicevuteAbilitatoLog==null){
  5079.             try{  
  5080.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.logQuery");

  5081.                 if(value!=null){
  5082.                     value = value.trim();
  5083.                     this.isTimerGestoreRiscontriRicevuteAbilitatoLog = Boolean.parseBoolean(value);
  5084.                 }else{
  5085.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.logQuery' non impostata, viene utilizzato il default=false");
  5086.                     this.isTimerGestoreRiscontriRicevuteAbilitatoLog = false;
  5087.                 }

  5088.             }catch(java.lang.Exception e) {
  5089.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.logQuery', viene utilizzato il default=false, errore:"+e.getMessage(),e);
  5090.                 this.isTimerGestoreRiscontriRicevuteAbilitatoLog = false;
  5091.             }
  5092.         }

  5093.         return this.isTimerGestoreRiscontriRicevuteAbilitatoLog;
  5094.     }
  5095.    
  5096.     /**
  5097.      * Restituisce l'indicazione sul numero di messaggi alla volta processati
  5098.      *
  5099.      * @return Restituisce indicazione sul numero di messaggi alla volta processati
  5100.      *
  5101.      */
  5102.     private Integer getTimerGestoreRiscontriRicevuteLimit = null;
  5103.     public int getTimerGestoreRiscontriRicevuteLimit(){
  5104.         if(this.getTimerGestoreRiscontriRicevuteLimit==null){
  5105.             try{  
  5106.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.query.limit");

  5107.                 if(value!=null){
  5108.                     value = value.trim();
  5109.                     this.getTimerGestoreRiscontriRicevuteLimit = Integer.parseInt(value);
  5110.                 }else{
  5111.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.query.limit' non impostata, viene utilizzato il default="+CostantiPdD.LIMIT_MESSAGGI_GESTORI);
  5112.                     this.getTimerGestoreRiscontriRicevuteLimit = CostantiPdD.LIMIT_MESSAGGI_GESTORI;
  5113.                 }

  5114.             }catch(java.lang.Exception e) {
  5115.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.query.limit', viene utilizzato il default="+CostantiPdD.LIMIT_MESSAGGI_GESTORI+", errore:"+e.getMessage(),e);
  5116.                 this.getTimerGestoreRiscontriRicevuteLimit = CostantiPdD.LIMIT_MESSAGGI_GESTORI;
  5117.             }
  5118.         }

  5119.         return this.getTimerGestoreRiscontriRicevuteLimit;
  5120.     }
  5121.    
  5122.     private Integer getTimerGestoreRiscontriRicevuteLockMaxLife = null;
  5123.     public int getTimerGestoreRiscontriRicevuteLockMaxLife() {  
  5124.         if(this.getTimerGestoreRiscontriRicevuteLockMaxLife==null){
  5125.             try{
  5126.                 String name = null;
  5127.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.lock.maxLife");

  5128.                 if(name!=null){
  5129.                     name = name.trim();
  5130.                     this.getTimerGestoreRiscontriRicevuteLockMaxLife = java.lang.Integer.parseInt(name);
  5131.                 }else{
  5132.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.lock.maxLife' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_MAX_LIFE);
  5133.                     this.getTimerGestoreRiscontriRicevuteLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  5134.                 }
  5135.             }catch(java.lang.Exception e) {
  5136.                 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);
  5137.                 this.getTimerGestoreRiscontriRicevuteLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  5138.             }  
  5139.             if(this.getTimerGestoreRiscontriRicevuteLockMaxLife!=null && this.getTimerGestoreRiscontriRicevuteLockMaxLife>0) {
  5140.                 // trasformo in millisecondi l'informazione fornita in secondi
  5141.                 this.getTimerGestoreRiscontriRicevuteLockMaxLife = this.getTimerGestoreRiscontriRicevuteLockMaxLife *1000;
  5142.             }
  5143.         }

  5144.         if(this.getTimerGestoreRiscontriRicevuteLockMaxLife!=null) {
  5145.             return this.getTimerGestoreRiscontriRicevuteLockMaxLife.intValue();
  5146.         }
  5147.         return -1;
  5148.     }
  5149.    
  5150.     private Integer getTimerGestoreRiscontriRicevuteLockIdleTime = null;
  5151.     public int getTimerGestoreRiscontriRicevuteLockIdleTime() {
  5152.         if(this.getTimerGestoreRiscontriRicevuteLockIdleTime==null){
  5153.             try{
  5154.                 String name = null;
  5155.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.lock.idleTime");

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

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

  5185.                 if(name!=null){
  5186.                     name = name.trim();
  5187.                     long time = java.lang.Long.parseLong(name);
  5188.                     this.getTimerGestoreRiscontriRicevuteGetLockAttesaAttiva = time*1000;
  5189.                 }else{
  5190.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA);
  5191.                     this.getTimerGestoreRiscontriRicevuteGetLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  5192.                 }

  5193.             }catch(java.lang.Exception e) {
  5194.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA+", errore:"+e.getMessage(),e);
  5195.                 this.getTimerGestoreRiscontriRicevuteGetLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  5196.             }    
  5197.         }

  5198.         return this.getTimerGestoreRiscontriRicevuteGetLockAttesaAttiva;
  5199.     }

  5200.     private Integer getTimerGestoreRiscontriRicevuteGetLockCheckInterval = null;
  5201.     public int getTimerGestoreRiscontriRicevuteGetLockCheckInterval() {
  5202.         if(this.getTimerGestoreRiscontriRicevuteGetLockCheckInterval==null){
  5203.             String pName = "org.openspcoop2.pdd.timer.gestoreBusteNonRiscontrate.lock.check";
  5204.             try{
  5205.                 String name = null;
  5206.                 name = this.reader.getValueConvertEnvProperties(pName);

  5207.                 if(name!=null){
  5208.                     name = name.trim();
  5209.                     int time = java.lang.Integer.parseInt(name);
  5210.                     this.getTimerGestoreRiscontriRicevuteGetLockCheckInterval = time;
  5211.                 }else{
  5212.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL);
  5213.                     this.getTimerGestoreRiscontriRicevuteGetLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  5214.                 }
  5215.             }catch(java.lang.Exception e) {
  5216.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL+", errore:"+e.getMessage(),e);
  5217.                 this.getTimerGestoreRiscontriRicevuteGetLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  5218.             }  
  5219.         }

  5220.         return this.getTimerGestoreRiscontriRicevuteGetLockCheckInterval;
  5221.     }
  5222.    
  5223.    
  5224.    
  5225.    
  5226.     // GestoreMessaggi
  5227.    
  5228.     /**
  5229.      * Restituisce l'indicazione se avviare il timer
  5230.      *
  5231.      * @return Restituisce indicazione se avviare il timer
  5232.      *
  5233.      */
  5234.     private Boolean isTimerGestoreMessaggiAbilitato = null;
  5235.     public boolean isTimerGestoreMessaggiAbilitato(){
  5236.         if(this.isTimerGestoreMessaggiAbilitato==null){
  5237.             try{  
  5238.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreMessaggi.enable");

  5239.                 if(value!=null){
  5240.                     value = value.trim();
  5241.                     this.isTimerGestoreMessaggiAbilitato = Boolean.parseBoolean(value);
  5242.                 }else{
  5243.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.enable' non impostata, viene utilizzato il default=true");
  5244.                     this.isTimerGestoreMessaggiAbilitato = true;
  5245.                 }

  5246.             }catch(java.lang.Exception e) {
  5247.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.enable', viene utilizzato il default=true, errore:"+e.getMessage(),e);
  5248.                 this.isTimerGestoreMessaggiAbilitato = true;
  5249.             }
  5250.         }

  5251.         return this.isTimerGestoreMessaggiAbilitato;
  5252.     }
  5253.    
  5254.     private Boolean isTimerGestoreMessaggiPuliziaMessaggiEliminatiAbilitata = null;
  5255.     public boolean isTimerGestoreMessaggiPuliziaMessaggiEliminatiAbilitata(){
  5256.         if(this.isTimerGestoreMessaggiPuliziaMessaggiEliminatiAbilitata==null){
  5257.             try{  
  5258.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreMessaggi.puliziaMessaggiEliminati.enable");

  5259.                 if(value!=null){
  5260.                     value = value.trim();
  5261.                     this.isTimerGestoreMessaggiPuliziaMessaggiEliminatiAbilitata = Boolean.parseBoolean(value);
  5262.                 }else{
  5263.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.puliziaMessaggiEliminati.enable' non impostata, viene utilizzato il default=true");
  5264.                     this.isTimerGestoreMessaggiPuliziaMessaggiEliminatiAbilitata = true;
  5265.                 }

  5266.             }catch(java.lang.Exception e) {
  5267.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.puliziaMessaggiEliminati.enable', viene utilizzato il default=true, errore:"+e.getMessage(),e);
  5268.                 this.isTimerGestoreMessaggiPuliziaMessaggiEliminatiAbilitata = true;
  5269.             }
  5270.         }

  5271.         return this.isTimerGestoreMessaggiPuliziaMessaggiEliminatiAbilitata;
  5272.     }
  5273.    
  5274.     private Boolean isTimerGestoreMessaggiPuliziaMessaggiScadutiAbilitata = null;
  5275.     public boolean isTimerGestoreMessaggiPuliziaMessaggiScadutiAbilitata(){
  5276.         if(this.isTimerGestoreMessaggiPuliziaMessaggiScadutiAbilitata==null){
  5277.             try{  
  5278.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreMessaggi.puliziaMessaggiScaduti.enable");

  5279.                 if(value!=null){
  5280.                     value = value.trim();
  5281.                     this.isTimerGestoreMessaggiPuliziaMessaggiScadutiAbilitata = Boolean.parseBoolean(value);
  5282.                 }else{
  5283.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.puliziaMessaggiScaduti.enable' non impostata, viene utilizzato il default=true");
  5284.                     this.isTimerGestoreMessaggiPuliziaMessaggiScadutiAbilitata = true;
  5285.                 }

  5286.             }catch(java.lang.Exception e) {
  5287.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.puliziaMessaggiScaduti.enable', viene utilizzato il default=true, errore:"+e.getMessage(),e);
  5288.                 this.isTimerGestoreMessaggiPuliziaMessaggiScadutiAbilitata = true;
  5289.             }
  5290.         }

  5291.         return this.isTimerGestoreMessaggiPuliziaMessaggiScadutiAbilitata;
  5292.     }
  5293.    
  5294.     private Boolean isTimerGestoreMessaggiPuliziaMessaggiNonGestitiAbilitata = null;
  5295.     public boolean isTimerGestoreMessaggiPuliziaMessaggiNonGestitiAbilitata(){
  5296.         if(this.isTimerGestoreMessaggiPuliziaMessaggiNonGestitiAbilitata==null){
  5297.             try{  
  5298.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreMessaggi.puliziaMessaggiNonGestiti.enable");

  5299.                 if(value!=null){
  5300.                     value = value.trim();
  5301.                     this.isTimerGestoreMessaggiPuliziaMessaggiNonGestitiAbilitata = Boolean.parseBoolean(value);
  5302.                 }else{
  5303.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.puliziaMessaggiNonGestiti.enable' non impostata, viene utilizzato il default=true");
  5304.                     this.isTimerGestoreMessaggiPuliziaMessaggiNonGestitiAbilitata = true;
  5305.                 }

  5306.             }catch(java.lang.Exception e) {
  5307.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.puliziaMessaggiNonGestiti.enable', viene utilizzato il default=true, errore:"+e.getMessage(),e);
  5308.                 this.isTimerGestoreMessaggiPuliziaMessaggiNonGestitiAbilitata = true;
  5309.             }
  5310.         }

  5311.         return this.isTimerGestoreMessaggiPuliziaMessaggiNonGestitiAbilitata;
  5312.     }
  5313.    
  5314.     private Boolean isTimerGestoreMessaggiPuliziaCorrelazioneApplicativaAbilitata = null;
  5315.     public boolean isTimerGestoreMessaggiPuliziaCorrelazioneApplicativaAbilitata(){
  5316.         if(this.isTimerGestoreMessaggiPuliziaCorrelazioneApplicativaAbilitata==null){
  5317.             try{  
  5318.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreMessaggi.puliziaCorrelazioneApplicativa.enable");

  5319.                 if(value!=null){
  5320.                     value = value.trim();
  5321.                     this.isTimerGestoreMessaggiPuliziaCorrelazioneApplicativaAbilitata = Boolean.parseBoolean(value);
  5322.                 }else{
  5323.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.puliziaCorrelazioneApplicativa.enable' non impostata, viene utilizzato il default=true");
  5324.                     this.isTimerGestoreMessaggiPuliziaCorrelazioneApplicativaAbilitata = true;
  5325.                 }

  5326.             }catch(java.lang.Exception e) {
  5327.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.puliziaCorrelazioneApplicativa.enable', viene utilizzato il default=true, errore:"+e.getMessage(),e);
  5328.                 this.isTimerGestoreMessaggiPuliziaCorrelazioneApplicativaAbilitata = true;
  5329.             }
  5330.         }

  5331.         return this.isTimerGestoreMessaggiPuliziaCorrelazioneApplicativaAbilitata;
  5332.     }
  5333.    
  5334.     /**
  5335.      * Restituisce l'indicazione se usare l'order by nelle queries
  5336.      *
  5337.      * @return Restituisce indicazione se usare l'order by nelle queries
  5338.      *
  5339.      */
  5340.     private Boolean isTimerGestoreMessaggiAbilitatoOrderBy = null;
  5341.     public boolean isTimerGestoreMessaggiAbilitatoOrderBy(){
  5342.         if(this.isTimerGestoreMessaggiAbilitatoOrderBy==null){
  5343.             try{  
  5344.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreMessaggi.orderBy");

  5345.                 if(value!=null){
  5346.                     value = value.trim();
  5347.                     this.isTimerGestoreMessaggiAbilitatoOrderBy = Boolean.parseBoolean(value);
  5348.                 }else{
  5349.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.orderBy' non impostata, viene utilizzato il default=false");
  5350.                     this.isTimerGestoreMessaggiAbilitatoOrderBy = false;
  5351.                 }

  5352.             }catch(java.lang.Exception e) {
  5353.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.orderBy', viene utilizzato il default=false, errore:"+e.getMessage(),e);
  5354.                 this.isTimerGestoreMessaggiAbilitatoOrderBy = false;
  5355.             }
  5356.         }

  5357.         return this.isTimerGestoreMessaggiAbilitatoOrderBy;
  5358.     }
  5359.    
  5360.     /**
  5361.      * Restituisce l'indicazione se registrare su log le queries
  5362.      *
  5363.      * @return Restituisce indicazione se registrare su log le queries
  5364.      *
  5365.      */
  5366.     private Boolean isTimerGestoreMessaggiAbilitatoLog = null;
  5367.     public boolean isTimerGestoreMessaggiAbilitatoLog(){
  5368.         if(this.isTimerGestoreMessaggiAbilitatoLog==null){
  5369.             try{  
  5370.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreMessaggi.logQuery");

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

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

  5383.         return this.isTimerGestoreMessaggiAbilitatoLog;
  5384.     }
  5385.    
  5386.     /**
  5387.      * Restituisce l'indicazione sul numero di messaggi alla volta processati
  5388.      *
  5389.      * @return Restituisce indicazione sul numero di messaggi alla volta processati
  5390.      *
  5391.      */
  5392.     private Integer getTimerGestoreMessaggiLimit = null;
  5393.     public int getTimerGestoreMessaggiLimit(){
  5394.         if(this.getTimerGestoreMessaggiLimit==null){
  5395.             try{  
  5396.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreMessaggi.query.limit");

  5397.                 if(value!=null){
  5398.                     value = value.trim();
  5399.                     this.getTimerGestoreMessaggiLimit = Integer.parseInt(value);
  5400.                 }else{
  5401.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.query.limit' non impostata, viene utilizzato il default="+CostantiPdD.LIMIT_MESSAGGI_GESTORI);
  5402.                     this.getTimerGestoreMessaggiLimit = CostantiPdD.LIMIT_MESSAGGI_GESTORI;
  5403.                 }

  5404.             }catch(java.lang.Exception e) {
  5405.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.query.limit', viene utilizzato il default="+CostantiPdD.LIMIT_MESSAGGI_GESTORI+", errore:"+e.getMessage(),e);
  5406.                 this.getTimerGestoreMessaggiLimit = CostantiPdD.LIMIT_MESSAGGI_GESTORI;
  5407.             }
  5408.         }

  5409.         return this.getTimerGestoreMessaggiLimit;
  5410.     }
  5411.    
  5412.     /**
  5413.      * Restituisce l'indicazione se devono essere verificate anche le connessioni rimaste attive
  5414.      *
  5415.      * @return Restituisce indicazione se devono essere verificate anche le connessioni rimaste attive
  5416.      *
  5417.      */
  5418.     private Boolean isTimerGestoreMessaggiVerificaConnessioniAttive = null;
  5419.     public boolean isTimerGestoreMessaggiVerificaConnessioniAttive(){
  5420.         if(this.isTimerGestoreMessaggiVerificaConnessioniAttive==null){
  5421.             try{  
  5422.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreMessaggi.verificaConnessioniAttive");

  5423.                 if(value!=null){
  5424.                     value = value.trim();
  5425.                     this.isTimerGestoreMessaggiVerificaConnessioniAttive = Boolean.parseBoolean(value);
  5426.                 }else{
  5427.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.verificaConnessioniAttive' non impostata, viene utilizzato il default=false");
  5428.                     this.isTimerGestoreMessaggiVerificaConnessioniAttive = false;
  5429.                 }

  5430.             }catch(java.lang.Exception e) {
  5431.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.verificaConnessioniAttive', viene utilizzato il default=false, errore:"+e.getMessage(),e);
  5432.                 this.isTimerGestoreMessaggiVerificaConnessioniAttive = false;
  5433.             }
  5434.         }

  5435.         return this.isTimerGestoreMessaggiVerificaConnessioniAttive;
  5436.     }
  5437.        
  5438.     private Integer getTimerGestoreMessaggiLockMaxLife = null;
  5439.     public int getTimerGestoreMessaggiLockMaxLife() {  
  5440.         if(this.getTimerGestoreMessaggiLockMaxLife==null){
  5441.             try{
  5442.                 String name = null;
  5443.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreMessaggi.lock.maxLife");

  5444.                 if(name!=null){
  5445.                     name = name.trim();
  5446.                     this.getTimerGestoreMessaggiLockMaxLife = java.lang.Integer.parseInt(name);
  5447.                 }else{
  5448.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreMessaggi.lock.maxLife' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_MAX_LIFE);
  5449.                     this.getTimerGestoreMessaggiLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  5450.                 }
  5451.             }catch(java.lang.Exception e) {
  5452.                 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);
  5453.                 this.getTimerGestoreMessaggiLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  5454.             }
  5455.             if(this.getTimerGestoreMessaggiLockMaxLife!=null && this.getTimerGestoreMessaggiLockMaxLife>0) {
  5456.                 // trasformo in millisecondi l'informazione fornita in secondi
  5457.                 this.getTimerGestoreMessaggiLockMaxLife = this.getTimerGestoreMessaggiLockMaxLife *1000;
  5458.             }
  5459.         }

  5460.         if(this.getTimerGestoreMessaggiLockMaxLife!=null) {
  5461.             return this.getTimerGestoreMessaggiLockMaxLife.intValue();
  5462.         }
  5463.         return -1;
  5464.     }
  5465.    
  5466.     private Integer getTimerGestoreMessaggiLockIdleTime = null;
  5467.     public int getTimerGestoreMessaggiLockIdleTime() {  
  5468.         if(this.getTimerGestoreMessaggiLockIdleTime==null){
  5469.             try{
  5470.                 String name = null;
  5471.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreMessaggi.lock.idleTime");

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

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

  5501.                 if(name!=null){
  5502.                     name = name.trim();
  5503.                     long time = java.lang.Long.parseLong(name);
  5504.                     this.getTimerGestoreMessaggi_getLockAttesaAttiva = time*1000;
  5505.                 }else{
  5506.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA);
  5507.                     this.getTimerGestoreMessaggi_getLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  5508.                 }

  5509.             }catch(java.lang.Exception e) {
  5510.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA+", errore:"+e.getMessage(),e);
  5511.                 this.getTimerGestoreMessaggi_getLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  5512.             }    
  5513.         }

  5514.         return this.getTimerGestoreMessaggi_getLockAttesaAttiva;
  5515.     }

  5516.     private Integer getTimerGestoreMessaggi_getLockCheckInterval = null;
  5517.     public int getTimerGestoreMessaggi_getLockCheckInterval() {
  5518.         if(this.getTimerGestoreMessaggi_getLockCheckInterval==null){
  5519.             String pName = "org.openspcoop2.pdd.timer.gestoreMessaggi.lock.check";
  5520.             try{
  5521.                 String name = null;
  5522.                 name = this.reader.getValueConvertEnvProperties(pName);

  5523.                 if(name!=null){
  5524.                     name = name.trim();
  5525.                     int time = java.lang.Integer.parseInt(name);
  5526.                     this.getTimerGestoreMessaggi_getLockCheckInterval = time;
  5527.                 }else{
  5528.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL);
  5529.                     this.getTimerGestoreMessaggi_getLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  5530.                 }
  5531.             }catch(java.lang.Exception e) {
  5532.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL+", errore:"+e.getMessage(),e);
  5533.                 this.getTimerGestoreMessaggi_getLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  5534.             }  
  5535.         }

  5536.         return this.getTimerGestoreMessaggi_getLockCheckInterval;
  5537.     }
  5538.    
  5539.    
  5540.    
  5541.    
  5542.     // GestorePuliziaMessaggiAnomali
  5543.    
  5544.     /**
  5545.      * Restituisce l'indicazione se avviare il timer
  5546.      *
  5547.      * @return Restituisce indicazione se avviare il timer
  5548.      *
  5549.      */
  5550.     private Boolean isTimerGestorePuliziaMessaggiAnomaliAbilitato = null;
  5551.     public boolean isTimerGestorePuliziaMessaggiAnomaliAbilitato(){
  5552.         if(this.isTimerGestorePuliziaMessaggiAnomaliAbilitato==null){
  5553.             try{  
  5554.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.enable");
  5555.                 if(value!=null){
  5556.                     value = value.trim();
  5557.                     this.isTimerGestorePuliziaMessaggiAnomaliAbilitato = Boolean.parseBoolean(value);
  5558.                 }else{
  5559.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.enable' non impostata, viene utilizzato il default=true");
  5560.                     this.isTimerGestorePuliziaMessaggiAnomaliAbilitato = true;
  5561.                 }

  5562.             }catch(java.lang.Exception e) {
  5563.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.enable', viene utilizzato il default=true, errore:"+e.getMessage(),e);
  5564.                 this.isTimerGestorePuliziaMessaggiAnomaliAbilitato = true;
  5565.             }
  5566.         }

  5567.         return this.isTimerGestorePuliziaMessaggiAnomaliAbilitato;
  5568.     }
  5569.    
  5570.     /**
  5571.      * Restituisce l'indicazione se usare l'order by nelle queries
  5572.      *
  5573.      * @return Restituisce indicazione se usare l'order by nelle queries
  5574.      *
  5575.      */
  5576.     private Boolean isTimerGestorePuliziaMessaggiAnomaliAbilitatoOrderBy = null;
  5577.     public boolean isTimerGestorePuliziaMessaggiAnomaliAbilitatoOrderBy(){
  5578.         if(this.isTimerGestorePuliziaMessaggiAnomaliAbilitatoOrderBy==null){
  5579.             try{  
  5580.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.orderBy");
  5581.                 if(value!=null){
  5582.                     value = value.trim();
  5583.                     this.isTimerGestorePuliziaMessaggiAnomaliAbilitatoOrderBy = Boolean.parseBoolean(value);
  5584.                 }else{
  5585.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.orderBy' non impostata, viene utilizzato il default=false");
  5586.                     this.isTimerGestorePuliziaMessaggiAnomaliAbilitatoOrderBy = false;
  5587.                 }

  5588.             }catch(java.lang.Exception e) {
  5589.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.orderBy', viene utilizzato il default=false, errore:"+e.getMessage(),e);
  5590.                 this.isTimerGestorePuliziaMessaggiAnomaliAbilitatoOrderBy = false;
  5591.             }
  5592.         }

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

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

  5619.         return this.isTimerGestorePuliziaMessaggiAnomaliAbilitatoLog;
  5620.     }

  5621.     /**
  5622.      * Restituisce l'indicazione sul numero di messaggi alla volta processati
  5623.      *
  5624.      * @return Restituisce indicazione sul numero di messaggi alla volta processati
  5625.      *
  5626.      */
  5627.     private Integer getTimerGestorePuliziaMessaggiAnomaliLimit = null;
  5628.     public int getTimerGestorePuliziaMessaggiAnomaliLimit(){
  5629.         if(this.getTimerGestorePuliziaMessaggiAnomaliLimit==null){
  5630.             try{  
  5631.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.query.limit");

  5632.                 if(value!=null){
  5633.                     value = value.trim();
  5634.                     this.getTimerGestorePuliziaMessaggiAnomaliLimit = Integer.parseInt(value);
  5635.                 }else{
  5636.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.query.limit' non impostata, viene utilizzato il default="+CostantiPdD.LIMIT_MESSAGGI_GESTORI);
  5637.                     this.getTimerGestorePuliziaMessaggiAnomaliLimit = CostantiPdD.LIMIT_MESSAGGI_GESTORI;
  5638.                 }

  5639.             }catch(java.lang.Exception e) {
  5640.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.query.limit', viene utilizzato il default="+CostantiPdD.LIMIT_MESSAGGI_GESTORI+", errore:"+e.getMessage(),e);
  5641.                 this.getTimerGestorePuliziaMessaggiAnomaliLimit = CostantiPdD.LIMIT_MESSAGGI_GESTORI;
  5642.             }
  5643.         }

  5644.         return this.getTimerGestorePuliziaMessaggiAnomaliLimit;
  5645.     }
  5646.    
  5647.     private Integer getTimerGestorePuliziaMessaggiAnomaliLockMaxLife = null;
  5648.     public int getTimerGestorePuliziaMessaggiAnomaliLockMaxLife() {
  5649.         if(this.getTimerGestorePuliziaMessaggiAnomaliLockMaxLife==null){
  5650.             try{
  5651.                 String name = null;
  5652.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.lock.maxLife");

  5653.                 if(name!=null){
  5654.                     name = name.trim();
  5655.                     this.getTimerGestorePuliziaMessaggiAnomaliLockMaxLife = java.lang.Integer.parseInt(name);
  5656.                 }else{
  5657.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.lock.maxLife' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_MAX_LIFE);
  5658.                     this.getTimerGestorePuliziaMessaggiAnomaliLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  5659.                 }
  5660.             }catch(java.lang.Exception e) {
  5661.                 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);
  5662.                 this.getTimerGestorePuliziaMessaggiAnomaliLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  5663.             }  
  5664.             if(this.getTimerGestorePuliziaMessaggiAnomaliLockMaxLife!=null && this.getTimerGestorePuliziaMessaggiAnomaliLockMaxLife>0) {
  5665.                 // trasformo in millisecondi l'informazione fornita in secondi
  5666.                 this.getTimerGestorePuliziaMessaggiAnomaliLockMaxLife = this.getTimerGestorePuliziaMessaggiAnomaliLockMaxLife *1000;
  5667.             }
  5668.         }

  5669.         if(this.getTimerGestorePuliziaMessaggiAnomaliLockMaxLife!=null) {
  5670.             return this.getTimerGestorePuliziaMessaggiAnomaliLockMaxLife.intValue();
  5671.         }
  5672.         return -1;
  5673.     }
  5674.    
  5675.     private Integer getTimerGestorePuliziaMessaggiAnomaliLockIdleTime = null;
  5676.     public int getTimerGestorePuliziaMessaggiAnomaliLockIdleTime() {    
  5677.         if(this.getTimerGestorePuliziaMessaggiAnomaliLockIdleTime==null){
  5678.             try{
  5679.                 String name = null;
  5680.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.lock.idleTime");

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

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

  5710.                 if(name!=null){
  5711.                     name = name.trim();
  5712.                     long time = java.lang.Long.parseLong(name);
  5713.                     this.getTimerGestorePuliziaMessaggiAnomali_getLockAttesaAttiva = time*1000;
  5714.                 }else{
  5715.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA);
  5716.                     this.getTimerGestorePuliziaMessaggiAnomali_getLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  5717.                 }

  5718.             }catch(java.lang.Exception e) {
  5719.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA+", errore:"+e.getMessage(),e);
  5720.                 this.getTimerGestorePuliziaMessaggiAnomali_getLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  5721.             }    
  5722.         }

  5723.         return this.getTimerGestorePuliziaMessaggiAnomali_getLockAttesaAttiva;
  5724.     }

  5725.     private Integer getTimerGestorePuliziaMessaggiAnomali_getLockCheckInterval = null;
  5726.     public int getTimerGestorePuliziaMessaggiAnomali_getLockCheckInterval() {  
  5727.         if(this.getTimerGestorePuliziaMessaggiAnomali_getLockCheckInterval==null){
  5728.             String pName = "org.openspcoop2.pdd.timer.gestorePuliziaMessaggiAnomali.lock.check";
  5729.             try{
  5730.                 String name = null;
  5731.                 name = this.reader.getValueConvertEnvProperties(pName);

  5732.                 if(name!=null){
  5733.                     name = name.trim();
  5734.                     int time = java.lang.Integer.parseInt(name);
  5735.                     this.getTimerGestorePuliziaMessaggiAnomali_getLockCheckInterval = time;
  5736.                 }else{
  5737.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL);
  5738.                     this.getTimerGestorePuliziaMessaggiAnomali_getLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  5739.                 }
  5740.             }catch(java.lang.Exception e) {
  5741.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL+", errore:"+e.getMessage(),e);
  5742.                 this.getTimerGestorePuliziaMessaggiAnomali_getLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  5743.             }  
  5744.         }

  5745.         return this.getTimerGestorePuliziaMessaggiAnomali_getLockCheckInterval;
  5746.     }
  5747.    
  5748.    
  5749.    
  5750.     // GestoreBuste
  5751.    
  5752.     /**
  5753.      * Restituisce l'indicazione se avviare il timer
  5754.      *
  5755.      * @return Restituisce indicazione se avviare il timer
  5756.      *
  5757.      */
  5758.     private Boolean isTimerGestoreRepositoryBusteAbilitato = null;
  5759.     public boolean isTimerGestoreRepositoryBusteAbilitato(){
  5760.         if(this.isTimerGestoreRepositoryBusteAbilitato==null){
  5761.             try{  
  5762.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreRepositoryBuste.enable");

  5763.                 if(value!=null){
  5764.                     value = value.trim();
  5765.                     this.isTimerGestoreRepositoryBusteAbilitato = Boolean.parseBoolean(value);
  5766.                 }else{
  5767.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreRepositoryBuste.enable' non impostata, viene utilizzato il default=true");
  5768.                     this.isTimerGestoreRepositoryBusteAbilitato = true;
  5769.                 }

  5770.             }catch(java.lang.Exception e) {
  5771.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreRepositoryBuste.enable', viene utilizzato il default=true, errore:"+e.getMessage(),e);
  5772.                 this.isTimerGestoreRepositoryBusteAbilitato = true;
  5773.             }
  5774.         }

  5775.         return this.isTimerGestoreRepositoryBusteAbilitato;
  5776.     }
  5777.     private Boolean isTimerGestoreRepositoryBusteAbilitatoInitialState = null;
  5778.     public boolean isTimerGestoreRepositoryBusteAbilitatoInitialState(){
  5779.         if(this.isTimerGestoreRepositoryBusteAbilitatoInitialState==null){
  5780.             try{  
  5781.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreRepositoryBuste.statoIniziale.enable");

  5782.                 if(value!=null){
  5783.                     value = value.trim();
  5784.                     this.isTimerGestoreRepositoryBusteAbilitatoInitialState = Boolean.parseBoolean(value);
  5785.                 }else{
  5786.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreRepositoryBuste.statoIniziale.enable' non impostata, viene utilizzato il default=true");
  5787.                     this.isTimerGestoreRepositoryBusteAbilitatoInitialState = true;
  5788.                 }

  5789.             }catch(java.lang.Exception e) {
  5790.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreRepositoryBuste.statoIniziale.enable', viene utilizzato il default=true, errore:"+e.getMessage(),e);
  5791.                 this.isTimerGestoreRepositoryBusteAbilitatoInitialState = true;
  5792.             }
  5793.         }

  5794.         return this.isTimerGestoreRepositoryBusteAbilitatoInitialState;
  5795.     }

  5796.     /**
  5797.      * Restituisce l'indicazione se usare l'order by nelle queries
  5798.      *
  5799.      * @return Restituisce indicazione se usare l'order by nelle queries
  5800.      *
  5801.      */
  5802.     private Boolean isTimerGestoreRepositoryBusteAbilitatoOrderBy = null;
  5803.     public boolean isTimerGestoreRepositoryBusteAbilitatoOrderBy(){
  5804.         if(this.isTimerGestoreRepositoryBusteAbilitatoOrderBy==null){
  5805.             try{  
  5806.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreRepositoryBuste.orderBy");

  5807.                 if(value!=null){
  5808.                     value = value.trim();
  5809.                     this.isTimerGestoreRepositoryBusteAbilitatoOrderBy = Boolean.parseBoolean(value);
  5810.                 }else{
  5811.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreRepositoryBuste.orderBy' non impostata, viene utilizzato il default=false");
  5812.                     this.isTimerGestoreRepositoryBusteAbilitatoOrderBy = false;
  5813.                 }

  5814.             }catch(java.lang.Exception e) {
  5815.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreRepositoryBuste.orderBy', viene utilizzato il default=false, errore:"+e.getMessage(),e);
  5816.                 this.isTimerGestoreRepositoryBusteAbilitatoOrderBy = false;
  5817.             }
  5818.         }

  5819.         return this.isTimerGestoreRepositoryBusteAbilitatoOrderBy;
  5820.     }
  5821.    
  5822.     /**
  5823.      * Restituisce l'indicazione se registrare su log le queries
  5824.      *
  5825.      * @return Restituisce indicazione se registrare su log le queries
  5826.      *
  5827.      */
  5828.     private Boolean isTimerGestoreRepositoryBusteAbilitatoLog = null;
  5829.     public boolean isTimerGestoreRepositoryBusteAbilitatoLog(){
  5830.         if(this.isTimerGestoreRepositoryBusteAbilitatoLog==null){
  5831.             try{  
  5832.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreRepositoryBuste.logQuery");

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

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

  5845.         return this.isTimerGestoreRepositoryBusteAbilitatoLog;
  5846.     }
  5847.    
  5848.     /**
  5849.      * Restituisce l'indicazione sul numero di messaggi alla volta processati
  5850.      *
  5851.      * @return Restituisce indicazione sul numero di messaggi alla volta processati
  5852.      *
  5853.      */
  5854.     private Integer getTimerGestoreRepositoryBusteLimit = null;
  5855.     public int getTimerGestoreRepositoryBusteLimit(){
  5856.         if(this.getTimerGestoreRepositoryBusteLimit==null){
  5857.             try{  
  5858.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreRepositoryBuste.query.limit");

  5859.                 if(value!=null){
  5860.                     value = value.trim();
  5861.                     this.getTimerGestoreRepositoryBusteLimit = Integer.parseInt(value);
  5862.                 }else{
  5863.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreRepositoryBuste.query.limit' non impostata, viene utilizzato il default="+CostantiPdD.LIMIT_MESSAGGI_GESTORI);
  5864.                     this.getTimerGestoreRepositoryBusteLimit = CostantiPdD.LIMIT_MESSAGGI_GESTORI;
  5865.                 }

  5866.             }catch(java.lang.Exception e) {
  5867.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreRepositoryBuste.query.limit', viene utilizzato il default="+CostantiPdD.LIMIT_MESSAGGI_GESTORI+", errore:"+e.getMessage(),e);
  5868.                 this.getTimerGestoreRepositoryBusteLimit = CostantiPdD.LIMIT_MESSAGGI_GESTORI;
  5869.             }
  5870.         }

  5871.         return this.getTimerGestoreRepositoryBusteLimit;
  5872.     }
  5873.    
  5874.     private Integer getTimerGestoreRepositoryBusteLockMaxLife = null;
  5875.     public int getTimerGestoreRepositoryBusteLockMaxLife() {    
  5876.         if(this.getTimerGestoreRepositoryBusteLockMaxLife==null){
  5877.             try{
  5878.                 String name = null;
  5879.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreRepositoryBuste.lock.maxLife");

  5880.                 if(name!=null){
  5881.                     name = name.trim();
  5882.                     this.getTimerGestoreRepositoryBusteLockMaxLife = java.lang.Integer.parseInt(name);
  5883.                 }else{
  5884.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.gestoreRepositoryBuste.lock.maxLife' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_MAX_LIFE);
  5885.                     this.getTimerGestoreRepositoryBusteLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  5886.                 }
  5887.             }catch(java.lang.Exception e) {
  5888.                 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);
  5889.                 this.getTimerGestoreRepositoryBusteLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  5890.             }
  5891.             if(this.getTimerGestoreRepositoryBusteLockMaxLife!=null && this.getTimerGestoreRepositoryBusteLockMaxLife>0) {
  5892.                 // trasformo in millisecondi l'informazione fornita in secondi
  5893.                 this.getTimerGestoreRepositoryBusteLockMaxLife = this.getTimerGestoreRepositoryBusteLockMaxLife *1000;
  5894.             }
  5895.         }

  5896.         if(this.getTimerGestoreRepositoryBusteLockMaxLife!=null) {
  5897.             return this.getTimerGestoreRepositoryBusteLockMaxLife.intValue();
  5898.         }
  5899.         return -1;
  5900.     }
  5901.    
  5902.     private Integer getTimerGestoreRepositoryBusteLockIdleTime = null;
  5903.     public int getTimerGestoreRepositoryBusteLockIdleTime() {  
  5904.         if(this.getTimerGestoreRepositoryBusteLockIdleTime==null){
  5905.             try{
  5906.                 String name = null;
  5907.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.gestoreRepositoryBuste.lock.idleTime");

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

  5924.         if(this.getTimerGestoreRepositoryBusteLockIdleTime!=null) {
  5925.             return this.getTimerGestoreRepositoryBusteLockIdleTime.intValue();
  5926.         }
  5927.         return -1;
  5928.     }

  5929.     private Long getTimerGestoreRepositoryBuste_getLockAttesaAttiva = null;
  5930.     public long getTimerGestoreRepositoryBuste_getLockAttesaAttiva() {  
  5931.         if(this.getTimerGestoreRepositoryBuste_getLockAttesaAttiva==null){
  5932.             String pName = "org.openspcoop2.pdd.timer.gestoreRepositoryBuste.lock.attesaAttiva";
  5933.             try{
  5934.                 String name = null;
  5935.                 name = this.reader.getValueConvertEnvProperties(pName);

  5936.                 if(name!=null){
  5937.                     name = name.trim();
  5938.                     long time = java.lang.Long.parseLong(name);
  5939.                     this.getTimerGestoreRepositoryBuste_getLockAttesaAttiva = time*1000;
  5940.                 }else{
  5941.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA);
  5942.                     this.getTimerGestoreRepositoryBuste_getLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  5943.                 }

  5944.             }catch(java.lang.Exception e) {
  5945.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA+", errore:"+e.getMessage(),e);
  5946.                 this.getTimerGestoreRepositoryBuste_getLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  5947.             }    
  5948.         }

  5949.         return this.getTimerGestoreRepositoryBuste_getLockAttesaAttiva;
  5950.     }

  5951.     private Integer getTimerGestoreRepositoryBuste_getLockCheckInterval = null;
  5952.     public int getTimerGestoreRepositoryBuste_getLockCheckInterval() {  
  5953.         if(this.getTimerGestoreRepositoryBuste_getLockCheckInterval==null){
  5954.             String pName = "org.openspcoop2.pdd.timer.gestoreRepositoryBuste.lock.check";
  5955.             try{
  5956.                 String name = null;
  5957.                 name = this.reader.getValueConvertEnvProperties(pName);

  5958.                 if(name!=null){
  5959.                     name = name.trim();
  5960.                     int time = java.lang.Integer.parseInt(name);
  5961.                     this.getTimerGestoreRepositoryBuste_getLockCheckInterval = time;
  5962.                 }else{
  5963.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL);
  5964.                     this.getTimerGestoreRepositoryBuste_getLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  5965.                 }
  5966.             }catch(java.lang.Exception e) {
  5967.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL+", errore:"+e.getMessage(),e);
  5968.                 this.getTimerGestoreRepositoryBuste_getLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  5969.             }  
  5970.         }

  5971.         return this.getTimerGestoreRepositoryBuste_getLockCheckInterval;
  5972.     }
  5973.    


  5974.    
  5975.    
  5976.     // Gestore ConsegnaContenutiApplicativi
  5977.    
  5978.     /**
  5979.      * Restituisce l'indicazione se avviare il timer
  5980.      *
  5981.      * @return Restituisce indicazione se avviare il timer
  5982.      *
  5983.      */
  5984.     private Boolean isTimerConsegnaContenutiApplicativiAbilitato = null;
  5985.     public boolean isTimerConsegnaContenutiApplicativiAbilitato(){
  5986.        
  5987.         if(this.isTimerConsegnaContenutiApplicativiAbilitato==null){
  5988.             if(this.isServerJ2EE()!=null && this.isServerJ2EE().booleanValue()){
  5989.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.enable' disabilitata poiche' il prodotto e' configurato in modalita' server j2ee");
  5990.                 this.isTimerConsegnaContenutiApplicativiAbilitato = false;
  5991.             }
  5992.             else{          
  5993.                 try{  
  5994.                     String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.enable");
  5995.                     if(value!=null){
  5996.                         value = value.trim();
  5997.                         this.isTimerConsegnaContenutiApplicativiAbilitato = Boolean.parseBoolean(value);
  5998.                     }else{
  5999.                         this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.enable' non impostata, viene utilizzato il default=true");
  6000.                         this.isTimerConsegnaContenutiApplicativiAbilitato = true;
  6001.                     }
  6002.    
  6003.                 }catch(java.lang.Exception e) {
  6004.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.enable', viene utilizzato il default=true, errore:"+e.getMessage(),e);
  6005.                     this.isTimerConsegnaContenutiApplicativiAbilitato = true;
  6006.                 }
  6007.             }

  6008.         }
  6009.        
  6010.         return this.isTimerConsegnaContenutiApplicativiAbilitato;
  6011.     }
  6012.    
  6013.     private Boolean isTimerConsegnaContenutiApplicativiSchedulingDebug = null;
  6014.     public boolean isTimerConsegnaContenutiApplicativiSchedulingDebug(){
  6015.        
  6016.         String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.scheduling.debug";
  6017.         if(this.isTimerConsegnaContenutiApplicativiSchedulingDebug==null){
  6018.             if(this.isServerJ2EE()!=null && this.isServerJ2EE().booleanValue()){
  6019.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' disabilitata poiche' il prodotto e' configurato in modalita' server j2ee");
  6020.                 this.isTimerConsegnaContenutiApplicativiSchedulingDebug = false;
  6021.             }
  6022.             else{          
  6023.                 try{  
  6024.                     String value = this.reader.getValueConvertEnvProperties(pName);
  6025.                     if(value!=null){
  6026.                         value = value.trim();
  6027.                         this.isTimerConsegnaContenutiApplicativiSchedulingDebug = Boolean.parseBoolean(value);
  6028.                     }else{
  6029.                         this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  6030.                         this.isTimerConsegnaContenutiApplicativiSchedulingDebug = true;
  6031.                     }
  6032.    
  6033.                 }catch(java.lang.Exception e) {
  6034.                     this.logWarn("Proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true, errore:"+e.getMessage(),e);
  6035.                     this.isTimerConsegnaContenutiApplicativiSchedulingDebug = true;
  6036.                 }
  6037.             }

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

  6068.         }
  6069.        
  6070.         return this.isTimerConsegnaContenutiApplicativiSchedulingCheckEliminazioneLogica;
  6071.     }
  6072.    
  6073.     private Boolean isTimerConsegnaContenutiApplicativiSchedulingCheckPassaggioOraLegaleVersoOraSolare = null;
  6074.     public boolean isTimerConsegnaContenutiApplicativiSchedulingCheckPassaggioOraLegaleVersoOraSolare(){
  6075.        
  6076.         String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.scheduling.checkPassaggioOraLegaleVersoOraSolare";
  6077.         if(this.isTimerConsegnaContenutiApplicativiSchedulingCheckPassaggioOraLegaleVersoOraSolare==null){      
  6078.             try{  
  6079.                 String value = this.reader.getValueConvertEnvProperties(pName);
  6080.                 if(value!=null){
  6081.                     value = value.trim();
  6082.                     this.isTimerConsegnaContenutiApplicativiSchedulingCheckPassaggioOraLegaleVersoOraSolare = Boolean.parseBoolean(value);
  6083.                 }else{
  6084.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  6085.                     this.isTimerConsegnaContenutiApplicativiSchedulingCheckPassaggioOraLegaleVersoOraSolare = true;
  6086.                 }

  6087.             }catch(java.lang.Exception e) {
  6088.                 this.logWarn("Proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true, errore:"+e.getMessage(),e);
  6089.                 this.isTimerConsegnaContenutiApplicativiSchedulingCheckPassaggioOraLegaleVersoOraSolare = true;
  6090.             }
  6091.         }
  6092.        
  6093.         return this.isTimerConsegnaContenutiApplicativiSchedulingCheckPassaggioOraLegaleVersoOraSolare;
  6094.     }
  6095.    
  6096.     private List<String> getTimerConsegnaContenutiApplicativiCode = null;
  6097.     private boolean getTimerConsegnaContenutiApplicativiCodeRead = false;
  6098.     public List<String> getTimerConsegnaContenutiApplicativiCode() {    
  6099.         if(!this.getTimerConsegnaContenutiApplicativiCodeRead){
  6100.             try{

  6101.                 String name = null;
  6102.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.code");
  6103.                 if(name==null){
  6104.                     this.getTimerConsegnaContenutiApplicativiCode = null;
  6105.                 }else{
  6106.                     String [] r = name.trim().split(",");
  6107.                     List<String> l = new ArrayList<>();
  6108.                     for(int i=0; i<r.length; i++){
  6109.                         r[i] = r[i].trim();
  6110.                         l.add(r[i]);
  6111.                     }
  6112.                    
  6113.                     if(!l.isEmpty()) {
  6114.                         this.getTimerConsegnaContenutiApplicativiCode = new ArrayList<>();
  6115.                         this.getTimerConsegnaContenutiApplicativiCode.addAll(l);
  6116.                     }
  6117.                 }
  6118.             }catch(java.lang.Exception e) {
  6119.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.code': "+e.getMessage(),e);
  6120.                 this.getTimerConsegnaContenutiApplicativiCode = null;
  6121.             }  
  6122.             this.getTimerConsegnaContenutiApplicativiCodeRead = true;
  6123.         }

  6124.         return this.getTimerConsegnaContenutiApplicativiCode;
  6125.     }
  6126.    
  6127.     private HashMap<String, ConfigurazioneCoda> getTimerConsegnaContenutiApplicativiConfigurazioneCoda = new HashMap<String, ConfigurazioneCoda>();
  6128.     public ConfigurazioneCoda getTimerConsegnaContenutiApplicativiConfigurazioneCoda(String nome) {
  6129.        
  6130.         ConfigurazioneCoda conf = this.getTimerConsegnaContenutiApplicativiConfigurazioneCoda.get(nome);
  6131.         if(conf!=null) {
  6132.             return conf;
  6133.         }
  6134.        
  6135.         String prefix = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.coda."+nome+".";
  6136.         try{
  6137.             Properties p = this.reader.readPropertiesConvertEnvProperties(prefix);
  6138.             if(p==null || p.isEmpty()) {
  6139.                 throw new CoreException("Configurazione non presente");
  6140.             }
  6141.            
  6142.             ConfigurazioneCoda confCoda = new ConfigurazioneCoda(nome, p);
  6143.             this.getTimerConsegnaContenutiApplicativiConfigurazioneCoda.put(nome, confCoda);
  6144.             return confCoda;
  6145.            
  6146.         }catch(java.lang.Exception e) {
  6147.             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+prefix+"*': "+e.getMessage(),e);
  6148.             return null;
  6149.         }  

  6150.     }
  6151.    
  6152.     private List<String> getTimerConsegnaContenutiApplicativiPriorita = null;
  6153.     private boolean getTimerConsegnaContenutiApplicativiPrioritaRead = false;
  6154.     public List<String> getTimerConsegnaContenutiApplicativiPriorita() {    
  6155.         if(!this.getTimerConsegnaContenutiApplicativiPrioritaRead){
  6156.             try{

  6157.                 String name = null;
  6158.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.priorita");
  6159.                 if(name==null){
  6160.                     this.getTimerConsegnaContenutiApplicativiPriorita = null;
  6161.                 }else{
  6162.                     String [] r = name.trim().split(",");
  6163.                     List<String> l = new ArrayList<>();
  6164.                     for(int i=0; i<r.length; i++){
  6165.                         r[i] = r[i].trim();
  6166.                         l.add(r[i]);
  6167.                     }
  6168.                    
  6169.                     if(!l.isEmpty()) {
  6170.                         this.getTimerConsegnaContenutiApplicativiPriorita = new ArrayList<>();
  6171.                         this.getTimerConsegnaContenutiApplicativiPriorita.addAll(l);
  6172.                     }
  6173.                 }
  6174.             }catch(java.lang.Exception e) {
  6175.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.priorita': "+e.getMessage(),e);
  6176.                 this.getTimerConsegnaContenutiApplicativiPriorita = null;
  6177.             }  
  6178.             this.getTimerConsegnaContenutiApplicativiPrioritaRead = true;
  6179.         }

  6180.         return this.getTimerConsegnaContenutiApplicativiPriorita;
  6181.     }
  6182.    
  6183.     private HashMap<String, ConfigurazionePriorita> getTimerConsegnaContenutiApplicativiConfigurazionePriorita = new HashMap<>();
  6184.     public ConfigurazionePriorita getTimerConsegnaContenutiApplicativiConfigurazionePriorita(String nome) {
  6185.        
  6186.         ConfigurazionePriorita conf = this.getTimerConsegnaContenutiApplicativiConfigurazionePriorita.get(nome);
  6187.         if(conf!=null) {
  6188.             return conf;
  6189.         }
  6190.        
  6191.         String prefix = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.priorita."+nome+".";
  6192.         try{
  6193.             Properties p = this.reader.readPropertiesConvertEnvProperties(prefix);
  6194.             if(p==null || p.isEmpty()) {
  6195.                 throw new CoreException("Configurazione non presente");
  6196.             }
  6197.            
  6198.             ConfigurazionePriorita confPriorita = new ConfigurazionePriorita(nome, p);
  6199.             this.getTimerConsegnaContenutiApplicativiConfigurazionePriorita.put(nome, confPriorita);
  6200.             return confPriorita;
  6201.            
  6202.         }catch(java.lang.Exception e) {
  6203.             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+prefix+"*': "+e.getMessage(),e);
  6204.             return null;
  6205.         }  

  6206.     }
  6207.    
  6208.     private Boolean isLoadBalancerDebug = null;
  6209.     public boolean isLoadBalancerDebug(){
  6210.         if(this.isLoadBalancerDebug==null){
  6211.             try{  
  6212.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.loadBalancer.debug");
  6213.                 if(value!=null){
  6214.                     value = value.trim();
  6215.                     this.isLoadBalancerDebug = Boolean.parseBoolean(value);
  6216.                 }else{
  6217.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.loadBalancer.debug' non impostata, viene utilizzato il default=false");
  6218.                     this.isLoadBalancerDebug = false;
  6219.                 }

  6220.             }catch(java.lang.Exception e) {
  6221.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.loadBalancer.debug', viene utilizzato il default=false, errore:"+e.getMessage(),e);
  6222.                 this.isLoadBalancerDebug = false;
  6223.             }
  6224.         }

  6225.         return this.isLoadBalancerDebug;
  6226.     }
  6227.    
  6228.     private Integer getTimerConsegnaContenutiApplicativiLockMaxLife = null;
  6229.     public int getTimerConsegnaContenutiApplicativiLockMaxLife() {  
  6230.         if(this.getTimerConsegnaContenutiApplicativiLockMaxLife==null){
  6231.             try{
  6232.                 String name = null;
  6233.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.lock.maxLife");

  6234.                 if(name!=null){
  6235.                     name = name.trim();
  6236.                     this.getTimerConsegnaContenutiApplicativiLockMaxLife = java.lang.Integer.parseInt(name);
  6237.                 }else{
  6238.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.lock.maxLife' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_MAX_LIFE);
  6239.                     this.getTimerConsegnaContenutiApplicativiLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  6240.                 }
  6241.             }catch(java.lang.Exception e) {
  6242.                 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);
  6243.                 this.getTimerConsegnaContenutiApplicativiLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  6244.             }  
  6245.             if(this.getTimerConsegnaContenutiApplicativiLockMaxLife!=null && this.getTimerConsegnaContenutiApplicativiLockMaxLife>0) {
  6246.                 // trasformo in millisecondi l'informazione fornita in secondi
  6247.                 this.getTimerConsegnaContenutiApplicativiLockMaxLife = this.getTimerConsegnaContenutiApplicativiLockMaxLife *1000;
  6248.             }
  6249.         }

  6250.         if(this.getTimerConsegnaContenutiApplicativiLockMaxLife!=null) {
  6251.             return this.getTimerConsegnaContenutiApplicativiLockMaxLife.intValue();
  6252.         }
  6253.         return -1;
  6254.     }
  6255.    
  6256.     private Integer getTimerConsegnaContenutiApplicativiLockIdleTime = null;
  6257.     public int getTimerConsegnaContenutiApplicativiLockIdleTime() {
  6258.         if(this.getTimerConsegnaContenutiApplicativiLockIdleTime==null){
  6259.             try{
  6260.                 String name = null;
  6261.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.lock.idleTime");

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

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

  6290.                 if(name!=null){
  6291.                     name = name.trim();
  6292.                     this.getTimerConsegnaContenutiApplicativiPresaInConsegnaMaxLife = java.lang.Integer.parseInt(name);
  6293.                 }else{
  6294.                     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);
  6295.                     this.getTimerConsegnaContenutiApplicativiPresaInConsegnaMaxLife = CostantiPdD.TIMER_RICONSEGNA_CONTENUTI_APPLICATIVI_PRESA_IN_CONSEGNA_MAX_LIFE;
  6296.                 }
  6297.             }catch(java.lang.Exception e) {
  6298.                 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);
  6299.                 this.getTimerConsegnaContenutiApplicativiPresaInConsegnaMaxLife = CostantiPdD.TIMER_RICONSEGNA_CONTENUTI_APPLICATIVI_PRESA_IN_CONSEGNA_MAX_LIFE;
  6300.             }  
  6301.             if(this.getTimerConsegnaContenutiApplicativiPresaInConsegnaMaxLife!=null && this.getTimerConsegnaContenutiApplicativiPresaInConsegnaMaxLife>0) {
  6302.                 // trasformo in millisecondi l'informazione fornita in secondi
  6303.                 this.getTimerConsegnaContenutiApplicativiPresaInConsegnaMaxLife = this.getTimerConsegnaContenutiApplicativiPresaInConsegnaMaxLife *1000;
  6304.             }
  6305.         }

  6306.         if(this.getTimerConsegnaContenutiApplicativiPresaInConsegnaMaxLife!=null) {
  6307.             return this.getTimerConsegnaContenutiApplicativiPresaInConsegnaMaxLife.intValue();
  6308.         }
  6309.         return -1;
  6310.     }
  6311.    
  6312.     private Long getTimerConsegnaContenutiApplicativi_getLockAttesaAttiva = null;
  6313.     public long getTimerConsegnaContenutiApplicativi_getLockAttesaAttiva() {    
  6314.         if(this.getTimerConsegnaContenutiApplicativi_getLockAttesaAttiva==null){
  6315.             String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.lock.attesaAttiva";
  6316.             try{
  6317.                 String name = null;
  6318.                 name = this.reader.getValueConvertEnvProperties(pName);

  6319.                 if(name!=null){
  6320.                     name = name.trim();
  6321.                     long time = java.lang.Long.parseLong(name);
  6322.                     this.getTimerConsegnaContenutiApplicativi_getLockAttesaAttiva = time*1000;
  6323.                 }else{
  6324.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA);
  6325.                     this.getTimerConsegnaContenutiApplicativi_getLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  6326.                 }

  6327.             }catch(java.lang.Exception e) {
  6328.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA+", errore:"+e.getMessage(),e);
  6329.                 this.getTimerConsegnaContenutiApplicativi_getLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  6330.             }    
  6331.         }

  6332.         return this.getTimerConsegnaContenutiApplicativi_getLockAttesaAttiva;
  6333.     }

  6334.     private Integer getTimerConsegnaContenutiApplicativi_getLockCheckInterval = null;
  6335.     public int getTimerConsegnaContenutiApplicativi_getLockCheckInterval() {    
  6336.         if(this.getTimerConsegnaContenutiApplicativi_getLockCheckInterval==null){
  6337.             String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.lock.check";
  6338.             try{
  6339.                 String name = null;
  6340.                 name = this.reader.getValueConvertEnvProperties(pName);

  6341.                 if(name!=null){
  6342.                     name = name.trim();
  6343.                     int time = java.lang.Integer.parseInt(name);
  6344.                     this.getTimerConsegnaContenutiApplicativi_getLockCheckInterval = time;
  6345.                 }else{
  6346.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL);
  6347.                     this.getTimerConsegnaContenutiApplicativi_getLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  6348.                 }
  6349.             }catch(java.lang.Exception e) {
  6350.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL+", errore:"+e.getMessage(),e);
  6351.                 this.getTimerConsegnaContenutiApplicativi_getLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  6352.             }  
  6353.         }

  6354.         return this.getTimerConsegnaContenutiApplicativi_getLockCheckInterval;
  6355.     }

  6356.    
  6357.     // *** Smistatore ***
  6358.    
  6359.     private Boolean isTimerConsegnaContenutiApplicativi_smistatore_runtime_useRuntimeManager = null;
  6360.     public boolean isTimerConsegnaContenutiApplicativi_smistatore_runtime_useRuntimeManager() {
  6361.         if(this.isTimerConsegnaContenutiApplicativi_smistatore_runtime_useRuntimeManager==null){
  6362.             String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.smistatore.runtime.useRuntimeManager";
  6363.             try{
  6364.                 String name = null;
  6365.                 name = this.reader.getValueConvertEnvProperties(pName);
  6366.                 if(name==null){
  6367.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  6368.                     name="true";
  6369.                 }
  6370.                 name = name.trim();
  6371.                 this.isTimerConsegnaContenutiApplicativi_smistatore_runtime_useRuntimeManager = Boolean.parseBoolean(name);
  6372.             } catch(java.lang.Exception e) {
  6373.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  6374.                 this.isTimerConsegnaContenutiApplicativi_smistatore_runtime_useRuntimeManager = true;
  6375.             }    
  6376.         }

  6377.         return this.isTimerConsegnaContenutiApplicativi_smistatore_runtime_useRuntimeManager;
  6378.     }
  6379.    
  6380.     private String getTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSource = null;
  6381.     public String getTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSource() throws CoreException {  
  6382.         if(this.getTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSource==null){
  6383.             String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.smistatore.runtime.dataSource";
  6384.             try{
  6385.                 String name = null;
  6386.                 name = this.reader.getValueConvertEnvProperties(pName);
  6387.                 if(name==null){
  6388.                     throw new CoreException("Proprieta' non impostata");
  6389.                 }
  6390.                 name = name.trim();
  6391.                 this.getTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSource = name;
  6392.             } catch(java.lang.Exception e) {
  6393.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  6394.                 throw new CoreException(e.getMessage(),e);
  6395.             }    
  6396.         }

  6397.         return this.getTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSource;
  6398.     }
  6399.    
  6400.     private Properties getTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSourceJndiContext = null;
  6401.     public Properties getTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSourceJndiContext() throws CoreException {    
  6402.         if(this.getTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSourceJndiContext==null){
  6403.             String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.smistatore.runtime.dataSource.property.";
  6404.             try{
  6405.                 this.getTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSourceJndiContext = this.reader.readPropertiesConvertEnvProperties(pName);
  6406.             } catch(java.lang.Exception e) {
  6407.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"*': "+e.getMessage(),e);
  6408.                 throw new CoreException(e.getMessage(),e);
  6409.             }    
  6410.         }

  6411.         return this.getTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSourceJndiContext;
  6412.     }
  6413.    
  6414.     private Boolean isTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSource_useDBUtils = null;
  6415.     public boolean isTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSource_useDBUtils() {
  6416.         if(this.isTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSource_useDBUtils==null){
  6417.             String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.smistatore.runtime.datasource.useDSUtils";
  6418.             try{
  6419.                 String name = null;
  6420.                 name = this.reader.getValueConvertEnvProperties(pName);
  6421.                 if(name==null){
  6422.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  6423.                     name="true";
  6424.                 }
  6425.                 name = name.trim();
  6426.                 this.isTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSource_useDBUtils = Boolean.parseBoolean(name);
  6427.             } catch(java.lang.Exception e) {
  6428.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  6429.                 this.isTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSource_useDBUtils = true;
  6430.             }    
  6431.         }

  6432.         return this.isTimerConsegnaContenutiApplicativi_smistatore_runtime_dataSource_useDBUtils;
  6433.     }
  6434.    
  6435.    
  6436.    
  6437.     // *** Consegne, gestione runtime ***
  6438.    
  6439.     private Boolean isTimerConsegnaContenutiApplicativi_runtime_useRuntimeManager = null;
  6440.     public boolean isTimerConsegnaContenutiApplicativi_runtime_useRuntimeManager() {    
  6441.         if(this.isTimerConsegnaContenutiApplicativi_runtime_useRuntimeManager==null){
  6442.             String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.runtime.useRuntimeManager";
  6443.             try{
  6444.                 String name = null;
  6445.                 name = this.reader.getValueConvertEnvProperties(pName);
  6446.                 if(name==null){
  6447.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  6448.                     name="true";
  6449.                 }
  6450.                 name = name.trim();
  6451.                 this.isTimerConsegnaContenutiApplicativi_runtime_useRuntimeManager = Boolean.parseBoolean(name);
  6452.             } catch(java.lang.Exception e) {
  6453.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  6454.                 this.isTimerConsegnaContenutiApplicativi_runtime_useRuntimeManager = true;
  6455.             }    
  6456.         }

  6457.         return this.isTimerConsegnaContenutiApplicativi_runtime_useRuntimeManager;
  6458.     }
  6459.    
  6460.     private String getTimerConsegnaContenutiApplicativi_runtime_dataSource = null;
  6461.     public String getTimerConsegnaContenutiApplicativi_runtime_dataSource() throws CoreException {  
  6462.         if(this.getTimerConsegnaContenutiApplicativi_runtime_dataSource==null){
  6463.             String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.runtime.dataSource";
  6464.             try{
  6465.                 String name = null;
  6466.                 name = this.reader.getValueConvertEnvProperties(pName);
  6467.                 if(name==null){
  6468.                     throw new CoreException("Proprieta' non impostata");
  6469.                 }
  6470.                 name = name.trim();
  6471.                 this.getTimerConsegnaContenutiApplicativi_runtime_dataSource = name;
  6472.             } catch(java.lang.Exception e) {
  6473.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  6474.                 throw new CoreException(e.getMessage(),e);
  6475.             }    
  6476.         }

  6477.         return this.getTimerConsegnaContenutiApplicativi_runtime_dataSource;
  6478.     }
  6479.    
  6480.     private Properties getTimerConsegnaContenutiApplicativi_runtime_dataSourceJndiContext = null;
  6481.     public Properties getTimerConsegnaContenutiApplicativi_runtime_dataSourceJndiContext() throws CoreException {  
  6482.         if(this.getTimerConsegnaContenutiApplicativi_runtime_dataSourceJndiContext==null){
  6483.             String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.runtime.dataSource.property.";
  6484.             try{
  6485.                 this.getTimerConsegnaContenutiApplicativi_runtime_dataSourceJndiContext = this.reader.readPropertiesConvertEnvProperties(pName);
  6486.             } catch(java.lang.Exception e) {
  6487.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"*': "+e.getMessage(),e);
  6488.                 throw new CoreException(e.getMessage(),e);
  6489.             }    
  6490.         }

  6491.         return this.getTimerConsegnaContenutiApplicativi_runtime_dataSourceJndiContext;
  6492.     }
  6493.    
  6494.     private Boolean isTimerConsegnaContenutiApplicativi_runtime_dataSource_useDBUtils = null;
  6495.     public boolean isTimerConsegnaContenutiApplicativi_runtime_dataSource_useDBUtils() {    
  6496.         if(this.isTimerConsegnaContenutiApplicativi_runtime_dataSource_useDBUtils==null){
  6497.             String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.runtime.datasource.useDSUtils";
  6498.             try{
  6499.                 String name = null;
  6500.                 name = this.reader.getValueConvertEnvProperties(pName);
  6501.                 if(name==null){
  6502.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  6503.                     name="true";
  6504.                 }
  6505.                 name = name.trim();
  6506.                 this.isTimerConsegnaContenutiApplicativi_runtime_dataSource_useDBUtils = Boolean.parseBoolean(name);
  6507.             } catch(java.lang.Exception e) {
  6508.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  6509.                 this.isTimerConsegnaContenutiApplicativi_runtime_dataSource_useDBUtils = true;
  6510.             }    
  6511.         }

  6512.         return this.isTimerConsegnaContenutiApplicativi_runtime_dataSource_useDBUtils;
  6513.     }
  6514.    
  6515.    
  6516.     // *** Consegne, gestione tracce ***
  6517.    
  6518.     private Boolean isTimerConsegnaContenutiApplicativi_transazioni_useTransactionManager = null;
  6519.     public boolean isTimerConsegnaContenutiApplicativi_transazioni_useTransactionManager() {    
  6520.         if(this.isTimerConsegnaContenutiApplicativi_transazioni_useTransactionManager==null){
  6521.             String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.transazioni.useTransactionManager";
  6522.             try{
  6523.                 String name = null;
  6524.                 name = this.reader.getValueConvertEnvProperties(pName);
  6525.                 if(name==null){
  6526.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  6527.                     name="true";
  6528.                 }
  6529.                 name = name.trim();
  6530.                 this.isTimerConsegnaContenutiApplicativi_transazioni_useTransactionManager = Boolean.parseBoolean(name);
  6531.             } catch(java.lang.Exception e) {
  6532.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  6533.                 this.isTimerConsegnaContenutiApplicativi_transazioni_useTransactionManager = true;
  6534.             }    
  6535.         }

  6536.         return this.isTimerConsegnaContenutiApplicativi_transazioni_useTransactionManager;
  6537.     }
  6538.    
  6539.     private String getTimerConsegnaContenutiApplicativi_transazioni_dataSource = null;
  6540.     public String getTimerConsegnaContenutiApplicativi_transazioni_dataSource() throws CoreException {  
  6541.         if(this.getTimerConsegnaContenutiApplicativi_transazioni_dataSource==null){
  6542.             String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.transazioni.dataSource";
  6543.             try{
  6544.                 String name = null;
  6545.                 name = this.reader.getValueConvertEnvProperties(pName);
  6546.                 if(name==null){
  6547.                     throw new CoreException("Proprieta' non impostata");
  6548.                 }
  6549.                 name = name.trim();
  6550.                 this.getTimerConsegnaContenutiApplicativi_transazioni_dataSource = name;
  6551.             } catch(java.lang.Exception e) {
  6552.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  6553.                 throw new CoreException(e.getMessage(),e);
  6554.             }    
  6555.         }

  6556.         return this.getTimerConsegnaContenutiApplicativi_transazioni_dataSource;
  6557.     }
  6558.    
  6559.     private Properties getTimerConsegnaContenutiApplicativi_transazioni_dataSourceJndiContext = null;
  6560.     public Properties getTimerConsegnaContenutiApplicativi_transazioni_dataSourceJndiContext() throws CoreException {  
  6561.         if(this.getTimerConsegnaContenutiApplicativi_transazioni_dataSourceJndiContext==null){
  6562.             String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.transazioni.dataSource.property.";
  6563.             try{
  6564.                 this.getTimerConsegnaContenutiApplicativi_transazioni_dataSourceJndiContext = this.reader.readPropertiesConvertEnvProperties(pName);
  6565.             } catch(java.lang.Exception e) {
  6566.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"*': "+e.getMessage(),e);
  6567.                 throw new CoreException(e.getMessage(),e);
  6568.             }    
  6569.         }

  6570.         return this.getTimerConsegnaContenutiApplicativi_transazioni_dataSourceJndiContext;
  6571.     }
  6572.    
  6573.     private Boolean isTimerConsegnaContenutiApplicativi_transazioni_dataSource_useDBUtils = null;
  6574.     public boolean isTimerConsegnaContenutiApplicativi_transazioni_dataSource_useDBUtils() {    
  6575.         if(this.isTimerConsegnaContenutiApplicativi_transazioni_dataSource_useDBUtils==null){
  6576.             String pName = "org.openspcoop2.pdd.timer.consegnaContenutiApplicativi.transazioni.datasource.useDSUtils";
  6577.             try{
  6578.                 String name = null;
  6579.                 name = this.reader.getValueConvertEnvProperties(pName);
  6580.                 if(name==null){
  6581.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  6582.                     name="true";
  6583.                 }
  6584.                 name = name.trim();
  6585.                 this.isTimerConsegnaContenutiApplicativi_transazioni_dataSource_useDBUtils = Boolean.parseBoolean(name);
  6586.             } catch(java.lang.Exception e) {
  6587.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  6588.                 this.isTimerConsegnaContenutiApplicativi_transazioni_dataSource_useDBUtils = true;
  6589.             }    
  6590.         }

  6591.         return this.isTimerConsegnaContenutiApplicativi_transazioni_dataSource_useDBUtils;
  6592.     }
  6593.    

  6594.     /* ********  REPOSITORY DI OPENSPCOOP  ******** */

  6595.     /**
  6596.      * Restituisce il tipo di repository utilizzato da OpenSPCoop
  6597.      *
  6598.      * @return Restituisce il tipo di repository utilizzato da OpenSPCoop
  6599.      *
  6600.      */
  6601.     private String repositoryType = null;
  6602.     public String getRepositoryType() {
  6603.         if(this.repositoryType==null){
  6604.             try{
  6605.                 String name = null;
  6606.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.tipo");
  6607.                 if(name==null)
  6608.                     throw new CoreException(NON_DEFINITA);
  6609.                 name = name.trim();
  6610.                 this.repositoryType = name;
  6611.             }catch(java.lang.Exception e) {
  6612.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.tipo': "+e.getMessage(),e);
  6613.                 this.repositoryType = null;
  6614.             }    
  6615.         }

  6616.         return this.repositoryType;
  6617.     }

  6618.     /**
  6619.      * Restituisce il tipo di database utilizzato da OpenSPCoop
  6620.      *
  6621.      * @return Restituisce il tipo di database utilizzato da OpenSPCoop
  6622.      *
  6623.      */
  6624.     private String databaseType = null;
  6625.     public String getDatabaseType() {  
  6626.         if(this.databaseType==null){
  6627.             try{
  6628.                 String name = null;
  6629.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.tipoDatabase");
  6630.                 if(name!=null)
  6631.                     name = name.trim();
  6632.                 this.databaseType = name;
  6633.             }catch(java.lang.Exception e) {
  6634.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.tipoDatabase': "+e.getMessage(),e);
  6635.                 this.databaseType = null;
  6636.             }    
  6637.         }

  6638.         return this.databaseType;
  6639.     }

  6640.     /**
  6641.      * Restituisce true se il tipo di repository utilizzato da OpenSPCoop  e' fs
  6642.      *
  6643.      * @return Restituisce true se il tipo di repository utilizzato da OpenSPCoop  e' su file system
  6644.      *
  6645.      */
  6646.     private Boolean isRepositoryOnFS_value = null;
  6647.     public boolean isRepositoryOnFS() {

  6648.         if(this.isRepositoryOnFS_value==null){
  6649.             // DEFAULT is true!

  6650.             try{
  6651.                 String name = null;
  6652.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.tipo");

  6653.                 if(name!=null){
  6654.                     name = name.trim();
  6655.                     if(CostantiConfigurazione.REPOSITORY_DB.equals(name)){
  6656.                         this.isRepositoryOnFS_value = false;
  6657.                     }else{
  6658.                         this.isRepositoryOnFS_value = true;
  6659.                     }
  6660.                 }else{
  6661.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.tipo' non impostata, viene utilizzato il default=true");
  6662.                     this.isRepositoryOnFS_value = true;
  6663.                 }

  6664.             }catch(java.lang.Exception e) {
  6665.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.tipo' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  6666.                 this.isRepositoryOnFS_value = true;
  6667.             }    
  6668.         }

  6669.         return this.isRepositoryOnFS_value;
  6670.     }

  6671.     /**
  6672.      * Restituisce la working directory utilizzata da OpenSPCoop
  6673.      *
  6674.      * @return Restituisce la working directory utilizzata da OpenSPCoop.
  6675.      *
  6676.      */
  6677.     private String repositoryDirectory = null;
  6678.     public String getRepositoryDirectory() {
  6679.         if(this.repositoryDirectory==null){
  6680.             try{
  6681.                 String name = null;
  6682.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.directory");
  6683.                 if(name==null)
  6684.                     throw new CoreException(NON_DEFINITA);
  6685.                 name = name.trim();
  6686.                 this.repositoryDirectory = name;
  6687.             }catch(java.lang.Exception e) {
  6688.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.directory': "+e.getMessage(),e);
  6689.                 this.repositoryDirectory = null;
  6690.             }  
  6691.         }

  6692.         return this.repositoryDirectory;
  6693.     }

  6694.     /**
  6695.      * Restituisce il JDBC Adapter utilizzato da OpenSPCoop
  6696.      *
  6697.      * @return Restituisce il JDBC Adapter utilizzato da OpenSPCoop.
  6698.      *
  6699.      */
  6700.     private String repositoryJDBCAdapter = null;
  6701.     public String getRepositoryJDBCAdapter() {  
  6702.         if(this.repositoryJDBCAdapter==null){
  6703.             try{
  6704.                 String name = null;
  6705.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.jdbcAdapter");
  6706.                 if(name==null)
  6707.                     throw new CoreException(NON_DEFINITA);
  6708.                 name = name.trim();
  6709.                 this.repositoryJDBCAdapter = name;
  6710.             }catch(java.lang.Exception e) {
  6711.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.jdbcAdapter': "+e.getMessage(),e);
  6712.                 this.repositoryJDBCAdapter = null;
  6713.             }    
  6714.         }

  6715.         return this.repositoryJDBCAdapter;
  6716.     }


  6717.     private Boolean forceIndex = null;
  6718.     public boolean isForceIndex() {

  6719.         if(this.forceIndex==null){
  6720.             // DEFAULT is false

  6721.             try{
  6722.                 String name = null;
  6723.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.forceIndex");

  6724.                 if(name!=null){
  6725.                     name = name.trim();
  6726.                     this.forceIndex = Boolean.parseBoolean(name);
  6727.                 }else{
  6728.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.forceIndex' non impostata, viene utilizzato il default=false");
  6729.                     this.forceIndex = false;
  6730.                 }

  6731.             }catch(java.lang.Exception e) {
  6732.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.forceIndex' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  6733.                 this.forceIndex = false;
  6734.             }    
  6735.         }

  6736.         return this.forceIndex;
  6737.     }
  6738.    
  6739.    

  6740.     private AttachmentsProcessingMode attachmentsProcessingMode = null;
  6741.     public AttachmentsProcessingMode getAttachmentsProcessingMode() {  
  6742.         if(this.attachmentsProcessingMode==null){
  6743.             if(this.isFileCacheEnable()){
  6744.                 try{
  6745.                     this.attachmentsProcessingMode=AttachmentsProcessingMode.getFileCacheProcessingMode(getAttachmentRepoDir(), getFileThreshold());
  6746.                 } catch(java.lang.Exception e) {
  6747.                     this.logError("Riscontrato errore durante l'identificazione della modalità di processing degli attachments: "+e.getMessage(),e);
  6748.                     this.attachmentsProcessingMode=AttachmentsProcessingMode.getMemoryCacheProcessingMode();
  6749.                 }
  6750.             }else{
  6751.                 this.attachmentsProcessingMode=AttachmentsProcessingMode.getMemoryCacheProcessingMode();
  6752.             }
  6753.         }

  6754.         return this.attachmentsProcessingMode;
  6755.     }

  6756.     private Boolean isFileCacheEnable = null;
  6757.     private boolean isFileCacheEnable() {  
  6758.         if(this.isFileCacheEnable==null){
  6759.             try{
  6760.                 String name = null;
  6761.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.attachment.fileCacheEnable");
  6762.                 if(name==null){
  6763.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.attachment.fileCacheEnable' non impostata, viene utilizzato il default=false");
  6764.                     name="false";
  6765.                 }
  6766.                 name = name.trim();
  6767.                 this.isFileCacheEnable = Boolean.parseBoolean(name);
  6768.             } catch(java.lang.Exception e) {
  6769.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.attachment.fileCacheEnable': "+e.getMessage(),e);
  6770.                 this.isFileCacheEnable = false;
  6771.             }    
  6772.         }

  6773.         return this.isFileCacheEnable;
  6774.     }


  6775.     private String attachmentRepoDir = null;
  6776.     private String getAttachmentRepoDir() {

  6777.         if(this.attachmentRepoDir==null){
  6778.             try{
  6779.                 String name = null;
  6780.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.attachment.repositoryDir");

  6781.                 if(name!=null){
  6782.                     name = name.trim();
  6783.                     this.attachmentRepoDir = name;
  6784.                 }else{
  6785.                     // Se fileCacheEnable == false allora puo' essere null;
  6786.                     if(!isFileCacheEnable())
  6787.                         return null;
  6788.                     throw new CoreException(NON_DEFINITA);
  6789.                 }

  6790.             }catch(java.lang.Exception e) {
  6791.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.attachment.repositoryDir': "+e.getMessage(),e);
  6792.                 this.attachmentRepoDir = null;
  6793.             }    
  6794.         }

  6795.         return this.attachmentRepoDir;
  6796.     }
  6797.    
  6798.     private String fileThreshold = null;
  6799.     private String getFileThreshold() {

  6800.         if(this.fileThreshold==null){
  6801.             try{
  6802.                 String name = null;
  6803.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.attachment.fileThreshold");

  6804.                 if(name!=null){
  6805.                     name = name.trim();
  6806.                     this.fileThreshold = name;
  6807.                 }else{
  6808.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.attachment.fileThreshold' non impostata, viene utilizzato il default=1024");
  6809.                     this.fileThreshold = "1024";
  6810.                 }

  6811.             }catch(java.lang.Exception e) {
  6812.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.attachment.fileThreshold': "+e.getMessage(),e);
  6813.                 this.fileThreshold = "1024";
  6814.             }    
  6815.         }

  6816.         return this.fileThreshold;
  6817.     }
  6818.    
  6819.     private String filePrefix = null;
  6820.     public String getFilePrefix() {

  6821.         if(this.filePrefix==null){
  6822.             try{
  6823.                 String name = null;
  6824.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.attachment.filePrefix");

  6825.                 if(name!=null){
  6826.                     name = name.trim();
  6827.                     this.filePrefix = name;
  6828.                 }else{
  6829.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.attachment.filePrefix' non impostata, viene utilizzato il default="+CostantiPdD.OPENSPCOOP2);
  6830.                     this.filePrefix = CostantiPdD.OPENSPCOOP2;
  6831.                 }

  6832.             }catch(java.lang.Exception e) {
  6833.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.attachment.filePrefix': "+e.getMessage(),e);
  6834.                 this.filePrefix = CostantiPdD.OPENSPCOOP2;
  6835.             }    
  6836.         }

  6837.         return this.filePrefix;
  6838.     }
  6839.    
  6840.     private String fileSuffix = null;
  6841.     public String getFileSuffix() {

  6842.         if(this.fileSuffix==null){
  6843.             try{
  6844.                 String name = null;
  6845.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.attachment.fileSuffix");

  6846.                 if(name!=null){
  6847.                     name = name.trim();
  6848.                     this.fileSuffix = name;
  6849.                 }else{
  6850.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.attachment.fileSuffix' non impostata, viene utilizzato il default=.att");
  6851.                     this.fileSuffix = ".att";
  6852.                 }

  6853.             }catch(java.lang.Exception e) {
  6854.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.attachment.fileSuffix': "+e.getMessage(),e);
  6855.                 this.fileSuffix = ".att";
  6856.             }    
  6857.         }

  6858.         return this.fileSuffix;
  6859.     }
  6860.    
  6861.     private int deleteInterval = 0;
  6862.     public int getDeleteInterval() {    

  6863.         if(this.deleteInterval==0){
  6864.             try{
  6865.                 String name = null;
  6866.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.attachment.deleteInterval");

  6867.                 if(name!=null){
  6868.                     name = name.trim();
  6869.                     this.deleteInterval = Integer.parseInt(name);
  6870.                 }else{
  6871.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.attachment.deleteInterval' non impostata, viene utilizzato il default=300");
  6872.                     this.deleteInterval = 300;
  6873.                 }

  6874.             }catch(java.lang.Exception e) {
  6875.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.attachment.deleteInterval': "+e.getMessage(),e);
  6876.                 this.deleteInterval = 300;
  6877.             }    
  6878.         }

  6879.         return this.deleteInterval;
  6880.     }

  6881.     /**
  6882.      * Restituisce l'intervallo di pulizia del repository di OpenSPCoop
  6883.      *
  6884.      * @return Restituisce l'intervallo di pulizia del repository di OpenSPCoo
  6885.      *
  6886.      */
  6887.     private Long repositoryIntervalloEliminazioneMessaggi = null;
  6888.     public long getRepositoryIntervalloEliminazioneMessaggi() {
  6889.         if(this.repositoryIntervalloEliminazioneMessaggi==null){
  6890.             try{
  6891.                 String name = null;
  6892.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.timer");
  6893.                 if(name==null)
  6894.                     throw new CoreException(NON_DEFINITA);
  6895.                 name = name.trim();
  6896.                 this.repositoryIntervalloEliminazioneMessaggi = java.lang.Long.parseLong(name);
  6897.             }catch(java.lang.Exception e) {
  6898.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.timer': "+e.getMessage(),e);
  6899.                 this.repositoryIntervalloEliminazioneMessaggi = -1L;
  6900.             }  
  6901.         }

  6902.         return this.repositoryIntervalloEliminazioneMessaggi;
  6903.     }

  6904.     /**
  6905.      * Restituisce l'intervallo di tempo che definisce un msg scaduto nel repository di OpenSPCoop
  6906.      *
  6907.      * @return Restituisce l'intervallo di tempo che definisce un msg scaduto nel repository di OpenSPCoo
  6908.      *
  6909.      */
  6910.     private Long repositoryIntervalloScadenzaMessaggi = null;
  6911.     public long getRepositoryIntervalloScadenzaMessaggi() {
  6912.         if(this.repositoryIntervalloScadenzaMessaggi == null){
  6913.             try{
  6914.                 String name = null;
  6915.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.scadenzaMessaggio");
  6916.                 if(name==null)
  6917.                     throw new CoreException(NON_DEFINITA);
  6918.                 name = name.trim();
  6919.                 this.repositoryIntervalloScadenzaMessaggi = java.lang.Long.parseLong(name);
  6920.             }catch(java.lang.Exception e) {
  6921.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.scadenzaMessaggio': "+e.getMessage(),e);
  6922.                 this.repositoryIntervalloScadenzaMessaggi = -1L;
  6923.             }    
  6924.         }

  6925.         return this.repositoryIntervalloScadenzaMessaggi;
  6926.     }
  6927.    
  6928.     private Boolean useSoapMessageReader = null;
  6929.     public boolean useSoapMessageReader() {
  6930.         if(this.useSoapMessageReader==null){
  6931.             String pName = "org.openspcoop2.pdd.soapMessage.reader";
  6932.             try{
  6933.                 String name = null;
  6934.                 name = this.reader.getValueConvertEnvProperties(pName);
  6935.                 if(name==null){
  6936.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  6937.                     name="true";
  6938.                 }
  6939.                 name = name.trim();
  6940.                 this.useSoapMessageReader = Boolean.parseBoolean(name);
  6941.             } catch(java.lang.Exception e) {
  6942.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  6943.                 this.useSoapMessageReader = true;
  6944.             }    
  6945.         }

  6946.         return this.useSoapMessageReader;
  6947.     }
  6948.    
  6949.     private Integer soapMessageReaderBufferThresholdKb = null;
  6950.     public int getSoapMessageReaderBufferThresholdKb() {    

  6951.         if(this.soapMessageReaderBufferThresholdKb==null){
  6952.             try{
  6953.                 String name = null;
  6954.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soapMessage.reader.bufferThreshold");

  6955.                 if(name!=null){
  6956.                     name = name.trim();
  6957.                     this.soapMessageReaderBufferThresholdKb = Integer.valueOf(name);
  6958.                 }else{
  6959.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.soapMessage.reader.bufferThreshold' non impostata, viene utilizzato il default=10");
  6960.                     this.soapMessageReaderBufferThresholdKb = 10;
  6961.                 }

  6962.             }catch(java.lang.Exception e) {
  6963.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soapMessage.reader.bufferThreshold': "+e.getMessage(),e);
  6964.                 this.soapMessageReaderBufferThresholdKb = 10;
  6965.             }    
  6966.         }

  6967.         return this.soapMessageReaderBufferThresholdKb;
  6968.     }
  6969.    
  6970.     private Boolean useSoapMessageReaderHeaderOptimization = null;
  6971.     public boolean useSoapMessageReaderHeaderOptimization() {  
  6972.         if(this.useSoapMessageReaderHeaderOptimization==null){
  6973.             String pName = "org.openspcoop2.pdd.soapMessage.reader.headerOptimization";
  6974.             try{
  6975.                 String name = null;
  6976.                 name = this.reader.getValueConvertEnvProperties(pName);
  6977.                 if(name==null){
  6978.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  6979.                     name="true";
  6980.                 }
  6981.                 name = name.trim();
  6982.                 this.useSoapMessageReaderHeaderOptimization = Boolean.parseBoolean(name);
  6983.             } catch(java.lang.Exception e) {
  6984.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  6985.                 this.useSoapMessageReaderHeaderOptimization = true;
  6986.             }    
  6987.         }

  6988.         return this.useSoapMessageReaderHeaderOptimization;
  6989.     }
  6990.    
  6991.     private Boolean useSoapMessagePassthrough = null;
  6992.     public boolean useSoapMessagePassthrough() {    
  6993.         if(this.useSoapMessagePassthrough==null){
  6994.             String pName = "org.openspcoop2.pdd.soapMessage.passthrough";
  6995.             try{
  6996.                 String name = null;
  6997.                 name = this.reader.getValueConvertEnvProperties(pName);
  6998.                 if(name==null){
  6999.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  7000.                     name="true";
  7001.                 }
  7002.                 name = name.trim();
  7003.                 this.useSoapMessagePassthrough = Boolean.parseBoolean(name);
  7004.             } catch(java.lang.Exception e) {
  7005.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  7006.                 this.useSoapMessagePassthrough = true;
  7007.             }    
  7008.         }

  7009.         return this.useSoapMessagePassthrough;
  7010.     }
  7011.    
  7012.     private Integer soapMessageSaajSaxParserPoolSize = null;
  7013.     public int getSoapMessageSaajSaxParserPoolSize() {  

  7014.         if(this.soapMessageSaajSaxParserPoolSize==null){
  7015.             try{
  7016.                 String name = null;
  7017.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soapMessage.saaj.saxParserPoolSize");

  7018.                 if(name!=null){
  7019.                     name = name.trim();
  7020.                     this.soapMessageSaajSaxParserPoolSize = Integer.valueOf(name);
  7021.                 }else{
  7022.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.soapMessage.saaj.saxParserPoolSize' non impostata, viene utilizzato il default=200");
  7023.                     this.soapMessageSaajSaxParserPoolSize = 200;
  7024.                 }

  7025.             }catch(java.lang.Exception e) {
  7026.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soapMessage.saaj.saxParserPoolSize': "+e.getMessage(),e);
  7027.                 this.soapMessageSaajSaxParserPoolSize = 200;
  7028.             }    
  7029.         }

  7030.         return this.soapMessageSaajSaxParserPoolSize;
  7031.     }
  7032.    
  7033.     private List<String> alternativeContentTypeSoap12 = null;
  7034.     private boolean alternativeContentTypeSoap12Read = false;
  7035.     public List<String> getAlternativeContentTypeSoap12() {
  7036.         if(!this.alternativeContentTypeSoap12Read){
  7037.             String pName = "org.openspcoop2.pdd.soapMessage.v12.alternativeContentTypes";
  7038.             try{
  7039.                 String name = null;
  7040.                 name = this.reader.getValueConvertEnvProperties(pName);
  7041.                 if(name==null){
  7042.                     this.alternativeContentTypeSoap12 = null;
  7043.                 }else{
  7044.                     String [] r = name.trim().split(",");
  7045.                     List<String> l = new ArrayList<>();
  7046.                     for(int i=0; i<r.length; i++){
  7047.                         r[i] = r[i].trim();
  7048.                         l.add(r[i]);
  7049.                     }
  7050.                    
  7051.                     if(!l.isEmpty()) {
  7052.                         this.alternativeContentTypeSoap12 = new ArrayList<>();
  7053.                         this.alternativeContentTypeSoap12.addAll(l);
  7054.                     }
  7055.                 }
  7056.             }catch(java.lang.Exception e) {
  7057.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+": "+e.getMessage(),e);
  7058.                 this.alternativeContentTypeSoap12 = null;
  7059.             }  
  7060.             this.alternativeContentTypeSoap12Read = true;
  7061.         }

  7062.         return this.alternativeContentTypeSoap12;
  7063.     }
  7064.    
  7065.    
  7066.     private Boolean useRestMultipartLazy = null;
  7067.     public boolean useRestMultipartLazy() {
  7068.         if(this.useRestMultipartLazy==null){
  7069.             String pName = "org.openspcoop2.pdd.restMessage.multipart.lazy";
  7070.             try{
  7071.                 String name = null;
  7072.                 name = this.reader.getValueConvertEnvProperties(pName);
  7073.                 if(name==null){
  7074.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  7075.                     name="true";
  7076.                 }
  7077.                 name = name.trim();
  7078.                 this.useRestMultipartLazy = Boolean.parseBoolean(name);
  7079.             } catch(java.lang.Exception e) {
  7080.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  7081.                 this.useRestMultipartLazy = true;
  7082.             }    
  7083.         }

  7084.         return this.useRestMultipartLazy;
  7085.     }
  7086.    
  7087.    
  7088.    
  7089.     /**
  7090.      * Restituisce L'indicazione se filtrare le buste rispetto alla scadenza della busta
  7091.      *
  7092.      * @return indicazione se filtrare le buste rispetto alla scadenza della busta
  7093.      *
  7094.      */
  7095.     private Boolean repositoryBusteFiltraBusteScaduteRispettoOraRegistrazione = null;
  7096.     public boolean isRepositoryBusteFiltraBusteScaduteRispettoOraRegistrazione() {  
  7097.         if(this.repositoryBusteFiltraBusteScaduteRispettoOraRegistrazione==null){
  7098.             try{
  7099.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.scadenzaMessaggio.filtraBusteScaduteRispettoOraRegistrazione");
  7100.                 if(value==null){
  7101.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.scadenzaMessaggio.filtraBusteScaduteRispettoOraRegistrazione' non definita (Viene utilizzato il default:true)");
  7102.                     this.repositoryBusteFiltraBusteScaduteRispettoOraRegistrazione = true;
  7103.                 }else{
  7104.                     this.repositoryBusteFiltraBusteScaduteRispettoOraRegistrazione = Boolean.parseBoolean(value);
  7105.                 }
  7106.             }catch(java.lang.Exception e) {
  7107.                 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);
  7108.                 this.repositoryBusteFiltraBusteScaduteRispettoOraRegistrazione = true;
  7109.             }    
  7110.         }

  7111.         return this.repositoryBusteFiltraBusteScaduteRispettoOraRegistrazione;
  7112.     }

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

  7280.    
  7281.     private Boolean isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazione = null;
  7282.     public boolean isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazione() {    
  7283.        
  7284.         if(this.isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazione==null){
  7285.             try{
  7286.                 String name = null;
  7287.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.scadenzaCorrelazioneApplicativa.filtraCorrelazioniScaduteRispettoOraRegistrazione");
  7288.                
  7289.                 if(name!=null){
  7290.                     name = name.trim();
  7291.                     this.isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazione = Boolean.parseBoolean(name);
  7292.                 }else{
  7293.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.scadenzaCorrelazioneApplicativa.filtraCorrelazioniScaduteRispettoOraRegistrazione' non impostata, viene utilizzato il default=true");
  7294.                     this.isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazione = true;
  7295.                 }
  7296.    
  7297.             }catch(java.lang.Exception e) {
  7298.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.scadenzaCorrelazioneApplicativa.filtraCorrelazioniScaduteRispettoOraRegistrazione' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  7299.                 this.isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazione = true;
  7300.             }    
  7301.         }
  7302.        
  7303.         return this.isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazione;
  7304.     }
  7305.    
  7306.     private Boolean isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazioneEscludiConScadenzaImpostata = null;
  7307.     public boolean isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazioneEscludiConScadenzaImpostata() {
  7308.        
  7309.         if(this.isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazioneEscludiConScadenzaImpostata==null){
  7310.             try{
  7311.                 String name = null;
  7312.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.scadenzaCorrelazioneApplicativa.filtraCorrelazioniScaduteRispettoOraRegistrazione.soloCorrelazioniSenzaScadenza");
  7313.                
  7314.                 if(name!=null){
  7315.                     name = name.trim();
  7316.                     this.isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazioneEscludiConScadenzaImpostata = Boolean.parseBoolean(name);
  7317.                 }else{
  7318.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.scadenzaCorrelazioneApplicativa.filtraCorrelazioniScaduteRispettoOraRegistrazione.soloCorrelazioniSenzaScadenza' non impostata, viene utilizzato il default=false");
  7319.                     this.isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazioneEscludiConScadenzaImpostata = false;
  7320.                 }
  7321.    
  7322.             }catch(java.lang.Exception e) {
  7323.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.scadenzaCorrelazioneApplicativa.filtraCorrelazioniScaduteRispettoOraRegistrazione.soloCorrelazioniSenzaScadenza' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  7324.                 this.isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazioneEscludiConScadenzaImpostata = false;
  7325.             }    
  7326.         }
  7327.        
  7328.         return this.isRepositoryScadenzaCorrelazioneApplicativaFiltraRispettoOraRegistrazioneEscludiConScadenzaImpostata;
  7329.     }
  7330.    

  7331.     private Boolean isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsNullConsideraErrore = null;
  7332.     public boolean isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsNullConsideraErrore() {  
  7333.        
  7334.         String pName = "org.openspcoop2.pdd.repository.correlazioneApplicativa.richiesta.identificativoEstrattoIsNull.consideraErrore";
  7335.         if(this.isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsNullConsideraErrore==null){
  7336.             try{
  7337.                 String name = null;
  7338.                 name = this.reader.getValueConvertEnvProperties(pName);
  7339.                
  7340.                 if(name!=null){
  7341.                     name = name.trim();
  7342.                     this.isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsNullConsideraErrore = Boolean.parseBoolean(name);
  7343.                 }else{
  7344.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  7345.                     this.isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsNullConsideraErrore = true;
  7346.                 }
  7347.    
  7348.             }catch(java.lang.Exception e) {
  7349.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true));
  7350.                 this.isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsNullConsideraErrore = true;
  7351.             }    
  7352.         }
  7353.        
  7354.         return this.isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsNullConsideraErrore;
  7355.     }
  7356.    
  7357.     private Boolean isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsNullConsideraErrore = null;
  7358.     public boolean isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsNullConsideraErrore() {  
  7359.        
  7360.         String pName = "org.openspcoop2.pdd.repository.correlazioneApplicativa.risposta.identificativoEstrattoIsNull.consideraErrore";
  7361.         if(this.isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsNullConsideraErrore==null){
  7362.             try{
  7363.                 String name = null;
  7364.                 name = this.reader.getValueConvertEnvProperties(pName);
  7365.                
  7366.                 if(name!=null){
  7367.                     name = name.trim();
  7368.                     this.isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsNullConsideraErrore = Boolean.parseBoolean(name);
  7369.                 }else{
  7370.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  7371.                     this.isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsNullConsideraErrore = true;
  7372.                 }
  7373.    
  7374.             }catch(java.lang.Exception e) {
  7375.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true));
  7376.                 this.isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsNullConsideraErrore = true;
  7377.             }    
  7378.         }
  7379.        
  7380.         return this.isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsNullConsideraErrore;
  7381.     }
  7382.    
  7383.     private Boolean isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsEmptyConsideraErrore = null;
  7384.     public boolean isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsEmptyConsideraErrore() {
  7385.        
  7386.         String pName = "org.openspcoop2.pdd.repository.correlazioneApplicativa.richiesta.identificativoEstrattoIsEmpty.consideraErrore";
  7387.         if(this.isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsEmptyConsideraErrore==null){
  7388.             try{
  7389.                 String name = null;
  7390.                 name = this.reader.getValueConvertEnvProperties(pName);
  7391.                
  7392.                 if(name!=null){
  7393.                     name = name.trim();
  7394.                     this.isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsEmptyConsideraErrore = Boolean.parseBoolean(name);
  7395.                 }else{
  7396.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  7397.                     this.isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsEmptyConsideraErrore = true;
  7398.                 }
  7399.    
  7400.             }catch(java.lang.Exception e) {
  7401.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true));
  7402.                 this.isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsEmptyConsideraErrore = true;
  7403.             }    
  7404.         }
  7405.        
  7406.         return this.isRepositoryCorrelazioneApplicativaRichiestaIdentificativoEstrattoIsEmptyConsideraErrore;
  7407.     }
  7408.    
  7409.     private Boolean isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsEmptyConsideraErrore = null;
  7410.     public boolean isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsEmptyConsideraErrore() {  
  7411.        
  7412.         String pName = "org.openspcoop2.pdd.repository.correlazioneApplicativa.risposta.identificativoEstrattoIsEmpty.consideraErrore";
  7413.         if(this.isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsEmptyConsideraErrore==null){
  7414.             try{
  7415.                 String name = null;
  7416.                 name = this.reader.getValueConvertEnvProperties(pName);
  7417.                
  7418.                 if(name!=null){
  7419.                     name = name.trim();
  7420.                     this.isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsEmptyConsideraErrore = Boolean.parseBoolean(name);
  7421.                 }else{
  7422.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  7423.                     this.isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsEmptyConsideraErrore = true;
  7424.                 }
  7425.    
  7426.             }catch(java.lang.Exception e) {
  7427.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true));
  7428.                 this.isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsEmptyConsideraErrore = true;
  7429.             }    
  7430.         }
  7431.        
  7432.         return this.isRepositoryCorrelazioneApplicativaRispostaIdentificativoEstrattoIsEmptyConsideraErrore;
  7433.     }
  7434.    
  7435.    
  7436.     private Boolean isRepositoryCorrelazioneApplicativaRichiestaRegolaCorrelazioneNonTrovataBlocca = null;
  7437.     public boolean isRepositoryCorrelazioneApplicativaRichiestaRegolaCorrelazioneNonTrovataBlocca() {  
  7438.        
  7439.         String pName = "org.openspcoop2.pdd.repository.correlazioneApplicativa.richiesta.regolaCorrelazioneNonTrovata.blocca";
  7440.         if(this.isRepositoryCorrelazioneApplicativaRichiestaRegolaCorrelazioneNonTrovataBlocca==null){
  7441.             try{
  7442.                 String name = null;
  7443.                 name = this.reader.getValueConvertEnvProperties(pName);
  7444.                
  7445.                 if(name!=null){
  7446.                     name = name.trim();
  7447.                     this.isRepositoryCorrelazioneApplicativaRichiestaRegolaCorrelazioneNonTrovataBlocca = Boolean.parseBoolean(name);
  7448.                 }else{
  7449.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  7450.                     this.isRepositoryCorrelazioneApplicativaRichiestaRegolaCorrelazioneNonTrovataBlocca = false;
  7451.                 }
  7452.    
  7453.             }catch(java.lang.Exception e) {
  7454.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false));
  7455.                 this.isRepositoryCorrelazioneApplicativaRichiestaRegolaCorrelazioneNonTrovataBlocca = false;
  7456.             }    
  7457.         }
  7458.        
  7459.         return this.isRepositoryCorrelazioneApplicativaRichiestaRegolaCorrelazioneNonTrovataBlocca;
  7460.     }
  7461.    
  7462.     private Boolean isRepositoryCorrelazioneApplicativaRispostaRegolaCorrelazioneNonTrovataBlocca = null;
  7463.     public boolean isRepositoryCorrelazioneApplicativaRispostaRegolaCorrelazioneNonTrovataBlocca() {    
  7464.        
  7465.         String pName = "org.openspcoop2.pdd.repository.correlazioneApplicativa.risposta.regolaCorrelazioneNonTrovata.blocca";
  7466.         if(this.isRepositoryCorrelazioneApplicativaRispostaRegolaCorrelazioneNonTrovataBlocca==null){
  7467.             try{
  7468.                 String name = null;
  7469.                 name = this.reader.getValueConvertEnvProperties(pName);
  7470.                
  7471.                 if(name!=null){
  7472.                     name = name.trim();
  7473.                     this.isRepositoryCorrelazioneApplicativaRispostaRegolaCorrelazioneNonTrovataBlocca = Boolean.parseBoolean(name);
  7474.                 }else{
  7475.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  7476.                     this.isRepositoryCorrelazioneApplicativaRispostaRegolaCorrelazioneNonTrovataBlocca = false;
  7477.                 }
  7478.    
  7479.             }catch(java.lang.Exception e) {
  7480.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false));
  7481.                 this.isRepositoryCorrelazioneApplicativaRispostaRegolaCorrelazioneNonTrovataBlocca = false;
  7482.             }    
  7483.         }
  7484.        
  7485.         return this.isRepositoryCorrelazioneApplicativaRispostaRegolaCorrelazioneNonTrovataBlocca;
  7486.     }
  7487.    

  7488.     /**
  7489.      * Restituisce l'intervallo in millisecondi di attesa attiva per messaggi gia in processamento
  7490.      *
  7491.      * @return Restituisce l'intervallo in millisecondi di attesa attiva per messaggi gia in processamento
  7492.      *  *
  7493.      */
  7494.     private Long msgGiaInProcessamentoAttesaAttiva = null;
  7495.     public long getMsgGiaInProcessamentoAttesaAttiva() {    
  7496.         if(this.msgGiaInProcessamentoAttesaAttiva==null){
  7497.             try{
  7498.                 String name = null;
  7499.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.messaggioInProcessamento.attesaAttiva");

  7500.                 if(name!=null){
  7501.                     name = name.trim();
  7502.                     long time = java.lang.Long.parseLong(name);
  7503.                     this.msgGiaInProcessamentoAttesaAttiva = time*1000;
  7504.                 }else{
  7505.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.messaggioInProcessamento.attesaAttiva' non impostato, viene utilizzato il default="+CostantiPdD.MSG_GIA_IN_PROCESSAMENTO_ATTESA_ATTIVA);
  7506.                     this.msgGiaInProcessamentoAttesaAttiva = CostantiPdD.MSG_GIA_IN_PROCESSAMENTO_ATTESA_ATTIVA;
  7507.                 }

  7508.             }catch(java.lang.Exception e) {
  7509.                 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);
  7510.                 this.msgGiaInProcessamentoAttesaAttiva = CostantiPdD.MSG_GIA_IN_PROCESSAMENTO_ATTESA_ATTIVA;
  7511.             }    
  7512.         }

  7513.         return this.msgGiaInProcessamentoAttesaAttiva;
  7514.     }

  7515.     /**
  7516.      * Restituisce l'intervallo maggiore per frequenza di check nell'attesa attiva effettuata dal TransactionManager, in millisecondi
  7517.      *
  7518.      * @return Restituisce Intervallo maggiore per frequenza di check nell'attesa attiva effettuata dal TransactionManager, in millisecondi
  7519.      *
  7520.      */
  7521.     private Integer msgGiaInProcessamentoCheckInterval = null;
  7522.     public int getMsgGiaInProcessamentoCheckInterval() {    
  7523.         String pName = "org.openspcoop2.pdd.repository.messaggioInProcessamento.check";
  7524.         if(this.msgGiaInProcessamentoCheckInterval==null){
  7525.             try{
  7526.                 String name = null;
  7527.                 name = this.reader.getValueConvertEnvProperties(pName);

  7528.                 if(name!=null){
  7529.                     name = name.trim();
  7530.                     int time = java.lang.Integer.parseInt(name);
  7531.                     this.msgGiaInProcessamentoCheckInterval = time;
  7532.                 }else{
  7533.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.MSG_GIA_IN_PROCESSAMENTO_CHECK_INTERVAL);
  7534.                     this.msgGiaInProcessamentoCheckInterval = CostantiPdD.MSG_GIA_IN_PROCESSAMENTO_CHECK_INTERVAL;
  7535.                 }
  7536.             }catch(java.lang.Exception e) {
  7537.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.MSG_GIA_IN_PROCESSAMENTO_CHECK_INTERVAL+", errore:"+e.getMessage(),e);
  7538.                 this.msgGiaInProcessamentoCheckInterval = CostantiPdD.MSG_GIA_IN_PROCESSAMENTO_CHECK_INTERVAL;
  7539.             }  
  7540.         }

  7541.         return this.msgGiaInProcessamentoCheckInterval;
  7542.     }
  7543.    
  7544.     private Boolean msgGiaInProcessamentoUseLock = null;
  7545.     public boolean isMsgGiaInProcessamentoUseLock() {  
  7546.         if(this.msgGiaInProcessamentoUseLock==null){
  7547.             String pName = "org.openspcoop2.pdd.repository.messaggioInProcessamento.useLock";
  7548.             try{
  7549.                 String name = null;
  7550.                 name = this.reader.getValueConvertEnvProperties(pName);

  7551.                 if(name!=null){
  7552.                     name = name.trim();
  7553.                     this.msgGiaInProcessamentoUseLock = Boolean.valueOf(name);
  7554.                 }else{
  7555.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+false);
  7556.                     this.msgGiaInProcessamentoUseLock = false;
  7557.                 }
  7558.             }catch(java.lang.Exception e) {
  7559.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+false+", errore:"+e.getMessage(),e);
  7560.                 this.msgGiaInProcessamentoUseLock = false;
  7561.             }  
  7562.         }

  7563.         return this.msgGiaInProcessamentoUseLock;
  7564.     }

  7565.     /**
  7566.      * Restituisce l'IThreshold utilizzato da OpenSPCoop
  7567.      *
  7568.      * @return Restituisce l'IThreshold utilizzato da OpenSPCoop.
  7569.      *
  7570.      */
  7571.     private List<String> repositoryThresholdTypes = null;
  7572.     private boolean repositoryThresholdTypesRead = false;
  7573.     public List<String> getRepositoryThresholdTypes() {
  7574.         if(!this.repositoryThresholdTypesRead){
  7575.             try{
  7576.                 String name = null;
  7577.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.threshold.tipi");
  7578.                 if(name==null){
  7579.                     this.repositoryThresholdTypes = null;
  7580.                 }else{
  7581.                     String [] r = name.trim().split(",");
  7582.                     List<String> l = new ArrayList<>();
  7583.                     for(int i=0; i<r.length; i++){
  7584.                         r[i] = r[i].trim();
  7585.                         l.add(r[i]);
  7586.                     }
  7587.                    
  7588.                     if(!l.isEmpty()) {
  7589.                         this.repositoryThresholdTypes = new ArrayList<>();
  7590.                         this.repositoryThresholdTypes.addAll(l);
  7591.                     }
  7592.                 }
  7593.             }catch(java.lang.Exception e) {
  7594.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.threshold.tipi': "+e.getMessage(),e);
  7595.                 this.repositoryThresholdTypes = null;
  7596.             }  
  7597.             this.repositoryThresholdTypesRead = true;
  7598.         }

  7599.         return this.repositoryThresholdTypes;
  7600.     }
  7601.     /**
  7602.      * Restituisce la soglia utilizzata dall'IThreshold utilizzato da OpenSPCoop
  7603.      *
  7604.      * @return Restituisce la soglia utilizzata dall'IThreshold utilizzato da OpenSPCoop.
  7605.      *
  7606.      */
  7607.     private Properties repositoryThresholdParameters = null;
  7608.     private boolean repositoryThresholdParametersRead = false;
  7609.     public Properties getRepositoryThresholdParameters(String tipoThreshould) {
  7610.         if(!this.repositoryThresholdParametersRead){
  7611.             try{
  7612.                 this.repositoryThresholdParameters = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.repository.threshold."+tipoThreshould+".");
  7613.             }catch(java.lang.Exception e) {
  7614.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.threshold."+tipoThreshould+PROPERTY_START_SUFFIX_ERRORE+e.getMessage(),e);
  7615.                 this.repositoryThresholdParameters = null;
  7616.             }  
  7617.             this.repositoryThresholdParametersRead = true;
  7618.         }

  7619.         return this.repositoryThresholdParameters;
  7620.     }

  7621.     /**
  7622.      * Restituisce l'intervallo per il timer di Threshold
  7623.      *
  7624.      * @return Restituisce l'intervallo per il timer di Threshold
  7625.      *
  7626.      */
  7627.     private Long repositoryThresholdCheckInterval = null;
  7628.     public long getRepositoryThresholdCheckInterval() {
  7629.         if(this.repositoryThresholdCheckInterval == null){
  7630.             try{
  7631.                 String name = null;
  7632.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.threshold.checkInterval");
  7633.                 if(name!=null){
  7634.                     name = name.trim();
  7635.                     this.repositoryThresholdCheckInterval = java.lang.Long.parseLong(name);
  7636.                 }else{
  7637.                     this.repositoryThresholdCheckInterval = 0L;
  7638.                 }
  7639.             }catch(java.lang.Exception e) {
  7640.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.threshold.checkInterval': "+e.getMessage(),e);
  7641.                 this.repositoryThresholdCheckInterval = -1L;
  7642.             }    
  7643.         }

  7644.         return this.repositoryThresholdCheckInterval;
  7645.     }

  7646.     /**
  7647.      * Indicazione se la porta di dominio deve attuare allo startup la validazione semantica della configurazione xml
  7648.      *  
  7649.      * @return Indicazione se la porta di dominio deve attuare allo startup la validazione semantica della configurazione xml
  7650.      *
  7651.      */
  7652.     private Boolean isValidazioneSemanticaConfigurazioneStartupXML = null;
  7653.     public boolean isValidazioneSemanticaConfigurazioneStartupXML(){

  7654.         if(this.isValidazioneSemanticaConfigurazioneStartupXML==null){
  7655.             try{  
  7656.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.startup.config.xml.validazioneSemantica");

  7657.                 if (value != null){
  7658.                     value = value.trim();
  7659.                     if(CostantiConfigurazione.ABILITATO.equals(value)){
  7660.                         this.isValidazioneSemanticaConfigurazioneStartupXML = true;
  7661.                     }else if(CostantiConfigurazione.DISABILITATO.equals(value)){
  7662.                         this.isValidazioneSemanticaConfigurazioneStartupXML = false;
  7663.                     }
  7664.                     else{
  7665.                         throw new CoreException(VALORE_NON_CORRETTO_ABILITATO_DISABILITATO+value);
  7666.                     }
  7667.                 }else{
  7668.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.startup.config.xml.validazioneSemantica' non impostata, viene utilizzato il default=true");
  7669.                     this.isValidazioneSemanticaConfigurazioneStartupXML = true;
  7670.                 }

  7671.             }catch(java.lang.Exception e) {
  7672.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.startup.config.xml.validazioneSemantica' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  7673.                 this.isValidazioneSemanticaConfigurazioneStartupXML = true;
  7674.             }
  7675.         }

  7676.         return this.isValidazioneSemanticaConfigurazioneStartupXML;
  7677.     }
  7678.     /**
  7679.      * Indicazione se la porta di dominio deve attuare allo startup la validazione semantica della configurazione
  7680.      *  
  7681.      * @return Indicazione se la porta di dominio deve attuare allo startup la validazione semantica della configurazione
  7682.      *
  7683.      */
  7684.     private Boolean isValidazioneSemanticaConfigurazioneStartup = null;
  7685.     public boolean isValidazioneSemanticaConfigurazioneStartup(){

  7686.         if(this.isValidazioneSemanticaConfigurazioneStartup==null){
  7687.             try{  
  7688.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.startup.config.validazioneSemantica");

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

  7703.             }catch(java.lang.Exception e) {
  7704.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.startup.config.validazioneSemantica' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  7705.                 this.isValidazioneSemanticaConfigurazioneStartup = false;
  7706.             }
  7707.         }

  7708.         return this.isValidazioneSemanticaConfigurazioneStartup;
  7709.     }
  7710.     /**
  7711.      * Indicazione se la porta di dominio deve attuare allo startup la validazione semantica della registro servizi xml
  7712.      *  
  7713.      * @return Indicazione se la porta di dominio deve attuare allo startup la validazione semantica della registro servizi xml
  7714.      *
  7715.      */
  7716.     private Boolean isValidazioneSemanticaRegistroServiziStartupXML = null;
  7717.     public boolean isValidazioneSemanticaRegistroServiziStartupXML(){

  7718.         if(this.isValidazioneSemanticaRegistroServiziStartupXML==null){
  7719.             try{  
  7720.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.startup.registri.xml.validazioneSemantica");

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

  7735.             }catch(java.lang.Exception e) {
  7736.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.startup.registri.xml.validazioneSemantica' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  7737.                 this.isValidazioneSemanticaRegistroServiziStartupXML = true;
  7738.             }
  7739.         }

  7740.         return this.isValidazioneSemanticaRegistroServiziStartupXML;
  7741.     }
  7742.     /**
  7743.      * Indicazione se la porta di dominio deve attuare allo startup la validazione semantica della registro servizi
  7744.      *  
  7745.      * @return Indicazione se la porta di dominio deve attuare allo startup la validazione semantica della registro servizi
  7746.      *
  7747.      */
  7748.     private Boolean isValidazioneSemanticaRegistroServiziStartup = null;
  7749.     public boolean isValidazioneSemanticaRegistroServiziStartup(){

  7750.         if(this.isValidazioneSemanticaRegistroServiziStartup==null){
  7751.             try{  
  7752.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.startup.registri.validazioneSemantica");

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

  7767.             }catch(java.lang.Exception e) {
  7768.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.startup.registri.validazioneSemantica' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  7769.                 this.isValidazioneSemanticaRegistroServiziStartup = false;
  7770.             }
  7771.         }

  7772.         return this.isValidazioneSemanticaRegistroServiziStartup;
  7773.     }
  7774.     /**
  7775.      * Indicazione se la porta di dominio deve attuare allo startup la validazione semantica della configurazione
  7776.      *  
  7777.      * @return Indicazione se la porta di dominio deve attuare allo startup la validazione semantica della configurazione
  7778.      *
  7779.      */
  7780.     private Boolean isValidazioneSemanticaRegistroServiziCheckURI = null;
  7781.     public boolean isValidazioneSemanticaRegistroServiziCheckURI(){

  7782.         if(this.isValidazioneSemanticaRegistroServiziCheckURI==null){
  7783.             try{  
  7784.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.startup.registri.validazioneSemantica.checkURI");

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

  7799.             }catch(java.lang.Exception e) {
  7800.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.startup.registri.validazioneSemantica.checkURI' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  7801.                 this.isValidazioneSemanticaRegistroServiziCheckURI = false;
  7802.             }
  7803.         }

  7804.         return this.isValidazioneSemanticaRegistroServiziCheckURI;
  7805.     }
  7806.    

  7807.     private static final String RISORSE_DB = "db";
  7808.     private static final String RISORSE_JMS = "jms";
  7809.     private static final String RISORSE_TRACCIAMENTO = "tracciamento";
  7810.     private static final String RISORSE_MSGDIAGNOSTICI = "msgdiagnostici";
  7811.     private static final String RISORSE_CONFIGURAZIONE = "configurazione";
  7812.     private static final String RISORSE_CONFIGURAZIONE_VALIDAZIONE_SEMANTICA = "configurazione.validazioneSemantica";
  7813.     private static final String RISORSE_REGISTRI = "registri";
  7814.     private static final String RISORSE_REGISTRI_VALIDAZIONE_SEMANTICA = "registri.validazioneSemantica";
  7815.    
  7816.     private static final String RISORSE_PROPERTY_NAME_CHECK = "org.openspcoop2.pdd.risorse.check.";

  7817.     private Boolean isAbilitatoControlloRisorseDB = null;
  7818.     public boolean isAbilitatoControlloRisorseDB() {    
  7819.         if(this.isAbilitatoControlloRisorseDB==null){
  7820.             this.isAbilitatoControlloRisorseDB = isAbilitatoControlloRisorse(RISORSE_DB);
  7821.         }
  7822.         return this.isAbilitatoControlloRisorseDB;
  7823.     }
  7824.     private Boolean isAbilitatoControlloRisorseJMS = null;
  7825.     public boolean isAbilitatoControlloRisorseJMS() {  
  7826.         if(this.isAbilitatoControlloRisorseJMS==null){
  7827.             this.isAbilitatoControlloRisorseJMS = isAbilitatoControlloRisorse(RISORSE_JMS);
  7828.         }
  7829.         return this.isAbilitatoControlloRisorseJMS;
  7830.     }
  7831.     private Boolean isAbilitatoControlloRisorseTracciamentiPersonalizzati = null;
  7832.     public boolean isAbilitatoControlloRisorseTracciamentiPersonalizzati() {    
  7833.         if(this.isAbilitatoControlloRisorseTracciamentiPersonalizzati==null){
  7834.             this.isAbilitatoControlloRisorseTracciamentiPersonalizzati = isAbilitatoControlloRisorse(RISORSE_TRACCIAMENTO);
  7835.         }
  7836.         return this.isAbilitatoControlloRisorseTracciamentiPersonalizzati;
  7837.     }
  7838.     private Boolean isAbilitatoControlloRisorseMsgDiagnosticiPersonalizzati = null;
  7839.     public boolean isAbilitatoControlloRisorseMsgDiagnosticiPersonalizzati() {  
  7840.         if(this.isAbilitatoControlloRisorseMsgDiagnosticiPersonalizzati==null){
  7841.             this.isAbilitatoControlloRisorseMsgDiagnosticiPersonalizzati = isAbilitatoControlloRisorse(RISORSE_MSGDIAGNOSTICI);
  7842.         }
  7843.         return this.isAbilitatoControlloRisorseMsgDiagnosticiPersonalizzati;
  7844.     }
  7845.     private Boolean isAbilitatoControlloRisorseConfigurazione = null;
  7846.     public boolean isAbilitatoControlloRisorseConfigurazione() {    
  7847.         if(this.isAbilitatoControlloRisorseConfigurazione==null){
  7848.             this.isAbilitatoControlloRisorseConfigurazione = isAbilitatoControlloRisorse(RISORSE_CONFIGURAZIONE);
  7849.         }
  7850.         return this.isAbilitatoControlloRisorseConfigurazione;
  7851.     }
  7852.     private Boolean isAbilitatoControlloValidazioneSemanticaConfigurazione = null;
  7853.     public boolean isAbilitatoControlloValidazioneSemanticaConfigurazione() {  
  7854.         if(this.isAbilitatoControlloValidazioneSemanticaConfigurazione==null){
  7855.             this.isAbilitatoControlloValidazioneSemanticaConfigurazione = isAbilitatoControlloRisorse(RISORSE_CONFIGURAZIONE_VALIDAZIONE_SEMANTICA);
  7856.         }
  7857.         return this.isAbilitatoControlloValidazioneSemanticaConfigurazione;
  7858.     }
  7859.     private Boolean isAbilitatoControlloRisorseRegistriServizi = null;
  7860.     public boolean isAbilitatoControlloRisorseRegistriServizi() {  
  7861.         if(this.isAbilitatoControlloRisorseRegistriServizi==null){
  7862.             this.isAbilitatoControlloRisorseRegistriServizi = isAbilitatoControlloRisorse(RISORSE_REGISTRI);
  7863.         }
  7864.         return this.isAbilitatoControlloRisorseRegistriServizi;
  7865.     }
  7866.     private Boolean isAbilitatoControlloValidazioneSemanticaRegistriServizi = null;
  7867.     public boolean isAbilitatoControlloValidazioneSemanticaRegistriServizi() {  
  7868.         if(this.isAbilitatoControlloValidazioneSemanticaRegistriServizi==null){
  7869.             this.isAbilitatoControlloValidazioneSemanticaRegistriServizi = isAbilitatoControlloRisorse(RISORSE_REGISTRI_VALIDAZIONE_SEMANTICA);
  7870.         }
  7871.         return this.isAbilitatoControlloValidazioneSemanticaRegistriServizi;
  7872.     }
  7873.     private boolean isAbilitatoControlloRisorse(String tipo) {  
  7874.         try{  
  7875.             String value = this.reader.getValueConvertEnvProperties(RISORSE_PROPERTY_NAME_CHECK+tipo);
  7876.             if(value==null){
  7877.                 this.logWarn(getMessaggioProprietaNonImpostata(RISORSE_PROPERTY_NAME_CHECK+tipo, false));
  7878.                 return false;
  7879.             }
  7880.             return CostantiConfigurazione.ABILITATO.equals(value);
  7881.         }catch(java.lang.Exception e) {
  7882.             this.logWarn(getMessaggioProprietaNonImpostata(RISORSE_PROPERTY_NAME_CHECK+tipo, e, false));
  7883.             return false;
  7884.         }
  7885.     }
  7886.     private Boolean isControlloRisorseRegistriRaggiungibilitaTotale = null;
  7887.     public boolean isControlloRisorseRegistriRaggiungibilitaTotale() {  
  7888.         if(this.isControlloRisorseRegistriRaggiungibilitaTotale==null){
  7889.             try{  
  7890.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.risorse.check.registri.tipo");
  7891.                 if(value==null){
  7892.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.risorse.check.registri.tipo' non impostata, viene utilizzato il default=false");
  7893.                     this.isControlloRisorseRegistriRaggiungibilitaTotale = false;
  7894.                 }
  7895.                 else
  7896.                     this.isControlloRisorseRegistriRaggiungibilitaTotale = "singolo".equals(value);
  7897.             }catch(java.lang.Exception e) {
  7898.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.risorse.check.registri.tipo' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  7899.                 this.isControlloRisorseRegistriRaggiungibilitaTotale = false;
  7900.             }
  7901.         }

  7902.         return this.isControlloRisorseRegistriRaggiungibilitaTotale;
  7903.     }
  7904.    
  7905.    
  7906.     private Integer getNumeroIterazioniFalliteControlloRisorseDB = null;
  7907.     public int getNumeroIterazioniFalliteControlloRisorseDB() {
  7908.         if(this.getNumeroIterazioniFalliteControlloRisorseDB==null){
  7909.             this.getNumeroIterazioniFalliteControlloRisorseDB = getNumeroIterazioniFalliteControlloRisorse(RISORSE_DB);
  7910.         }
  7911.         return this.getNumeroIterazioniFalliteControlloRisorseDB;
  7912.     }
  7913.     private Integer getNumeroIterazioniFalliteControlloRisorseJMS = null;
  7914.     public int getNumeroIterazioniFalliteControlloRisorseJMS() {    
  7915.         if(this.getNumeroIterazioniFalliteControlloRisorseJMS==null){
  7916.             this.getNumeroIterazioniFalliteControlloRisorseJMS = getNumeroIterazioniFalliteControlloRisorse(RISORSE_JMS);
  7917.         }
  7918.         return this.getNumeroIterazioniFalliteControlloRisorseJMS;
  7919.     }
  7920.     private Integer getNumeroIterazioniFalliteControlloRisorseTracciamentiPersonalizzati = null;
  7921.     public int getNumeroIterazioniFalliteControlloRisorseTracciamentiPersonalizzati() {
  7922.         if(this.getNumeroIterazioniFalliteControlloRisorseTracciamentiPersonalizzati==null){
  7923.             this.getNumeroIterazioniFalliteControlloRisorseTracciamentiPersonalizzati = getNumeroIterazioniFalliteControlloRisorse(RISORSE_TRACCIAMENTO);
  7924.         }
  7925.         return this.getNumeroIterazioniFalliteControlloRisorseTracciamentiPersonalizzati;
  7926.     }
  7927.     private Integer getNumeroIterazioniFalliteControlloRisorseMsgDiagnosticiPersonalizzati = null;
  7928.     public int getNumeroIterazioniFalliteControlloRisorseMsgDiagnosticiPersonalizzati() {  
  7929.         if(this.getNumeroIterazioniFalliteControlloRisorseMsgDiagnosticiPersonalizzati==null){
  7930.             this.getNumeroIterazioniFalliteControlloRisorseMsgDiagnosticiPersonalizzati = getNumeroIterazioniFalliteControlloRisorse(RISORSE_MSGDIAGNOSTICI);
  7931.         }
  7932.         return this.getNumeroIterazioniFalliteControlloRisorseMsgDiagnosticiPersonalizzati;
  7933.     }
  7934.     private Integer getNumeroIterazioniFalliteControlloRisorseConfigurazione = null;
  7935.     public int getNumeroIterazioniFalliteControlloRisorseConfigurazione() {
  7936.         if(this.getNumeroIterazioniFalliteControlloRisorseConfigurazione==null){
  7937.             this.getNumeroIterazioniFalliteControlloRisorseConfigurazione = getNumeroIterazioniFalliteControlloRisorse(RISORSE_CONFIGURAZIONE);
  7938.         }
  7939.         return this.getNumeroIterazioniFalliteControlloRisorseConfigurazione;
  7940.     }
  7941.     private Integer getNumeroIterazioniFalliteControlloRisorseRegistriServizi = null;
  7942.     public int getNumeroIterazioniFalliteControlloRisorseRegistriServizi() {    
  7943.         if(this.getNumeroIterazioniFalliteControlloRisorseRegistriServizi==null){
  7944.             this.getNumeroIterazioniFalliteControlloRisorseRegistriServizi = getNumeroIterazioniFalliteControlloRisorse(RISORSE_REGISTRI);
  7945.         }
  7946.         return this.getNumeroIterazioniFalliteControlloRisorseRegistriServizi;
  7947.     }
  7948.     private int getNumeroIterazioniFalliteControlloRisorse(String tipo) {  
  7949.         try{  
  7950.             String value = this.reader.getValueConvertEnvProperties(RISORSE_PROPERTY_NAME_CHECK+tipo+".iterazioni");
  7951.             if(value==null){
  7952.                 this.logWarn("Proprieta' di openspcoop '"+RISORSE_PROPERTY_NAME_CHECK+""+tipo+".iterazioni' non impostata, viene utilizzato il default=1");
  7953.                 return 1;
  7954.             }
  7955.             return Integer.parseInt(value);
  7956.         }catch(java.lang.Exception e) {
  7957.             this.logWarn("Proprieta' di openspcoop '"+RISORSE_PROPERTY_NAME_CHECK+""+tipo+"' non impostata, viene utilizzato il default=1, errore:"+e.getMessage(),e);
  7958.             return 1;
  7959.         }
  7960.     }
  7961.    
  7962.     private Integer getIterazioniFalliteCheckIntervalControlloRisorseDB = null;
  7963.     public int getIterazioniFalliteCheckIntervalControlloRisorseDB() {  
  7964.         if(this.getIterazioniFalliteCheckIntervalControlloRisorseDB==null){
  7965.             this.getIterazioniFalliteCheckIntervalControlloRisorseDB = getIterazioniFalliteCheckIntervalControlloRisorse(RISORSE_DB);
  7966.         }
  7967.         return this.getIterazioniFalliteCheckIntervalControlloRisorseDB;
  7968.     }
  7969.     private Integer getIterazioniFalliteCheckIntervalControlloRisorseJMS = null;
  7970.     public int getIterazioniFalliteCheckIntervalControlloRisorseJMS() {
  7971.         if(this.getIterazioniFalliteCheckIntervalControlloRisorseJMS==null){
  7972.             this.getIterazioniFalliteCheckIntervalControlloRisorseJMS = getIterazioniFalliteCheckIntervalControlloRisorse(RISORSE_JMS);
  7973.         }
  7974.         return this.getIterazioniFalliteCheckIntervalControlloRisorseJMS;
  7975.     }
  7976.     private Integer getIterazioniFalliteCheckIntervalControlloRisorseTracciamentiPersonalizzati = null;
  7977.     public int getIterazioniFalliteCheckIntervalControlloRisorseTracciamentiPersonalizzati() {  
  7978.         if(this.getIterazioniFalliteCheckIntervalControlloRisorseTracciamentiPersonalizzati==null){
  7979.             this.getIterazioniFalliteCheckIntervalControlloRisorseTracciamentiPersonalizzati = getIterazioniFalliteCheckIntervalControlloRisorse(RISORSE_TRACCIAMENTO);
  7980.         }
  7981.         return this.getIterazioniFalliteCheckIntervalControlloRisorseTracciamentiPersonalizzati;
  7982.     }
  7983.     private Integer getIterazioniFalliteCheckIntervalControlloRisorseMsgDiagnosticiPersonalizzati = null;
  7984.     public int getIterazioniFalliteCheckIntervalControlloRisorseMsgDiagnosticiPersonalizzati() {    
  7985.         if(this.getIterazioniFalliteCheckIntervalControlloRisorseMsgDiagnosticiPersonalizzati==null){
  7986.             this.getIterazioniFalliteCheckIntervalControlloRisorseMsgDiagnosticiPersonalizzati = getIterazioniFalliteCheckIntervalControlloRisorse(RISORSE_MSGDIAGNOSTICI);
  7987.         }
  7988.         return this.getIterazioniFalliteCheckIntervalControlloRisorseMsgDiagnosticiPersonalizzati;
  7989.     }
  7990.     private Integer getIterazioniFalliteCheckIntervalControlloRisorseConfigurazione = null;
  7991.     public int getIterazioniFalliteCheckIntervalControlloRisorseConfigurazione() {  
  7992.         if(this.getIterazioniFalliteCheckIntervalControlloRisorseConfigurazione==null){
  7993.             this.getIterazioniFalliteCheckIntervalControlloRisorseConfigurazione = getIterazioniFalliteCheckIntervalControlloRisorse(RISORSE_CONFIGURAZIONE);
  7994.         }
  7995.         return this.getIterazioniFalliteCheckIntervalControlloRisorseConfigurazione;
  7996.     }
  7997.     private Integer getIterazioniFalliteCheckIntervalControlloRisorseRegistriServizi = null;
  7998.     public int getIterazioniFalliteCheckIntervalControlloRisorseRegistriServizi() {
  7999.         if(this.getIterazioniFalliteCheckIntervalControlloRisorseRegistriServizi==null){
  8000.             this.getIterazioniFalliteCheckIntervalControlloRisorseRegistriServizi = getIterazioniFalliteCheckIntervalControlloRisorse(RISORSE_REGISTRI);
  8001.         }
  8002.         return this.getIterazioniFalliteCheckIntervalControlloRisorseRegistriServizi;
  8003.     }
  8004.     private int getIterazioniFalliteCheckIntervalControlloRisorse(String tipo) {    
  8005.         try{  
  8006.             String value = this.reader.getValueConvertEnvProperties(RISORSE_PROPERTY_NAME_CHECK+tipo+".checkInterval");
  8007.             if(value==null){
  8008.                 this.logWarn("Proprieta' di openspcoop '"+RISORSE_PROPERTY_NAME_CHECK+""+tipo+".checkInterval' non impostata, viene utilizzato il default=500");
  8009.                 return 500;
  8010.             }
  8011.             return Integer.parseInt(value);
  8012.         }catch(java.lang.Exception e) {
  8013.             this.logWarn("Proprieta' di openspcoop '"+RISORSE_PROPERTY_NAME_CHECK+""+tipo+".checkInterval' non impostata, viene utilizzato il default=500, errore:"+e.getMessage(),e);
  8014.             return 500;
  8015.         }
  8016.     }
  8017.    
  8018.     /**
  8019.      * Restituisce l'intervallo per il timer di Threshold
  8020.      *
  8021.      * @return Restituisce l'intervallo per il timer di Threshold
  8022.      *
  8023.      */
  8024.     private Long controlloRisorseCheckInterval = null;
  8025.     public long getControlloRisorseCheckInterval() {    
  8026.         if(this.controlloRisorseCheckInterval==null){
  8027.             try{
  8028.                 String name = null;
  8029.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.risorse.checkInterval");
  8030.                 if(name!=null){
  8031.                     name = name.trim();
  8032.                     this.controlloRisorseCheckInterval = java.lang.Long.parseLong(name);
  8033.                 }else{
  8034.                     this.controlloRisorseCheckInterval = 0L;
  8035.                 }
  8036.             }catch(java.lang.Exception e) {
  8037.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.risorse.checkInterval': "+e.getMessage(),e);
  8038.                 this.controlloRisorseCheckInterval = -1L;
  8039.             }    
  8040.         }

  8041.         return this.controlloRisorseCheckInterval;
  8042.     }

  8043.     private Boolean isControlloRisorseRegistrazioneEvento = null;
  8044.     public boolean isControlloRisorseRegistrazioneEvento() {    
  8045.         if(this.isControlloRisorseRegistrazioneEvento==null){
  8046.             try{
  8047.                 String name = null;
  8048.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.risorse.registraEvento");
  8049.                 if(name==null){
  8050.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.risorse.registraEvento' non impostata, viene utilizzato il default=true");
  8051.                     name="true";
  8052.                 }
  8053.                 name = name.trim();
  8054.                 this.isControlloRisorseRegistrazioneEvento = Boolean.parseBoolean(name);
  8055.             } catch(java.lang.Exception e) {
  8056.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.risorse.registraEvento', viene utilizzato il default=true : "+e.getMessage(),e);
  8057.                 this.isControlloRisorseRegistrazioneEvento = true;
  8058.             }    
  8059.         }

  8060.         return this.isControlloRisorseRegistrazioneEvento;
  8061.     }






  8062.     /* ******** ERRORE APPLICATIVO  ******** */

  8063.     /**
  8064.      * Restituisce le proprieta' di default utilizzate dalla porta di dominio per invocazioni di porte delegate che generano errori
  8065.      *
  8066.      * @return Restituisce le proprieta' di default utilizzate dalla porta di dominio per invocazioni di porte delegate che generano errori
  8067.      *
  8068.      */
  8069.     private ProprietaErroreApplicativo proprietaGestioneErrorePD = null;
  8070.     public ProprietaErroreApplicativo getProprietaGestioneErrorePD(IProtocolManager protocolManager){
  8071.         return getProprietaGestioneErrorePD_engine(protocolManager,false);
  8072.     }
  8073.     private ProprietaErroreApplicativo getProprietaGestioneErrorePD_engine(IProtocolManager protocolManager,boolean testPerValidazione){
  8074.         if(this.proprietaGestioneErrorePD==null){
  8075.             String fault = null;
  8076.             try{  
  8077.                 fault = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.erroreApplicativo.fault");
  8078.                 if(fault==null)
  8079.                     throw new CoreException(NON_DEFINITA);
  8080.                 fault = fault.trim();      
  8081.             }catch(java.lang.Exception e) {
  8082.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.erroreApplicativo.fault': "+e.getMessage(),e);
  8083.                 return null;
  8084.             }

  8085.             String faultCodeIntegrationNamespace = null;
  8086.             try{  
  8087.                 faultCodeIntegrationNamespace = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.erroreApplicativo.faultCode.integrationNamespace");
  8088.                 if(faultCodeIntegrationNamespace!=null) {
  8089.                     faultCodeIntegrationNamespace = faultCodeIntegrationNamespace.trim();
  8090.                 }
  8091.             }catch(java.lang.Exception e) {
  8092.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.erroreApplicativo.faultCode.integrationNamespace': "+e.getMessage(),e);
  8093.             }
  8094.            
  8095.             String faultCodeProtocolNamespace = null;
  8096.             try{  
  8097.                 faultCodeProtocolNamespace = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.erroreApplicativo.faultCode.protocolNamespace");
  8098.                 if(faultCodeProtocolNamespace!=null) {
  8099.                     faultCodeProtocolNamespace = faultCodeProtocolNamespace.trim();
  8100.                 }
  8101.             }catch(java.lang.Exception e) {
  8102.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.erroreApplicativo.faultCode.protocolNamespace': "+e.getMessage(),e);
  8103.             }
  8104.            
  8105.             String faultActor = null;
  8106.             try{  
  8107.                 faultActor = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.erroreApplicativo.faultActor");
  8108.                 if(faultActor==null)
  8109.                     throw new CoreException(NON_DEFINITA);
  8110.                 faultActor = faultActor.trim();    
  8111.             }catch(java.lang.Exception e) {
  8112.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.erroreApplicativo.faultActor': "+e.getMessage(),e);
  8113.                 return null;
  8114.             }

  8115.             String faultGeneric = null;
  8116.             try{  
  8117.                 faultGeneric = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.erroreApplicativo.genericFaultCode");
  8118.                 if(faultGeneric==null)
  8119.                     throw new CoreException(NON_DEFINITA);
  8120.                 faultGeneric = faultGeneric.trim();    
  8121.             }catch(java.lang.Exception e) {
  8122.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.erroreApplicativo.genericFaultCode': "+e.getMessage(),e);
  8123.                 return null;
  8124.             }

  8125.             String faultPrefix = null;
  8126.             try{  
  8127.                 faultPrefix = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.erroreApplicativo.prefixFaultCode");
  8128.                 if(faultPrefix!=null)
  8129.                     faultPrefix = faultPrefix.trim();      
  8130.             }catch(java.lang.Exception e) {
  8131.                 // proprieta' che puo' non essere definita (default GOVWAY-)
  8132.             }

  8133.             ProprietaErroreApplicativo gestione = new ProprietaErroreApplicativo();
  8134.             if(CostantiConfigurazione.ERRORE_APPLICATIVO_XML.equals(fault))
  8135.                 gestione.setFaultAsXML(true);
  8136.             else
  8137.                 gestione.setFaultAsXML(false); // default: ERRORE_APPLICATIVO_SOAP
  8138.             gestione.setDefaultFaultCodeIntegrationNamespace(faultCodeIntegrationNamespace);
  8139.             gestione.setDefaultFaultCodeProtocolNamespace(faultCodeProtocolNamespace);
  8140.             gestione.setFaultActor(faultActor);
  8141.             if(CostantiConfigurazione.ABILITATO.equals(faultGeneric))
  8142.                 gestione.setFaultAsGenericCode(true);
  8143.             else
  8144.                 gestione.setFaultAsGenericCode(false); // default: false
  8145.             gestione.setFaultPrefixCode(faultPrefix);

  8146.             gestione.setInsertAsDetails(this.isErroreApplicativoIntoDetails());
  8147.            
  8148.             gestione.setAggiungiDetailErroreApplicativo_SoapFaultApplicativo(this.isAggiungiDetailErroreApplicativo_SoapFaultApplicativo());
  8149.            
  8150.             gestione.setAggiungiDetailErroreApplicativo_SoapFaultPdD(this.isAggiungiDetailErroreApplicativo_SoapFaultPdD());

  8151.             this.proprietaGestioneErrorePD = gestione;
  8152.         }

  8153.         ProprietaErroreApplicativo pNew = new ProprietaErroreApplicativo();
  8154.         pNew.setDominio(this.proprietaGestioneErrorePD.getDominio());
  8155.         pNew.setDefaultFaultCodeIntegrationNamespace(this.proprietaGestioneErrorePD.getDefaultFaultCodeIntegrationNamespace());
  8156.         pNew.setDefaultFaultCodeProtocolNamespace(this.proprietaGestioneErrorePD.getDefaultFaultCodeProtocolNamespace());
  8157.         pNew.setFaultActor(this.proprietaGestioneErrorePD.getFaultActor());
  8158.         pNew.setFaultAsGenericCode(this.proprietaGestioneErrorePD.isFaultAsGenericCode());
  8159.         pNew.setFaultAsXML(this.proprietaGestioneErrorePD.isFaultAsXML());
  8160.         pNew.setFaultPrefixCode(this.proprietaGestioneErrorePD.getFaultPrefixCode());
  8161.         pNew.setIdModulo(this.proprietaGestioneErrorePD.getIdModulo());
  8162.         pNew.setInsertAsDetails(this.proprietaGestioneErrorePD.isInsertAsDetails());
  8163.         pNew.setAggiungiDetailErroreApplicativo_SoapFaultApplicativo(this.proprietaGestioneErrorePD.isAggiungiDetailErroreApplicativo_SoapFaultApplicativo());
  8164.         pNew.setAggiungiDetailErroreApplicativo_SoapFaultPdD(this.proprietaGestioneErrorePD.isAggiungiDetailErroreApplicativo_SoapFaultPdD());
  8165.         if(protocolManager!=null){
  8166.             FaultIntegrationGenericInfoMode sf = protocolManager.getModalitaGenerazioneInformazioniGeneriche_DetailsFaultIntegrazione();
  8167.             if(FaultIntegrationGenericInfoMode.SERVIZIO_APPLICATIVO.equals(sf)){
  8168.                 pNew.setInformazioniGenericheDetailsOpenSPCoop(null);
  8169.             }
  8170.             else if(FaultIntegrationGenericInfoMode.ABILITATO.equals(sf)){
  8171.                 pNew.setInformazioniGenericheDetailsOpenSPCoop(true);
  8172.             }
  8173.             else if(FaultIntegrationGenericInfoMode.DISABILITATO.equals(sf)){
  8174.                 pNew.setInformazioniGenericheDetailsOpenSPCoop(false);
  8175.             }
  8176.            
  8177.             BooleanNullable enrichNullable = protocolManager.isAggiungiDetailErroreApplicativo_FaultApplicativo();
  8178.             if(enrichNullable!=null && enrichNullable.getValue()!=null){
  8179.                 pNew.setAggiungiDetailErroreApplicativo_SoapFaultApplicativo(enrichNullable.getValue());
  8180.             }
  8181.            
  8182.             enrichNullable = protocolManager.isAggiungiDetailErroreApplicativo_FaultPdD();
  8183.             if(enrichNullable!=null && enrichNullable.getValue()!=null){
  8184.                 pNew.setAggiungiDetailErroreApplicativo_SoapFaultPdD(enrichNullable.getValue());
  8185.             }
  8186.            
  8187.         }else{
  8188.             pNew.setInformazioniGenericheDetailsOpenSPCoop(null); // default
  8189.         }
  8190.         return pNew;
  8191.     }


  8192.     private Locale localeSOAPFaultString = null;
  8193.     private Boolean localeSOAPFaultStringRead = null;
  8194.     public Locale getLocaleSOAPFaultString(){
  8195.         if(this.localeSOAPFaultStringRead==null){
  8196.             try{  
  8197.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.erroreApplicativo.faultString.language");
  8198.                 if (value != null){
  8199.                     value = value.trim();
  8200.                    
  8201.                     String language = value;
  8202.                    
  8203.                     String country = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.erroreApplicativo.faultString.country");
  8204.                     if(country!=null) {
  8205.                         country = country.trim();
  8206.                     }
  8207.                    
  8208.                     String variant = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.erroreApplicativo.faultString.variant");
  8209.                     if(variant!=null) {
  8210.                         variant = variant.trim();
  8211.                     }
  8212.                    
  8213.                     this.localeSOAPFaultString = new Locale(language, country, variant);
  8214.                 }else{
  8215.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.erroreApplicativo.faultString.language' non impostata, viene utilizzato il default="+Locale.getDefault());
  8216.                 }
  8217.             }catch(java.lang.Exception e) {
  8218.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.erroreApplicativo.faultString.language' non impostata, viene utilizzato il default="+Locale.getDefault()+", errore:"+e.getMessage(),e);
  8219.             }
  8220.             this.localeSOAPFaultStringRead = true;
  8221.         }

  8222.         return this.localeSOAPFaultString;
  8223.     }
  8224.    

  8225.     /**
  8226.      * Indicazione se l'errore applicativo deve essere inserito in un details.
  8227.      *  
  8228.      * @return Indicazione se l'errore applicativo deve essere inserito in un details.
  8229.      *
  8230.      */
  8231.     private Boolean isErroreApplicativoIntoDetails = null;
  8232.     public boolean isErroreApplicativoIntoDetails(){
  8233.         if(this.isErroreApplicativoIntoDetails==null){
  8234.             try{  
  8235.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.erroreApplicativo.fault.details");

  8236.                 if (value != null){
  8237.                     value = value.trim();
  8238.                     this.isErroreApplicativoIntoDetails = Boolean.parseBoolean(value);
  8239.                 }else{
  8240.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.erroreApplicativo.fault.details' non impostata, viene utilizzato il default=true");
  8241.                     this.isErroreApplicativoIntoDetails = true;
  8242.                 }

  8243.             }catch(java.lang.Exception e) {
  8244.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.erroreApplicativo.fault.details' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  8245.                 this.isErroreApplicativoIntoDetails = true;
  8246.             }
  8247.         }

  8248.         return this.isErroreApplicativoIntoDetails;
  8249.     }
  8250.    
  8251.    
  8252.     /**
  8253.      * Indicazione se aggiungere un detail contenente descrizione dell'errore nel SoapFaultApplicativo originale
  8254.      *
  8255.      * @return Indicazione se aggiungere un detail contenente descrizione dell'errore nel SoapFaultApplicativo originale
  8256.      */
  8257.     private Boolean isAggiungiDetailErroreApplicativo_SoapFaultApplicativo = null;
  8258.     public boolean isAggiungiDetailErroreApplicativo_SoapFaultApplicativo(){
  8259.         if(this.isAggiungiDetailErroreApplicativo_SoapFaultApplicativo==null){
  8260.             try{  
  8261.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.erroreApplicativo.faultApplicativo.enrichDetails");

  8262.                 if (value != null){
  8263.                     value = value.trim();
  8264.                     this.isAggiungiDetailErroreApplicativo_SoapFaultApplicativo = Boolean.parseBoolean(value);
  8265.                 }else{
  8266.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.erroreApplicativo.faultApplicativo.enrichDetails' non impostata, viene utilizzato il default=true");
  8267.                     this.isAggiungiDetailErroreApplicativo_SoapFaultApplicativo = true;
  8268.                 }

  8269.             }catch(java.lang.Exception e) {
  8270.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.erroreApplicativo.faultApplicativo.enrichDetails' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  8271.                 this.isAggiungiDetailErroreApplicativo_SoapFaultApplicativo = true;
  8272.             }
  8273.         }

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

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

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

  8300.         return this.isAggiungiDetailErroreApplicativo_SoapFaultPdD;
  8301.     }
  8302.    
  8303.    
  8304.    
  8305.     private String getErroriHttpHeaderGovWayStatus = null;
  8306.     public String getErroriHttpHeaderGovWayStatus(){
  8307.        
  8308.         String pName = "org.openspcoop2.pdd.errori.http.govwayStatus";
  8309.         if(this.getErroriHttpHeaderGovWayStatus==null){
  8310.             try{  
  8311.                 String name = this.reader.getValueConvertEnvProperties(pName);
  8312.                 if(name==null)
  8313.                     throw new CoreException(NON_DEFINITA);
  8314.                 name = name.trim();
  8315.                 this.getErroriHttpHeaderGovWayStatus = name;

  8316.             }catch(java.lang.Exception e) {
  8317.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,org.openspcoop2.protocol.basic.Costanti._internal_getHTTP_HEADER_GOVWAY_ERROR_STATUS()),e);
  8318.                 this.getErroriHttpHeaderGovWayStatus = org.openspcoop2.protocol.basic.Costanti._internal_getHTTP_HEADER_GOVWAY_ERROR_STATUS();
  8319.             }
  8320.         }

  8321.         return this.getErroriHttpHeaderGovWayStatus;
  8322.     }
  8323.    
  8324.     private String getErroriHttpHeaderGovWayType = null;
  8325.     public String getErroriHttpHeaderGovWayType(){
  8326.        
  8327.         String pName = "org.openspcoop2.pdd.errori.http.govwayType";
  8328.         if(this.getErroriHttpHeaderGovWayType==null){
  8329.             try{  
  8330.                 String name = this.reader.getValueConvertEnvProperties(pName);
  8331.                 if(name==null)
  8332.                     throw new CoreException(NON_DEFINITA);
  8333.                 name = name.trim();
  8334.                 this.getErroriHttpHeaderGovWayType = name;

  8335.             }catch(java.lang.Exception e) {
  8336.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,org.openspcoop2.protocol.basic.Costanti._internal_getHTTP_HEADER_GOVWAY_ERROR_TYPE()),e);
  8337.                 this.getErroriHttpHeaderGovWayType = org.openspcoop2.protocol.basic.Costanti._internal_getHTTP_HEADER_GOVWAY_ERROR_TYPE();
  8338.             }
  8339.         }

  8340.         return this.getErroriHttpHeaderGovWayType;
  8341.     }
  8342.    
  8343.     private String getErroriHttpHeaderGovWayCode = null;
  8344.     public String getErroriHttpHeaderGovWayCode(){
  8345.        
  8346.         String pName = "org.openspcoop2.pdd.errori.http.govwayCode";
  8347.         if(this.getErroriHttpHeaderGovWayCode==null){
  8348.             try{  
  8349.                 String name = this.reader.getValueConvertEnvProperties(pName);
  8350.                 if(name==null)
  8351.                     throw new CoreException(NON_DEFINITA);
  8352.                 name = name.trim();
  8353.                 this.getErroriHttpHeaderGovWayCode = name;

  8354.             }catch(java.lang.Exception e) {
  8355.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,org.openspcoop2.protocol.basic.Costanti._internal_getHTTP_HEADER_GOVWAY_ERROR_CODE()),e);
  8356.                 this.getErroriHttpHeaderGovWayCode = org.openspcoop2.protocol.basic.Costanti._internal_getHTTP_HEADER_GOVWAY_ERROR_CODE();
  8357.             }
  8358.         }

  8359.         return this.getErroriHttpHeaderGovWayCode;
  8360.     }
  8361.    
  8362.    
  8363.    
  8364.     private Boolean isErroriSoapUseGovWayStatusAsFaultCode = null;
  8365.     public boolean isErroriSoapUseGovWayStatusAsFaultCode(){
  8366.         if(this.isErroriSoapUseGovWayStatusAsFaultCode==null){
  8367.             String pName = "org.openspcoop2.pdd.errori.soap.useGovWayStatusAsFaultCode";
  8368.             try{  
  8369.                 String value = this.reader.getValueConvertEnvProperties(pName);

  8370.                 if (value != null){
  8371.                     value = value.trim();
  8372.                     this.isErroriSoapUseGovWayStatusAsFaultCode = Boolean.parseBoolean(value);
  8373.                 }else{
  8374.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  8375.                     this.isErroriSoapUseGovWayStatusAsFaultCode = false;
  8376.                 }

  8377.             }catch(java.lang.Exception e) {
  8378.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  8379.                 this.isErroriSoapUseGovWayStatusAsFaultCode = false;
  8380.             }
  8381.         }

  8382.         return this.isErroriSoapUseGovWayStatusAsFaultCode;
  8383.     }
  8384.    
  8385.     private Boolean isErroriSoapHttpHeaderGovWayCodeEnabled = null;
  8386.     public boolean isErroriSoapHttpHeaderGovWayCodeEnabled(){
  8387.         if(this.isErroriSoapHttpHeaderGovWayCodeEnabled==null){
  8388.             String pName = "org.openspcoop2.pdd.errori.soap.HttpHeaderGovWayCode.enabled";
  8389.             try{  
  8390.                 String value = this.reader.getValueConvertEnvProperties(pName);

  8391.                 if (value != null){
  8392.                     value = value.trim();
  8393.                     this.isErroriSoapHttpHeaderGovWayCodeEnabled = Boolean.parseBoolean(value);
  8394.                 }else{
  8395.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  8396.                     this.isErroriSoapHttpHeaderGovWayCodeEnabled = false;
  8397.                 }

  8398.             }catch(java.lang.Exception e) {
  8399.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  8400.                 this.isErroriSoapHttpHeaderGovWayCodeEnabled = false;
  8401.             }
  8402.         }

  8403.         return this.isErroriSoapHttpHeaderGovWayCodeEnabled;
  8404.     }
  8405.    
  8406.     private Boolean isErroriGovWayStatusEnabled = null;
  8407.     public boolean isErroriGovWayStatusEnabled(){
  8408.         if(this.isErroriGovWayStatusEnabled==null){
  8409.             String pName = "org.openspcoop2.pdd.errori.status";
  8410.             try{  
  8411.                 String value = this.reader.getValueConvertEnvProperties(pName);

  8412.                 if (value != null){
  8413.                     value = value.trim();
  8414.                     this.isErroriGovWayStatusEnabled = Boolean.parseBoolean(value);
  8415.                 }else{
  8416.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  8417.                     this.isErroriGovWayStatusEnabled = false;
  8418.                 }

  8419.             }catch(java.lang.Exception e) {
  8420.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  8421.                 this.isErroriGovWayStatusEnabled = false;
  8422.             }
  8423.         }

  8424.         return this.isErroriGovWayStatusEnabled;
  8425.     }
  8426.    
  8427.     private Boolean isErroriGovWayInstanceEnabled = null;
  8428.     public boolean isErroriGovWayInstanceEnabled(){
  8429.         if(this.isErroriGovWayInstanceEnabled==null){
  8430.             String pName = "org.openspcoop2.pdd.errori.instance";
  8431.             try{  
  8432.                 String value = this.reader.getValueConvertEnvProperties(pName);

  8433.                 if (value != null){
  8434.                     value = value.trim();
  8435.                     this.isErroriGovWayInstanceEnabled = Boolean.parseBoolean(value);
  8436.                 }else{
  8437.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  8438.                     this.isErroriGovWayInstanceEnabled = false;
  8439.                 }

  8440.             }catch(java.lang.Exception e) {
  8441.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  8442.                 this.isErroriGovWayInstanceEnabled = false;
  8443.             }
  8444.         }

  8445.         return this.isErroriGovWayInstanceEnabled;
  8446.     }
  8447.    
  8448.     private Boolean isErroriGovWayForceSpecificDetails = null;
  8449.     public boolean isErroriGovWayForceSpecificDetails(){
  8450.         if(this.isErroriGovWayForceSpecificDetails==null){
  8451.             String pName = "org.openspcoop2.pdd.errori.forceSpecificDetails";
  8452.             try{  
  8453.                 String value = this.reader.getValueConvertEnvProperties(pName);

  8454.                 if (value != null){
  8455.                     value = value.trim();
  8456.                     this.isErroriGovWayForceSpecificDetails = Boolean.parseBoolean(value);
  8457.                 }else{
  8458.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  8459.                     this.isErroriGovWayForceSpecificDetails = false;
  8460.                 }

  8461.             }catch(java.lang.Exception e) {
  8462.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  8463.                 this.isErroriGovWayForceSpecificDetails = false;
  8464.             }
  8465.         }

  8466.         return this.isErroriGovWayForceSpecificDetails;
  8467.     }
  8468.    
  8469.     private Boolean isErroriGovWayFaultDetailsWithProblemRFC7807 = null;
  8470.     public boolean isErroriGovWayFaultDetailsWithProblemRFC7807(){
  8471.         if(this.isErroriGovWayFaultDetailsWithProblemRFC7807==null){
  8472.             String pName = "org.openspcoop2.pdd.errori.faultDetailsWithProblemRFC7807";
  8473.             try{  
  8474.                 String value = this.reader.getValueConvertEnvProperties(pName);

  8475.                 if (value != null){
  8476.                     value = value.trim();
  8477.                     this.isErroriGovWayFaultDetailsWithProblemRFC7807 = Boolean.parseBoolean(value);
  8478.                 }else{
  8479.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  8480.                     this.isErroriGovWayFaultDetailsWithProblemRFC7807 = false;
  8481.                 }

  8482.             }catch(java.lang.Exception e) {
  8483.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  8484.                 this.isErroriGovWayFaultDetailsWithProblemRFC7807 = false;
  8485.             }
  8486.         }

  8487.         return this.isErroriGovWayFaultDetailsWithProblemRFC7807;
  8488.     }
  8489.    
  8490.    
  8491.    
  8492.    
  8493.     private Boolean isProblemRFC7807_enrichTitleAsGovWayType = null;
  8494.     public boolean isProblemRFC7807_enrichTitleAsGovWayType(){
  8495.         if(this.isProblemRFC7807_enrichTitleAsGovWayType==null){
  8496.             String pName = "org.openspcoop2.pdd.problemRFC7807.enrichTitleAsGovWayType";
  8497.             try{  
  8498.                 String value = this.reader.getValueConvertEnvProperties(pName);

  8499.                 if (value != null){
  8500.                     value = value.trim();
  8501.                     this.isProblemRFC7807_enrichTitleAsGovWayType = Boolean.parseBoolean(value);
  8502.                 }else{
  8503.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  8504.                     this.isProblemRFC7807_enrichTitleAsGovWayType = true;
  8505.                 }

  8506.             }catch(java.lang.Exception e) {
  8507.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  8508.                 this.isProblemRFC7807_enrichTitleAsGovWayType = true;
  8509.             }
  8510.         }

  8511.         return this.isProblemRFC7807_enrichTitleAsGovWayType;
  8512.     }
  8513.    
  8514.    
  8515.     private Boolean isProblemRFC7807_enrichTitleAsGovWayType_camelCaseDecode = null;
  8516.     public boolean isProblemRFC7807_enrichTitleAsGovWayType_camelCaseDecode(){
  8517.         if(this.isProblemRFC7807_enrichTitleAsGovWayType_camelCaseDecode==null){
  8518.             String pName = "org.openspcoop2.pdd.problemRFC7807.enrichTitleAsGovWayType.camelCaseDecode";
  8519.             try{  
  8520.                 String value = this.reader.getValueConvertEnvProperties(pName);

  8521.                 if (value != null){
  8522.                     value = value.trim();
  8523.                     this.isProblemRFC7807_enrichTitleAsGovWayType_camelCaseDecode = Boolean.parseBoolean(value);
  8524.                 }else{
  8525.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  8526.                     this.isProblemRFC7807_enrichTitleAsGovWayType_camelCaseDecode = false;
  8527.                 }

  8528.             }catch(java.lang.Exception e) {
  8529.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  8530.                 this.isProblemRFC7807_enrichTitleAsGovWayType_camelCaseDecode = false;
  8531.             }
  8532.         }

  8533.         return this.isProblemRFC7807_enrichTitleAsGovWayType_camelCaseDecode;
  8534.     }
  8535.    
  8536.    
  8537.     private Boolean isProblemRFC7807_enrichTitleAsGovWayType_customClaim = null;
  8538.     public boolean isProblemRFC7807_enrichTitleAsGovWayType_customClaim(){
  8539.         if(this.isProblemRFC7807_enrichTitleAsGovWayType_customClaim==null){
  8540.             String pName = "org.openspcoop2.pdd.problemRFC7807.enrichTitleAsGovWayType.customClaim";
  8541.             try{  
  8542.                 String value = this.reader.getValueConvertEnvProperties(pName);

  8543.                 if (value != null){
  8544.                     value = value.trim();
  8545.                     this.isProblemRFC7807_enrichTitleAsGovWayType_customClaim = Boolean.parseBoolean(value);
  8546.                 }else{
  8547.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  8548.                     this.isProblemRFC7807_enrichTitleAsGovWayType_customClaim = false;
  8549.                 }

  8550.             }catch(java.lang.Exception e) {
  8551.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  8552.                 this.isProblemRFC7807_enrichTitleAsGovWayType_customClaim = false;
  8553.             }
  8554.         }

  8555.         return this.isProblemRFC7807_enrichTitleAsGovWayType_customClaim;
  8556.     }
  8557.    

  8558.     private String getProblemRFC7807_transactionId_claim = null;
  8559.     public String getProblemRFC7807_transactionId_claim(){
  8560.        
  8561.         String pName = "org.openspcoop2.pdd.problemRFC7807.transactionId.claim";
  8562.         if(this.getProblemRFC7807_transactionId_claim==null){
  8563.             try{  
  8564.                 String fault = this.reader.getValueConvertEnvProperties(pName);
  8565.                 if(fault==null)
  8566.                     throw new CoreException(NON_DEFINITA);
  8567.                 fault = fault.trim();
  8568.                 this.getProblemRFC7807_transactionId_claim = fault;

  8569.             }catch(java.lang.Exception e) {
  8570.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,org.openspcoop2.protocol.basic.Costanti._internal_getPROBLEM_RFC7807_GOVWAY_TRANSACTION_ID()),e);
  8571.                 this.getProblemRFC7807_transactionId_claim = org.openspcoop2.protocol.basic.Costanti._internal_getPROBLEM_RFC7807_GOVWAY_TRANSACTION_ID();
  8572.             }
  8573.         }

  8574.         return this.getProblemRFC7807_transactionId_claim;
  8575.     }
  8576.    
  8577.     private String getProblemRFC7807_code_claim = null;
  8578.     public String getProblemRFC7807_code_claim(){
  8579.        
  8580.         String pName = "org.openspcoop2.pdd.problemRFC7807.code.claim";
  8581.         if(this.getProblemRFC7807_code_claim==null){
  8582.             try{  
  8583.                 String fault = this.reader.getValueConvertEnvProperties(pName);
  8584.                 if(fault==null)
  8585.                     throw new CoreException(NON_DEFINITA);
  8586.                 fault = fault.trim();
  8587.                 this.getProblemRFC7807_code_claim = fault;

  8588.             }catch(java.lang.Exception e) {
  8589.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,org.openspcoop2.protocol.basic.Costanti._internal_getPROBLEM_RFC7807_GOVWAY_CODE()),e);
  8590.                 this.getProblemRFC7807_code_claim = org.openspcoop2.protocol.basic.Costanti._internal_getPROBLEM_RFC7807_GOVWAY_CODE();
  8591.             }
  8592.         }

  8593.         return this.getProblemRFC7807_code_claim;
  8594.     }
  8595.    
  8596.     private String getProblemRFC7807_type_claim = null;
  8597.     public String getProblemRFC7807_type_claim(){
  8598.        
  8599.         String pName = "org.openspcoop2.pdd.problemRFC7807.type.claim";
  8600.         if(this.getProblemRFC7807_type_claim==null){
  8601.             try{  
  8602.                 String fault = this.reader.getValueConvertEnvProperties(pName);
  8603.                 if(fault==null)
  8604.                     throw new CoreException(NON_DEFINITA);
  8605.                 fault = fault.trim();
  8606.                 this.getProblemRFC7807_type_claim = fault;

  8607.             }catch(java.lang.Exception e) {
  8608.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,org.openspcoop2.protocol.basic.Costanti._internal_getPROBLEM_RFC7807_GOVWAY_TYPE()),e);
  8609.                 this.getProblemRFC7807_type_claim = org.openspcoop2.protocol.basic.Costanti._internal_getPROBLEM_RFC7807_GOVWAY_TYPE();
  8610.             }
  8611.         }

  8612.         return this.getProblemRFC7807_type_claim;
  8613.     }


  8614.     private Boolean isErroreApplicativoInoltraClientBustaRispostaErroreRicevuta = null;
  8615.     public boolean isErroreApplicativoInoltraClientBustaRispostaErroreRicevuta(){
  8616.         if(this.isErroreApplicativoInoltraClientBustaRispostaErroreRicevuta==null){
  8617.             String pName = "org.openspcoop2.pdd.erroreApplicativo.inoltraClientBustaRispostaErroreRicevuta";
  8618.             try{  
  8619.                 String value = this.reader.getValueConvertEnvProperties(pName);

  8620.                 if (value != null){
  8621.                     value = value.trim();
  8622.                     this.isErroreApplicativoInoltraClientBustaRispostaErroreRicevuta = Boolean.parseBoolean(value);
  8623.                 }else{
  8624.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  8625.                     this.isErroreApplicativoInoltraClientBustaRispostaErroreRicevuta = false;
  8626.                 }

  8627.             }catch(java.lang.Exception e) {
  8628.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  8629.                 this.isErroreApplicativoInoltraClientBustaRispostaErroreRicevuta = false;
  8630.             }
  8631.         }

  8632.         return this.isErroreApplicativoInoltraClientBustaRispostaErroreRicevuta;
  8633.     }
  8634.    
  8635.     private Map<String,Boolean> isErroreApplicativoInoltraClientBustaRispostaErroreRicevutaMap = new HashMap<>();
  8636.     public boolean isErroreApplicativoInoltraClientBustaRispostaErroreRicevuta(String protocollo){
  8637.         Boolean v = this.isErroreApplicativoInoltraClientBustaRispostaErroreRicevutaMap.get(protocollo);
  8638.         if(v==null){
  8639.             String pName = "org.openspcoop2.pdd.erroreApplicativo.inoltraClientBustaRispostaErroreRicevuta."+protocollo;
  8640.             try{  
  8641.                 String value = this.reader.getValueConvertEnvProperties(pName);

  8642.                 if (value != null){
  8643.                     value = value.trim();
  8644.                     v = Boolean.parseBoolean(value);
  8645.                 }else{
  8646.                     v = isErroreApplicativoInoltraClientBustaRispostaErroreRicevuta(); // default per qualsiasi protocollo
  8647.                 }

  8648.             }catch(java.lang.Exception e) {
  8649.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, isErroreApplicativoInoltraClientBustaRispostaErroreRicevuta()),e);
  8650.                 v = isErroreApplicativoInoltraClientBustaRispostaErroreRicevuta();
  8651.             }
  8652.             this.isErroreApplicativoInoltraClientBustaRispostaErroreRicevutaMap.put(protocollo, v);
  8653.         }

  8654.         return v;
  8655.     }
  8656.    



  8657.     /* ******** PORTA DI DOMINIO  ******** */

  8658.     /**
  8659.      * Restituisce il nome di default dell'identificativo porta utilizzato dalla porta di dominio
  8660.      *
  8661.      * @return Restituisce il nome di default dell'identificativo porta utilizzato dalla porta di dominio
  8662.      *
  8663.      */
  8664.     private String identificativoPortaDefault = null;
  8665.     private String getIdentificativoPortaDefault(){
  8666.         if(this.identificativoPortaDefault==null){
  8667.             try{  
  8668.                 String fault = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.identificativoPorta.dominio");
  8669.                 if(fault==null)
  8670.                     throw new CoreException(NON_DEFINITA);
  8671.                 fault = fault.trim();
  8672.                 this.identificativoPortaDefault = fault;

  8673.             }catch(java.lang.Exception e) {
  8674.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.identificativoPorta.dominio': "+e.getMessage(),e);
  8675.                 this.identificativoPortaDefault = null;
  8676.             }
  8677.         }

  8678.         return this.identificativoPortaDefault;
  8679.     }
  8680.     /**
  8681.      * Restituisce il nome di default della porta utilizzato dalla porta di dominio
  8682.      *
  8683.      * @return Restituisce il nome di default della porta utilizzato dalla porta di dominio
  8684.      *
  8685.      */
  8686.     private String nomePortaDefault = null;
  8687.     private String getNomePortaDefault(){
  8688.         if(this.nomePortaDefault==null){
  8689.             try{  
  8690.                 String fault = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.identificativoPorta.nome");
  8691.                 if(fault==null)
  8692.                     throw new CoreException(NON_DEFINITA);
  8693.                 fault = fault.trim();
  8694.                 this.nomePortaDefault = fault;

  8695.             }catch(java.lang.Exception e) {
  8696.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.identificativoPorta.nome': "+e.getMessage(),e);
  8697.                 this.nomePortaDefault = null;
  8698.             }
  8699.         }

  8700.         return this.nomePortaDefault;
  8701.     }


  8702.     /**
  8703.      * Restituisce il nome di default della porta utilizzato dalla porta di dominio
  8704.      *
  8705.      * @return Restituisce il nome di default della porta utilizzato dalla porta di dominio
  8706.      *
  8707.      */
  8708.     private String tipoPortaDefault = null;
  8709.     private String getTipoPortaDefault(){
  8710.         if(this.tipoPortaDefault==null){
  8711.             try{  
  8712.                 String fault = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.identificativoPorta.tipo");
  8713.                 if(fault==null)
  8714.                     throw new CoreException(NON_DEFINITA);
  8715.                 fault = fault.trim();
  8716.                 this.tipoPortaDefault = fault;

  8717.             }catch(java.lang.Exception e) {
  8718.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.identificativoPorta.tipo': "+e.getMessage(),e);
  8719.                 this.tipoPortaDefault = null;
  8720.             }
  8721.         }
  8722.         return this.tipoPortaDefault;
  8723.     }

  8724.     /**
  8725.      * Restituisce l'identita di default della porta utilizzato dalla porta di dominio
  8726.      *
  8727.      * @return Restituisce l'identita di default della porta utilizzato dalla porta di dominio
  8728.      *
  8729.      */
  8730.     private IDSoggetto identitaPortaDefault = null;
  8731.     private IDSoggetto getIdentitaPortaDefault(){
  8732.         if(this.identitaPortaDefault==null){
  8733.             String pdd = getIdentificativoPortaDefault();
  8734.             String nome = getNomePortaDefault();
  8735.             String tipo = getTipoPortaDefault();
  8736.             if(tipo==null || nome==null || pdd==null)
  8737.                 this.identitaPortaDefault = null;
  8738.             else    
  8739.                 this.identitaPortaDefault = new IDSoggetto(tipo,nome,pdd);
  8740.         }

  8741.         if(this.identitaPortaDefault!=null){
  8742.             IDSoggetto idNew = new IDSoggetto();
  8743.             idNew.setCodicePorta(this.identitaPortaDefault.getCodicePorta());
  8744.             idNew.setNome(this.identitaPortaDefault.getNome());
  8745.             idNew.setTipo(this.identitaPortaDefault.getTipo());
  8746.             return idNew;
  8747.         }
  8748.         else{
  8749.             return null;
  8750.         }
  8751.     }


  8752.     // protocol mapping
  8753.    
  8754.     private Map<String,String> identificativoPortaDefault_mappingProtocol = new HashMap<>();
  8755.     private String _getIdentificativoPortaDefault(String protocol){
  8756.        
  8757.         if(protocol==null){
  8758.             return getIdentificativoPortaDefault();
  8759.         }
  8760.        
  8761.         if(this.identificativoPortaDefault_mappingProtocol.containsKey(protocol)==false){
  8762.            
  8763.             try{  
  8764.                
  8765.                 String fault = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd."+protocol+".identificativoPorta.dominio");
  8766.                 if(fault==null){
  8767.                     fault = this.getIdentificativoPortaDefault();
  8768.                 }else{
  8769.                     fault = fault.trim();
  8770.                 }
  8771.                 this.identificativoPortaDefault_mappingProtocol.put(protocol, fault);

  8772.             }catch(java.lang.Exception e) {
  8773.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd."+protocol+".identificativoPorta.dominio': "+e.getMessage(),e);
  8774.                 return this.getIdentificativoPortaDefault();
  8775.             }
  8776.         }

  8777.         return this.identificativoPortaDefault_mappingProtocol.get(protocol);
  8778.     }

  8779.     private Map<String,String> nomePortaDefault_mappingProtocol = new HashMap<>();
  8780.     private String _getNomePortaDefault(String protocol){
  8781.        
  8782.         if(protocol==null){
  8783.             return getNomePortaDefault();
  8784.         }
  8785.        
  8786.         if(this.nomePortaDefault_mappingProtocol.containsKey(protocol)==false){
  8787.            
  8788.             try{  
  8789.                
  8790.                 String nome = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd."+protocol+".identificativoPorta.nome");
  8791.                 if(nome==null){
  8792.                     nome = this.getNomePortaDefault();
  8793.                 }else{
  8794.                     nome = nome.trim();
  8795.                 }
  8796.                 this.nomePortaDefault_mappingProtocol.put(protocol, nome);

  8797.             }catch(java.lang.Exception e) {
  8798.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd."+protocol+".identificativoPorta.nome': "+e.getMessage(),e);
  8799.                 return this.getNomePortaDefault();
  8800.             }
  8801.         }

  8802.         return this.nomePortaDefault_mappingProtocol.get(protocol);
  8803.     }
  8804.    
  8805.     private Map<String,String> tipoPortaDefault_mappingProtocol = new HashMap<>();
  8806.     private String _getTipoPortaDefault(String protocol){
  8807.        
  8808.         if(protocol==null){
  8809.             return getTipoPortaDefault();
  8810.         }
  8811.        
  8812.         if(this.tipoPortaDefault_mappingProtocol.containsKey(protocol)==false){
  8813.            
  8814.             try{  
  8815.                
  8816.                 String tipo = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd."+protocol+".identificativoPorta.tipo");
  8817.                 if(tipo==null){
  8818.                     tipo = this.getTipoPortaDefault();
  8819.                 }else{
  8820.                     tipo = tipo.trim();
  8821.                 }
  8822.                 this.tipoPortaDefault_mappingProtocol.put(protocol, tipo);

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

  8828.         return this.tipoPortaDefault_mappingProtocol.get(protocol);
  8829.     }

  8830.     public IDSoggetto getIdentitaPortaDefaultWithoutProtocol(){
  8831.         return getIdentitaPortaDefault();
  8832.     }
  8833.    
  8834.     private Map<String,IDSoggetto> identitaPortaDefault_mappingProtocol = new HashMap<String, IDSoggetto>();
  8835.     public IDSoggetto getIdentitaPortaDefault(String protocol, RequestInfo requestInfo){
  8836.        
  8837.         if(requestInfo!=null && requestInfo.getRequestConfig()!=null && requestInfo.getRequestConfig().getDominioDefault()!=null) {
  8838.             IDSoggetto identitaPortaDefault = requestInfo.getRequestConfig().getDominioDefault();
  8839.            
  8840.             IDSoggetto idNew = new IDSoggetto();
  8841.             idNew.setCodicePorta(identitaPortaDefault.getCodicePorta());
  8842.             idNew.setNome(identitaPortaDefault.getNome());
  8843.             idNew.setTipo(identitaPortaDefault.getTipo());
  8844.             return idNew;
  8845.         }
  8846.        
  8847.         if(protocol==null){
  8848.             return getIdentitaPortaDefault();
  8849.         }
  8850.        
  8851.         if(this.identitaPortaDefault_mappingProtocol.containsKey(protocol)==false){
  8852.             String pdd = _getIdentificativoPortaDefault(protocol);
  8853.             String nome = _getNomePortaDefault(protocol);
  8854.             String tipo = _getTipoPortaDefault(protocol);
  8855.             if(tipo!=null && nome!=null && pdd!=null){
  8856.                 IDSoggetto identitaPortaDefault = new IDSoggetto(tipo,nome,pdd);
  8857.                 this.identitaPortaDefault_mappingProtocol.put(protocol, identitaPortaDefault);
  8858.             }
  8859.         }
  8860.        
  8861.         IDSoggetto identitaPortaDefault = this.identitaPortaDefault_mappingProtocol.get(protocol);
  8862.        
  8863.         if(identitaPortaDefault!=null){
  8864.            
  8865.             if(requestInfo!=null && requestInfo.getRequestConfig()!=null && requestInfo.getRequestConfig().getDominioDefault()==null) {
  8866.                 requestInfo.getRequestConfig().setDominioDefault(identitaPortaDefault);
  8867.             }
  8868.            
  8869.             IDSoggetto idNew = new IDSoggetto();
  8870.             idNew.setCodicePorta(identitaPortaDefault.getCodicePorta());
  8871.             idNew.setNome(identitaPortaDefault.getNome());
  8872.             idNew.setTipo(identitaPortaDefault.getTipo());
  8873.             return idNew;
  8874.         }
  8875.         else{
  8876.             return null;
  8877.         }
  8878.     }
  8879.     public String getIdentificativoPortaDefault(String protocol, RequestInfo requestInfo){
  8880.         IDSoggetto identitaPortaDefault = getIdentitaPortaDefault(protocol, requestInfo);
  8881.         if(identitaPortaDefault!=null) {
  8882.             return identitaPortaDefault.getCodicePorta();
  8883.         }
  8884.         return null;
  8885.     }






  8886.     /************ AUTORIZZAZIONE *******************/

  8887.     private Boolean getAutorizzazioneLockPermitsRead = null;
  8888.     private Integer getAutorizzazioneLockPermits = null;
  8889.     public Integer getAutorizzazioneLockPermits() {

  8890.         String pName = "org.openspcoop2.pdd.core.autorizzazione.lock.permits";
  8891.         if(this.getAutorizzazioneLockPermitsRead==null){
  8892.             try{  
  8893.                 String value = this.reader.getValueConvertEnvProperties(pName);

  8894.                 if (value != null){
  8895.                     value = value.trim();
  8896.                     int permits = Integer.parseInt(value);
  8897.                     if(permits>1) {
  8898.                         // altrimenti è un normale semaphore binario
  8899.                         this.getAutorizzazioneLockPermits = permits;
  8900.                     }
  8901.                 }
  8902.                
  8903.                
  8904.             }catch(java.lang.Exception e) {
  8905.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  8906.             }
  8907.            
  8908.             this.getAutorizzazioneLockPermitsRead = true;
  8909.         }

  8910.         return this.getAutorizzazioneLockPermits;
  8911.     }
  8912.    
  8913.     private Map<String, Integer> getTipoAutorizzazioneLockPermits = null;
  8914.     public Integer getAutorizzazioneLockPermits(String tipoAutorizzazione) {

  8915.         String pName = "org.openspcoop2.pdd.core.autorizzazione.lock.permits.";
  8916.         if(this.getTipoAutorizzazioneLockPermits==null){
  8917.            
  8918.             this.getTipoAutorizzazioneLockPermits = new HashMap<>();
  8919.            
  8920.             try{  
  8921.                 Properties p = this.reader.readPropertiesConvertEnvProperties(pName);
  8922.                 if(p!=null && !p.isEmpty()) {
  8923.                     for (Object oKey : p.keySet()) {
  8924.                         if(oKey!=null) {
  8925.                             String key = (String) oKey;
  8926.                             String value = p.getProperty(key);
  8927.                             if(value!=null) {
  8928.                                 int permits = Integer.parseInt(value);
  8929.                                 if(permits>1) {
  8930.                                     // altrimenti è un normale semaphore binario
  8931.                                     this.getTipoAutorizzazioneLockPermits.put(key, permits);
  8932.                                 }
  8933.                             }
  8934.                         }
  8935.                     }
  8936.                 }
  8937.                
  8938.             }catch(java.lang.Exception e) {
  8939.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  8940.             }
  8941.            
  8942.         }

  8943.         return this.getTipoAutorizzazioneLockPermits.get(tipoAutorizzazione);
  8944.     }
  8945.    
  8946.     /**
  8947.      * Restituisce il tipo di autorizzazione delle buste effettuato dalla porta di dominio
  8948.      *
  8949.      * @return Restituisce il tipo di autorizzazione delle buste effettuato dalla porta di dominio
  8950.      *
  8951.      */
  8952.     private String tipoAutorizzazioneBuste = null;
  8953.     public String getTipoAutorizzazioneBuste(){
  8954.         if(this.tipoAutorizzazioneBuste==null){
  8955.             try{  
  8956.                 String autorizzazione = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.autorizzazioneBuste.tipo");
  8957.                 if(autorizzazione==null)
  8958.                     throw new CoreException(NON_DEFINITA);
  8959.                 autorizzazione = autorizzazione.trim();
  8960.                 this.tipoAutorizzazioneBuste = autorizzazione;

  8961.             }catch(java.lang.Exception e) {
  8962.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.autorizzazioneBuste.tipo': "+e.getMessage(),e);
  8963.                 this.tipoAutorizzazioneBuste = null;
  8964.             }
  8965.         }

  8966.         return this.tipoAutorizzazioneBuste;
  8967.     }
  8968.    
  8969.    
  8970.     private Boolean isAutorizzazioneBustaAutenticazioneOpzionaleSoggettoFruitoreProfiloInteroperabilitaDifferenteServizioBloccaRichiesta = null;
  8971.     public boolean isAutorizzazioneBustaAutenticazioneOpzionaleSoggettoFruitoreProfiloInteroperabilitaDifferenteServizioBloccaRichiesta() {
  8972.         if(this.isAutorizzazioneBustaAutenticazioneOpzionaleSoggettoFruitoreProfiloInteroperabilitaDifferenteServizioBloccaRichiesta==null){
  8973.             String pName = "org.openspcoop2.pdd.autorizzazioneBusta.autenticazioneOpzionale.soggettoFruitoreProfiloInteroperabilitaDifferenteServizio.bloccaRichiesta";
  8974.             try{
  8975.                 String name = null;
  8976.                 name = this.reader.getValueConvertEnvProperties(pName);
  8977.                 if(name==null){
  8978.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  8979.                     name="true";
  8980.                 }
  8981.                 name = name.trim();
  8982.                 this.isAutorizzazioneBustaAutenticazioneOpzionaleSoggettoFruitoreProfiloInteroperabilitaDifferenteServizioBloccaRichiesta = Boolean.parseBoolean(name);
  8983.             } catch(java.lang.Exception e) {
  8984.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  8985.                 this.isAutorizzazioneBustaAutenticazioneOpzionaleSoggettoFruitoreProfiloInteroperabilitaDifferenteServizioBloccaRichiesta = true;
  8986.             }    
  8987.         }

  8988.         return this.isAutorizzazioneBustaAutenticazioneOpzionaleSoggettoFruitoreProfiloInteroperabilitaDifferenteServizioBloccaRichiesta;
  8989.     }

  8990.    



  8991.    
  8992.     /************ AUTORIZZAZIONE CONTENUTI *******************/

  8993.     private Boolean getAutorizzazioneContenutiLockPermitsRead = null;
  8994.     private Integer getAutorizzazioneContenutiLockPermits = null;
  8995.     public Integer getAutorizzazioneContenutiLockPermits() {

  8996.         String pName = "org.openspcoop2.pdd.core.autorizzazioneContenuti.lock.permits";
  8997.         if(this.getAutorizzazioneContenutiLockPermitsRead==null){
  8998.             try{  
  8999.                 String value = this.reader.getValueConvertEnvProperties(pName);

  9000.                 if (value != null){
  9001.                     value = value.trim();
  9002.                     int permits = Integer.parseInt(value);
  9003.                     if(permits>1) {
  9004.                         // altrimenti è un normale semaphore binario
  9005.                         this.getAutorizzazioneContenutiLockPermits = permits;
  9006.                     }
  9007.                 }
  9008.                
  9009.                
  9010.             }catch(java.lang.Exception e) {
  9011.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  9012.             }
  9013.            
  9014.             this.getAutorizzazioneContenutiLockPermitsRead = true;
  9015.         }

  9016.         return this.getAutorizzazioneContenutiLockPermits;
  9017.     }
  9018.    
  9019.     private Map<String, Integer> getTipoAutorizzazioneContenutiLockPermits = null;
  9020.     public Integer getAutorizzazioneContenutiLockPermits(String tipoAutorizzazioneContenuti) {

  9021.         String pName = "org.openspcoop2.pdd.core.autorizzazioneContenuti.lock.permits.";
  9022.         if(this.getTipoAutorizzazioneContenutiLockPermits==null){
  9023.            
  9024.             this.getTipoAutorizzazioneContenutiLockPermits = new HashMap<>();
  9025.            
  9026.             try{  
  9027.                 Properties p = this.reader.readPropertiesConvertEnvProperties(pName);
  9028.                 if(p!=null && !p.isEmpty()) {
  9029.                     for (Object oKey : p.keySet()) {
  9030.                         if(oKey!=null) {
  9031.                             String key = (String) oKey;
  9032.                             String value = p.getProperty(key);
  9033.                             if(value!=null) {
  9034.                                 int permits = Integer.parseInt(value);
  9035.                                 if(permits>1) {
  9036.                                     // altrimenti è un normale semaphore binario
  9037.                                     this.getTipoAutorizzazioneContenutiLockPermits.put(key, permits);
  9038.                                 }
  9039.                             }
  9040.                         }
  9041.                     }
  9042.                 }
  9043.                
  9044.             }catch(java.lang.Exception e) {
  9045.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  9046.             }
  9047.            
  9048.         }

  9049.         return this.getTipoAutorizzazioneContenutiLockPermits.get(tipoAutorizzazioneContenuti);
  9050.     }
  9051.    
  9052.    
  9053.    
  9054.    



  9055.     /* ********  Bypass Filtri  ******** */

  9056.     /**
  9057.      * Restituisce le proprieta' che localizzano gli header element su cui deve essere applicato il filtro bypass.
  9058.      *
  9059.      * @return proprieta' che localizzano gli header element su cui deve essere applicato il filtro bypass.
  9060.      *
  9061.      */
  9062.     private Map<String,List<NameValue>> mapGetBypassFilterMustUnderstandProperties = null;
  9063.     public List<NameValue> getBypassFilterMustUnderstandProperties(String protocol) {
  9064.         if(this.mapGetBypassFilterMustUnderstandProperties==null){
  9065.             initBypassFilterMustUnderstandProperties();
  9066.         }
  9067.         return this.mapGetBypassFilterMustUnderstandProperties.get(protocol);
  9068.     }
  9069.     private void initBypassFilterMustUnderstandProperties(){
  9070.         if(this.mapGetBypassFilterMustUnderstandProperties==null){
  9071.            
  9072.             this.mapGetBypassFilterMustUnderstandProperties = new HashMap<>();
  9073.            
  9074.             List<NameValue> resultList = new ArrayList<>();
  9075.             try{
  9076.                 java.util.Properties tmpP = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.services.BypassMustUnderstandHandler.header.");
  9077.                 if(tmpP!=null && tmpP.size()>0){
  9078.                     Enumeration<Object> keys = tmpP.keys();
  9079.                     while (keys.hasMoreElements()) {
  9080.                         Object object = keys.nextElement();
  9081.                         if(object instanceof String){
  9082.                             String key = (String) object;
  9083.                             String localName = key;
  9084.                             String namespace = tmpP.getProperty(key);
  9085.                             if(key.contains("!")){
  9086.                                 // serve a fornire più proprietà con stesso localName e namespace differente
  9087.                                 // tramite la formula
  9088.                                 // org.openspcoop2.pdd.services.BypassMustUnderstandHandler.header.nomeHeader=http://prova
  9089.                                 // org.openspcoop2.pdd.services.BypassMustUnderstandHandler.header.nomeHeader!1=http://prova2
  9090.                                 // org.openspcoop2.pdd.services.BypassMustUnderstandHandler.header.nomeHeader!2=http://prova3
  9091.                                 localName = key.split("!")[0];
  9092.                             }
  9093.                             NameValue nameValue = new NameValue();
  9094.                             nameValue.setName(localName);
  9095.                             nameValue.setValue(namespace);
  9096.                             resultList.add(nameValue);
  9097.                         }
  9098.                     }
  9099.                 }
  9100.                
  9101.                
  9102.                 // aggiungo i bypass specifici dei protocolli
  9103.                 Enumeration<String> protocolli = ProtocolFactoryManager.getInstance().getProtocolFactories().keys();
  9104.                 while (protocolli.hasMoreElements()) {
  9105.                     String protocollo = protocolli.nextElement();
  9106.                     IProtocolFactory<?> pf = ProtocolFactoryManager.getInstance().getProtocolFactories().get(protocollo);
  9107.                     IProtocolConfiguration pc = pf.createProtocolConfiguration();
  9108.                     List<BypassMustUnderstandCheck> list = pc.getBypassMustUnderstandCheck();
  9109.                    
  9110.                     List<NameValue> resultListForProtocol = new ArrayList<>();
  9111.                     if(resultList!=null && !resultList.isEmpty()){
  9112.                         resultListForProtocol.addAll(resultList);
  9113.                     }
  9114.                    
  9115.                     if(list!=null && !list.isEmpty()){
  9116.                         for (Iterator<?> iterator = list.iterator(); iterator.hasNext();) {
  9117.                             BypassMustUnderstandCheck bypassMustUnderstandCheck = (BypassMustUnderstandCheck) iterator.next();
  9118.                            
  9119.                             NameValue nameValue = new NameValue();
  9120.                             nameValue.setName(bypassMustUnderstandCheck.getElementName());
  9121.                             nameValue.setValue(bypassMustUnderstandCheck.getNamespace());
  9122.                             resultListForProtocol.add(nameValue);
  9123.                            
  9124.                         }
  9125.                     }
  9126.                    
  9127.                     for (NameValue nameValue : resultListForProtocol) {
  9128.                         this.logDebug("["+protocollo+"] ["+nameValue.getName()+"]=["+nameValue.getValue()+"]");
  9129.                     }
  9130.                    
  9131.                     this.mapGetBypassFilterMustUnderstandProperties.put(protocollo, resultListForProtocol);
  9132.                 }
  9133.                
  9134.             }catch(java.lang.Exception e) {
  9135.                 this.logError("Riscontrato errore durante la lettura delle propriete' 'org.openspcoop2.pdd.services.BypassMustUnderstandHandler.header.*': "+e.getMessage(),e);
  9136.                 this.mapGetBypassFilterMustUnderstandProperties = null;
  9137.             }    
  9138.            
  9139.         }

  9140.     }

  9141.     /**
  9142.      * Restituisce l'indicazione se il BypassFilterMustUnderstand e' abilitato per tutti gli header
  9143.      *
  9144.      * @return Restituisce l'indicazione se il BypassFilterMustUnderstand e' abilitato per tutti gli header
  9145.      *
  9146.      */
  9147.     private Boolean isBypassFilterMustUnderstandEnabledForAllHeaders = null;
  9148.     public boolean isBypassFilterMustUnderstandEnabledForAllHeaders(){
  9149.         if(this.isBypassFilterMustUnderstandEnabledForAllHeaders==null){
  9150.             try{  
  9151.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.BypassMustUnderstandHandler.allHeaders");

  9152.                 if(value!=null){
  9153.                     value = value.trim();
  9154.                     this.isBypassFilterMustUnderstandEnabledForAllHeaders = Boolean.parseBoolean(value);
  9155.                 }else{
  9156.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.BypassMustUnderstandHandler.allHeaders' non impostata, viene utilizzato il default=false");
  9157.                     this.isBypassFilterMustUnderstandEnabledForAllHeaders = false;
  9158.                 }

  9159.             }catch(java.lang.Exception e) {
  9160.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.BypassMustUnderstandHandler.allHeaders' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  9161.                 this.isBypassFilterMustUnderstandEnabledForAllHeaders = false;
  9162.             }
  9163.         }

  9164.         return this.isBypassFilterMustUnderstandEnabledForAllHeaders;
  9165.     }





  9166.    
  9167.    
  9168.     /* ------------- ContentType ---------------------*/
  9169.    
  9170.     private Boolean isControlloContentTypeAbilitatoRicezioneContenutiApplicativi= null;
  9171.     public boolean isControlloContentTypeAbilitatoRicezioneContenutiApplicativi(){
  9172.         if(this.isControlloContentTypeAbilitatoRicezioneContenutiApplicativi==null){
  9173.             try{  
  9174.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.contentType.checkEnabled");

  9175.                 if(value!=null){
  9176.                     value = value.trim();
  9177.                     this.isControlloContentTypeAbilitatoRicezioneContenutiApplicativi = Boolean.parseBoolean(value);
  9178.                 }else{
  9179.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.contentType.checkEnabled' non impostata, viene utilizzato il default=true");
  9180.                     this.isControlloContentTypeAbilitatoRicezioneContenutiApplicativi = true;
  9181.                 }

  9182.             }catch(java.lang.Exception e) {
  9183.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.contentType.checkEnabled' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  9184.                 this.isControlloContentTypeAbilitatoRicezioneContenutiApplicativi = true;
  9185.             }
  9186.         }
  9187.         return this.isControlloContentTypeAbilitatoRicezioneContenutiApplicativi;
  9188.     }

  9189.     private Boolean isControlloContentTypeAbilitatoRicezioneBuste= null;
  9190.     public boolean isControlloContentTypeAbilitatoRicezioneBuste(){
  9191.         if(this.isControlloContentTypeAbilitatoRicezioneBuste==null){
  9192.             try{  
  9193.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneBuste.contentType.checkEnabled");

  9194.                 if(value!=null){
  9195.                     value = value.trim();
  9196.                     this.isControlloContentTypeAbilitatoRicezioneBuste = Boolean.parseBoolean(value);
  9197.                 }else{
  9198.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.contentType.checkEnabled' non impostata, viene utilizzato il default=true");
  9199.                     this.isControlloContentTypeAbilitatoRicezioneBuste = true;
  9200.                 }

  9201.             }catch(java.lang.Exception e) {
  9202.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.contentType.checkEnabled' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  9203.                 this.isControlloContentTypeAbilitatoRicezioneBuste = true;
  9204.             }
  9205.         }
  9206.         return this.isControlloContentTypeAbilitatoRicezioneBuste;
  9207.     }
  9208.    
  9209.     private Boolean isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap= null;
  9210.     private List<String> listControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap = null;
  9211.     public boolean isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap(){
  9212.         if(this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap==null){
  9213.             String pName = "org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.soap.charsetExpected";
  9214.             try{  
  9215.                 String value = this.reader.getValueConvertEnvProperties(pName);

  9216.                 if(value!=null){
  9217.                     value = value.trim();
  9218.                     if("*".equals(value)) {
  9219.                         this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap = false;
  9220.                     }
  9221.                     else {
  9222.                         List<String> l = new ArrayList<>();
  9223.                         initSplitValues(l, value, false);
  9224.                         if(!l.isEmpty()) {
  9225.                             this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap = true;
  9226.                             this.listControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap = l;
  9227.                         }
  9228.                         else {
  9229.                             this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap = false;
  9230.                         }
  9231.                     }
  9232.                 }else{
  9233.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  9234.                     this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap = false;
  9235.                 }

  9236.             }catch(java.lang.Exception e) {
  9237.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, false),e);
  9238.                 this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap = false;
  9239.             }
  9240.         }
  9241.         return this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap;
  9242.     }
  9243.     public List<String> getControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap(){
  9244.         List<String> lNull = null;
  9245.         if(isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap()) {
  9246.             return this.listControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiSoap;
  9247.         }
  9248.         return lNull;
  9249.     }
  9250.    
  9251.     private Boolean isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest= null;
  9252.     private List<String> listControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest = null;
  9253.     public boolean isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest(){
  9254.         if(this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest==null){
  9255.             String pName = "org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.rest.charsetExpected";
  9256.             try{  
  9257.                 String value = this.reader.getValueConvertEnvProperties(pName);

  9258.                 if(value!=null){
  9259.                     value = value.trim();
  9260.                     if("*".equals(value)) {
  9261.                         this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest = false;
  9262.                     }
  9263.                     else {
  9264.                         List<String> l = new ArrayList<>();
  9265.                         initSplitValues(l, value, false);
  9266.                         if(!l.isEmpty()) {
  9267.                             this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest = true;
  9268.                             this.listControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest = l;
  9269.                         }
  9270.                         else {
  9271.                             this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest = false;
  9272.                         }
  9273.                     }
  9274.                 }else{
  9275.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  9276.                     this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest = false;
  9277.                 }

  9278.             }catch(java.lang.Exception e) {
  9279.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, false),e);
  9280.                 this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest = false;
  9281.             }
  9282.         }
  9283.         return this.isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest;
  9284.     }
  9285.     public List<String> getControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest(){
  9286.         List<String> lNull = null;
  9287.         if(isControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest()) {
  9288.             return this.listControlloCharsetContentTypeAbilitatoRicezioneContenutiApplicativiRest;
  9289.         }
  9290.         return lNull;
  9291.     }
  9292.    
  9293.     private Boolean isControlloCharsetContentTypeAbilitatoRicezioneBusteSoap= null;
  9294.     private List<String> listControlloCharsetContentTypeAbilitatoRicezioneBusteSoap = null;
  9295.     public boolean isControlloCharsetContentTypeAbilitatoRicezioneBusteSoap(){
  9296.         if(this.isControlloCharsetContentTypeAbilitatoRicezioneBusteSoap==null){
  9297.             String pName = "org.openspcoop2.pdd.services.ricezioneBuste.soap.charsetExpected";
  9298.             try{  
  9299.                 String value = this.reader.getValueConvertEnvProperties(pName);

  9300.                 if(value!=null){
  9301.                     value = value.trim();
  9302.                     if("*".equals(value)) {
  9303.                         this.isControlloCharsetContentTypeAbilitatoRicezioneBusteSoap = false;
  9304.                     }
  9305.                     else {
  9306.                         List<String> l = new ArrayList<>();
  9307.                         initSplitValues(l, value, false);
  9308.                         if(!l.isEmpty()) {
  9309.                             this.isControlloCharsetContentTypeAbilitatoRicezioneBusteSoap = true;
  9310.                             this.listControlloCharsetContentTypeAbilitatoRicezioneBusteSoap = l;
  9311.                         }
  9312.                         else {
  9313.                             this.isControlloCharsetContentTypeAbilitatoRicezioneBusteSoap = false;
  9314.                         }
  9315.                     }
  9316.                 }else{
  9317.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  9318.                     this.isControlloCharsetContentTypeAbilitatoRicezioneBusteSoap = false;
  9319.                 }

  9320.             }catch(java.lang.Exception e) {
  9321.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, false),e);
  9322.                 this.isControlloCharsetContentTypeAbilitatoRicezioneBusteSoap = false;
  9323.             }
  9324.         }
  9325.         return this.isControlloCharsetContentTypeAbilitatoRicezioneBusteSoap;
  9326.     }
  9327.     public List<String> getControlloCharsetContentTypeAbilitatoRicezioneBusteSoap(){
  9328.         List<String> lNull = null;
  9329.         if(isControlloCharsetContentTypeAbilitatoRicezioneBusteSoap()) {
  9330.             return this.listControlloCharsetContentTypeAbilitatoRicezioneBusteSoap;
  9331.         }
  9332.         return lNull;
  9333.     }
  9334.    
  9335.     private Boolean isControlloCharsetContentTypeAbilitatoRicezioneBusteRest= null;
  9336.     private List<String> listControlloCharsetContentTypeAbilitatoRicezioneBusteRest = null;
  9337.     public boolean isControlloCharsetContentTypeAbilitatoRicezioneBusteRest(){
  9338.         if(this.isControlloCharsetContentTypeAbilitatoRicezioneBusteRest==null){
  9339.             String pName = "org.openspcoop2.pdd.services.ricezioneBuste.rest.charsetExpected";
  9340.             try{  
  9341.                 String value = this.reader.getValueConvertEnvProperties(pName);

  9342.                 if(value!=null){
  9343.                     value = value.trim();
  9344.                     if("*".equals(value)) {
  9345.                         this.isControlloCharsetContentTypeAbilitatoRicezioneBusteRest = false;
  9346.                     }
  9347.                     else {
  9348.                         List<String> l = new ArrayList<>();
  9349.                         initSplitValues(l, value, false);
  9350.                         if(!l.isEmpty()) {
  9351.                             this.isControlloCharsetContentTypeAbilitatoRicezioneBusteRest = true;
  9352.                             this.listControlloCharsetContentTypeAbilitatoRicezioneBusteRest = l;
  9353.                         }
  9354.                         else {
  9355.                             this.isControlloCharsetContentTypeAbilitatoRicezioneBusteRest = false;
  9356.                         }
  9357.                     }
  9358.                 }else{
  9359.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  9360.                     this.isControlloCharsetContentTypeAbilitatoRicezioneBusteRest = false;
  9361.                 }

  9362.             }catch(java.lang.Exception e) {
  9363.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, false),e);
  9364.                 this.isControlloCharsetContentTypeAbilitatoRicezioneBusteRest = false;
  9365.             }
  9366.         }
  9367.         return this.isControlloCharsetContentTypeAbilitatoRicezioneBusteRest;
  9368.     }
  9369.     public List<String> getControlloCharsetContentTypeAbilitatoRicezioneBusteRest(){
  9370.         List<String> lNull = null;
  9371.         if(isControlloCharsetContentTypeAbilitatoRicezioneBusteRest()) {
  9372.             return this.listControlloCharsetContentTypeAbilitatoRicezioneBusteRest;
  9373.         }
  9374.         return lNull;
  9375.     }
  9376.    
  9377.     private Boolean isPrintInfoCertificate= null;
  9378.     public boolean isPrintInfoCertificate(){
  9379.         if(this.isPrintInfoCertificate==null){
  9380.             try{  
  9381.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.certificate.printInfo");

  9382.                 if(value!=null){
  9383.                     value = value.trim();
  9384.                     this.isPrintInfoCertificate = Boolean.parseBoolean(value);
  9385.                 }else{
  9386.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.certificate.printInfo' non impostata, viene utilizzato il default=false");
  9387.                     this.isPrintInfoCertificate = false;
  9388.                 }

  9389.             }catch(java.lang.Exception e) {
  9390.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.certificate.printInfo' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  9391.                 this.isPrintInfoCertificate = false;
  9392.             }
  9393.         }
  9394.         return this.isPrintInfoCertificate;
  9395.     }
  9396.    
  9397.    
  9398.     /* ------------- Gestore Credenziali (Porta Delegata) ---------------------*/

  9399.     public static final String prefixGestoreCredenzialiPortaDelegataProperties = "org.openspcoop2.pdd.services.pd.gestoreCredenziali.";
  9400.    
  9401.     private Boolean isGestoreCredenzialiPortaDelegataEnabled= null;
  9402.     public boolean isGestoreCredenzialiPortaDelegataEnabled(){
  9403.         String pName = prefixGestoreCredenzialiPortaDelegataProperties+"enabled";
  9404.         if(this.isGestoreCredenzialiPortaDelegataEnabled==null){
  9405.                 try{  
  9406.                         String value = this.reader.getValueConvertEnvProperties(pName);

  9407.                         if(value!=null){
  9408.                                 value = value.trim();
  9409.                                 this.isGestoreCredenzialiPortaDelegataEnabled = Boolean.parseBoolean(value);
  9410.                         }else{
  9411.                                 this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  9412.                                 this.isGestoreCredenzialiPortaDelegataEnabled = false;
  9413.                         }

  9414.                 }catch(java.lang.Exception e) {
  9415.                         this.logError(getMessaggioProprietaNonImpostata(pName, e, false),e);
  9416.                         this.isGestoreCredenzialiPortaDelegataEnabled = false;
  9417.                 }
  9418.         }
  9419.         return this.isGestoreCredenzialiPortaDelegataEnabled;
  9420.     }

  9421.    
  9422.     private Properties getGestoreCredenzialiPortaDelegataProperties = null;
  9423.     public Properties getGestoreCredenzialiPortaDelegataProperties() {
  9424.         if(this.getGestoreCredenzialiPortaDelegataProperties==null){
  9425.             try{  
  9426.                 this.getGestoreCredenzialiPortaDelegataProperties=this.reader.readProperties(prefixGestoreCredenzialiPortaDelegataProperties);
  9427.                 if(this.getGestoreCredenzialiPortaDelegataProperties==null) {
  9428.                     this.getGestoreCredenzialiPortaDelegataProperties=new Properties();
  9429.                 }
  9430.             }catch(java.lang.Exception e) {
  9431.                 this.logError("Proprieta' di openspcoop '"+prefixGestoreCredenzialiPortaDelegataProperties+"*' non impostate correttamente, errore:"+e.getMessage(),e);
  9432.                 this.getGestoreCredenzialiPortaDelegataProperties = null;
  9433.             }
  9434.         }
  9435.         return this.getGestoreCredenzialiPortaDelegataProperties;
  9436.     }

  9437.    
  9438.    
  9439.     /* ------------- Gestore Credenziali (Porta Applicativa) ---------------------*/

  9440.     public static final String prefixGestoreCredenzialiPortaApplicativaProperties = "org.openspcoop2.pdd.services.pa.gestoreCredenziali.";
  9441.    
  9442.     private Boolean isGestoreCredenzialiPortaApplicativaEnabled= null;
  9443.     public boolean isGestoreCredenzialiPortaApplicativaEnabled(){
  9444.         String pName = prefixGestoreCredenzialiPortaApplicativaProperties+"enabled";
  9445.         if(this.isGestoreCredenzialiPortaApplicativaEnabled==null){
  9446.                 try{  
  9447.                         String value = this.reader.getValueConvertEnvProperties(pName);

  9448.                         if(value!=null){
  9449.                                 value = value.trim();
  9450.                                 this.isGestoreCredenzialiPortaApplicativaEnabled = Boolean.parseBoolean(value);
  9451.                         }else{
  9452.                                 this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  9453.                                 this.isGestoreCredenzialiPortaApplicativaEnabled = false;
  9454.                         }

  9455.                 }catch(java.lang.Exception e) {
  9456.                         this.logError(getMessaggioProprietaNonImpostata(pName, e, false),e);
  9457.                         this.isGestoreCredenzialiPortaApplicativaEnabled = false;
  9458.                 }
  9459.         }
  9460.         return this.isGestoreCredenzialiPortaApplicativaEnabled;
  9461.     }

  9462.    
  9463.     private Properties getGestoreCredenzialiPortaApplicativaProperties = null;
  9464.     public Properties getGestoreCredenzialiPortaApplicativaProperties() {
  9465.         if(this.getGestoreCredenzialiPortaApplicativaProperties==null){
  9466.             try{  
  9467.                 this.getGestoreCredenzialiPortaApplicativaProperties=this.reader.readProperties(prefixGestoreCredenzialiPortaApplicativaProperties);
  9468.                 if(this.getGestoreCredenzialiPortaApplicativaProperties==null) {
  9469.                     this.getGestoreCredenzialiPortaApplicativaProperties=new Properties();
  9470.                 }
  9471.             }catch(java.lang.Exception e) {
  9472.                 this.logError("Proprieta' di openspcoop '"+prefixGestoreCredenzialiPortaApplicativaProperties+"*' non impostate correttamente, errore:"+e.getMessage(),e);
  9473.                 this.getGestoreCredenzialiPortaApplicativaProperties = null;
  9474.             }
  9475.         }
  9476.         return this.getGestoreCredenzialiPortaApplicativaProperties;
  9477.     }
  9478.    

  9479.    
  9480.    
  9481.    
  9482.     /* ********  MAP  ******** */
  9483.    
  9484.     private String getEnvMapConfig = null;
  9485.     public String getEnvMapConfig(){
  9486.         if(this.getEnvMapConfig==null){
  9487.             String pName = "org.openspcoop2.pdd.env.map.config";
  9488.             try{  
  9489.                 String value = this.reader.getValueConvertEnvProperties(pName);
  9490.                 if(value!=null){
  9491.                     value = value.trim();
  9492.                     if(!"".equals(value)) {
  9493.                         this.getEnvMapConfig = value;
  9494.                     }
  9495.                 }

  9496.             }catch(java.lang.Exception e) {
  9497.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, non verranno caricate variabili errore:"+e.getMessage(),e);
  9498.                 this.getEnvMapConfig = null;
  9499.             }
  9500.         }
  9501.         return this.getEnvMapConfig;
  9502.     }
  9503.    
  9504.     private Boolean isEnvMapConfigRequired= null;
  9505.     public boolean isEnvMapConfigRequired(){
  9506.         if(this.isEnvMapConfigRequired==null){
  9507.             String pName = "org.openspcoop2.pdd.env.map.required";
  9508.             try{  
  9509.                 String value = this.reader.getValueConvertEnvProperties(pName);

  9510.                 if(value!=null){
  9511.                     value = value.trim();
  9512.                     this.isEnvMapConfigRequired = Boolean.parseBoolean(value);
  9513.                 }else{
  9514.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  9515.                     this.isEnvMapConfigRequired = false;
  9516.                 }

  9517.             }catch(java.lang.Exception e) {
  9518.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, false),e);
  9519.                 this.isEnvMapConfigRequired = false;
  9520.             }
  9521.         }
  9522.         return this.isEnvMapConfigRequired;
  9523.     }
  9524.    
  9525.    
  9526.    
  9527.    
  9528.     /* ********  HSM  ******** */
  9529.    
  9530.     private String getHSMConfig = null;
  9531.     public String getHSMConfig(){
  9532.         if(this.getHSMConfig==null){
  9533.             String pName = "org.openspcoop2.pdd.hsm.config";
  9534.             try{  
  9535.                 String value = this.reader.getValueConvertEnvProperties(pName);
  9536.                 if(value!=null){
  9537.                     value = value.trim();
  9538.                     if(!"".equals(value)) {
  9539.                         this.getHSMConfig = value;
  9540.                     }
  9541.                 }

  9542.             }catch(java.lang.Exception e) {
  9543.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, non verrà abilitato l'engine HSM errore:"+e.getMessage(),e);
  9544.                 this.getHSMConfig = null;
  9545.             }
  9546.         }
  9547.         return this.getHSMConfig;
  9548.     }
  9549.    
  9550.     private Boolean isHSMConfigRequired= null;
  9551.     public boolean isHSMConfigRequired(){
  9552.         if(this.isHSMConfigRequired==null){
  9553.             String pName = "org.openspcoop2.pdd.hsm.required";
  9554.             try{  
  9555.                 String value = this.reader.getValueConvertEnvProperties(pName);

  9556.                 if(value!=null){
  9557.                     value = value.trim();
  9558.                     this.isHSMConfigRequired = Boolean.parseBoolean(value);
  9559.                 }else{
  9560.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  9561.                     this.isHSMConfigRequired = false;
  9562.                 }

  9563.             }catch(java.lang.Exception e) {
  9564.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, false),e);
  9565.                 this.isHSMConfigRequired = false;
  9566.             }
  9567.         }
  9568.         return this.isHSMConfigRequired;
  9569.     }
  9570.    
  9571.     private Boolean isHSMConfigUniqueProviderInstance= null;
  9572.     public boolean isHSMConfigUniqueProviderInstance(){
  9573.         if(this.isHSMConfigUniqueProviderInstance==null){
  9574.             String pName = "org.openspcoop2.pdd.hsm.uniqueProviderInstance";
  9575.             try{  
  9576.                 String value = this.reader.getValueConvertEnvProperties(pName);

  9577.                 if(value!=null){
  9578.                     value = value.trim();
  9579.                     this.isHSMConfigUniqueProviderInstance = Boolean.parseBoolean(value);
  9580.                 }else{
  9581.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  9582.                     this.isHSMConfigUniqueProviderInstance = true;
  9583.                 }

  9584.             }catch(java.lang.Exception e) {
  9585.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, true),e);
  9586.                 this.isHSMConfigUniqueProviderInstance = true;
  9587.             }
  9588.         }
  9589.         return this.isHSMConfigUniqueProviderInstance;
  9590.     }
  9591.    

  9592.    
  9593.    
  9594.     /* ********  OCSP  ******** */
  9595.    
  9596.     private String getOCSPConfig = null;
  9597.     public String getOCSPConfig(){
  9598.         if(this.getOCSPConfig==null){
  9599.             String pName = "org.openspcoop2.pdd.ocsp.config";
  9600.             try{  
  9601.                 String value = this.reader.getValueConvertEnvProperties(pName);
  9602.                 if(value!=null){
  9603.                     value = value.trim();
  9604.                     if(!"".equals(value)) {
  9605.                         this.getOCSPConfig = value;
  9606.                     }
  9607.                 }

  9608.             }catch(java.lang.Exception e) {
  9609.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, non verrà abilitato l'engine OCSP errore:"+e.getMessage(),e);
  9610.                 this.getOCSPConfig = null;
  9611.             }
  9612.         }
  9613.         return this.getOCSPConfig;
  9614.     }
  9615.    
  9616.     private Boolean isOCSPConfigRequired= null;
  9617.     public boolean isOCSPConfigRequired(){
  9618.         if(this.isOCSPConfigRequired==null){
  9619.             String pName = "org.openspcoop2.pdd.ocsp.required";
  9620.             try{  
  9621.                 String value = this.reader.getValueConvertEnvProperties(pName);

  9622.                 if(value!=null){
  9623.                     value = value.trim();
  9624.                     this.isOCSPConfigRequired = Boolean.parseBoolean(value);
  9625.                 }else{
  9626.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  9627.                     this.isOCSPConfigRequired = false;
  9628.                 }

  9629.             }catch(java.lang.Exception e) {
  9630.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, false),e);
  9631.                 this.isOCSPConfigRequired = false;
  9632.             }
  9633.         }
  9634.         return this.isOCSPConfigRequired;
  9635.     }
  9636.    
  9637.     private Boolean isOCSPConfigLoadDefault= null;
  9638.     public boolean isOCSPConfigLoadDefault(){
  9639.         if(this.isOCSPConfigLoadDefault==null){
  9640.             String pName = "org.openspcoop2.pdd.ocsp.loadDefault";
  9641.             try{  
  9642.                 String value = this.reader.getValueConvertEnvProperties(pName);

  9643.                 if(value!=null){
  9644.                     value = value.trim();
  9645.                     this.isOCSPConfigLoadDefault = Boolean.parseBoolean(value);
  9646.                 }else{
  9647.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  9648.                     this.isOCSPConfigLoadDefault = true;
  9649.                 }

  9650.             }catch(java.lang.Exception e) {
  9651.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, true),e);
  9652.                 this.isOCSPConfigLoadDefault = true;
  9653.             }
  9654.         }
  9655.         return this.isOCSPConfigLoadDefault;
  9656.     }
  9657.    
  9658.    
  9659.    
  9660.    
  9661.    
  9662.     /* ********  BYOK  ******** */
  9663.    
  9664.     private String getBYOKConfig = null;
  9665.     public String getBYOKConfig(){
  9666.         if(this.getBYOKConfig==null){
  9667.             String pName = "org.openspcoop2.pdd.byok.config";
  9668.             try{  
  9669.                 String value = this.reader.getValueConvertEnvProperties(pName);
  9670.                 if(value!=null){
  9671.                     value = value.trim();
  9672.                     if(!"".equals(value)) {
  9673.                         this.getBYOKConfig = value;
  9674.                     }
  9675.                 }

  9676.             }catch(java.lang.Exception e) {
  9677.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, non verrà abilitato l'engine BYOK errore:"+e.getMessage(),e);
  9678.                 this.getBYOKConfig = null;
  9679.             }
  9680.         }
  9681.         return this.getBYOKConfig;
  9682.     }
  9683.    
  9684.     private Boolean isBYOKConfigRequired= null;
  9685.     public boolean isBYOKConfigRequired(){
  9686.         if(this.isBYOKConfigRequired==null){
  9687.             String pName = "org.openspcoop2.pdd.byok.required";
  9688.             try{  
  9689.                 String value = this.reader.getValueConvertEnvProperties(pName);

  9690.                 if(value!=null){
  9691.                     value = value.trim();
  9692.                     this.isBYOKConfigRequired = Boolean.parseBoolean(value);
  9693.                 }else{
  9694.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  9695.                     this.isBYOKConfigRequired = false;
  9696.                 }

  9697.             }catch(java.lang.Exception e) {
  9698.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, false),e);
  9699.                 this.isBYOKConfigRequired = false;
  9700.             }
  9701.         }
  9702.         return this.isBYOKConfigRequired;
  9703.     }
  9704.    
  9705.     private Boolean isBYOKJmxWrapEnbled= null;
  9706.     public boolean isBYOKJmxWrapEnbled(){
  9707.         if(this.isBYOKJmxWrapEnbled==null){
  9708.             String pName = "org.openspcoop2.pdd.byok.jmx.wrap.enabled";
  9709.             try{  
  9710.                 String value = this.reader.getValueConvertEnvProperties(pName);

  9711.                 if(value!=null){
  9712.                     value = value.trim();
  9713.                     this.isBYOKJmxWrapEnbled = Boolean.parseBoolean(value);
  9714.                 }else{
  9715.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  9716.                     this.isBYOKJmxWrapEnbled = false;
  9717.                 }

  9718.             }catch(java.lang.Exception e) {
  9719.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, false),e);
  9720.                 this.isBYOKJmxWrapEnbled = false;
  9721.             }
  9722.         }
  9723.         return this.isBYOKJmxWrapEnbled;
  9724.     }
  9725.    
  9726.     private Boolean isBYOKJmxUnwrapEnbled= null;
  9727.     public boolean isBYOKJmxUnwrapEnbled(){
  9728.         if(this.isBYOKJmxUnwrapEnbled==null){
  9729.             String pName = "org.openspcoop2.pdd.byok.jmx.unwrap.enabled";
  9730.             try{  
  9731.                 String value = this.reader.getValueConvertEnvProperties(pName);

  9732.                 if(value!=null){
  9733.                     value = value.trim();
  9734.                     this.isBYOKJmxUnwrapEnbled = Boolean.parseBoolean(value);
  9735.                 }else{
  9736.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  9737.                     this.isBYOKJmxUnwrapEnbled = false;
  9738.                 }

  9739.             }catch(java.lang.Exception e) {
  9740.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, false),e);
  9741.                 this.isBYOKJmxUnwrapEnbled = false;
  9742.             }
  9743.         }
  9744.         return this.isBYOKJmxUnwrapEnbled;
  9745.     }
  9746.        
  9747.     private String getBYOKEnvSecretsConfig = null;
  9748.     public String getBYOKEnvSecretsConfig(){
  9749.         if(this.getBYOKEnvSecretsConfig==null){
  9750.             String pName = "org.openspcoop2.pdd.byok.env.secrets.config";
  9751.             try{  
  9752.                 String value = this.reader.getValueConvertEnvProperties(pName);
  9753.                 if(value!=null){
  9754.                     value = value.trim();
  9755.                     if(!"".equals(value)) {
  9756.                         this.getBYOKEnvSecretsConfig = value;
  9757.                     }
  9758.                 }

  9759.             }catch(java.lang.Exception e) {
  9760.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, non verranno caricati secrets errore:"+e.getMessage(),e);
  9761.                 this.getBYOKEnvSecretsConfig = null;
  9762.             }
  9763.         }
  9764.         return this.getBYOKEnvSecretsConfig;
  9765.     }
  9766.    
  9767.     private Boolean isBYOKEnvSecretsConfigRequired= null;
  9768.     public boolean isBYOKEnvSecretsConfigRequired(){
  9769.         if(this.isBYOKEnvSecretsConfigRequired==null){
  9770.             String pName = "org.openspcoop2.pdd.byok.env.secrets.required";
  9771.             try{  
  9772.                 String value = this.reader.getValueConvertEnvProperties(pName);

  9773.                 if(value!=null){
  9774.                     value = value.trim();
  9775.                     this.isBYOKEnvSecretsConfigRequired = Boolean.parseBoolean(value);
  9776.                 }else{
  9777.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  9778.                     this.isBYOKEnvSecretsConfigRequired = false;
  9779.                 }

  9780.             }catch(java.lang.Exception e) {
  9781.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, false),e);
  9782.                 this.isBYOKEnvSecretsConfigRequired = false;
  9783.             }
  9784.         }
  9785.         return this.isBYOKEnvSecretsConfigRequired;
  9786.     }
  9787.    
  9788.    
  9789.    
  9790.    

  9791.     /* ********  NODE RECEIVER  ******** */


  9792.     /**
  9793.      * Restituisce il Timeout di attesa di una risposta applicativa
  9794.      *
  9795.      * @return Restituisce il Timeout di attesa di una risposta applicativa
  9796.      *
  9797.      */
  9798.     private Long nodeReceiverTimeout = null;
  9799.     public long getNodeReceiverTimeout() {  
  9800.         if(this.nodeReceiverTimeout == null){
  9801.             try{
  9802.                 String name = null;
  9803.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.nodeReceiver.timeout");
  9804.                 if(name!=null){
  9805.                     name = name.trim();
  9806.                     this.nodeReceiverTimeout = java.lang.Long.parseLong(name);
  9807.                 }else{
  9808.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.nodeReceiver.timeout' non impostata, viene utilizzato il default="+CostantiPdD.NODE_RECEIVER_ATTESA_ATTIVA);
  9809.                     this.nodeReceiverTimeout = CostantiPdD.NODE_RECEIVER_ATTESA_ATTIVA;
  9810.                 }
  9811.             }catch(java.lang.Exception e) {
  9812.                 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);
  9813.                 this.nodeReceiverTimeout = CostantiPdD.NODE_RECEIVER_ATTESA_ATTIVA;
  9814.             }    
  9815.         }

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

  9842.         return this.nodeReceiverTimeoutRicezioneContenutiApplicativi;
  9843.     }
  9844.     /**
  9845.      * Restituisce il Timeout di attesa di una busta
  9846.      *
  9847.      * @return Restituisce il Timeout di attesa di una busta
  9848.      *
  9849.      */
  9850.     private Long nodeReceiverTimeoutRicezioneBuste = null;
  9851.     public long getNodeReceiverTimeoutRicezioneBuste() {    
  9852.         if(this.nodeReceiverTimeoutRicezioneBuste == null){
  9853.             try{
  9854.                 String name = null;
  9855.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.nodeReceiver.ricezioneBuste.timeout");

  9856.                 if(name!=null){
  9857.                     name = name.trim();
  9858.                     this.nodeReceiverTimeoutRicezioneBuste = java.lang.Long.parseLong(name);
  9859.                 }else{
  9860.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.nodeReceiver.ricezioneBuste.timeout' non impostata, viene utilizzato il default="+this.getNodeReceiverTimeout());
  9861.                     this.nodeReceiverTimeoutRicezioneBuste = this.getNodeReceiverTimeout();
  9862.                 }
  9863.             }catch(java.lang.Exception e) {
  9864.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.nodeReceiver.ricezioneBuste.timeout' non impostata, viene utilizzato il default="+this.getNodeReceiverTimeout()+", errore:"+e.getMessage(),e);
  9865.                 this.nodeReceiverTimeoutRicezioneBuste = this.getNodeReceiverTimeout();
  9866.             }    
  9867.         }

  9868.         return this.nodeReceiverTimeoutRicezioneBuste;
  9869.     }
  9870.     /**
  9871.      * Restituisce la Frequenza di check sulla coda RicezioneBuste/RicezioneContenutiApplicativi
  9872.      *
  9873.      * @return Restituisce la Frequenza di check sulla coda RicezioneBuste/RicezioneContenutiApplicativi
  9874.      *
  9875.      */
  9876.     private Integer nodeReceiverCheckInterval = null;
  9877.     public int getNodeReceiverCheckInterval() {
  9878.         if(this.nodeReceiverCheckInterval==null){
  9879.             try{
  9880.                 String name = null;
  9881.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.nodeReceiver.check");
  9882.                 if(name!=null){
  9883.                     name = name.trim();
  9884.                     this.nodeReceiverCheckInterval = java.lang.Integer.parseInt(name);
  9885.                 }else{
  9886.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.nodeReceiver.check' non impostata, viene utilizzato il default="+CostantiPdD.NODE_RECEIVER_CHECK_INTERVAL);
  9887.                     this.nodeReceiverCheckInterval = CostantiPdD.NODE_RECEIVER_CHECK_INTERVAL;
  9888.                 }
  9889.             }catch(java.lang.Exception e) {
  9890.                 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);
  9891.                 this.nodeReceiverCheckInterval = CostantiPdD.NODE_RECEIVER_CHECK_INTERVAL;
  9892.             }    
  9893.         }

  9894.         return this.nodeReceiverCheckInterval;
  9895.     }

  9896.     /**
  9897.      * Restituisce l'intervallo di check su DB effettuata dal TransactionManager, in caso di cache attiva
  9898.      *
  9899.      * @return Restituisce intervallo di check su DB effettuata dal TransactionManager, in caso di cache attiva
  9900.      *
  9901.      */
  9902.     private Integer nodeReceiverCheckDBInterval = null;
  9903.     public int getNodeReceiverCheckDBInterval() {  
  9904.         if(this.nodeReceiverCheckDBInterval==null){
  9905.             try{
  9906.                 String name = null;
  9907.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.nodeReceiver.checkDB");

  9908.                 if(name!=null){
  9909.                     name = name.trim();
  9910.                     int time = java.lang.Integer.parseInt(name);
  9911.                     this.nodeReceiverCheckDBInterval = time;
  9912.                 }else{
  9913.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.nodeReceiver.checkDB' non impostata, viene utilizzato il default="+CostantiPdD.NODE_RECEIVER_CHECK_DB_INTERVAL);
  9914.                     this.nodeReceiverCheckDBInterval = CostantiPdD.NODE_RECEIVER_CHECK_DB_INTERVAL;
  9915.                 }
  9916.             }catch(java.lang.Exception e) {
  9917.                 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);
  9918.                 this.nodeReceiverCheckDBInterval = CostantiPdD.NODE_RECEIVER_CHECK_DB_INTERVAL;
  9919.             }  
  9920.         }

  9921.         return this.nodeReceiverCheckDBInterval;
  9922.     }

  9923.     /**
  9924.      * Restituisce il nodeReceiver da utilizzare per le comunicazioni infrastrutturali
  9925.      *
  9926.      * @return  il nodeReceiver da utilizzare per le comunicazioni infrastrutturali
  9927.      */
  9928.     private String nodeReceiver = null;
  9929.     public String getNodeReceiver() {
  9930.         if(this.nodeReceiver==null){
  9931.             try{
  9932.                 this.nodeReceiver = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.nodeReceiver");
  9933.                 if(this.nodeReceiver==null)
  9934.                     throw new CoreException(NON_DEFINITA);
  9935.                 this.nodeReceiver = this.nodeReceiver.trim();

  9936.             }catch(java.lang.Exception e) {
  9937.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.nodeReceiver': "+e.getMessage(),e);
  9938.                 this.nodeReceiver = null;
  9939.             }    
  9940.         }

  9941.         return this.nodeReceiver;
  9942.     }

  9943.     /**
  9944.      * Restituisce l'indicazione se il NodeReceiver deve essere utilizzato in single connection
  9945.      *
  9946.      * @return Restituisce l'indicazione se il NodeReceiver deve essere utilizzato in single connection
  9947.      *
  9948.      */
  9949.     private Boolean singleConnectionNodeReceiverValue = null;
  9950.     public boolean singleConnectionNodeReceiver(){

  9951.         if(this.singleConnectionNodeReceiverValue==null){
  9952.             try{  
  9953.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.nodeReceiver.singleConnection");

  9954.                 if(value!=null){
  9955.                     value = value.trim();
  9956.                     this.singleConnectionNodeReceiverValue = Boolean.parseBoolean(value);
  9957.                 }else{
  9958.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.nodeReceiver.singleConnection' non impostata, viene utilizzato il default=false");
  9959.                     this.singleConnectionNodeReceiverValue = false;
  9960.                 }

  9961.             }catch(java.lang.Exception e) {
  9962.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.nodeReceiver.singleConnection' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  9963.                 this.singleConnectionNodeReceiverValue = false;
  9964.             }
  9965.         }

  9966.         return this.singleConnectionNodeReceiverValue;

  9967.     }




  9968.     /* ********  NODE SENDER  ******** */

  9969.     /**
  9970.      * Restituisce il nodeSender da utilizzare per le comunicazioni infrastrutturali
  9971.      *
  9972.      * @return  il nodeSender da utilizzare per le comunicazioni infrastrutturali
  9973.      */
  9974.     private String nodeSender = null;
  9975.     public String getNodeSender() {
  9976.         if(this.nodeSender==null){
  9977.             try{
  9978.                 this.nodeSender = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.nodeSender");
  9979.                 if(this.nodeSender==null)
  9980.                     throw new CoreException(NON_DEFINITA);
  9981.                 this.nodeSender = this.nodeSender.trim();

  9982.             }catch(java.lang.Exception e) {
  9983.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.nodeSender': "+e.getMessage(),e);
  9984.                 this.nodeSender = null;
  9985.             }    
  9986.         }

  9987.         return this.nodeSender;
  9988.     }








  9989.     /* ********  EJB  ******** */

  9990.     /**
  9991.      * Restituisce il Timeout di attesa per i deploy dei timer
  9992.      *
  9993.      * @return Restituisce il Timeout di attesa per i deploy dei timer
  9994.      *
  9995.      */
  9996.     private Long timerEJBDeployTimeout = null;
  9997.     public long getTimerEJBDeployTimeout() {    
  9998.         if(this.timerEJBDeployTimeout==null){
  9999.             try{
  10000.                 String name = null;
  10001.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.timeout");

  10002.                 if(name!=null){
  10003.                     name = name.trim();
  10004.                     this.timerEJBDeployTimeout = java.lang.Long.parseLong(name);
  10005.                 }else{
  10006.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.timeout' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_EJB_ATTESA_ATTIVA);
  10007.                     this.timerEJBDeployTimeout = CostantiPdD.TIMER_EJB_ATTESA_ATTIVA;
  10008.                 }
  10009.             }catch(java.lang.Exception e) {
  10010.                 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);
  10011.                 this.timerEJBDeployTimeout = CostantiPdD.TIMER_EJB_ATTESA_ATTIVA;
  10012.             }    
  10013.         }

  10014.         return this.timerEJBDeployTimeout;
  10015.     }
  10016.     /**
  10017.      * Restituisce la Frequenza di check per il deploy dei timer
  10018.      *
  10019.      * @return Restituisce la Frequenza di check per il deploy dei timer
  10020.      *
  10021.      */
  10022.     private Integer timerEJBDeployCheckInterval = null;
  10023.     public int getTimerEJBDeployCheckInterval() {  
  10024.         if(this.timerEJBDeployCheckInterval==null){
  10025.             try{
  10026.                 String name = null;
  10027.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.check");

  10028.                 if(name!=null){
  10029.                     name = name.trim();
  10030.                     this.timerEJBDeployCheckInterval = java.lang.Integer.parseInt(name);
  10031.                 }else{
  10032.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.check' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_EJB_CHECK_INTERVAL);
  10033.                     this.timerEJBDeployCheckInterval = CostantiPdD.TIMER_EJB_CHECK_INTERVAL;
  10034.                 }
  10035.             }catch(java.lang.Exception e) {
  10036.                 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);
  10037.                 this.timerEJBDeployCheckInterval = CostantiPdD.TIMER_EJB_CHECK_INTERVAL;
  10038.             }  
  10039.         }

  10040.         return this.timerEJBDeployCheckInterval;
  10041.     }








  10042.     /* ********  TRANSACTION MANAGER  ******** */

  10043.     /**
  10044.      * Restituisce l'intervallo in millisecondi di attesa attiva effettuato dal Transaction Manager (Default 2 minuti)
  10045.      *
  10046.      * @return Restituisce l'intervallo in millisecondi di attesa attiva effettuato dal Transaction Manager (Default 2 minuti)
  10047.      *  *
  10048.      */
  10049.     private Long transactionManagerAttesaAttiva = null;
  10050.     public long getTransactionManagerAttesaAttiva() {  
  10051.         if(this.transactionManagerAttesaAttiva==null){
  10052.             try{
  10053.                 String name = null;
  10054.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.core.TransactionManager.attesaAttiva");

  10055.                 if(name!=null){
  10056.                     name = name.trim();
  10057.                     long time = java.lang.Long.parseLong(name);
  10058.                     this.transactionManagerAttesaAttiva = time*1000;
  10059.                 }else{
  10060.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.TransactionManager.attesaAttiva' non impostata, viene utilizzato il default="+CostantiPdD.TRANSACTION_MANAGER_ATTESA_ATTIVA);
  10061.                     this.transactionManagerAttesaAttiva = CostantiPdD.TRANSACTION_MANAGER_ATTESA_ATTIVA;
  10062.                 }
  10063.             }catch(java.lang.Exception e) {
  10064.                 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);
  10065.                 this.transactionManagerAttesaAttiva = CostantiPdD.TRANSACTION_MANAGER_ATTESA_ATTIVA;
  10066.             }    
  10067.         }

  10068.         return this.transactionManagerAttesaAttiva;
  10069.     }

  10070.     /**
  10071.      * Restituisce l'intervallo maggiore per frequenza di check nell'attesa attiva effettuata dal TransactionManager, in millisecondi
  10072.      *
  10073.      * @return Restituisce Intervallo maggiore per frequenza di check nell'attesa attiva effettuata dal TransactionManager, in millisecondi
  10074.      *
  10075.      */
  10076.     private Integer transactionManagerCheckInterval = null;
  10077.     public int getTransactionManagerCheckInterval() {  
  10078.         if(this.transactionManagerCheckInterval==null){
  10079.             try{
  10080.                 String name = null;
  10081.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.core.TransactionManager.check");

  10082.                 if(name!=null){
  10083.                     name = name.trim();
  10084.                     int time = java.lang.Integer.parseInt(name);
  10085.                     this.transactionManagerCheckInterval = time;
  10086.                 }else{
  10087.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.TransactionManager.check' non impostata, viene utilizzato il default="+CostantiPdD.TRANSACTION_MANAGER_CHECK_INTERVAL);
  10088.                     this.transactionManagerCheckInterval = CostantiPdD.TRANSACTION_MANAGER_CHECK_INTERVAL;
  10089.                 }
  10090.             }catch(java.lang.Exception e) {
  10091.                 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);
  10092.                 this.transactionManagerCheckInterval = CostantiPdD.TRANSACTION_MANAGER_CHECK_INTERVAL;
  10093.             }  
  10094.         }

  10095.         return this.transactionManagerCheckInterval;
  10096.     }

  10097.     /**
  10098.      * Restituisce l'intervallo di check su DB effettuata dal TransactionManager, in caso di cache attiva
  10099.      *
  10100.      * @return Restituisce intervallo di check su DB effettuata dal TransactionManager, in caso di cache attiva
  10101.      *
  10102.      */
  10103.     private Integer transactionManagerCheckDBInterval = null;
  10104.     public int getTransactionManagerCheckDBInterval() {
  10105.         if(this.transactionManagerCheckDBInterval==null){
  10106.             try{
  10107.                 String name = null;
  10108.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.core.TransactionManager.checkDB");

  10109.                 if(name!=null){
  10110.                     name = name.trim();
  10111.                     int time = java.lang.Integer.parseInt(name);
  10112.                     this.transactionManagerCheckDBInterval = time;
  10113.                 }else{
  10114.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.TransactionManager.checkDB' non impostata, viene utilizzato il default="+CostantiPdD.TRANSACTION_MANAGER_CHECK_DB_INTERVAL);
  10115.                     this.transactionManagerCheckDBInterval = CostantiPdD.TRANSACTION_MANAGER_CHECK_DB_INTERVAL;
  10116.                 }
  10117.             }catch(java.lang.Exception e) {
  10118.                 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);
  10119.                 this.transactionManagerCheckDBInterval = CostantiPdD.TRANSACTION_MANAGER_CHECK_DB_INTERVAL;
  10120.             }  
  10121.         }

  10122.         return this.transactionManagerCheckDBInterval;
  10123.     }


  10124.     /**
  10125.      * Restituisce l'indicazione se il TransactionManager deve essere utilizzato in single connection
  10126.      *
  10127.      * @return Restituisce l'indicazione se il TransactionManager deve essere utilizzato in single connection
  10128.      *
  10129.      */
  10130.     private Boolean singleConnectionTransactionManagerValue = null;
  10131.     public boolean singleConnectionTransactionManager(){

  10132.         if(this.singleConnectionTransactionManagerValue==null){
  10133.             try{  
  10134.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.core.TransactionManager.singleConnection");

  10135.                 if(value!=null){
  10136.                     value = value.trim();
  10137.                     this.singleConnectionTransactionManagerValue = Boolean.parseBoolean(value);
  10138.                 }else{
  10139.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.TransactionManager.singleConnection' non impostata, viene utilizzato il default=false");
  10140.                     this.singleConnectionTransactionManagerValue = false;
  10141.                 }

  10142.             }catch(java.lang.Exception e) {
  10143.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.TransactionManager.singleConnection' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  10144.                 this.singleConnectionTransactionManagerValue = false;
  10145.             }
  10146.         }

  10147.         return this.singleConnectionTransactionManagerValue;

  10148.     }






  10149.     /* ********  SERIALIZABLE  ******** */

  10150.     /**
  10151.      * Restituisce l'intervallo di Attesa attiva di default effettuata per la gestione del livello serializable nel DB, in millisecondi
  10152.      *
  10153.      * @return Restituisce l'intervallo di Attesa attiva di default effettuata per la gestione del livello serializable nel DB, in millisecondi
  10154.      *
  10155.      */
  10156.     private Long gestioneSerializableDBAttesaAttiva = null;
  10157.     public long getGestioneSerializableDBAttesaAttiva() {  
  10158.         if(this.gestioneSerializableDBAttesaAttiva==null){
  10159.             try{
  10160.                 String name = null;
  10161.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.jdbc.serializable.attesaAttiva");
  10162.                 if (name != null) {
  10163.                     name = name.trim();
  10164.                     long time = java.lang.Long.parseLong(name);
  10165.                     this.gestioneSerializableDBAttesaAttiva = time*1000;
  10166.                 } else {
  10167.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.jdbc.serializable.attesaAttiva' non impostata, viene utilizzato il default="+Costanti.GESTIONE_SERIALIZABLE_ATTESA_ATTIVA);
  10168.                     this.gestioneSerializableDBAttesaAttiva =  Costanti.GESTIONE_SERIALIZABLE_ATTESA_ATTIVA;
  10169.                 }
  10170.             }catch(java.lang.Exception e) {
  10171.                 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);
  10172.                 this.gestioneSerializableDBAttesaAttiva = Costanti.GESTIONE_SERIALIZABLE_ATTESA_ATTIVA;
  10173.             }  
  10174.         }

  10175.         return this.gestioneSerializableDBAttesaAttiva;
  10176.     }

  10177.     /**
  10178.      * Restituisce l'intervallo maggiore per frequenza di check nell'attesa attiva effettuata per la gestione del livello serializable nel DB, in millisecondi
  10179.      *
  10180.      * @return Restituisce Intervallo maggiore per frequenza di check nell'attesa attiva effettuata per la gestione del livello serializable nel DB, in millisecondi
  10181.      */
  10182.     private Integer gestioneSerializableDBCheckInterval = null;
  10183.     public int getGestioneSerializableDBCheckInterval() {  
  10184.         if(this.gestioneSerializableDBCheckInterval==null){
  10185.             try{
  10186.                 String name = null;
  10187.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.jdbc.serializable.check");
  10188.                 if (name != null){
  10189.                     name = name.trim();
  10190.                     int time = java.lang.Integer.parseInt(name);
  10191.                     this.gestioneSerializableDBCheckInterval = time;
  10192.                 } else{
  10193.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.jdbc.serializable.check' non impostata, viene utilizzato il default="+Costanti.GESTIONE_SERIALIZABLE_CHECK_INTERVAL);
  10194.                     this.gestioneSerializableDBCheckInterval = Costanti.GESTIONE_SERIALIZABLE_CHECK_INTERVAL;
  10195.                 }
  10196.             }catch(java.lang.Exception e) {
  10197.                 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);
  10198.                 this.gestioneSerializableDBCheckInterval = Costanti.GESTIONE_SERIALIZABLE_CHECK_INTERVAL;
  10199.             }    
  10200.         }

  10201.         return this.gestioneSerializableDBCheckInterval;
  10202.     }

  10203.     private Boolean isJdbcCloseConnectionCheckIsClosed = null;
  10204.     public boolean isJdbcCloseConnectionCheckIsClosed(){

  10205.         if(this.isJdbcCloseConnectionCheckIsClosed==null){
  10206.             String pName = "org.openspcoop2.pdd.jdbc.closeConnection.checkIsClosed";
  10207.             try{  
  10208.                 String value = this.reader.getValueConvertEnvProperties(pName);

  10209.                 if(value!=null){
  10210.                     value = value.trim();
  10211.                     this.isJdbcCloseConnectionCheckIsClosed = Boolean.parseBoolean(value);
  10212.                 }else{
  10213.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  10214.                     this.isJdbcCloseConnectionCheckIsClosed = true;
  10215.                 }

  10216.             }catch(java.lang.Exception e) {
  10217.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  10218.                 this.isJdbcCloseConnectionCheckIsClosed = true;
  10219.             }
  10220.         }

  10221.         return this.isJdbcCloseConnectionCheckIsClosed;

  10222.     }
  10223.    
  10224.     private Boolean isJdbcCloseConnectionCheckAutocommit = null;
  10225.     public boolean isJdbcCloseConnectionCheckAutocommit(){

  10226.         if(this.isJdbcCloseConnectionCheckAutocommit==null){
  10227.             String pName = "org.openspcoop2.pdd.jdbc.closeConnection.checkAutocommit";
  10228.             try{  
  10229.                 String value = this.reader.getValueConvertEnvProperties(pName);

  10230.                 if(value!=null){
  10231.                     value = value.trim();
  10232.                     this.isJdbcCloseConnectionCheckAutocommit = Boolean.parseBoolean(value);
  10233.                 }else{
  10234.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  10235.                     this.isJdbcCloseConnectionCheckAutocommit = true;
  10236.                 }

  10237.             }catch(java.lang.Exception e) {
  10238.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  10239.                 this.isJdbcCloseConnectionCheckAutocommit = true;
  10240.             }
  10241.         }

  10242.         return this.isJdbcCloseConnectionCheckAutocommit;

  10243.     }






  10244.     /* ********  LIBRERIA PROTOCOL  ******** */

  10245.     /**
  10246.      * Restituisce il tipo di gestione del RepositoryBuste
  10247.      *
  10248.      * @return Restituisce il tipo di gestione  del RepositoryBuste
  10249.      */
  10250.     private String gestoreRepositoryBuste = null;
  10251.     public String getGestoreRepositoryBuste() {
  10252.         if(this.gestoreRepositoryBuste==null){
  10253.             try{
  10254.                 String name = null;
  10255.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.repository.gestore");
  10256.                 if(name==null)
  10257.                     throw new CoreException(NON_DEFINITA);
  10258.                 name = name.trim();
  10259.                
  10260.                 if(CostantiConfigurazione.REPOSITORY_BUSTE_AUTO_BYTEWISE.equals(name)){
  10261.                     if(this.getDatabaseType()!=null){
  10262.                         name = GestoreRepositoryFactory.getTipoRepositoryBuste(this.getDatabaseType());
  10263.                     }
  10264.                     else{
  10265.                         this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.protocol.repository.gestore': il valore '"+
  10266.                                 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: "+
  10267.                                 CostantiConfigurazione.REPOSITORY_BUSTE_DEFAULT);
  10268.                         name = CostantiConfigurazione.REPOSITORY_BUSTE_DEFAULT;
  10269.                     }
  10270.                 }
  10271.                
  10272.                 this.gestoreRepositoryBuste = name;
  10273.            
  10274.             }catch(java.lang.Exception e) {
  10275.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.protocol.repository.gestore': "+e.getMessage(),e);
  10276.                 this.gestoreRepositoryBuste = null;
  10277.             }    
  10278.         }

  10279.         return this.gestoreRepositoryBuste;
  10280.     }

  10281.     /**
  10282.      * Restituisce il tipo di filtro duplicati utilizzato dal RepositoryBuste
  10283.      *
  10284.      * @return Restituisce il tipo di filtro duplicati utilizzato dal RepositoryBuste
  10285.      */
  10286.     private String gestoreFiltroDuplicatiRepositoryBuste = null;
  10287.     public String getGestoreFiltroDuplicatiRepositoryBuste() {
  10288.         if(this.gestoreFiltroDuplicatiRepositoryBuste==null){
  10289.             try{
  10290.                 String name = null;
  10291.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.filtroDuplicati");
  10292.                 if(name==null){
  10293.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.filtroDuplicati' non impostata, viene utilizzato il default="+CostantiConfigurazione.FILTRO_DUPLICATI_OPENSPCOOP);
  10294.                     this.gestoreFiltroDuplicatiRepositoryBuste = CostantiConfigurazione.FILTRO_DUPLICATI_OPENSPCOOP;
  10295.                 }else{
  10296.                     name = name.trim();
  10297.                     this.gestoreFiltroDuplicatiRepositoryBuste = name;
  10298.                 }
  10299.            
  10300.             }catch(java.lang.Exception e) {
  10301.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.filtroDuplicati' non impostata, viene utilizzato il default="+CostantiConfigurazione.FILTRO_DUPLICATI_OPENSPCOOP+", errore:"+e.getMessage(),e);
  10302.                 this.gestoreFiltroDuplicatiRepositoryBuste = CostantiConfigurazione.FILTRO_DUPLICATI_OPENSPCOOP;
  10303.             }    
  10304.         }

  10305.         return this.gestoreFiltroDuplicatiRepositoryBuste;
  10306.     }

  10307.     /**
  10308.      * Restituisce la Generazione attributi 'tipo' e 'servizioCorrelato' nell'elemento 'ProfiloCollaborazione' della richiesta asincrona simmetrica
  10309.      * e della ricevuta alla richiesta asincrona asimmetrica
  10310.      *  
  10311.      * @return Restituisce la Generazione attributi 'tipo' e 'servizioCorrelato' nell'elemento 'ProfiloCollaborazione' della richiesta asincrona simmetrica
  10312.      *         e della ricevuta alla richiesta asincrona asimmetrica
  10313.      *
  10314.      */
  10315.     private Boolean isGenerazioneAttributiAsincroni = null;
  10316.     public boolean isGenerazioneAttributiAsincroni(String implementazionePdDSoggetto){

  10317.         // ovverriding per implementazione porta di dominio
  10318.         if(this.pddReader!=null){
  10319.             String tipo = this.pddReader.getBusta_AsincroniAttributiCorrelatiEnable(implementazionePdDSoggetto);
  10320.             if(tipo!=null && (
  10321.                     CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo) ||
  10322.                     CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo)  )
  10323.             ){
  10324.                 return CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo);
  10325.             }
  10326.         }

  10327.         if(this.isGenerazioneAttributiAsincroni==null){
  10328.             try{  
  10329.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.asincroni.attributiCorrelati.enable");

  10330.                 if (value != null){
  10331.                     value = value.trim();
  10332.                     this.isGenerazioneAttributiAsincroni = Boolean.parseBoolean(value);
  10333.                 }else{
  10334.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.asincroni.attributiCorrelati.enable' non impostata, viene utilizzato il default=true");
  10335.                     this.isGenerazioneAttributiAsincroni = true;
  10336.                 }

  10337.             }catch(java.lang.Exception e) {
  10338.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.asincroni.attributiCorrelati.enable' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  10339.                 this.isGenerazioneAttributiAsincroni = true;
  10340.             }
  10341.         }

  10342.         return this.isGenerazioneAttributiAsincroni;
  10343.     }

  10344.    

  10345.     /**
  10346.      * Indicazione se ritenere una busta malformata se la validazione ha rilevato eccezioni di livello non gravi
  10347.      *  
  10348.      * @return Indicazione se ritenere una busta malformata se la validazione ha rilevato eccezioni di livello non gravi
  10349.      *
  10350.      */
  10351.     private Boolean ignoraEccezioniNonGraviValidazione = null;
  10352.     public boolean ignoraEccezioniNonGraviValidazione(){
  10353.         if(this.ignoraEccezioniNonGraviValidazione==null){
  10354.             try{  
  10355.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.validazione.ignoraEccezioniNonGravi");

  10356.                 if (value != null){
  10357.                     value = value.trim();
  10358.                     this.ignoraEccezioniNonGraviValidazione = Boolean.parseBoolean(value);
  10359.                 }else{
  10360.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.validazione.ignoraEccezioniNonGravi' non impostata, viene utilizzato il default=false");
  10361.                     this.ignoraEccezioniNonGraviValidazione = false;
  10362.                 }

  10363.             }catch(java.lang.Exception e) {
  10364.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.validazione.ignoraEccezioniNonGravi' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  10365.                 this.ignoraEccezioniNonGraviValidazione = false;
  10366.             }
  10367.         }

  10368.         return this.ignoraEccezioniNonGraviValidazione;
  10369.     }
  10370.    
  10371.     /**
  10372.      * Indicazione se forzare la generazione del prefix 'soap' per i fault spcoop (compatibilita' con OpenSPCoop v1).
  10373.      *  
  10374.      * @return Indicazione se forzare la generazione del prefix 'soap' per i fault spcoop (compatibilita' con OpenSPCoop v1).
  10375.      *
  10376.      */
  10377.     private Boolean forceSoapPrefixCompatibilitaOpenSPCoopV1 = null;
  10378.     public boolean isForceSoapPrefixCompatibilitaOpenSPCoopV1(){
  10379.         if(this.forceSoapPrefixCompatibilitaOpenSPCoopV1==null){
  10380.             try{  
  10381.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.spcoop.backwardCompatibility.forceSoapPrefix");

  10382.                 if (value != null){
  10383.                     value = value.trim();
  10384.                     this.forceSoapPrefixCompatibilitaOpenSPCoopV1 = Boolean.parseBoolean(value);
  10385.                 }else{
  10386.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.spcoop.backwardCompatibility.forceSoapPrefix' non impostata, viene utilizzato il default=true");
  10387.                     this.forceSoapPrefixCompatibilitaOpenSPCoopV1 = true;
  10388.                 }

  10389.             }catch(java.lang.Exception e) {
  10390.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.spcoop.backwardCompatibility.forceSoapPrefix' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  10391.                 this.forceSoapPrefixCompatibilitaOpenSPCoopV1 = true;
  10392.             }
  10393.         }

  10394.         return this.forceSoapPrefixCompatibilitaOpenSPCoopV1;
  10395.     }
  10396.    

  10397.     /**
  10398.      * Indicazione se generare la lista Trasmissione
  10399.      *  
  10400.      * @return Indicazione se generare la lista Trasmissione
  10401.      *
  10402.      */
  10403.     private Boolean isGenerazioneListaTrasmissioni = null;
  10404.     public boolean isGenerazioneListaTrasmissioni(String implementazionePdDSoggetto){

  10405.         // ovverriding per implementazione porta di dominio
  10406.         if(this.pddReader!=null){          
  10407.             String tipo = this.pddReader.getBusta_TrasmissioneEnable(implementazionePdDSoggetto);
  10408.             if(tipo!=null && (
  10409.                     CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo) ||
  10410.                     CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo)  )
  10411.             ){
  10412.                 if(CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo))
  10413.                     return true;
  10414.                 else if(CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo))
  10415.                     return false;
  10416.             }
  10417.         }

  10418.         if(this.isGenerazioneListaTrasmissioni==null){
  10419.             try{  
  10420.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.trasmissione.enable");

  10421.                 if (value != null){
  10422.                     value = value.trim();
  10423.                     this.isGenerazioneListaTrasmissioni = Boolean.parseBoolean(value);
  10424.                 }else{
  10425.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.trasmissione.enable' non impostata, viene utilizzato il default=true");
  10426.                     this.isGenerazioneListaTrasmissioni = true;
  10427.                 }

  10428.             }catch(java.lang.Exception e) {
  10429.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.trasmissione.enable' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  10430.                 this.isGenerazioneListaTrasmissioni = true;
  10431.             }
  10432.         }

  10433.         return this.isGenerazioneListaTrasmissioni;
  10434.     }

  10435.     /**
  10436.      * Indicazione se generare un msg di Protocollo errore in caso di filtro duplicati anche per il profilo oneway
  10437.      *  
  10438.      * @return Indicazione se generare un msg di Protocollo errore in caso di filtro duplicati  anche per il profilo oneway
  10439.      *
  10440.      */
  10441.     private Boolean isGenerazioneErroreFiltroDuplicati = null;
  10442.     public boolean isGenerazioneErroreProtocolloFiltroDuplicati(String implementazionePdDSoggetto){

  10443.         // ovverriding per implementazione porta di dominio
  10444.         if(this.pddReader!=null){
  10445.             String tipo = this.pddReader.getBusta_FiltroduplicatiGenerazioneBustaErrore(implementazionePdDSoggetto);
  10446.             if(tipo!=null && (
  10447.                     CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo) ||
  10448.                     CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo)  )
  10449.             ){
  10450.                 if(CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo))
  10451.                     return true;
  10452.                 else if(CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo))
  10453.                     return false;
  10454.             }
  10455.         }

  10456.         if(this.isGenerazioneErroreFiltroDuplicati==null){
  10457.             try{  
  10458.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.filtroduplicati.generazioneErrore");

  10459.                 if (value != null){
  10460.                     value = value.trim();
  10461.                     this.isGenerazioneErroreFiltroDuplicati = Boolean.parseBoolean(value);
  10462.                 }else{
  10463.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.filtroduplicati.generazioneErrore' non impostata, viene utilizzato il default=false");
  10464.                     this.isGenerazioneErroreFiltroDuplicati = false;
  10465.                 }

  10466.             }catch(java.lang.Exception e) {
  10467.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.filtroduplicati.generazioneErrore' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  10468.                 this.isGenerazioneErroreFiltroDuplicati = false;
  10469.             }
  10470.         }

  10471.         return this.isGenerazioneErroreFiltroDuplicati;
  10472.     }

  10473.     /**
  10474.      * Indicazione se leggere dal registro se abilitato il filtro duplicati
  10475.      *  
  10476.      * @return Indicazione se leggere dal registro se abilitato il filtro duplicati
  10477.      *
  10478.      */
  10479.     private Boolean isCheckFromRegistroFiltroDuplicatiAbilitato = null;
  10480.     public boolean isCheckFromRegistroFiltroDuplicatiAbilitato(String implementazionePdDSoggetto){

  10481.         // ovverriding per implementazione porta di dominio
  10482.         if(this.pddReader!=null){
  10483.             String tipo = this.pddReader.getValidazione_FiltroDuplicatiLetturaRegistro(implementazionePdDSoggetto);
  10484.             if(tipo!=null && (
  10485.                     CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo) ||
  10486.                     CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo)  )
  10487.             ){
  10488.                 if(CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo))
  10489.                     return true;
  10490.                 else if(CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo))
  10491.                     return false;
  10492.             }
  10493.         }

  10494.         if(this.isCheckFromRegistroFiltroDuplicatiAbilitato==null){
  10495.             try{  
  10496.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.filtroDuplicati.letturaRegistro");

  10497.                 if (value != null){
  10498.                     value = value.trim();
  10499.                     this.isCheckFromRegistroFiltroDuplicatiAbilitato = Boolean.parseBoolean(value);
  10500.                 }else{
  10501.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.filtroDuplicati.letturaRegistro' non impostata, viene utilizzato il default=true");
  10502.                     this.isCheckFromRegistroFiltroDuplicatiAbilitato = true;
  10503.                 }

  10504.             }catch(java.lang.Exception e) {
  10505.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.filtroDuplicati.letturaRegistro' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  10506.                 this.isCheckFromRegistroFiltroDuplicatiAbilitato = true;
  10507.             }
  10508.         }

  10509.         return this.isCheckFromRegistroFiltroDuplicatiAbilitato;
  10510.     }

  10511.     /**
  10512.      * Indicazione se leggere dal registro se abilitato la gestione dei riscontri
  10513.      *  
  10514.      * @return Indicazione se leggere dal registro se abilitato la gestione dei riscontri
  10515.      *
  10516.      */
  10517.     private Boolean isCheckFromRegistroConfermaRicezioneAbilitato = null;
  10518.     public boolean isCheckFromRegistroConfermaRicezioneAbilitato(String implementazionePdDSoggetto){

  10519.         // ovverriding per implementazione porta di dominio
  10520.         if(this.pddReader!=null){
  10521.             String tipo = this.pddReader.getValidazione_ConfermaRicezioneLetturaRegistro(implementazionePdDSoggetto);
  10522.             if(tipo!=null && (
  10523.                     CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo) ||
  10524.                     CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo)  )
  10525.             ){
  10526.                 if(CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo))
  10527.                     return true;
  10528.                 else if(CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo))
  10529.                     return false;
  10530.             }
  10531.         }

  10532.         if(this.isCheckFromRegistroConfermaRicezioneAbilitato==null){
  10533.             try{  
  10534.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.confermaRicezione.letturaRegistro");

  10535.                 if (value != null){
  10536.                     value = value.trim();
  10537.                     this.isCheckFromRegistroConfermaRicezioneAbilitato = Boolean.parseBoolean(value);
  10538.                 }else{
  10539.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.confermaRicezione.letturaRegistro' non impostata, viene utilizzato il default=true");
  10540.                     this.isCheckFromRegistroConfermaRicezioneAbilitato = true;
  10541.                 }

  10542.             }catch(java.lang.Exception e) {
  10543.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.confermaRicezione.letturaRegistro' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  10544.                 this.isCheckFromRegistroConfermaRicezioneAbilitato = true;
  10545.             }
  10546.         }

  10547.         return this.isCheckFromRegistroConfermaRicezioneAbilitato;
  10548.     }

  10549.     /**
  10550.      * Indicazione se leggere dal registro se abilitato la consegna in ordine
  10551.      *  
  10552.      * @return Indicazione se leggere dal registro se abilitato la gestione dei riscontri
  10553.      *
  10554.      */
  10555.     private Boolean isCheckFromRegistroConsegnaInOrdineAbilitato = null;
  10556.     public boolean isCheckFromRegistroConsegnaInOrdineAbilitato(String implementazionePdDSoggetto){

  10557.         // ovverriding per implementazione porta di dominio
  10558.         if(this.pddReader!=null){
  10559.             String tipo = this.pddReader.getValidazione_ConsegnaInOrdineLetturaRegistro(implementazionePdDSoggetto);
  10560.             if(tipo!=null && (
  10561.                     CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo) ||
  10562.                     CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo)  )
  10563.             ){
  10564.                 if(CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo))
  10565.                     return true;
  10566.                 else if(CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo))
  10567.                     return false;
  10568.             }
  10569.         }

  10570.         if(this.isCheckFromRegistroConsegnaInOrdineAbilitato==null){
  10571.             try{  
  10572.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.consegnaInOrdine.letturaRegistro");

  10573.                 if (value != null){
  10574.                     value = value.trim();
  10575.                     this.isCheckFromRegistroConsegnaInOrdineAbilitato = Boolean.parseBoolean(value);
  10576.                 }else{
  10577.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.consegnaInOrdine.letturaRegistro' non impostata, viene utilizzato il default=true");
  10578.                     this.isCheckFromRegistroConsegnaInOrdineAbilitato = true;
  10579.                 }

  10580.             }catch(java.lang.Exception e) {
  10581.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.consegnaInOrdine.letturaRegistro' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  10582.                 this.isCheckFromRegistroConsegnaInOrdineAbilitato = true;
  10583.             }
  10584.         }

  10585.         return this.isCheckFromRegistroConsegnaInOrdineAbilitato;
  10586.     }

  10587.     /**
  10588.      * Indicazione se l'elemento collaborazione deve essere gestito
  10589.      *  
  10590.      * @return Indicazione se l'elemento collaborazione deve essere gestito
  10591.      *
  10592.      */
  10593.     private Boolean isGestioneElementoCollaborazione = null;
  10594.     public boolean isGestioneElementoCollaborazione(String implementazionePdDSoggetto){

  10595.         // ovverriding per implementazione porta di dominio
  10596.         if(this.pddReader!=null){
  10597.             String tipo = this.pddReader.getBusta_CollaborazioneEnable(implementazionePdDSoggetto);
  10598.             if(tipo!=null && (
  10599.                     CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo) ||
  10600.                     CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo)  )
  10601.             ){
  10602.                 if(CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo))
  10603.                     return true;
  10604.                 else
  10605.                     return false;
  10606.             }
  10607.         }

  10608.         if(this.isGestioneElementoCollaborazione==null){
  10609.             try{  
  10610.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.collaborazione.enable");

  10611.                 if (value != null){
  10612.                     value = value.trim();
  10613.                     this.isGestioneElementoCollaborazione = Boolean.parseBoolean(value);
  10614.                 }else{
  10615.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.collaborazione.enable' non impostata, viene utilizzato il default=true");
  10616.                     this.isGestioneElementoCollaborazione = true;
  10617.                 }

  10618.             }catch(java.lang.Exception e) {
  10619.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.collaborazione.enable' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  10620.                 this.isGestioneElementoCollaborazione = true;
  10621.             }
  10622.         }

  10623.         return this.isGestioneElementoCollaborazione;
  10624.     }
  10625.    
  10626.     private Boolean isGestioneElementoIdRiferimentoRichiesta = null;
  10627.     public boolean isGestioneElementoIdRiferimentoRichiesta(String implementazionePdDSoggetto){

  10628.         // ovverriding per implementazione porta di dominio
  10629.         if(this.pddReader!=null){
  10630.             String tipo = this.pddReader.getBusta_IdRiferimentoRichiestaEnable(implementazionePdDSoggetto);
  10631.             if(tipo!=null && (
  10632.                     CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo) ||
  10633.                     CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo)  )
  10634.             ){
  10635.                 if(CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo))
  10636.                     return true;
  10637.                 else
  10638.                     return false;
  10639.             }
  10640.         }

  10641.         if(this.isGestioneElementoIdRiferimentoRichiesta==null){
  10642.             try{  
  10643.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.idRiferimentoRichiesta.enable");

  10644.                 if (value != null){
  10645.                     value = value.trim();
  10646.                     this.isGestioneElementoIdRiferimentoRichiesta = Boolean.parseBoolean(value);
  10647.                 }else{
  10648.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.idRiferimentoRichiesta.enable' non impostata, viene utilizzato il default=true");
  10649.                     this.isGestioneElementoIdRiferimentoRichiesta = true;
  10650.                 }

  10651.             }catch(java.lang.Exception e) {
  10652.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.idRiferimentoRichiesta.enable' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  10653.                 this.isGestioneElementoIdRiferimentoRichiesta = true;
  10654.             }
  10655.         }

  10656.         return this.isGestioneElementoIdRiferimentoRichiesta;
  10657.     }

  10658.     /**
  10659.      * Indicazione se la funzionalita' di consegna in ordine deve essere gestita
  10660.      *  
  10661.      * @return Indicazione se la funzionalita' di consegna in ordine deve essere gestita
  10662.      *
  10663.      */
  10664.     private Boolean isGestioneConsegnaInOrdine = null;
  10665.     public boolean isGestioneConsegnaInOrdine(String implementazionePdDSoggetto){

  10666.         // ovverriding per implementazione porta di dominio
  10667.         if(this.pddReader!=null){
  10668.             String tipo = this.pddReader.getBusta_ConsegnaInOrdineEnable(implementazionePdDSoggetto);
  10669.             if(tipo!=null && (
  10670.                     CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo) ||
  10671.                     CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo)  )
  10672.             ){
  10673.                 if(CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo))
  10674.                     return true;
  10675.                 else
  10676.                     return false;
  10677.             }
  10678.         }

  10679.         if(this.isGestioneConsegnaInOrdine==null){
  10680.             try{  
  10681.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.consegnaInOrdine.enable");

  10682.                 if (value != null){
  10683.                     value = value.trim();
  10684.                     this.isGestioneConsegnaInOrdine = Boolean.parseBoolean(value);
  10685.                 }else{
  10686.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.consegnaInOrdine.enable' non impostata, viene utilizzato il default=true");
  10687.                     this.isGestioneConsegnaInOrdine = true;
  10688.                 }

  10689.             }catch(java.lang.Exception e) {
  10690.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.consegnaInOrdine.enable' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  10691.                 this.isGestioneConsegnaInOrdine = true;
  10692.             }
  10693.         }

  10694.         return this.isGestioneConsegnaInOrdine;
  10695.     }

  10696.     /**
  10697.      * Indicazione se la funzionalita' dei riscontri deve essere gestita
  10698.      *  
  10699.      * @return Indicazione se la funzionalita' dei riscontri deve essere gestita
  10700.      *
  10701.      */
  10702.     private Boolean isGestioneRiscontri = null;
  10703.     public boolean isGestioneRiscontri(String implementazionePdDSoggetto){

  10704.         // ovverriding per implementazione porta di dominio
  10705.         if(this.pddReader!=null){
  10706.             String tipo = this.pddReader.getBusta_RiscontriEnable(implementazionePdDSoggetto);
  10707.             if(tipo!=null && (
  10708.                     CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo) ||
  10709.                     CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo)  )
  10710.             ){
  10711.                 if(CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo))
  10712.                     return true;
  10713.                 else if(CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo))
  10714.                     return false;
  10715.             }
  10716.         }

  10717.         if(this.isGestioneRiscontri==null){
  10718.             try{  
  10719.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.riscontri.enable");

  10720.                 if (value != null){
  10721.                     value = value.trim();
  10722.                     this.isGestioneRiscontri = Boolean.parseBoolean(value);
  10723.                 }else{
  10724.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.riscontri.enable' non impostata, viene utilizzato il default=true");
  10725.                     this.isGestioneRiscontri = true;
  10726.                 }

  10727.             }catch(java.lang.Exception e) {
  10728.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.riscontri.enable' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  10729.                 this.isGestioneRiscontri = true;
  10730.             }
  10731.         }

  10732.         return this.isGestioneRiscontri;
  10733.     }
  10734.    
  10735.    

  10736.    
  10737.     /**
  10738.      * Validazione buste che possiedono attributi qualificati (default:false)
  10739.      * Lo schema della busta non permette attributi qualificati (attributeFormDefault="unqualified")
  10740.      * Se non si abilita la validazione 'rigida' (tramite schema xsd) e si abilita la seguente opzione, e' possibile far accettare/processare
  10741.      * alla porta di dominio anche buste che contengono attributi qualificati.
  10742.      *  
  10743.      * @return Indicazione se ritornare solo SoapFault o busteSPCoop in caso di buste con struttura malformata.
  10744.      *
  10745.      */
  10746.     private Boolean isReadQualifiedAttribute = null;
  10747.     public boolean isReadQualifiedAttribute(String implementazionePdDSoggetto){

  10748.         // ovverriding per implementazione porta di dominio
  10749.         if(this.pddReader!=null){
  10750.             String tipo = this.pddReader.getValidazione_readQualifiedAttribute(implementazionePdDSoggetto);
  10751.             if(tipo!=null && (
  10752.                     CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo) ||
  10753.                     CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo)  )
  10754.             ){
  10755.                 if(CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo))
  10756.                     return true;
  10757.                 else if(CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo))
  10758.                     return false;
  10759.             }
  10760.         }

  10761.         if(this.isReadQualifiedAttribute==null){
  10762.             try{  
  10763.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.validazione.readQualifiedAttribute");

  10764.                 if (value != null){
  10765.                     value = value.trim();
  10766.                     this.isReadQualifiedAttribute = Boolean.parseBoolean(value);
  10767.                 }else{
  10768.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.validazione.readQualifiedAttribute' non impostata, viene utilizzato il default=false");
  10769.                     this.isReadQualifiedAttribute = false;
  10770.                 }

  10771.             }catch(java.lang.Exception e) {
  10772.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.validazione.readQualifiedAttribute' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  10773.                 this.isReadQualifiedAttribute = false;
  10774.             }
  10775.         }

  10776.         return this.isReadQualifiedAttribute;
  10777.     }

  10778.    
  10779.     /**
  10780.      * Validazione buste che possiedono attributi qualificati (default:false)
  10781.      * Lo schema della busta non permette attributi qualificati (attributeFormDefault="unqualified")
  10782.      * Se non si abilita la validazione 'rigida' (tramite schema xsd) e si abilita la seguente opzione, e' possibile far accettare/processare
  10783.      * alla porta di dominio anche buste che contengono attributi qualificati.
  10784.      *  
  10785.      * @return Indicazione se ritornare solo SoapFault o busteSPCoop in caso di buste con struttura malformata.
  10786.      *
  10787.      */
  10788.     private Boolean isValidazioneIDBustaCompleta = null;
  10789.     public boolean isValidazioneIDBustaCompleta(String implementazionePdDSoggetto){

  10790.         // ovverriding per implementazione porta di dominio
  10791.         if(this.pddReader!=null){
  10792.             String tipo = this.pddReader.getValidazione_ValidazioneIDBustaCompleta(implementazionePdDSoggetto);
  10793.             if(tipo!=null && (
  10794.                     CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo) ||
  10795.                     CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo)  )
  10796.             ){
  10797.                 if(CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo))
  10798.                     return true;
  10799.                 else if(CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo))
  10800.                     return false;
  10801.             }
  10802.         }

  10803.         if(this.isValidazioneIDBustaCompleta==null){
  10804.             try{  
  10805.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.validazione.idbusta.validazioneCompleta");

  10806.                 if (value != null){
  10807.                     value = value.trim();
  10808.                     this.isValidazioneIDBustaCompleta = Boolean.parseBoolean(value);
  10809.                 }else{
  10810.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.validazione.idbusta.validazioneCompleta' non impostata, viene utilizzato il default=true");
  10811.                     this.isValidazioneIDBustaCompleta = true;
  10812.                 }

  10813.             }catch(java.lang.Exception e) {
  10814.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.protocol.validazione.idbusta.validazioneCompleta' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  10815.                 this.isValidazioneIDBustaCompleta = true;
  10816.             }
  10817.         }

  10818.         return this.isValidazioneIDBustaCompleta;
  10819.     }
  10820.    
  10821.     public ProprietaManifestAttachments getProprietaManifestAttachments(String implementazionePdDSoggetto){
  10822.         ProprietaManifestAttachments properties = new ProprietaManifestAttachments();
  10823.         properties.setReadQualifiedAttribute(this.isReadQualifiedAttribute(implementazionePdDSoggetto));
  10824.         return properties;
  10825.     }


  10826.     /**
  10827.      * Restituisce l'eventuale location del file govway.pdd.properties
  10828.      *
  10829.      * @return Restituisce la location del file govway.pdd.properties
  10830.      */
  10831.     private String filePddProperties = null;
  10832.     private boolean filePddPropertiesLetto = false;
  10833.     public String getLocationPddProperties() {
  10834.         if(this.filePddPropertiesLetto==false){
  10835.             try{
  10836.                 String name = null;
  10837.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.protocol.pddProperties");
  10838.                 if(name!=null){
  10839.                     name = name.trim();
  10840.                     this.filePddProperties = name;
  10841.                 }
  10842.                 this.filePddPropertiesLetto= true;
  10843.             }catch(java.lang.Exception e) {
  10844.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.protocol.pddProperties': "+e.getMessage(),e);
  10845.                 this.filePddProperties = null;
  10846.             }              
  10847.         }

  10848.         return this.filePddProperties;
  10849.     }






  10850.     /* ********  INTEGRAZIONE  ******** */

  10851.     /**
  10852.      * Restituisce l'elenco dei tipi di integrazione da gestire lato PortaDelegata
  10853.      *
  10854.      * @return  Restituisce l'elenco dei tipi di integrazione da gestire lato PortaDelegata
  10855.      */
  10856.     private String[] tipoIntegrazionePD = null;
  10857.     private boolean tipoIntegrazionePDRead = false;
  10858.     public String[] getTipoIntegrazionePD() {
  10859.         if(!this.tipoIntegrazionePDRead){
  10860.             try{  
  10861.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.tipo.pd");
  10862.                 if(value==null)
  10863.                     throw new CoreException(NON_DEFINITA);
  10864.                 value = value.trim();
  10865.                 String [] r = value.split(",");
  10866.                 this.tipoIntegrazionePD = r;

  10867.             }catch(java.lang.Exception e) {
  10868.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.tipo.pd': "+e.getMessage(),e);
  10869.                 this.tipoIntegrazionePD = null;
  10870.             }
  10871.             this.tipoIntegrazionePDRead = true;
  10872.         }

  10873.         return this.tipoIntegrazionePD;
  10874.     }
  10875.     /**
  10876.      * Restituisce l'elenco dei tipi di integrazione da gestire lato PortaApplicativa
  10877.      *
  10878.      * @return  Restituisce l'elenco dei tipi di integrazione da gestire lato PortaApplicativa
  10879.      */
  10880.     private String[] tipoIntegrazionePA = null;
  10881.     private boolean tipoIntegrazionePARead = false;
  10882.     public String[] getTipoIntegrazionePA() {
  10883.         if(!this.tipoIntegrazionePARead){
  10884.             try{
  10885.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.tipo.pa");
  10886.                 if(value==null)
  10887.                     throw new CoreException(NON_DEFINITA);
  10888.                 value = value.trim();
  10889.                 String [] r = value.split(",");
  10890.                 this.tipoIntegrazionePA = r;
  10891.             }catch(java.lang.Exception e) {
  10892.                 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);
  10893.                 this.tipoIntegrazionePA = null;
  10894.             }  
  10895.             this.tipoIntegrazionePARead = true;
  10896.         }

  10897.         return this.tipoIntegrazionePA;
  10898.     }
  10899.    
  10900.     /**
  10901.      * Restituisce l'elenco dei tipi di integrazione da gestire lato PortaDelegata specifici per protocollo
  10902.      *
  10903.      * @return  Restituisce l'elenco dei tipi di integrazione da gestire lato PortaDelegata specifici per protocollo
  10904.      */
  10905.     private Map<String, String[]> tipoIntegrazionePD_perProtocollo = new HashMap<>();
  10906.     private Map<String, Boolean> tipoIntegrazionePD_perProtocollo_notExists = new HashMap<>();
  10907.     public String[] getTipoIntegrazionePD(String protocollo) {
  10908.        
  10909.         if(
  10910.             (!this.tipoIntegrazionePD_perProtocollo.containsKey(protocollo))
  10911.             &&
  10912.             (!this.tipoIntegrazionePD_perProtocollo_notExists.containsKey(protocollo))
  10913.         ){
  10914.             try{  
  10915.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.tipo.pd."+protocollo);
  10916.                 if(value==null){
  10917.                     this.tipoIntegrazionePD_perProtocollo_notExists.put(protocollo, false);
  10918.                 }
  10919.                 else{
  10920.                     value = value.trim();
  10921.                     String [] r = value.split(",");
  10922.                     this.tipoIntegrazionePD_perProtocollo.put(protocollo, r);
  10923.                 }

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

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

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

  10963.         if(this.tipoIntegrazionePA_perProtocollo.containsKey(protocollo)){
  10964.             return this.tipoIntegrazionePA_perProtocollo.get(protocollo);
  10965.         }else{
  10966.             return null;
  10967.         }
  10968.     }
  10969.    

  10970.     /**
  10971.      * Compatibilita integrazione asincroni con versioni precedenti a 1.4
  10972.      * L'indicazione dell'id per la correlazione asincrona poteva essere fornita,
  10973.      * oltre che tramite il riferimentoMessaggio, anche tramite l'elemento idCollaborazione.
  10974.      * Tale funzionalita' e' disabilitata per default dalla versione 1.4
  10975.      * Se si desidera riabilitarla e' possibile agire sulla proprieta': org.openspcoop2.pdd.integrazione.asincroni.idCollaborazione.enabled
  10976.      * Questo metodo restituisce l'indicazione se tale proprieta' e' abilitata.
  10977.      *  
  10978.      * @return Restituisce l'indicazione se la proprieta' org.openspcoop2.pdd.integrazione.asincroni.idCollaborazione.enabled e' abilitata.
  10979.      *
  10980.      */
  10981.     private Boolean isIntegrazioneAsincroniConIdCollaborazioneEnabled = null;
  10982.     public boolean isIntegrazioneAsincroniConIdCollaborazioneEnabled(){
  10983.         if(this.isIntegrazioneAsincroniConIdCollaborazioneEnabled==null){
  10984.             try{  
  10985.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.asincroni.idCollaborazione.enabled");

  10986.                 if (value != null){
  10987.                     value = value.trim();
  10988.                     this.isIntegrazioneAsincroniConIdCollaborazioneEnabled = Boolean.parseBoolean(value);
  10989.                 }else{
  10990.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.asincroni.idCollaborazione.enabled' non impostata, viene utilizzato il default=false");
  10991.                     this.isIntegrazioneAsincroniConIdCollaborazioneEnabled = false;
  10992.                 }

  10993.             }catch(java.lang.Exception e) {
  10994.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.asincroni.idCollaborazione.enabled' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  10995.                 this.isIntegrazioneAsincroniConIdCollaborazioneEnabled = false;
  10996.             }
  10997.         }

  10998.         return this.isIntegrazioneAsincroniConIdCollaborazioneEnabled;
  10999.     }
  11000.    
  11001.     private Map<String, String> newOldMapping_backward_compatibility_trasparente_soggetto = null;
  11002.     public Map<String, String> getNewOldMapping_backward_compatibility_trasparente_soggetto() {
  11003.         if(this.newOldMapping_backward_compatibility_trasparente_soggetto==null){
  11004.             String pName = "org.openspcoop2.pdd.integrazione.backward_compatibility.trasparente.soggetto.tipo.";
  11005.             try{
  11006.                 Properties p = this.reader.readPropertiesConvertEnvProperties(pName);
  11007.                 this.newOldMapping_backward_compatibility_trasparente_soggetto=new HashMap<>();
  11008.                 if(p!=null && !p.isEmpty()) {
  11009.                     for (Object oKey : p.keySet()) {
  11010.                         if(oKey!=null && oKey instanceof String) {
  11011.                             String key = (String) oKey;
  11012.                             String old = p.getProperty(key);
  11013.                             this.newOldMapping_backward_compatibility_trasparente_soggetto.put(key, old);
  11014.                         }
  11015.                     }
  11016.                 }
  11017.             }catch(java.lang.Exception e) {
  11018.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+pName+"*': "+e.getMessage(),e);
  11019.                 this.newOldMapping_backward_compatibility_trasparente_soggetto = null;
  11020.             }    
  11021.         }

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

  11045.         return this.newOldMapping_backward_compatibility_trasparente_servizio;
  11046.     }

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

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

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

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

  11138.         return this.newOldMapping_backward_compatibility_sdi_servizio;
  11139.     }
  11140.    
  11141.    


  11142.     private <T> Map<MapKey<String>, T> _convertMapToCostantiIntegrazione(Map<String, T> map) throws CoreException{
  11143.         List<MapKey<String>> keywordsIntegrazione = getKeywordsIntegrazioneEngine(true);
  11144.         Map<MapKey<String>, T> newMap = new HashMap<MapKey<String>, T>();
  11145.         for (String key : map.keySet()) {
  11146.             boolean find = false;
  11147.             for (MapKey<String> mapKey : keywordsIntegrazione) {
  11148.                 if(key.equals(mapKey.getValue())){
  11149.                     newMap.put(mapKey, map.get(key));
  11150.                     find = true;
  11151.                 }
  11152.             }
  11153.             if(!find) {
  11154.                 throw new CoreException("Chiave '"+key+"' sconosciuta, non risulta essere una keyword di integrazione");
  11155.             }
  11156.         }
  11157.         return newMap;
  11158.     }
  11159.    
  11160.     /**
  11161.      * Restituisce le proprieta' che identificano gli header di integrazione in caso di 'trasporto'
  11162.      *
  11163.      * @return Restituisce le proprieta' che identificano gli header di integrazione in caso di 'trasporto'
  11164.      *  
  11165.      */
  11166.     private Map<MapKey<String>, String> keyValue_HeaderIntegrazioneTrasporto = null;
  11167.     public Map<MapKey<String>, String> getKeyValue_HeaderIntegrazioneTrasporto() {  
  11168.         if(this.keyValue_HeaderIntegrazioneTrasporto==null){

  11169.             try{

  11170.                 this.keyValue_HeaderIntegrazioneTrasporto = _convertMapToCostantiIntegrazione(this.reader.readPropertiesAsHashMapConvertEnvProperties("org.openspcoop2.pdd.integrazione.trasporto.keyword."));
  11171.            
  11172.             }catch(java.lang.Exception e) {
  11173.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.trasporto.keyword.*': "+e.getMessage(),e);
  11174.                 this.keyValue_HeaderIntegrazioneTrasporto = null;
  11175.             }    
  11176.         }

  11177.         return this.keyValue_HeaderIntegrazioneTrasporto;
  11178.     }
  11179.    
  11180.     private Map<MapKey<String>, String> keyValue_HeaderIntegrazioneTrasporto_backwardCompatibility_openspcoop2 = null;
  11181.     public Map<MapKey<String>, String> getKeyValue_HeaderIntegrazioneTrasporto_backwardCompatibility_openspcoop2() {    
  11182.         if(this.keyValue_HeaderIntegrazioneTrasporto_backwardCompatibility_openspcoop2==null){

  11183.             try{

  11184.                 this.keyValue_HeaderIntegrazioneTrasporto_backwardCompatibility_openspcoop2 =
  11185.                         _convertMapToCostantiIntegrazione(
  11186.                                 this.reader.readPropertiesAsHashMapConvertEnvProperties("org.openspcoop2.pdd.integrazione.backward_compatibility.openspcoop2.trasporto.keyword."));
  11187.                
  11188.             }catch(java.lang.Exception e) {
  11189.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.backward_compatibility.openspcoop2.trasporto.keyword.*': "+e.getMessage(),e);
  11190.                 this.keyValue_HeaderIntegrazioneTrasporto_backwardCompatibility_openspcoop2 = null;
  11191.             }    
  11192.         }

  11193.         return this.keyValue_HeaderIntegrazioneTrasporto_backwardCompatibility_openspcoop2;
  11194.     }
  11195.    
  11196.     private Map<MapKey<String>, String> keyValue_HeaderIntegrazioneTrasporto_backwardCompatibility_openspcoop1 = null;
  11197.     public Map<MapKey<String>, String> getKeyValue_HeaderIntegrazioneTrasporto_backwardCompatibility_openspcoop1() {    
  11198.         if(this.keyValue_HeaderIntegrazioneTrasporto_backwardCompatibility_openspcoop1==null){

  11199.             try{

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

  11209.         return this.keyValue_HeaderIntegrazioneTrasporto_backwardCompatibility_openspcoop1;
  11210.     }
  11211.    
  11212.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneTrasporto_setPD_request = null;
  11213.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneTrasporto_setPD_response = null;
  11214.     public Map<MapKey<String>, Boolean> getKeyPDSetEnabled_HeaderIntegrazioneTrasporto(boolean request) throws CoreException {  
  11215.                
  11216.         if( (request && this.keyValue_HeaderIntegrazioneTrasporto_setPD_request==null)
  11217.             ||
  11218.             (!request && this.keyValue_HeaderIntegrazioneTrasporto_setPD_response==null)
  11219.             ){

  11220.             String pName = "org.openspcoop2.pdd.integrazione.trasporto.pd.set.request.enabled.";
  11221.             if(!request) {
  11222.                 pName = "org.openspcoop2.pdd.integrazione.trasporto.pd.set.response.enabled.";
  11223.             }
  11224.            
  11225.             java.util.Properties prop = new java.util.Properties();
  11226.             try{

  11227.                 prop = this.reader.readPropertiesConvertEnvProperties(pName);
  11228.                 Map<String, Boolean> _tmp = new HashMap<>();
  11229.                 Iterator<?> it = prop.keySet().iterator();
  11230.                 while (it.hasNext()) {
  11231.                     Object object = (Object) it.next();
  11232.                     if(object instanceof String) {
  11233.                         String key = (String) object;
  11234.                         String value = prop.getProperty(key);
  11235.                         try {
  11236.                             boolean b = Boolean.parseBoolean(value);
  11237.                             _tmp.put(key, b);
  11238.                         }catch(Exception e) {
  11239.                             throw new CoreException("Rilevato errore durante il parsing della property '"+pName+"."+key+"' (atteso: true/false): "+e.getMessage(),e);
  11240.                         }
  11241.                     }
  11242.                 }
  11243.                 if(request) {
  11244.                     this.keyValue_HeaderIntegrazioneTrasporto_setPD_request = _convertMapToCostantiIntegrazione(_tmp);
  11245.                 }
  11246.                 else {
  11247.                     this.keyValue_HeaderIntegrazioneTrasporto_setPD_response = _convertMapToCostantiIntegrazione(_tmp);
  11248.                 }
  11249.                
  11250.             }catch(java.lang.Exception e) {
  11251.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+pName+PROPERTY_START_SUFFIX_ERRORE+e.getMessage(),e);
  11252.                 throw new CoreException(e.getMessage(),e);
  11253.             }    
  11254.         }

  11255.         if(request) {
  11256.             return this.keyValue_HeaderIntegrazioneTrasporto_setPD_request;
  11257.         }
  11258.         else {
  11259.             return this.keyValue_HeaderIntegrazioneTrasporto_setPD_response;
  11260.         }
  11261.     }
  11262.    
  11263.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneTrasporto_readPD = null;
  11264.     public Map<MapKey<String>, Boolean> getKeyPDReadEnabled_HeaderIntegrazioneTrasporto() throws CoreException {    
  11265.         if(this.keyValue_HeaderIntegrazioneTrasporto_readPD==null){

  11266.             java.util.Properties prop = new java.util.Properties();
  11267.             try{

  11268.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.integrazione.trasporto.pd.read.enabled.");
  11269.                 Map<String, Boolean> _tmp = new HashMap<>();
  11270.                 Iterator<?> it = prop.keySet().iterator();
  11271.                 while (it.hasNext()) {
  11272.                     Object object = (Object) it.next();
  11273.                     if(object instanceof String) {
  11274.                         String key = (String) object;
  11275.                         String value = prop.getProperty(key);
  11276.                         try {
  11277.                             boolean b = Boolean.parseBoolean(value);
  11278.                             _tmp.put(key, b);
  11279.                         }catch(Exception e) {
  11280.                             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);
  11281.                         }
  11282.                     }
  11283.                 }
  11284.                 this.keyValue_HeaderIntegrazioneTrasporto_readPD = _convertMapToCostantiIntegrazione(_tmp);
  11285.                
  11286.             }catch(java.lang.Exception e) {
  11287.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.trasporto.pd.read.enabled.*': "+e.getMessage(),e);
  11288.                 throw new CoreException(e.getMessage(),e);
  11289.             }    
  11290.         }

  11291.         return this.keyValue_HeaderIntegrazioneTrasporto_readPD;
  11292.     }
  11293.    
  11294.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneTrasporto_setPA_request = null;
  11295.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneTrasporto_setPA_response = null;
  11296.     public Map<MapKey<String>, Boolean> getKeyPASetEnabled_HeaderIntegrazioneTrasporto(boolean request) throws CoreException {
  11297.                
  11298.         if( (request && this.keyValue_HeaderIntegrazioneTrasporto_setPA_request==null)
  11299.                 ||
  11300.                 (!request && this.keyValue_HeaderIntegrazioneTrasporto_setPA_response==null)
  11301.                 ){

  11302.             String pName = "org.openspcoop2.pdd.integrazione.trasporto.pa.set.request.enabled.";
  11303.             if(!request) {
  11304.                 pName = "org.openspcoop2.pdd.integrazione.trasporto.pa.set.response.enabled.";
  11305.             }
  11306.            
  11307.             java.util.Properties prop = new java.util.Properties();
  11308.             try{

  11309.                 prop = this.reader.readPropertiesConvertEnvProperties(pName);
  11310.                 Map<String, Boolean> _tmp = new HashMap<>();
  11311.                 Iterator<?> it = prop.keySet().iterator();
  11312.                 while (it.hasNext()) {
  11313.                     Object object = (Object) it.next();
  11314.                     if(object instanceof String) {
  11315.                         String key = (String) object;
  11316.                         String value = prop.getProperty(key);
  11317.                         try {
  11318.                             boolean b = Boolean.parseBoolean(value);
  11319.                             //if(request) {
  11320.                             //  _tmp.put(key, b);
  11321.                             //}
  11322.                             //else {
  11323.                             _tmp.put(key, b);
  11324.                             //}
  11325.                         }catch(Exception e) {
  11326.                             throw new CoreException("Rilevato errore durante il parsing della property '"+pName+"."+key+"' (atteso: true/false): "+e.getMessage(),e);
  11327.                         }
  11328.                     }
  11329.                 }
  11330.                 if(request) {
  11331.                     this.keyValue_HeaderIntegrazioneTrasporto_setPA_request = _convertMapToCostantiIntegrazione(_tmp);
  11332.                 }
  11333.                 else {
  11334.                     this.keyValue_HeaderIntegrazioneTrasporto_setPA_response = _convertMapToCostantiIntegrazione(_tmp);
  11335.                 }
  11336.                
  11337.             }catch(java.lang.Exception e) {
  11338.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+pName+PROPERTY_START_SUFFIX_ERRORE+e.getMessage(),e);
  11339.                 throw new CoreException(e.getMessage(),e);
  11340.             }    
  11341.         }

  11342.         if(request) {
  11343.             return this.keyValue_HeaderIntegrazioneTrasporto_setPA_request;
  11344.         }
  11345.         else {
  11346.             return this.keyValue_HeaderIntegrazioneTrasporto_setPA_response;
  11347.         }
  11348.     }
  11349.    
  11350.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneTrasporto_readPA = null;
  11351.     public Map<MapKey<String>, Boolean> getKeyPAReadEnabled_HeaderIntegrazioneTrasporto() throws CoreException {    
  11352.         if(this.keyValue_HeaderIntegrazioneTrasporto_readPA==null){

  11353.             java.util.Properties prop = new java.util.Properties();
  11354.             try{

  11355.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.integrazione.trasporto.pa.read.enabled.");
  11356.                 Map<String, Boolean> _tmp = new HashMap<>();
  11357.                 Iterator<?> it = prop.keySet().iterator();
  11358.                 while (it.hasNext()) {
  11359.                     Object object = (Object) it.next();
  11360.                     if(object instanceof String) {
  11361.                         String key = (String) object;
  11362.                         String value = prop.getProperty(key);
  11363.                         try {
  11364.                             boolean b = Boolean.parseBoolean(value);
  11365.                             _tmp.put(key, b);
  11366.                         }catch(Exception e) {
  11367.                             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);
  11368.                         }
  11369.                     }
  11370.                 }
  11371.                 this.keyValue_HeaderIntegrazioneTrasporto_readPA = _convertMapToCostantiIntegrazione(_tmp);
  11372.                                
  11373.             }catch(java.lang.Exception e) {
  11374.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.trasporto.pa.read.enabled.*': "+e.getMessage(),e);
  11375.                 throw new CoreException(e.getMessage(),e);
  11376.             }    
  11377.         }

  11378.         return this.keyValue_HeaderIntegrazioneTrasporto_readPA;
  11379.     }
  11380.    
  11381.     /**
  11382.      * Restituisce le proprieta' che identificano gli header di integrazione in caso di 'urlBased'.
  11383.      *
  11384.      * @return Restituisce le proprieta' che identificano gli header di integrazione in caso di 'urlBased'.
  11385.      *  
  11386.      */
  11387.     private Map<MapKey<String>, String> keyValue_HeaderIntegrazioneUrlBased = null;
  11388.     public Map<MapKey<String>, String> getKeyValue_HeaderIntegrazioneUrlBased() {  
  11389.         if(this.keyValue_HeaderIntegrazioneUrlBased==null){

  11390.             try{

  11391.                 this.keyValue_HeaderIntegrazioneUrlBased =
  11392.                         _convertMapToCostantiIntegrazione(
  11393.                                 this.reader.readPropertiesAsHashMapConvertEnvProperties("org.openspcoop2.pdd.integrazione.urlBased.keyword."));
  11394.                
  11395.             }catch(java.lang.Exception e) {
  11396.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.urlBased.keyword.*': "+e.getMessage(),e);
  11397.                 this.keyValue_HeaderIntegrazioneUrlBased = null;
  11398.             }    
  11399.         }

  11400.         return this.keyValue_HeaderIntegrazioneUrlBased;
  11401.     }
  11402.    
  11403.     private Map<MapKey<String>, String> keyValue_HeaderIntegrazioneUrlBased_backwardCompatibility_openspcoop2 = null;
  11404.     public Map<MapKey<String>, String> getKeyValue_HeaderIntegrazioneUrlBased_backwardCompatibility_openspcoop2() {
  11405.         if(this.keyValue_HeaderIntegrazioneUrlBased_backwardCompatibility_openspcoop2==null){

  11406.             try{

  11407.                 this.keyValue_HeaderIntegrazioneUrlBased_backwardCompatibility_openspcoop2 =  
  11408.                         _convertMapToCostantiIntegrazione(
  11409.                                 this.reader.readPropertiesAsHashMapConvertEnvProperties("org.openspcoop2.pdd.integrazione.backward_compatibility.openspcoop2.urlBased.keyword."));
  11410.                
  11411.             }catch(java.lang.Exception e) {
  11412.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.backward_compatibility.openspcoop2.urlBased.keyword.*': "+e.getMessage(),e);
  11413.                 this.keyValue_HeaderIntegrazioneUrlBased_backwardCompatibility_openspcoop2 = null;
  11414.             }    
  11415.         }

  11416.         return this.keyValue_HeaderIntegrazioneUrlBased_backwardCompatibility_openspcoop2;
  11417.     }
  11418.    
  11419.     private Map<MapKey<String>, String> keyValue_HeaderIntegrazioneUrlBased_backwardCompatibility_openspcoop1 = null;
  11420.     public Map<MapKey<String>, String> getKeyValue_HeaderIntegrazioneUrlBased_backwardCompatibility_openspcoop1() {
  11421.         if(this.keyValue_HeaderIntegrazioneUrlBased_backwardCompatibility_openspcoop1==null){

  11422.             try{

  11423.                 this.keyValue_HeaderIntegrazioneUrlBased_backwardCompatibility_openspcoop1 =  
  11424.                         _convertMapToCostantiIntegrazione(
  11425.                                 this.reader.readPropertiesAsHashMapConvertEnvProperties("org.openspcoop2.pdd.integrazione.backward_compatibility.openspcoop1.urlBased.keyword."));
  11426.                
  11427.             }catch(java.lang.Exception e) {
  11428.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.backward_compatibility.openspcoop1.urlBased.keyword.*': "+e.getMessage(),e);
  11429.                 this.keyValue_HeaderIntegrazioneUrlBased_backwardCompatibility_openspcoop1 = null;
  11430.             }    
  11431.         }

  11432.         return this.keyValue_HeaderIntegrazioneUrlBased_backwardCompatibility_openspcoop1;
  11433.     }
  11434.    
  11435.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneUrlBased_setPD = null;
  11436.     public Map<MapKey<String>, Boolean> getKeyPDSetEnabled_HeaderIntegrazioneUrlBased() throws CoreException {  
  11437.         if(this.keyValue_HeaderIntegrazioneUrlBased_setPD==null){

  11438.             java.util.Properties prop = new java.util.Properties();
  11439.             try{

  11440.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.integrazione.urlBased.pd.set.request.enabled.");
  11441.                 Map<String, Boolean> _tmp = new HashMap<>();
  11442.                 Iterator<?> it = prop.keySet().iterator();
  11443.                 while (it.hasNext()) {
  11444.                     Object object = (Object) it.next();
  11445.                     if(object instanceof String) {
  11446.                         String key = (String) object;
  11447.                         String value = prop.getProperty(key);
  11448.                         try {
  11449.                             boolean b = Boolean.parseBoolean(value);
  11450.                             _tmp.put(key, b);
  11451.                         }catch(Exception e) {
  11452.                             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);
  11453.                         }
  11454.                     }
  11455.                 }
  11456.                 this.keyValue_HeaderIntegrazioneUrlBased_setPD = _convertMapToCostantiIntegrazione(_tmp);
  11457.                
  11458.             }catch(java.lang.Exception e) {
  11459.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.urlBased.pd.set.request.enabled*': "+e.getMessage(),e);
  11460.                 throw new CoreException(e.getMessage(),e);
  11461.             }    
  11462.         }

  11463.         return this.keyValue_HeaderIntegrazioneUrlBased_setPD;
  11464.     }
  11465.    
  11466.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneUrlBased_readPD = null;
  11467.     public Map<MapKey<String>, Boolean> getKeyPDReadEnabled_HeaderIntegrazioneUrlBased() throws CoreException {
  11468.         if(this.keyValue_HeaderIntegrazioneUrlBased_readPD==null){

  11469.             java.util.Properties prop = new java.util.Properties();
  11470.             try{

  11471.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.integrazione.urlBased.pd.read.enabled.");
  11472.                 Map<String, Boolean> _tmp = new HashMap<>();
  11473.                 Iterator<?> it = prop.keySet().iterator();
  11474.                 while (it.hasNext()) {
  11475.                     Object object = (Object) it.next();
  11476.                     if(object instanceof String) {
  11477.                         String key = (String) object;
  11478.                         String value = prop.getProperty(key);
  11479.                         try {
  11480.                             boolean b = Boolean.parseBoolean(value);
  11481.                             _tmp.put(key, b);
  11482.                         }catch(Exception e) {
  11483.                             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);
  11484.                         }
  11485.                     }
  11486.                 }
  11487.                 this.keyValue_HeaderIntegrazioneUrlBased_readPD = _convertMapToCostantiIntegrazione(_tmp);
  11488.                                
  11489.             }catch(java.lang.Exception e) {
  11490.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.urlBased.pd.read.enabled.*': "+e.getMessage(),e);
  11491.                 throw new CoreException(e.getMessage(),e);
  11492.             }    
  11493.         }

  11494.         return this.keyValue_HeaderIntegrazioneUrlBased_readPD;
  11495.     }
  11496.    
  11497.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneUrlBased_setPA = null;
  11498.     public Map<MapKey<String>, Boolean> getKeyPASetEnabled_HeaderIntegrazioneUrlBased() throws CoreException {  
  11499.         if(this.keyValue_HeaderIntegrazioneUrlBased_setPA==null){

  11500.             java.util.Properties prop = new java.util.Properties();
  11501.             try{

  11502.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.integrazione.urlBased.pa.set.request.enabled.");
  11503.                 Map<String, Boolean> _tmp = new HashMap<>();
  11504.                 Iterator<?> it = prop.keySet().iterator();
  11505.                 while (it.hasNext()) {
  11506.                     Object object = (Object) it.next();
  11507.                     if(object instanceof String) {
  11508.                         String key = (String) object;
  11509.                         String value = prop.getProperty(key);
  11510.                         try {
  11511.                             boolean b = Boolean.parseBoolean(value);
  11512.                             _tmp.put(key, b);
  11513.                         }catch(Exception e) {
  11514.                             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);
  11515.                         }
  11516.                     }
  11517.                 }
  11518.                 this.keyValue_HeaderIntegrazioneUrlBased_setPA = _convertMapToCostantiIntegrazione(_tmp);
  11519.                
  11520.             }catch(java.lang.Exception e) {
  11521.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.urlBased.pa.set.request.enabled*': "+e.getMessage(),e);
  11522.                 throw new CoreException(e.getMessage(),e);
  11523.             }    
  11524.         }

  11525.         return this.keyValue_HeaderIntegrazioneUrlBased_setPA;
  11526.     }
  11527.    
  11528.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneUrlBased_readPA = null;
  11529.     public Map<MapKey<String>, Boolean> getKeyPAReadEnabled_HeaderIntegrazioneUrlBased() throws CoreException {
  11530.         if(this.keyValue_HeaderIntegrazioneUrlBased_readPA==null){

  11531.             java.util.Properties prop = new java.util.Properties();
  11532.             try{

  11533.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.integrazione.urlBased.pa.read.enabled.");
  11534.                 Map<String, Boolean> _tmp = new HashMap<>();
  11535.                 Iterator<?> it = prop.keySet().iterator();
  11536.                 while (it.hasNext()) {
  11537.                     Object object = (Object) it.next();
  11538.                     if(object instanceof String) {
  11539.                         String key = (String) object;
  11540.                         String value = prop.getProperty(key);
  11541.                         try {
  11542.                             boolean b = Boolean.parseBoolean(value);
  11543.                             _tmp.put(key, b);
  11544.                         }catch(Exception e) {
  11545.                             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);
  11546.                         }
  11547.                     }
  11548.                 }
  11549.                 this.keyValue_HeaderIntegrazioneUrlBased_readPA = _convertMapToCostantiIntegrazione(_tmp);
  11550.                
  11551.             }catch(java.lang.Exception e) {
  11552.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.urlBased.pa.read.enabled.*': "+e.getMessage(),e);
  11553.                 throw new CoreException(e.getMessage(),e);
  11554.             }    
  11555.         }

  11556.         return this.keyValue_HeaderIntegrazioneUrlBased_readPA;
  11557.     }
  11558.    
  11559.     /**
  11560.      * Restituisce le proprieta' che identificano gli header di integrazione in caso di 'soap'.
  11561.      *
  11562.      * @return Restituisce le proprieta' che identificano gli header di integrazione in caso di 'soap'.
  11563.      *  
  11564.      */
  11565.     private Map<MapKey<String>, String> keyValue_HeaderIntegrazioneSoap = null;
  11566.     public Map<MapKey<String>, String> getKeyValue_HeaderIntegrazioneSoap() {  
  11567.         if(this.keyValue_HeaderIntegrazioneSoap==null){

  11568.             try{

  11569.                 this.keyValue_HeaderIntegrazioneSoap =  
  11570.                         _convertMapToCostantiIntegrazione(
  11571.                                 this.reader.readPropertiesAsHashMapConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.keyword."));
  11572.                
  11573.             }catch(java.lang.Exception e) {
  11574.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.soap.keyword.*': "+e.getMessage(),e);
  11575.                 this.keyValue_HeaderIntegrazioneSoap = null;
  11576.             }    
  11577.         }

  11578.         return this.keyValue_HeaderIntegrazioneSoap;
  11579.     }
  11580.    
  11581.     private Map<MapKey<String>, String> keyValue_HeaderIntegrazioneSoap_backwardCompatibility_openspcoop2 = null;
  11582.     public Map<MapKey<String>, String> getKeyValue_HeaderIntegrazioneSoap_backwardCompatibility_openspcoop2() {
  11583.         if(this.keyValue_HeaderIntegrazioneSoap_backwardCompatibility_openspcoop2==null){

  11584.             try{

  11585.                 this.keyValue_HeaderIntegrazioneSoap_backwardCompatibility_openspcoop2 =  
  11586.                         _convertMapToCostantiIntegrazione(
  11587.                                 this.reader.readPropertiesAsHashMapConvertEnvProperties("org.openspcoop2.pdd.integrazione.backward_compatibility.openspcoop2.soap.keyword."));
  11588.                
  11589.             }catch(java.lang.Exception e) {
  11590.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.backward_compatibility.openspcoop2.soap.keyword.*': "+e.getMessage(),e);
  11591.                 this.keyValue_HeaderIntegrazioneSoap_backwardCompatibility_openspcoop2 = null;
  11592.             }    
  11593.         }

  11594.         return this.keyValue_HeaderIntegrazioneSoap_backwardCompatibility_openspcoop2;
  11595.     }
  11596.    
  11597.     private Map<MapKey<String>, String> keyValue_HeaderIntegrazioneSoap_backwardCompatibility_openspcoop1 = null;
  11598.     public Map<MapKey<String>, String> getKeyValue_HeaderIntegrazioneSoap_backwardCompatibility_openspcoop1() {
  11599.         if(this.keyValue_HeaderIntegrazioneSoap_backwardCompatibility_openspcoop1==null){

  11600.             try{

  11601.                 this.keyValue_HeaderIntegrazioneSoap_backwardCompatibility_openspcoop1 =  
  11602.                         _convertMapToCostantiIntegrazione(
  11603.                                 this.reader.readPropertiesAsHashMapConvertEnvProperties("org.openspcoop2.pdd.integrazione.backward_compatibility.openspcoop1.soap.keyword."));
  11604.                
  11605.             }catch(java.lang.Exception e) {
  11606.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.backward_compatibility.openspcoop1.soap.keyword.*': "+e.getMessage(),e);
  11607.                 this.keyValue_HeaderIntegrazioneSoap_backwardCompatibility_openspcoop1 = null;
  11608.             }    
  11609.         }

  11610.         return this.keyValue_HeaderIntegrazioneSoap_backwardCompatibility_openspcoop1;
  11611.     }
  11612.    
  11613.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneSoap_setPD_request = null;
  11614.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneSoap_setPD_response = null;
  11615.     public Map<MapKey<String>, Boolean> getKeyPDSetEnabled_HeaderIntegrazioneSoap(boolean request) throws CoreException {
  11616.        
  11617.         if( (request && this.keyValue_HeaderIntegrazioneSoap_setPD_request==null)
  11618.                 ||
  11619.                 (!request && this.keyValue_HeaderIntegrazioneSoap_setPD_response==null)
  11620.                 ){

  11621.             String pName = "org.openspcoop2.pdd.integrazione.soap.pd.set.request.enabled.";
  11622.             if(!request) {
  11623.                 pName = "org.openspcoop2.pdd.integrazione.soap.pd.set.response.enabled.";
  11624.             }

  11625.             java.util.Properties prop = new java.util.Properties();
  11626.             try{

  11627.                 prop = this.reader.readPropertiesConvertEnvProperties(pName);
  11628.                 Map<String, Boolean> _tmp = new HashMap<>();
  11629.                 Iterator<?> it = prop.keySet().iterator();
  11630.                 while (it.hasNext()) {
  11631.                     Object object = (Object) it.next();
  11632.                     if(object instanceof String) {
  11633.                         String key = (String) object;
  11634.                         String value = prop.getProperty(key);
  11635.                         try {
  11636.                             boolean b = Boolean.parseBoolean(value);
  11637.                             _tmp.put(key, b);
  11638.                         }catch(Exception e) {
  11639.                             throw new CoreException("Rilevato errore durante il parsing della property '"+pName+"."+key+"' (atteso: true/false): "+e.getMessage(),e);
  11640.                         }
  11641.                     }
  11642.                 }
  11643.                 if(request) {
  11644.                     this.keyValue_HeaderIntegrazioneSoap_setPD_request = _convertMapToCostantiIntegrazione(_tmp);
  11645.                 }
  11646.                 else {
  11647.                     this.keyValue_HeaderIntegrazioneSoap_setPD_response = _convertMapToCostantiIntegrazione(_tmp);
  11648.                 }
  11649.                
  11650.             }catch(java.lang.Exception e) {
  11651.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+pName+PROPERTY_START_SUFFIX_ERRORE+e.getMessage(),e);
  11652.                 throw new CoreException(e.getMessage(),e);
  11653.             }    
  11654.         }

  11655.         if(request) {
  11656.             return this.keyValue_HeaderIntegrazioneSoap_setPD_request;
  11657.         }
  11658.         else {
  11659.             return this.keyValue_HeaderIntegrazioneSoap_setPD_response;
  11660.         }
  11661.     }
  11662.    
  11663.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneSoap_readPD = null;
  11664.     public Map<MapKey<String>, Boolean> getKeyPDReadEnabled_HeaderIntegrazioneSoap() throws CoreException {
  11665.         if(this.keyValue_HeaderIntegrazioneSoap_readPD==null){

  11666.             java.util.Properties prop = new java.util.Properties();
  11667.             try{

  11668.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.pd.read.enabled.");
  11669.                 Map<String, Boolean> _tmp = new HashMap<>();
  11670.                 Iterator<?> it = prop.keySet().iterator();
  11671.                 while (it.hasNext()) {
  11672.                     Object object = (Object) it.next();
  11673.                     if(object instanceof String) {
  11674.                         String key = (String) object;
  11675.                         String value = prop.getProperty(key);
  11676.                         try {
  11677.                             boolean b = Boolean.parseBoolean(value);
  11678.                             _tmp.put(key, b);
  11679.                         }catch(Exception e) {
  11680.                             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);
  11681.                         }
  11682.                     }
  11683.                 }
  11684.                 this.keyValue_HeaderIntegrazioneSoap_readPD = _convertMapToCostantiIntegrazione(_tmp);
  11685.                
  11686.             }catch(java.lang.Exception e) {
  11687.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.soap.pd.read.enabled.*': "+e.getMessage(),e);
  11688.                 throw new CoreException(e.getMessage(),e);
  11689.             }    
  11690.         }

  11691.         return this.keyValue_HeaderIntegrazioneSoap_readPD;
  11692.     }
  11693.    
  11694.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneSoap_setPA_request = null;
  11695.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneSoap_setPA_response = null;
  11696.     public Map<MapKey<String>, Boolean> getKeyPASetEnabled_HeaderIntegrazioneSoap(boolean request) throws CoreException {  
  11697.         if( (request && this.keyValue_HeaderIntegrazioneSoap_setPA_request==null)
  11698.                 ||
  11699.                 (!request && this.keyValue_HeaderIntegrazioneSoap_setPA_response==null)
  11700.                 ){

  11701.             String pName = "org.openspcoop2.pdd.integrazione.soap.pa.set.request.enabled.";
  11702.             if(!request) {
  11703.                 pName = "org.openspcoop2.pdd.integrazione.soap.pa.set.response.enabled.";
  11704.             }

  11705.             java.util.Properties prop = new java.util.Properties();
  11706.             try{

  11707.                 prop = this.reader.readPropertiesConvertEnvProperties(pName);
  11708.                 Map<String, Boolean> _tmp = new HashMap<>();
  11709.                 Iterator<?> it = prop.keySet().iterator();
  11710.                 while (it.hasNext()) {
  11711.                     Object object = (Object) it.next();
  11712.                     if(object instanceof String) {
  11713.                         String key = (String) object;
  11714.                         String value = prop.getProperty(key);
  11715.                         try {
  11716.                             boolean b = Boolean.parseBoolean(value);
  11717.                             //if(request) {
  11718.                             //  _tmp.put(key, b);
  11719.                             //}
  11720.                             //else {
  11721.                             _tmp.put(key, b);
  11722.                             //}
  11723.                         }catch(Exception e) {
  11724.                             throw new CoreException("Rilevato errore durante il parsing della property '"+pName+"."+key+"' (atteso: true/false): "+e.getMessage(),e);
  11725.                         }
  11726.                     }
  11727.                 }
  11728.                 if(request) {
  11729.                     this.keyValue_HeaderIntegrazioneSoap_setPA_request = _convertMapToCostantiIntegrazione(_tmp);
  11730.                 }
  11731.                 else {
  11732.                     this.keyValue_HeaderIntegrazioneSoap_setPA_response = _convertMapToCostantiIntegrazione(_tmp);
  11733.                 }
  11734.                
  11735.             }catch(java.lang.Exception e) {
  11736.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+pName+PROPERTY_START_SUFFIX_ERRORE+e.getMessage(),e);
  11737.                 throw new CoreException(e.getMessage(),e);
  11738.             }    
  11739.         }

  11740.         if(request) {
  11741.             return this.keyValue_HeaderIntegrazioneSoap_setPA_request;
  11742.         }
  11743.         else {
  11744.             return this.keyValue_HeaderIntegrazioneSoap_setPA_response;
  11745.         }
  11746.     }
  11747.    
  11748.     private Map<MapKey<String>, Boolean> keyValue_HeaderIntegrazioneSoap_readPA = null;
  11749.     public Map<MapKey<String>, Boolean> getKeyPAReadEnabled_HeaderIntegrazioneSoap() throws CoreException {
  11750.         if(this.keyValue_HeaderIntegrazioneSoap_readPA==null){

  11751.             java.util.Properties prop = new java.util.Properties();
  11752.             try{

  11753.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.pa.read.enabled.");
  11754.                 Map<String, Boolean> _tmp = new HashMap<>();
  11755.                 Iterator<?> it = prop.keySet().iterator();
  11756.                 while (it.hasNext()) {
  11757.                     Object object = (Object) it.next();
  11758.                     if(object instanceof String) {
  11759.                         String key = (String) object;
  11760.                         String value = prop.getProperty(key);
  11761.                         try {
  11762.                             boolean b = Boolean.parseBoolean(value);
  11763.                             _tmp.put(key, b);
  11764.                         }catch(Exception e) {
  11765.                             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);
  11766.                         }
  11767.                     }
  11768.                 }
  11769.                 this.keyValue_HeaderIntegrazioneSoap_readPA = _convertMapToCostantiIntegrazione(_tmp);
  11770.                                
  11771.             }catch(java.lang.Exception e) {
  11772.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.integrazione.soap.pa.read.enabled.*': "+e.getMessage(),e);
  11773.                 throw new CoreException(e.getMessage(),e);
  11774.             }    
  11775.         }

  11776.         return this.keyValue_HeaderIntegrazioneSoap_readPA;
  11777.     }
  11778.    
  11779.     private String headerIntegrazioneSOAPPdDVersione = null;
  11780.     public String getHeaderIntegrazioneSOAPPdDVersione(){
  11781.         if(this.headerIntegrazioneSOAPPdDVersione==null){
  11782.             try{  
  11783.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.pddVersion");

  11784.                 if (value != null){
  11785.                     value = value.trim();
  11786.                     this.headerIntegrazioneSOAPPdDVersione = value;
  11787.                 }else{
  11788.                     //NON EMETTO WARNING: this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.pddVersion' non impostata, viene utilizzato il default="+this.getVersione());
  11789.                     this.headerIntegrazioneSOAPPdDVersione = this.getVersione();
  11790.                 }

  11791.             }catch(java.lang.Exception e) {
  11792.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.pddVersion' non impostata, viene utilizzato il default=true, errore:"+this.getVersione());
  11793.                 this.headerIntegrazioneSOAPPdDVersione = this.getVersione();
  11794.             }
  11795.         }

  11796.         return this.headerIntegrazioneSOAPPdDVersione;
  11797.     }
  11798.    
  11799.     private Boolean readHeaderIntegrazioneSOAPPdDDetails = null;
  11800.     private String headerIntegrazioneSOAPPdDDetails = null;
  11801.     public String getHeaderIntegrazioneSOAPPdDDetails(){
  11802.         if(this.readHeaderIntegrazioneSOAPPdDDetails==null){
  11803.             try{  
  11804.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.pddDetails");

  11805.                 if (value != null){
  11806.                     value = value.trim();
  11807.                     this.headerIntegrazioneSOAPPdDDetails = value;
  11808.                 }else{
  11809.                     this.headerIntegrazioneSOAPPdDDetails = this.getDetails();
  11810.                 }

  11811.             }catch(java.lang.Exception e) {
  11812.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.pddDetails' non impostata correttamente: "+e.getMessage(),e);
  11813.                 this.headerIntegrazioneSOAPPdDDetails = this.getDetails();
  11814.             }
  11815.         }

  11816.         this.readHeaderIntegrazioneSOAPPdDDetails = true;
  11817.         return this.headerIntegrazioneSOAPPdDDetails;
  11818.     }
  11819.    
  11820.     /**
  11821.      * Restituisce l'indicazione l'header di integrazione letto
  11822.      * durante l'integrazione tra servizio applicativo e PdD
  11823.      * deve essere eliminato o meno
  11824.      *  
  11825.      * @return Restituisce l'indicazione sull'eventuale eliminazione dell'header di integrazione
  11826.      *
  11827.      */
  11828.     private Boolean deleteHeaderIntegrazioneRequestPD = null;
  11829.     public boolean deleteHeaderIntegrazioneRequestPD(){
  11830.         if(this.deleteHeaderIntegrazioneRequestPD==null){
  11831.             try{  
  11832.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.pd.request.readAndDelete");

  11833.                 if (value != null){
  11834.                     value = value.trim();
  11835.                     this.deleteHeaderIntegrazioneRequestPD = Boolean.parseBoolean(value);
  11836.                 }else{
  11837.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.pd.request.readAndDelete' non impostata, viene utilizzato il default=true");
  11838.                     this.deleteHeaderIntegrazioneRequestPD = true;
  11839.                 }

  11840.             }catch(java.lang.Exception e) {
  11841.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.pd.request.readAndDelete' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  11842.                 this.deleteHeaderIntegrazioneRequestPD = true;
  11843.             }
  11844.         }

  11845.         return this.deleteHeaderIntegrazioneRequestPD;
  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 deleteHeaderIntegrazioneResponsePD = null;
  11857.     public boolean deleteHeaderIntegrazioneResponsePD(){
  11858.         if(this.deleteHeaderIntegrazioneResponsePD==null){
  11859.             try{  
  11860.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.pd.response.readAndDelete");

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

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

  11873.         return this.deleteHeaderIntegrazioneResponsePD;
  11874.     }

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

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

  11898.             }catch(java.lang.Exception e) {
  11899.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.pd.response.process' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  11900.                 this.processHeaderIntegrazionePDResponse = false;
  11901.             }
  11902.         }

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

  11921.                 if (value != null){
  11922.                     value = value.trim();
  11923.                     this.deleteHeaderIntegrazioneRequestPA = Boolean.parseBoolean(value);
  11924.                 }else{
  11925.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.pa.request.readAndDelete' non impostata, viene utilizzato il default=true");
  11926.                     this.deleteHeaderIntegrazioneRequestPA = true;
  11927.                 }

  11928.             }catch(java.lang.Exception e) {
  11929.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.pa.request.readAndDelete' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  11930.                 this.deleteHeaderIntegrazioneRequestPA = true;
  11931.             }
  11932.         }

  11933.         return this.deleteHeaderIntegrazioneRequestPA;
  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 deleteHeaderIntegrazioneResponsePA = null;
  11945.     public boolean deleteHeaderIntegrazioneResponsePA(){
  11946.         if(this.deleteHeaderIntegrazioneResponsePA==null){
  11947.             try{  
  11948.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.pa.response.readAndDelete");

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

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

  11961.         return this.deleteHeaderIntegrazioneResponsePA;
  11962.     }

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

  11979.                 if (value != null){
  11980.                     value = value.trim();
  11981.                     this.processHeaderIntegrazionePARequest = Boolean.parseBoolean(value);
  11982.                 }else{
  11983.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.pa.request.process' non impostata, viene utilizzato il default=false");
  11984.                     this.processHeaderIntegrazionePARequest = false;
  11985.                 }

  11986.             }catch(java.lang.Exception e) {
  11987.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.pa.request.process' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  11988.                 this.processHeaderIntegrazionePARequest = false;
  11989.             }
  11990.         }

  11991.         return this.processHeaderIntegrazionePARequest;
  11992.     }
  11993.    

  11994.     /**
  11995.      * Restituisce il nome dell'header Soap di integrazione di default
  11996.      *
  11997.      * @return Restituisce il nome dell'header Soap di integrazione di default
  11998.      */
  11999.     private String headerSoapNameIntegrazione = null;
  12000.     public String getHeaderSoapNameIntegrazione() {
  12001.         if(this.headerSoapNameIntegrazione==null){
  12002.             try{
  12003.                 String name = null;
  12004.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.headerName");
  12005.                 if(name==null)
  12006.                     throw new CoreException(NON_DEFINITA);
  12007.                 name = name.trim();
  12008.                 this.headerSoapNameIntegrazione = name;
  12009.             }catch(java.lang.Exception e) {
  12010.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.headerName': "+e.getMessage(),e);
  12011.                 this.headerSoapNameIntegrazione = null;
  12012.             }    
  12013.         }

  12014.         return this.headerSoapNameIntegrazione;
  12015.     }
  12016.    
  12017.     private String headerSoapNameIntegrazione_backwardCompatibility_openspcoop2 = null;
  12018.     public String getHeaderSoapNameIntegrazione_backwardCompatibility_openspcoop2() {
  12019.         if(this.headerSoapNameIntegrazione_backwardCompatibility_openspcoop2==null){
  12020.             try{
  12021.                 String name = null;
  12022.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop2.headerName");
  12023.                 if(name==null)
  12024.                     throw new CoreException(NON_DEFINITA);
  12025.                 name = name.trim();
  12026.                 this.headerSoapNameIntegrazione_backwardCompatibility_openspcoop2 = name;
  12027.             }catch(java.lang.Exception e) {
  12028.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop2.headerName': "+e.getMessage(),e);
  12029.                 this.headerSoapNameIntegrazione_backwardCompatibility_openspcoop2 = null;
  12030.             }    
  12031.         }

  12032.         return this.headerSoapNameIntegrazione_backwardCompatibility_openspcoop2;
  12033.     }
  12034.    
  12035.     private String headerSoapNameIntegrazione_backwardCompatibility_openspcoop1 = null;
  12036.     public String getHeaderSoapNameIntegrazione_backwardCompatibility_openspcoop1() {
  12037.         if(this.headerSoapNameIntegrazione_backwardCompatibility_openspcoop1==null){
  12038.             try{
  12039.                 String name = null;
  12040.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop1.headerName");
  12041.                 if(name==null)
  12042.                     throw new CoreException(NON_DEFINITA);
  12043.                 name = name.trim();
  12044.                 this.headerSoapNameIntegrazione_backwardCompatibility_openspcoop1 = name;
  12045.             }catch(java.lang.Exception e) {
  12046.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop1.headerName': "+e.getMessage(),e);
  12047.                 this.headerSoapNameIntegrazione_backwardCompatibility_openspcoop1 = null;
  12048.             }    
  12049.         }

  12050.         return this.headerSoapNameIntegrazione_backwardCompatibility_openspcoop1;
  12051.     }

  12052.     /**
  12053.      * Restituisce l'actord dell'header Soap di integrazione di default
  12054.      *
  12055.      * @return Restituisce l'actor dell'header Soap di integrazione di default
  12056.      */
  12057.     private String headerSoapActorIntegrazione = null;
  12058.     public String getHeaderSoapActorIntegrazione() {
  12059.         if(this.headerSoapActorIntegrazione==null){
  12060.             try{
  12061.                 String name = null;
  12062.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.headerActor");
  12063.                 if(name==null)
  12064.                     throw new CoreException(NON_DEFINITA);
  12065.                 name = name.trim();
  12066.                 this.headerSoapActorIntegrazione = name;
  12067.             }catch(java.lang.Exception e) {
  12068.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.headerActor': "+e.getMessage(),e);
  12069.                 this.headerSoapActorIntegrazione = null;
  12070.             }    
  12071.         }

  12072.         return this.headerSoapActorIntegrazione;
  12073.     }
  12074.    
  12075.     private String headerSoapActorIntegrazione_backwardCompatibility_openspcoop2 = null;
  12076.     public String getHeaderSoapActorIntegrazione_backwardCompatibility_openspcoop2() {
  12077.         if(this.headerSoapActorIntegrazione_backwardCompatibility_openspcoop2==null){
  12078.             try{
  12079.                 String name = null;
  12080.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop2.headerActor");
  12081.                 if(name==null)
  12082.                     throw new CoreException(NON_DEFINITA);
  12083.                 name = name.trim();
  12084.                 this.headerSoapActorIntegrazione_backwardCompatibility_openspcoop2 = name;
  12085.             }catch(java.lang.Exception e) {
  12086.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop2.headerActor': "+e.getMessage(),e);
  12087.                 this.headerSoapActorIntegrazione_backwardCompatibility_openspcoop2 = null;
  12088.             }    
  12089.         }

  12090.         return this.headerSoapActorIntegrazione_backwardCompatibility_openspcoop2;
  12091.     }
  12092.    
  12093.     private String headerSoapActorIntegrazione_backwardCompatibility_openspcoop1 = null;
  12094.     public String getHeaderSoapActorIntegrazione_backwardCompatibility_openspcoop1() {
  12095.         if(this.headerSoapActorIntegrazione_backwardCompatibility_openspcoop1==null){
  12096.             try{
  12097.                 String name = null;
  12098.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop1.headerActor");
  12099.                 if(name==null)
  12100.                     throw new CoreException(NON_DEFINITA);
  12101.                 name = name.trim();
  12102.                 this.headerSoapActorIntegrazione_backwardCompatibility_openspcoop1 = name;
  12103.             }catch(java.lang.Exception e) {
  12104.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop1.headerActor': "+e.getMessage(),e);
  12105.                 this.headerSoapActorIntegrazione_backwardCompatibility_openspcoop1 = null;
  12106.             }    
  12107.         }

  12108.         return this.headerSoapActorIntegrazione_backwardCompatibility_openspcoop1;
  12109.     }

  12110.     /**
  12111.      * Restituisce il prefix dell'header Soap di integrazione di default
  12112.      *
  12113.      * @return Restituisce il prefix dell'header Soap di integrazione di default
  12114.      */
  12115.     private String headerSoapPrefixIntegrazione = null;
  12116.     public String getHeaderSoapPrefixIntegrazione() {
  12117.         if(this.headerSoapPrefixIntegrazione==null){
  12118.             try{
  12119.                 String name = null;
  12120.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.headerPrefix");
  12121.                 if(name==null)
  12122.                     throw new CoreException(NON_DEFINITA);
  12123.                 name = name.trim();
  12124.                 this.headerSoapPrefixIntegrazione = name;
  12125.             }catch(java.lang.Exception e) {
  12126.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.headerPrefix': "+e.getMessage(),e);
  12127.                 this.headerSoapPrefixIntegrazione = null;
  12128.             }    
  12129.         }

  12130.         return this.headerSoapPrefixIntegrazione;
  12131.     }
  12132.    
  12133.     private String headerSoapPrefixIntegrazione_backwardCompatibility_openspcoop2 = null;
  12134.     public String getHeaderSoapPrefixIntegrazione_backwardCompatibility_openspcoop2() {
  12135.         if(this.headerSoapPrefixIntegrazione_backwardCompatibility_openspcoop2==null){
  12136.             try{
  12137.                 String name = null;
  12138.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop2.headerPrefix");
  12139.                 if(name==null)
  12140.                     throw new CoreException(NON_DEFINITA);
  12141.                 name = name.trim();
  12142.                 this.headerSoapPrefixIntegrazione_backwardCompatibility_openspcoop2 = name;
  12143.             }catch(java.lang.Exception e) {
  12144.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop2.headerPrefix': "+e.getMessage(),e);
  12145.                 this.headerSoapPrefixIntegrazione_backwardCompatibility_openspcoop2 = null;
  12146.             }    
  12147.         }

  12148.         return this.headerSoapPrefixIntegrazione_backwardCompatibility_openspcoop2;
  12149.     }
  12150.    
  12151.     private String headerSoapPrefixIntegrazione_backwardCompatibility_openspcoop1 = null;
  12152.     public String getHeaderSoapPrefixIntegrazione_backwardCompatibility_openspcoop1() {
  12153.         if(this.headerSoapPrefixIntegrazione_backwardCompatibility_openspcoop1==null){
  12154.             try{
  12155.                 String name = null;
  12156.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop1.headerPrefix");
  12157.                 if(name==null)
  12158.                     throw new CoreException(NON_DEFINITA);
  12159.                 name = name.trim();
  12160.                 this.headerSoapPrefixIntegrazione_backwardCompatibility_openspcoop1 = name;
  12161.             }catch(java.lang.Exception e) {
  12162.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop1.headerPrefix': "+e.getMessage(),e);
  12163.                 this.headerSoapPrefixIntegrazione_backwardCompatibility_openspcoop1 = null;
  12164.             }    
  12165.         }

  12166.         return this.headerSoapPrefixIntegrazione_backwardCompatibility_openspcoop1;
  12167.     }
  12168.    
  12169.     /**
  12170.      * Restituisce il nome dell'elemento che contiene le informazioni di protocollo
  12171.      *
  12172.      * @return Restituisce il nome dell'elemento che contiene le informazioni di protocollo
  12173.      */
  12174.     private String headerSoapExtProtocolInfoNomeElementoIntegrazione = null;
  12175.     public String getHeaderSoapExtProtocolInfoNomeElementoIntegrazione() {
  12176.         if(this.headerSoapExtProtocolInfoNomeElementoIntegrazione==null){
  12177.             try{
  12178.                 String name = null;
  12179.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.extProtocolInfo.elemento.nome");
  12180.                 if(name==null)
  12181.                     throw new CoreException(NON_DEFINITA);
  12182.                 name = name.trim();
  12183.                 this.headerSoapExtProtocolInfoNomeElementoIntegrazione = name;
  12184.             }catch(java.lang.Exception e) {
  12185.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.extProtocolInfo.elemento.nome': "+e.getMessage(),e);
  12186.                 this.headerSoapExtProtocolInfoNomeElementoIntegrazione = null;
  12187.             }    
  12188.         }

  12189.         return this.headerSoapExtProtocolInfoNomeElementoIntegrazione;
  12190.     }
  12191.     private String headerSoapExtProtocolInfoNomeElementoIntegrazione_backwardCompatibility_openspcoop2 = null;
  12192.     public String getHeaderSoapExtProtocolInfoNomeElementoIntegrazione_backwardCompatibility_openspcoop2() {
  12193.         if(this.headerSoapExtProtocolInfoNomeElementoIntegrazione_backwardCompatibility_openspcoop2==null){
  12194.             try{
  12195.                 String name = null;
  12196.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop2.extProtocolInfo.elemento.nome");
  12197.                 if(name==null)
  12198.                     throw new CoreException(NON_DEFINITA);
  12199.                 name = name.trim();
  12200.                 this.headerSoapExtProtocolInfoNomeElementoIntegrazione_backwardCompatibility_openspcoop2 = name;
  12201.             }catch(java.lang.Exception e) {
  12202.                 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);
  12203.                 this.headerSoapExtProtocolInfoNomeElementoIntegrazione_backwardCompatibility_openspcoop2 = null;
  12204.             }    
  12205.         }

  12206.         return this.headerSoapExtProtocolInfoNomeElementoIntegrazione_backwardCompatibility_openspcoop2;
  12207.     }
  12208.     private String headerSoapExtProtocolInfoNomeElementoIntegrazione_backwardCompatibility_openspcoop1 = null;
  12209.     public String getHeaderSoapExtProtocolInfoNomeElementoIntegrazione_backwardCompatibility_openspcoop1() {
  12210.         if(this.headerSoapExtProtocolInfoNomeElementoIntegrazione_backwardCompatibility_openspcoop1==null){
  12211.             try{
  12212.                 String name = null;
  12213.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop1.extProtocolInfo.elemento.nome");
  12214.                 if(name==null)
  12215.                     throw new CoreException(NON_DEFINITA);
  12216.                 name = name.trim();
  12217.                 this.headerSoapExtProtocolInfoNomeElementoIntegrazione_backwardCompatibility_openspcoop1 = name;
  12218.             }catch(java.lang.Exception e) {
  12219.                 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);
  12220.                 this.headerSoapExtProtocolInfoNomeElementoIntegrazione_backwardCompatibility_openspcoop1 = null;
  12221.             }    
  12222.         }

  12223.         return this.headerSoapExtProtocolInfoNomeElementoIntegrazione_backwardCompatibility_openspcoop1;
  12224.     }
  12225.     /**
  12226.      * Restituisce il nome del tipo dell'elemento che contiene le informazioni di protocollo
  12227.      *
  12228.      * @return Restituisce il nome del tipo dell'elemento che contiene le informazioni di protocollo
  12229.      */
  12230.     private String headerSoapExtProtocolInfoNomeAttributoIntegrazione = null;
  12231.     public String getHeaderSoapExtProtocolInfoNomeAttributoIntegrazione() {
  12232.         if(this.headerSoapExtProtocolInfoNomeAttributoIntegrazione==null){
  12233.             try{
  12234.                 String name = null;
  12235.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.extProtocolInfo.attributo.nome");
  12236.                 if(name==null)
  12237.                     throw new CoreException(NON_DEFINITA);
  12238.                 name = name.trim();
  12239.                 this.headerSoapExtProtocolInfoNomeAttributoIntegrazione = name;
  12240.             }catch(java.lang.Exception e) {
  12241.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrazione.soap.extProtocolInfo.attributo.nome': "+e.getMessage(),e);
  12242.                 this.headerSoapExtProtocolInfoNomeAttributoIntegrazione = null;
  12243.             }    
  12244.         }

  12245.         return this.headerSoapExtProtocolInfoNomeAttributoIntegrazione;
  12246.     }
  12247.    
  12248.     private String headerSoapExtProtocolInfoNomeAttributoIntegrazione_backwardCompatibility_openspcoop2 = null;
  12249.     public String getHeaderSoapExtProtocolInfoNomeAttributoIntegrazione_backwardCompatibility_openspcoop2() {
  12250.         if(this.headerSoapExtProtocolInfoNomeAttributoIntegrazione_backwardCompatibility_openspcoop2==null){
  12251.             try{
  12252.                 String name = null;
  12253.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop2.extProtocolInfo.attributo.nome");
  12254.                 if(name==null)
  12255.                     throw new CoreException(NON_DEFINITA);
  12256.                 name = name.trim();
  12257.                 this.headerSoapExtProtocolInfoNomeAttributoIntegrazione_backwardCompatibility_openspcoop2 = name;
  12258.             }catch(java.lang.Exception e) {
  12259.                 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);
  12260.                 this.headerSoapExtProtocolInfoNomeAttributoIntegrazione_backwardCompatibility_openspcoop2 = null;
  12261.             }    
  12262.         }

  12263.         return this.headerSoapExtProtocolInfoNomeAttributoIntegrazione_backwardCompatibility_openspcoop2;
  12264.     }
  12265.    
  12266.     private String headerSoapExtProtocolInfoNomeAttributoIntegrazione_backwardCompatibility_openspcoop1 = null;
  12267.     public String getHeaderSoapExtProtocolInfoNomeAttributoIntegrazione_backwardCompatibility_openspcoop1() {
  12268.         if(this.headerSoapExtProtocolInfoNomeAttributoIntegrazione_backwardCompatibility_openspcoop1==null){
  12269.             try{
  12270.                 String name = null;
  12271.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrazione.soap.backward_compatibility.openspcoop1.extProtocolInfo.attributo.nome");
  12272.                 if(name==null)
  12273.                     throw new CoreException(NON_DEFINITA);
  12274.                 name = name.trim();
  12275.                 this.headerSoapExtProtocolInfoNomeAttributoIntegrazione_backwardCompatibility_openspcoop1 = name;
  12276.             }catch(java.lang.Exception e) {
  12277.                 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);
  12278.                 this.headerSoapExtProtocolInfoNomeAttributoIntegrazione_backwardCompatibility_openspcoop1 = null;
  12279.             }    
  12280.         }

  12281.         return this.headerSoapExtProtocolInfoNomeAttributoIntegrazione_backwardCompatibility_openspcoop1;
  12282.     }

  12283.    
  12284.    
  12285.     /* ********  INTEGRAZIONE INFORMAZIONI DINAMICHE  ******** */
  12286.    
  12287.     private Boolean isIntegrazioneDynamicInfoEnabled = null;
  12288.     public boolean isIntegrazioneDynamicInfoEnabled() {
  12289.         String pName = "org.openspcoop2.pdd.integrazione.dynamicInfo.enabled";
  12290.         if(this.isIntegrazioneDynamicInfoEnabled==null){
  12291.             try{
  12292.                 String name = null;
  12293.                 name = this.reader.getValueConvertEnvProperties(pName);
  12294.                 if(name==null)
  12295.                     throw new CoreException(NON_DEFINITA);
  12296.                 name = name.trim();
  12297.                 this.isIntegrazioneDynamicInfoEnabled = Boolean.parseBoolean(name);
  12298.             }catch(java.lang.Exception e) {
  12299.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12300.                 this.isIntegrazioneDynamicInfoEnabled = false;
  12301.             }    
  12302.         }

  12303.         if(this.isIntegrazioneDynamicInfoEnabled==null){
  12304.             return false;
  12305.         }
  12306.         return this.isIntegrazioneDynamicInfoEnabled;
  12307.     }
  12308.    
  12309.     private InformazioniIntegrazioneSorgente getIntegrazioneDynamicInfoType = null;
  12310.     public InformazioniIntegrazioneSorgente getIntegrazioneDynamicInfoType() {
  12311.         String pName = "org.openspcoop2.pdd.integrazione.dynamicInfo.type";
  12312.         if(this.getIntegrazioneDynamicInfoType==null){
  12313.             try{
  12314.                 String name = null;
  12315.                 name = this.reader.getValueConvertEnvProperties(pName);
  12316.                 if(name==null)
  12317.                     throw new CoreException(NON_DEFINITA);
  12318.                 name = name.trim();
  12319.                 this.getIntegrazioneDynamicInfoType = InformazioniIntegrazioneSorgente.valueOf(name);
  12320.             }catch(java.lang.Exception e) {
  12321.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12322.             }    
  12323.         }

  12324.         return this.getIntegrazioneDynamicInfoType;
  12325.     }
  12326.    
  12327.     private String getIntegrazioneDynamicInfoName = null;
  12328.     public String getIntegrazioneDynamicInfoName() {
  12329.         String pName = "org.openspcoop2.pdd.integrazione.dynamicInfo.name";
  12330.         if(this.getIntegrazioneDynamicInfoName==null){
  12331.             try{
  12332.                 String name = null;
  12333.                 name = this.reader.getValueConvertEnvProperties(pName);
  12334.                 if(name==null)
  12335.                     throw new CoreException(NON_DEFINITA);
  12336.                 name = name.trim();
  12337.                 this.getIntegrazioneDynamicInfoName = name;
  12338.             }catch(java.lang.Exception e) {
  12339.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12340.             }    
  12341.         }

  12342.         return this.getIntegrazioneDynamicInfoName;
  12343.     }
  12344.    
  12345.     private InformazioniIntegrazioneCodifica getIntegrazioneDynamicInfoEncodeType = null;
  12346.     public InformazioniIntegrazioneCodifica getIntegrazioneDynamicInfoEncodeType() {
  12347.         String pName = "org.openspcoop2.pdd.integrazione.dynamicInfo.encode";
  12348.         if(this.getIntegrazioneDynamicInfoEncodeType==null){
  12349.             try{
  12350.                 String name = null;
  12351.                 name = this.reader.getValueConvertEnvProperties(pName);
  12352.                 if(name==null)
  12353.                     throw new CoreException(NON_DEFINITA);
  12354.                 name = name.trim();
  12355.                 this.getIntegrazioneDynamicInfoEncodeType = InformazioniIntegrazioneCodifica.valueOf(name);
  12356.             }catch(java.lang.Exception e) {
  12357.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12358.             }    
  12359.         }

  12360.         return this.getIntegrazioneDynamicInfoEncodeType;
  12361.     }
  12362.    
  12363.     private Boolean isIntegrazioneDynamicInfoRequired = null;
  12364.     public boolean isIntegrazioneDynamicInfoRequired() {
  12365.         String pName = "org.openspcoop2.pdd.integrazione.dynamicInfo.required";
  12366.         if(this.isIntegrazioneDynamicInfoRequired==null){
  12367.             try{
  12368.                 String name = null;
  12369.                 name = this.reader.getValueConvertEnvProperties(pName);
  12370.                 if(name==null)
  12371.                     throw new CoreException(NON_DEFINITA);
  12372.                 name = name.trim();
  12373.                 this.isIntegrazioneDynamicInfoRequired = Boolean.parseBoolean(name);
  12374.             }catch(java.lang.Exception e) {
  12375.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12376.                 this.isIntegrazioneDynamicInfoRequired = false;
  12377.             }    
  12378.         }

  12379.         if(this.isIntegrazioneDynamicInfoRequired==null){
  12380.             return false;
  12381.         }
  12382.         return this.isIntegrazioneDynamicInfoRequired;
  12383.     }
  12384.    
  12385.     // risposta
  12386.    
  12387.     private Boolean isIntegrazioneResponseDynamicInfoEnabled = null;
  12388.     public boolean isIntegrazioneResponseDynamicInfoEnabled() {
  12389.         String pName = "org.openspcoop2.pdd.integrazione.responseDynamicInfo.enabled";
  12390.         if(this.isIntegrazioneResponseDynamicInfoEnabled==null){
  12391.             try{
  12392.                 String name = null;
  12393.                 name = this.reader.getValueConvertEnvProperties(pName);
  12394.                 if(name==null)
  12395.                     throw new CoreException(NON_DEFINITA);
  12396.                 name = name.trim();
  12397.                 this.isIntegrazioneResponseDynamicInfoEnabled = Boolean.parseBoolean(name);
  12398.             }catch(java.lang.Exception e) {
  12399.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12400.                 this.isIntegrazioneResponseDynamicInfoEnabled = false;
  12401.             }    
  12402.         }

  12403.         if(this.isIntegrazioneResponseDynamicInfoEnabled==null){
  12404.             return false;
  12405.         }
  12406.         return this.isIntegrazioneResponseDynamicInfoEnabled;
  12407.     }
  12408.    
  12409.     private String getIntegrazioneResponseDynamicInfoName = null;
  12410.     public String getIntegrazioneResponseDynamicInfoName() {
  12411.         String pName = "org.openspcoop2.pdd.integrazione.responseDynamicInfo.name";
  12412.         if(this.getIntegrazioneResponseDynamicInfoName==null){
  12413.             try{
  12414.                 String name = null;
  12415.                 name = this.reader.getValueConvertEnvProperties(pName);
  12416.                 if(name==null)
  12417.                     throw new CoreException(NON_DEFINITA);
  12418.                 name = name.trim();
  12419.                 this.getIntegrazioneResponseDynamicInfoName = name;
  12420.             }catch(java.lang.Exception e) {
  12421.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12422.             }    
  12423.         }

  12424.         return this.getIntegrazioneResponseDynamicInfoName;
  12425.     }
  12426.    
  12427.     private InformazioniIntegrazioneCodifica getIntegrazioneResponseDynamicInfoEncodeType = null;
  12428.     public InformazioniIntegrazioneCodifica getIntegrazioneResponseDynamicInfoEncodeType() {
  12429.         String pName = "org.openspcoop2.pdd.integrazione.responseDynamicInfo.encode";
  12430.         if(this.getIntegrazioneResponseDynamicInfoEncodeType==null){
  12431.             try{
  12432.                 String name = null;
  12433.                 name = this.reader.getValueConvertEnvProperties(pName);
  12434.                 if(name==null)
  12435.                     throw new CoreException(NON_DEFINITA);
  12436.                 name = name.trim();
  12437.                 this.getIntegrazioneResponseDynamicInfoEncodeType = InformazioniIntegrazioneCodifica.valueOf(name);
  12438.             }catch(java.lang.Exception e) {
  12439.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12440.             }    
  12441.         }

  12442.         return this.getIntegrazioneResponseDynamicInfoEncodeType;
  12443.     }
  12444.    
  12445.     private Boolean isIntegrazioneResponseDynamicInfoRequired = null;
  12446.     public boolean isIntegrazioneResponseDynamicInfoRequired() {
  12447.         String pName = "org.openspcoop2.pdd.integrazione.responseDynamicInfo.required";
  12448.         if(this.isIntegrazioneResponseDynamicInfoRequired==null){
  12449.             try{
  12450.                 String name = null;
  12451.                 name = this.reader.getValueConvertEnvProperties(pName);
  12452.                 if(name==null)
  12453.                     throw new CoreException(NON_DEFINITA);
  12454.                 name = name.trim();
  12455.                 this.isIntegrazioneResponseDynamicInfoRequired = Boolean.parseBoolean(name);
  12456.             }catch(java.lang.Exception e) {
  12457.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12458.                 this.isIntegrazioneResponseDynamicInfoRequired = false;
  12459.             }    
  12460.         }

  12461.         if(this.isIntegrazioneResponseDynamicInfoRequired==null){
  12462.             return false;
  12463.         }
  12464.         return this.isIntegrazioneResponseDynamicInfoRequired;
  12465.     }
  12466.    
  12467.    
  12468.    
  12469.     /* ********  INTEGRAZIONE TEMPLATE  ******** */
  12470.    
  12471.     private String getIntegrazioneTemplateRequestPropertyTipo = null;
  12472.     public String getIntegrazioneTemplateRequestPropertyTipo() {
  12473.         String pName = "org.openspcoop2.pdd.integrazione.template.request.property.tipo";
  12474.         if(this.getIntegrazioneTemplateRequestPropertyTipo==null){
  12475.             try{
  12476.                 String name = null;
  12477.                 name = this.reader.getValueConvertEnvProperties(pName);
  12478.                 if(name==null)
  12479.                     throw new CoreException(NON_DEFINITA);
  12480.                 name = name.trim();
  12481.                 this.getIntegrazioneTemplateRequestPropertyTipo = name;
  12482.             }catch(java.lang.Exception e) {
  12483.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12484.                 this.getIntegrazioneTemplateRequestPropertyTipo = null;
  12485.             }    
  12486.         }

  12487.         return this.getIntegrazioneTemplateRequestPropertyTipo;
  12488.     }
  12489.    
  12490.     private String getIntegrazioneTemplateRequestPropertyFile = null;
  12491.     public String getIntegrazioneTemplateRequestPropertyFile() {
  12492.         String pName = "org.openspcoop2.pdd.integrazione.template.request.property.file";
  12493.         if(this.getIntegrazioneTemplateRequestPropertyFile==null){
  12494.             try{
  12495.                 String name = null;
  12496.                 name = this.reader.getValueConvertEnvProperties(pName);
  12497.                 if(name==null)
  12498.                     throw new CoreException(NON_DEFINITA);
  12499.                 name = name.trim();
  12500.                 this.getIntegrazioneTemplateRequestPropertyFile = name;
  12501.             }catch(java.lang.Exception e) {
  12502.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12503.                 this.getIntegrazioneTemplateRequestPropertyFile = null;
  12504.             }    
  12505.         }

  12506.         return this.getIntegrazioneTemplateRequestPropertyFile;
  12507.     }
  12508.    
  12509.     private String getIntegrazioneTemplateResponsePropertyTipo = null;
  12510.     public String getIntegrazioneTemplateResponsePropertyTipo() {
  12511.         String pName = "org.openspcoop2.pdd.integrazione.template.response.property.tipo";
  12512.         if(this.getIntegrazioneTemplateResponsePropertyTipo==null){
  12513.             try{
  12514.                 String name = null;
  12515.                 name = this.reader.getValueConvertEnvProperties(pName);
  12516.                 if(name==null)
  12517.                     throw new CoreException(NON_DEFINITA);
  12518.                 name = name.trim();
  12519.                 this.getIntegrazioneTemplateResponsePropertyTipo = name;
  12520.             }catch(java.lang.Exception e) {
  12521.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12522.                 this.getIntegrazioneTemplateResponsePropertyTipo = null;
  12523.             }    
  12524.         }

  12525.         return this.getIntegrazioneTemplateResponsePropertyTipo;
  12526.     }
  12527.    
  12528.     private String getIntegrazioneTemplateResponsePropertyFile = null;
  12529.     public String getIntegrazioneTemplateResponsePropertyFile() {
  12530.         String pName = "org.openspcoop2.pdd.integrazione.template.response.property.file";
  12531.         if(this.getIntegrazioneTemplateResponsePropertyFile==null){
  12532.             try{
  12533.                 String name = null;
  12534.                 name = this.reader.getValueConvertEnvProperties(pName);
  12535.                 if(name==null)
  12536.                     throw new CoreException(NON_DEFINITA);
  12537.                 name = name.trim();
  12538.                 this.getIntegrazioneTemplateResponsePropertyFile = name;
  12539.             }catch(java.lang.Exception e) {
  12540.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12541.                 this.getIntegrazioneTemplateResponsePropertyFile = null;
  12542.             }    
  12543.         }

  12544.         return this.getIntegrazioneTemplateResponsePropertyFile;
  12545.     }
  12546.    
  12547.    
  12548.    
  12549.     private Boolean getIntegrazioneTemplatePortaDelegataRequestTipo_read = null;
  12550.     private TipoTrasformazione getIntegrazioneTemplatePortaDelegataRequestTipo = null;
  12551.     public TipoTrasformazione getIntegrazioneTemplatePortaDelegataRequestTipo() throws CoreException{
  12552.         String pName = "org.openspcoop2.pdd.integrazione.template.pd.request.tipo";
  12553.         if(this.getIntegrazioneTemplatePortaDelegataRequestTipo_read==null){
  12554.             try{
  12555.                 String name = null;
  12556.                 name = this.reader.getValueConvertEnvProperties(pName);
  12557.                 if(name!=null) {
  12558.                     name = name.trim();
  12559.                     this.getIntegrazioneTemplatePortaDelegataRequestTipo = UtilitiesTemplate.convert(name);
  12560.                    
  12561.                     this.getIntegrazioneTemplatePortaDelegataRequestTipo_read = true;
  12562.                 }
  12563.             }catch(java.lang.Exception e) {
  12564.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12565.                 throw new CoreException (e);
  12566.             }    
  12567.         }

  12568.         return this.getIntegrazioneTemplatePortaDelegataRequestTipo;
  12569.     }
  12570.    
  12571.     private Boolean getIntegrazioneTemplatePortaDelegataRequestFile_read = null;
  12572.     private String getIntegrazioneTemplatePortaDelegataRequestFile = null;
  12573.     public String getIntegrazioneTemplatePortaDelegataRequestFile() throws CoreException{
  12574.         String pName = "org.openspcoop2.pdd.integrazione.template.pd.request.file";
  12575.         if(this.getIntegrazioneTemplatePortaDelegataRequestFile_read==null){
  12576.             try{
  12577.                 String name = null;
  12578.                 name = this.reader.getValueConvertEnvProperties(pName);
  12579.                 if(name!=null) {
  12580.                     name = name.trim();
  12581.                     this.getIntegrazioneTemplatePortaDelegataRequestFile = name;
  12582.                    
  12583.                     this.getIntegrazioneTemplatePortaDelegataRequestFile_read = true;
  12584.                 }
  12585.             }catch(java.lang.Exception e) {
  12586.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12587.                 throw new CoreException (e);
  12588.             }    
  12589.         }

  12590.         return this.getIntegrazioneTemplatePortaDelegataRequestFile;
  12591.     }
  12592.    
  12593.     private Boolean getIntegrazioneTemplatePortaDelegataResponseTipo_read = null;
  12594.     private TipoTrasformazione getIntegrazioneTemplatePortaDelegataResponseTipo = null;
  12595.     public TipoTrasformazione getIntegrazioneTemplatePortaDelegataResponseTipo() throws CoreException{
  12596.         String pName = "org.openspcoop2.pdd.integrazione.template.pd.response.tipo";
  12597.         if(this.getIntegrazioneTemplatePortaDelegataResponseTipo_read==null){
  12598.             try{
  12599.                 String name = null;
  12600.                 name = this.reader.getValueConvertEnvProperties(pName);
  12601.                 if(name!=null) {
  12602.                     name = name.trim();
  12603.                     this.getIntegrazioneTemplatePortaDelegataResponseTipo = UtilitiesTemplate.convert(name);

  12604.                     this.getIntegrazioneTemplatePortaDelegataResponseTipo_read = true;
  12605.                 }
  12606.             }catch(java.lang.Exception e) {
  12607.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12608.                 throw new CoreException (e);
  12609.             }    
  12610.         }

  12611.         return this.getIntegrazioneTemplatePortaDelegataResponseTipo;
  12612.     }
  12613.    
  12614.     private Boolean getIntegrazioneTemplatePortaDelegataResponseFile_read = null;
  12615.     private String getIntegrazioneTemplatePortaDelegataResponseFile = null;
  12616.     public String getIntegrazioneTemplatePortaDelegataResponseFile() throws CoreException{
  12617.         String pName = "org.openspcoop2.pdd.integrazione.template.pd.response.file";
  12618.         if(this.getIntegrazioneTemplatePortaDelegataResponseFile_read==null){
  12619.             try{
  12620.                 String name = null;
  12621.                 name = this.reader.getValueConvertEnvProperties(pName);
  12622.                 if(name!=null) {
  12623.                     name = name.trim();
  12624.                     this.getIntegrazioneTemplatePortaDelegataResponseFile = name;
  12625.                    
  12626.                     this.getIntegrazioneTemplatePortaDelegataResponseFile_read = true;
  12627.                 }
  12628.             }catch(java.lang.Exception e) {
  12629.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12630.                 throw new CoreException (e);
  12631.             }    
  12632.         }

  12633.         return this.getIntegrazioneTemplatePortaDelegataResponseFile;
  12634.     }
  12635.    
  12636.    
  12637.     private Boolean getIntegrazioneTemplatePortaApplicativaRequestTipo_read = null;
  12638.     private TipoTrasformazione getIntegrazioneTemplatePortaApplicativaRequestTipo = null;
  12639.     public TipoTrasformazione getIntegrazioneTemplatePortaApplicativaRequestTipo() throws CoreException{
  12640.         String pName = "org.openspcoop2.pdd.integrazione.template.pa.request.tipo";
  12641.         if(this.getIntegrazioneTemplatePortaApplicativaRequestTipo_read==null){
  12642.             try{
  12643.                 String name = null;
  12644.                 name = this.reader.getValueConvertEnvProperties(pName);
  12645.                 if(name!=null) {
  12646.                     name = name.trim();
  12647.                     this.getIntegrazioneTemplatePortaApplicativaRequestTipo = UtilitiesTemplate.convert(name);
  12648.                    
  12649.                     this.getIntegrazioneTemplatePortaApplicativaRequestTipo_read = true;
  12650.                 }
  12651.             }catch(java.lang.Exception e) {
  12652.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12653.                 throw new CoreException (e);
  12654.             }    
  12655.         }

  12656.         return this.getIntegrazioneTemplatePortaApplicativaRequestTipo;
  12657.     }
  12658.    
  12659.     private Boolean getIntegrazioneTemplatePortaApplicativaRequestFile_read = null;
  12660.     private String getIntegrazioneTemplatePortaApplicativaRequestFile = null;
  12661.     public String getIntegrazioneTemplatePortaApplicativaRequestFile() throws CoreException{
  12662.         String pName = "org.openspcoop2.pdd.integrazione.template.pa.request.file";
  12663.         if(this.getIntegrazioneTemplatePortaApplicativaRequestFile_read==null){
  12664.             try{
  12665.                 String name = null;
  12666.                 name = this.reader.getValueConvertEnvProperties(pName);
  12667.                 if(name!=null) {
  12668.                     name = name.trim();
  12669.                     this.getIntegrazioneTemplatePortaApplicativaRequestFile = name;
  12670.                    
  12671.                     this.getIntegrazioneTemplatePortaApplicativaRequestFile_read = true;
  12672.                 }
  12673.             }catch(java.lang.Exception e) {
  12674.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12675.                 throw new CoreException (e);
  12676.             }    
  12677.         }

  12678.         return this.getIntegrazioneTemplatePortaApplicativaRequestFile;
  12679.     }
  12680.    
  12681.     private Boolean getIntegrazioneTemplatePortaApplicativaResponseTipo_read = null;
  12682.     private TipoTrasformazione getIntegrazioneTemplatePortaApplicativaResponseTipo = null;
  12683.     public TipoTrasformazione getIntegrazioneTemplatePortaApplicativaResponseTipo() throws CoreException{
  12684.         String pName = "org.openspcoop2.pdd.integrazione.template.pa.response.tipo";
  12685.         if(this.getIntegrazioneTemplatePortaApplicativaResponseTipo_read==null){
  12686.             try{
  12687.                 String name = null;
  12688.                 name = this.reader.getValueConvertEnvProperties(pName);
  12689.                 if(name!=null) {
  12690.                     name = name.trim();
  12691.                     this.getIntegrazioneTemplatePortaApplicativaResponseTipo = UtilitiesTemplate.convert(name);
  12692.                    
  12693.                     this.getIntegrazioneTemplatePortaApplicativaResponseTipo_read = true;
  12694.                 }
  12695.             }catch(java.lang.Exception e) {
  12696.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12697.                 throw new CoreException (e);
  12698.             }    
  12699.         }

  12700.         return this.getIntegrazioneTemplatePortaApplicativaResponseTipo;
  12701.     }
  12702.    
  12703.     private Boolean getIntegrazioneTemplatePortaApplicativaResponseFile_read = null;
  12704.     private String getIntegrazioneTemplatePortaApplicativaResponseFile = null;
  12705.     public String getIntegrazioneTemplatePortaApplicativaResponseFile() throws CoreException{
  12706.         String pName = "org.openspcoop2.pdd.integrazione.template.pa.response.file";
  12707.         if(this.getIntegrazioneTemplatePortaApplicativaResponseFile_read==null){
  12708.             try{
  12709.                 String name = null;
  12710.                 name = this.reader.getValueConvertEnvProperties(pName);
  12711.                 if(name!=null) {
  12712.                     name = name.trim();
  12713.                     this.getIntegrazioneTemplatePortaApplicativaResponseFile = name;
  12714.                    
  12715.                     this.getIntegrazioneTemplatePortaApplicativaResponseFile_read = true;
  12716.                 }
  12717.             }catch(java.lang.Exception e) {
  12718.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12719.                 throw new CoreException (e);
  12720.             }    
  12721.         }

  12722.         return this.getIntegrazioneTemplatePortaApplicativaResponseFile;
  12723.     }
  12724.    
  12725.    
  12726.     /* ********  INTEGRAZIONE AUTENTICAZIONE  ******** */
  12727.    
  12728.     private List<String> getIntegrazioneAutenticazionePortaDelegataRequestHeaders = null;
  12729.     public List<String> getIntegrazioneAutenticazionePortaDelegataRequestHeaders() throws CoreException{
  12730.         String pName = "org.openspcoop2.pdd.integrazione.autenticazione.pd.request.headers";
  12731.         if(this.getIntegrazioneAutenticazionePortaDelegataRequestHeaders==null){
  12732.             try{
  12733.                
  12734.                 this.getIntegrazioneAutenticazionePortaDelegataRequestHeaders = new ArrayList<>();
  12735.                
  12736.                 String name = null;
  12737.                 name = this.reader.getValueConvertEnvProperties(pName);
  12738.                 if(name!=null) {
  12739.                     name = name.trim();
  12740.                     String [] split = name.split(",");
  12741.                     if(split!=null){
  12742.                         for (int i = 0; i < split.length; i++) {
  12743.                             String v = split[i];
  12744.                             if(v!=null) {
  12745.                                 v = v.trim();
  12746.                             }
  12747.                             if(!"".equals(v)) {
  12748.                                 this.getIntegrazioneAutenticazionePortaDelegataRequestHeaders.add(v);
  12749.                             }
  12750.                         }
  12751.                     }
  12752.                 }
  12753.             }catch(java.lang.Exception e) {
  12754.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12755.                 throw new CoreException (e);
  12756.             }    
  12757.         }

  12758.         return this.getIntegrazioneAutenticazionePortaDelegataRequestHeaders;
  12759.     }
  12760.    
  12761.     private Map<String, String> getIntegrazioneAutenticazionePortaDelegataRequestHeadersMap = null;
  12762.     public Map<String, String> getIntegrazioneAutenticazionePortaDelegataRequestHeadersMap() throws CoreException{
  12763.         String pNamePrefix = "org.openspcoop2.pdd.integrazione.autenticazione.pd.request.header.";
  12764.         if(this.getIntegrazioneAutenticazionePortaDelegataRequestHeadersMap==null){
  12765.             try{
  12766.                
  12767.                 this.getIntegrazioneAutenticazionePortaDelegataRequestHeadersMap = new HashMap<>();
  12768.                 List<String> getIntegrazioneAutenticazionePortaDelegataRequestHeaders = getIntegrazioneAutenticazionePortaDelegataRequestHeaders();
  12769.                 if(getIntegrazioneAutenticazionePortaDelegataRequestHeaders!=null && !getIntegrazioneAutenticazionePortaDelegataRequestHeaders.isEmpty()) {
  12770.                     for (String hdrName : getIntegrazioneAutenticazionePortaDelegataRequestHeaders) {
  12771.                         String pName = pNamePrefix+hdrName;
  12772.                         try {
  12773.                             String hdrValue = this.reader.getValueConvertEnvProperties(pName);
  12774.                             if(hdrValue==null) {
  12775.                                 throw new CoreException(NON_DEFINITA);
  12776.                             }
  12777.                             hdrValue = hdrValue.trim();
  12778.                             this.getIntegrazioneAutenticazionePortaDelegataRequestHeadersMap.put(hdrName, hdrValue);
  12779.                         }catch(java.lang.Exception e) {
  12780.                             throw new CoreException ("Proprietà '"+pName+"' "+e.getMessage(),e);
  12781.                         }  
  12782.                     }
  12783.                 }
  12784.             }catch(java.lang.Exception e) {
  12785.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNamePrefix+PROPERTY_START_SUFFIX_ERRORE+e.getMessage(),e);
  12786.                 throw new CoreException (e);
  12787.             }    
  12788.         }

  12789.         return this.getIntegrazioneAutenticazionePortaDelegataRequestHeadersMap;
  12790.     }
  12791.    
  12792.     private List<String> getIntegrazioneAutenticazionePortaApplicativaRequestHeaders = null;
  12793.     public List<String> getIntegrazioneAutenticazionePortaApplicativaRequestHeaders() throws CoreException{
  12794.         String pName = "org.openspcoop2.pdd.integrazione.autenticazione.pa.request.headers";
  12795.         if(this.getIntegrazioneAutenticazionePortaApplicativaRequestHeaders==null){
  12796.             try{
  12797.                
  12798.                 this.getIntegrazioneAutenticazionePortaApplicativaRequestHeaders = new ArrayList<>();
  12799.                
  12800.                 String name = null;
  12801.                 name = this.reader.getValueConvertEnvProperties(pName);
  12802.                 if(name!=null) {
  12803.                     name = name.trim();
  12804.                     String [] split = name.split(",");
  12805.                     if(split!=null){
  12806.                         for (int i = 0; i < split.length; i++) {
  12807.                             String v = split[i];
  12808.                             if(v!=null) {
  12809.                                 v = v.trim();
  12810.                             }
  12811.                             if(!"".equals(v)) {
  12812.                                 this.getIntegrazioneAutenticazionePortaApplicativaRequestHeaders.add(v);
  12813.                             }
  12814.                         }
  12815.                     }
  12816.                 }
  12817.             }catch(java.lang.Exception e) {
  12818.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12819.                 throw new CoreException (e);
  12820.             }    
  12821.         }

  12822.         return this.getIntegrazioneAutenticazionePortaApplicativaRequestHeaders;
  12823.     }
  12824.    
  12825.     private Map<String, String> getIntegrazioneAutenticazionePortaApplicativaRequestHeadersMap = null;
  12826.     public Map<String, String> getIntegrazioneAutenticazionePortaApplicativaRequestHeadersMap() throws CoreException{
  12827.         String pNamePrefix = "org.openspcoop2.pdd.integrazione.autenticazione.pa.request.header.";
  12828.         if(this.getIntegrazioneAutenticazionePortaApplicativaRequestHeadersMap==null){
  12829.             try{
  12830.                
  12831.                 this.getIntegrazioneAutenticazionePortaApplicativaRequestHeadersMap = new HashMap<>();
  12832.                 List<String> getIntegrazioneAutenticazionePortaApplicativaRequestHeaders = getIntegrazioneAutenticazionePortaApplicativaRequestHeaders();
  12833.                 if(getIntegrazioneAutenticazionePortaApplicativaRequestHeaders!=null && !getIntegrazioneAutenticazionePortaApplicativaRequestHeaders.isEmpty()) {
  12834.                     for (String hdrName : getIntegrazioneAutenticazionePortaApplicativaRequestHeaders) {
  12835.                         String pName = pNamePrefix+hdrName;
  12836.                         try {
  12837.                             String hdrValue = this.reader.getValueConvertEnvProperties(pName);
  12838.                             if(hdrValue==null) {
  12839.                                 throw new CoreException(NON_DEFINITA);
  12840.                             }
  12841.                             hdrValue = hdrValue.trim();
  12842.                             this.getIntegrazioneAutenticazionePortaApplicativaRequestHeadersMap.put(hdrName, hdrValue);
  12843.                         }catch(java.lang.Exception e) {
  12844.                             throw new CoreException ("Proprietà '"+pName+"' "+e.getMessage(),e);
  12845.                         }  
  12846.                     }
  12847.                 }
  12848.             }catch(java.lang.Exception e) {
  12849.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNamePrefix+PROPERTY_START_SUFFIX_ERRORE+e.getMessage(),e);
  12850.                 throw new CoreException (e);
  12851.             }    
  12852.         }

  12853.         return this.getIntegrazioneAutenticazionePortaApplicativaRequestHeadersMap;
  12854.     }
  12855.    
  12856.     private String getIntegrazioneAutenticazionePropertyHeaders = null;
  12857.     public String getIntegrazioneAutenticazionePropertyHeaders() {
  12858.         String pName = "org.openspcoop2.pdd.integrazione.autenticazione.request.property.headers";
  12859.         if(this.getIntegrazioneAutenticazionePropertyHeaders==null){
  12860.             try{
  12861.                 String name = null;
  12862.                 name = this.reader.getValueConvertEnvProperties(pName);
  12863.                 if(name==null)
  12864.                     throw new CoreException(NON_DEFINITA);
  12865.                 name = name.trim();
  12866.                 this.getIntegrazioneAutenticazionePropertyHeaders = name;
  12867.             }catch(java.lang.Exception e) {
  12868.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12869.                 this.getIntegrazioneAutenticazionePropertyHeaders = null;
  12870.             }    
  12871.         }

  12872.         return this.getIntegrazioneAutenticazionePropertyHeaders;
  12873.     }
  12874.    
  12875.     private String getIntegrazioneAutenticazionePropertyHeaderPrefix = null;
  12876.     public String getIntegrazioneAutenticazionePropertyHeaderPrefix() {
  12877.         String pName = "org.openspcoop2.pdd.integrazione.autenticazione.request.property.header.prefix";
  12878.         if(this.getIntegrazioneAutenticazionePropertyHeaderPrefix==null){
  12879.             try{
  12880.                 String name = null;
  12881.                 name = this.reader.getValueConvertEnvProperties(pName);
  12882.                 if(name==null)
  12883.                     throw new CoreException(NON_DEFINITA);
  12884.                 name = name.trim();
  12885.                 this.getIntegrazioneAutenticazionePropertyHeaderPrefix = name;
  12886.             }catch(java.lang.Exception e) {
  12887.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  12888.                 this.getIntegrazioneAutenticazionePropertyHeaderPrefix = null;
  12889.             }    
  12890.         }

  12891.         return this.getIntegrazioneAutenticazionePropertyHeaderPrefix;
  12892.     }


  12893.     /* ********  CONNETTORI  ******** */

  12894.     private Boolean isRitardoConsegnaAbilitato = null;
  12895.     public boolean isRitardoConsegnaAbilitato() throws CoreException{
  12896.         if(this.isRitardoConsegnaAbilitato==null){
  12897.             try{
  12898.                 String name = null;
  12899.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettore.ritardo.stato");
  12900.                 if(name==null)
  12901.                     throw new CoreException(NON_DEFINITA);
  12902.                 name = name.trim();
  12903.                 this.isRitardoConsegnaAbilitato = CostantiConfigurazione.ABILITATO.equals(name);

  12904.             }catch(java.lang.Exception e) {
  12905.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.connettore.ritardo.stato': "+e.getMessage(),e);
  12906.                 throw new CoreException (e);
  12907.             }    
  12908.         }

  12909.         return this.isRitardoConsegnaAbilitato;
  12910.     }

  12911.     private Long ritardoConsegnaEsponenziale = null;
  12912.     public long getRitardoConsegnaEsponenziale() {  
  12913.         if(this.ritardoConsegnaEsponenziale==null){
  12914.             try{
  12915.                 long r = -1;
  12916.                 String name = null;
  12917.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettore.ritardo.fattore");
  12918.                 if (name != null) {
  12919.                     name = name.trim();
  12920.                     r = java.lang.Long.parseLong(name);
  12921.                 }
  12922.                 if(r<0)
  12923.                     throw new CoreException("Il ritardo deve essere > 0");
  12924.                 this.ritardoConsegnaEsponenziale = r;
  12925.             }catch(java.lang.Exception e) {
  12926.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.connettore.ritardo.fattore': "+e.getMessage(),e);
  12927.                 this.ritardoConsegnaEsponenziale = -1L;
  12928.             }    
  12929.         }

  12930.         return this.ritardoConsegnaEsponenziale;
  12931.     }

  12932.     private Boolean isRitardoConsegnaEsponenzialeConMoltiplicazione = null;
  12933.     public boolean isRitardoConsegnaEsponenzialeConMoltiplicazione() throws CoreException{
  12934.         if(this.isRitardoConsegnaEsponenzialeConMoltiplicazione==null){
  12935.             try{
  12936.                 String name = null;
  12937.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettore.ritardo.operazione");
  12938.                 if (name != null) {
  12939.                     name = name.trim();
  12940.                     if(name.equals("+")){
  12941.                         this.isRitardoConsegnaEsponenzialeConMoltiplicazione = false;
  12942.                     }else if(name.equals("*")){
  12943.                         this.isRitardoConsegnaEsponenzialeConMoltiplicazione = true;
  12944.                     }else{
  12945.                         throw new CoreException("Tipo di operazione non conosciuta: "+name);
  12946.                     }
  12947.                 }else{
  12948.                     throw new CoreException("Tipo di operazione non definita");
  12949.                 }
  12950.             }catch(java.lang.Exception e) {
  12951.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.connettore.ritardo.operazione': "+e.getMessage(),e);
  12952.                 throw new CoreException (e);
  12953.             }    
  12954.         }

  12955.         return this.isRitardoConsegnaEsponenzialeConMoltiplicazione;
  12956.     }

  12957.     private Long ritardoConsegnaEsponenzialeLimite = null;
  12958.     public long getRitardoConsegnaEsponenzialeLimite() {    
  12959.         if(this.ritardoConsegnaEsponenzialeLimite==null){
  12960.             try{
  12961.                 long r = 0;
  12962.                 String name = null;
  12963.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettore.ritardo.limite");
  12964.                 if (name != null) {
  12965.                     name = name.trim();
  12966.                     r = java.lang.Long.parseLong(name);
  12967.                 }
  12968.                 if(r<=0)
  12969.                     throw new CoreException("Il limite deve essere > 0");
  12970.                 this.ritardoConsegnaEsponenzialeLimite = r;
  12971.             }catch(java.lang.Exception e) {
  12972.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.connettore.ritardo.limite': "+e.getMessage(),e);
  12973.                 this.ritardoConsegnaEsponenzialeLimite = -1L;
  12974.             }    
  12975.         }

  12976.         return this.ritardoConsegnaEsponenzialeLimite;
  12977.     }














  12978.     /* ************* CACHE GESTORE MESSAGGIO *******************/

  12979.     /**
  12980.      * Restituisce l'indicazione se la cache e' abilitata
  12981.      *
  12982.      * @return Restituisce l'indicazione se la cache e' abilitata
  12983.      */
  12984.     private Boolean isAbilitataCacheGestoreMessaggi_value = null;
  12985.     public boolean isAbilitataCacheGestoreMessaggi() {
  12986.         if(this.isAbilitataCacheGestoreMessaggi_value==null){
  12987.             try{  
  12988.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.gestoreMessaggi.cache.enable");

  12989.                 if (value != null){
  12990.                     value = value.trim();
  12991.                     this.isAbilitataCacheGestoreMessaggi_value = Boolean.parseBoolean(value);
  12992.                 }else{
  12993.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.gestoreMessaggi.cache.enable' non impostata, viene utilizzato il default=false");
  12994.                     this.isAbilitataCacheGestoreMessaggi_value = false;
  12995.                 }
  12996.             }catch(java.lang.Exception e) {
  12997.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.gestoreMessaggi.cache.enable' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  12998.                 this.isAbilitataCacheGestoreMessaggi_value = false;
  12999.             }
  13000.         }

  13001.         return this.isAbilitataCacheGestoreMessaggi_value;
  13002.     }

  13003.     /**
  13004.      * Restituisce la dimensione della cache
  13005.      *
  13006.      * @return Restituisce la dimensione della cache
  13007.      */
  13008.     private Integer dimensioneCacheGestoreMessaggi_value = null;
  13009.     public int getDimensioneCacheGestoreMessaggi() throws OpenSPCoop2ConfigurationException{    
  13010.         if(this.dimensioneCacheGestoreMessaggi_value==null){
  13011.             try{  
  13012.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.gestoreMessaggi.cache.dimensione");
  13013.                 if(value!=null){
  13014.                     value = value.trim();
  13015.                     this.dimensioneCacheGestoreMessaggi_value = Integer.parseInt(value);
  13016.                 }else{
  13017.                     this.dimensioneCacheGestoreMessaggi_value = -1;
  13018.                 }
  13019.             }catch(java.lang.Exception e) {
  13020.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.gestoreMessaggi.cache.dimensione': "+e.getMessage(),e);
  13021.                 throw new OpenSPCoop2ConfigurationException("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.gestoreMessaggi.cache.dimensione'",e);
  13022.             }
  13023.         }

  13024.         return this.dimensioneCacheGestoreMessaggi_value;
  13025.     }

  13026.     /**
  13027.      * Restituisce l'algoritmo della cache
  13028.      *
  13029.      * @return Restituisce l'algoritmo della cache
  13030.      */
  13031.     private String algoritmoCacheGestoreMessaggi_value = null;
  13032.     public String getAlgoritmoCacheGestoreMessaggi() throws OpenSPCoop2ConfigurationException{  
  13033.         if(this.algoritmoCacheGestoreMessaggi_value==null){
  13034.             try{  
  13035.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.gestoreMessaggi.cache.algoritmo");
  13036.                 if(value!=null){
  13037.                     value = value.trim();
  13038.                     this.algoritmoCacheGestoreMessaggi_value = value;
  13039.                 }else{
  13040.                     this.algoritmoCacheGestoreMessaggi_value = null;
  13041.                 }
  13042.             }catch(java.lang.Exception e) {
  13043.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.gestoreMessaggi.cache.algoritmo': "+e.getMessage(),e);
  13044.                 throw new OpenSPCoop2ConfigurationException("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.gestoreMessaggi.cache.algoritmo'",e);
  13045.             }
  13046.         }

  13047.         return this.algoritmoCacheGestoreMessaggi_value;
  13048.     }

  13049.     /**
  13050.      * Restituisce la itemIdleTime della cache
  13051.      *
  13052.      * @return Restituisce la itemIdleTime della cache
  13053.      */
  13054.     private Integer itemIdleTimeCacheGestoreMessaggi_value = null;
  13055.     public int getItemIdleTimeCacheGestoreMessaggi() throws OpenSPCoop2ConfigurationException{  
  13056.         if(this.itemIdleTimeCacheGestoreMessaggi_value==null){
  13057.             try{  
  13058.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.gestoreMessaggi.cache.itemIdleTime");
  13059.                 if(value!=null){
  13060.                     value = value.trim();
  13061.                     this.itemIdleTimeCacheGestoreMessaggi_value = Integer.parseInt(value);
  13062.                 }else{
  13063.                     this.itemIdleTimeCacheGestoreMessaggi_value = -1;
  13064.                 }
  13065.             }catch(java.lang.Exception e) {
  13066.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.gestoreMessaggi.cache.itemIdleTime': "+e.getMessage(),e);
  13067.                 throw new OpenSPCoop2ConfigurationException("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.gestoreMessaggi.cache.itemIdleTime'",e);
  13068.             }
  13069.         }

  13070.         return this.itemIdleTimeCacheGestoreMessaggi_value;
  13071.     }

  13072.     /**
  13073.      * Restituisce la  itemLifeSecond della cache
  13074.      *
  13075.      * @return Restituisce la itemLifeSecond della cache
  13076.      */
  13077.     private Integer itemLifeSecondCacheGestoreMessaggi_value = null;
  13078.     public int getItemLifeSecondCacheGestoreMessaggi() throws OpenSPCoop2ConfigurationException{
  13079.         if(this.itemLifeSecondCacheGestoreMessaggi_value==null){
  13080.             try{  
  13081.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.gestoreMessaggi.cache.itemLifeSecond");
  13082.                 if(value!=null){
  13083.                     value = value.trim();
  13084.                     this.itemLifeSecondCacheGestoreMessaggi_value = Integer.parseInt(value);
  13085.                 }else{
  13086.                     this.itemLifeSecondCacheGestoreMessaggi_value = -1;
  13087.                 }
  13088.             }catch(java.lang.Exception e) {
  13089.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.gestoreMessaggi.cache.itemLifeSecond': "+e.getMessage(),e);
  13090.                 throw new OpenSPCoop2ConfigurationException("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.repository.gestoreMessaggi.cache.itemLifeSecond'",e);
  13091.             }
  13092.         }

  13093.         return this.itemLifeSecondCacheGestoreMessaggi_value;
  13094.     }





  13095.     /* ******* GESTORE JMX *********** */
  13096.     /**
  13097.      * Restituisce l'indicazione se istanziare le risorse JMX
  13098.      *
  13099.      * @return Restituisce Restituisce l'indicazione se istanziare le risorse JMX
  13100.      *
  13101.      */
  13102.     private Boolean isRisorseJMXAbilitate = null;
  13103.     public boolean isRisorseJMXAbilitate(){
  13104.         if(this.isRisorseJMXAbilitate==null){
  13105.             try{  
  13106.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.core.jmx.enable");

  13107.                 if (value != null){
  13108.                     value = value.trim();
  13109.                     this.isRisorseJMXAbilitate = Boolean.parseBoolean(value);
  13110.                 }else{
  13111.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.jmx.enable' non impostata, viene utilizzato il default=false");
  13112.                     this.isRisorseJMXAbilitate = false;
  13113.                 }

  13114.             }catch(java.lang.Exception e) {
  13115.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.jmx.enable' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  13116.                 this.isRisorseJMXAbilitate = false;
  13117.             }
  13118.         }

  13119.         return this.isRisorseJMXAbilitate;
  13120.     }

  13121.     /**
  13122.      * Restituisce il Nome JNDI del MBeanServer
  13123.      *
  13124.      * @return il Nome JNDI del MBeanServer
  13125.      *
  13126.      */
  13127.     private String jndiNameMBeanServer = null;
  13128.     public String getJNDIName_MBeanServer() {  
  13129.         if(this.jndiNameMBeanServer==null){
  13130.             try{
  13131.                 String name = null;
  13132.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.core.jmx.jndi.mbeanServer");
  13133.                 if(name!=null)
  13134.                     name = name.trim();
  13135.                 this.jndiNameMBeanServer = name;
  13136.             }catch(java.lang.Exception e) {
  13137.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.core.jmx.jndi.mbeanServer': "+e.getMessage(),e);
  13138.                 this.jndiNameMBeanServer = null;
  13139.             }    
  13140.         }

  13141.         return this.jndiNameMBeanServer;
  13142.     }

  13143.     /**
  13144.      * Restituisce le proprieta' da utilizzare con il contesto JNDI di lookup, se impostate.
  13145.      *
  13146.      * @return proprieta' da utilizzare con il contesto JNDI di lookup.
  13147.      *
  13148.      */
  13149.     private java.util.Properties jndiContextMBeanServer = null;
  13150.     public java.util.Properties getJNDIContext_MBeanServer() {
  13151.         if(this.jndiContextMBeanServer==null){
  13152.             java.util.Properties prop = new java.util.Properties();
  13153.             try{

  13154.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.core.jmx.jndi.property.");
  13155.                 this.jndiContextMBeanServer = prop;

  13156.             }catch(java.lang.Exception e) {
  13157.                 this.logError("Riscontrato errore durante la lettura delle propriete' JNDI 'org.openspcoop2.pdd.core.jmx.jndi.property.*': "+e.getMessage(),e);
  13158.                 this.jndiContextMBeanServer = null;
  13159.             }    
  13160.         }

  13161.         return this.jndiContextMBeanServer;
  13162.     }









  13163.     /* ************* CONNETTORI ***************** */
  13164.    
  13165.     private Boolean isConnettoriUseLimitedInputStream = null;
  13166.     public boolean isConnettoriUseLimitedInputStream() {    
  13167.         if(this.isConnettoriUseLimitedInputStream==null){
  13168.             String pName = "org.openspcoop2.pdd.connettori.useLimitedInputStream";
  13169.             try{
  13170.                 String name = null;
  13171.                 name = this.reader.getValueConvertEnvProperties(pName);
  13172.                 if(name!=null){
  13173.                     name = name.trim();
  13174.                     this.isConnettoriUseLimitedInputStream = Boolean.parseBoolean(name);
  13175.                 }else{
  13176.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  13177.                     this.isConnettoriUseLimitedInputStream = false;
  13178.                 }
  13179.             }catch(java.lang.Exception e) {
  13180.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  13181.                 this.isConnettoriUseLimitedInputStream = false;
  13182.             }  
  13183.         }

  13184.         return this.isConnettoriUseLimitedInputStream;
  13185.     }
  13186.    
  13187.     private Long getLimitedInputStreamThreshold = null;
  13188.     private boolean limitedInputStreamThresholdDefined = false;
  13189.     public boolean isLimitedInputStreamThresholdDefined() {
  13190.         return this.limitedInputStreamThresholdDefined;
  13191.     }
  13192.     public long getLimitedInputStreamThresholdKb() {    
  13193.         if(this.getLimitedInputStreamThreshold==null){
  13194.             String pName = "org.openspcoop2.pdd.connettori.limitedInputStream.threshold";
  13195.             try{
  13196.                 String name = null;
  13197.                 name = this.reader.getValueConvertEnvProperties(pName);
  13198.                 if(name!=null){
  13199.                     name = name.trim();
  13200.                     this.getLimitedInputStreamThreshold = java.lang.Long.valueOf(name);
  13201.                     this.limitedInputStreamThresholdDefined = true;
  13202.                 }else{
  13203.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, Integer.MAX_VALUE));
  13204.                     this.getLimitedInputStreamThreshold = (long)Integer.MAX_VALUE;
  13205.                 }
  13206.             }catch(java.lang.Exception e) {
  13207.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, Integer.MAX_VALUE),e);
  13208.                 this.getLimitedInputStreamThreshold = (long)Integer.MAX_VALUE;
  13209.             }  
  13210.         }

  13211.         return this.getLimitedInputStreamThreshold;
  13212.     }
  13213.    
  13214.     private Boolean isLimitedInputStreamUseContentLength = null;
  13215.     public boolean isLimitedInputStreamUseContentLength() {
  13216.         if(this.isLimitedInputStreamUseContentLength==null){
  13217.             String pName = "org.openspcoop2.pdd.connettori.limitedInputStream.useContentLength";
  13218.             try{
  13219.                 String name = null;
  13220.                 name = this.reader.getValueConvertEnvProperties(pName);
  13221.                 if(name!=null){
  13222.                     name = name.trim();
  13223.                     this.isLimitedInputStreamUseContentLength = Boolean.parseBoolean(name);
  13224.                 }else{
  13225.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  13226.                     this.isLimitedInputStreamUseContentLength = true;
  13227.                 }
  13228.             }catch(java.lang.Exception e) {
  13229.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  13230.                 this.isLimitedInputStreamUseContentLength = true;
  13231.             }  
  13232.         }

  13233.         return this.isLimitedInputStreamUseContentLength;
  13234.     }
  13235.    
  13236.     private Boolean isLimitedInputStreamUseContentLengthAcceptZeroValue = null;
  13237.     public boolean isLimitedInputStreamUseContentLengthAcceptZeroValue() {  
  13238.         if(this.isLimitedInputStreamUseContentLengthAcceptZeroValue==null){
  13239.             String pName = "org.openspcoop2.pdd.connettori.limitedInputStream.useContentLength.acceptZeroValue";
  13240.             try{
  13241.                 String name = null;
  13242.                 name = this.reader.getValueConvertEnvProperties(pName);
  13243.                 if(name!=null){
  13244.                     name = name.trim();
  13245.                     this.isLimitedInputStreamUseContentLengthAcceptZeroValue = Boolean.parseBoolean(name);
  13246.                 }else{
  13247.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  13248.                     this.isLimitedInputStreamUseContentLengthAcceptZeroValue = true;
  13249.                 }
  13250.             }catch(java.lang.Exception e) {
  13251.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  13252.                 this.isLimitedInputStreamUseContentLengthAcceptZeroValue = true;
  13253.             }  
  13254.         }

  13255.         return this.isLimitedInputStreamUseContentLengthAcceptZeroValue;
  13256.     }
  13257.    
  13258.     private Boolean isConnettoriUseTimeoutInputStream = null;
  13259.     public boolean isConnettoriUseTimeoutInputStream() {    
  13260.         if(this.isConnettoriUseTimeoutInputStream==null){
  13261.             String pName = "org.openspcoop2.pdd.connettori.useTimeoutInputStream";
  13262.             try{
  13263.                 String name = null;
  13264.                 name = this.reader.getValueConvertEnvProperties(pName);
  13265.                 if(name!=null){
  13266.                     name = name.trim();
  13267.                     this.isConnettoriUseTimeoutInputStream = Boolean.parseBoolean(name);
  13268.                 }else{
  13269.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  13270.                     this.isConnettoriUseTimeoutInputStream = false;
  13271.                 }
  13272.             }catch(java.lang.Exception e) {
  13273.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  13274.                 this.isConnettoriUseTimeoutInputStream = false;
  13275.             }  
  13276.         }

  13277.         return this.isConnettoriUseTimeoutInputStream;
  13278.     }
  13279.    
  13280.     /**
  13281.      * Restituisce timeout per la istanziazione della connessione
  13282.      *
  13283.      * @return Restituisce timeout per la istanziazione della connessione
  13284.      *
  13285.      */
  13286.     private Integer connectionTimeout_inoltroBuste = null;
  13287.     public int getConnectionTimeout_inoltroBuste() {    
  13288.         if(this.connectionTimeout_inoltroBuste==null){
  13289.             try{
  13290.                 String name = null;
  13291.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.connection.timeout");
  13292.                 if(name!=null){
  13293.                     name = name.trim();
  13294.                     this.connectionTimeout_inoltroBuste = java.lang.Integer.parseInt(name);
  13295.                 }else{
  13296.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.connection.timeout' non impostata, viene utilizzato il default="+CostantiPdD.CONNETTORE_CONNECTION_TIMEOUT_INOLTRO_BUSTE);
  13297.                     this.connectionTimeout_inoltroBuste = CostantiPdD.CONNETTORE_CONNECTION_TIMEOUT_INOLTRO_BUSTE;
  13298.                 }
  13299.             }catch(java.lang.Exception e) {
  13300.                 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);
  13301.                 this.connectionTimeout_inoltroBuste = CostantiPdD.CONNETTORE_CONNECTION_TIMEOUT_INOLTRO_BUSTE;
  13302.             }  
  13303.         }

  13304.         return this.connectionTimeout_inoltroBuste;
  13305.     }


  13306.     /**
  13307.      * Restituisce timeout per la istanziazione della connessione
  13308.      *
  13309.      * @return Restituisce timeout per la istanziazione della connessione
  13310.      *
  13311.      */
  13312.     private Integer connectionTimeout_consegnaContenutiApplicativi = null;
  13313.     public int getConnectionTimeout_consegnaContenutiApplicativi() {    
  13314.         if(this.connectionTimeout_consegnaContenutiApplicativi==null){
  13315.             try{
  13316.                 String name = null;
  13317.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.connection.timeout");
  13318.                 if(name!=null){
  13319.                     name = name.trim();
  13320.                     this.connectionTimeout_consegnaContenutiApplicativi = java.lang.Integer.parseInt(name);
  13321.                 }else{
  13322.                     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);
  13323.                     this.connectionTimeout_consegnaContenutiApplicativi = CostantiPdD.CONNETTORE_CONNECTION_TIMEOUT_CONSEGNA_CONTENUTI_APPLICATIVI;
  13324.                 }
  13325.             }catch(java.lang.Exception e) {
  13326.                 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);
  13327.                 this.connectionTimeout_consegnaContenutiApplicativi = CostantiPdD.CONNETTORE_CONNECTION_TIMEOUT_CONSEGNA_CONTENUTI_APPLICATIVI;
  13328.             }  
  13329.         }

  13330.         return this.connectionTimeout_consegnaContenutiApplicativi;
  13331.     }


  13332.     /**
  13333.      * Restituisce timeout per la lettura dalla connessione
  13334.      *
  13335.      * @return Restituisce timeout per la lettura dalla connessione
  13336.      *
  13337.      */
  13338.     private Integer readConnectionTimeout_inoltroBuste = null;
  13339.     public int getReadConnectionTimeout_inoltroBuste() {    
  13340.         if(this.readConnectionTimeout_inoltroBuste==null){
  13341.             try{
  13342.                 String name = null;
  13343.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.readConnection.timeout");
  13344.                 if(name!=null){
  13345.                     name = name.trim();
  13346.                     this.readConnectionTimeout_inoltroBuste = java.lang.Integer.parseInt(name);
  13347.                 }else{
  13348.                     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);
  13349.                     this.readConnectionTimeout_inoltroBuste = CostantiPdD.CONNETTORE_READ_CONNECTION_TIMEOUT_INOLTRO_BUSTE;
  13350.                 }
  13351.             }catch(java.lang.Exception e) {
  13352.                 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);
  13353.                 this.readConnectionTimeout_inoltroBuste = CostantiPdD.CONNETTORE_READ_CONNECTION_TIMEOUT_INOLTRO_BUSTE;
  13354.             }  
  13355.         }

  13356.         return this.readConnectionTimeout_inoltroBuste;
  13357.     }


  13358.     /**
  13359.      * Restituisce timeout per la lettura dalla connessione
  13360.      *
  13361.      * @return Restituisce timeout per la lettura dalla connessione
  13362.      *
  13363.      */
  13364.     private Integer readConnectionTimeout_consegnaContenutiApplicativi = null;
  13365.     public int getReadConnectionTimeout_consegnaContenutiApplicativi() {    
  13366.         if(this.readConnectionTimeout_consegnaContenutiApplicativi==null){
  13367.             try{
  13368.                 String name = null;
  13369.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.readConnection.timeout");
  13370.                 if(name!=null){
  13371.                     name = name.trim();
  13372.                     this.readConnectionTimeout_consegnaContenutiApplicativi = java.lang.Integer.parseInt(name);
  13373.                 }else{
  13374.                     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);
  13375.                     this.readConnectionTimeout_consegnaContenutiApplicativi = CostantiPdD.CONNETTORE_READ_CONNECTION_TIMEOUT_CONSEGNA_CONTENUTI_APPLICATIVI;
  13376.                 }
  13377.             }catch(java.lang.Exception e) {
  13378.                 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);
  13379.                 this.readConnectionTimeout_consegnaContenutiApplicativi = CostantiPdD.CONNETTORE_READ_CONNECTION_TIMEOUT_CONSEGNA_CONTENUTI_APPLICATIVI;
  13380.             }  
  13381.         }

  13382.         return this.readConnectionTimeout_consegnaContenutiApplicativi;
  13383.     }

  13384.     /**
  13385.      * Restituisce timeout in millisecondi massimi durante il quale una connessione viene mantenuta aperta dalla PdD.
  13386.      *
  13387.      * @return Restituisce timeout in millisecondi massimi durante il quale una connessione viene mantenuta aperta dalla PdD.
  13388.      *
  13389.      */
  13390.     private Integer connectionLife_inoltroBuste = null;
  13391.     public int getConnectionLife_inoltroBuste() {  
  13392.         if(this.connectionLife_inoltroBuste==null){
  13393.             try{
  13394.                 String name = null;
  13395.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.connection.life");
  13396.                 if(name!=null){
  13397.                     name = name.trim();
  13398.                     this.connectionLife_inoltroBuste = java.lang.Integer.parseInt(name);
  13399.                 }else{
  13400.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.connection.life' non impostata, viene utilizzato il default="+CostantiPdD.CONNETTORE_CONNECTION_LIFE_INOLTRO_BUSTE);
  13401.                     this.connectionLife_inoltroBuste = CostantiPdD.CONNETTORE_CONNECTION_LIFE_INOLTRO_BUSTE;
  13402.                 }
  13403.             }catch(java.lang.Exception e) {
  13404.                 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);
  13405.                 this.connectionLife_inoltroBuste = CostantiPdD.CONNETTORE_CONNECTION_LIFE_INOLTRO_BUSTE;
  13406.             }  
  13407.         }

  13408.         return this.connectionLife_inoltroBuste;
  13409.     }


  13410.     /**
  13411.      * Restituisce timeout in millisecondi massimi durante il quale una connessione viene mantenuta aperta dalla PdD.
  13412.      *
  13413.      * @return Restituisce timeout in millisecondi massimi durante il quale una connessione viene mantenuta aperta dalla PdD.
  13414.      *
  13415.      */
  13416.     private Integer connectionLife_consegnaContenutiApplicativi = null;
  13417.     public int getConnectionLife_consegnaContenutiApplicativi() {  
  13418.         if(this.connectionLife_consegnaContenutiApplicativi==null){
  13419.             try{
  13420.                 String name = null;
  13421.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.connection.life");
  13422.                 if(name!=null){
  13423.                     name = name.trim();
  13424.                     this.connectionLife_consegnaContenutiApplicativi = java.lang.Integer.parseInt(name);
  13425.                 }else{
  13426.                     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);
  13427.                     this.connectionLife_consegnaContenutiApplicativi = CostantiPdD.CONNETTORE_CONNECTION_LIFE_CONSEGNA_CONTENUTI_APPLICATIVI;
  13428.                 }
  13429.             }catch(java.lang.Exception e) {
  13430.                 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);
  13431.                 this.connectionLife_consegnaContenutiApplicativi = CostantiPdD.CONNETTORE_CONNECTION_LIFE_CONSEGNA_CONTENUTI_APPLICATIVI;
  13432.             }  
  13433.         }

  13434.         return this.connectionLife_consegnaContenutiApplicativi;
  13435.     }

  13436.    
  13437.     private Integer readConnectionTimeout_ricezioneContenutiApplicativi = null;
  13438.     public int getReadConnectionTimeout_ricezioneContenutiApplicativi() {  
  13439.         String pName = "org.openspcoop2.pdd.connettori.ricezioneContenutiApplicativi.readConnection.timeout";
  13440.         if(this.readConnectionTimeout_ricezioneContenutiApplicativi==null){
  13441.             try{
  13442.                 String name = null;
  13443.                 name = this.reader.getValueConvertEnvProperties(pName);
  13444.                 if(name!=null){
  13445.                     name = name.trim();
  13446.                     this.readConnectionTimeout_ricezioneContenutiApplicativi = java.lang.Integer.parseInt(name);
  13447.                 }else{
  13448.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,CostantiPdD.CONNETTORE_READ_CONNECTION_TIMEOUT_INOLTRO_BUSTE));
  13449.                     this.readConnectionTimeout_ricezioneContenutiApplicativi = CostantiPdD.CONNETTORE_READ_CONNECTION_TIMEOUT_INOLTRO_BUSTE;
  13450.                 }
  13451.             }catch(java.lang.Exception e) {
  13452.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,CostantiPdD.CONNETTORE_READ_CONNECTION_TIMEOUT_INOLTRO_BUSTE),e);
  13453.                 this.readConnectionTimeout_ricezioneContenutiApplicativi = CostantiPdD.CONNETTORE_READ_CONNECTION_TIMEOUT_INOLTRO_BUSTE;
  13454.             }  
  13455.         }

  13456.         return this.readConnectionTimeout_ricezioneContenutiApplicativi;
  13457.     }
  13458.    
  13459.     private Integer readConnectionTimeout_ricezioneBuste = null;
  13460.     public int getReadConnectionTimeout_ricezioneBuste() {  
  13461.         String pName = "org.openspcoop2.pdd.connettori.ricezioneBuste.readConnection.timeout";
  13462.         if(this.readConnectionTimeout_ricezioneBuste==null){
  13463.             try{
  13464.                 String name = null;
  13465.                 name = this.reader.getValueConvertEnvProperties(pName);
  13466.                 if(name!=null){
  13467.                     name = name.trim();
  13468.                     this.readConnectionTimeout_ricezioneBuste = java.lang.Integer.parseInt(name);
  13469.                 }else{
  13470.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,CostantiPdD.CONNETTORE_READ_CONNECTION_TIMEOUT_INOLTRO_BUSTE));
  13471.                     this.readConnectionTimeout_ricezioneBuste = CostantiPdD.CONNETTORE_READ_CONNECTION_TIMEOUT_INOLTRO_BUSTE;
  13472.                 }
  13473.             }catch(java.lang.Exception e) {
  13474.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,CostantiPdD.CONNETTORE_READ_CONNECTION_TIMEOUT_INOLTRO_BUSTE),e);
  13475.                 this.readConnectionTimeout_ricezioneBuste = CostantiPdD.CONNETTORE_READ_CONNECTION_TIMEOUT_INOLTRO_BUSTE;
  13476.             }  
  13477.         }

  13478.         return this.readConnectionTimeout_ricezioneBuste;
  13479.     }
  13480.    
  13481.    
  13482.    
  13483.     private Boolean isConnettoriUseDiagnosticInputStream_inoltroBuste = null;
  13484.     public boolean isConnettoriUseDiagnosticInputStream_inoltroBuste() {    
  13485.         if(this.isConnettoriUseDiagnosticInputStream_inoltroBuste==null){
  13486.             String pName = "org.openspcoop2.pdd.connettori.inoltroBuste.useDiagnosticInputStream";
  13487.             try{
  13488.                 String name = null;
  13489.                 name = this.reader.getValueConvertEnvProperties(pName);
  13490.                 if(name!=null){
  13491.                     name = name.trim();
  13492.                     this.isConnettoriUseDiagnosticInputStream_inoltroBuste = Boolean.parseBoolean(name);
  13493.                 }else{
  13494.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  13495.                     this.isConnettoriUseDiagnosticInputStream_inoltroBuste = true;
  13496.                 }
  13497.             }catch(java.lang.Exception e) {
  13498.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  13499.                 this.isConnettoriUseDiagnosticInputStream_inoltroBuste = true;
  13500.             }  
  13501.         }

  13502.         return this.isConnettoriUseDiagnosticInputStream_inoltroBuste;
  13503.     }
  13504.    
  13505.     private Boolean isConnettoriUseDiagnosticInputStream_consegnaContenutiApplicativi = null;
  13506.     public boolean isConnettoriUseDiagnosticInputStream_consegnaContenutiApplicativi() {    
  13507.         if(this.isConnettoriUseDiagnosticInputStream_consegnaContenutiApplicativi==null){
  13508.             String pName = "org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.useDiagnosticInputStream";
  13509.             try{
  13510.                 String name = null;
  13511.                 name = this.reader.getValueConvertEnvProperties(pName);
  13512.                 if(name!=null){
  13513.                     name = name.trim();
  13514.                     this.isConnettoriUseDiagnosticInputStream_consegnaContenutiApplicativi = Boolean.parseBoolean(name);
  13515.                 }else{
  13516.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  13517.                     this.isConnettoriUseDiagnosticInputStream_consegnaContenutiApplicativi = true;
  13518.                 }
  13519.             }catch(java.lang.Exception e) {
  13520.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  13521.                 this.isConnettoriUseDiagnosticInputStream_consegnaContenutiApplicativi = true;
  13522.             }  
  13523.         }

  13524.         return this.isConnettoriUseDiagnosticInputStream_consegnaContenutiApplicativi;
  13525.     }
  13526.    
  13527.     private Boolean isConnettoriUseDiagnosticInputStream_ricezioneContenutiApplicativi = null;
  13528.     public boolean isConnettoriUseDiagnosticInputStream_ricezioneContenutiApplicativi() {  
  13529.         if(this.isConnettoriUseDiagnosticInputStream_ricezioneContenutiApplicativi==null){
  13530.             String pName = "org.openspcoop2.pdd.connettori.ricezioneContenutiApplicativi.useDiagnosticInputStream";
  13531.             try{
  13532.                 String name = null;
  13533.                 name = this.reader.getValueConvertEnvProperties(pName);
  13534.                 if(name!=null){
  13535.                     name = name.trim();
  13536.                     this.isConnettoriUseDiagnosticInputStream_ricezioneContenutiApplicativi = Boolean.parseBoolean(name);
  13537.                 }else{
  13538.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  13539.                     this.isConnettoriUseDiagnosticInputStream_ricezioneContenutiApplicativi = true;
  13540.                 }
  13541.             }catch(java.lang.Exception e) {
  13542.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  13543.                 this.isConnettoriUseDiagnosticInputStream_ricezioneContenutiApplicativi = true;
  13544.             }  
  13545.         }

  13546.         return this.isConnettoriUseDiagnosticInputStream_ricezioneContenutiApplicativi;
  13547.     }
  13548.    
  13549.     private Boolean isConnettoriUseDiagnosticInputStream_ricezioneBuste = null;
  13550.     public boolean isConnettoriUseDiagnosticInputStream_ricezioneBuste() {  
  13551.         if(this.isConnettoriUseDiagnosticInputStream_ricezioneBuste==null){
  13552.             String pName = "org.openspcoop2.pdd.connettori.ricezioneBuste.useDiagnosticInputStream";
  13553.             try{
  13554.                 String name = null;
  13555.                 name = this.reader.getValueConvertEnvProperties(pName);
  13556.                 if(name!=null){
  13557.                     name = name.trim();
  13558.                     this.isConnettoriUseDiagnosticInputStream_ricezioneBuste = Boolean.parseBoolean(name);
  13559.                 }else{
  13560.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  13561.                     this.isConnettoriUseDiagnosticInputStream_ricezioneBuste = true;
  13562.                 }
  13563.             }catch(java.lang.Exception e) {
  13564.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  13565.                 this.isConnettoriUseDiagnosticInputStream_ricezioneBuste = true;
  13566.             }  
  13567.         }

  13568.         return this.isConnettoriUseDiagnosticInputStream_ricezioneBuste;
  13569.     }
  13570.    
  13571.    
  13572.     private Boolean isConnettoriUseDiagnosticInputStream_setDateEmptyStream = null;
  13573.     public boolean isConnettoriUseDiagnosticInputStream_setDateEmptyStream() {  
  13574.         if(this.isConnettoriUseDiagnosticInputStream_setDateEmptyStream==null){
  13575.             String pName = "org.openspcoop2.pdd.connettori.useDiagnosticInputStream.setDateEmptyStream";
  13576.             try{
  13577.                 String name = null;
  13578.                 name = this.reader.getValueConvertEnvProperties(pName);
  13579.                 if(name!=null){
  13580.                     name = name.trim();
  13581.                     this.isConnettoriUseDiagnosticInputStream_setDateEmptyStream = Boolean.parseBoolean(name);
  13582.                 }else{
  13583.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  13584.                     this.isConnettoriUseDiagnosticInputStream_setDateEmptyStream = false;
  13585.                 }
  13586.             }catch(java.lang.Exception e) {
  13587.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  13588.                 this.isConnettoriUseDiagnosticInputStream_setDateEmptyStream = false;
  13589.             }  
  13590.         }

  13591.         return this.isConnettoriUseDiagnosticInputStream_setDateEmptyStream;
  13592.     }
  13593.    
  13594.    
  13595.    

  13596.     /* ***************** HTTPS  ************* */
  13597.    
  13598.     private Boolean isConnettoreHttps_useSecureRandom = null;
  13599.     public boolean isConnettoreHttps_useSecureRandom() {    
  13600.         if(this.isConnettoreHttps_useSecureRandom==null){
  13601.             String pName = "org.openspcoop2.pdd.connettori.secureRandom";
  13602.             try{
  13603.                 String name = null;
  13604.                 name = this.reader.getValueConvertEnvProperties(pName);
  13605.                 if(name!=null){
  13606.                     name = name.trim();
  13607.                     this.isConnettoreHttps_useSecureRandom = Boolean.parseBoolean(name);
  13608.                 }else{
  13609.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  13610.                     this.isConnettoreHttps_useSecureRandom = false;
  13611.                 }
  13612.             }catch(java.lang.Exception e) {
  13613.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  13614.                 this.isConnettoreHttps_useSecureRandom = false;
  13615.             }  
  13616.         }

  13617.         return this.isConnettoreHttps_useSecureRandom;
  13618.     }
  13619.     private String getConnettoreHttps_secureRandomAlgo = null;
  13620.     private Boolean getConnettoreHttps_secureRandomAlgoRead = null;
  13621.     public String getConnettoreHttps_secureRandomAlgo() {  
  13622.         if(this.getConnettoreHttps_secureRandomAlgoRead==null){
  13623.             String pName = "org.openspcoop2.pdd.connettori.secureRandomAlgorithm";
  13624.             try{
  13625.                 String name = null;
  13626.                 name = this.reader.getValueConvertEnvProperties(pName);
  13627.                 if(name!=null){
  13628.                     name = name.trim();
  13629.                     this.getConnettoreHttps_secureRandomAlgo = name;
  13630.                 }
  13631.             }catch(java.lang.Exception e) {
  13632.                 this.logWarn("Proprieta' di openspcoop '"+pName+"', errore:"+e.getMessage(),e);
  13633.             }  
  13634.            
  13635.             this.getConnettoreHttps_secureRandomAlgoRead=true;
  13636.         }

  13637.         return this.getConnettoreHttps_secureRandomAlgo;
  13638.     }
  13639.    
  13640.     private Boolean isConnettoreHttp_urlHttps_overrideDefaultConfiguration_inoltroBuste = null;
  13641.     public boolean isConnettoreHttp_urlHttps_overrideDefaultConfiguration_inoltroBuste() {  
  13642.         if(this.isConnettoreHttp_urlHttps_overrideDefaultConfiguration_inoltroBuste==null){
  13643.             try{
  13644.                 String name = null;
  13645.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.http.urlHttps.overrideDefaultConfiguration");
  13646.                 if(name!=null){
  13647.                     name = name.trim();
  13648.                     this.isConnettoreHttp_urlHttps_overrideDefaultConfiguration_inoltroBuste = Boolean.parseBoolean(name);
  13649.                 }else{
  13650.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.http.urlHttps.overrideDefaultConfiguration' non impostata, viene utilizzato il default="+true);
  13651.                     this.isConnettoreHttp_urlHttps_overrideDefaultConfiguration_inoltroBuste = true;
  13652.                 }
  13653.             }catch(java.lang.Exception e) {
  13654.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.http.urlHttps.overrideDefaultConfiguration' non impostata, viene utilizzato il default="+true+", errore:"+e.getMessage(),e);
  13655.                 this.isConnettoreHttp_urlHttps_overrideDefaultConfiguration_inoltroBuste = true;
  13656.             }  
  13657.         }

  13658.         return this.isConnettoreHttp_urlHttps_overrideDefaultConfiguration_inoltroBuste;
  13659.     }
  13660.    
  13661.     private Boolean isConnettoreHttp_urlHttps_overrideDefaultConfiguration_consegnaContenutiApplicativi = null;
  13662.     public boolean isConnettoreHttp_urlHttps_overrideDefaultConfiguration_consegnaContenutiApplicativi() {  
  13663.         if(this.isConnettoreHttp_urlHttps_overrideDefaultConfiguration_consegnaContenutiApplicativi==null){
  13664.             try{
  13665.                 String name = null;
  13666.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.http.urlHttps.overrideDefaultConfiguration");
  13667.                 if(name!=null){
  13668.                     name = name.trim();
  13669.                     this.isConnettoreHttp_urlHttps_overrideDefaultConfiguration_consegnaContenutiApplicativi = Boolean.parseBoolean(name);
  13670.                 }else{
  13671.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.http.urlHttps.overrideDefaultConfiguration' non impostata, viene utilizzato il default="+true);
  13672.                     this.isConnettoreHttp_urlHttps_overrideDefaultConfiguration_consegnaContenutiApplicativi = true;
  13673.                 }
  13674.             }catch(java.lang.Exception e) {
  13675.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.http.urlHttps.overrideDefaultConfiguration' non impostata, viene utilizzato il default="+true+", errore:"+e.getMessage(),e);
  13676.                 this.isConnettoreHttp_urlHttps_overrideDefaultConfiguration_consegnaContenutiApplicativi = true;
  13677.             }  
  13678.         }

  13679.         return this.isConnettoreHttp_urlHttps_overrideDefaultConfiguration_consegnaContenutiApplicativi;
  13680.     }
  13681.    
  13682.     private File getConnettoreHttp_urlHttps_repository_inoltroBuste = null;
  13683.     public File getConnettoreHttp_urlHttps_repository_inoltroBuste() throws CoreException {
  13684.         if(this.getConnettoreHttp_urlHttps_repository_inoltroBuste==null){
  13685.             try{
  13686.                 String name = null;
  13687.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.http.urlHttps.repository");
  13688.                 if(name==null){
  13689.                     throw new CoreException("Proprieta' non impostata");
  13690.                 }
  13691.                 name = name.trim();
  13692.                 this.getConnettoreHttp_urlHttps_repository_inoltroBuste = new File(name);
  13693.                 if(this.getConnettoreHttp_urlHttps_repository_inoltroBuste.exists()) {
  13694.                     if(this.getConnettoreHttp_urlHttps_repository_inoltroBuste.isDirectory()==false) {
  13695.                         throw newCoreExceptionNotDir(this.getConnettoreHttp_urlHttps_repository_inoltroBuste,true);
  13696.                     }
  13697.                     if(this.getConnettoreHttp_urlHttps_repository_inoltroBuste.canRead()==false) {
  13698.                         throw newCoreExceptionCannotRead(this.getConnettoreHttp_urlHttps_repository_inoltroBuste,true);
  13699.                     }
  13700.                     if(this.getConnettoreHttp_urlHttps_repository_inoltroBuste.canWrite()==false) {
  13701.                         throw newCoreExceptionCannotWrite(this.getConnettoreHttp_urlHttps_repository_inoltroBuste,true);
  13702.                     }
  13703.                 }
  13704.                 else {
  13705.                     // viene creata automaticamente
  13706.                 }
  13707.             } catch(java.lang.Exception e) {
  13708.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.http.urlHttps.repository': "+e.getMessage(),e);
  13709.                 throw new CoreException(e.getMessage(),e);
  13710.             }    
  13711.         }

  13712.         return this.getConnettoreHttp_urlHttps_repository_inoltroBuste;
  13713.     }
  13714.    
  13715.     private File getConnettoreHttp_urlHttps_repository_consegnaContenutiApplicativi = null;
  13716.     public File getConnettoreHttp_urlHttps_repository_consegnaContenutiApplicativi() throws CoreException {
  13717.         if(this.getConnettoreHttp_urlHttps_repository_consegnaContenutiApplicativi==null){
  13718.             try{
  13719.                 String name = null;
  13720.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.http.urlHttps.repository");
  13721.                 if(name==null){
  13722.                     throw new CoreException("Proprieta' non impostata");
  13723.                 }
  13724.                 name = name.trim();
  13725.                 this.getConnettoreHttp_urlHttps_repository_consegnaContenutiApplicativi = new File(name);
  13726.                 if(this.getConnettoreHttp_urlHttps_repository_consegnaContenutiApplicativi.exists()) {
  13727.                     if(this.getConnettoreHttp_urlHttps_repository_consegnaContenutiApplicativi.isDirectory()==false) {
  13728.                         throw newCoreExceptionNotDir(this.getConnettoreHttp_urlHttps_repository_consegnaContenutiApplicativi,true);
  13729.                     }
  13730.                     if(this.getConnettoreHttp_urlHttps_repository_consegnaContenutiApplicativi.canRead()==false) {
  13731.                         throw newCoreExceptionCannotRead(this.getConnettoreHttp_urlHttps_repository_consegnaContenutiApplicativi,true);
  13732.                     }
  13733.                     if(this.getConnettoreHttp_urlHttps_repository_consegnaContenutiApplicativi.canWrite()==false) {
  13734.                         throw newCoreExceptionCannotWrite(this.getConnettoreHttp_urlHttps_repository_consegnaContenutiApplicativi,true);
  13735.                     }
  13736.                 }
  13737.                 else {
  13738.                     // viene creata automaticamente
  13739.                 }
  13740.             } catch(java.lang.Exception e) {
  13741.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.http.urlHttps.repository': "+e.getMessage(),e);
  13742.                 throw new CoreException(e.getMessage(),e);
  13743.             }    
  13744.         }

  13745.         return this.getConnettoreHttp_urlHttps_repository_consegnaContenutiApplicativi;
  13746.     }
  13747.    
  13748.     private Boolean isConnettoreHttp_urlHttps_cacheEnabled = null;
  13749.     public boolean isConnettoreHttp_urlHttps_cacheEnabled() {  
  13750.         if(this.isConnettoreHttp_urlHttps_cacheEnabled==null){
  13751.             try{
  13752.                 String name = null;
  13753.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.http.urlHttps.cache.enabled");
  13754.                 if(name!=null){
  13755.                     name = name.trim();
  13756.                     this.isConnettoreHttp_urlHttps_cacheEnabled = Boolean.parseBoolean(name);
  13757.                 }else{
  13758.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.http.urlHttps.cache.enabled' non impostata, viene utilizzato il default="+true);
  13759.                     this.isConnettoreHttp_urlHttps_cacheEnabled = true;
  13760.                 }
  13761.             }catch(java.lang.Exception e) {
  13762.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.http.urlHttps.cache.enabled' non impostata, viene utilizzato il default="+true+", errore:"+e.getMessage(),e);
  13763.                 this.isConnettoreHttp_urlHttps_cacheEnabled = true;
  13764.             }  
  13765.         }

  13766.         return this.isConnettoreHttp_urlHttps_cacheEnabled;
  13767.     }
  13768.    
  13769.     private Integer getConnettoreHttp_urlHttps_cacheSize = null;
  13770.     public int getConnettoreHttp_urlHttps_cacheSize() {
  13771.         if(this.getConnettoreHttp_urlHttps_cacheSize==null){
  13772.             try{
  13773.                 String name = null;
  13774.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.http.urlHttps.cache.size");
  13775.                 if(name!=null){
  13776.                     name = name.trim();
  13777.                     this.getConnettoreHttp_urlHttps_cacheSize = java.lang.Integer.parseInt(name);
  13778.                 }else{
  13779.                     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);
  13780.                     this.getConnettoreHttp_urlHttps_cacheSize = CostantiPdD.CONNETTORE_HTTP_URL_HTTPS_CACHE_SIZE;
  13781.                 }
  13782.             }catch(java.lang.Exception e) {
  13783.                 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);
  13784.                 this.getConnettoreHttp_urlHttps_cacheSize = CostantiPdD.CONNETTORE_HTTP_URL_HTTPS_CACHE_SIZE;
  13785.             }  
  13786.         }

  13787.         return this.getConnettoreHttp_urlHttps_cacheSize;
  13788.     }
  13789.    
  13790.    
  13791.    
  13792.    
  13793.     /* ***************** Servizi HTTP  ************* */
  13794.    
  13795.     private Boolean isHttpDisableKeepAlive = null;
  13796.     public boolean isHttpDisableKeepAlive() {  
  13797.         String pName = "org.openspcoop2.pdd.services.http.disableKeepAlive";
  13798.         if(this.isHttpDisableKeepAlive==null){
  13799.             try{
  13800.                 String name = null;
  13801.                 name = this.reader.getValueConvertEnvProperties(pName);
  13802.                 if(name!=null){
  13803.                     name = name.trim();
  13804.                     this.isHttpDisableKeepAlive = Boolean.parseBoolean(name);
  13805.                 }else{
  13806.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  13807.                     this.isHttpDisableKeepAlive = false;
  13808.                 }
  13809.             }catch(java.lang.Exception e) {
  13810.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  13811.                 this.isHttpDisableKeepAlive = false;
  13812.             }  
  13813.         }

  13814.         return this.isHttpDisableKeepAlive;
  13815.     }
  13816.    
  13817.     private Boolean serviceRequestHttpMethodPatchEnabled = null;
  13818.     public boolean isServiceRequestHttpMethodPatchEnabled() {  
  13819.         if(this.serviceRequestHttpMethodPatchEnabled==null){
  13820.             try{
  13821.                 String name = null;
  13822.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.request.method.PATCH");
  13823.                 if(name!=null){
  13824.                     name = name.trim();
  13825.                     this.serviceRequestHttpMethodPatchEnabled = Boolean.parseBoolean(name);
  13826.                 }else{
  13827.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.request.method.PATCH' non impostata, viene utilizzato il default="+true);
  13828.                     this.serviceRequestHttpMethodPatchEnabled = true;
  13829.                 }
  13830.             }catch(java.lang.Exception e) {
  13831.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.request.method.PATCH' non impostata, viene utilizzato il default="+true+", errore:"+e.getMessage(),e);
  13832.                 this.serviceRequestHttpMethodPatchEnabled = true;
  13833.             }  
  13834.         }

  13835.         return this.serviceRequestHttpMethodPatchEnabled;
  13836.     }
  13837.    
  13838.     private Boolean serviceRequestHttpMethodLinkEnabled = null;
  13839.     public boolean isServiceRequestHttpMethodLinkEnabled() {    
  13840.         if(this.serviceRequestHttpMethodLinkEnabled==null){
  13841.             try{
  13842.                 String name = null;
  13843.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.request.method.LINK");
  13844.                 if(name!=null){
  13845.                     name = name.trim();
  13846.                     this.serviceRequestHttpMethodLinkEnabled = Boolean.parseBoolean(name);
  13847.                 }else{
  13848.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.request.method.LINK' non impostata, viene utilizzato il default="+true);
  13849.                     this.serviceRequestHttpMethodLinkEnabled = true;
  13850.                 }
  13851.             }catch(java.lang.Exception e) {
  13852.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.request.method.LINK' non impostata, viene utilizzato il default="+true+", errore:"+e.getMessage(),e);
  13853.                 this.serviceRequestHttpMethodLinkEnabled = true;
  13854.             }  
  13855.         }

  13856.         return this.serviceRequestHttpMethodLinkEnabled;
  13857.     }
  13858.    
  13859.     private Boolean serviceRequestHttpMethodUnlinkEnabled = null;
  13860.     public boolean isServiceRequestHttpMethodUnlinkEnabled() {  
  13861.         if(this.serviceRequestHttpMethodUnlinkEnabled==null){
  13862.             try{
  13863.                 String name = null;
  13864.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.request.method.UNLINK");
  13865.                 if(name!=null){
  13866.                     name = name.trim();
  13867.                     this.serviceRequestHttpMethodUnlinkEnabled = Boolean.parseBoolean(name);
  13868.                 }else{
  13869.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.request.method.UNLINK' non impostata, viene utilizzato il default="+true);
  13870.                     this.serviceRequestHttpMethodUnlinkEnabled = true;
  13871.                 }
  13872.             }catch(java.lang.Exception e) {
  13873.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.request.method.UNLINK' non impostata, viene utilizzato il default="+true+", errore:"+e.getMessage(),e);
  13874.                 this.serviceRequestHttpMethodUnlinkEnabled = true;
  13875.             }  
  13876.         }

  13877.         return this.serviceRequestHttpMethodUnlinkEnabled;
  13878.     }
  13879.    
  13880.    
  13881.     private TransferLengthModes readTransferLengthModes_ricezioneContenutiApplicativi = null;
  13882.     public TransferLengthModes getTransferLengthModes_ricezioneContenutiApplicativi() {
  13883.         if(this.readTransferLengthModes_ricezioneContenutiApplicativi==null){
  13884.             try{
  13885.                 String name = null;
  13886.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.httpTransferLength");
  13887.                 if(name!=null){
  13888.                     name = name.trim();
  13889.                     this.readTransferLengthModes_ricezioneContenutiApplicativi = TransferLengthModes.getTransferLengthModes(name);
  13890.                 }else{
  13891.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.httpTransferLength' non impostata, viene utilizzato il default="+TransferLengthModes.WEBSERVER_DEFAULT);
  13892.                     this.readTransferLengthModes_ricezioneContenutiApplicativi = TransferLengthModes.WEBSERVER_DEFAULT;
  13893.                 }
  13894.             }catch(java.lang.Exception e) {
  13895.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.httpTransferLength' non impostata, viene utilizzato il default="+TransferLengthModes.WEBSERVER_DEFAULT+", errore:"+e.getMessage(),e);
  13896.                 this.readTransferLengthModes_ricezioneContenutiApplicativi = TransferLengthModes.WEBSERVER_DEFAULT;
  13897.             }  
  13898.         }

  13899.         return this.readTransferLengthModes_ricezioneContenutiApplicativi;
  13900.     }
  13901.    
  13902.     private TransferLengthModes readTransferLengthModes_ricezioneBuste = null;
  13903.     public TransferLengthModes getTransferLengthModes_ricezioneBuste() {    
  13904.         if(this.readTransferLengthModes_ricezioneBuste==null){
  13905.             try{
  13906.                 String name = null;
  13907.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneBuste.httpTransferLength");
  13908.                 if(name!=null){
  13909.                     name = name.trim();
  13910.                     this.readTransferLengthModes_ricezioneBuste = TransferLengthModes.getTransferLengthModes(name);
  13911.                 }else{
  13912.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.httpTransferLength' non impostata, viene utilizzato il default="+TransferLengthModes.WEBSERVER_DEFAULT);
  13913.                     this.readTransferLengthModes_ricezioneBuste = TransferLengthModes.WEBSERVER_DEFAULT;
  13914.                 }
  13915.             }catch(java.lang.Exception e) {
  13916.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.httpTransferLength' non impostata, viene utilizzato il default="+TransferLengthModes.WEBSERVER_DEFAULT+", errore:"+e.getMessage(),e);
  13917.                 this.readTransferLengthModes_ricezioneBuste = TransferLengthModes.WEBSERVER_DEFAULT;
  13918.             }  
  13919.         }

  13920.         return this.readTransferLengthModes_ricezioneBuste;
  13921.     }
  13922.    
  13923.     private TransferLengthModes readTransferLengthModes_inoltroBuste = null;
  13924.     public TransferLengthModes getTransferLengthModes_inoltroBuste() {  
  13925.         if(this.readTransferLengthModes_inoltroBuste==null){
  13926.             try{
  13927.                 String name = null;
  13928.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.httpTransferLength");
  13929.                 if(name!=null){
  13930.                     name = name.trim();
  13931.                     this.readTransferLengthModes_inoltroBuste = TransferLengthModes.getTransferLengthModes(name);
  13932.                 }else{
  13933.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.httpTransferLength' non impostata, viene utilizzato il default="+TransferLengthModes.CONTENT_LENGTH);
  13934.                     this.readTransferLengthModes_inoltroBuste = TransferLengthModes.CONTENT_LENGTH;
  13935.                 }
  13936.             }catch(java.lang.Exception e) {
  13937.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.httpTransferLength' non impostata, viene utilizzato il default="+TransferLengthModes.CONTENT_LENGTH+", errore:"+e.getMessage(),e);
  13938.                 this.readTransferLengthModes_inoltroBuste = TransferLengthModes.CONTENT_LENGTH;
  13939.             }  
  13940.         }

  13941.         return this.readTransferLengthModes_inoltroBuste;
  13942.     }
  13943.    
  13944.     private Integer getChunkLength_inoltroBuste = null;
  13945.     public int getChunkLength_inoltroBuste() {  
  13946.         if(this.getChunkLength_inoltroBuste==null){
  13947.             try{
  13948.                 String name = null;
  13949.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.httpTransferLength.chunkLength");
  13950.                 if(name!=null){
  13951.                     name = name.trim();
  13952.                     this.getChunkLength_inoltroBuste = Integer.parseInt(name);
  13953.                 }else{
  13954.                     int DEFAULT_CHUNKLEN = 0;
  13955.                     this.getChunkLength_inoltroBuste = DEFAULT_CHUNKLEN;
  13956.                 }
  13957.             }catch(java.lang.Exception e) {
  13958.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.httpTransferLength.chunkLength' posside un valore non corretto:"+e.getMessage(),e);
  13959.                 this.getChunkLength_inoltroBuste = -1;
  13960.             }  
  13961.         }

  13962.         return this.getChunkLength_inoltroBuste;
  13963.     }
  13964.    
  13965.     private TransferLengthModes readTransferLengthModes_consegnaContenutiApplicativi = null;
  13966.     public TransferLengthModes getTransferLengthModes_consegnaContenutiApplicativi() {  
  13967.         if(this.readTransferLengthModes_consegnaContenutiApplicativi==null){
  13968.             try{
  13969.                 String name = null;
  13970.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.httpTransferLength");
  13971.                 if(name!=null){
  13972.                     name = name.trim();
  13973.                     this.readTransferLengthModes_consegnaContenutiApplicativi = TransferLengthModes.getTransferLengthModes(name);
  13974.                 }else{
  13975.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.httpTransferLength' non impostata, viene utilizzato il default="+TransferLengthModes.CONTENT_LENGTH);
  13976.                     this.readTransferLengthModes_consegnaContenutiApplicativi = TransferLengthModes.CONTENT_LENGTH;
  13977.                 }
  13978.             }catch(java.lang.Exception e) {
  13979.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.httpTransferLength' non impostata, viene utilizzato il default="+TransferLengthModes.CONTENT_LENGTH+", errore:"+e.getMessage(),e);
  13980.                 this.readTransferLengthModes_consegnaContenutiApplicativi = TransferLengthModes.CONTENT_LENGTH;
  13981.             }  
  13982.         }

  13983.         return this.readTransferLengthModes_consegnaContenutiApplicativi;
  13984.     }
  13985.    
  13986.     private Integer getChunkLength_consegnaContenutiApplicativi = null;
  13987.     public int getChunkLength_consegnaContenutiApplicativi() {  
  13988.         if(this.getChunkLength_consegnaContenutiApplicativi==null){
  13989.             try{
  13990.                 String name = null;
  13991.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.httpTransferLength.chunkLength");
  13992.                 if(name!=null){
  13993.                     name = name.trim();
  13994.                     this.getChunkLength_consegnaContenutiApplicativi = Integer.parseInt(name);
  13995.                 }else{
  13996.                     int DEFAULT_CHUNKLEN = 0;
  13997.                     this.getChunkLength_consegnaContenutiApplicativi = DEFAULT_CHUNKLEN;
  13998.                 }
  13999.             }catch(java.lang.Exception e) {
  14000.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.httpTransferLength.chunkLength' posside un valore non corretto:"+e.getMessage(),e);
  14001.                 this.getChunkLength_consegnaContenutiApplicativi = -1;
  14002.             }  
  14003.         }

  14004.         return this.getChunkLength_consegnaContenutiApplicativi;
  14005.     }
  14006.    
  14007.     private Boolean isAcceptOnlyReturnCode_200_202_inoltroBuste = null;
  14008.     public boolean isAcceptOnlyReturnCode_200_202_inoltroBuste() {  
  14009.         if(this.isAcceptOnlyReturnCode_200_202_inoltroBuste==null){
  14010.             try{
  14011.                 String name = null;
  14012.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.returnCode.2xx.acceptOnly_202_200");
  14013.                 if(name!=null){
  14014.                     name = name.trim();
  14015.                     this.isAcceptOnlyReturnCode_200_202_inoltroBuste = Boolean.parseBoolean(name);
  14016.                 }else{
  14017.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.returnCode.2xx.acceptOnly_202_200' non impostata, viene utilizzato il default=true");
  14018.                     this.isAcceptOnlyReturnCode_200_202_inoltroBuste = true;
  14019.                 }
  14020.             }catch(java.lang.Exception e) {
  14021.                 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);
  14022.                 this.isAcceptOnlyReturnCode_200_202_inoltroBuste = true;
  14023.             }  
  14024.         }

  14025.         return this.isAcceptOnlyReturnCode_200_202_inoltroBuste;
  14026.     }
  14027.    
  14028.     private Boolean isAcceptOnlyReturnCode_200_202_consegnaContenutiApplicativi = null;
  14029.     public boolean isAcceptOnlyReturnCode_200_202_consegnaContenutiApplicativi() {  
  14030.         if(this.isAcceptOnlyReturnCode_200_202_consegnaContenutiApplicativi==null){
  14031.             try{
  14032.                 String name = null;
  14033.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.returnCode.2xx.acceptOnly_202_200");
  14034.                 if(name!=null){
  14035.                     name = name.trim();
  14036.                     this.isAcceptOnlyReturnCode_200_202_consegnaContenutiApplicativi = Boolean.parseBoolean(name);
  14037.                 }else{
  14038.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.returnCode.2xx.acceptOnly_202_200' non impostata, viene utilizzato il default=true");
  14039.                     this.isAcceptOnlyReturnCode_200_202_consegnaContenutiApplicativi = true;
  14040.                 }
  14041.             }catch(java.lang.Exception e) {
  14042.                 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);
  14043.                 this.isAcceptOnlyReturnCode_200_202_consegnaContenutiApplicativi = true;
  14044.             }  
  14045.         }

  14046.         return this.isAcceptOnlyReturnCode_200_202_consegnaContenutiApplicativi;
  14047.     }
  14048.    
  14049.     private Boolean isAcceptOnlyReturnCode_307_inoltroBuste = null;
  14050.     public boolean isAcceptOnlyReturnCode_307_inoltroBuste() {  
  14051.         if(this.isAcceptOnlyReturnCode_307_inoltroBuste==null){
  14052.             try{
  14053.                 String name = null;
  14054.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.returnCode.3xx.acceptOnly_307");
  14055.                 if(name!=null){
  14056.                     name = name.trim();
  14057.                     this.isAcceptOnlyReturnCode_307_inoltroBuste = Boolean.parseBoolean(name);
  14058.                 }else{
  14059.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.returnCode.3xx.acceptOnly_307' non impostata, viene utilizzato il default=false");
  14060.                     this.isAcceptOnlyReturnCode_307_inoltroBuste = false;
  14061.                 }
  14062.             }catch(java.lang.Exception e) {
  14063.                 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);
  14064.                 this.isAcceptOnlyReturnCode_307_inoltroBuste = false;
  14065.             }  
  14066.         }

  14067.         return this.isAcceptOnlyReturnCode_307_inoltroBuste;
  14068.     }
  14069.    
  14070.     private Boolean isAcceptOnlyReturnCode_307_consegnaContenutiApplicativi = null;
  14071.     public boolean isAcceptOnlyReturnCode_307_consegnaContenutiApplicativi() {  
  14072.         if(this.isAcceptOnlyReturnCode_307_consegnaContenutiApplicativi==null){
  14073.             try{
  14074.                 String name = null;
  14075.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.returnCode.3xx.acceptOnly_307");
  14076.                 if(name!=null){
  14077.                     name = name.trim();
  14078.                     this.isAcceptOnlyReturnCode_307_consegnaContenutiApplicativi = Boolean.parseBoolean(name);
  14079.                 }else{
  14080.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.returnCode.3xx.acceptOnly_307' non impostata, viene utilizzato il default=false");
  14081.                     this.isAcceptOnlyReturnCode_307_consegnaContenutiApplicativi = false;
  14082.                 }
  14083.             }catch(java.lang.Exception e) {
  14084.                 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);
  14085.                 this.isAcceptOnlyReturnCode_307_consegnaContenutiApplicativi = false;
  14086.             }  
  14087.         }

  14088.         return this.isAcceptOnlyReturnCode_307_consegnaContenutiApplicativi;
  14089.     }
  14090.    
  14091.     private Boolean isFollowRedirects_inoltroBuste_soap = null;
  14092.     public boolean isFollowRedirects_inoltroBuste_soap() {  
  14093.         if(this.isFollowRedirects_inoltroBuste_soap==null){
  14094.             try{
  14095.                 String name = null;
  14096.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.followRedirects.soap");
  14097.                 if(name!=null){
  14098.                     name = name.trim();
  14099.                     this.isFollowRedirects_inoltroBuste_soap = Boolean.parseBoolean(name);
  14100.                 }else{
  14101.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.followRedirects.soap' non impostata, viene utilizzato il default=false");
  14102.                     this.isFollowRedirects_inoltroBuste_soap = false;
  14103.                 }
  14104.             }catch(java.lang.Exception e) {
  14105.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.followRedirects.soap' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  14106.                 this.isFollowRedirects_inoltroBuste_soap = false;
  14107.             }  
  14108.         }

  14109.         return this.isFollowRedirects_inoltroBuste_soap;
  14110.     }
  14111.    
  14112.     private Boolean isFollowRedirects_inoltroBuste_rest = null;
  14113.     public boolean isFollowRedirects_inoltroBuste_rest() {  
  14114.         if(this.isFollowRedirects_inoltroBuste_rest==null){
  14115.             try{
  14116.                 String name = null;
  14117.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.followRedirects.rest");
  14118.                 if(name!=null){
  14119.                     name = name.trim();
  14120.                     this.isFollowRedirects_inoltroBuste_rest = Boolean.parseBoolean(name);
  14121.                 }else{
  14122.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.followRedirects.rest' non impostata, viene utilizzato il default=false");
  14123.                     this.isFollowRedirects_inoltroBuste_rest = false;
  14124.                 }
  14125.             }catch(java.lang.Exception e) {
  14126.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.followRedirects.rest' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  14127.                 this.isFollowRedirects_inoltroBuste_rest = false;
  14128.             }  
  14129.         }

  14130.         return this.isFollowRedirects_inoltroBuste_rest;
  14131.     }
  14132.    

  14133.    
  14134.     private Boolean isFollowRedirects_consegnaContenutiApplicativi_soap = null;
  14135.     public boolean isFollowRedirects_consegnaContenutiApplicativi_soap() {  
  14136.         if(this.isFollowRedirects_consegnaContenutiApplicativi_soap==null){
  14137.             try{
  14138.                 String name = null;
  14139.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.followRedirects.soap");
  14140.                 if(name!=null){
  14141.                     name = name.trim();
  14142.                     this.isFollowRedirects_consegnaContenutiApplicativi_soap = Boolean.parseBoolean(name);
  14143.                 }else{
  14144.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.followRedirects.soap' non impostata, viene utilizzato il default=false");
  14145.                     this.isFollowRedirects_consegnaContenutiApplicativi_soap = false;
  14146.                 }
  14147.             }catch(java.lang.Exception e) {
  14148.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.followRedirects.soap' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  14149.                 this.isFollowRedirects_consegnaContenutiApplicativi_soap = false;
  14150.             }  
  14151.         }

  14152.         return this.isFollowRedirects_consegnaContenutiApplicativi_soap;
  14153.     }
  14154.    
  14155.     private Boolean isFollowRedirects_consegnaContenutiApplicativi_rest = null;
  14156.     public boolean isFollowRedirects_consegnaContenutiApplicativi_rest() {  
  14157.         if(this.isFollowRedirects_consegnaContenutiApplicativi_rest==null){
  14158.             try{
  14159.                 String name = null;
  14160.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.followRedirects.rest");
  14161.                 if(name!=null){
  14162.                     name = name.trim();
  14163.                     this.isFollowRedirects_consegnaContenutiApplicativi_rest = Boolean.parseBoolean(name);
  14164.                 }else{
  14165.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.followRedirects.rest' non impostata, viene utilizzato il default=false");
  14166.                     this.isFollowRedirects_consegnaContenutiApplicativi_rest = false;
  14167.                 }
  14168.             }catch(java.lang.Exception e) {
  14169.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.followRedirects.rest' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  14170.                 this.isFollowRedirects_consegnaContenutiApplicativi_rest = false;
  14171.             }  
  14172.         }

  14173.         return this.isFollowRedirects_consegnaContenutiApplicativi_rest;
  14174.     }
  14175.        
  14176.     private Integer getFollowRedirectsMaxHop_inoltroBuste = null;
  14177.     public int getFollowRedirectsMaxHop_inoltroBuste() {    
  14178.         if(this.getFollowRedirectsMaxHop_inoltroBuste==null){
  14179.             try{
  14180.                 String name = null;
  14181.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.followRedirects.maxHop");
  14182.                 if(name!=null){
  14183.                     name = name.trim();
  14184.                     this.getFollowRedirectsMaxHop_inoltroBuste = Integer.parseInt(name);
  14185.                 }else{
  14186.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.followRedirects.maxHop' non impostata, viene utilizzato il default=5");
  14187.                     this.getFollowRedirectsMaxHop_inoltroBuste = 5;
  14188.                 }
  14189.             }catch(java.lang.Exception e) {
  14190.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.followRedirects.maxHop' non impostata, viene utilizzato il default=5, errore:"+e.getMessage(),e);
  14191.                 this.getFollowRedirectsMaxHop_inoltroBuste = 5;
  14192.             }  
  14193.         }

  14194.         return this.getFollowRedirectsMaxHop_inoltroBuste;
  14195.     }
  14196.    
  14197.     private Integer getFollowRedirectsMaxHop_consegnaContenutiApplicativi = null;
  14198.     public int getFollowRedirectsMaxHop_consegnaContenutiApplicativi() {    
  14199.         if(this.getFollowRedirectsMaxHop_consegnaContenutiApplicativi==null){
  14200.             try{
  14201.                 String name = null;
  14202.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.followRedirects.maxHop");
  14203.                 if(name!=null){
  14204.                     name = name.trim();
  14205.                     this.getFollowRedirectsMaxHop_consegnaContenutiApplicativi = Integer.parseInt(name);
  14206.                 }else{
  14207.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.followRedirects.maxHop' non impostata, viene utilizzato il default=5");
  14208.                     this.getFollowRedirectsMaxHop_consegnaContenutiApplicativi = 5;
  14209.                 }
  14210.             }catch(java.lang.Exception e) {
  14211.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.followRedirects.maxHop' non impostata, viene utilizzato il default=5, errore:"+e.getMessage(),e);
  14212.                 this.getFollowRedirectsMaxHop_consegnaContenutiApplicativi = 5;
  14213.             }  
  14214.         }

  14215.         return this.getFollowRedirectsMaxHop_consegnaContenutiApplicativi;
  14216.     }

  14217.    
  14218.     private Boolean checkSoapActionQuotedString_ricezioneContenutiApplicativi = null;
  14219.     public boolean checkSoapActionQuotedString_ricezioneContenutiApplicativi() {    
  14220.         if(this.checkSoapActionQuotedString_ricezioneContenutiApplicativi==null){
  14221.             try{
  14222.                 String name = null;
  14223.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.soapAction.checkQuotedString");
  14224.                 if(name!=null){
  14225.                     name = name.trim();
  14226.                     this.checkSoapActionQuotedString_ricezioneContenutiApplicativi = Boolean.parseBoolean(name);
  14227.                 }else{
  14228.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.soapAction.checkQuotedString' non impostata, viene utilizzato il default=false");
  14229.                     this.checkSoapActionQuotedString_ricezioneContenutiApplicativi = false;
  14230.                 }
  14231.             }catch(java.lang.Exception e) {
  14232.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.soapAction.checkQuotedString' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  14233.                 this.checkSoapActionQuotedString_ricezioneContenutiApplicativi = false;
  14234.             }  
  14235.         }

  14236.         return this.checkSoapActionQuotedString_ricezioneContenutiApplicativi;
  14237.     }
  14238.    
  14239.     private Boolean checkSoapActionQuotedString_ricezioneBuste = null;
  14240.     public boolean checkSoapActionQuotedString_ricezioneBuste() {  
  14241.         if(this.checkSoapActionQuotedString_ricezioneBuste==null){
  14242.             try{
  14243.                 String name = null;
  14244.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneBuste.soapAction.checkQuotedString");
  14245.                 if(name!=null){
  14246.                     name = name.trim();
  14247.                     this.checkSoapActionQuotedString_ricezioneBuste = Boolean.parseBoolean(name);
  14248.                 }else{
  14249.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.soapAction.checkQuotedString' non impostata, viene utilizzato il default=false");
  14250.                     this.checkSoapActionQuotedString_ricezioneBuste = false;
  14251.                 }
  14252.             }catch(java.lang.Exception e) {
  14253.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.soapAction.checkQuotedString' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  14254.                 this.checkSoapActionQuotedString_ricezioneBuste = false;
  14255.             }  
  14256.         }

  14257.         return this.checkSoapActionQuotedString_ricezioneBuste;
  14258.     }
  14259.    
  14260.     private String httpUserAgent = null;
  14261.     public String getHttpUserAgent() {  
  14262.         if(this.httpUserAgent==null){
  14263.             try{
  14264.                 String name = null;
  14265.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.http.userAgent");
  14266.                 if(name!=null){
  14267.                     name = name.trim();
  14268.                     this.httpUserAgent = name;
  14269.                 }else{
  14270.                     /**NON EMETTO WARNING: this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.http.userAgent' non impostata, viene utilizzato il default="+Costanti.OPENSPCOOP_PRODUCT_VERSION);*/
  14271.                     this.httpUserAgent = this.getProductName();
  14272.                 }
  14273.             }catch(java.lang.Exception e) {
  14274.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.http.userAgent' non impostata, viene utilizzato il default="+this.getProductName()+", errore:"+e.getMessage(),e);
  14275.                 this.httpUserAgent = this.getProductName();
  14276.             }  
  14277.         }

  14278.         return this.httpUserAgent;
  14279.     }
  14280.    
  14281.     private String httpServer = null;
  14282.     public String getHttpServer() {
  14283.         if(this.httpServer==null){
  14284.             try{
  14285.                 String name = null;
  14286.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.http.xPdd");
  14287.                 if(name!=null){
  14288.                     name = name.trim();
  14289.                     this.httpServer = name;
  14290.                 }else{
  14291.                     /**NON EMETTO WARNING: this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.http.xPdd' non impostata, viene utilizzato il default="+this.getHttpUserAgent());*/
  14292.                     this.httpServer = this.getVersione();
  14293.                 }
  14294.             }catch(java.lang.Exception e) {
  14295.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.http.xPdd' non impostata, viene utilizzato il default="+this.getVersione()+", errore:"+e.getMessage(),e);
  14296.                 this.httpServer = this.getVersione();
  14297.             }  
  14298.         }

  14299.         return this.httpServer;
  14300.     }
  14301.    
  14302.     private Boolean readHttpXPdDDetails = null;
  14303.     private String httpXPdDDetails = null;
  14304.     public String getHttpXPdDDetails() {    
  14305.         if(this.readHttpXPdDDetails==null){
  14306.             try{
  14307.                 String name = null;
  14308.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.http.xDetails");
  14309.                 if(name!=null){
  14310.                     name = name.trim();
  14311.                     this.httpXPdDDetails = name;
  14312.                 }else{
  14313.                     this.httpXPdDDetails = this.getDetails();
  14314.                 }
  14315.             }catch(java.lang.Exception e) {
  14316.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.http.xDetails' non impostata correttamente:"+e.getMessage(),e);
  14317.                 this.httpXPdDDetails = this.getDetails();
  14318.             }  
  14319.         }
  14320.         this.readHttpXPdDDetails = true;

  14321.         return this.httpXPdDDetails;
  14322.     }
  14323.    
  14324.    
  14325.     private Boolean isEnabledEncodingRFC2047HeaderValueRicezioneContenutiApplicativi = null;
  14326.     public boolean isEnabledEncodingRFC2047HeaderValueRicezioneContenutiApplicativi() {
  14327.         if(this.isEnabledEncodingRFC2047HeaderValueRicezioneContenutiApplicativi==null){
  14328.             try{
  14329.                 String name = null;
  14330.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.headerValue.encodingRFC2047.enabled");
  14331.                 if(name!=null){
  14332.                     name = name.trim();
  14333.                     this.isEnabledEncodingRFC2047HeaderValueRicezioneContenutiApplicativi = Boolean.parseBoolean(name);
  14334.                 }else{
  14335.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.headerValue.encodingRFC2047.enabled' non impostata, viene utilizzato il default=true");
  14336.                     this.isEnabledEncodingRFC2047HeaderValueRicezioneContenutiApplicativi = true;
  14337.                 }
  14338.             }catch(java.lang.Exception e) {
  14339.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.headerValue.encodingRFC2047.enabled' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  14340.                 this.isEnabledEncodingRFC2047HeaderValueRicezioneContenutiApplicativi = true;
  14341.             }  
  14342.         }

  14343.         return this.isEnabledEncodingRFC2047HeaderValueRicezioneContenutiApplicativi;
  14344.     }
  14345.    
  14346.     private Charset getCharsetEncodingRFC2047HeaderValueRicezioneContenutiApplicativi = null;
  14347.     public Charset getCharsetEncodingRFC2047HeaderValueRicezioneContenutiApplicativi() {    
  14348.         if(this.getCharsetEncodingRFC2047HeaderValueRicezioneContenutiApplicativi==null){
  14349.             try{
  14350.                 String name = null;
  14351.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.headerValue.encodingRFC2047.charset");
  14352.                 if(name!=null){
  14353.                     name = name.trim();
  14354.                     this.getCharsetEncodingRFC2047HeaderValueRicezioneContenutiApplicativi = Charset.toEnumConstant(name);
  14355.                     if(this.getCharsetEncodingRFC2047HeaderValueRicezioneContenutiApplicativi==null){
  14356.                         throw new CoreException(VALORE_NON_VALIDO+name);
  14357.                     }
  14358.                 }else{
  14359.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.headerValue.encodingRFC2047.charset' non impostata, viene utilizzato il default="+Charset.US_ASCII.name());
  14360.                     this.getCharsetEncodingRFC2047HeaderValueRicezioneContenutiApplicativi = Charset.US_ASCII;
  14361.                 }
  14362.             }catch(java.lang.Exception e) {
  14363.                 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);
  14364.                 this.getCharsetEncodingRFC2047HeaderValueRicezioneContenutiApplicativi = Charset.US_ASCII;
  14365.             }  
  14366.         }

  14367.         return this.getCharsetEncodingRFC2047HeaderValueRicezioneContenutiApplicativi;
  14368.     }
  14369.    
  14370.     private RFC2047Encoding getEncodingRFC2047HeaderValueRicezioneContenutiApplicativi = null;
  14371.     public RFC2047Encoding getEncodingRFC2047HeaderValueRicezioneContenutiApplicativi() {  
  14372.         if(this.getEncodingRFC2047HeaderValueRicezioneContenutiApplicativi==null){
  14373.             try{
  14374.                 String name = null;
  14375.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.headerValue.encodingRFC2047.encoding");
  14376.                 if(name!=null){
  14377.                     name = name.trim();
  14378.                     this.getEncodingRFC2047HeaderValueRicezioneContenutiApplicativi = RFC2047Encoding.valueOf(name);
  14379.                     if(this.getEncodingRFC2047HeaderValueRicezioneContenutiApplicativi==null){
  14380.                         throw new CoreException(VALORE_NON_VALIDO+name);
  14381.                     }
  14382.                 }else{
  14383.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.headerValue.encodingRFC2047.encoding' non impostata, viene utilizzato il default="+RFC2047Encoding.Q.name());
  14384.                     this.getEncodingRFC2047HeaderValueRicezioneContenutiApplicativi = RFC2047Encoding.Q;
  14385.                 }
  14386.             }catch(java.lang.Exception e) {
  14387.                 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);
  14388.                 this.getEncodingRFC2047HeaderValueRicezioneContenutiApplicativi = RFC2047Encoding.Q;
  14389.             }  
  14390.         }

  14391.         return this.getEncodingRFC2047HeaderValueRicezioneContenutiApplicativi;
  14392.     }
  14393.    
  14394.     private Boolean isEnabledEncodingRFC2047HeaderValueRicezioneBuste = null;
  14395.     public boolean isEnabledEncodingRFC2047HeaderValueRicezioneBuste() {    
  14396.         if(this.isEnabledEncodingRFC2047HeaderValueRicezioneBuste==null){
  14397.             try{
  14398.                 String name = null;
  14399.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneBuste.headerValue.encodingRFC2047.enabled");
  14400.                 if(name!=null){
  14401.                     name = name.trim();
  14402.                     this.isEnabledEncodingRFC2047HeaderValueRicezioneBuste = Boolean.parseBoolean(name);
  14403.                 }else{
  14404.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.headerValue.encodingRFC2047.enabled' non impostata, viene utilizzato il default=true");
  14405.                     this.isEnabledEncodingRFC2047HeaderValueRicezioneBuste = true;
  14406.                 }
  14407.             }catch(java.lang.Exception e) {
  14408.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.headerValue.encodingRFC2047.enabled' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  14409.                 this.isEnabledEncodingRFC2047HeaderValueRicezioneBuste = true;
  14410.             }  
  14411.         }

  14412.         return this.isEnabledEncodingRFC2047HeaderValueRicezioneBuste;
  14413.     }
  14414.    
  14415.     private Charset getCharsetEncodingRFC2047HeaderValueRicezioneBuste = null;
  14416.     public Charset getCharsetEncodingRFC2047HeaderValueRicezioneBuste() {  
  14417.         if(this.getCharsetEncodingRFC2047HeaderValueRicezioneBuste==null){
  14418.             try{
  14419.                 String name = null;
  14420.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneBuste.headerValue.encodingRFC2047.charset");
  14421.                 if(name!=null){
  14422.                     name = name.trim();
  14423.                     this.getCharsetEncodingRFC2047HeaderValueRicezioneBuste = Charset.toEnumConstant(name);
  14424.                     if(this.getCharsetEncodingRFC2047HeaderValueRicezioneBuste==null){
  14425.                         throw new CoreException(VALORE_NON_VALIDO+name);
  14426.                     }
  14427.                 }else{
  14428.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.headerValue.encodingRFC2047.charset' non impostata, viene utilizzato il default="+Charset.US_ASCII.name());
  14429.                     this.getCharsetEncodingRFC2047HeaderValueRicezioneBuste = Charset.US_ASCII;
  14430.                 }
  14431.             }catch(java.lang.Exception e) {
  14432.                 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);
  14433.                 this.getCharsetEncodingRFC2047HeaderValueRicezioneBuste = Charset.US_ASCII;
  14434.             }  
  14435.         }

  14436.         return this.getCharsetEncodingRFC2047HeaderValueRicezioneBuste;
  14437.     }
  14438.    
  14439.     private RFC2047Encoding getEncodingRFC2047HeaderValueRicezioneBuste = null;
  14440.     public RFC2047Encoding getEncodingRFC2047HeaderValueRicezioneBuste() {  
  14441.         if(this.getEncodingRFC2047HeaderValueRicezioneBuste==null){
  14442.             try{
  14443.                 String name = null;
  14444.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneBuste.headerValue.encodingRFC2047.encoding");
  14445.                 if(name!=null){
  14446.                     name = name.trim();
  14447.                     this.getEncodingRFC2047HeaderValueRicezioneBuste = RFC2047Encoding.valueOf(name);
  14448.                     if(this.getEncodingRFC2047HeaderValueRicezioneBuste==null){
  14449.                         throw new CoreException(VALORE_NON_VALIDO+name);
  14450.                     }
  14451.                 }else{
  14452.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.headerValue.encodingRFC2047.encoding' non impostata, viene utilizzato il default="+RFC2047Encoding.Q.name());
  14453.                     this.getEncodingRFC2047HeaderValueRicezioneBuste = RFC2047Encoding.Q;
  14454.                 }
  14455.             }catch(java.lang.Exception e) {
  14456.                 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);
  14457.                 this.getEncodingRFC2047HeaderValueRicezioneBuste = RFC2047Encoding.Q;
  14458.             }  
  14459.         }

  14460.         return this.getEncodingRFC2047HeaderValueRicezioneBuste;
  14461.     }
  14462.    
  14463.     private Boolean isEnabledEncodingRFC2047HeaderValueInoltroBuste = null;
  14464.     public boolean isEnabledEncodingRFC2047HeaderValueInoltroBuste() {  
  14465.         if(this.isEnabledEncodingRFC2047HeaderValueInoltroBuste==null){
  14466.             try{
  14467.                 String name = null;
  14468.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.headerValue.encodingRFC2047.enabled");
  14469.                 if(name!=null){
  14470.                     name = name.trim();
  14471.                     this.isEnabledEncodingRFC2047HeaderValueInoltroBuste = Boolean.parseBoolean(name);
  14472.                 }else{
  14473.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.headerValue.encodingRFC2047.enabled' non impostata, viene utilizzato il default=true");
  14474.                     this.isEnabledEncodingRFC2047HeaderValueInoltroBuste = true;
  14475.                 }
  14476.             }catch(java.lang.Exception e) {
  14477.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.headerValue.encodingRFC2047.enabled' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  14478.                 this.isEnabledEncodingRFC2047HeaderValueInoltroBuste = true;
  14479.             }  
  14480.         }

  14481.         return this.isEnabledEncodingRFC2047HeaderValueInoltroBuste;
  14482.     }
  14483.    
  14484.     private Charset getCharsetEncodingRFC2047HeaderValueInoltroBuste = null;
  14485.     public Charset getCharsetEncodingRFC2047HeaderValueInoltroBuste() {
  14486.         if(this.getCharsetEncodingRFC2047HeaderValueInoltroBuste==null){
  14487.             try{
  14488.                 String name = null;
  14489.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.headerValue.encodingRFC2047.charset");
  14490.                 if(name!=null){
  14491.                     name = name.trim();
  14492.                     this.getCharsetEncodingRFC2047HeaderValueInoltroBuste = Charset.toEnumConstant(name);
  14493.                     if(this.getCharsetEncodingRFC2047HeaderValueInoltroBuste==null){
  14494.                         throw new CoreException(VALORE_NON_VALIDO+name);
  14495.                     }
  14496.                 }else{
  14497.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.headerValue.encodingRFC2047.charset' non impostata, viene utilizzato il default="+Charset.US_ASCII.name());
  14498.                     this.getCharsetEncodingRFC2047HeaderValueInoltroBuste = Charset.US_ASCII;
  14499.                 }
  14500.             }catch(java.lang.Exception e) {
  14501.                 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);
  14502.                 this.getCharsetEncodingRFC2047HeaderValueInoltroBuste = Charset.US_ASCII;
  14503.             }  
  14504.         }

  14505.         return this.getCharsetEncodingRFC2047HeaderValueInoltroBuste;
  14506.     }
  14507.    
  14508.     private RFC2047Encoding getEncodingRFC2047HeaderValueInoltroBuste = null;
  14509.     public RFC2047Encoding getEncodingRFC2047HeaderValueInoltroBuste() {    
  14510.         if(this.getEncodingRFC2047HeaderValueInoltroBuste==null){
  14511.             try{
  14512.                 String name = null;
  14513.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.headerValue.encodingRFC2047.encoding");
  14514.                 if(name!=null){
  14515.                     name = name.trim();
  14516.                     this.getEncodingRFC2047HeaderValueInoltroBuste = RFC2047Encoding.valueOf(name);
  14517.                     if(this.getEncodingRFC2047HeaderValueInoltroBuste==null){
  14518.                         throw new CoreException(VALORE_NON_VALIDO+name);
  14519.                     }
  14520.                 }else{
  14521.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.headerValue.encodingRFC2047.encoding' non impostata, viene utilizzato il default="+RFC2047Encoding.Q.name());
  14522.                     this.getEncodingRFC2047HeaderValueInoltroBuste = RFC2047Encoding.Q;
  14523.                 }
  14524.             }catch(java.lang.Exception e) {
  14525.                 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);
  14526.                 this.getEncodingRFC2047HeaderValueInoltroBuste = RFC2047Encoding.Q;
  14527.             }  
  14528.         }

  14529.         return this.getEncodingRFC2047HeaderValueInoltroBuste;
  14530.     }
  14531.    
  14532.     private Boolean isEnabledEncodingRFC2047HeaderValueConsegnaContenutiApplicativi = null;
  14533.     public boolean isEnabledEncodingRFC2047HeaderValueConsegnaContenutiApplicativi() {  
  14534.         if(this.isEnabledEncodingRFC2047HeaderValueConsegnaContenutiApplicativi==null){
  14535.             try{
  14536.                 String name = null;
  14537.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.headerValue.encodingRFC2047.enabled");
  14538.                 if(name!=null){
  14539.                     name = name.trim();
  14540.                     this.isEnabledEncodingRFC2047HeaderValueConsegnaContenutiApplicativi = Boolean.parseBoolean(name);
  14541.                 }else{
  14542.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.headerValue.encodingRFC2047.enabled' non impostata, viene utilizzato il default=true");
  14543.                     this.isEnabledEncodingRFC2047HeaderValueConsegnaContenutiApplicativi = true;
  14544.                 }
  14545.             }catch(java.lang.Exception e) {
  14546.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.headerValue.encodingRFC2047.enabled' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  14547.                 this.isEnabledEncodingRFC2047HeaderValueConsegnaContenutiApplicativi = true;
  14548.             }  
  14549.         }

  14550.         return this.isEnabledEncodingRFC2047HeaderValueConsegnaContenutiApplicativi;
  14551.     }
  14552.    
  14553.     private Charset getCharsetEncodingRFC2047HeaderValueConsegnaContenutiApplicativi = null;
  14554.     public Charset getCharsetEncodingRFC2047HeaderValueConsegnaContenutiApplicativi() {
  14555.         if(this.getCharsetEncodingRFC2047HeaderValueConsegnaContenutiApplicativi==null){
  14556.             try{
  14557.                 String name = null;
  14558.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.headerValue.encodingRFC2047.charset");
  14559.                 if(name!=null){
  14560.                     name = name.trim();
  14561.                     this.getCharsetEncodingRFC2047HeaderValueConsegnaContenutiApplicativi = Charset.toEnumConstant(name);
  14562.                     if(this.getCharsetEncodingRFC2047HeaderValueConsegnaContenutiApplicativi==null){
  14563.                         throw new CoreException(VALORE_NON_VALIDO+name);
  14564.                     }
  14565.                 }else{
  14566.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.headerValue.encodingRFC2047.charset' non impostata, viene utilizzato il default="+Charset.US_ASCII.name());
  14567.                     this.getCharsetEncodingRFC2047HeaderValueConsegnaContenutiApplicativi = Charset.US_ASCII;
  14568.                 }
  14569.             }catch(java.lang.Exception e) {
  14570.                 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);
  14571.                 this.getCharsetEncodingRFC2047HeaderValueConsegnaContenutiApplicativi = Charset.US_ASCII;
  14572.             }  
  14573.         }

  14574.         return this.getCharsetEncodingRFC2047HeaderValueConsegnaContenutiApplicativi;
  14575.     }
  14576.    
  14577.     private RFC2047Encoding getEncodingRFC2047HeaderValueConsegnaContenutiApplicativi = null;
  14578.     public RFC2047Encoding getEncodingRFC2047HeaderValueConsegnaContenutiApplicativi() {    
  14579.         if(this.getEncodingRFC2047HeaderValueConsegnaContenutiApplicativi==null){
  14580.             try{
  14581.                 String name = null;
  14582.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.headerValue.encodingRFC2047.encoding");
  14583.                 if(name!=null){
  14584.                     name = name.trim();
  14585.                     this.getEncodingRFC2047HeaderValueConsegnaContenutiApplicativi = RFC2047Encoding.valueOf(name);
  14586.                     if(this.getEncodingRFC2047HeaderValueConsegnaContenutiApplicativi==null){
  14587.                         throw new CoreException(VALORE_NON_VALIDO+name);
  14588.                     }
  14589.                 }else{
  14590.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.headerValue.encodingRFC2047.encoding' non impostata, viene utilizzato il default="+RFC2047Encoding.Q.name());
  14591.                     this.getEncodingRFC2047HeaderValueConsegnaContenutiApplicativi = RFC2047Encoding.Q;
  14592.                 }
  14593.             }catch(java.lang.Exception e) {
  14594.                 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);
  14595.                 this.getEncodingRFC2047HeaderValueConsegnaContenutiApplicativi = RFC2047Encoding.Q;
  14596.             }  
  14597.         }

  14598.         return this.getEncodingRFC2047HeaderValueConsegnaContenutiApplicativi;
  14599.     }
  14600.    

  14601.     private Boolean isEnabledValidazioneRFC2047HeaderNameValueRicezioneContenutiApplicativi = null;
  14602.     public boolean isEnabledValidazioneRFC2047HeaderNameValueRicezioneContenutiApplicativi() {  
  14603.         if(this.isEnabledValidazioneRFC2047HeaderNameValueRicezioneContenutiApplicativi==null){
  14604.             try{
  14605.                 String name = null;
  14606.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.headerNameValue.validazione.enabled");
  14607.                 if(name!=null){
  14608.                     name = name.trim();
  14609.                     this.isEnabledValidazioneRFC2047HeaderNameValueRicezioneContenutiApplicativi = Boolean.parseBoolean(name);
  14610.                 }else{
  14611.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.headerNameValue.validazione.enabled' non impostata, viene utilizzato il default=true");
  14612.                     this.isEnabledValidazioneRFC2047HeaderNameValueRicezioneContenutiApplicativi = true;
  14613.                 }
  14614.             }catch(java.lang.Exception e) {
  14615.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.headerNameValue.validazione.enabled' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  14616.                 this.isEnabledValidazioneRFC2047HeaderNameValueRicezioneContenutiApplicativi = true;
  14617.             }  
  14618.         }

  14619.         return this.isEnabledValidazioneRFC2047HeaderNameValueRicezioneContenutiApplicativi;
  14620.     }
  14621.    
  14622.     private Boolean isEnabledValidazioneRFC2047HeaderNameValueRicezioneBuste = null;
  14623.     public boolean isEnabledValidazioneRFC2047HeaderNameValueRicezioneBuste() {
  14624.         if(this.isEnabledValidazioneRFC2047HeaderNameValueRicezioneBuste==null){
  14625.             try{
  14626.                 String name = null;
  14627.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneBuste.headerNameValue.validazione.enabled");
  14628.                 if(name!=null){
  14629.                     name = name.trim();
  14630.                     this.isEnabledValidazioneRFC2047HeaderNameValueRicezioneBuste = Boolean.parseBoolean(name);
  14631.                 }else{
  14632.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.headerNameValue.validazione.enabled' non impostata, viene utilizzato il default=true");
  14633.                     this.isEnabledValidazioneRFC2047HeaderNameValueRicezioneBuste = true;
  14634.                 }
  14635.             }catch(java.lang.Exception e) {
  14636.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.headerNameValue.validazione.enabled' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  14637.                 this.isEnabledValidazioneRFC2047HeaderNameValueRicezioneBuste = true;
  14638.             }  
  14639.         }

  14640.         return this.isEnabledValidazioneRFC2047HeaderNameValueRicezioneBuste;
  14641.     }
  14642.    
  14643.     private Boolean isEnabledValidazioneRFC2047HeaderNameValueInoltroBuste = null;
  14644.     public boolean isEnabledValidazioneRFC2047HeaderNameValueInoltroBuste() {  
  14645.         if(this.isEnabledValidazioneRFC2047HeaderNameValueInoltroBuste==null){
  14646.             try{
  14647.                 String name = null;
  14648.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.inoltroBuste.headerNameValue.validazione.enabled");
  14649.                 if(name!=null){
  14650.                     name = name.trim();
  14651.                     this.isEnabledValidazioneRFC2047HeaderNameValueInoltroBuste = Boolean.parseBoolean(name);
  14652.                 }else{
  14653.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.headerNameValue.validazione.enabled' non impostata, viene utilizzato il default=true");
  14654.                     this.isEnabledValidazioneRFC2047HeaderNameValueInoltroBuste = true;
  14655.                 }
  14656.             }catch(java.lang.Exception e) {
  14657.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.inoltroBuste.headerNameValue.validazione.enabled' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  14658.                 this.isEnabledValidazioneRFC2047HeaderNameValueInoltroBuste = true;
  14659.             }  
  14660.         }

  14661.         return this.isEnabledValidazioneRFC2047HeaderNameValueInoltroBuste;
  14662.     }
  14663.    
  14664.     private Boolean isEnabledValidazioneRFC2047HeaderNameValueConsegnaContenutiApplicativi = null;
  14665.     public boolean isEnabledValidazioneRFC2047HeaderNameValueConsegnaContenutiApplicativi() {  
  14666.         if(this.isEnabledValidazioneRFC2047HeaderNameValueConsegnaContenutiApplicativi==null){
  14667.             try{
  14668.                 String name = null;
  14669.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.headerNameValue.validazione.enabled");
  14670.                 if(name!=null){
  14671.                     name = name.trim();
  14672.                     this.isEnabledValidazioneRFC2047HeaderNameValueConsegnaContenutiApplicativi = Boolean.parseBoolean(name);
  14673.                 }else{
  14674.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.headerNameValue.validazione.enabled' non impostata, viene utilizzato il default=true");
  14675.                     this.isEnabledValidazioneRFC2047HeaderNameValueConsegnaContenutiApplicativi = true;
  14676.                 }
  14677.             }catch(java.lang.Exception e) {
  14678.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.headerNameValue.validazione.enabled' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  14679.                 this.isEnabledValidazioneRFC2047HeaderNameValueConsegnaContenutiApplicativi = true;
  14680.             }  
  14681.         }

  14682.         return this.isEnabledValidazioneRFC2047HeaderNameValueConsegnaContenutiApplicativi;
  14683.     }
  14684.    
  14685.     private Integer getGestioneCORS_returnCode_ricezioneContenutiApplicativi = null;
  14686.     public int getGestioneCORS_returnCode_ricezioneContenutiApplicativi() {
  14687.         if(this.getGestioneCORS_returnCode_ricezioneContenutiApplicativi==null){
  14688.             try{
  14689.                 String name = null;
  14690.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.cors.returnCode");
  14691.                 if(name!=null){
  14692.                     name = name.trim();
  14693.                     this.getGestioneCORS_returnCode_ricezioneContenutiApplicativi = java.lang.Integer.parseInt(name);
  14694.                 }else{
  14695.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.cors.returnCode' non impostata, viene utilizzato il default="+CostantiPdD.GESTIONE_CORS_RETURN_CODE);
  14696.                     this.getGestioneCORS_returnCode_ricezioneContenutiApplicativi = CostantiPdD.GESTIONE_CORS_RETURN_CODE;
  14697.                 }
  14698.             }catch(java.lang.Exception e) {
  14699.                 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);
  14700.                 this.getGestioneCORS_returnCode_ricezioneContenutiApplicativi = CostantiPdD.GESTIONE_CORS_RETURN_CODE;
  14701.             }    
  14702.         }

  14703.         return this.getGestioneCORS_returnCode_ricezioneContenutiApplicativi;
  14704.     }
  14705.    
  14706.     private Boolean isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneContenutiApplicativi = null;
  14707.     public boolean isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneContenutiApplicativi() {
  14708.         if(this.isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneContenutiApplicativi==null){
  14709.             String pName = "org.openspcoop2.pdd.services.ricezioneContenutiApplicativi.cors.resourceHttpMethodQualsiasi";
  14710.             try{
  14711.                 String name = null;
  14712.                 name = this.reader.getValueConvertEnvProperties(pName);
  14713.                 if(name!=null){
  14714.                     name = name.trim();
  14715.                     this.isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneContenutiApplicativi = java.lang.Boolean.valueOf(name);
  14716.                 }else{
  14717.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  14718.                     this.isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneContenutiApplicativi = false;
  14719.                 }
  14720.             }catch(java.lang.Exception e) {
  14721.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  14722.                 this.isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneContenutiApplicativi = false;
  14723.             }    
  14724.         }

  14725.         return this.isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneContenutiApplicativi;
  14726.     }
  14727.    
  14728.     private Integer getGestioneCORS_returnCode_ricezioneBuste = null;
  14729.     public int getGestioneCORS_returnCode_ricezioneBuste() {    
  14730.         if(this.getGestioneCORS_returnCode_ricezioneBuste==null){
  14731.             try{
  14732.                 String name = null;
  14733.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.ricezioneBuste.cors.returnCode");
  14734.                 if(name!=null){
  14735.                     name = name.trim();
  14736.                     this.getGestioneCORS_returnCode_ricezioneBuste = java.lang.Integer.parseInt(name);
  14737.                 }else{
  14738.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.ricezioneBuste.cors.returnCode' non impostata, viene utilizzato il default="+CostantiPdD.GESTIONE_CORS_RETURN_CODE);
  14739.                     this.getGestioneCORS_returnCode_ricezioneBuste = CostantiPdD.GESTIONE_CORS_RETURN_CODE;
  14740.                 }
  14741.             }catch(java.lang.Exception e) {
  14742.                 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);
  14743.                 this.getGestioneCORS_returnCode_ricezioneBuste = CostantiPdD.GESTIONE_CORS_RETURN_CODE;
  14744.             }    
  14745.         }

  14746.         return this.getGestioneCORS_returnCode_ricezioneBuste;
  14747.     }
  14748.    
  14749.     private Boolean isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneBuste = null;
  14750.     public boolean isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneBuste() {    
  14751.         if(this.isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneBuste==null){
  14752.             String pName = "org.openspcoop2.pdd.services.ricezioneBuste.cors.resourceHttpMethodQualsiasi";
  14753.             try{
  14754.                 String name = null;
  14755.                 name = this.reader.getValueConvertEnvProperties(pName);
  14756.                 if(name!=null){
  14757.                     name = name.trim();
  14758.                     this.isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneBuste = java.lang.Boolean.valueOf(name);
  14759.                 }else{
  14760.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  14761.                     this.isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneBuste = false;
  14762.                 }
  14763.             }catch(java.lang.Exception e) {
  14764.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  14765.                 this.isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneBuste = false;
  14766.             }    
  14767.         }

  14768.         return this.isGestioneCORS_resourceHttpMethodQualsiasi_ricezioneBuste;
  14769.     }
  14770.    
  14771.    
  14772.     private ArchiveType getNotificaRichiestaRisposta_consegnaContenutiApplicativi_archiveType = null;
  14773.     public ArchiveType getNotificaRichiestaRisposta_consegnaContenutiApplicativi_archiveType() {    
  14774.         if(this.getNotificaRichiestaRisposta_consegnaContenutiApplicativi_archiveType==null){
  14775.             String pName = "org.openspcoop2.pdd.connettori.consegnaContenutiApplicativi.notificaRichiestaRisposta.archiveType";
  14776.             try{
  14777.                 String name = null;
  14778.                 name = this.reader.getValueConvertEnvProperties(pName);
  14779.                 if(name!=null){
  14780.                     name = name.trim();
  14781.                     this.getNotificaRichiestaRisposta_consegnaContenutiApplicativi_archiveType = ArchiveType.valueOf(name.toUpperCase());
  14782.                 }else{
  14783.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,ArchiveType.ZIP.toString()));
  14784.                     this.getNotificaRichiestaRisposta_consegnaContenutiApplicativi_archiveType = ArchiveType.ZIP;
  14785.                 }
  14786.             }catch(java.lang.Exception e) {
  14787.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,ArchiveType.ZIP.toString()),e);
  14788.                 this.getNotificaRichiestaRisposta_consegnaContenutiApplicativi_archiveType = ArchiveType.ZIP;
  14789.             }    
  14790.         }

  14791.         return this.getNotificaRichiestaRisposta_consegnaContenutiApplicativi_archiveType;
  14792.     }
  14793.    


  14794.     /* ***************** DATE ************* */
  14795.     /**
  14796.      * Restituisce il tipo di tempo da utilizzare
  14797.      *
  14798.      * @return il tipo di tempo da utilizzare
  14799.      *
  14800.      */
  14801.     private TipoOraRegistrazione tipoTempo = null;
  14802.     public TipoOraRegistrazione getTipoTempoBusta(String implementazionePdDSoggetto) {
  14803.        
  14804.         // ovverriding per implementazione porta di dominio
  14805.         if(this.pddReader!=null){
  14806.             String tipo = this.pddReader.getBusta_TempoTipo(implementazionePdDSoggetto);
  14807.             if(tipo!=null && (
  14808.                     CostantiConfigurazione.TEMPO_TIPO_LOCALE.equalsIgnoreCase(tipo) ||
  14809.                     CostantiConfigurazione.TEMPO_TIPO_SINCRONIZZATO.equalsIgnoreCase(tipo)  )
  14810.             ){
  14811.                 if(CostantiConfigurazione.TEMPO_TIPO_LOCALE.equalsIgnoreCase(tipo))
  14812.                     return TipoOraRegistrazione.LOCALE;
  14813.                 else
  14814.                     return TipoOraRegistrazione.SINCRONIZZATO;
  14815.             }
  14816.         }

  14817.         if(this.tipoTempo==null){
  14818.             try{
  14819.                 String name = null;
  14820.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.tempo.tipo");
  14821.                 if(name!=null){
  14822.                     name = name.trim();
  14823.                     if(CostantiConfigurazione.TEMPO_TIPO_LOCALE.equals(name))
  14824.                         this.tipoTempo = TipoOraRegistrazione.LOCALE;
  14825.                     else if(CostantiConfigurazione.TEMPO_TIPO_SINCRONIZZATO.equals(name))
  14826.                         this.tipoTempo = TipoOraRegistrazione.SINCRONIZZATO;
  14827.                     else
  14828.                         throw new CoreException("Tipo "+name+" non conosciuto");
  14829.                 }
  14830.                 else{
  14831.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.tempo.tipo' non impostata, viene utilizzato il default="+CostantiConfigurazione.TEMPO_TIPO_LOCALE);
  14832.                     this.tipoTempo = TipoOraRegistrazione.LOCALE;
  14833.                 }

  14834.             }catch(java.lang.Exception e) {
  14835.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.tempo.tipo' non impostata, viene utilizzato il default="+CostantiConfigurazione.TEMPO_TIPO_LOCALE+", errore:"+e.getMessage(),e);
  14836.                 this.tipoTempo = TipoOraRegistrazione.LOCALE;
  14837.             }    
  14838.         }

  14839.         return this.tipoTempo;
  14840.     }

  14841.     /**
  14842.      * Restituisce il tipo di Date da utilizzare
  14843.      *
  14844.      * @return il tipo di Date da utilizzare
  14845.      *
  14846.      */
  14847.     private String tipoDateManager = null;
  14848.     public String getTipoDateManager() {    
  14849.         if(this.tipoDateManager==null){
  14850.             try{
  14851.                 String name = null;
  14852.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.date.tipo");
  14853.                 if(name!=null)
  14854.                     name = name.trim();
  14855.                 else
  14856.                     throw new CoreException(NON_DEFINITA);
  14857.                 this.tipoDateManager = name;
  14858.             }catch(java.lang.Exception e) {
  14859.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.date.tipo': "+e.getMessage(),e);
  14860.                 this.tipoDateManager = null;
  14861.             }    
  14862.         }

  14863.         return this.tipoDateManager;
  14864.     }
  14865.    
  14866.     private DateEngineType tipoDateTimeFormat = null;
  14867.     public DateEngineType getTipoDateTimeFormat() {
  14868.         if(this.tipoDateTimeFormat==null){
  14869.             try{
  14870.                 String name = null;
  14871.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.dateTimeFormat");
  14872.                 if(name!=null)
  14873.                     name = name.trim();
  14874.                 else
  14875.                     throw new CoreException(NON_DEFINITA);
  14876.                 this.tipoDateTimeFormat = DateEngineType.valueOf(name);
  14877.             }catch(java.lang.Exception e) {
  14878.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.dateTimeFormat': "+e.getMessage(),e);
  14879.                 this.tipoDateTimeFormat = null;
  14880.             }    
  14881.         }

  14882.         return this.tipoDateTimeFormat;
  14883.     }

  14884.     /**
  14885.      * Restituisce le proprieta' da utilizzare sul tipo di Date da utilizzare
  14886.      *
  14887.      * @return proprieta' da utilizzare sul tipo di Date da utilizzare
  14888.      *
  14889.      */
  14890.     private java.util.Properties dateManagerProperties = null;
  14891.     public java.util.Properties getDateManagerProperties() {
  14892.         if(this.dateManagerProperties==null){
  14893.             java.util.Properties prop = new java.util.Properties();
  14894.             try{

  14895.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.date.property.");
  14896.                 this.dateManagerProperties = prop;

  14897.             }catch(java.lang.Exception e) {
  14898.                 this.logError("Riscontrato errore durante la lettura delle propriete' 'org.openspcoop2.pdd.date.property.*': "+e.getMessage(),e);
  14899.                 this.dateManagerProperties = null;
  14900.             }    
  14901.         }

  14902.         return this.dateManagerProperties;
  14903.     }








  14904.     /* ************** INTEGRATION MANAGER ****************** */

  14905.     private Boolean isIntegrationManagerEnabled = null;
  14906.     public boolean isIntegrationManagerEnabled() {  
  14907.         if(this.isIntegrationManagerEnabled==null){
  14908.             try{
  14909.                 String name = null;
  14910.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrationManager.enabled");
  14911.                 if(name==null){
  14912.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrationManager.enabled' non impostata, viene utilizzato il default=false");
  14913.                     name="false";
  14914.                 }
  14915.                 name = name.trim();
  14916.                 this.isIntegrationManagerEnabled = Boolean.parseBoolean(name);
  14917.             } catch(java.lang.Exception e) {
  14918.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrationManager.enabled': "+e.getMessage(),e);
  14919.                 this.isIntegrationManagerEnabled = false;
  14920.             }    
  14921.         }

  14922.         return this.isIntegrationManagerEnabled;
  14923.     }
  14924.    
  14925.     private Boolean isIntegrationManagerIdWithDate = null;
  14926.     public boolean isIntegrationManagerIdWithDate() {  
  14927.         if(this.isIntegrationManagerIdWithDate==null){
  14928.             try{
  14929.                 String name = null;
  14930.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrationManager.idWithDate");
  14931.                 if(name==null){
  14932.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.integrationManager.idWithDate' non impostata, viene utilizzato il default=false");
  14933.                     name="false";
  14934.                 }
  14935.                 name = name.trim();
  14936.                 this.isIntegrationManagerIdWithDate = Boolean.parseBoolean(name);
  14937.             } catch(java.lang.Exception e) {
  14938.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.integrationManager.idWithDate': "+e.getMessage(),e);
  14939.                 this.isIntegrationManagerIdWithDate = false;
  14940.             }    
  14941.         }

  14942.         return this.isIntegrationManagerIdWithDate;
  14943.     }
  14944.    
  14945.     private Integer getIntegrationManagerIdsLimit = null;
  14946.     private Boolean getIntegrationManagerIdsLimit_read = null;
  14947.     public Integer getIntegrationManagerIdsLimit() {    
  14948.         String pName = "org.openspcoop2.pdd.integrationManager.ids.limit";
  14949.         if(this.getIntegrationManagerIdsLimit_read==null){
  14950.             try{
  14951.                 String name = null;
  14952.                 name = this.reader.getValueConvertEnvProperties(pName);
  14953.                 if(name==null){
  14954.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  14955.                     name="false";
  14956.                 }
  14957.                 name = name.trim();
  14958.                 this.getIntegrationManagerIdsLimit = Integer.valueOf(name);
  14959.             } catch(java.lang.Exception e) {
  14960.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  14961.                 this.getIntegrationManagerIdsLimit = null;
  14962.             }  
  14963.             this.getIntegrationManagerIdsLimit_read = true;
  14964.         }

  14965.         return this.getIntegrationManagerIdsLimit;
  14966.     }
  14967.    
  14968.     private Boolean integrationManager_isNomePortaDelegataUrlBasedValue = null;
  14969.     public boolean integrationManager_isNomePortaDelegataUrlBased() {
  14970.         if(this.integrationManager_isNomePortaDelegataUrlBasedValue==null){
  14971.             try{  
  14972.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.service.IntegrationManager.nomePortaDelegataUrlBased");

  14973.                 if(value!=null){
  14974.                     value = value.trim();
  14975.                     this.integrationManager_isNomePortaDelegataUrlBasedValue = Boolean.parseBoolean(value);
  14976.                 }else{
  14977.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.service.IntegrationManager.nomePortaDelegataUrlBased' non impostata, viene utilizzato il default=false");
  14978.                     this.integrationManager_isNomePortaDelegataUrlBasedValue = false;
  14979.                 }
  14980.             }catch(java.lang.Exception e) {
  14981.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.service.IntegrationManager.nomePortaDelegataUrlBased' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  14982.                 this.integrationManager_isNomePortaDelegataUrlBasedValue = false;
  14983.             }
  14984.         }

  14985.         return this.integrationManager_isNomePortaDelegataUrlBasedValue;
  14986.     }

  14987.     private Boolean integrationManager_readInformazioniTrasportoValue = null;
  14988.     public boolean integrationManager_readInformazioniTrasporto() {
  14989.         if(this.integrationManager_readInformazioniTrasportoValue==null){
  14990.             try{  
  14991.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.service.IntegrationManager.infoTrasporto");

  14992.                 if(value!=null){
  14993.                     value = value.trim();
  14994.                     this.integrationManager_readInformazioniTrasportoValue = Boolean.parseBoolean(value);
  14995.                 }else{
  14996.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.service.IntegrationManager.infoTrasporto' non impostata, viene utilizzato il default=false");
  14997.                     this.integrationManager_readInformazioniTrasportoValue = false;
  14998.                 }
  14999.             }catch(java.lang.Exception e) {
  15000.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.service.IntegrationManager.infoTrasporto' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  15001.                 this.integrationManager_readInformazioniTrasportoValue = false;
  15002.             }
  15003.         }

  15004.         return this.integrationManager_readInformazioniTrasportoValue;
  15005.     }



  15006.     // *** Consegne, gestione runtime ***
  15007.    
  15008.     private Boolean isIntegrationManager_runtime_useRuntimeManager = null;
  15009.     public boolean isIntegrationManager_runtime_useRuntimeManager() {  
  15010.         if(this.isIntegrationManager_runtime_useRuntimeManager==null){
  15011.             String pName = "org.openspcoop2.pdd.service.IntegrationManager.runtime.useRuntimeManager";
  15012.             try{
  15013.                 String name = null;
  15014.                 name = this.reader.getValueConvertEnvProperties(pName);
  15015.                 if(name==null){
  15016.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  15017.                     name="true";
  15018.                 }
  15019.                 name = name.trim();
  15020.                 this.isIntegrationManager_runtime_useRuntimeManager = Boolean.parseBoolean(name);
  15021.             } catch(java.lang.Exception e) {
  15022.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  15023.                 this.isIntegrationManager_runtime_useRuntimeManager = true;
  15024.             }    
  15025.         }

  15026.         return this.isIntegrationManager_runtime_useRuntimeManager;
  15027.     }
  15028.    
  15029.     private Boolean isIntegrationManager_runtime_useConsegnePreseInCaricoManager = null;
  15030.     public boolean isIntegrationManager_runtime_useConsegnePreseInCaricoManager() {
  15031.         if(this.isIntegrationManager_runtime_useConsegnePreseInCaricoManager==null){
  15032.             String pName = "org.openspcoop2.pdd.service.IntegrationManager.runtime.useConsegnePreseInCaricoManager";
  15033.             try{
  15034.                 String name = null;
  15035.                 name = this.reader.getValueConvertEnvProperties(pName);
  15036.                 if(name==null){
  15037.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  15038.                     name="true";
  15039.                 }
  15040.                 name = name.trim();
  15041.                 this.isIntegrationManager_runtime_useConsegnePreseInCaricoManager = Boolean.parseBoolean(name);
  15042.             } catch(java.lang.Exception e) {
  15043.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  15044.                 this.isIntegrationManager_runtime_useConsegnePreseInCaricoManager = true;
  15045.             }    
  15046.         }

  15047.         return this.isIntegrationManager_runtime_useConsegnePreseInCaricoManager;
  15048.     }
  15049.    
  15050.     private String getIntegrationManager_runtime_dataSource = null;
  15051.     public String getIntegrationManager_runtime_dataSource() throws CoreException {
  15052.         if(this.getIntegrationManager_runtime_dataSource==null){
  15053.             String pName = "org.openspcoop2.pdd.service.IntegrationManager.runtime.dataSource";
  15054.             try{
  15055.                 String name = null;
  15056.                 name = this.reader.getValueConvertEnvProperties(pName);
  15057.                 if(name==null){
  15058.                     throw new CoreException("Proprieta' non impostata");
  15059.                 }
  15060.                 name = name.trim();
  15061.                 this.getIntegrationManager_runtime_dataSource = name;
  15062.             } catch(java.lang.Exception e) {
  15063.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  15064.                 throw new CoreException(e.getMessage(),e);
  15065.             }    
  15066.         }

  15067.         return this.getIntegrationManager_runtime_dataSource;
  15068.     }
  15069.    
  15070.     private Properties getIntegrationManager_runtime_dataSourceJndiContext = null;
  15071.     public Properties getIntegrationManager_runtime_dataSourceJndiContext() throws CoreException {  
  15072.         if(this.getIntegrationManager_runtime_dataSourceJndiContext==null){
  15073.             String pName = "org.openspcoop2.pdd.service.IntegrationManager.runtime.dataSource.property.";
  15074.             try{
  15075.                 this.getIntegrationManager_runtime_dataSourceJndiContext = this.reader.readPropertiesConvertEnvProperties(pName);
  15076.             } catch(java.lang.Exception e) {
  15077.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"*': "+e.getMessage(),e);
  15078.                 throw new CoreException(e.getMessage(),e);
  15079.             }    
  15080.         }

  15081.         return this.getIntegrationManager_runtime_dataSourceJndiContext;
  15082.     }
  15083.    
  15084.     private Boolean isIntegrationManager_runtime_dataSource_useDBUtils = null;
  15085.     public boolean isIntegrationManager_runtime_dataSource_useDBUtils() {  
  15086.         if(this.isIntegrationManager_runtime_dataSource_useDBUtils==null){
  15087.             String pName = "org.openspcoop2.pdd.service.IntegrationManager.runtime.datasource.useDSUtils";
  15088.             try{
  15089.                 String name = null;
  15090.                 name = this.reader.getValueConvertEnvProperties(pName);
  15091.                 if(name==null){
  15092.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  15093.                     name="true";
  15094.                 }
  15095.                 name = name.trim();
  15096.                 this.isIntegrationManager_runtime_dataSource_useDBUtils = Boolean.parseBoolean(name);
  15097.             } catch(java.lang.Exception e) {
  15098.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  15099.                 this.isIntegrationManager_runtime_dataSource_useDBUtils = true;
  15100.             }    
  15101.         }

  15102.         return this.isIntegrationManager_runtime_dataSource_useDBUtils;
  15103.     }
  15104.    
  15105.    
  15106.     // *** Consegne, gestione tracce ***
  15107.    
  15108.     private Boolean isIntegrationManager_transazioni_useTransactionManager = null;
  15109.     public boolean isIntegrationManager_transazioni_useTransactionManager() {  
  15110.         if(this.isIntegrationManager_transazioni_useTransactionManager==null){
  15111.             String pName = "org.openspcoop2.pdd.service.IntegrationManager.transazioni.useTransactionManager";
  15112.             try{
  15113.                 String name = null;
  15114.                 name = this.reader.getValueConvertEnvProperties(pName);
  15115.                 if(name==null){
  15116.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  15117.                     name="true";
  15118.                 }
  15119.                 name = name.trim();
  15120.                 this.isIntegrationManager_transazioni_useTransactionManager = Boolean.parseBoolean(name);
  15121.             } catch(java.lang.Exception e) {
  15122.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  15123.                 this.isIntegrationManager_transazioni_useTransactionManager = true;
  15124.             }    
  15125.         }

  15126.         return this.isIntegrationManager_transazioni_useTransactionManager;
  15127.     }
  15128.    
  15129.     private Boolean isIntegrationManager_transazioni_useConsegnePreseInCaricoManager = null;
  15130.     public boolean isIntegrationManager_transazioni_useConsegnePreseInCaricoManager() {
  15131.         if(this.isIntegrationManager_transazioni_useConsegnePreseInCaricoManager==null){
  15132.             String pName = "org.openspcoop2.pdd.service.IntegrationManager.transazioni.useConsegnePreseInCaricoManager";
  15133.             try{
  15134.                 String name = null;
  15135.                 name = this.reader.getValueConvertEnvProperties(pName);
  15136.                 if(name==null){
  15137.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  15138.                     name="true";
  15139.                 }
  15140.                 name = name.trim();
  15141.                 this.isIntegrationManager_transazioni_useConsegnePreseInCaricoManager = Boolean.parseBoolean(name);
  15142.             } catch(java.lang.Exception e) {
  15143.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  15144.                 this.isIntegrationManager_transazioni_useConsegnePreseInCaricoManager = true;
  15145.             }    
  15146.         }

  15147.         return this.isIntegrationManager_transazioni_useConsegnePreseInCaricoManager;
  15148.     }
  15149.    
  15150.     private String getIntegrationManager_transazioni_dataSource = null;
  15151.     public String getIntegrationManager_transazioni_dataSource() throws CoreException {
  15152.         if(this.getIntegrationManager_transazioni_dataSource==null){
  15153.             String pName = "org.openspcoop2.pdd.service.IntegrationManager.transazioni.dataSource";
  15154.             try{
  15155.                 String name = null;
  15156.                 name = this.reader.getValueConvertEnvProperties(pName);
  15157.                 if(name==null){
  15158.                     throw new CoreException("Proprieta' non impostata");
  15159.                 }
  15160.                 name = name.trim();
  15161.                 this.getIntegrationManager_transazioni_dataSource = name;
  15162.             } catch(java.lang.Exception e) {
  15163.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  15164.                 throw new CoreException(e.getMessage(),e);
  15165.             }    
  15166.         }

  15167.         return this.getIntegrationManager_transazioni_dataSource;
  15168.     }
  15169.    
  15170.     private Properties getIntegrationManager_transazioni_dataSourceJndiContext = null;
  15171.     public Properties getIntegrationManager_transazioni_dataSourceJndiContext() throws CoreException {  
  15172.         if(this.getIntegrationManager_transazioni_dataSourceJndiContext==null){
  15173.             String pName = "org.openspcoop2.pdd.service.IntegrationManager.transazioni.dataSource.property.";
  15174.             try{
  15175.                 this.getIntegrationManager_transazioni_dataSourceJndiContext = this.reader.readPropertiesConvertEnvProperties(pName);
  15176.             } catch(java.lang.Exception e) {
  15177.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"*': "+e.getMessage(),e);
  15178.                 throw new CoreException(e.getMessage(),e);
  15179.             }    
  15180.         }

  15181.         return this.getIntegrationManager_transazioni_dataSourceJndiContext;
  15182.     }
  15183.    
  15184.     private Boolean isIntegrationManager_transazioni_dataSource_useDBUtils = null;
  15185.     public boolean isIntegrationManager_transazioni_dataSource_useDBUtils() {  
  15186.         if(this.isIntegrationManager_transazioni_dataSource_useDBUtils==null){
  15187.             String pName = "org.openspcoop2.pdd.service.IntegrationManager.transazioni.datasource.useDSUtils";
  15188.             try{
  15189.                 String name = null;
  15190.                 name = this.reader.getValueConvertEnvProperties(pName);
  15191.                 if(name==null){
  15192.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  15193.                     name="true";
  15194.                 }
  15195.                 name = name.trim();
  15196.                 this.isIntegrationManager_transazioni_dataSource_useDBUtils = Boolean.parseBoolean(name);
  15197.             } catch(java.lang.Exception e) {
  15198.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  15199.                 this.isIntegrationManager_transazioni_dataSource_useDBUtils = true;
  15200.             }    
  15201.         }

  15202.         return this.isIntegrationManager_transazioni_dataSource_useDBUtils;
  15203.     }
  15204.    







  15205.     /* ************** GESTIONE ATTACHMENTS *************** */
  15206.     /**
  15207.      * Restituisce l'indicazione se cancellare l'istruzione <?xml
  15208.      *
  15209.      * @return Restituisce Restituisce l'indicazione se cancellare l'istruzione <?xml
  15210.      *
  15211.      */
  15212.     private Boolean isDeleteInstructionTargetMachineXml= null;
  15213.     public boolean isDeleteInstructionTargetMachineXml(){
  15214.         if(this.isDeleteInstructionTargetMachineXml==null){
  15215.             try{  
  15216.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.core.soap.deleteInstructionTargetMachineXml");

  15217.                 if(value!=null){
  15218.                     value = value.trim();
  15219.                     this.isDeleteInstructionTargetMachineXml = Boolean.parseBoolean(value);
  15220.                 }else{
  15221.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.soap.deleteInstructionTargetMachineXml' non impostata, viene utilizzato il default=false");
  15222.                     this.isDeleteInstructionTargetMachineXml = false;
  15223.                 }

  15224.             }catch(java.lang.Exception e) {
  15225.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.soap.deleteInstructionTargetMachineXml' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  15226.                 this.isDeleteInstructionTargetMachineXml = false;
  15227.             }
  15228.         }

  15229.         return this.isDeleteInstructionTargetMachineXml;
  15230.     }

  15231.     private Boolean tunnelSOAP_loadMailcap = null;
  15232.     public boolean isTunnelSOAP_loadMailcap() {
  15233.         if(this.tunnelSOAP_loadMailcap==null){
  15234.             try{
  15235.                 String name = null;
  15236.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.core.soap.tunnelSOAP.mailcap.load");
  15237.                 if(name!=null){
  15238.                     name = name.trim();
  15239.                     this.tunnelSOAP_loadMailcap = Boolean.parseBoolean(name);
  15240.                 }else{
  15241.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.soap.tunnelSOAP.mailcap.load' non impostata, viene utilizzato il default="+false);
  15242.                     this.tunnelSOAP_loadMailcap = false;
  15243.                 }
  15244.             }catch(java.lang.Exception e) {
  15245.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.soap.tunnelSOAP.mailcap.load' non impostata, viene utilizzato il default="+false+", errore:"+e.getMessage(),e);
  15246.                 this.tunnelSOAP_loadMailcap = false;
  15247.             }    
  15248.         }

  15249.         return this.tunnelSOAP_loadMailcap;
  15250.     }
  15251.    
  15252.     /**
  15253.      * Restituisce il tipo di Date da utilizzare
  15254.      *
  15255.      * @return il tipo di Date da utilizzare
  15256.      *
  15257.      */
  15258.     private String tunnelSOAPKeyWord_headerTrasporto = null;
  15259.     public String getTunnelSOAPKeyWord_headerTrasporto() {  
  15260.         if(this.tunnelSOAPKeyWord_headerTrasporto==null){
  15261.             try{
  15262.                 String name = null;
  15263.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.core.soap.tunnelSOAP.trasporto");
  15264.                 if(name!=null){
  15265.                     name = name.trim();
  15266.                     this.tunnelSOAPKeyWord_headerTrasporto = name;
  15267.                 }else{
  15268.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.soap.tunnelSOAP.trasporto' non impostata, viene utilizzato il default="+CostantiPdD.IMBUSTAMENTO_ATTACHMENT);
  15269.                     this.tunnelSOAPKeyWord_headerTrasporto = CostantiPdD.IMBUSTAMENTO_ATTACHMENT;
  15270.                 }
  15271.             }catch(java.lang.Exception e) {
  15272.                 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);
  15273.                 this.tunnelSOAPKeyWord_headerTrasporto = CostantiPdD.IMBUSTAMENTO_ATTACHMENT;
  15274.             }    
  15275.         }

  15276.         return this.tunnelSOAPKeyWord_headerTrasporto;
  15277.     }

  15278.     /**
  15279.      * Restituisce il tipo di Date da utilizzare
  15280.      *
  15281.      * @return il tipo di Date da utilizzare
  15282.      *
  15283.      */
  15284.     private String tunnelSOAPKeyWordMimeType_headerTrasporto = null;
  15285.     public String getTunnelSOAPKeyWordMimeType_headerTrasporto() {  
  15286.         if(this.tunnelSOAPKeyWordMimeType_headerTrasporto==null){
  15287.             try{
  15288.                 String name = null;
  15289.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.core.soap.tunnelSOAP.mimeType.trasporto");
  15290.                 if(name!=null){
  15291.                     name = name.trim();
  15292.                     this.tunnelSOAPKeyWordMimeType_headerTrasporto = name;
  15293.                 }else{
  15294.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.soap.tunnelSOAP.mimeType.trasporto' non impostata, viene utilizzato il default="+CostantiPdD.IMBUSTAMENTO_MIME_TYPE);
  15295.                     this.tunnelSOAPKeyWordMimeType_headerTrasporto = CostantiPdD.IMBUSTAMENTO_MIME_TYPE;
  15296.                 }
  15297.             }catch(java.lang.Exception e) {
  15298.                 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);
  15299.                 this.tunnelSOAPKeyWordMimeType_headerTrasporto = CostantiPdD.IMBUSTAMENTO_MIME_TYPE;
  15300.             }    
  15301.         }

  15302.         return this.tunnelSOAPKeyWordMimeType_headerTrasporto;
  15303.     }

  15304.     /**
  15305.      * Restituisce il tipo di Date da utilizzare
  15306.      *
  15307.      * @return il tipo di Date da utilizzare
  15308.      *
  15309.      */
  15310.     private String tunnelSOAPKeyWord_urlBased = null;
  15311.     public String getTunnelSOAPKeyWord_urlBased() {
  15312.         if(this.tunnelSOAPKeyWord_urlBased==null){
  15313.             try{
  15314.                 String name = null;
  15315.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.core.soap.tunnelSOAP.urlBased");
  15316.                 if(name!=null){
  15317.                     name = name.trim();
  15318.                     this.tunnelSOAPKeyWord_urlBased = name;
  15319.                 }else{
  15320.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.soap.tunnelSOAP.urlBased' non impostata, viene utilizzato il default="+CostantiPdD.IMBUSTAMENTO_ATTACHMENT);
  15321.                     this.tunnelSOAPKeyWord_urlBased = CostantiPdD.IMBUSTAMENTO_ATTACHMENT;
  15322.                 }
  15323.             }catch(java.lang.Exception e) {
  15324.                 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);
  15325.                 this.tunnelSOAPKeyWord_urlBased = CostantiPdD.IMBUSTAMENTO_ATTACHMENT;
  15326.             }    
  15327.         }

  15328.         return this.tunnelSOAPKeyWord_urlBased;
  15329.     }

  15330.     /**
  15331.      * Restituisce il tipo di Date da utilizzare
  15332.      *
  15333.      * @return il tipo di Date da utilizzare
  15334.      *
  15335.      */
  15336.     private String tunnelSOAPKeyWordMimeType_urlBased = null;
  15337.     public String getTunnelSOAPKeyWordMimeType_urlBased() {
  15338.         if(this.tunnelSOAPKeyWordMimeType_urlBased==null){
  15339.             try{
  15340.                 String name = null;
  15341.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.core.soap.tunnelSOAP.mimeType.urlBased");
  15342.                 if(name!=null){
  15343.                     name = name.trim();
  15344.                     this.tunnelSOAPKeyWordMimeType_urlBased = name;
  15345.                 }else{
  15346.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.core.soap.tunnelSOAP.mimeType.urlBased' non impostata, viene utilizzato il default="+CostantiPdD.IMBUSTAMENTO_MIME_TYPE);
  15347.                     this.tunnelSOAPKeyWordMimeType_urlBased = CostantiPdD.IMBUSTAMENTO_MIME_TYPE;
  15348.                 }
  15349.             }catch(java.lang.Exception e) {
  15350.                 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);
  15351.                 this.tunnelSOAPKeyWordMimeType_urlBased = CostantiPdD.IMBUSTAMENTO_MIME_TYPE;
  15352.             }    
  15353.         }

  15354.         return this.tunnelSOAPKeyWordMimeType_urlBased;
  15355.     }
  15356.    



  15357.     /* ***************** ASINCRONI ************/
  15358.     /**
  15359.      * Restituisce il Timeout di attesa di una busta di richiesta/ricevutaRichiesta asincrona non completamente processata
  15360.      *
  15361.      * @return Restituisce il Timeout di attesa di una busta
  15362.      *
  15363.      */
  15364.     private Long timeoutBustaRispostaAsincrona = null;
  15365.     public long getTimeoutBustaRispostaAsincrona() {    
  15366.         if(this.timeoutBustaRispostaAsincrona == null){
  15367.             try{
  15368.                 String name = null;
  15369.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.messaggioAsincronoInProcessamento.attesaAttiva");
  15370.                 if(name!=null){
  15371.                     name = name.trim();
  15372.                     this.timeoutBustaRispostaAsincrona = java.lang.Long.parseLong(name) * 1000;
  15373.                 }else{
  15374.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.messaggioAsincronoInProcessamento.attesaAttiva' non impostata, viene utilizzato il default="+(CostantiPdD.RISPOSTA_ASINCRONA_ATTESA_ATTIVA/1000));
  15375.                     this.timeoutBustaRispostaAsincrona = CostantiPdD.RISPOSTA_ASINCRONA_ATTESA_ATTIVA;
  15376.                 }
  15377.             }catch(java.lang.Exception e) {
  15378.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.messaggioAsincronoInProcessamento.attesaAttiva' non impostata" +
  15379.                         ", viene utilizzato il default="+(CostantiPdD.RISPOSTA_ASINCRONA_ATTESA_ATTIVA/1000)+", errore:"+e.getMessage(),e);
  15380.                 this.timeoutBustaRispostaAsincrona = CostantiPdD.RISPOSTA_ASINCRONA_ATTESA_ATTIVA;
  15381.             }    
  15382.         }

  15383.         return this.timeoutBustaRispostaAsincrona;
  15384.     }
  15385.     /**
  15386.      * Restituisce la Frequenza di check di attesa di una busta di richiesta/ricevutaRichiesta asincrona non completamente processata
  15387.      *
  15388.      * @return Restituisce la Frequenza di check di attesa di una busta di richiesta/ricevutaRichiesta asincrona non completamente processata
  15389.      *
  15390.      */
  15391.     private Integer checkIntervalBustaRispostaAsincrona = null;
  15392.     public int getCheckIntervalBustaRispostaAsincrona() {  
  15393.         if(this.checkIntervalBustaRispostaAsincrona==null){
  15394.             try{
  15395.                 String name = null;
  15396.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.repository.messaggioAsincronoInProcessamento.check");
  15397.                 if(name!=null){
  15398.                     name = name.trim();
  15399.                     this.checkIntervalBustaRispostaAsincrona = java.lang.Integer.parseInt(name);
  15400.                 }else{
  15401.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.repository.messaggioAsincronoInProcessamento.check' non impostata, viene utilizzato il default="+CostantiPdD.RISPOSTA_ASINCRONA_CHECK_INTERVAL);
  15402.                     this.checkIntervalBustaRispostaAsincrona = CostantiPdD.RISPOSTA_ASINCRONA_CHECK_INTERVAL;
  15403.                 }
  15404.             }catch(java.lang.Exception e) {
  15405.                 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);
  15406.                 this.checkIntervalBustaRispostaAsincrona = CostantiPdD.RISPOSTA_ASINCRONA_CHECK_INTERVAL;
  15407.             }    
  15408.         }

  15409.         return this.checkIntervalBustaRispostaAsincrona;
  15410.     }




  15411.     /*---------- Cluster ID -------------*/

  15412.     private Boolean isClusterDinamico = null;
  15413.     public boolean isClusterDinamico(){
  15414.         String pName = "org.openspcoop2.pdd.cluster_dinamico.enabled";
  15415.         if(this.isClusterDinamico==null){
  15416.             try{  
  15417.                 String value = this.reader.getValueConvertEnvProperties(pName);

  15418.                 if(value!=null){
  15419.                     value = value.trim();
  15420.                     this.isClusterDinamico = Boolean.parseBoolean(value);
  15421.                 }else{
  15422.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  15423.                     this.isClusterDinamico = false;
  15424.                 }

  15425.             }catch(java.lang.Exception e) {
  15426.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  15427.                 this.isClusterDinamico = false;
  15428.             }
  15429.         }
  15430.         return this.isClusterDinamico;
  15431.     }
  15432.    
  15433.     private Integer getClusterDinamicoRefreshSecondsInterval = null;
  15434.     public int getClusterDinamicoRefreshSecondsInterval() {
  15435.         String pName = "org.openspcoop2.pdd.cluster_dinamico.refresh";
  15436.         if(this.getClusterDinamicoRefreshSecondsInterval==null){
  15437.             try{
  15438.                 String name = null;
  15439.                 name = this.reader.getValueConvertEnvProperties(pName);
  15440.                 if(name!=null){
  15441.                     name = name.trim();
  15442.                     this.getClusterDinamicoRefreshSecondsInterval = java.lang.Integer.parseInt(name);
  15443.                 }else{
  15444.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,CostantiPdD.CLUSTER_DINAMICO_REFRESH_SECONDS));
  15445.                     this.getClusterDinamicoRefreshSecondsInterval = CostantiPdD.CLUSTER_DINAMICO_REFRESH_SECONDS;
  15446.                 }
  15447.             }catch(java.lang.Exception e) {
  15448.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,CostantiPdD.CLUSTER_DINAMICO_REFRESH_SECONDS),e);
  15449.                 this.getClusterDinamicoRefreshSecondsInterval = CostantiPdD.CLUSTER_DINAMICO_REFRESH_SECONDS;
  15450.             }  
  15451.         }

  15452.         return this.getClusterDinamicoRefreshSecondsInterval;
  15453.     }
  15454.    
  15455.     private String cluster_hostname = null;
  15456.     public String getClusterHostname() {
  15457.         if(this.cluster_hostname==null){
  15458.             try{
  15459.                 String name = null;
  15460.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.cluster_id.hostname");
  15461.                 if(name==null) {
  15462.                     this.cluster_hostname = getClusterId(true);
  15463.                 }
  15464.                 else{
  15465.                     name = name.trim();
  15466.                     this.cluster_hostname = name;
  15467.                 }
  15468.             }catch(java.lang.Exception e) {
  15469.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.cluster_id.hostname': "+e.getMessage(),e);
  15470.                 this.cluster_hostname = null;
  15471.             }  
  15472.         }

  15473.         return this.cluster_hostname;
  15474.     }
  15475.        
  15476.     private String group_id = null;
  15477.     public String getGroupId(boolean rateLimitingGestioneCluster) {
  15478.         String pName = "org.openspcoop2.pdd.group_id";
  15479.         if(this.group_id==null){
  15480.             try{
  15481.                 String name = null;
  15482.                 name = this.reader.getValueConvertEnvProperties(pName);
  15483.                 if(name==null) {
  15484.                     // Gestione RateLimiting senza una effettiva attivazione di un cluster dinamico
  15485.                     if(!isClusterDinamico()) {
  15486.                         if(rateLimitingGestioneCluster) {
  15487.                             this.group_id = org.openspcoop2.utils.Costanti.OPENSPCOOP2;
  15488.                         }
  15489.                         else {
  15490.                             throw new CoreException(NON_DEFINITA);
  15491.                         }
  15492.                     }
  15493.                     else {
  15494.                         throw new CoreException(NON_DEFINITA);
  15495.                     }
  15496.                 }
  15497.                 else if(name!=null){
  15498.                     name = name.trim();
  15499.                     this.group_id = name;
  15500.                 }
  15501.             }catch(java.lang.Exception e) {
  15502.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  15503.                 this.group_id = null;
  15504.             }  
  15505.         }

  15506.         return this.group_id;
  15507.     }
  15508.    
  15509.     /**
  15510.      * Restituisce il cluster id del nodo del cluster su cui gira la pdd
  15511.      *
  15512.      * @return Il cluster id di questo nodo
  15513.      * @added Fabio Tronci (tronci@link.it) 06/06/08
  15514.      */
  15515.     private String cluster_id = null;
  15516.     public String getClusterId(boolean required) {
  15517.         if(this.cluster_id==null){
  15518.             try{
  15519.                 String name = null;
  15520.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.cluster_id");
  15521.                 if(name==null && required)
  15522.                     throw new CoreException(NON_DEFINITA);
  15523.                 if(name!=null){
  15524.                     name = name.trim();
  15525.                     this.cluster_id = name;
  15526.                 }
  15527.             }catch(java.lang.Exception e) {
  15528.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.cluster_id': "+e.getMessage(),e);
  15529.                 this.cluster_id = null;
  15530.             }  
  15531.         }

  15532.         return this.cluster_id;
  15533.     }
  15534.    
  15535.     private Boolean isUseHashClusterId = null;
  15536.     public boolean isUseHashClusterId(){
  15537.         String pName = "org.openspcoop2.pdd.cluster_id.hash.enabled";
  15538.         if(this.isUseHashClusterId==null){
  15539.             try{  
  15540.                 String value = this.reader.getValueConvertEnvProperties(pName);

  15541.                 if(value!=null){
  15542.                     value = value.trim();
  15543.                     this.isUseHashClusterId = Boolean.parseBoolean(value);
  15544.                 }else{
  15545.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  15546.                     this.isUseHashClusterId = false;
  15547.                 }

  15548.             }catch(java.lang.Exception e) {
  15549.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  15550.                 this.isUseHashClusterId = false;
  15551.             }
  15552.         }
  15553.         return this.isUseHashClusterId;
  15554.     }
  15555.    
  15556.     private String cluster_id_preCodificaHash = null;
  15557.     public String getCluster_id_preCodificaHash() {
  15558.         return this.cluster_id_preCodificaHash;
  15559.     }
  15560.     public void updateClusterId() {
  15561.         this.cluster_id_preCodificaHash = this.cluster_id;
  15562.         // calcolo il cluster fornito come hash value
  15563.         this.cluster_id = DynamicClusterManager.hashClusterId(this.cluster_id);
  15564.     }
  15565.    
  15566.     private String cluster_id_numerico =null;
  15567.     private Boolean cluster_id_numerico_read =null;
  15568.     public String getClusterIdNumerico() throws ProtocolException {
  15569.         if(this.cluster_id_numerico_read==null){
  15570.             try{
  15571.                 String name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.cluster_id.numeric");
  15572.                 if(name!=null){
  15573.                     int numero = Integer.parseInt(name.trim());
  15574.                     if(numero<0 || numero>99){
  15575.                         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";
  15576.                         this.logError(msg);
  15577.                         throw new ProtocolException(msg);
  15578.                     }
  15579.                     this.cluster_id_numerico = name.trim();
  15580.                 }
  15581.                
  15582.                 this.cluster_id_numerico_read = true;
  15583.                
  15584.             }catch(java.lang.Exception e) {
  15585.                 String msg = "Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.cluster_id.numeric': "+e.getMessage();
  15586.                 this.logError(msg,e);
  15587.                 throw new ProtocolException(msg,e);
  15588.             }  
  15589.         }
  15590.         return this.cluster_id_numerico;
  15591.     }
  15592.    
  15593.     private Integer getClusterDinamicoIdNumericoCifre = null;
  15594.     public int getClusterDinamicoIdNumericoCifre(boolean rateLimitingGestioneCluster) {
  15595.         String pName = "org.openspcoop2.pdd.cluster_id.numeric.dinamico.cifre";
  15596.         if(this.getClusterDinamicoIdNumericoCifre==null){
  15597.             try{
  15598.                 String name = null;
  15599.                 name = this.reader.getValueConvertEnvProperties(pName);
  15600.                 if(name!=null){
  15601.                     name = name.trim();
  15602.                     this.getClusterDinamicoIdNumericoCifre = java.lang.Integer.parseInt(name);
  15603.                     if(this.getClusterDinamicoIdNumericoCifre<=0) {
  15604.                         throw new CoreException("Il valore indicato deve essere maggiore di 0");
  15605.                     }
  15606.                 }
  15607.                 else{
  15608.                     // Gestione RateLimiting senza una effettiva attivazione di un cluster dinamico
  15609.                     if(!isClusterDinamico()) {
  15610.                         if(rateLimitingGestioneCluster) {
  15611.                             this.getClusterDinamicoIdNumericoCifre = 2; // per default si registra staticamente fino a 99 nodi
  15612.                         }
  15613.                         else {
  15614.                             throw new CoreException("Non Impostato");
  15615.                         }
  15616.                     }
  15617.                     else {
  15618.                         throw new CoreException("Non Impostato");
  15619.                     }
  15620.                 }
  15621.             }catch(java.lang.Exception e) {
  15622.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  15623.                 this.getClusterDinamicoIdNumericoCifre = -1;
  15624.             }  
  15625.         }

  15626.         return this.getClusterDinamicoIdNumericoCifre;
  15627.     }
  15628.     public boolean isClusterIdNumericoDinamico(boolean rateLimitingGestioneCluster) {
  15629.         return getClusterDinamicoIdNumericoCifre(rateLimitingGestioneCluster)>0;
  15630.     }

  15631.     private Boolean isTimerLockByDatabase = null;
  15632.     public boolean isTimerLockByDatabase(){
  15633.         if(this.isTimerLockByDatabase==null){
  15634.             try{  
  15635.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.lockDatabase");

  15636.                 if(value!=null){
  15637.                     value = value.trim();
  15638.                     this.isTimerLockByDatabase = Boolean.parseBoolean(value);
  15639.                 }else{
  15640.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.lockDatabase' non impostata, viene utilizzato il default=true");
  15641.                     this.isTimerLockByDatabase = true;
  15642.                 }

  15643.             }catch(java.lang.Exception e) {
  15644.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.lockDatabase' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  15645.                 this.isTimerLockByDatabase = true;
  15646.             }
  15647.            
  15648.             if(this.isTimerLockByDatabase) {
  15649.                 // Richiede la definizione di un clusterId e di un tipo di database
  15650.                 if(this.getClusterId(false)==null) {
  15651.                     this.isTimerLockByDatabase = false;
  15652.                 }
  15653.                 else if(this.getDatabaseType()==null) {
  15654.                     this.isTimerLockByDatabase = false;
  15655.                 }
  15656.             }
  15657.         }
  15658.         return this.isTimerLockByDatabase;
  15659.     }
  15660.    
  15661.     private Boolean isTimerLockByDatabaseNotifyLogEnabled = null;
  15662.     public boolean isTimerLockByDatabaseNotifyLogEnabled(){
  15663.         if(this.isTimerLockByDatabaseNotifyLogEnabled==null){
  15664.             try{  
  15665.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.timer.lockDatabase.notify.log");

  15666.                 if(value!=null){
  15667.                     value = value.trim();
  15668.                     this.isTimerLockByDatabaseNotifyLogEnabled = Boolean.parseBoolean(value);
  15669.                 }else{
  15670.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.lockDatabase.notify.log' non impostata, viene utilizzato il default=true");
  15671.                     this.isTimerLockByDatabaseNotifyLogEnabled = true;
  15672.                 }

  15673.             }catch(java.lang.Exception e) {
  15674.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.timer.lockDatabase.notify.log' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  15675.                 this.isTimerLockByDatabaseNotifyLogEnabled = true;
  15676.             }
  15677.         }
  15678.         return this.isTimerLockByDatabaseNotifyLogEnabled;
  15679.     }
  15680.    
  15681.     private String pddContextSerializer = null;
  15682.     public String getPddContextSerializer() {
  15683.         if(this.pddContextSerializer==null){
  15684.             try{
  15685.                 String name = null;
  15686.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.contextSerializer");
  15687.                 if(name!=null){
  15688.                     name = name.trim();
  15689.                     this.pddContextSerializer = name;
  15690.                 }else{
  15691.                     this.pddContextSerializer = CostantiConfigurazione.NONE;
  15692.                 }
  15693.             }catch(java.lang.Exception e) {
  15694.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.contextSerializer': "+e.getMessage(),e);
  15695.                 this.pddContextSerializer = CostantiConfigurazione.NONE;
  15696.             }  
  15697.         }

  15698.         return this.pddContextSerializer;
  15699.     }




  15700.     /*---------- Stateless -------------*/

  15701.     /**
  15702.      * Restituisce il comportamento di default (Stateless abilitato/disabilitato) per il profilo oneway
  15703.      *
  15704.      * @return il Restituisce il comportamento di default (Stateless abilitato/disabilitato) per il profilo oneway
  15705.      *
  15706.      */
  15707.     private String statelessOneWay = null;
  15708.     public String getStatelessOneWay() {    
  15709.         if(this.statelessOneWay==null){
  15710.             try{
  15711.                 String name = null;
  15712.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.stateless.default.oneway");
  15713.                 if(name!=null){
  15714.                     name = name.trim();
  15715.                     if( (CostantiConfigurazione.ABILITATO.equals(name)==false) && (CostantiConfigurazione.DISABILITATO.equals(name)==false) ){
  15716.                         throw new CoreException("Valori ammessi sono abilitato/disabilito");
  15717.                     }
  15718.                 }
  15719.                 else{
  15720.                     throw new CoreException(NON_DEFINITA);
  15721.                 }
  15722.                 this.statelessOneWay = name;
  15723.             }catch(java.lang.Exception e) {
  15724.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.stateless.default.oneway': "+e.getMessage(),e);
  15725.                 this.statelessOneWay = null;
  15726.             }    
  15727.         }

  15728.         return this.statelessOneWay;
  15729.     }

  15730.     /**
  15731.      * Restituisce il comportamento di default (Stateless abilitato/disabilitato) per il profilo sincrono
  15732.      *
  15733.      * @return il Restituisce il comportamento di default (Stateless abilitato/disabilitato) per il profilo sincrono
  15734.      *
  15735.      */
  15736.     private String statelessSincrono = null;
  15737.     public String getStatelessSincrono() {
  15738.         if(this.statelessSincrono==null){
  15739.             try{
  15740.                 String name = null;
  15741.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.stateless.default.sincrono");
  15742.                 if(name!=null){
  15743.                     name = name.trim();
  15744.                     if( (CostantiConfigurazione.ABILITATO.equals(name)==false) && (CostantiConfigurazione.DISABILITATO.equals(name)==false) ){
  15745.                         throw new CoreException("Valori ammessi sono abilitato/disabilito");
  15746.                     }
  15747.                 }
  15748.                 else{
  15749.                     throw new CoreException(NON_DEFINITA);
  15750.                 }
  15751.                 this.statelessSincrono = name;
  15752.             }catch(java.lang.Exception e) {
  15753.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.stateless.default.sincrono': "+e.getMessage(),e);
  15754.                 this.statelessSincrono = null;
  15755.             }    
  15756.         }
  15757.         //System.out.println("MODALITA default per sincrono: "+OpenSPCoopProperties.statelessSincrono);
  15758.         return this.statelessSincrono;
  15759.     }

  15760.     /**
  15761.      * Restituisce il comportamento di default (Stateless abilitato/disabilitato) per il profilo asincrono simmetrico e asimmetrico
  15762.      *
  15763.      * @return il Restituisce il comportamento di default (Stateless abilitato/disabilitato) per il profilo asincrono simmetrico e asimmetrico
  15764.      *
  15765.      */
  15766.     private String statelessAsincrono = null;
  15767.     public String getStatelessAsincroni() {
  15768.         if(this.statelessAsincrono==null){
  15769.             try{
  15770.                 String name = null;
  15771.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.stateless.default.asincroni");
  15772.                 if(name!=null){
  15773.                     name = name.trim();
  15774.                     if( (CostantiConfigurazione.ABILITATO.equals(name)==false) && (CostantiConfigurazione.DISABILITATO.equals(name)==false) ){
  15775.                         throw new CoreException("Valori ammessi sono abilitato/disabilito");
  15776.                     }
  15777.                 }
  15778.                 else{
  15779.                     throw new CoreException(NON_DEFINITA);
  15780.                 }
  15781.                 this.statelessAsincrono = name;
  15782.             }catch(java.lang.Exception e) {
  15783.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.stateless.default.asincroni': "+e.getMessage(),e);
  15784.                 this.statelessAsincrono = null;
  15785.             }    
  15786.         }
  15787.         //System.out.println("MODALITA default per asincroni: "+OpenSPCoopProperties.statelessAsincrono);
  15788.         return this.statelessAsincrono;
  15789.     }

  15790.     /**
  15791.      * Restituisce l'indicazione se gestire il oneway non stateless nella nuova modalita della versione 1.4 o come la vecchia 1.0
  15792.      *
  15793.      * @return Restituisce l'indicazione se gestire il oneway non stateless nella nuova modalita della versione 1.4 o come la vecchia 1.0
  15794.      *
  15795.      */
  15796.     private Boolean isGestioneOnewayStateful_1_1= null;
  15797.     public boolean isGestioneOnewayStateful_1_1(){
  15798.         if(this.isGestioneOnewayStateful_1_1==null){
  15799.             try{  
  15800.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.stateful.oneway");

  15801.                 if(value!=null){
  15802.                     value = value.trim();
  15803.                     if( (CostantiConfigurazione.ONEWAY_STATEFUL_1_0.equals(value)==false) && (CostantiConfigurazione.ONEWAY_STATEFUL_1_1.equals(value)==false) ){
  15804.                         throw new CoreException("Valori ammessi sono 1.0/1.1");
  15805.                     }
  15806.                     this.isGestioneOnewayStateful_1_1 = CostantiConfigurazione.ONEWAY_STATEFUL_1_1.equals(value);
  15807.                 }else{
  15808.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.stateful.oneway' non impostata, viene utilizzato il default=true");
  15809.                     this.isGestioneOnewayStateful_1_1 = true;
  15810.                 }

  15811.             }catch(java.lang.Exception e) {
  15812.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.stateful.oneway' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  15813.                 this.isGestioneOnewayStateful_1_1 = true;
  15814.             }
  15815.         }
  15816.         //System.out.println("MODALITA 11 per gestione Oneway; "+OpenSPCoopProperties.isGestioneOnewayStateful_1_1);
  15817.         return this.isGestioneOnewayStateful_1_1;
  15818.     }

  15819.     /**
  15820.      * Restituisce il comportamento per il routing
  15821.      *
  15822.      * @return il Restituisce il comportamento per il routing
  15823.      *
  15824.      */
  15825.     private String statelessRouting = null;
  15826.     public String getStatelessRouting() {  
  15827.         if(this.statelessRouting==null){
  15828.             try{
  15829.                 String name = null;
  15830.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.stateless.router");
  15831.                 if(name!=null){
  15832.                     name = name.trim();
  15833.                     if( (CostantiConfigurazione.ABILITATO.equals(name)==false) && (CostantiConfigurazione.DISABILITATO.equals(name)==false) ){
  15834.                         throw new CoreException("Valori ammessi sono abilitato/disabilito");
  15835.                     }
  15836.                 }
  15837.                 else{
  15838.                     throw new CoreException(NON_DEFINITA);
  15839.                 }
  15840.                 this.statelessRouting = name;
  15841.             }catch(java.lang.Exception e) {
  15842.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.stateless.router': "+e.getMessage(),e);
  15843.                 this.statelessRouting = null;
  15844.             }    
  15845.         }
  15846.         //System.out.println("MODALITA per routing: "+OpenSPCoopProperties.statelessRouting);
  15847.         return this.statelessRouting;
  15848.     }


  15849.     /**
  15850.      * Restituisce l'indicazione se una gestione stateless deve rinegoziare la connessione
  15851.      *
  15852.      * @return Restituisce l'indicazione se una gestione stateless deve rinegoziare la connessione
  15853.      *
  15854.      */
  15855.     private Boolean isGestioneStateful_RinegoziamentoConnessione= null;
  15856.     private boolean isRinegoziamentoConnessione(){
  15857.         if(this.isGestioneStateful_RinegoziamentoConnessione==null){
  15858.             try{  
  15859.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.stateless.dataSource.rinegoziamentoConnessione");

  15860.                 if(value!=null){
  15861.                     value = value.trim();
  15862.                     if( (CostantiConfigurazione.ABILITATO.equals(value)==false) && (CostantiConfigurazione.DISABILITATO.equals(value)==false) ){
  15863.                         throw new CoreException("Valori ammessi sono abilitato/disabilitato");
  15864.                     }
  15865.                     if( CostantiConfigurazione.DISABILITATO.equals(value) ){
  15866.                         this.isGestioneStateful_RinegoziamentoConnessione = false;
  15867.                     }else{
  15868.                         this.isGestioneStateful_RinegoziamentoConnessione = true;
  15869.                     }
  15870.                 }else{
  15871.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.stateless.dataSource.rinegoziamentoConnessione' non impostata, viene utilizzato il default=true");
  15872.                     this.isGestioneStateful_RinegoziamentoConnessione = true;
  15873.                 }

  15874.             }catch(java.lang.Exception e) {
  15875.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.stateless.dataSource.rinegoziamentoConnessione' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  15876.                 this.isGestioneStateful_RinegoziamentoConnessione = true;
  15877.             }
  15878.         }
  15879.         return this.isGestioneStateful_RinegoziamentoConnessione;
  15880.     }
  15881.    
  15882.     public boolean isRinegoziamentoConnessione(ProfiloDiCollaborazione profilo){
  15883.         if(ProfiloDiCollaborazione.ASINCRONO_ASIMMETRICO.equals(profilo) || ProfiloDiCollaborazione.ASINCRONO_SIMMETRICO.equals(profilo))
  15884.             return true;
  15885.         else
  15886.             return this.isRinegoziamentoConnessione();
  15887.     }




  15888.     private Boolean mergeHandlerBuiltInAndHandlerUser = null;
  15889.     public boolean isMergeHandlerBuiltInAndHandlerUser() {  
  15890.         if(this.mergeHandlerBuiltInAndHandlerUser==null){
  15891.             try{
  15892.                 String v = null;
  15893.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.merge");
  15894.                 if(v!=null){
  15895.                     v = v.trim();
  15896.                     this.mergeHandlerBuiltInAndHandlerUser = Boolean.parseBoolean(v);
  15897.                 }
  15898.                 else{
  15899.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.handler.merge' non impostata, viene utilizzato il default="+false);
  15900.                     this.mergeHandlerBuiltInAndHandlerUser = false;
  15901.                 }
  15902.             }catch(java.lang.Exception e) {
  15903.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.handler.merge' non impostata correttamente,  errore:"+e.getMessage(),e);
  15904.             }
  15905.         }
  15906.         return this.mergeHandlerBuiltInAndHandlerUser;
  15907.     }
  15908.    
  15909.     /*---------- Gestori handler built-in -------------*/
  15910.    
  15911.     private Boolean printInfoHandlerBuiltIn = null;
  15912.     public boolean isPrintInfoHandlerBuiltIn() {    
  15913.         if(this.printInfoHandlerBuiltIn==null){
  15914.             try{
  15915.                 String v = null;
  15916.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.built-in.printInfo");
  15917.                 if(v!=null){
  15918.                     v = v.trim();
  15919.                     this.printInfoHandlerBuiltIn = Boolean.parseBoolean(v);
  15920.                 }
  15921.                 else{
  15922.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.handler.built-in.printInfo' non impostata, viene utilizzato il default="+true);
  15923.                     this.printInfoHandlerBuiltIn = true;
  15924.                 }
  15925.             }catch(java.lang.Exception e) {
  15926.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.handler.built-in.printInfo' non impostata correttamente,  errore:"+e.getMessage(),e);
  15927.             }
  15928.         }
  15929.         return this.printInfoHandlerBuiltIn;
  15930.     }
  15931.    
  15932.    
  15933.     /**
  15934.      * Restituisce l'elenco degli handlers di tipo InitHandlerBuiltIn
  15935.      *
  15936.      * @return  Restituisce l'elenco degli handlers di tipo InitHandlerBuiltIn
  15937.      */
  15938.     private String[] tipiInitHandlerBuiltIn = null;
  15939.     private boolean tipiInitHandlerBuiltInRead = false;
  15940.     public String[] getInitHandlerBuiltIn() {
  15941.         if(this.tipiInitHandlerBuiltInRead == false){
  15942.             try{
  15943.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.built-in.init");
  15944.                 if(value!=null){
  15945.                     value = value.trim();
  15946.                     String [] r = value.split(",");
  15947.                     this.tipiInitHandlerBuiltIn = r;
  15948.                 }else{
  15949.                     this.tipiInitHandlerBuiltIn = null;
  15950.                 }
  15951.             }catch(java.lang.Exception e) {
  15952.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.built-in.init': "+e.getMessage(),e);
  15953.                 this.tipiInitHandlerBuiltIn = null;
  15954.             }  
  15955.             this.tipiInitHandlerBuiltInRead = true;
  15956.         }

  15957.         return this.tipiInitHandlerBuiltIn;
  15958.     }
  15959.    
  15960.     /**
  15961.      * Restituisce l'elenco degli handlers di tipo ExitHandlerBuiltIn
  15962.      *
  15963.      * @return  Restituisce l'elenco degli handlers di tipo ExitHandlerBuiltIn
  15964.      */
  15965.     private String[] tipiExitHandlerBuiltIn = null;
  15966.     private boolean tipiExitHandlerBuiltInRead = false;
  15967.     public String[] getExitHandlerBuiltIn() {
  15968.         if(this.tipiExitHandlerBuiltInRead == false){
  15969.             try{
  15970.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.built-in.exit");
  15971.                 if(value!=null){
  15972.                     value = value.trim();
  15973.                     String [] r = value.split(",");
  15974.                     this.tipiExitHandlerBuiltIn = r;
  15975.                 }else{
  15976.                     this.tipiExitHandlerBuiltIn = null;
  15977.                 }
  15978.             }catch(java.lang.Exception e) {
  15979.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.built-in.exit': "+e.getMessage(),e);
  15980.                 this.tipiExitHandlerBuiltIn = null;
  15981.             }  
  15982.             this.tipiExitHandlerBuiltInRead = true;
  15983.         }

  15984.         return this.tipiExitHandlerBuiltIn;
  15985.     }
  15986.    
  15987.     /**
  15988.      * Restituisce l'elenco degli handlers di tipo PreInRequestHandlerBuiltIn
  15989.      *
  15990.      * @return  Restituisce l'elenco degli handlers di tipo PreInRequestHandlerBuiltIn
  15991.      */
  15992.     private String[] tipiPreInRequestHandlerBuiltIn = null;
  15993.     private boolean tipiPreInRequestHandlerBuiltInRead = false;
  15994.     public String[] getPreInRequestHandlerBuiltIn() {
  15995.         if(this.tipiPreInRequestHandlerBuiltInRead == false){
  15996.             try{
  15997.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.built-in.pre-in-request");
  15998.                 if(value!=null){
  15999.                     value = value.trim();
  16000.                     String [] r = value.split(",");
  16001.                     this.tipiPreInRequestHandlerBuiltIn = r;
  16002.                 }else{
  16003.                     this.tipiPreInRequestHandlerBuiltIn = null;
  16004.                 }
  16005.             }catch(java.lang.Exception e) {
  16006.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.built-in.pre-in-request': "+e.getMessage(),e);
  16007.                 this.tipiPreInRequestHandlerBuiltIn = null;
  16008.             }  
  16009.             this.tipiPreInRequestHandlerBuiltInRead = true;
  16010.         }

  16011.         return this.tipiPreInRequestHandlerBuiltIn;
  16012.     }

  16013.    
  16014.     /**
  16015.      * Restituisce l'elenco degli handlers di tipo InRequestHandlerBuiltIn
  16016.      *
  16017.      * @return  Restituisce l'elenco degli handlers di tipo InRequestHandlerBuiltIn
  16018.      */
  16019.     private String[] tipiInRequestHandlerBuiltIn = null;
  16020.     private boolean tipiInRequestHandlerBuiltInRead = false;
  16021.     public String[] getInRequestHandlerBuiltIn() {
  16022.         if(this.tipiInRequestHandlerBuiltInRead == false){
  16023.             try{
  16024.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.built-in.in-request");
  16025.                 if(value!=null){
  16026.                     value = value.trim();
  16027.                     String [] r = value.split(",");
  16028.                     this.tipiInRequestHandlerBuiltIn = r;
  16029.                 }else{
  16030.                     this.tipiInRequestHandlerBuiltIn = null;
  16031.                 }
  16032.             }catch(java.lang.Exception e) {
  16033.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.built-in.in-request': "+e.getMessage(),e);
  16034.                 this.tipiInRequestHandlerBuiltIn = null;
  16035.             }  
  16036.             this.tipiInRequestHandlerBuiltInRead = true;
  16037.         }

  16038.         return this.tipiInRequestHandlerBuiltIn;
  16039.     }
  16040.    
  16041.     /**
  16042.      * Restituisce l'elenco degli handlers di tipo InRequestProtocolHandlerBuiltIn
  16043.      *
  16044.      * @return  Restituisce l'elenco degli handlers di tipo InRequestProtocolHandlerBuiltIn
  16045.      */
  16046.     private String[] tipiInRequestProtocolHandlerBuiltIn = null;
  16047.     private boolean tipiInRequestProtocolHandlerBuiltInRead = false;
  16048.     public String[] getInRequestProtocolHandlerBuiltIn() {
  16049.         if(this.tipiInRequestProtocolHandlerBuiltInRead == false){
  16050.             try{
  16051.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.built-in.in-protocol-request");
  16052.                 if(value!=null){
  16053.                     value = value.trim();
  16054.                     String [] r = value.split(",");
  16055.                     this.tipiInRequestProtocolHandlerBuiltIn = r;
  16056.                 }else{
  16057.                     this.tipiInRequestProtocolHandlerBuiltIn = null;
  16058.                 }
  16059.             }catch(java.lang.Exception e) {
  16060.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.built-in.in-protocol-request': "+e.getMessage(),e);
  16061.                 this.tipiInRequestProtocolHandlerBuiltIn = null;
  16062.             }  
  16063.             this.tipiInRequestProtocolHandlerBuiltInRead = true;
  16064.         }

  16065.         return this.tipiInRequestProtocolHandlerBuiltIn;
  16066.     }
  16067.    
  16068.     /**
  16069.      * Restituisce l'elenco degli handlers di tipo OutRequestHandlerBuiltIn
  16070.      *
  16071.      * @return  Restituisce l'elenco degli handlers di tipo OutRequestHandlerBuiltIn
  16072.      */
  16073.     private String[] tipiOutRequestHandlerBuiltIn = null;
  16074.     private boolean tipiOutRequestHandlerBuiltInRead = false;
  16075.     public String[] getOutRequestHandlerBuiltIn() {
  16076.         if(this.tipiOutRequestHandlerBuiltInRead == false){
  16077.             try{
  16078.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.built-in.out-request");
  16079.                 if(value!=null){
  16080.                     value = value.trim();
  16081.                     String [] r = value.split(",");
  16082.                     this.tipiOutRequestHandlerBuiltIn = r;
  16083.                 }else{
  16084.                     this.tipiOutRequestHandlerBuiltIn = null;
  16085.                 }
  16086.             }catch(java.lang.Exception e) {
  16087.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.built-in.out-request': "+e.getMessage(),e);
  16088.                 this.tipiOutRequestHandlerBuiltIn = null;
  16089.             }  
  16090.             this.tipiOutRequestHandlerBuiltInRead = true;
  16091.         }

  16092.         return this.tipiOutRequestHandlerBuiltIn;
  16093.     }
  16094.    
  16095.     /**
  16096.      * Restituisce l'elenco degli handlers di tipo PostOutRequestHandlerBuiltIn
  16097.      *
  16098.      * @return  Restituisce l'elenco degli handlers di tipo PostOutRequestHandlerBuiltIn
  16099.      */
  16100.     private String[] tipiPostOutRequestHandlerBuiltIn = null;
  16101.     private boolean tipiPostOutRequestHandlerBuiltInRead = false;
  16102.     public String[] getPostOutRequestHandlerBuiltIn() {
  16103.         if(this.tipiPostOutRequestHandlerBuiltInRead == false){
  16104.             try{
  16105.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.built-in.post-out-request");
  16106.                 if(value!=null){
  16107.                     value = value.trim();
  16108.                     String [] r = value.split(",");
  16109.                     this.tipiPostOutRequestHandlerBuiltIn = r;
  16110.                 }else{
  16111.                     this.tipiPostOutRequestHandlerBuiltIn = null;
  16112.                 }
  16113.             }catch(java.lang.Exception e) {
  16114.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.built-in.post-out-request': "+e.getMessage(),e);
  16115.                 this.tipiPostOutRequestHandlerBuiltIn = null;
  16116.             }  
  16117.             this.tipiPostOutRequestHandlerBuiltInRead = true;
  16118.         }

  16119.         return this.tipiPostOutRequestHandlerBuiltIn;
  16120.     }
  16121.    
  16122.     /**
  16123.      * Restituisce l'elenco degli handlers di tipo PreInResponseHandlerBuiltIn
  16124.      *
  16125.      * @return  Restituisce l'elenco degli handlers di tipo PreInResponseHandlerBuiltIn
  16126.      */
  16127.     private String[] tipiPreInResponseHandlerBuiltIn = null;
  16128.     private boolean tipiPreInResponseHandlerBuiltInRead = false;
  16129.     public String[] getPreInResponseHandlerBuiltIn() {
  16130.         if(this.tipiPreInResponseHandlerBuiltInRead == false){
  16131.             try{
  16132.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.built-in.pre-in-response");
  16133.                 if(value!=null){
  16134.                     value = value.trim();
  16135.                     String [] r = value.split(",");
  16136.                     this.tipiPreInResponseHandlerBuiltIn = r;
  16137.                 }else{
  16138.                     this.tipiPreInResponseHandlerBuiltIn = null;
  16139.                 }
  16140.             }catch(java.lang.Exception e) {
  16141.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.built-in.pre-in-response': "+e.getMessage(),e);
  16142.                 this.tipiPreInResponseHandlerBuiltIn = null;
  16143.             }  
  16144.             this.tipiPreInResponseHandlerBuiltInRead = true;
  16145.         }

  16146.         return this.tipiPreInResponseHandlerBuiltIn;
  16147.     }
  16148.    
  16149.     /**
  16150.      * Restituisce l'elenco degli handlers di tipo InResponseHandlerBuiltIn
  16151.      *
  16152.      * @return  Restituisce l'elenco degli handlers di tipo InResponseHandlerBuiltIn
  16153.      */
  16154.     private String[] tipiInResponseHandlerBuiltIn = null;
  16155.     private boolean tipiInResponseHandlerBuiltInRead = false;
  16156.     public String[] getInResponseHandlerBuiltIn() {
  16157.         if(this.tipiInResponseHandlerBuiltInRead == false){
  16158.             try{
  16159.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.built-in.in-response");
  16160.                 if(value!=null){
  16161.                     value = value.trim();
  16162.                     String [] r = value.split(",");
  16163.                     this.tipiInResponseHandlerBuiltIn = r;
  16164.                 }else{
  16165.                     this.tipiInResponseHandlerBuiltIn = null;
  16166.                 }
  16167.             }catch(java.lang.Exception e) {
  16168.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.built-in.in-response': "+e.getMessage(),e);
  16169.                 this.tipiInResponseHandlerBuiltIn = null;
  16170.             }  
  16171.             this.tipiInResponseHandlerBuiltInRead = true;
  16172.         }

  16173.         return this.tipiInResponseHandlerBuiltIn;
  16174.     }
  16175.    
  16176.     /**
  16177.      * Restituisce l'elenco degli handlers di tipo OutResponseHandlerBuiltIn
  16178.      *
  16179.      * @return  Restituisce l'elenco degli handlers di tipo OutResponseHandlerBuiltIn
  16180.      */
  16181.     private String[] tipiOutResponseHandlerBuiltIn = null;
  16182.     private boolean tipiOutResponseHandlerBuiltInRead = false;
  16183.     public String[] getOutResponseHandlerBuiltIn() {
  16184.         if(this.tipiOutResponseHandlerBuiltInRead == false){
  16185.             try{
  16186.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.built-in.out-response");
  16187.                 if(value!=null){
  16188.                     value = value.trim();
  16189.                     String [] r = value.split(",");
  16190.                     this.tipiOutResponseHandlerBuiltIn = r;
  16191.                 }else{
  16192.                     this.tipiOutResponseHandlerBuiltIn = null;
  16193.                 }
  16194.             }catch(java.lang.Exception e) {
  16195.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.built-in.out-response': "+e.getMessage(),e);
  16196.                 this.tipiOutResponseHandlerBuiltIn = null;
  16197.             }  
  16198.             this.tipiOutResponseHandlerBuiltInRead = true;
  16199.         }

  16200.         return this.tipiOutResponseHandlerBuiltIn;
  16201.     }
  16202.    
  16203.     /**
  16204.      * Restituisce l'elenco degli handlers di tipo PostOutResponseHandlerBuiltIn
  16205.      *
  16206.      * @return  Restituisce l'elenco degli handlers di tipo PostOutResponseHandlerBuiltIn
  16207.      */
  16208.     private String[] tipiPostOutResponseHandlerBuiltIn = null;
  16209.     private boolean tipiPostOutResponseHandlerBuiltInRead = false;
  16210.     public String[] getPostOutResponseHandlerBuiltIn() {
  16211.         if(this.tipiPostOutResponseHandlerBuiltInRead == false){
  16212.             try{
  16213.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.built-in.post-out-response");
  16214.                 if(value!=null){
  16215.                     value = value.trim();
  16216.                     String [] r = value.split(",");
  16217.                     this.tipiPostOutResponseHandlerBuiltIn = r;
  16218.                 }else{
  16219.                     this.tipiPostOutResponseHandlerBuiltIn = null;
  16220.                 }
  16221.             }catch(java.lang.Exception e) {
  16222.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.built-in.post-out-response': "+e.getMessage(),e);
  16223.                 this.tipiPostOutResponseHandlerBuiltIn = null;
  16224.             }  
  16225.             this.tipiPostOutResponseHandlerBuiltInRead = true;
  16226.         }

  16227.         return this.tipiPostOutResponseHandlerBuiltIn;
  16228.     }

  16229.     /**
  16230.      * Restituisce l'elenco degli handlers di tipo IntegrationManagerRequestHandlerBuiltIn
  16231.      *
  16232.      * @return  Restituisce l'elenco degli handlers di tipo IntegrationManagerRequestHandlerBuiltIn
  16233.      */
  16234.     private String[] tipiIntegrationManagerRequestHandlerBuiltIn = null;
  16235.     private boolean tipiIntegrationManagerRequestHandlerBuiltInRead = false;
  16236.     public String[] getIntegrationManagerRequestHandlerBuiltIn() {
  16237.         if(this.tipiIntegrationManagerRequestHandlerBuiltInRead == false){
  16238.             try{
  16239.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrationManager.handler.built-in.request");
  16240.                 if(value!=null){
  16241.                     value = value.trim();
  16242.                     String [] r = value.split(",");
  16243.                     this.tipiIntegrationManagerRequestHandlerBuiltIn = r;
  16244.                 }else{
  16245.                     this.tipiIntegrationManagerRequestHandlerBuiltIn = null;
  16246.                 }
  16247.             }catch(java.lang.Exception e) {
  16248.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.integrationManager.handler.built-in.request': "+e.getMessage(),e);
  16249.                 this.tipiIntegrationManagerRequestHandlerBuiltIn = null;
  16250.             }  
  16251.             this.tipiIntegrationManagerRequestHandlerBuiltInRead = true;
  16252.         }

  16253.         return this.tipiIntegrationManagerRequestHandlerBuiltIn;
  16254.     }
  16255.    
  16256.     /**
  16257.      * Restituisce l'elenco degli handlers di tipo IntegrationManagerResponseHandlerBuiltIn
  16258.      *
  16259.      * @return  Restituisce l'elenco degli handlers di tipo IntegrationManagerResponseHandlerBuiltIn
  16260.      */
  16261.     private String[] tipiIntegrationManagerResponseHandlerBuiltIn = null;
  16262.     private boolean tipiIntegrationManagerResponseHandlerBuiltInRead = false;
  16263.     public String[] getIntegrationManagerResponseHandlerBuiltIn() {
  16264.         if(this.tipiIntegrationManagerResponseHandlerBuiltInRead == false){
  16265.             try{
  16266.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrationManager.handler.built-in.response");
  16267.                 if(value!=null){
  16268.                     value = value.trim();
  16269.                     String [] r = value.split(",");
  16270.                     this.tipiIntegrationManagerResponseHandlerBuiltIn = r;
  16271.                 }else{
  16272.                     this.tipiIntegrationManagerResponseHandlerBuiltIn = null;
  16273.                 }
  16274.             }catch(java.lang.Exception e) {
  16275.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.integrationManager.handler.built-in.response': "+e.getMessage(),e);
  16276.                 this.tipiIntegrationManagerResponseHandlerBuiltIn = null;
  16277.             }  
  16278.             this.tipiIntegrationManagerResponseHandlerBuiltInRead = true;
  16279.         }

  16280.         return this.tipiIntegrationManagerResponseHandlerBuiltIn;
  16281.     }
  16282.    
  16283.    
  16284.    
  16285.    
  16286.    

  16287.     /*---------- Gestori handler -------------*/
  16288.    
  16289.     private Boolean printInfoHandler = null;
  16290.     public boolean isPrintInfoHandler() {  
  16291.         if(this.printInfoHandler==null){
  16292.             try{
  16293.                 String v = null;
  16294.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.printInfo");
  16295.                 if(v!=null){
  16296.                     v = v.trim();
  16297.                     this.printInfoHandler = Boolean.parseBoolean(v);
  16298.                 }
  16299.                 else{
  16300.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.handler.printInfo' non impostata, viene utilizzato il default="+true);
  16301.                     this.printInfoHandler = true;
  16302.                 }
  16303.             }catch(java.lang.Exception e) {
  16304.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.handler.printInfo' non impostata correttamente,  errore:"+e.getMessage(),e);
  16305.             }
  16306.         }
  16307.         return this.printInfoHandler;
  16308.     }
  16309.    
  16310.     /**
  16311.      * Restituisce l'elenco degli handlers di tipo InitHandler
  16312.      *
  16313.      * @return  Restituisce l'elenco degli handlers di tipo InitHandler
  16314.      */
  16315.     private String[] tipiInitHandler = null;
  16316.     private boolean tipiInitHandlerRead = false;
  16317.     public String[] getInitHandler() {
  16318.         if(this.tipiInitHandlerRead == false){
  16319.             try{
  16320.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.init");
  16321.                 if(value!=null){
  16322.                     value = value.trim();
  16323.                     String [] r = value.split(",");
  16324.                     this.tipiInitHandler = r;
  16325.                 }else{
  16326.                     this.tipiInitHandler = null;
  16327.                 }
  16328.             }catch(java.lang.Exception e) {
  16329.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.init': "+e.getMessage(),e);
  16330.                 this.tipiInitHandler = null;
  16331.             }  
  16332.             this.tipiInitHandlerRead = true;
  16333.         }

  16334.         return this.tipiInitHandler;
  16335.     }
  16336.    
  16337.     /**
  16338.      * Restituisce l'elenco degli handlers di tipo ExitHandler
  16339.      *
  16340.      * @return  Restituisce l'elenco degli handlers di tipo ExitHandler
  16341.      */
  16342.     private String[] tipiExitHandler = null;
  16343.     private boolean tipiExitHandlerRead = false;
  16344.     public String[] getExitHandler() {
  16345.         if(this.tipiExitHandlerRead == false){
  16346.             try{
  16347.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.exit");
  16348.                 if(value!=null){
  16349.                     value = value.trim();
  16350.                     String [] r = value.split(",");
  16351.                     this.tipiExitHandler = r;
  16352.                 }else{
  16353.                     this.tipiExitHandler = null;
  16354.                 }
  16355.             }catch(java.lang.Exception e) {
  16356.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.exit': "+e.getMessage(),e);
  16357.                 this.tipiExitHandler = null;
  16358.             }  
  16359.             this.tipiExitHandlerRead = true;
  16360.         }

  16361.         return this.tipiExitHandler;
  16362.     }
  16363.    
  16364.     /**
  16365.      * Restituisce l'elenco degli handlers di tipo PreInRequestHandler
  16366.      *
  16367.      * @return  Restituisce l'elenco degli handlers di tipo PreInRequestHandler
  16368.      */
  16369.     private String[] tipiPreInRequestHandler = null;
  16370.     private boolean tipiPreInRequestHandlerRead = false;
  16371.     public String[] getPreInRequestHandler() {
  16372.         if(this.tipiPreInRequestHandlerRead == false){
  16373.             try{
  16374.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.pre-in-request");
  16375.                 if(value!=null){
  16376.                     value = value.trim();
  16377.                     String [] r = value.split(",");
  16378.                     this.tipiPreInRequestHandler = r;
  16379.                 }else{
  16380.                     this.tipiPreInRequestHandler = null;
  16381.                 }
  16382.             }catch(java.lang.Exception e) {
  16383.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.pre-in-request': "+e.getMessage(),e);
  16384.                 this.tipiPreInRequestHandler = null;
  16385.             }  
  16386.             this.tipiPreInRequestHandlerRead = true;
  16387.         }

  16388.         return this.tipiPreInRequestHandler;
  16389.     }

  16390.    
  16391.     /**
  16392.      * Restituisce l'elenco degli handlers di tipo InRequestHandler
  16393.      *
  16394.      * @return  Restituisce l'elenco degli handlers di tipo InRequestHandler
  16395.      */
  16396.     private String[] tipiInRequestHandler = null;
  16397.     private boolean tipiInRequestHandlerRead = false;
  16398.     public String[] getInRequestHandler() {
  16399.         if(this.tipiInRequestHandlerRead == false){
  16400.             try{
  16401.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.in-request");
  16402.                 if(value!=null){
  16403.                     value = value.trim();
  16404.                     String [] r = value.split(",");
  16405.                     this.tipiInRequestHandler = r;
  16406.                 }else{
  16407.                     this.tipiInRequestHandler = null;
  16408.                 }
  16409.             }catch(java.lang.Exception e) {
  16410.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.in-request': "+e.getMessage(),e);
  16411.                 this.tipiInRequestHandler = null;
  16412.             }  
  16413.             this.tipiInRequestHandlerRead = true;
  16414.         }

  16415.         return this.tipiInRequestHandler;
  16416.     }
  16417.    
  16418.     /**
  16419.      * Restituisce l'elenco degli handlers di tipo InRequestProtocolHandler
  16420.      *
  16421.      * @return  Restituisce l'elenco degli handlers di tipo InRequestProtocolHandler
  16422.      */
  16423.     private String[] tipiInRequestProtocolHandler = null;
  16424.     private boolean tipiInRequestProtocolHandlerRead = false;
  16425.     public String[] getInRequestProtocolHandler() {
  16426.         if(this.tipiInRequestProtocolHandlerRead == false){
  16427.             try{
  16428.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.in-protocol-request");
  16429.                 if(value!=null){
  16430.                     value = value.trim();
  16431.                     String [] r = value.split(",");
  16432.                     this.tipiInRequestProtocolHandler = r;
  16433.                 }else{
  16434.                     this.tipiInRequestProtocolHandler = null;
  16435.                 }
  16436.             }catch(java.lang.Exception e) {
  16437.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.in-protocol-request': "+e.getMessage(),e);
  16438.                 this.tipiInRequestProtocolHandler = null;
  16439.             }  
  16440.             this.tipiInRequestProtocolHandlerRead = true;
  16441.         }

  16442.         return this.tipiInRequestProtocolHandler;
  16443.     }
  16444.    
  16445.     /**
  16446.      * Restituisce l'elenco degli handlers di tipo OutRequestHandler
  16447.      *
  16448.      * @return  Restituisce l'elenco degli handlers di tipo OutRequestHandler
  16449.      */
  16450.     private String[] tipiOutRequestHandler = null;
  16451.     private boolean tipiOutRequestHandlerRead = false;
  16452.     public String[] getOutRequestHandler() {
  16453.         if(this.tipiOutRequestHandlerRead == false){
  16454.             try{
  16455.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.out-request");
  16456.                 if(value!=null){
  16457.                     value = value.trim();
  16458.                     String [] r = value.split(",");
  16459.                     this.tipiOutRequestHandler = r;
  16460.                 }else{
  16461.                     this.tipiOutRequestHandler = null;
  16462.                 }
  16463.             }catch(java.lang.Exception e) {
  16464.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.out-request': "+e.getMessage(),e);
  16465.                 this.tipiOutRequestHandler = null;
  16466.             }  
  16467.             this.tipiOutRequestHandlerRead = true;
  16468.         }

  16469.         return this.tipiOutRequestHandler;
  16470.     }
  16471.    
  16472.     /**
  16473.      * Restituisce l'elenco degli handlers di tipo PostOutRequestHandler
  16474.      *
  16475.      * @return  Restituisce l'elenco degli handlers di tipo PostOutRequestHandler
  16476.      */
  16477.     private String[] tipiPostOutRequestHandler = null;
  16478.     private boolean tipiPostOutRequestHandlerRead = false;
  16479.     public String[] getPostOutRequestHandler() {
  16480.         if(this.tipiPostOutRequestHandlerRead == false){
  16481.             try{
  16482.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.post-out-request");
  16483.                 if(value!=null){
  16484.                     value = value.trim();
  16485.                     String [] r = value.split(",");
  16486.                     this.tipiPostOutRequestHandler = r;
  16487.                 }else{
  16488.                     this.tipiPostOutRequestHandler = null;
  16489.                 }
  16490.             }catch(java.lang.Exception e) {
  16491.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.post-out-request': "+e.getMessage(),e);
  16492.                 this.tipiPostOutRequestHandler = null;
  16493.             }  
  16494.             this.tipiPostOutRequestHandlerRead = true;
  16495.         }

  16496.         return this.tipiPostOutRequestHandler;
  16497.     }
  16498.    
  16499.     /**
  16500.      * Restituisce l'elenco degli handlers di tipo PreInResponseHandler
  16501.      *
  16502.      * @return  Restituisce l'elenco degli handlers di tipo PreInResponseHandler
  16503.      */
  16504.     private String[] tipiPreInResponseHandler = null;
  16505.     private boolean tipiPreInResponseHandlerRead = false;
  16506.     public String[] getPreInResponseHandler() {
  16507.         if(this.tipiPreInResponseHandlerRead == false){
  16508.             try{
  16509.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.pre-in-response");
  16510.                 if(value!=null){
  16511.                     value = value.trim();
  16512.                     String [] r = value.split(",");
  16513.                     this.tipiPreInResponseHandler = r;
  16514.                 }else{
  16515.                     this.tipiPreInResponseHandler = null;
  16516.                 }
  16517.             }catch(java.lang.Exception e) {
  16518.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.pre-in-response': "+e.getMessage(),e);
  16519.                 this.tipiPreInResponseHandler = null;
  16520.             }  
  16521.             this.tipiPreInResponseHandlerRead = true;
  16522.         }

  16523.         return this.tipiPreInResponseHandler;
  16524.     }
  16525.    
  16526.     /**
  16527.      * Restituisce l'elenco degli handlers di tipo InResponseHandler
  16528.      *
  16529.      * @return  Restituisce l'elenco degli handlers di tipo InResponseHandler
  16530.      */
  16531.     private String[] tipiInResponseHandler = null;
  16532.     private boolean tipiInResponseHandlerRead = false;
  16533.     public String[] getInResponseHandler() {
  16534.         if(this.tipiInResponseHandlerRead == false){
  16535.             try{
  16536.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.in-response");
  16537.                 if(value!=null){
  16538.                     value = value.trim();
  16539.                     String [] r = value.split(",");
  16540.                     this.tipiInResponseHandler = r;
  16541.                 }else{
  16542.                     this.tipiInResponseHandler = null;
  16543.                 }
  16544.             }catch(java.lang.Exception e) {
  16545.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.in-response': "+e.getMessage(),e);
  16546.                 this.tipiInResponseHandler = null;
  16547.             }  
  16548.             this.tipiInResponseHandlerRead = true;
  16549.         }

  16550.         return this.tipiInResponseHandler;
  16551.     }
  16552.    
  16553.     /**
  16554.      * Restituisce l'elenco degli handlers di tipo OutResponseHandler
  16555.      *
  16556.      * @return  Restituisce l'elenco degli handlers di tipo OutResponseHandler
  16557.      */
  16558.     private String[] tipiOutResponseHandler = null;
  16559.     private boolean tipiOutResponseHandlerRead = false;
  16560.     public String[] getOutResponseHandler() {
  16561.         if(this.tipiOutResponseHandlerRead == false){
  16562.             try{
  16563.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.out-response");
  16564.                 if(value!=null){
  16565.                     value = value.trim();
  16566.                     String [] r = value.split(",");
  16567.                     this.tipiOutResponseHandler = r;
  16568.                 }else{
  16569.                     this.tipiOutResponseHandler = null;
  16570.                 }
  16571.             }catch(java.lang.Exception e) {
  16572.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.out-response': "+e.getMessage(),e);
  16573.                 this.tipiOutResponseHandler = null;
  16574.             }  
  16575.             this.tipiOutResponseHandlerRead = true;
  16576.         }

  16577.         return this.tipiOutResponseHandler;
  16578.     }
  16579.    
  16580.     /**
  16581.      * Restituisce l'elenco degli handlers di tipo PostOutResponseHandler
  16582.      *
  16583.      * @return  Restituisce l'elenco degli handlers di tipo PostOutResponseHandler
  16584.      */
  16585.     private String[] tipiPostOutResponseHandler = null;
  16586.     private boolean tipiPostOutResponseHandlerRead = false;
  16587.     public String[] getPostOutResponseHandler() {
  16588.         if(this.tipiPostOutResponseHandlerRead == false){
  16589.             try{
  16590.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.handler.post-out-response");
  16591.                 if(value!=null){
  16592.                     value = value.trim();
  16593.                     String [] r = value.split(",");
  16594.                     this.tipiPostOutResponseHandler = r;
  16595.                 }else{
  16596.                     this.tipiPostOutResponseHandler = null;
  16597.                 }
  16598.             }catch(java.lang.Exception e) {
  16599.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.handler.post-out-response': "+e.getMessage(),e);
  16600.                 this.tipiPostOutResponseHandler = null;
  16601.             }  
  16602.             this.tipiPostOutResponseHandlerRead = true;
  16603.         }

  16604.         return this.tipiPostOutResponseHandler;
  16605.     }

  16606.     /**
  16607.      * Restituisce l'elenco degli handlers di tipo IntegrationManagerRequestHandler
  16608.      *
  16609.      * @return  Restituisce l'elenco degli handlers di tipo IntegrationManagerRequestHandler
  16610.      */
  16611.     private String[] tipiIntegrationManagerRequestHandler = null;
  16612.     private boolean tipiIntegrationManagerRequestHandlerRead = false;
  16613.     public String[] getIntegrationManagerRequestHandler() {
  16614.         if(this.tipiIntegrationManagerRequestHandlerRead == false){
  16615.             try{
  16616.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrationManager.handler.request");
  16617.                 if(value!=null){
  16618.                     value = value.trim();
  16619.                     String [] r = value.split(",");
  16620.                     this.tipiIntegrationManagerRequestHandler = r;
  16621.                 }else{
  16622.                     this.tipiIntegrationManagerRequestHandler = null;
  16623.                 }
  16624.             }catch(java.lang.Exception e) {
  16625.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.integrationManager.handler.request': "+e.getMessage(),e);
  16626.                 this.tipiIntegrationManagerRequestHandler = null;
  16627.             }  
  16628.             this.tipiIntegrationManagerRequestHandlerRead = true;
  16629.         }

  16630.         return this.tipiIntegrationManagerRequestHandler;
  16631.     }
  16632.    
  16633.     /**
  16634.      * Restituisce l'elenco degli handlers di tipo IntegrationManagerResponseHandler
  16635.      *
  16636.      * @return  Restituisce l'elenco degli handlers di tipo IntegrationManagerResponseHandler
  16637.      */
  16638.     private String[] tipiIntegrationManagerResponseHandler = null;
  16639.     private boolean tipiIntegrationManagerResponseHandlerRead = false;
  16640.     public String[] getIntegrationManagerResponseHandler() {
  16641.         if(this.tipiIntegrationManagerResponseHandlerRead == false){
  16642.             try{
  16643.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.integrationManager.handler.response");
  16644.                 if(value!=null){
  16645.                     value = value.trim();
  16646.                     String [] r = value.split(",");
  16647.                     this.tipiIntegrationManagerResponseHandler = r;
  16648.                 }else{
  16649.                     this.tipiIntegrationManagerResponseHandler = null;
  16650.                 }
  16651.             }catch(java.lang.Exception e) {
  16652.                 this.logError("Riscontrato errore durante la lettura dei tipi di handler 'org.openspcoop2.pdd.integrationManager.handler.response': "+e.getMessage(),e);
  16653.                 this.tipiIntegrationManagerResponseHandler = null;
  16654.             }  
  16655.             this.tipiIntegrationManagerResponseHandlerRead = true;
  16656.         }

  16657.         return this.tipiIntegrationManagerResponseHandler;
  16658.     }









  16659.     /* ----------- MessageSecurity --------------------- */
  16660.    
  16661.     private Boolean isLoadApacheXMLDSig = null;
  16662.     public boolean isLoadApacheXMLDSig(){

  16663.         String pName = "org.openspcoop2.pdd.security.addApacheXMLDSigProvider";
  16664.         if(this.isLoadApacheXMLDSig==null){
  16665.             try{  
  16666.                 String value = this.reader.getValueConvertEnvProperties(pName);

  16667.                 if (value != null){
  16668.                     value = value.trim();
  16669.                     this.isLoadApacheXMLDSig = Boolean.parseBoolean(value);
  16670.                 }else{
  16671.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  16672.                     this.isLoadApacheXMLDSig = true;
  16673.                 }

  16674.             }catch(java.lang.Exception e) {
  16675.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  16676.                 this.isLoadApacheXMLDSig = true;
  16677.             }
  16678.         }

  16679.         return this.isLoadApacheXMLDSig;
  16680.     }
  16681.    
  16682.     private Boolean isLoadBouncyCastle = null;
  16683.     public boolean isLoadBouncyCastle(){

  16684.         if(this.isLoadBouncyCastle==null){
  16685.             try{  
  16686.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.security.addBouncyCastleProvider");

  16687.                 if (value != null){
  16688.                     value = value.trim();
  16689.                     this.isLoadBouncyCastle = Boolean.parseBoolean(value);
  16690.                 }else{
  16691.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.security.addBouncyCastleProvider' non impostata, viene utilizzato il default=true");
  16692.                     this.isLoadBouncyCastle = true;
  16693.                 }

  16694.             }catch(java.lang.Exception e) {
  16695.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.security.addBouncyCastleProvider' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  16696.                 this.isLoadBouncyCastle = true;
  16697.             }
  16698.         }

  16699.         return this.isLoadBouncyCastle;
  16700.     }
  16701.    
  16702.     private Boolean secureRandomBouncyCastle_read = null;
  16703.     private String bouncyCastleSecureRandomAlgo = null;
  16704.     public String getBouncyCastleSecureRandomAlgorithm(){

  16705.         String pName = "org.openspcoop2.pdd.security.bouncyCastleProvider.secureRandomAlgorithm";
  16706.         if(this.secureRandomBouncyCastle_read==null){
  16707.             try{  
  16708.                 String value = this.reader.getValueConvertEnvProperties(pName);

  16709.                 if (value != null){
  16710.                     value = value.trim();
  16711.                     this.bouncyCastleSecureRandomAlgo = value;
  16712.                 }

  16713.             }catch(java.lang.Exception e) {
  16714.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  16715.                 this.bouncyCastleSecureRandomAlgo = null;
  16716.             }
  16717.            
  16718.             this.secureRandomBouncyCastle_read = true;
  16719.         }

  16720.         return this.bouncyCastleSecureRandomAlgo;
  16721.     }
  16722.    
  16723.     private Boolean isUseBouncyCastleProviderForCertificate = null;
  16724.     public boolean isUseBouncyCastleProviderForCertificate(){

  16725.         if(this.isUseBouncyCastleProviderForCertificate==null){
  16726.             String pName = "org.openspcoop2.pdd.security.cert.useBouncyCastleProvider";
  16727.             try{  
  16728.                 String value = this.reader.getValueConvertEnvProperties(pName);

  16729.                 if (value != null){
  16730.                     value = value.trim();
  16731.                     this.isUseBouncyCastleProviderForCertificate = Boolean.parseBoolean(value);
  16732.                 }else{
  16733.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  16734.                     this.isUseBouncyCastleProviderForCertificate = true;
  16735.                 }

  16736.             }catch(java.lang.Exception e) {
  16737.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  16738.                 this.isUseBouncyCastleProviderForCertificate = true;
  16739.             }
  16740.         }

  16741.         return this.isUseBouncyCastleProviderForCertificate;
  16742.     }
  16743.    
  16744.     private Boolean isUseBouncyCastleProviderForMessageDigest = null;
  16745.     public boolean isUseBouncyCastleProviderForMessageDigest(){

  16746.         if(this.isUseBouncyCastleProviderForMessageDigest==null){
  16747.             String pName = "org.openspcoop2.pdd.security.digest.useBouncyCastleProvider";
  16748.             try{  
  16749.                 String value = this.reader.getValueConvertEnvProperties(pName);

  16750.                 if (value != null){
  16751.                     value = value.trim();
  16752.                     this.isUseBouncyCastleProviderForMessageDigest = Boolean.parseBoolean(value);
  16753.                 }else{
  16754.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  16755.                     this.isUseBouncyCastleProviderForMessageDigest = true;
  16756.                 }

  16757.             }catch(java.lang.Exception e) {
  16758.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  16759.                 this.isUseBouncyCastleProviderForMessageDigest = true;
  16760.             }
  16761.         }

  16762.         return this.isUseBouncyCastleProviderForMessageDigest;
  16763.     }
  16764.    
  16765.     private Boolean isUseBouncyCastleProviderForWss4jCryptoMerlin = null;
  16766.     public boolean isUseBouncyCastleProviderForWss4jCryptoMerlin(){

  16767.         if(this.isUseBouncyCastleProviderForWss4jCryptoMerlin==null){
  16768.             String pName = "org.openspcoop2.pdd.security.wss4jCryptoMerlin.useBouncyCastleProvider";
  16769.             try{  
  16770.                 String value = this.reader.getValueConvertEnvProperties(pName);

  16771.                 if (value != null){
  16772.                     value = value.trim();
  16773.                     this.isUseBouncyCastleProviderForWss4jCryptoMerlin = Boolean.parseBoolean(value);
  16774.                 }else{
  16775.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  16776.                     this.isUseBouncyCastleProviderForWss4jCryptoMerlin = true;
  16777.                 }

  16778.             }catch(java.lang.Exception e) {
  16779.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  16780.                 this.isUseBouncyCastleProviderForWss4jCryptoMerlin = true;
  16781.             }
  16782.         }

  16783.         return this.isUseBouncyCastleProviderForWss4jCryptoMerlin;
  16784.     }
  16785.    
  16786.     private Boolean securityEgd_read = null;
  16787.     private String securityEgd = null;
  16788.     public String getSecurityEgd(){

  16789.         String pName = "org.openspcoop2.pdd.security.egd";
  16790.         if(this.securityEgd_read==null){
  16791.             try{  
  16792.                 String value = this.reader.getValueConvertEnvProperties(pName);

  16793.                 if (value != null){
  16794.                     value = value.trim();
  16795.                     this.securityEgd = value;
  16796.                 }

  16797.             }catch(java.lang.Exception e) {
  16798.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  16799.                 this.securityEgd = null;
  16800.             }
  16801.            
  16802.             this.securityEgd_read = true;
  16803.         }

  16804.         return this.securityEgd;
  16805.     }
  16806.    
  16807.     /**
  16808.      * Indicazione se generare un actor di default
  16809.      *  
  16810.      * @return Indicazione se generare un actor di default
  16811.      *
  16812.      */
  16813.     private Boolean isGenerazioneActorDefault = null;
  16814.     public boolean isGenerazioneActorDefault(String implementazionePdDSoggetto){

  16815.         // ovverriding per implementazione porta di dominio
  16816.         if(this.pddReader!=null){
  16817.             String tipo = this.pddReader.getMessageSecurity_ActorDefaultEnable(implementazionePdDSoggetto);
  16818.             if(tipo!=null && (
  16819.                     CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo) ||
  16820.                     CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo)  )
  16821.             ){
  16822.                 if(CostantiConfigurazione.TRUE.equalsIgnoreCase(tipo))
  16823.                     return true;
  16824.                 else if(CostantiConfigurazione.FALSE.equalsIgnoreCase(tipo))
  16825.                     return false;
  16826.             }
  16827.         }

  16828.         if(this.isGenerazioneActorDefault==null){
  16829.             try{  
  16830.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.messageSecurity.actorDefault.enable");

  16831.                 if (value != null){
  16832.                     value = value.trim();
  16833.                     this.isGenerazioneActorDefault = Boolean.parseBoolean(value);
  16834.                 }else{
  16835.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.actorDefault.enable' non impostata, viene utilizzato il default=true");
  16836.                     this.isGenerazioneActorDefault = true;
  16837.                 }

  16838.             }catch(java.lang.Exception e) {
  16839.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.actorDefault.enable' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  16840.                 this.isGenerazioneActorDefault = true;
  16841.             }
  16842.         }

  16843.         return this.isGenerazioneActorDefault;
  16844.     }


  16845.     /**
  16846.      * Actor di default
  16847.      *  
  16848.      * @return actor di default
  16849.      *
  16850.      */
  16851.     private String actorDefault = null;
  16852.     public String getActorDefault(String implementazionePdDSoggetto){

  16853.         // ovverriding per implementazione porta di dominio
  16854.         if(this.pddReader!=null){
  16855.             String valore = this.pddReader.getMessageSecurity_ActorDefaultValue(implementazionePdDSoggetto);
  16856.             if(valore!=null){
  16857.                 return valore;
  16858.             }
  16859.         }

  16860.         if(this.actorDefault==null){
  16861.             try{  
  16862.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.messageSecurity.actorDefault.valore");

  16863.                 if (value != null){
  16864.                     value = value.trim();
  16865.                     this.actorDefault = value;
  16866.                 }else{
  16867.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.actorDefault.valore' non impostata, viene utilizzato il default=openspcoop");
  16868.                     this.actorDefault = "openspcoop";
  16869.                 }

  16870.             }catch(java.lang.Exception e) {
  16871.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.actorDefault.valore' non impostata, viene utilizzato il default=openspcoop, errore:"+e.getMessage(),e);
  16872.                 this.actorDefault = "openspcoop";
  16873.             }
  16874.         }

  16875.         return this.actorDefault;
  16876.     }
  16877.    
  16878.     /**
  16879.      * WsuId prefix associato agli id delle reference utilizzate dagli header di MessageSecurity
  16880.      *  
  16881.      * @return prefix
  16882.      *
  16883.      */
  16884.     private String prefixWsuId = null;
  16885.     public String getPrefixWsuId(){

  16886.         if(this.prefixWsuId==null){
  16887.             try{  
  16888.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.messageSecurity.prefixWsuId");

  16889.                 if (value != null){
  16890.                     value = value.trim();
  16891.                     this.prefixWsuId = value;
  16892.                 }else{
  16893.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.prefixWsuId' non impostata, viene utilizzato il default di MessageSecurity");
  16894.                     this.prefixWsuId = "";
  16895.                 }

  16896.             }catch(java.lang.Exception e) {
  16897.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.prefixWsuId' non impostata, viene utilizzato il default di MessageSecurity, errore:"+e.getMessage(),e);
  16898.                 this.prefixWsuId = "";
  16899.             }
  16900.         }

  16901.         return this.prefixWsuId;
  16902.     }
  16903.    
  16904.     private Boolean secureRandomWsuId_read = null;
  16905.     private String wsuIdSecureRandomAlgo = null;
  16906.     public String getWsuIdSecureRandomAlgorithm(){

  16907.         String pName = "org.openspcoop2.pdd.messageSecurity.wsuId.secureRandomAlgorithm";
  16908.         if(this.secureRandomWsuId_read==null){
  16909.             try{  
  16910.                 String value = this.reader.getValueConvertEnvProperties(pName);

  16911.                 if (value != null){
  16912.                     value = value.trim();
  16913.                     this.wsuIdSecureRandomAlgo = value;
  16914.                 }

  16915.             }catch(java.lang.Exception e) {
  16916.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  16917.                 this.wsuIdSecureRandomAlgo = null;
  16918.             }
  16919.            
  16920.             this.secureRandomWsuId_read = true;
  16921.         }

  16922.         return this.wsuIdSecureRandomAlgo;
  16923.     }
  16924.    
  16925.     private Boolean removeAllWsuIdRef = null;
  16926.     public boolean isRemoveAllWsuIdRef(){

  16927.         if(this.removeAllWsuIdRef==null){
  16928.             try{  
  16929.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.messageSecurity.removeAllWsuIdRef");

  16930.                 if (value != null){
  16931.                     value = value.trim();
  16932.                     this.removeAllWsuIdRef = Boolean.parseBoolean(value);
  16933.                 }else{
  16934.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.removeAllWsuIdRef' non impostata, viene utilizzato il default 'false'");
  16935.                     this.removeAllWsuIdRef = false;
  16936.                 }

  16937.             }catch(java.lang.Exception e) {
  16938.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.removeAllWsuIdRef' non impostata, viene utilizzato il default 'false', errore:"+e.getMessage(),e);
  16939.                 this.removeAllWsuIdRef = false;
  16940.             }
  16941.         }

  16942.         return this.removeAllWsuIdRef;
  16943.     }
  16944.    
  16945.     private String externalPWCallback = null;
  16946.     private Boolean externalPWCallbackReaded = null;
  16947.     public String getExternalPWCallbackPropertyFile(){

  16948.         if(this.externalPWCallbackReaded==null){
  16949.             try{  
  16950.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.messageSecurity.externalPWCallback.propertiesFile");

  16951.                 if (value != null){
  16952.                     value = value.trim();
  16953.                     this.externalPWCallback = value;
  16954.                 }else{
  16955.                     this.logDebug("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.externalPWCallback.propertiesFile' non impostata");
  16956.                     this.externalPWCallback = null;
  16957.                 }
  16958.                 this.externalPWCallbackReaded = true;

  16959.             }catch(java.lang.Exception e) {
  16960.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.externalPWCallback.propertiesFile' non impostata, errore:"+e.getMessage(),e);
  16961.                 this.externalPWCallback = null;
  16962.                 this.externalPWCallbackReaded = true;
  16963.             }
  16964.         }

  16965.         return this.externalPWCallback;
  16966.     }


  16967.     /**
  16968.      * Restituisce l'indicazione se la cache messageSecurity e' abilitata
  16969.      *
  16970.      * @return Restituisce l'indicazione se la cache messageSecurity e' abilitata
  16971.      */
  16972.     private Boolean isAbilitataCacheMessageSecurityKeystore_value = null;
  16973.     public boolean isAbilitataCacheMessageSecurityKeystore() {
  16974.         if(this.isAbilitataCacheMessageSecurityKeystore_value==null){
  16975.             try{  
  16976.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.messageSecurity.keystore.cache.enable");
  16977.                 if(value!=null){
  16978.                     value = value.trim();
  16979.                     this.isAbilitataCacheMessageSecurityKeystore_value = Boolean.parseBoolean(value);
  16980.                 }else{
  16981.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.keystore.cache.enable' non impostata, viene utilizzato il default=false");
  16982.                     this.isAbilitataCacheMessageSecurityKeystore_value = false;
  16983.                 }
  16984.             }catch(java.lang.Exception e) {
  16985.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.keystore.cache.enable' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  16986.                 this.isAbilitataCacheMessageSecurityKeystore_value = false;
  16987.             }
  16988.         }

  16989.         return this.isAbilitataCacheMessageSecurityKeystore_value;
  16990.     }

  16991.     /**
  16992.      * Restituisce la dimensione della cache messageSecurity
  16993.      *
  16994.      * @return Restituisce la dimensione della cache messageSecurity
  16995.      */
  16996.     private Integer dimensioneCacheMessageSecurityKeystore_value = null;
  16997.     public int getDimensioneCacheMessageSecurityKeystore() throws OpenSPCoop2ConfigurationException{    
  16998.         if(this.dimensioneCacheMessageSecurityKeystore_value==null){
  16999.             try{  
  17000.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.messageSecurity.keystore.cache.dimensione");
  17001.                 if(value!=null){
  17002.                     value = value.trim();
  17003.                     this.dimensioneCacheMessageSecurityKeystore_value = Integer.parseInt(value);
  17004.                 }else{
  17005.                     this.dimensioneCacheMessageSecurityKeystore_value = -1;
  17006.                 }
  17007.             }catch(java.lang.Exception e) {
  17008.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.keystore.cache.dimensione': "+e.getMessage(),e);
  17009.                 throw new OpenSPCoop2ConfigurationException("Riscontrato errore durante la lettura della proprieta' di openspcoop  'org.openspcoop2.pdd.messageSecurity.keystore.cache.dimensione'",e);
  17010.             }
  17011.         }

  17012.         return this.dimensioneCacheMessageSecurityKeystore_value;
  17013.     }

  17014.     /**
  17015.      * Restituisce la  itemLifeSecond della cache messageSecurity
  17016.      *
  17017.      * @return Restituisce la itemLifeSecond della cache messageSecurity
  17018.      */
  17019.     private Integer itemLifeSecondCacheMessageSecurityKeystore_value = null;
  17020.     public int getItemLifeSecondCacheMessageSecurityKeystore() throws OpenSPCoop2ConfigurationException{
  17021.         if(this.itemLifeSecondCacheMessageSecurityKeystore_value==null){
  17022.             try{  
  17023.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.messageSecurity.keystore.cache.itemLifeSecond");
  17024.                 if(value!=null){
  17025.                     value = value.trim();
  17026.                     this.itemLifeSecondCacheMessageSecurityKeystore_value = Integer.parseInt(value);
  17027.                 }else{
  17028.                     this.itemLifeSecondCacheMessageSecurityKeystore_value = -1;
  17029.                 }
  17030.             }catch(java.lang.Exception e) {
  17031.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.keystore.cache.itemLifeSecond': "+e.getMessage(),e);
  17032.                 throw new OpenSPCoop2ConfigurationException("Riscontrato errore durante la lettura della proprieta' di openspcoop  'org.openspcoop2.pdd.messageSecurity.keystore.cache.itemLifeSecond'",e);
  17033.             }
  17034.         }

  17035.         return this.itemLifeSecondCacheMessageSecurityKeystore_value;
  17036.     }
  17037.    
  17038.    
  17039.    
  17040.    
  17041.    
  17042.    
  17043.     /* ********  Gestore Credenziali  ******** */

  17044.     private Boolean getAutenticazioneLockPermitsRead = null;
  17045.     private Integer getAutenticazioneLockPermits = null;
  17046.     public Integer getAutenticazioneLockPermits() {

  17047.         String pName = "org.openspcoop2.pdd.core.autenticazione.lock.permits";
  17048.         if(this.getAutenticazioneLockPermitsRead==null){
  17049.             try{  
  17050.                 String value = this.reader.getValueConvertEnvProperties(pName);

  17051.                 if (value != null){
  17052.                     value = value.trim();
  17053.                     int permits = Integer.parseInt(value);
  17054.                     if(permits>1) {
  17055.                         // altrimenti è un normale semaphore binario
  17056.                         this.getAutenticazioneLockPermits = permits;
  17057.                     }
  17058.                 }
  17059.                
  17060.                
  17061.             }catch(java.lang.Exception e) {
  17062.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  17063.             }
  17064.            
  17065.             this.getAutenticazioneLockPermitsRead = true;
  17066.         }

  17067.         return this.getAutenticazioneLockPermits;
  17068.     }
  17069.    
  17070.     private Map<String, Integer> getTipoAutenticazioneLockPermits = null;
  17071.     public Integer getAutenticazioneLockPermits(String tipoAutenticazione) {

  17072.         String pName = "org.openspcoop2.pdd.core.autenticazione.lock.permits.";
  17073.         if(this.getTipoAutenticazioneLockPermits==null){
  17074.            
  17075.             this.getTipoAutenticazioneLockPermits = new HashMap<>();
  17076.            
  17077.             try{  
  17078.                 Properties p = this.reader.readPropertiesConvertEnvProperties(pName);
  17079.                 processAutenticazioneLockPermits(p);
  17080.             }catch(java.lang.Exception e) {
  17081.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  17082.             }
  17083.            
  17084.         }

  17085.         return this.getTipoAutenticazioneLockPermits.get(tipoAutenticazione);
  17086.     }
  17087.     private void processAutenticazioneLockPermits(Properties p) {
  17088.         if(p!=null && !p.isEmpty()) {
  17089.             for (Object oKey : p.keySet()) {
  17090.                 if(oKey!=null) {
  17091.                     String key = (String) oKey;
  17092.                     String value = p.getProperty(key);
  17093.                     processAutenticazioneLockPermits(key, value);
  17094.                 }
  17095.             }
  17096.         }
  17097.     }
  17098.     private void processAutenticazioneLockPermits(String key, String value) {
  17099.         if(value!=null) {
  17100.             int permits = Integer.parseInt(value);
  17101.             if(permits>1) {
  17102.                 // altrimenti è un normale semaphore binario
  17103.                 this.getTipoAutenticazioneLockPermits.put(key, permits);
  17104.             }
  17105.         }
  17106.     }
  17107.    
  17108.     private Boolean isGestioneAutenticazioneSaveTokenAuthenticationInfoAuthenticationFailed = null;
  17109.     public boolean isGestioneAutenticazioneSaveTokenAuthenticationInfoAuthenticationFailed(){

  17110.         if(this.isGestioneAutenticazioneSaveTokenAuthenticationInfoAuthenticationFailed==null){
  17111.             String pName = "org.openspcoop2.pdd.core.autenticazione.gestioneToken.saveAuthenticationInfo.authenticationFailed";
  17112.             try{  
  17113.                 String value = this.reader.getValueConvertEnvProperties(pName);

  17114.                 if (value != null){
  17115.                     value = value.trim();
  17116.                     this.isGestioneAutenticazioneSaveTokenAuthenticationInfoAuthenticationFailed = Boolean.parseBoolean(value);
  17117.                 }else{
  17118.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  17119.                     this.isGestioneAutenticazioneSaveTokenAuthenticationInfoAuthenticationFailed = true;
  17120.                 }

  17121.             }catch(java.lang.Exception e) {
  17122.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  17123.                 this.isGestioneAutenticazioneSaveTokenAuthenticationInfoAuthenticationFailed = true;
  17124.             }
  17125.         }

  17126.         return this.isGestioneAutenticazioneSaveTokenAuthenticationInfoAuthenticationFailed;
  17127.     }
  17128.    
  17129.     private CryptConfig getCryptConfigAutenticazioneApplicativi = null;
  17130.     public CryptConfig getCryptConfigAutenticazioneApplicativi() {
  17131.         if(this.getCryptConfigAutenticazioneApplicativi == null){
  17132.             try{  
  17133.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.core.autenticazione.applicativi.password");
  17134.                 if(value!=null){
  17135.                     value = value.trim();
  17136.                     this.getCryptConfigAutenticazioneApplicativi = new CryptConfig(value);
  17137.                 }
  17138.             }catch(java.lang.Exception e) {
  17139.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.core.autenticazione.applicativi.password': "+e.getMessage(),e);
  17140.                 return null;
  17141.             }
  17142.         }

  17143.         return this.getCryptConfigAutenticazioneApplicativi;
  17144.     }
  17145.    
  17146.     private CryptConfig getCryptConfigAutenticazioneSoggetti = null;
  17147.     public CryptConfig getCryptConfigAutenticazioneSoggetti() {
  17148.         if(this.getCryptConfigAutenticazioneSoggetti == null){
  17149.             try{  
  17150.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.core.autenticazione.soggetti.password");
  17151.                 if(value!=null){
  17152.                     value = value.trim();
  17153.                     this.getCryptConfigAutenticazioneSoggetti = new CryptConfig(value);
  17154.                 }
  17155.             }catch(java.lang.Exception e) {
  17156.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.core.autenticazione.soggetti.password': "+e.getMessage(),e);
  17157.                 return null;
  17158.             }
  17159.         }

  17160.         return this.getCryptConfigAutenticazioneSoggetti;
  17161.     }

  17162.     private Boolean isAutenticazioneBasicLogPassword = null;
  17163.     public boolean isAutenticazioneBasicLogPassword() {
  17164.         String pName = "org.openspcoop2.pdd.core.autenticazione.basic.invalidCredentials.logPassword";
  17165.         if(this.isAutenticazioneBasicLogPassword == null){
  17166.             try{  
  17167.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17168.                 if(value!=null){
  17169.                     value = value.trim();
  17170.                     this.isAutenticazioneBasicLogPassword = Boolean.valueOf(value);
  17171.                 }
  17172.                 else {
  17173.                     this.logError("Proprieta' di openspcoop '"+pName+"' non definita; viene usato il default=false");
  17174.                     this.isAutenticazioneBasicLogPassword = false;
  17175.                 }
  17176.             }catch(java.lang.Exception e) {
  17177.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"'; viene usato il default=false. Errore: "+e.getMessage(),e);
  17178.                 this.isAutenticazioneBasicLogPassword = false;
  17179.             }
  17180.         }

  17181.         return this.isAutenticazioneBasicLogPassword;
  17182.     }
  17183.    
  17184.     private WWWAuthenticateConfig getRealmAutenticazioneBasicWWWAuthenticateConfig = null;
  17185.     private boolean getRealmAutenticazioneBasicWWWAuthenticateConfig_read = false;
  17186.     public WWWAuthenticateConfig getRealmAutenticazioneBasicWWWAuthenticateConfig() {
  17187.         if(this.getRealmAutenticazioneBasicWWWAuthenticateConfig_read == false){
  17188.            
  17189. //          String pNameAuth = "org.openspcoop2.pdd.core.autenticazione.basic.authType";
  17190. //          String authType = null;
  17191. //          try{  
  17192. //              authType = this.reader.getValue_convertEnvProperties(pNameAuth);
  17193. //              if(authType!=null){
  17194. //                  authType = authType.trim();
  17195. //              }
  17196. //          }catch(java.lang.Exception e) {
  17197. //              this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameAuth+"': "+e.getMessage(),e);
  17198. //          }
  17199.             String authType = HttpConstants.AUTHENTICATION_BASIC;
  17200.            
  17201.             String pNameRealm = "org.openspcoop2.pdd.core.autenticazione.basic.realm";
  17202.             String realm = null;
  17203.             try {
  17204.                 realm = this.reader.getValueConvertEnvProperties(pNameRealm);
  17205.                 if(realm!=null){
  17206.                     realm = realm.trim();
  17207.                 }
  17208.             }catch(java.lang.Exception e) {
  17209.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameRealm+"': "+e.getMessage(),e);
  17210.             }
  17211.            
  17212.             if(authType!=null && !"".equals(authType) && realm!=null && !"".equals(realm)) {
  17213.                 this.getRealmAutenticazioneBasicWWWAuthenticateConfig = new WWWAuthenticateConfig();
  17214.                 this.getRealmAutenticazioneBasicWWWAuthenticateConfig.setAuthType(authType);
  17215.                 this.getRealmAutenticazioneBasicWWWAuthenticateConfig.setRealm(realm);
  17216.                
  17217.                 String pNameErrorDescription = "org.openspcoop2.pdd.core.autenticazione.basic.error_description.notFound";
  17218.                 String error_description = null;
  17219.                 try {
  17220.                     error_description = this.reader.getValueConvertEnvProperties(pNameErrorDescription);
  17221.                     if(error_description!=null){
  17222.                         error_description = error_description.trim();
  17223.                         if(!"".equals(error_description)) {
  17224.                             this.getRealmAutenticazioneBasicWWWAuthenticateConfig.setNotFound_error(WWWAuthenticateErrorCode.invalid_request.name());
  17225.                             this.getRealmAutenticazioneBasicWWWAuthenticateConfig.setNotFound_error_description(error_description);
  17226.                         }
  17227.                     }
  17228.                 }catch(java.lang.Exception e) {
  17229.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameErrorDescription+"': "+e.getMessage(),e);
  17230.                 }
  17231.                
  17232.                 pNameErrorDescription = "org.openspcoop2.pdd.core.autenticazione.basic.error_description.invalid";
  17233.                 error_description = null;
  17234.                 try {
  17235.                     error_description = this.reader.getValueConvertEnvProperties(pNameErrorDescription);
  17236.                     if(error_description!=null){
  17237.                         error_description = error_description.trim();
  17238.                         if(!"".equals(error_description)) {
  17239.                             this.getRealmAutenticazioneBasicWWWAuthenticateConfig.setInvalid_error(WWWAuthenticateErrorCode.invalid_request.name());
  17240.                             this.getRealmAutenticazioneBasicWWWAuthenticateConfig.setInvalid_error_description(error_description);
  17241.                         }
  17242.                     }
  17243.                 }catch(java.lang.Exception e) {
  17244.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameErrorDescription+"': "+e.getMessage(),e);
  17245.                 }
  17246.             }
  17247.            
  17248.             this.getRealmAutenticazioneBasicWWWAuthenticateConfig_read = true;
  17249.         }

  17250.         return this.getRealmAutenticazioneBasicWWWAuthenticateConfig;
  17251.     }
  17252.    
  17253.     private WWWAuthenticateConfig getRealmAutenticazioneApiKeyWWWAuthenticateConfig = null;
  17254.     private boolean getRealmAutenticazioneApiKeyWWWAuthenticateConfig_read = false;
  17255.     public WWWAuthenticateConfig getRealmAutenticazioneApiKeyWWWAuthenticateConfig() {
  17256.         if(this.getRealmAutenticazioneApiKeyWWWAuthenticateConfig_read == false){
  17257.            
  17258.             String pNameAuth = "org.openspcoop2.pdd.core.autenticazione.apiKey.authType";
  17259.             String authType = null;
  17260.             try{  
  17261.                 authType = this.reader.getValueConvertEnvProperties(pNameAuth);
  17262.                 if(authType!=null){
  17263.                     authType = authType.trim();
  17264.                 }
  17265.             }catch(java.lang.Exception e) {
  17266.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameAuth+"': "+e.getMessage(),e);
  17267.             }
  17268.            
  17269.             String pNameRealm = "org.openspcoop2.pdd.core.autenticazione.apiKey.realm";
  17270.             String realm = null;
  17271.             try {
  17272.                 realm = this.reader.getValueConvertEnvProperties(pNameRealm);
  17273.                 if(realm!=null){
  17274.                     realm = realm.trim();
  17275.                 }
  17276.             }catch(java.lang.Exception e) {
  17277.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameRealm+"': "+e.getMessage(),e);
  17278.             }
  17279.            
  17280.             if(authType!=null && !"".equals(authType) && realm!=null && !"".equals(realm)) {
  17281.                 this.getRealmAutenticazioneApiKeyWWWAuthenticateConfig = new WWWAuthenticateConfig();
  17282.                 this.getRealmAutenticazioneApiKeyWWWAuthenticateConfig.setAuthType(authType);
  17283.                 this.getRealmAutenticazioneApiKeyWWWAuthenticateConfig.setRealm(realm);
  17284.                
  17285.                 String pNameErrorDescription = "org.openspcoop2.pdd.core.autenticazione.apiKey.error_description.notFound";
  17286.                 String error_description = null;
  17287.                 try {
  17288.                     error_description = this.reader.getValueConvertEnvProperties(pNameErrorDescription);
  17289.                     if(error_description!=null){
  17290.                         error_description = error_description.trim();
  17291.                         if(!"".equals(error_description)) {
  17292.                             this.getRealmAutenticazioneApiKeyWWWAuthenticateConfig.setNotFound_error(WWWAuthenticateErrorCode.invalid_request.name());
  17293.                             this.getRealmAutenticazioneApiKeyWWWAuthenticateConfig.setNotFound_error_description(error_description);
  17294.                         }
  17295.                     }
  17296.                 }catch(java.lang.Exception e) {
  17297.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameErrorDescription+"': "+e.getMessage(),e);
  17298.                 }
  17299.                
  17300.                 pNameErrorDescription = "org.openspcoop2.pdd.core.autenticazione.apiKey.error_description.invalid";
  17301.                 error_description = null;
  17302.                 try {
  17303.                     error_description = this.reader.getValueConvertEnvProperties(pNameErrorDescription);
  17304.                     if(error_description!=null){
  17305.                         error_description = error_description.trim();
  17306.                         if(!"".equals(error_description)) {
  17307.                             this.getRealmAutenticazioneApiKeyWWWAuthenticateConfig.setInvalid_error(WWWAuthenticateErrorCode.invalid_request.name());
  17308.                             this.getRealmAutenticazioneApiKeyWWWAuthenticateConfig.setInvalid_error_description(error_description);
  17309.                         }
  17310.                     }
  17311.                 }catch(java.lang.Exception e) {
  17312.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameErrorDescription+"': "+e.getMessage(),e);
  17313.                 }
  17314.             }
  17315.            
  17316.             this.getRealmAutenticazioneApiKeyWWWAuthenticateConfig_read = true;
  17317.         }

  17318.         return this.getRealmAutenticazioneApiKeyWWWAuthenticateConfig;
  17319.     }
  17320.    
  17321.     private Boolean isAutenticazioneHttpsPortaDelegataValidityCheck = null;
  17322.     public boolean isAutenticazioneHttpsPortaDelegataValidityCheck() {
  17323.         String pName = "org.openspcoop2.pdd.core.autenticazione.https.ricezioneContenutiApplicativi.validityCheck";
  17324.         if(this.isAutenticazioneHttpsPortaDelegataValidityCheck == null){
  17325.             try{  
  17326.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17327.                 if(value!=null){
  17328.                     value = value.trim();
  17329.                     this.isAutenticazioneHttpsPortaDelegataValidityCheck = Boolean.valueOf(value);
  17330.                 }
  17331.                 else {
  17332.                     this.logError("Proprieta' di openspcoop '"+pName+"' non definita; viene usato il default=true");
  17333.                     this.isAutenticazioneHttpsPortaDelegataValidityCheck = true;
  17334.                 }
  17335.             }catch(java.lang.Exception e) {
  17336.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"'; viene usato il default=true. Errore: "+e.getMessage(),e);
  17337.                 this.isAutenticazioneHttpsPortaDelegataValidityCheck = true;
  17338.             }
  17339.         }

  17340.         return this.isAutenticazioneHttpsPortaDelegataValidityCheck;
  17341.     }
  17342.    
  17343.     private File getAutenticazioneHttpsPortaDelegataTruststorePath = null;
  17344.     private Boolean getAutenticazioneHttpsPortaDelegataTruststorePath_read = null;
  17345.     public File getAutenticazioneHttpsPortaDelegataTruststorePath() throws CoreException {
  17346.         String pName = "org.openspcoop2.pdd.core.autenticazione.https.ricezioneContenutiApplicativi.truststore.path";
  17347.         if(this.getAutenticazioneHttpsPortaDelegataTruststorePath_read == null){
  17348.             try{  
  17349.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17350.                 if(value!=null){
  17351.                     value = value.trim();
  17352.                     this.getAutenticazioneHttpsPortaDelegataTruststorePath = new File(value);
  17353.                     if(this.getAutenticazioneHttpsPortaDelegataTruststorePath.exists()) {
  17354.                         if(!this.getAutenticazioneHttpsPortaDelegataTruststorePath.isFile()) {
  17355.                             throw newCoreExceptionNotFile(this.getAutenticazioneHttpsPortaDelegataTruststorePath, false);
  17356.                         }
  17357.                         if(!this.getAutenticazioneHttpsPortaDelegataTruststorePath.canRead()) {
  17358.                             throw newCoreExceptionCannotRead(this.getAutenticazioneHttpsPortaDelegataTruststorePath,false);
  17359.                         }
  17360.                     }
  17361.                     else {
  17362.                         this.getAutenticazioneHttpsPortaDelegataTruststorePath=null;
  17363.                     }
  17364.                 }
  17365.             }catch(java.lang.Exception e) {
  17366.                 throw new CoreException("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  17367.             }
  17368.             this.getAutenticazioneHttpsPortaDelegataTruststorePath_read = true;
  17369.         }

  17370.         return this.getAutenticazioneHttpsPortaDelegataTruststorePath;
  17371.     }
  17372.    
  17373.     private String getAutenticazioneHttpsPortaDelegataTruststorePassword = null;
  17374.     private Boolean getAutenticazioneHttpsPortaDelegataTruststorePassword_read = null;
  17375.     public String getAutenticazioneHttpsPortaDelegataTruststorePassword() throws CoreException {
  17376.         String pName = "org.openspcoop2.pdd.core.autenticazione.https.ricezioneContenutiApplicativi.truststore.password";
  17377.         if(this.getAutenticazioneHttpsPortaDelegataTruststorePassword_read == null){
  17378.             try{  
  17379.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17380.                 if(value!=null){
  17381.                     value = value.trim();
  17382.                     this.getAutenticazioneHttpsPortaDelegataTruststorePassword = value;
  17383.                 }
  17384.             }catch(java.lang.Exception e) {
  17385.                 throw new CoreException("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  17386.             }
  17387.             this.getAutenticazioneHttpsPortaDelegataTruststorePassword_read = true;
  17388.         }

  17389.         return this.getAutenticazioneHttpsPortaDelegataTruststorePassword;
  17390.     }
  17391.    
  17392.     private String getAutenticazioneHttpsPortaDelegataTruststoreType = null;
  17393.     public String getAutenticazioneHttpsPortaDelegataTruststoreType() throws CoreException {
  17394.         String pName = "org.openspcoop2.pdd.core.autenticazione.https.ricezioneContenutiApplicativi.truststore.type";
  17395.         if(this.getAutenticazioneHttpsPortaDelegataTruststoreType == null){
  17396.             try{  
  17397.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17398.                 if(value!=null){
  17399.                     value = value.trim();
  17400.                     this.getAutenticazioneHttpsPortaDelegataTruststoreType = value;
  17401.                 }
  17402.                 else {
  17403.                     this.getAutenticazioneHttpsPortaDelegataTruststoreType = KeystoreType.JKS.getNome();
  17404.                 }
  17405.             }catch(java.lang.Exception e) {
  17406.                 throw new CoreException("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  17407.             }
  17408.         }

  17409.         return this.getAutenticazioneHttpsPortaDelegataTruststoreType;
  17410.     }
  17411.    
  17412.     private String getAutenticazioneHttpsPortaDelegataTruststoreCRLs = null;
  17413.     private Boolean getAutenticazioneHttpsPortaDelegataTruststoreCRLs_read = null;
  17414.     public String getAutenticazioneHttpsPortaDelegataTruststoreCRLs() throws CoreException {
  17415.         String pName = "org.openspcoop2.pdd.core.autenticazione.https.ricezioneContenutiApplicativi.truststore.crls";
  17416.         if(this.getAutenticazioneHttpsPortaDelegataTruststoreCRLs_read == null){
  17417.             try{  
  17418.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17419.                 if(value!=null){
  17420.                     value = value.trim();
  17421.                     this.getAutenticazioneHttpsPortaDelegataTruststoreCRLs = value;
  17422.                 }
  17423.             }catch(java.lang.Exception e) {
  17424.                 throw new CoreException("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  17425.             }
  17426.             this.getAutenticazioneHttpsPortaDelegataTruststoreCRLs_read = true;
  17427.         }

  17428.         return this.getAutenticazioneHttpsPortaDelegataTruststoreCRLs;
  17429.     }
  17430.    
  17431.     private String getAutenticazioneHttpsPortaDelegataTruststoreOCSPPolicy = null;
  17432.     private Boolean getAutenticazioneHttpsPortaDelegataTruststoreOCSPPolicy_read = null;
  17433.     public String getAutenticazioneHttpsPortaDelegataTruststoreOCSPPolicy() throws CoreException {
  17434.         String pName = "org.openspcoop2.pdd.core.autenticazione.https.ricezioneContenutiApplicativi.truststore.ocspPolicy";
  17435.         if(this.getAutenticazioneHttpsPortaDelegataTruststoreOCSPPolicy_read == null){
  17436.             try{  
  17437.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17438.                 if(value!=null){
  17439.                     value = value.trim();
  17440.                     this.getAutenticazioneHttpsPortaDelegataTruststoreOCSPPolicy = value;
  17441.                 }
  17442.             }catch(java.lang.Exception e) {
  17443.                 throw new CoreException("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  17444.             }
  17445.             this.getAutenticazioneHttpsPortaDelegataTruststoreOCSPPolicy_read = true;
  17446.         }

  17447.         return this.getAutenticazioneHttpsPortaDelegataTruststoreOCSPPolicy;
  17448.     }
  17449.    
  17450.     private Boolean isAutenticazioneHttpsPortaApplicativaValidityCheck = null;
  17451.     public boolean isAutenticazioneHttpsPortaApplicativaValidityCheck() {
  17452.         String pName = "org.openspcoop2.pdd.core.autenticazione.https.ricezioneBuste.validityCheck";
  17453.         if(this.isAutenticazioneHttpsPortaApplicativaValidityCheck == null){
  17454.             try{  
  17455.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17456.                 if(value!=null){
  17457.                     value = value.trim();
  17458.                     this.isAutenticazioneHttpsPortaApplicativaValidityCheck = Boolean.valueOf(value);
  17459.                 }
  17460.                 else {
  17461.                     this.logError("Proprieta' di openspcoop '"+pName+"' non definita; viene usato il default=true");
  17462.                     this.isAutenticazioneHttpsPortaApplicativaValidityCheck = true;
  17463.                 }
  17464.             }catch(java.lang.Exception e) {
  17465.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"'; viene usato il default=true. Errore: "+e.getMessage(),e);
  17466.                 this.isAutenticazioneHttpsPortaApplicativaValidityCheck = true;
  17467.             }
  17468.         }

  17469.         return this.isAutenticazioneHttpsPortaApplicativaValidityCheck;
  17470.     }
  17471.    
  17472.     private File getAutenticazioneHttpsPortaApplicativaTruststorePath = null;
  17473.     private Boolean getAutenticazioneHttpsPortaApplicativaTruststorePath_read = null;
  17474.     public File getAutenticazioneHttpsPortaApplicativaTruststorePath() throws CoreException {
  17475.         String pName = "org.openspcoop2.pdd.core.autenticazione.https.ricezioneBuste.truststore.path";
  17476.         if(this.getAutenticazioneHttpsPortaApplicativaTruststorePath_read == null){
  17477.             try{  
  17478.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17479.                 if(value!=null){
  17480.                     value = value.trim();
  17481.                     this.getAutenticazioneHttpsPortaApplicativaTruststorePath = new File(value);
  17482.                     if(this.getAutenticazioneHttpsPortaApplicativaTruststorePath.exists()) {
  17483.                         if(!this.getAutenticazioneHttpsPortaApplicativaTruststorePath.isFile()) {
  17484.                             throw newCoreExceptionNotFile(this.getAutenticazioneHttpsPortaApplicativaTruststorePath, false);
  17485.                         }
  17486.                         if(!this.getAutenticazioneHttpsPortaApplicativaTruststorePath.canRead()) {
  17487.                             throw newCoreExceptionCannotRead(this.getAutenticazioneHttpsPortaApplicativaTruststorePath, false);
  17488.                         }
  17489.                     }
  17490.                     else {
  17491.                         this.getAutenticazioneHttpsPortaApplicativaTruststorePath=null;
  17492.                     }
  17493.                 }
  17494.             }catch(java.lang.Exception e) {
  17495.                 throw new CoreException("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  17496.             }
  17497.             this.getAutenticazioneHttpsPortaApplicativaTruststorePath_read = true;
  17498.         }

  17499.         return this.getAutenticazioneHttpsPortaApplicativaTruststorePath;
  17500.     }
  17501.    
  17502.     private String getAutenticazioneHttpsPortaApplicativaTruststorePassword = null;
  17503.     private Boolean getAutenticazioneHttpsPortaApplicativaTruststorePassword_read = null;
  17504.     public String getAutenticazioneHttpsPortaApplicativaTruststorePassword() throws CoreException {
  17505.         String pName = "org.openspcoop2.pdd.core.autenticazione.https.ricezioneBuste.truststore.password";
  17506.         if(this.getAutenticazioneHttpsPortaApplicativaTruststorePassword_read == null){
  17507.             try{  
  17508.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17509.                 if(value!=null){
  17510.                     value = value.trim();
  17511.                     this.getAutenticazioneHttpsPortaApplicativaTruststorePassword = value;
  17512.                 }
  17513.             }catch(java.lang.Exception e) {
  17514.                 throw new CoreException("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  17515.             }
  17516.             this.getAutenticazioneHttpsPortaApplicativaTruststorePassword_read = true;
  17517.         }

  17518.         return this.getAutenticazioneHttpsPortaApplicativaTruststorePassword;
  17519.     }
  17520.    
  17521.     private String getAutenticazioneHttpsPortaApplicativaTruststoreType = null;
  17522.     public String getAutenticazioneHttpsPortaApplicativaTruststoreType() throws CoreException {
  17523.         String pName = "org.openspcoop2.pdd.core.autenticazione.https.ricezioneBuste.truststore.type";
  17524.         if(this.getAutenticazioneHttpsPortaApplicativaTruststoreType == null){
  17525.             try{  
  17526.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17527.                 if(value!=null){
  17528.                     value = value.trim();
  17529.                     this.getAutenticazioneHttpsPortaApplicativaTruststoreType = value;
  17530.                 }
  17531.                 else {
  17532.                     this.getAutenticazioneHttpsPortaApplicativaTruststoreType = KeystoreType.JKS.getNome();
  17533.                 }
  17534.             }catch(java.lang.Exception e) {
  17535.                 throw new CoreException("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  17536.             }
  17537.         }

  17538.         return this.getAutenticazioneHttpsPortaApplicativaTruststoreType;
  17539.     }
  17540.    
  17541.     private String getAutenticazioneHttpsPortaApplicativaTruststoreCRLs = null;
  17542.     private Boolean getAutenticazioneHttpsPortaApplicativaTruststoreCRLs_read = null;
  17543.     public String getAutenticazioneHttpsPortaApplicativaTruststoreCRLs() throws CoreException {
  17544.         String pName = "org.openspcoop2.pdd.core.autenticazione.https.ricezioneBuste.truststore.crls";
  17545.         if(this.getAutenticazioneHttpsPortaApplicativaTruststoreCRLs_read == null){
  17546.             try{  
  17547.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17548.                 if(value!=null){
  17549.                     value = value.trim();
  17550.                     this.getAutenticazioneHttpsPortaApplicativaTruststoreCRLs = value;
  17551.                 }
  17552.             }catch(java.lang.Exception e) {
  17553.                 throw new CoreException("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  17554.             }
  17555.             this.getAutenticazioneHttpsPortaApplicativaTruststoreCRLs_read = true;
  17556.         }

  17557.         return this.getAutenticazioneHttpsPortaApplicativaTruststoreCRLs;
  17558.     }
  17559.    
  17560.     private String getAutenticazioneHttpsPortaApplicativaTruststoreOCSPPolicy = null;
  17561.     private Boolean getAutenticazioneHttpsPortaApplicativaTruststoreOCSPPolicy_read = null;
  17562.     public String getAutenticazioneHttpsPortaApplicativaTruststoreOCSPPolicy() throws CoreException {
  17563.         String pName = "org.openspcoop2.pdd.core.autenticazione.https.ricezioneBuste.truststore.ocspPolicy";
  17564.         if(this.getAutenticazioneHttpsPortaApplicativaTruststoreOCSPPolicy_read == null){
  17565.             try{  
  17566.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17567.                 if(value!=null){
  17568.                     value = value.trim();
  17569.                     this.getAutenticazioneHttpsPortaApplicativaTruststoreOCSPPolicy = value;
  17570.                 }
  17571.             }catch(java.lang.Exception e) {
  17572.                 throw new CoreException("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  17573.             }
  17574.             this.getAutenticazioneHttpsPortaApplicativaTruststoreOCSPPolicy_read = true;
  17575.         }

  17576.         return this.getAutenticazioneHttpsPortaApplicativaTruststoreOCSPPolicy;
  17577.     }
  17578.    
  17579.    
  17580.     private Boolean isAutenticazioneHttpsPortaDelegataCheckSoggettiProprietari = null;
  17581.     public boolean isAutenticazioneHttpsPortaDelegataCheckSoggettiProprietari() {
  17582.         String pName = "org.openspcoop2.pdd.core.autenticazione.https.portaDelegata.checkSoggettiProprietari";
  17583.         if(this.isAutenticazioneHttpsPortaDelegataCheckSoggettiProprietari == null){
  17584.             try{  
  17585.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17586.                 if(value!=null){
  17587.                     value = value.trim();
  17588.                     this.isAutenticazioneHttpsPortaDelegataCheckSoggettiProprietari = Boolean.valueOf(value);
  17589.                 }
  17590.                 else {
  17591.                     this.logError("Proprieta' di openspcoop '"+pName+"' non definita; viene usato il default=true");
  17592.                     this.isAutenticazioneHttpsPortaDelegataCheckSoggettiProprietari = true;
  17593.                 }
  17594.             }catch(java.lang.Exception e) {
  17595.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"'; viene usato il default=true. Errore: "+e.getMessage(),e);
  17596.                 this.isAutenticazioneHttpsPortaDelegataCheckSoggettiProprietari = true;
  17597.             }
  17598.         }

  17599.         return this.isAutenticazioneHttpsPortaDelegataCheckSoggettiProprietari;
  17600.     }
  17601.    
  17602.     private WWWAuthenticateConfig getRealmAutenticazioneHttpsWWWAuthenticateConfig = null;
  17603.     private boolean getRealmAutenticazioneHttpsWWWAuthenticateConfig_read = false;
  17604.     public WWWAuthenticateConfig getRealmAutenticazioneHttpsWWWAuthenticateConfig() {
  17605.         if(this.getRealmAutenticazioneHttpsWWWAuthenticateConfig_read == false){
  17606.            
  17607.             String pNameAuth = "org.openspcoop2.pdd.core.autenticazione.https.authType";
  17608.             String authType = null;
  17609.             try{  
  17610.                 authType = this.reader.getValueConvertEnvProperties(pNameAuth);
  17611.                 if(authType!=null){
  17612.                     authType = authType.trim();
  17613.                 }
  17614.             }catch(java.lang.Exception e) {
  17615.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameAuth+"': "+e.getMessage(),e);
  17616.             }
  17617.            
  17618.             String pNameRealm = "org.openspcoop2.pdd.core.autenticazione.https.realm";
  17619.             String realm = null;
  17620.             try {
  17621.                 realm = this.reader.getValueConvertEnvProperties(pNameRealm);
  17622.                 if(realm!=null){
  17623.                     realm = realm.trim();
  17624.                 }
  17625.             }catch(java.lang.Exception e) {
  17626.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameRealm+"': "+e.getMessage(),e);
  17627.             }
  17628.            
  17629.             if(authType!=null && !"".equals(authType) && realm!=null && !"".equals(realm)) {
  17630.                 this.getRealmAutenticazioneHttpsWWWAuthenticateConfig = new WWWAuthenticateConfig();
  17631.                 this.getRealmAutenticazioneHttpsWWWAuthenticateConfig.setAuthType(authType);
  17632.                 this.getRealmAutenticazioneHttpsWWWAuthenticateConfig.setRealm(realm);
  17633.                
  17634.                 String pNameErrorDescription = "org.openspcoop2.pdd.core.autenticazione.https.error_description.notFound";
  17635.                 String error_description = null;
  17636.                 try {
  17637.                     error_description = this.reader.getValueConvertEnvProperties(pNameErrorDescription);
  17638.                     if(error_description!=null){
  17639.                         error_description = error_description.trim();
  17640.                         if(!"".equals(error_description)) {
  17641.                             this.getRealmAutenticazioneHttpsWWWAuthenticateConfig.setNotFound_error(WWWAuthenticateErrorCode.invalid_request.name());
  17642.                             this.getRealmAutenticazioneHttpsWWWAuthenticateConfig.setNotFound_error_description(error_description);
  17643.                         }
  17644.                     }
  17645.                 }catch(java.lang.Exception e) {
  17646.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameErrorDescription+"': "+e.getMessage(),e);
  17647.                 }
  17648.                
  17649.                 pNameErrorDescription = "org.openspcoop2.pdd.core.autenticazione.https.error_description.invalid";
  17650.                 error_description = null;
  17651.                 try {
  17652.                     error_description = this.reader.getValueConvertEnvProperties(pNameErrorDescription);
  17653.                     if(error_description!=null){
  17654.                         error_description = error_description.trim();
  17655.                         if(!"".equals(error_description)) {
  17656.                             this.getRealmAutenticazioneHttpsWWWAuthenticateConfig.setInvalid_error(WWWAuthenticateErrorCode.invalid_request.name());
  17657.                             this.getRealmAutenticazioneHttpsWWWAuthenticateConfig.setInvalid_error_description(error_description);
  17658.                         }
  17659.                     }
  17660.                 }catch(java.lang.Exception e) {
  17661.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameErrorDescription+"': "+e.getMessage(),e);
  17662.                 }
  17663.             }
  17664.            
  17665.             this.getRealmAutenticazioneHttpsWWWAuthenticateConfig_read = true;
  17666.         }

  17667.         return this.getRealmAutenticazioneHttpsWWWAuthenticateConfig;
  17668.     }
  17669.    
  17670.     private Boolean isAutenticazionePrincipalPortaDelegataCheckSoggettiProprietari = null;
  17671.     public boolean isAutenticazionePrincipalPortaDelegataCheckSoggettiProprietari() {
  17672.         String pName = "org.openspcoop2.pdd.core.autenticazione.principal.portaDelegata.checkSoggettiProprietari";
  17673.         if(this.isAutenticazionePrincipalPortaDelegataCheckSoggettiProprietari == null){
  17674.             try{  
  17675.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17676.                 if(value!=null){
  17677.                     value = value.trim();
  17678.                     this.isAutenticazionePrincipalPortaDelegataCheckSoggettiProprietari = Boolean.valueOf(value);
  17679.                 }
  17680.                 else {
  17681.                     this.logError("Proprieta' di openspcoop '"+pName+"' non definita; viene usato il default=true");
  17682.                     this.isAutenticazionePrincipalPortaDelegataCheckSoggettiProprietari = true;
  17683.                 }
  17684.             }catch(java.lang.Exception e) {
  17685.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"'; viene usato il default=true. Errore: "+e.getMessage(),e);
  17686.                 this.isAutenticazionePrincipalPortaDelegataCheckSoggettiProprietari = true;
  17687.             }
  17688.         }

  17689.         return this.isAutenticazionePrincipalPortaDelegataCheckSoggettiProprietari;
  17690.     }
  17691.    
  17692.     private Map<TipoAutenticazionePrincipal, WWWAuthenticateConfig> getRealmAutenticazionePrincipalWWWAuthenticateConfig = new HashMap<TipoAutenticazionePrincipal, WWWAuthenticateConfig>();
  17693.     public WWWAuthenticateConfig getRealmAutenticazionePrincipalWWWAuthenticateConfig(TipoAutenticazionePrincipal principal) {
  17694.         if(!this.getRealmAutenticazionePrincipalWWWAuthenticateConfig.containsKey(principal)){
  17695.            
  17696.             String pNameAuth = "org.openspcoop2.pdd.core.autenticazione.principal."+principal.getValue()+".authType";
  17697.             String authType = null;
  17698.             try{  
  17699.                 authType = this.reader.getValueConvertEnvProperties(pNameAuth);
  17700.                 if(authType!=null){
  17701.                     authType = authType.trim();
  17702.                 }
  17703.             }catch(java.lang.Exception e) {
  17704.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameAuth+"': "+e.getMessage(),e);
  17705.             }
  17706.            
  17707.             String pNameRealm = "org.openspcoop2.pdd.core.autenticazione.principal."+principal.getValue()+".realm";
  17708.             String realm = null;
  17709.             try {
  17710.                 realm = this.reader.getValueConvertEnvProperties(pNameRealm);
  17711.                 if(realm!=null){
  17712.                     realm = realm.trim();
  17713.                 }
  17714.             }catch(java.lang.Exception e) {
  17715.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameRealm+"': "+e.getMessage(),e);
  17716.             }
  17717.            
  17718.             WWWAuthenticateConfig wwwConfig = null;
  17719.             if(authType!=null && !"".equals(authType) && realm!=null && !"".equals(realm)) {
  17720.                
  17721.                 wwwConfig = new WWWAuthenticateConfig();
  17722.                 wwwConfig.setAuthType(authType);
  17723.                 wwwConfig.setRealm(realm);
  17724.                
  17725.                 String pNameErrorDescription = "org.openspcoop2.pdd.core.autenticazione.principal."+principal.getValue()+".error_description.notFound";
  17726.                 String error_description = null;
  17727.                 try {
  17728.                     error_description = this.reader.getValueConvertEnvProperties(pNameErrorDescription);
  17729.                     if(error_description!=null){
  17730.                         error_description = error_description.trim();
  17731.                         if(!"".equals(error_description)) {
  17732.                             wwwConfig.setNotFound_error(WWWAuthenticateErrorCode.invalid_request.name());
  17733.                             wwwConfig.setNotFound_error_description(error_description);
  17734.                         }
  17735.                     }
  17736.                 }catch(java.lang.Exception e) {
  17737.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameErrorDescription+"': "+e.getMessage(),e);
  17738.                 }
  17739.                
  17740.                 pNameErrorDescription = "org.openspcoop2.pdd.core.autenticazione.principal."+principal.getValue()+".error_description.invalid";
  17741.                 error_description = null;
  17742.                 try {
  17743.                     error_description = this.reader.getValueConvertEnvProperties(pNameErrorDescription);
  17744.                     if(error_description!=null){
  17745.                         error_description = error_description.trim();
  17746.                         if(!"".equals(error_description)) {
  17747.                             wwwConfig.setInvalid_error(WWWAuthenticateErrorCode.invalid_request.name());
  17748.                             wwwConfig.setInvalid_error_description(error_description);
  17749.                         }
  17750.                     }
  17751.                 }catch(java.lang.Exception e) {
  17752.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pNameErrorDescription+"': "+e.getMessage(),e);
  17753.                 }
  17754.                
  17755.             }
  17756.            
  17757.             this.getRealmAutenticazionePrincipalWWWAuthenticateConfig.put(principal, wwwConfig);
  17758.         }

  17759.         return this.getRealmAutenticazionePrincipalWWWAuthenticateConfig.get(principal);
  17760.     }
  17761.    
  17762.     private Boolean isAutenticazioneTokenPortaDelegataCheckSoggettiProprietari = null;
  17763.     public boolean isAutenticazioneTokenPortaDelegataCheckSoggettiProprietari() {
  17764.         String pName = "org.openspcoop2.pdd.core.autenticazione.token.portaDelegata.checkSoggettiProprietari";
  17765.         if(this.isAutenticazioneTokenPortaDelegataCheckSoggettiProprietari == null){
  17766.             try{  
  17767.                 String value = this.reader.getValueConvertEnvProperties(pName);
  17768.                 if(value!=null){
  17769.                     value = value.trim();
  17770.                     this.isAutenticazioneTokenPortaDelegataCheckSoggettiProprietari = Boolean.valueOf(value);
  17771.                 }
  17772.                 else {
  17773.                     this.logError("Proprieta' di openspcoop '"+pName+"' non definita; viene usato il default=true");
  17774.                     this.isAutenticazioneTokenPortaDelegataCheckSoggettiProprietari = true;
  17775.                 }
  17776.             }catch(java.lang.Exception e) {
  17777.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"'; viene usato il default=true. Errore: "+e.getMessage(),e);
  17778.                 this.isAutenticazioneTokenPortaDelegataCheckSoggettiProprietari = true;
  17779.             }
  17780.         }

  17781.         return this.isAutenticazioneTokenPortaDelegataCheckSoggettiProprietari;
  17782.     }
  17783.    
  17784.     /**
  17785.      * Restituisce l'elenco dei tipi di gestori di credenziali da utilizzare lato Porta Delegata
  17786.      *
  17787.      * @return Restituisce l'elenco dei tipi di gestori di credenziali da utilizzare lato Porta Delegata
  17788.      */
  17789.     private String[] tipoGestoreCredenzialiPD = null;
  17790.     private boolean tipoGestoreCredenzialiPDRead = false;
  17791.     public String[] getTipoGestoreCredenzialiPD() {
  17792.         if(this.tipoGestoreCredenzialiPDRead == false){
  17793.             try{  
  17794.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.pd.gestoriCredenziali");
  17795.                 if(value!=null){
  17796.                     value = value.trim();
  17797.                     String [] r = value.split(",");
  17798.                     this.tipoGestoreCredenzialiPD = r;
  17799.                 }
  17800.             }catch(java.lang.Exception e) {
  17801.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.services.pd.gestoriCredenziali': "+e.getMessage(),e);
  17802.                 this.tipoGestoreCredenzialiPD = null;
  17803.             }
  17804.             this.tipoGestoreCredenzialiPDRead = true;
  17805.         }

  17806.         return this.tipoGestoreCredenzialiPD;
  17807.     }
  17808.    
  17809.     /**
  17810.      * Restituisce l'elenco dei tipi di gestori di credenziali da utilizzare lato Porta Applicativa
  17811.      *
  17812.      * @return Restituisce l'elenco dei tipi di gestori di credenziali da utilizzare lato Porta Applicativa
  17813.      */
  17814.     private String[] tipoGestoreCredenzialiPA = null;
  17815.     private boolean tipoGestoreCredenzialiPARead = false;
  17816.     public String[] getTipoGestoreCredenzialiPA() {
  17817.         if(this.tipoGestoreCredenzialiPARead == false){
  17818.             try{  
  17819.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.pa.gestoriCredenziali");
  17820.                 if(value!=null){
  17821.                     value = value.trim();
  17822.                     String [] r = value.split(",");
  17823.                     this.tipoGestoreCredenzialiPA = r;
  17824.                 }
  17825.             }catch(java.lang.Exception e) {
  17826.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.services.pa.gestoriCredenziali': "+e.getMessage(),e);
  17827.                 this.tipoGestoreCredenzialiPA = null;
  17828.             }
  17829.             this.tipoGestoreCredenzialiPARead = true;
  17830.         }

  17831.         return this.tipoGestoreCredenzialiPA;
  17832.     }
  17833.    
  17834.     /**
  17835.      * Restituisce l'elenco dei tipi di gestori di credenziali da utilizzare sul servizio di IntegrationManager
  17836.      *
  17837.      * @return Restituisce l'elenco dei tipi di gestori di credenziali da utilizzare sul servizio di IntegrationManager
  17838.      */
  17839.     private String[] tipoGestoreCredenzialiIM = null;
  17840.     private boolean tipoGestoreCredenzialiIMRead = false;
  17841.     public String[] getTipoGestoreCredenzialiIM() {
  17842.         if(this.tipoGestoreCredenzialiIMRead == false){
  17843.             try{  
  17844.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.services.integrationManager.gestoriCredenziali");
  17845.                 if(value!=null){
  17846.                     value = value.trim();
  17847.                     String [] r = value.split(",");
  17848.                     this.tipoGestoreCredenzialiIM = r;
  17849.                 }
  17850.             }catch(java.lang.Exception e) {
  17851.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.services.integrationManager.gestoriCredenziali': "+e.getMessage(),e);
  17852.                 this.tipoGestoreCredenzialiIM = null;
  17853.             }
  17854.             this.tipoGestoreCredenzialiIMRead = true;
  17855.         }

  17856.         return this.tipoGestoreCredenzialiIM;
  17857.     }
  17858.    
  17859.    
  17860.    
  17861.    
  17862.    
  17863.    




  17864.     /* ----------- Accesso Registro Servizi --------------------- */
  17865.     /**
  17866.      * Indicazione se la porta di dominio deve processare gli accordi di servizio, i servizi e i fruitori ancora in stato di bozza
  17867.      *  
  17868.      * @return Indicazione se la porta di dominio deve processare gli accordi di servizio, i servizi e i fruitori ancora in stato di bozza
  17869.      *
  17870.      */
  17871.     private Boolean isReadObjectStatoBozza = null;
  17872.     public boolean isReadObjectStatoBozza(){

  17873.         if(this.isReadObjectStatoBozza==null){
  17874.             try{  
  17875.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.registroServizi.readObjectStatoBozza");

  17876.                 if (value != null){
  17877.                     value = value.trim();
  17878.                     this.isReadObjectStatoBozza = Boolean.parseBoolean(value);
  17879.                 }else{
  17880.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.registroServizi.readObjectStatoBozza' non impostata, viene utilizzato il default=true");
  17881.                     this.isReadObjectStatoBozza = false;
  17882.                 }

  17883.             }catch(java.lang.Exception e) {
  17884.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.registroServizi.readObjectStatoBozza' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  17885.                 this.isReadObjectStatoBozza = false;
  17886.             }
  17887.         }

  17888.         return this.isReadObjectStatoBozza;
  17889.     }
  17890.    
  17891.    
  17892.    
  17893.    
  17894.    
  17895.    
  17896.     /* ----------- Tracce --------------------- */
  17897.     /**
  17898.      * Indicazione se la porta di dominio deve generare un errore in caso di tracciamento non riuscito
  17899.      *  
  17900.      * @return Indicazione se la porta di dominio deve generare un errore in caso di tracciamento non riuscito
  17901.      *
  17902.      */
  17903.     private Boolean isTracciaturaFallita_BloccaCooperazioneInCorso = null;
  17904.     public boolean isTracciaturaFallita_BloccaCooperazioneInCorso(){

  17905.         if(this.isTracciaturaFallita_BloccaCooperazioneInCorso==null){
  17906.             try{  
  17907.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.logger.tracciamento.registrazioneFallita.bloccaCooperazioneInCorso");

  17908.                 if (value != null){
  17909.                     value = value.trim();
  17910.                     this.isTracciaturaFallita_BloccaCooperazioneInCorso = Boolean.parseBoolean(value);
  17911.                 }else{
  17912.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.tracciamento.registrazioneFallita.bloccaCooperazioneInCorso' non impostata, viene utilizzato il default=true");
  17913.                     this.isTracciaturaFallita_BloccaCooperazioneInCorso = true;
  17914.                 }

  17915.             }catch(java.lang.Exception e) {
  17916.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.tracciamento.registrazioneFallita.bloccaCooperazioneInCorso' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  17917.                 this.isTracciaturaFallita_BloccaCooperazioneInCorso = true;
  17918.             }
  17919.         }

  17920.         return this.isTracciaturaFallita_BloccaCooperazioneInCorso;
  17921.     }
  17922.     /**
  17923.      * 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.
  17924.      *  
  17925.      * @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.
  17926.      *
  17927.      */
  17928.     private Boolean isTracciaturaFallita_BloccoServiziPdD = null;
  17929.     public boolean isTracciaturaFallita_BloccoServiziPdD(){

  17930.         if(this.isTracciaturaFallita_BloccoServiziPdD==null){
  17931.             try{  
  17932.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.logger.tracciamento.registrazione.bloccoServiziPdD");

  17933.                 if (value != null){
  17934.                     value = value.trim();
  17935.                     this.isTracciaturaFallita_BloccoServiziPdD = Boolean.parseBoolean(value);
  17936.                 }else{
  17937.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.tracciamento.registrazione.bloccoServiziPdD' non impostata, viene utilizzato il default=false");
  17938.                     this.isTracciaturaFallita_BloccoServiziPdD = false;
  17939.                 }

  17940.             }catch(java.lang.Exception e) {
  17941.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.tracciamento.registrazione.bloccoServiziPdD' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  17942.                 this.isTracciaturaFallita_BloccoServiziPdD = false;
  17943.             }
  17944.         }

  17945.         return this.isTracciaturaFallita_BloccoServiziPdD;
  17946.     }
  17947.    
  17948.    
  17949.    
  17950.    
  17951.    
  17952.    
  17953.    
  17954.    
  17955.    
  17956.    
  17957.    
  17958.     /* ----------- MsgDiagnostici --------------------- */
  17959.    
  17960.     private Boolean isRegistrazioneDiagnosticaFile_intestazione_formatValues = null;
  17961.     public boolean isRegistrazioneDiagnosticaFile_intestazione_formatValues(){

  17962.         if(this.isRegistrazioneDiagnosticaFile_intestazione_formatValues==null){
  17963.             try{  
  17964.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.logger.msgDiagnostici.file.header.formatValues");

  17965.                 if (value != null){
  17966.                     value = value.trim();
  17967.                     this.isRegistrazioneDiagnosticaFile_intestazione_formatValues = Boolean.parseBoolean(value);
  17968.                 }else{
  17969.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.msgDiagnostici.file.header.formatValues' non impostata, viene utilizzato il default=true");
  17970.                     this.isRegistrazioneDiagnosticaFile_intestazione_formatValues = true;
  17971.                 }

  17972.             }catch(java.lang.Exception e) {
  17973.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.msgDiagnostici.file.header.formatValues' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  17974.                 this.isRegistrazioneDiagnosticaFile_intestazione_formatValues = true;
  17975.             }
  17976.         }

  17977.         return this.isRegistrazioneDiagnosticaFile_intestazione_formatValues;
  17978.     }
  17979.    
  17980.     /**
  17981.      * 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.
  17982.      *  
  17983.      * @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.
  17984.      *
  17985.      */
  17986.     private Boolean isRegistrazioneDiagnosticaFallita_BloccoServiziPdD = null;
  17987.     public boolean isRegistrazioneDiagnosticaFallita_BloccoServiziPdD(){

  17988.         if(this.isRegistrazioneDiagnosticaFallita_BloccoServiziPdD==null){
  17989.             try{  
  17990.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.logger.msgDiagnostici.emissioneFallita.bloccoServiziPdD");

  17991.                 if (value != null){
  17992.                     value = value.trim();
  17993.                     this.isRegistrazioneDiagnosticaFallita_BloccoServiziPdD = Boolean.parseBoolean(value);
  17994.                 }else{
  17995.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.msgDiagnostici.emissioneFallita.bloccoServiziPdD' non impostata, viene utilizzato il default=false");
  17996.                     this.isRegistrazioneDiagnosticaFallita_BloccoServiziPdD = false;
  17997.                 }

  17998.             }catch(java.lang.Exception e) {
  17999.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.msgDiagnostici.emissioneFallita.bloccoServiziPdD' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  18000.                 this.isRegistrazioneDiagnosticaFallita_BloccoServiziPdD = false;
  18001.             }
  18002.         }

  18003.         return this.isRegistrazioneDiagnosticaFallita_BloccoServiziPdD;
  18004.     }
  18005.    
  18006.     private Boolean isLoggerSaajDisabilitato = null;
  18007.     public boolean isLoggerSaajDisabilitato(){

  18008.         if(this.isLoggerSaajDisabilitato==null){
  18009.             try{  
  18010.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.logger.com.sun.xml.messaging.saaj.disabled");

  18011.                 if (value != null){
  18012.                     value = value.trim();
  18013.                     this.isLoggerSaajDisabilitato = Boolean.parseBoolean(value);
  18014.                 }else{
  18015.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.com.sun.xml.messaging.saaj.disabled' non impostata, viene utilizzato il default=true");
  18016.                     this.isLoggerSaajDisabilitato = true;
  18017.                 }

  18018.             }catch(java.lang.Exception e) {
  18019.                 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);
  18020.                 this.isLoggerSaajDisabilitato = true;
  18021.             }
  18022.         }

  18023.         return this.isLoggerSaajDisabilitato;
  18024.     }
  18025.    
  18026.    
  18027.    
  18028.    
  18029.    
  18030.    
  18031.    
  18032.    
  18033.     /* ----------- Dump --------------------- */
  18034.    
  18035.     private String getDumpBufferImpl = null;
  18036.     private Boolean getDumpBufferImplRead = null;
  18037.     public String getDumpBufferImpl() {
  18038.         if(this.getDumpBufferImplRead==null){
  18039.             String pName = "org.openspcoop2.pdd.logger.dump.buffer.impl";
  18040.            
  18041.             try{
  18042.                 String name = null;
  18043.                 name = this.reader.getValueConvertEnvProperties(pName);
  18044.                 if(name!=null){
  18045.                     name = name.trim();
  18046.                     this.getDumpBufferImpl = name;
  18047.                 }
  18048.                
  18049.                 this.getDumpBufferImplRead = true;
  18050.                
  18051.             } catch(java.lang.Exception e) {
  18052.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  18053.             }    
  18054.         }

  18055.         return this.getDumpBufferImpl;
  18056.     }
  18057.    
  18058.     /**
  18059.      * Indicazione se la porta di dominio deve registrare tutti gli attachments (in caso di dump abilitato) o solo quelli "visualizzabili"
  18060.      *  
  18061.      * @return Indicazione se la porta di dominio deve registrare tutti gli attachments (in caso di dump abilitato) o solo quelli "visualizzabili"
  18062.      *
  18063.      */
  18064.     private Boolean isDumpAllAttachments = null;
  18065.     public boolean isDumpAllAttachments(){

  18066.         if(this.isDumpAllAttachments==null){
  18067.             try{  
  18068.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.logger.dump.allAttachments");

  18069.                 if (value != null){
  18070.                     value = value.trim();
  18071.                     this.isDumpAllAttachments = Boolean.parseBoolean(value);
  18072.                 }else{
  18073.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.dump.allAttachments' non impostata, viene utilizzato il default=true");
  18074.                     this.isDumpAllAttachments = true;
  18075.                 }

  18076.             }catch(java.lang.Exception e) {
  18077.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.registroServizi.readObjectStatoBozza' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  18078.                 this.isDumpAllAttachments = true;
  18079.             }
  18080.         }

  18081.         return this.isDumpAllAttachments;
  18082.     }
  18083.    
  18084.     /**
  18085.      * 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
  18086.      *  
  18087.      * @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
  18088.      *
  18089.      */
  18090.     private Boolean isDumpFallitoBloccaCooperazioneInCorso = null;
  18091.     public boolean isDumpFallitoBloccaCooperazioneInCorso(){

  18092.         if(this.isDumpFallitoBloccaCooperazioneInCorso==null){
  18093.             try{  
  18094.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.logger.dump.registrazioneFallita.bloccaCooperazioneInCorso");

  18095.                 if (value != null){
  18096.                     value = value.trim();
  18097.                     this.isDumpFallitoBloccaCooperazioneInCorso = Boolean.parseBoolean(value);
  18098.                 }else{
  18099.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.dump.registrazioneFallita.bloccaCooperazioneInCorso' non impostata, viene utilizzato il default=false");
  18100.                     this.isDumpFallitoBloccaCooperazioneInCorso = false;
  18101.                 }

  18102.             }catch(java.lang.Exception e) {
  18103.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.dump.registrazioneFallita.bloccaCooperazioneInCorso' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  18104.                 this.isDumpFallitoBloccaCooperazioneInCorso = false;
  18105.             }
  18106.         }

  18107.         return this.isDumpFallitoBloccaCooperazioneInCorso;
  18108.     }
  18109.     /**
  18110.      * 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.
  18111.      *  
  18112.      * @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.
  18113.      *
  18114.      */
  18115.     private Boolean isDumpFallitoBloccoServiziPdD = null;
  18116.     public boolean isDumpFallitoBloccoServiziPdD(){

  18117.         if(this.isDumpFallitoBloccoServiziPdD==null){
  18118.             try{  
  18119.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.logger.dump.registrazione.bloccoServiziPdD");

  18120.                 if (value != null){
  18121.                     value = value.trim();
  18122.                     this.isDumpFallitoBloccoServiziPdD = Boolean.parseBoolean(value);
  18123.                 }else{
  18124.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.dump.registrazione.bloccoServiziPdD' non impostata, viene utilizzato il default=false");
  18125.                     this.isDumpFallitoBloccoServiziPdD = false;
  18126.                 }

  18127.             }catch(java.lang.Exception e) {
  18128.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.dump.registrazione.bloccoServiziPdD' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  18129.                 this.isDumpFallitoBloccoServiziPdD = false;
  18130.             }
  18131.         }

  18132.         return this.isDumpFallitoBloccoServiziPdD;
  18133.     }

  18134.     private List<String> getDumpHeaderWhiteList = null;
  18135.     public List<String> getDumpHeaderWhiteList(){

  18136.         if(this.getDumpHeaderWhiteList==null){
  18137.             String pName = "org.openspcoop2.pdd.logger.dump.header.whiteList";
  18138.             try{
  18139.                 this.getDumpHeaderWhiteList = new ArrayList<>();
  18140.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18141.                 initDumpList(this.getDumpHeaderWhiteList, tmp);
  18142.             }catch(java.lang.Exception e) {
  18143.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18144.             }
  18145.         }

  18146.         return this.getDumpHeaderWhiteList;
  18147.     }
  18148.    
  18149.     private List<String> getDumpHeaderBlackList = null;
  18150.     public List<String> getDumpHeaderBlackList(){

  18151.         if(this.getDumpHeaderBlackList==null){
  18152.             String pName = "org.openspcoop2.pdd.logger.dump.header.blackList";
  18153.             try{
  18154.                 this.getDumpHeaderBlackList = new ArrayList<>();
  18155.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18156.                 initDumpList(this.getDumpHeaderBlackList, tmp);
  18157.             }catch(java.lang.Exception e) {
  18158.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18159.             }
  18160.         }

  18161.         return this.getDumpHeaderBlackList;
  18162.     }
  18163.    
  18164.     private List<String> getDumpHeaderErogazioniWhiteList = null;
  18165.     public List<String> getDumpHeaderErogazioniWhiteList(){

  18166.         if(this.getDumpHeaderErogazioniWhiteList==null){
  18167.             String pName = "org.openspcoop2.pdd.logger.dump.header.erogazioni.whiteList";
  18168.             try{
  18169.                 this.getDumpHeaderErogazioniWhiteList = new ArrayList<>();
  18170.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18171.                 initDumpList(this.getDumpHeaderErogazioniWhiteList, tmp);
  18172.             }catch(java.lang.Exception e) {
  18173.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18174.             }
  18175.         }

  18176.         return this.getDumpHeaderErogazioniWhiteList;
  18177.     }
  18178.    
  18179.     private List<String> getDumpHeaderErogazioniBlackList = null;
  18180.     public List<String> getDumpHeaderErogazioniBlackList(){

  18181.         if(this.getDumpHeaderErogazioniBlackList==null){
  18182.             String pName = "org.openspcoop2.pdd.logger.dump.header.erogazioni.blackList";
  18183.             try{
  18184.                 this.getDumpHeaderErogazioniBlackList = new ArrayList<>();
  18185.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18186.                 initDumpList(this.getDumpHeaderErogazioniBlackList, tmp);
  18187.             }catch(java.lang.Exception e) {
  18188.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18189.             }
  18190.         }

  18191.         return this.getDumpHeaderErogazioniBlackList;
  18192.     }
  18193.    
  18194.     private List<String> getDumpHeaderFruizioniWhiteList = null;
  18195.     public List<String> getDumpHeaderFruizioniWhiteList(){

  18196.         if(this.getDumpHeaderFruizioniWhiteList==null){
  18197.             String pName = "org.openspcoop2.pdd.logger.dump.header.fruizioni.whiteList";
  18198.             try{
  18199.                 this.getDumpHeaderFruizioniWhiteList = new ArrayList<>();
  18200.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18201.                 initDumpList(this.getDumpHeaderFruizioniWhiteList, tmp);
  18202.             }catch(java.lang.Exception e) {
  18203.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18204.             }
  18205.         }

  18206.         return this.getDumpHeaderFruizioniWhiteList;
  18207.     }
  18208.    
  18209.     private List<String> getDumpHeaderFruizioniBlackList = null;
  18210.     public List<String> getDumpHeaderFruizioniBlackList(){

  18211.         if(this.getDumpHeaderFruizioniBlackList==null){
  18212.             String pName = "org.openspcoop2.pdd.logger.dump.header.fruizioni.blackList";
  18213.             try{
  18214.                 this.getDumpHeaderFruizioniBlackList = new ArrayList<>();
  18215.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18216.                 initDumpList(this.getDumpHeaderFruizioniBlackList, tmp);
  18217.             }catch(java.lang.Exception e) {
  18218.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18219.             }
  18220.         }

  18221.         return this.getDumpHeaderFruizioniBlackList;
  18222.     }
  18223.    
  18224.     private List<String> getDumpHeaderErogazioniRichiestaIngressoWhiteList = null;
  18225.     public List<String> getDumpHeaderErogazioniRichiestaIngressoWhiteList(){

  18226.         if(this.getDumpHeaderErogazioniRichiestaIngressoWhiteList==null){
  18227.             String pName = "org.openspcoop2.pdd.logger.dump.header.erogazioni.richiesta-ingresso.whiteList";
  18228.             try{
  18229.                 this.getDumpHeaderErogazioniRichiestaIngressoWhiteList = new ArrayList<>();
  18230.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18231.                 initDumpList(this.getDumpHeaderErogazioniRichiestaIngressoWhiteList, tmp);
  18232.             }catch(java.lang.Exception e) {
  18233.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18234.             }
  18235.         }

  18236.         return this.getDumpHeaderErogazioniRichiestaIngressoWhiteList;
  18237.     }
  18238.    
  18239.     private List<String> getDumpHeaderErogazioniRichiestaIngressoBlackList = null;
  18240.     public List<String> getDumpHeaderErogazioniRichiestaIngressoBlackList(){

  18241.         if(this.getDumpHeaderErogazioniRichiestaIngressoBlackList==null){
  18242.             String pName = "org.openspcoop2.pdd.logger.dump.header.erogazioni.richiesta-ingresso.blackList";
  18243.             try{
  18244.                 this.getDumpHeaderErogazioniRichiestaIngressoBlackList = new ArrayList<>();
  18245.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18246.                 initDumpList(this.getDumpHeaderErogazioniRichiestaIngressoBlackList, tmp);
  18247.             }catch(java.lang.Exception e) {
  18248.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18249.             }
  18250.         }

  18251.         return this.getDumpHeaderErogazioniRichiestaIngressoBlackList;
  18252.     }
  18253.    
  18254.     private List<String> getDumpHeaderErogazioniRichiestaUscitaWhiteList = null;
  18255.     public List<String> getDumpHeaderErogazioniRichiestaUscitaWhiteList(){

  18256.         if(this.getDumpHeaderErogazioniRichiestaUscitaWhiteList==null){
  18257.             String pName = "org.openspcoop2.pdd.logger.dump.header.erogazioni.richiesta-uscita.whiteList";
  18258.             try{
  18259.                 this.getDumpHeaderErogazioniRichiestaUscitaWhiteList = new ArrayList<>();
  18260.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18261.                 initDumpList(this.getDumpHeaderErogazioniRichiestaUscitaWhiteList, tmp);
  18262.             }catch(java.lang.Exception e) {
  18263.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18264.             }
  18265.         }

  18266.         return this.getDumpHeaderErogazioniRichiestaUscitaWhiteList;
  18267.     }
  18268.    
  18269.     private List<String> getDumpHeaderErogazioniRichiestaUscitaBlackList = null;
  18270.     public List<String> getDumpHeaderErogazioniRichiestaUscitaBlackList(){

  18271.         if(this.getDumpHeaderErogazioniRichiestaUscitaBlackList==null){
  18272.             String pName = "org.openspcoop2.pdd.logger.dump.header.erogazioni.richiesta-uscita.blackList";
  18273.             try{
  18274.                 this.getDumpHeaderErogazioniRichiestaUscitaBlackList = new ArrayList<>();
  18275.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18276.                 initDumpList(this.getDumpHeaderErogazioniRichiestaUscitaBlackList, tmp);
  18277.             }catch(java.lang.Exception e) {
  18278.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18279.             }
  18280.         }

  18281.         return this.getDumpHeaderErogazioniRichiestaUscitaBlackList;
  18282.     }
  18283.    
  18284.     private List<String> getDumpHeaderErogazioniRispostaIngressoWhiteList = null;
  18285.     public List<String> getDumpHeaderErogazioniRispostaIngressoWhiteList(){

  18286.         if(this.getDumpHeaderErogazioniRispostaIngressoWhiteList==null){
  18287.             String pName = "org.openspcoop2.pdd.logger.dump.header.erogazioni.risposta-ingresso.whiteList";
  18288.             try{
  18289.                 this.getDumpHeaderErogazioniRispostaIngressoWhiteList = new ArrayList<>();
  18290.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18291.                 initDumpList(this.getDumpHeaderErogazioniRispostaIngressoWhiteList, tmp);
  18292.             }catch(java.lang.Exception e) {
  18293.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18294.             }
  18295.         }

  18296.         return this.getDumpHeaderErogazioniRispostaIngressoWhiteList;
  18297.     }
  18298.    
  18299.     private List<String> getDumpHeaderErogazioniRispostaIngressoBlackList = null;
  18300.     public List<String> getDumpHeaderErogazioniRispostaIngressoBlackList(){

  18301.         if(this.getDumpHeaderErogazioniRispostaIngressoBlackList==null){
  18302.             String pName = "org.openspcoop2.pdd.logger.dump.header.erogazioni.risposta-ingresso.blackList";
  18303.             try{
  18304.                 this.getDumpHeaderErogazioniRispostaIngressoBlackList = new ArrayList<>();
  18305.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18306.                 initDumpList(this.getDumpHeaderErogazioniRispostaIngressoBlackList, tmp);
  18307.             }catch(java.lang.Exception e) {
  18308.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18309.             }
  18310.         }

  18311.         return this.getDumpHeaderErogazioniRispostaIngressoBlackList;
  18312.     }
  18313.    
  18314.     private List<String> getDumpHeaderErogazioniRispostaUscitaWhiteList = null;
  18315.     public List<String> getDumpHeaderErogazioniRispostaUscitaWhiteList(){

  18316.         if(this.getDumpHeaderErogazioniRispostaUscitaWhiteList==null){
  18317.             String pName = "org.openspcoop2.pdd.logger.dump.header.erogazioni.risposta-uscita.whiteList";
  18318.             try{
  18319.                 this.getDumpHeaderErogazioniRispostaUscitaWhiteList = new ArrayList<>();
  18320.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18321.                 initDumpList(this.getDumpHeaderErogazioniRispostaUscitaWhiteList, tmp);
  18322.             }catch(java.lang.Exception e) {
  18323.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18324.             }
  18325.         }

  18326.         return this.getDumpHeaderErogazioniRispostaUscitaWhiteList;
  18327.     }
  18328.    
  18329.     private List<String> getDumpHeaderErogazioniRispostaUscitaBlackList = null;
  18330.     public List<String> getDumpHeaderErogazioniRispostaUscitaBlackList(){

  18331.         if(this.getDumpHeaderErogazioniRispostaUscitaBlackList==null){
  18332.             String pName = "org.openspcoop2.pdd.logger.dump.header.erogazioni.risposta-uscita.blackList";
  18333.             try{
  18334.                 this.getDumpHeaderErogazioniRispostaUscitaBlackList = new ArrayList<>();
  18335.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18336.                 initDumpList(this.getDumpHeaderErogazioniRispostaUscitaBlackList, tmp);
  18337.             }catch(java.lang.Exception e) {
  18338.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18339.             }
  18340.         }

  18341.         return this.getDumpHeaderErogazioniRispostaUscitaBlackList;
  18342.     }
  18343.    
  18344.     private List<String> getDumpHeaderFruizioniRichiestaIngressoWhiteList = null;
  18345.     public List<String> getDumpHeaderFruizioniRichiestaIngressoWhiteList(){

  18346.         if(this.getDumpHeaderFruizioniRichiestaIngressoWhiteList==null){
  18347.             String pName = "org.openspcoop2.pdd.logger.dump.header.fruizioni.richiesta-ingresso.whiteList";
  18348.             try{
  18349.                 this.getDumpHeaderFruizioniRichiestaIngressoWhiteList = new ArrayList<>();
  18350.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18351.                 initDumpList(this.getDumpHeaderFruizioniRichiestaIngressoWhiteList, tmp);
  18352.             }catch(java.lang.Exception e) {
  18353.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18354.             }
  18355.         }

  18356.         return this.getDumpHeaderFruizioniRichiestaIngressoWhiteList;
  18357.     }
  18358.    
  18359.     private List<String> getDumpHeaderFruizioniRichiestaIngressoBlackList = null;
  18360.     public List<String> getDumpHeaderFruizioniRichiestaIngressoBlackList(){

  18361.         if(this.getDumpHeaderFruizioniRichiestaIngressoBlackList==null){
  18362.             String pName = "org.openspcoop2.pdd.logger.dump.header.fruizioni.richiesta-ingresso.blackList";
  18363.             try{
  18364.                 this.getDumpHeaderFruizioniRichiestaIngressoBlackList = new ArrayList<>();
  18365.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18366.                 initDumpList(this.getDumpHeaderFruizioniRichiestaIngressoBlackList, tmp);
  18367.             }catch(java.lang.Exception e) {
  18368.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18369.             }
  18370.         }

  18371.         return this.getDumpHeaderFruizioniRichiestaIngressoBlackList;
  18372.     }
  18373.    
  18374.     private List<String> getDumpHeaderFruizioniRichiestaUscitaWhiteList = null;
  18375.     public List<String> getDumpHeaderFruizioniRichiestaUscitaWhiteList(){

  18376.         if(this.getDumpHeaderFruizioniRichiestaUscitaWhiteList==null){
  18377.             String pName = "org.openspcoop2.pdd.logger.dump.header.fruizioni.richiesta-uscita.whiteList";
  18378.             try{
  18379.                 this.getDumpHeaderFruizioniRichiestaUscitaWhiteList = new ArrayList<>();
  18380.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18381.                 initDumpList(this.getDumpHeaderFruizioniRichiestaUscitaWhiteList, tmp);
  18382.             }catch(java.lang.Exception e) {
  18383.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18384.             }
  18385.         }

  18386.         return this.getDumpHeaderFruizioniRichiestaUscitaWhiteList;
  18387.     }
  18388.    
  18389.     private List<String> getDumpHeaderFruizioniRichiestaUscitaBlackList = null;
  18390.     public List<String> getDumpHeaderFruizioniRichiestaUscitaBlackList(){

  18391.         if(this.getDumpHeaderFruizioniRichiestaUscitaBlackList==null){
  18392.             String pName = "org.openspcoop2.pdd.logger.dump.header.fruizioni.richiesta-uscita.blackList";
  18393.             try{
  18394.                 this.getDumpHeaderFruizioniRichiestaUscitaBlackList = new ArrayList<>();
  18395.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18396.                 initDumpList(this.getDumpHeaderFruizioniRichiestaUscitaBlackList, tmp);
  18397.             }catch(java.lang.Exception e) {
  18398.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18399.             }
  18400.         }

  18401.         return this.getDumpHeaderFruizioniRichiestaUscitaBlackList;
  18402.     }
  18403.    
  18404.     private List<String> getDumpHeaderFruizioniRispostaIngressoWhiteList = null;
  18405.     public List<String> getDumpHeaderFruizioniRispostaIngressoWhiteList(){

  18406.         if(this.getDumpHeaderFruizioniRispostaIngressoWhiteList==null){
  18407.             String pName = "org.openspcoop2.pdd.logger.dump.header.fruizioni.risposta-ingresso.whiteList";
  18408.             try{
  18409.                 this.getDumpHeaderFruizioniRispostaIngressoWhiteList = new ArrayList<>();
  18410.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18411.                 initDumpList(this.getDumpHeaderFruizioniRispostaIngressoWhiteList, tmp);
  18412.             }catch(java.lang.Exception e) {
  18413.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18414.             }
  18415.         }

  18416.         return this.getDumpHeaderFruizioniRispostaIngressoWhiteList;
  18417.     }
  18418.    
  18419.     private List<String> getDumpHeaderFruizioniRispostaIngressoBlackList = null;
  18420.     public List<String> getDumpHeaderFruizioniRispostaIngressoBlackList(){

  18421.         if(this.getDumpHeaderFruizioniRispostaIngressoBlackList==null){
  18422.             String pName = "org.openspcoop2.pdd.logger.dump.header.fruizioni.risposta-ingresso.blackList";
  18423.             try{
  18424.                 this.getDumpHeaderFruizioniRispostaIngressoBlackList = new ArrayList<>();
  18425.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18426.                 initDumpList(this.getDumpHeaderFruizioniRispostaIngressoBlackList, tmp);
  18427.             }catch(java.lang.Exception e) {
  18428.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18429.             }
  18430.         }

  18431.         return this.getDumpHeaderFruizioniRispostaIngressoBlackList;
  18432.     }
  18433.    
  18434.     private List<String> getDumpHeaderFruizioniRispostaUscitaWhiteList = null;
  18435.     public List<String> getDumpHeaderFruizioniRispostaUscitaWhiteList(){

  18436.         if(this.getDumpHeaderFruizioniRispostaUscitaWhiteList==null){
  18437.             String pName = "org.openspcoop2.pdd.logger.dump.header.fruizioni.risposta-uscita.whiteList";
  18438.             try{
  18439.                 this.getDumpHeaderFruizioniRispostaUscitaWhiteList = new ArrayList<>();
  18440.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18441.                 initDumpList(this.getDumpHeaderFruizioniRispostaUscitaWhiteList, tmp);
  18442.             }catch(java.lang.Exception e) {
  18443.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18444.             }
  18445.         }

  18446.         return this.getDumpHeaderFruizioniRispostaUscitaWhiteList;
  18447.     }
  18448.    
  18449.     private List<String> getDumpHeaderFruizioniRispostaUscitaBlackList = null;
  18450.     public List<String> getDumpHeaderFruizioniRispostaUscitaBlackList(){

  18451.         if(this.getDumpHeaderFruizioniRispostaUscitaBlackList==null){
  18452.             String pName = "org.openspcoop2.pdd.logger.dump.header.fruizioni.risposta-uscita.blackList";
  18453.             try{
  18454.                 this.getDumpHeaderFruizioniRispostaUscitaBlackList = new ArrayList<>();
  18455.                 String tmp = this.reader.getValueConvertEnvProperties(pName);
  18456.                 initDumpList(this.getDumpHeaderFruizioniRispostaUscitaBlackList, tmp);
  18457.             }catch(java.lang.Exception e) {
  18458.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18459.             }
  18460.         }

  18461.         return this.getDumpHeaderFruizioniRispostaUscitaBlackList;
  18462.     }
  18463.    
  18464.     private void initDumpList(List<String> list, String tmp) {
  18465.         if(tmp!=null && !"".equals(tmp.trim())) {
  18466.             tmp = tmp.trim();
  18467.             if(tmp.contains(",")) {
  18468.                 String [] split = tmp.split(",");
  18469.                 initDumpList(list, split);
  18470.             }
  18471.             else {
  18472.                 list.add(tmp);
  18473.             }
  18474.         }
  18475.     }
  18476.     private void initDumpList(List<String> list, String [] split) {
  18477.         if(split!=null && split.length>0) {
  18478.             for (String s : split) {
  18479.                 if(s!=null) {
  18480.                     s = s.trim();
  18481.                     if(!"".equals(s)) {
  18482.                         list.add(s);
  18483.                     }
  18484.                 }
  18485.             }
  18486.         }
  18487.     }
  18488.    
  18489.    
  18490.     private Boolean isDumpEmitDiagnostic = null;
  18491.     public boolean isDumpEmitDiagnostic(){

  18492.         if(this.isDumpEmitDiagnostic==null){
  18493.             String pName = "org.openspcoop2.pdd.logger.dump.emitDiagnostic";
  18494.             try{  
  18495.                 String value = this.reader.getValueConvertEnvProperties(pName);

  18496.                 if (value != null){
  18497.                     value = value.trim();
  18498.                     this.isDumpEmitDiagnostic = Boolean.parseBoolean(value);
  18499.                 }else{
  18500.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  18501.                     this.isDumpEmitDiagnostic = true;
  18502.                 }

  18503.             }catch(java.lang.Exception e) {
  18504.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  18505.                 this.isDumpEmitDiagnostic = true;
  18506.             }
  18507.         }

  18508.         return this.isDumpEmitDiagnostic;
  18509.     }
  18510.    
  18511.    
  18512.     /* ----------- Dump (Binario) --------------------- */
  18513.    
  18514.     private Boolean isDumpBinarioRegistrazioneDatabase = null;
  18515.     public boolean isDumpBinarioRegistrazioneDatabase(){

  18516.         if(this.isDumpBinarioRegistrazioneDatabase==null){
  18517.             try{  
  18518.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.logger.dumpBinario.registrazioneDatabase");

  18519.                 if (value != null){
  18520.                     value = value.trim();
  18521.                     this.isDumpBinarioRegistrazioneDatabase = Boolean.parseBoolean(value);
  18522.                 }else{
  18523.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.dumpBinario.registrazioneDatabase' non impostata, viene utilizzato il default=false");
  18524.                     this.isDumpBinarioRegistrazioneDatabase = false;
  18525.                 }

  18526.             }catch(java.lang.Exception e) {
  18527.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.logger.dumpBinario.registrazioneDatabase' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  18528.                 this.isDumpBinarioRegistrazioneDatabase = false;
  18529.             }
  18530.         }

  18531.         return this.isDumpBinarioRegistrazioneDatabase;
  18532.     }
  18533.    
  18534.     private Integer getDumpBinarioInMemoryThreshold = null;
  18535.     public int getDumpBinarioInMemoryThreshold() {  
  18536.         String pName = "org.openspcoop2.pdd.logger.dumpBinario.inMemory.threshold";
  18537.         if(this.getDumpBinarioInMemoryThreshold==null){
  18538.             try{
  18539.                 String name = null;
  18540.                 name = this.reader.getValueConvertEnvProperties(pName);
  18541.                 if(name!=null){
  18542.                     name = name.trim();
  18543.                     this.getDumpBinarioInMemoryThreshold = java.lang.Integer.parseInt(name);
  18544.                 }else{
  18545.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,CostantiPdD.DUMP_BINARIO_THRESHOLD));
  18546.                     this.getDumpBinarioInMemoryThreshold = CostantiPdD.DUMP_BINARIO_THRESHOLD;
  18547.                 }
  18548.             }catch(java.lang.Exception e) {
  18549.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,CostantiPdD.DUMP_BINARIO_THRESHOLD),e);
  18550.                 this.getDumpBinarioInMemoryThreshold = CostantiPdD.DUMP_BINARIO_THRESHOLD;
  18551.             }  
  18552.         }

  18553.         return this.getDumpBinarioInMemoryThreshold;
  18554.     }
  18555.    
  18556.     private File getDumpBinarioRepository = null;
  18557.     public File getDumpBinarioRepository() throws CoreException {  
  18558.         String pName = "org.openspcoop2.pdd.logger.dumpBinario.msgRepository";
  18559.         if(this.getDumpBinarioRepository==null){
  18560.             try{
  18561.                 String name = null;
  18562.                 name = this.reader.getValueConvertEnvProperties(pName);
  18563.                 if(name==null){
  18564.                     throw new CoreException("Proprieta' non impostata");
  18565.                 }
  18566.                 name = LoggerWrapperFactory.applyClusterIdStrategy(name.trim(), "dumpBinario");
  18567.                 this.getDumpBinarioRepository = new File(name);
  18568.                 checkDumpBinarioRepository();
  18569.             } catch(java.lang.Exception e) {
  18570.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  18571.                 throw new CoreException(e.getMessage(),e);
  18572.             }    
  18573.         }

  18574.         return this.getDumpBinarioRepository;
  18575.     }
  18576.     private void checkDumpBinarioRepository() throws CoreException {
  18577.         if(this.getDumpBinarioRepository.exists()) {
  18578.             if(!this.getDumpBinarioRepository.isDirectory()) {
  18579.                 throw newCoreExceptionNotDir(this.getDumpBinarioRepository,true);
  18580.             }
  18581.             if(!this.getDumpBinarioRepository.canRead()) {
  18582.                 throw newCoreExceptionCannotRead(this.getDumpBinarioRepository, true);
  18583.             }
  18584.             if(!this.getDumpBinarioRepository.canWrite()) {
  18585.                 throw newCoreExceptionCannotWrite(this.getDumpBinarioRepository, true);
  18586.             }
  18587.         }
  18588.         else {
  18589.             // viene creata automaticamente
  18590.         }
  18591.     }
  18592.    
  18593.    
  18594.    
  18595.    
  18596.     /* ----------- Dump (NonRealtime) --------------------- */
  18597.    
  18598.     private Integer getDumpNonRealtimeInMemoryThreshold = null;
  18599.     public int getDumpNonRealtimeInMemoryThreshold() {  
  18600.         if(this.getDumpNonRealtimeInMemoryThreshold==null){
  18601.             try{
  18602.                 String name = null;
  18603.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.dump.nonRealTime.inMemory.threshold");
  18604.                 if(name!=null){
  18605.                     name = name.trim();
  18606.                     this.getDumpNonRealtimeInMemoryThreshold = java.lang.Integer.parseInt(name);
  18607.                 }else{
  18608.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.dump.nonRealTime.inMemory.threshold' non impostata, viene utilizzato il default="+CostantiPdD.DUMP_NON_REALTIME_THRESHOLD);
  18609.                     this.getDumpNonRealtimeInMemoryThreshold = CostantiPdD.DUMP_NON_REALTIME_THRESHOLD;
  18610.                 }
  18611.             }catch(java.lang.Exception e) {
  18612.                 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);
  18613.                 this.getDumpNonRealtimeInMemoryThreshold = CostantiPdD.DUMP_NON_REALTIME_THRESHOLD;
  18614.             }  
  18615.         }

  18616.         return this.getDumpNonRealtimeInMemoryThreshold;
  18617.     }
  18618.    
  18619.     private String getDumpNonRealtimeMode = null;
  18620.     private String getDumpNonRealtimeMode() throws CoreException {  
  18621.         if(this.getDumpNonRealtimeMode==null){
  18622.             try{
  18623.                 String name = null;
  18624.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.dump.nonRealTime.mode");
  18625.                 if(name!=null){
  18626.                     name = name.trim();
  18627.                     if(!CostantiPdD.DUMP_NON_REALTIME_MODE_DB.equalsIgnoreCase(name) &&
  18628.                             !CostantiPdD.DUMP_NON_REALTIME_MODE_FILE_SYSTEM.equalsIgnoreCase(name) &&
  18629.                             !CostantiPdD.DUMP_NON_REALTIME_MODE_AUTO.equalsIgnoreCase(name) ) {
  18630.                         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+")");
  18631.                     }
  18632.                     this.getDumpNonRealtimeMode = name;
  18633.                 }else{
  18634.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.dump.nonRealTime.mode' non impostata, viene utilizzato il default="+CostantiPdD.DUMP_NON_REALTIME_MODE_AUTO);
  18635.                     this.getDumpNonRealtimeMode = CostantiPdD.DUMP_NON_REALTIME_MODE_AUTO;
  18636.                 }
  18637.             }catch(java.lang.Exception e) {
  18638.                 this.logError("Proprieta' di openspcoop ''org.openspcoop2.pdd.dump.nonRealTime.mode' non impostata, errore:"+e.getMessage(),e);
  18639.                 throw new CoreException(e.getMessage(),e);
  18640.             }  
  18641.            
  18642.             checkDumpNonRealtimeMode();
  18643.         }

  18644.         return this.getDumpNonRealtimeMode;
  18645.     }
  18646.     private void checkDumpNonRealtimeMode() throws CoreException {  
  18647.         if(CostantiPdD.DUMP_NON_REALTIME_MODE_AUTO.equalsIgnoreCase(this.getDumpNonRealtimeMode)) {
  18648.             String databaseTypeCheck = this.getDatabaseType();
  18649.             if(databaseTypeCheck==null) {
  18650.                 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'");
  18651.             }
  18652.             if(TipiDatabase.POSTGRESQL.getNome().equalsIgnoreCase(databaseTypeCheck) || TipiDatabase.HSQL.getNome().equalsIgnoreCase(databaseTypeCheck)) {
  18653.                 // 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
  18654.                 this.getDumpNonRealtimeMode = CostantiPdD.DUMP_NON_REALTIME_MODE_FILE_SYSTEM;
  18655.             }
  18656.             else {
  18657.                 this.getDumpNonRealtimeMode = CostantiPdD.DUMP_NON_REALTIME_MODE_DB;
  18658.             }
  18659.         }
  18660.     }
  18661.    
  18662.     public boolean isDumpNonRealtimeDatabaseMode() {
  18663.         return CostantiPdD.DUMP_NON_REALTIME_MODE_DB.equalsIgnoreCase(this.getDumpNonRealtimeMode);
  18664.     }
  18665.     public boolean isDumpNonRealtimeFileSystemMode() {
  18666.         return CostantiPdD.DUMP_NON_REALTIME_MODE_FILE_SYSTEM.equalsIgnoreCase(this.getDumpNonRealtimeMode);
  18667.     }
  18668.    
  18669.     private File getDumpNonRealtimeRepository = null;
  18670.     public File getDumpNonRealtimeRepository() throws CoreException {  
  18671.         if(this.getDumpNonRealtimeRepository==null){
  18672.             try{
  18673.                 String name = null;
  18674.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.dump.nonRealTime.msgRepository");
  18675.                 if(name==null){
  18676.                     throw new CoreException("Proprieta' non impostata");
  18677.                 }
  18678.                 name = LoggerWrapperFactory.applyClusterIdStrategy(name.trim(), "dumpNonRealTime");
  18679.                 this.getDumpNonRealtimeRepository = new File(name);
  18680.                 checkDumpNonRealtimeRepository();
  18681.             } catch(java.lang.Exception e) {
  18682.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.dump.nonRealTime.msgRepository': "+e.getMessage(),e);
  18683.                 throw new CoreException(e.getMessage(),e);
  18684.             }    
  18685.         }

  18686.         return this.getDumpNonRealtimeRepository;
  18687.     }
  18688.     private void checkDumpNonRealtimeRepository() throws CoreException {    
  18689.         if(this.getDumpNonRealtimeRepository.exists()) {
  18690.             if(!this.getDumpNonRealtimeRepository.isDirectory()) {
  18691.                 throw newCoreExceptionNotDir(this.getDumpNonRealtimeRepository,true);
  18692.             }
  18693.             if(!this.getDumpNonRealtimeRepository.canRead()) {
  18694.                 throw newCoreExceptionCannotRead(this.getDumpNonRealtimeRepository, true);
  18695.             }
  18696.             if(!this.getDumpNonRealtimeRepository.canWrite()) {
  18697.                 throw newCoreExceptionCannotWrite(this.getDumpNonRealtimeRepository, true);
  18698.             }
  18699.         }
  18700.         else {
  18701.             // viene creata automaticamente
  18702.         }
  18703.     }
  18704.    
  18705.     private Boolean isDumpNonRealtimeThrowStreamingHandlerException = null;
  18706.     public boolean isDumpNonRealtimeThrowStreamingHandlerException(){

  18707.         if(this.isDumpNonRealtimeThrowStreamingHandlerException==null){
  18708.             try{  
  18709.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.dump.nonRealTime.throwStreamingHandlerException");

  18710.                 if (value != null){
  18711.                     value = value.trim();
  18712.                     this.isDumpNonRealtimeThrowStreamingHandlerException = Boolean.parseBoolean(value);
  18713.                 }else{
  18714.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.dump.nonRealTime.throwStreamingHandlerException' non impostata, viene utilizzato il default=true");
  18715.                     this.isDumpNonRealtimeThrowStreamingHandlerException = true;
  18716.                 }

  18717.             }catch(java.lang.Exception e) {
  18718.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.dump.nonRealTime.throwStreamingHandlerException' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  18719.                 this.isDumpNonRealtimeThrowStreamingHandlerException = true;
  18720.             }
  18721.         }

  18722.         return this.isDumpNonRealtimeThrowStreamingHandlerException;
  18723.     }
  18724.    
  18725.    
  18726.    
  18727.    
  18728.    
  18729.     /* ------------- ID ---------------------*/
  18730.     /**
  18731.      * Restituisce il tipo di generatore id identificativi unici
  18732.      *
  18733.      * @return il tipo di generatore id identificativi unici
  18734.      *
  18735.      */
  18736.     private String tipoIDManager = null;
  18737.     public String getTipoIDManager() {  
  18738.         if(this.tipoIDManager==null){
  18739.             try{
  18740.                 String name = null;
  18741.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.idGenerator");
  18742.                 if(name!=null){
  18743.                     name = name.trim();
  18744.                     this.tipoIDManager = name;
  18745.                 }else{
  18746.                     this.tipoIDManager = CostantiConfigurazione.NONE;
  18747.                 }
  18748.             }catch(java.lang.Exception e) {
  18749.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.idGenerator': "+e.getMessage(),e);
  18750.                 this.tipoIDManager = CostantiConfigurazione.NONE;
  18751.             }    
  18752.         }

  18753.         return this.tipoIDManager;
  18754.     }
  18755.    
  18756.     private Boolean useIDManagerWithThreadLocal = null;
  18757.     public boolean useIDManagerWithThreadLocal(){

  18758.         String pName = "org.openspcoop2.pdd.idGenerator.useThreadLocal";
  18759.         if(this.useIDManagerWithThreadLocal==null){
  18760.             try{  
  18761.                 String value = this.reader.getValueConvertEnvProperties(pName);

  18762.                 if (value != null){
  18763.                     value = value.trim();
  18764.                     this.useIDManagerWithThreadLocal = Boolean.parseBoolean(value);
  18765.                 }else{
  18766.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  18767.                     this.useIDManagerWithThreadLocal = false;
  18768.                 }

  18769.             }catch(java.lang.Exception e) {
  18770.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  18771.                 this.useIDManagerWithThreadLocal = false;
  18772.             }
  18773.         }

  18774.         return this.useIDManagerWithThreadLocal;
  18775.     }
  18776.    
  18777.     private Boolean listIDManagerParametersRead = null;
  18778.     private List<String> listIDManagerParameters = null;
  18779.     public List<String> getIDManagerParameters(){

  18780.         String pName = "org.openspcoop2.pdd.idGenerator."+this.getTipoIDManager()+".parameters";
  18781.         if(this.listIDManagerParametersRead==null){
  18782.             try{  
  18783.                 String value = this.reader.getValueConvertEnvProperties(pName);

  18784.                 initIDManagerParameters(value);

  18785.             }catch(java.lang.Exception e) {
  18786.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  18787.             }
  18788.             this.listIDManagerParametersRead = true;
  18789.         }

  18790.         return this.listIDManagerParameters;
  18791.     }
  18792.     private void initIDManagerParameters(String value){
  18793.         if (value != null){
  18794.             value = value.trim();
  18795.            
  18796.             if(value.contains(",")) {
  18797.                 String [] tmp = value.split(",");
  18798.                 if(tmp!=null && tmp.length>0) {
  18799.                     this.listIDManagerParameters = new ArrayList<>();
  18800.                     for (String v : tmp) {
  18801.                         this.listIDManagerParameters.add(v);
  18802.                     }
  18803.                 }
  18804.             }
  18805.             else {
  18806.                 this.listIDManagerParameters = new ArrayList<>();
  18807.                 this.listIDManagerParameters.add(value);
  18808.             }
  18809.         }
  18810.     }
  18811.    
  18812.     private Integer getIDManagerBufferSize = null;
  18813.     public int getIDManagerBufferSize(){

  18814.         String pName = "org.openspcoop2.pdd.idGenerator.buffer";
  18815.         if(this.getIDManagerBufferSize==null){
  18816.             try{  
  18817.                 String value = this.reader.getValueConvertEnvProperties(pName);

  18818.                 if (value != null){
  18819.                     value = value.trim();
  18820.                     this.getIDManagerBufferSize = Integer.parseInt(value);
  18821.                 }else{
  18822.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostata, viene utilizzato il default=-1");
  18823.                     this.getIDManagerBufferSize = -1;
  18824.                 }

  18825.             }catch(java.lang.Exception e) {
  18826.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostata, viene utilizzato il default=-1, errore:"+e.getMessage(),e);
  18827.                 this.getIDManagerBufferSize = -1;
  18828.             }
  18829.         }

  18830.         return this.getIDManagerBufferSize;
  18831.     }
  18832.    
  18833.    
  18834.    
  18835.    
  18836.    
  18837.     /* ------------- DEMO Mode ---------------------*/
  18838.     private Boolean generazioneDateCasualiLogAbilitato = null;
  18839.     private Date generazioneDateCasualiLogDataInizioIntervallo = null;
  18840.     private Date generazioneDateCasualiLogDataFineIntervallo = null;
  18841.     public Date getGenerazioneDateCasualiLogDataInizioIntervallo() {
  18842.         return this.generazioneDateCasualiLogDataInizioIntervallo;
  18843.     }
  18844.     public Date getGenerazioneDateCasualiLogDataFineIntervallo() {
  18845.         return this.generazioneDateCasualiLogDataFineIntervallo;
  18846.     }
  18847.     public boolean generazioneDateCasualiLogAbilitato() {  
  18848.         if(this.generazioneDateCasualiLogAbilitato==null){
  18849.             try{
  18850.                 String name = null;
  18851.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.generazioneDateCasuali.enabled");
  18852.                 if(name!=null){
  18853.                     name = name.trim();
  18854.                     this.generazioneDateCasualiLogAbilitato = Boolean.parseBoolean(name);
  18855.                    
  18856.                     initDateCasualiLogAbilitato();
  18857.                    
  18858.                 }else{
  18859.                     this.generazioneDateCasualiLogAbilitato = false; //default, anche senza che sia definita la proprieta'
  18860.                 }
  18861.             }catch(java.lang.Exception e) {
  18862.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.generazioneDateCasuali.enabled' non impostata correttamente,  errore:"+e.getMessage(),e);
  18863.                 this.generazioneDateCasualiLogAbilitato = false;
  18864.             }    
  18865.         }

  18866.         return this.generazioneDateCasualiLogAbilitato;
  18867.     }
  18868.     private void initDateCasualiLogAbilitato() throws CoreException, UtilsException, ParseException {  
  18869.         if(this.generazioneDateCasualiLogAbilitato.booleanValue()){
  18870.            
  18871.             if(getTipoIDManager()==null || CostantiConfigurazione.NONE.equals(getTipoIDManager())){
  18872.                 throw new CoreException("Non e' possibile utilizzare la modalita' di generazione casuale delle date, se non si abilita la generazione di un ID");
  18873.             }
  18874.            
  18875.             String inizioIntervallo = this.reader.getValueConvertEnvProperties("org.openspcoop2.generazioneDateCasuali.inizioIntervallo");
  18876.             String fineIntervallo = this.reader.getValueConvertEnvProperties("org.openspcoop2.generazioneDateCasuali.fineIntervallo");
  18877.             SimpleDateFormat sdf = DateUtils.getDefaultDateTimeFormatter("yyyy-MM-dd hh:mm");
  18878.             if(inizioIntervallo==null){
  18879.                 throw new CoreException("Non e' stato definito l'intervallo di inizio per la modalita' di generazione casuale delle date");
  18880.             }
  18881.             else{inizioIntervallo=inizioIntervallo.trim();}
  18882.             this.generazioneDateCasualiLogDataInizioIntervallo = sdf.parse(inizioIntervallo);
  18883.             if(fineIntervallo==null){
  18884.                 throw new CoreException("Non e' stato definito l'intervallo di fine per la modalita' di generazione casuale delle date");
  18885.             }
  18886.             else{fineIntervallo=fineIntervallo.trim();}
  18887.             this.generazioneDateCasualiLogDataFineIntervallo = sdf.parse(fineIntervallo);
  18888.            
  18889.             if(this.generazioneDateCasualiLogDataInizioIntervallo.after(this.generazioneDateCasualiLogDataFineIntervallo)){
  18890.                 throw new CoreException("Non e' stato definito un intervallo di generazione casuale delle date corretto (inizioIntervallo>fineIntervallo)");
  18891.             }
  18892.         }
  18893.     }
  18894.    
  18895.    
  18896.    
  18897.    
  18898.    
  18899.     /* ------------- Factory ---------------------*/
  18900.    
  18901.     private Boolean openspcoop2MessageFactoryRead = null;
  18902.     private String openspcoop2MessageFactory = null;
  18903.     public String getOpenspcoop2MessageFactory() {  
  18904.         if(this.openspcoop2MessageFactoryRead==null){
  18905.             try{
  18906.                 String v = null;
  18907.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.messagefactory");
  18908.                 if(v!=null){
  18909.                     v = v.trim();
  18910.                     this.openspcoop2MessageFactory = v;
  18911.                 } else{
  18912.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messagefactory' non impostata, viene utilizzato il default="+OpenSPCoop2MessageFactory.messageFactoryImpl);
  18913.                 }
  18914.             }catch(java.lang.Exception e) {
  18915.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.messagefactory' non impostata correttamente,  errore:"+e.getMessage(),e);
  18916.             }
  18917.         }
  18918.         this.openspcoop2MessageFactoryRead = true;
  18919.         return this.openspcoop2MessageFactory;
  18920.     }
  18921.    
  18922.     private Boolean messageSecurityContextRead = null;
  18923.     private String messageSecurityContext = null;
  18924.     public String getMessageSecurityContext() {
  18925.         if(this.messageSecurityContextRead==null){
  18926.             try{
  18927.                 String v = null;
  18928.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.messageSecurity.context");
  18929.                 if(v!=null){
  18930.                     v = v.trim();
  18931.                     this.messageSecurityContext = v;
  18932.                 } else{
  18933.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.context' non impostata, viene utilizzato il default="+MessageSecurityFactory.messageSecurityContextImplClass);
  18934.                 }
  18935.             } catch(java.lang.Exception e) {
  18936.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.context' non impostata correttamente,  errore:"+e.getMessage(),e);
  18937.             }
  18938.         }
  18939.         this.messageSecurityContextRead = true;
  18940.         return this.messageSecurityContext;
  18941.     }
  18942.    
  18943.     private Boolean messageSecurityDigestReaderRead = null;
  18944.     private String messageSecurityDigestReader = null;
  18945.     public String getMessageSecurityDigestReader() {    
  18946.         if(this.messageSecurityDigestReaderRead==null){
  18947.             try{
  18948.                 String v = null;
  18949.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.messageSecurity.digestReader");
  18950.                 if(v!=null){
  18951.                     v = v.trim();
  18952.                     this.messageSecurityDigestReader = v;
  18953.                 } else{
  18954.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.digestReader' non impostata, viene utilizzato il default="+MessageSecurityFactory.messageSecurityDigestReaderImplClass);
  18955.                 }
  18956.             } catch(java.lang.Exception e) {
  18957.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.digestReader' non impostata correttamente,  errore:"+e.getMessage(),e);
  18958.             }
  18959.         }
  18960.         this.messageSecurityDigestReaderRead = true;
  18961.         return this.messageSecurityDigestReader;
  18962.     }
  18963.    
  18964.     private Boolean printInfoFactory = null;
  18965.     public boolean isPrintInfoFactory() {  
  18966.         if(this.printInfoFactory==null){
  18967.             try{
  18968.                 String v = null;
  18969.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.messagefactory.printInfo");
  18970.                 if(v!=null){
  18971.                     v = v.trim();
  18972.                     this.printInfoFactory = Boolean.parseBoolean(v);
  18973.                 }
  18974.                 else{
  18975.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messagefactory.printInfo' non impostata, viene utilizzato il default="+true);
  18976.                     this.printInfoFactory = true;
  18977.                 }
  18978.             }catch(java.lang.Exception e) {
  18979.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.messagefactory.printInfo' non impostata correttamente,  errore:"+e.getMessage(),e);
  18980.             }
  18981.         }
  18982.         return this.printInfoFactory;
  18983.     }
  18984.        
  18985.     private Boolean printInfoMessageSecurity = null;
  18986.     public boolean isPrintInfoMessageSecurity() {  
  18987.         if(this.printInfoMessageSecurity==null){
  18988.             try{
  18989.                 String v = null;
  18990.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.messageSecurity.printInfo");
  18991.                 if(v!=null){
  18992.                     v = v.trim();
  18993.                     this.printInfoMessageSecurity = Boolean.parseBoolean(v);
  18994.                 }
  18995.                 else{
  18996.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.printInfo' non impostata, viene utilizzato il default="+true);
  18997.                     this.printInfoMessageSecurity = true;
  18998.                 }
  18999.             }catch(java.lang.Exception e) {
  19000.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.messageSecurity.printInfo' non impostata correttamente,  errore:"+e.getMessage(),e);
  19001.             }
  19002.         }
  19003.         return this.printInfoMessageSecurity;
  19004.     }
  19005.    
  19006.    
  19007.    
  19008.     /* ------------- Utility ---------------------*/
  19009.    
  19010.     private Boolean freeMemoryLog = null;
  19011.     public boolean getFreeMemoryLog() {
  19012.         if(this.freeMemoryLog==null){
  19013.             try{
  19014.                 String v = null;
  19015.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.freememorylog");
  19016.                 if(v!=null){
  19017.                     v = v.trim();
  19018.                     this.freeMemoryLog = Boolean.parseBoolean(v);
  19019.                 }
  19020.                 else{
  19021.                     this.freeMemoryLog = false;
  19022.                 }
  19023.             }catch(java.lang.Exception e) {
  19024.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.freememorylog' non impostata correttamente. Assumo valore di default 'false'.");
  19025.                 this.freeMemoryLog = false;
  19026.             }
  19027.         }
  19028.         return this.freeMemoryLog;
  19029.     }
  19030.    
  19031.    
  19032.    
  19033.    
  19034.    
  19035.    
  19036.     /* ------------- Protocol ---------------------*/
  19037.    
  19038.     private String defaultProtocolName = null;      
  19039.     public String getDefaultProtocolName(){
  19040.         if(this.defaultProtocolName==null){
  19041.             try{
  19042.                 this.defaultProtocolName = this.reader.getValue("org.openspcoop2.pdd.services.defaultProtocol");
  19043.                 if(this.defaultProtocolName!=null){
  19044.                     this.defaultProtocolName = this.defaultProtocolName.trim();
  19045.                 }
  19046.             } catch(java.lang.Exception e) {
  19047.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.services.defaultProtocol' non impostata correttamente,  errore:"+e.getMessage(),e);
  19048.             }
  19049.         }
  19050.         return this.defaultProtocolName;
  19051.     }

  19052.    
  19053.        
  19054.    
  19055.     /* ------------- Soggetti Virtuali ---------------------*/
  19056.    
  19057.     private Boolean isSoggettiVirtualiEnabled = null;
  19058.     public boolean isSoggettiVirtualiEnabled() {    
  19059.         if(this.isSoggettiVirtualiEnabled==null){
  19060.             String pName = "org.openspcoop2.pdd.SoggettiVirtuali.enabled";
  19061.             try{
  19062.                 String name = null;
  19063.                 name = this.reader.getValueConvertEnvProperties(pName);
  19064.                 if(name==null){
  19065.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  19066.                     name="false";
  19067.                 }
  19068.                 name = name.trim();
  19069.                 this.isSoggettiVirtualiEnabled = Boolean.parseBoolean(name);
  19070.             } catch(java.lang.Exception e) {
  19071.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19072.                 this.isSoggettiVirtualiEnabled = false;
  19073.             }    
  19074.         }

  19075.         return this.isSoggettiVirtualiEnabled;
  19076.     }
  19077.    
  19078.    
  19079.     /* ------------- Generazione Errore Protocol non supportato ---------------------*/
  19080.    
  19081.     private Boolean isGenerazioneErroreProtocolloNonSupportato = null;
  19082.     public boolean isGenerazioneErroreProtocolloNonSupportato() {  
  19083.         if(this.isGenerazioneErroreProtocolloNonSupportato==null){
  19084.             try{
  19085.                 String name = null;
  19086.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.protocolNotSupported.generateErrorMessage");
  19087.                 if(name==null){
  19088.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.protocolNotSupported.generateErrorMessage' non impostata, viene utilizzato il default=false");
  19089.                     name="false";
  19090.                 }
  19091.                 name = name.trim();
  19092.                 this.isGenerazioneErroreProtocolloNonSupportato = Boolean.parseBoolean(name);
  19093.             } catch(java.lang.Exception e) {
  19094.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.protocolNotSupported.generateErrorMessage': "+e.getMessage(),e);
  19095.                 this.isGenerazioneErroreProtocolloNonSupportato = false;
  19096.             }    
  19097.         }

  19098.         return this.isGenerazioneErroreProtocolloNonSupportato;
  19099.     }
  19100.    
  19101.    
  19102.    
  19103.    
  19104.     /* ------------- Generazione Errore HttpMethodUnsupported ---------------------*/
  19105.    
  19106.     private Boolean isGenerazioneErroreHttpMethodUnsupportedPortaDelegataEnabled = null;
  19107.     public boolean isGenerazioneErroreHttpMethodUnsupportedPortaDelegataEnabled() {
  19108.         if(this.isGenerazioneErroreHttpMethodUnsupportedPortaDelegataEnabled==null){
  19109.             try{
  19110.                 String name = null;
  19111.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.pd.httpMethodUnsupported.generateErrorMessage");
  19112.                 if(name==null){
  19113.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.pd.httpMethodUnsupported.generateErrorMessage' non impostata, viene utilizzato il default=true");
  19114.                     name="true";
  19115.                 }
  19116.                 name = name.trim();
  19117.                 this.isGenerazioneErroreHttpMethodUnsupportedPortaDelegataEnabled = Boolean.parseBoolean(name);
  19118.             } catch(java.lang.Exception e) {
  19119.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.pd.httpMethodUnsupported.generateErrorMessage': "+e.getMessage(),e);
  19120.                 this.isGenerazioneErroreHttpMethodUnsupportedPortaDelegataEnabled = true;
  19121.             }    
  19122.         }

  19123.         return this.isGenerazioneErroreHttpMethodUnsupportedPortaDelegataEnabled;
  19124.     }
  19125.    
  19126.     private Boolean isGenerazioneErroreHttpMethodUnsupportedPortaDelegataImbustamentoSOAPEnabled = null;
  19127.     public boolean isGenerazioneErroreHttpMethodUnsupportedPortaDelegataImbustamentoSOAPEnabled() {
  19128.         if(this.isGenerazioneErroreHttpMethodUnsupportedPortaDelegataImbustamentoSOAPEnabled==null){
  19129.             try{
  19130.                 String name = null;
  19131.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.pdToSoap.httpMethodUnsupported.generateErrorMessage");
  19132.                 if(name==null){
  19133.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.pdToSoap.httpMethodUnsupported.generateErrorMessage' non impostata, viene utilizzato il default=true");
  19134.                     name="true";
  19135.                 }
  19136.                 name = name.trim();
  19137.                 this.isGenerazioneErroreHttpMethodUnsupportedPortaDelegataImbustamentoSOAPEnabled = Boolean.parseBoolean(name);
  19138.             } catch(java.lang.Exception e) {
  19139.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.pdToSoap.httpMethodUnsupported.generateErrorMessage': "+e.getMessage(),e);
  19140.                 this.isGenerazioneErroreHttpMethodUnsupportedPortaDelegataImbustamentoSOAPEnabled = true;
  19141.             }    
  19142.         }

  19143.         return this.isGenerazioneErroreHttpMethodUnsupportedPortaDelegataImbustamentoSOAPEnabled;
  19144.     }
  19145.    
  19146.     private Boolean isGenerazioneErroreHttpMethodUnsupportedPortaApplicativaEnabled = null;
  19147.     public boolean isGenerazioneErroreHttpMethodUnsupportedPortaApplicativaEnabled() {  
  19148.         if(this.isGenerazioneErroreHttpMethodUnsupportedPortaApplicativaEnabled==null){
  19149.             try{
  19150.                 String name = null;
  19151.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.pa.httpMethodUnsupported.generateErrorMessage");
  19152.                 if(name==null){
  19153.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.pa.httpMethodUnsupported.generateErrorMessage' non impostata, viene utilizzato il default=true");
  19154.                     name="true";
  19155.                 }
  19156.                 name = name.trim();
  19157.                 this.isGenerazioneErroreHttpMethodUnsupportedPortaApplicativaEnabled = Boolean.parseBoolean(name);
  19158.             } catch(java.lang.Exception e) {
  19159.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.pa.httpMethodUnsupported.generateErrorMessage': "+e.getMessage(),e);
  19160.                 this.isGenerazioneErroreHttpMethodUnsupportedPortaApplicativaEnabled = true;
  19161.             }    
  19162.         }

  19163.         return this.isGenerazioneErroreHttpMethodUnsupportedPortaApplicativaEnabled;
  19164.     }
  19165.    
  19166.     private Boolean isGenerazioneErroreHttpMethodUnsupportedIntegrationManagerEnabled = null;
  19167.     public boolean isGenerazioneErroreHttpMethodUnsupportedIntegrationManagerEnabled() {    
  19168.         if(this.isGenerazioneErroreHttpMethodUnsupportedIntegrationManagerEnabled==null){
  19169.             try{
  19170.                 String name = null;
  19171.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.im.httpMethodUnsupported.generateErrorMessage");
  19172.                 if(name==null){
  19173.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.im.httpMethodUnsupported.generateErrorMessage' non impostata, viene utilizzato il default=true");
  19174.                     name="true";
  19175.                 }
  19176.                 name = name.trim();
  19177.                 this.isGenerazioneErroreHttpMethodUnsupportedIntegrationManagerEnabled = Boolean.parseBoolean(name);
  19178.             } catch(java.lang.Exception e) {
  19179.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.im.httpMethodUnsupported.generateErrorMessage': "+e.getMessage(),e);
  19180.                 this.isGenerazioneErroreHttpMethodUnsupportedIntegrationManagerEnabled = true;
  19181.             }    
  19182.         }

  19183.         return this.isGenerazioneErroreHttpMethodUnsupportedIntegrationManagerEnabled;
  19184.     }
  19185.    
  19186.     private Boolean isGenerazioneErroreHttpMethodUnsupportedCheckEnabled = null;
  19187.     public boolean isGenerazioneErroreHttpMethodUnsupportedCheckEnabled() {
  19188.         if(this.isGenerazioneErroreHttpMethodUnsupportedCheckEnabled==null){
  19189.             try{
  19190.                 String name = null;
  19191.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.check.httpMethodUnsupported.generateErrorMessage");
  19192.                 if(name==null){
  19193.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.check.httpMethodUnsupported.generateErrorMessage' non impostata, viene utilizzato il default=true");
  19194.                     name="true";
  19195.                 }
  19196.                 name = name.trim();
  19197.                 this.isGenerazioneErroreHttpMethodUnsupportedCheckEnabled = Boolean.parseBoolean(name);
  19198.             } catch(java.lang.Exception e) {
  19199.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.check.httpMethodUnsupported.generateErrorMessage': "+e.getMessage(),e);
  19200.                 this.isGenerazioneErroreHttpMethodUnsupportedCheckEnabled = true;
  19201.             }    
  19202.         }

  19203.         return this.isGenerazioneErroreHttpMethodUnsupportedCheckEnabled;
  19204.     }
  19205.    
  19206.     private Boolean isGenerazioneErroreHttpMethodUnsupportedProxyEnabled = null;
  19207.     public boolean isGenerazioneErroreHttpMethodUnsupportedProxyEnabled() {
  19208.         if(this.isGenerazioneErroreHttpMethodUnsupportedProxyEnabled==null){
  19209.             try{
  19210.                 String name = null;
  19211.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxy.httpMethodUnsupported.generateErrorMessage");
  19212.                 if(name==null){
  19213.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.proxy.httpMethodUnsupported.generateErrorMessage' non impostata, viene utilizzato il default=true");
  19214.                     name="true";
  19215.                 }
  19216.                 name = name.trim();
  19217.                 this.isGenerazioneErroreHttpMethodUnsupportedProxyEnabled = Boolean.parseBoolean(name);
  19218.             } catch(java.lang.Exception e) {
  19219.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxy.httpMethodUnsupported.generateErrorMessage': "+e.getMessage(),e);
  19220.                 this.isGenerazioneErroreHttpMethodUnsupportedProxyEnabled = true;
  19221.             }    
  19222.         }

  19223.         return this.isGenerazioneErroreHttpMethodUnsupportedProxyEnabled;
  19224.     }
  19225.    
  19226.    
  19227.    
  19228.    
  19229.     /* ------------- Generazione WSDL ---------------------*/
  19230.    
  19231.     private Boolean isGenerazioneWsdlPortaDelegataEnabled = null;
  19232.     public boolean isGenerazioneWsdlPortaDelegataEnabled() {    
  19233.         if(this.isGenerazioneWsdlPortaDelegataEnabled==null){
  19234.             try{
  19235.                 String name = null;
  19236.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.pd.generateWsdl");
  19237.                 if(name==null){
  19238.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.pd.generateWsdl' non impostata, viene utilizzato il default=false");
  19239.                     name="false";
  19240.                 }
  19241.                 name = name.trim();
  19242.                 this.isGenerazioneWsdlPortaDelegataEnabled = Boolean.parseBoolean(name);
  19243.             } catch(java.lang.Exception e) {
  19244.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.pd.generateWsdl': "+e.getMessage(),e);
  19245.                 this.isGenerazioneWsdlPortaDelegataEnabled = false;
  19246.             }    
  19247.         }

  19248.         return this.isGenerazioneWsdlPortaDelegataEnabled;
  19249.     }
  19250.    
  19251.     private Boolean isGenerazioneWsdlPortaApplicativaEnabled = null;
  19252.     public boolean isGenerazioneWsdlPortaApplicativaEnabled() {
  19253.         if(this.isGenerazioneWsdlPortaApplicativaEnabled==null){
  19254.             try{
  19255.                 String name = null;
  19256.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.pa.generateWsdl");
  19257.                 if(name==null){
  19258.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.pa.generateWsdl' non impostata, viene utilizzato il default=false");
  19259.                     name="false";
  19260.                 }
  19261.                 name = name.trim();
  19262.                 this.isGenerazioneWsdlPortaApplicativaEnabled = Boolean.parseBoolean(name);
  19263.             } catch(java.lang.Exception e) {
  19264.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.pa.generateWsdl': "+e.getMessage(),e);
  19265.                 this.isGenerazioneWsdlPortaApplicativaEnabled = false;
  19266.             }    
  19267.         }

  19268.         return this.isGenerazioneWsdlPortaApplicativaEnabled;
  19269.     }
  19270.    
  19271.     private Boolean isGenerazioneWsdlIntegrationManagerEnabled = null;
  19272.     public boolean isGenerazioneWsdlIntegrationManagerEnabled() {  
  19273.         if(this.isGenerazioneWsdlIntegrationManagerEnabled==null){
  19274.             try{
  19275.                 String name = null;
  19276.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.im.generateWsdl");
  19277.                 if(name==null){
  19278.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.im.generateWsdl' non impostata, viene utilizzato il default=true");
  19279.                     name="true";
  19280.                 }
  19281.                 name = name.trim();
  19282.                 this.isGenerazioneWsdlIntegrationManagerEnabled = Boolean.parseBoolean(name);
  19283.             } catch(java.lang.Exception e) {
  19284.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.im.generateWsdl': "+e.getMessage(),e);
  19285.                 this.isGenerazioneWsdlIntegrationManagerEnabled = true;
  19286.             }    
  19287.         }

  19288.         return this.isGenerazioneWsdlIntegrationManagerEnabled;
  19289.     }
  19290.    
  19291.    
  19292.    
  19293.    
  19294.     /* ------------- Check Reader Risorse JMX ---------------------*/
  19295.    
  19296.     private Boolean isCheckEnabled = null;
  19297.     public boolean isCheckEnabled() {  
  19298.         if(this.isCheckEnabled==null){
  19299.             try{
  19300.                 String name = null;
  19301.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.check.enabled");
  19302.                 if(name==null){
  19303.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.check.enabled' non impostata, viene utilizzato il default=true");
  19304.                     name="true";
  19305.                 }
  19306.                 name = name.trim();
  19307.                 this.isCheckEnabled = Boolean.parseBoolean(name);
  19308.             } catch(java.lang.Exception e) {
  19309.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.check.enabled': "+e.getMessage(),e);
  19310.                 this.isCheckEnabled = true;
  19311.             }    
  19312.         }

  19313.         return this.isCheckEnabled;
  19314.     }
  19315.    
  19316.     private Boolean isCheckHealthCheckApiRestEnabled = null;
  19317.     public boolean isCheckHealthCheckApiRestEnabled() {
  19318.         if(this.isCheckHealthCheckApiRestEnabled==null){
  19319.             String pName = "org.openspcoop2.pdd.check.healthCheck.apiRest.enabled";
  19320.             try{
  19321.                 String name = null;
  19322.                 name = this.reader.getValueConvertEnvProperties(pName);
  19323.                 if(name==null){
  19324.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  19325.                     name="false";
  19326.                 }
  19327.                 name = name.trim();
  19328.                 this.isCheckHealthCheckApiRestEnabled = Boolean.parseBoolean(name);
  19329.             } catch(java.lang.Exception e) {
  19330.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19331.                 this.isCheckHealthCheckApiRestEnabled = false;
  19332.             }    
  19333.         }

  19334.         return this.isCheckHealthCheckApiRestEnabled;
  19335.     }
  19336.    
  19337.     private String getCheckHealthCheckApiRestEndpoint = null;
  19338.     public String getCheckHealthCheckApiRestEndpoint() {    
  19339.         if(this.getCheckHealthCheckApiRestEndpoint==null){
  19340.             String pName = "org.openspcoop2.pdd.check.healthCheck.apiRest.endpoint";
  19341.             try{
  19342.                 String name = null;
  19343.                 name = this.reader.getValueConvertEnvProperties(pName);
  19344.                 if(name==null){
  19345.                     throw new CoreException("Non definita");
  19346.                 }
  19347.                 name = name.trim();
  19348.                 this.getCheckHealthCheckApiRestEndpoint = name;
  19349.             } catch(java.lang.Exception e) {
  19350.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19351.                 this.getCheckHealthCheckApiRestEndpoint = null;
  19352.             }    
  19353.         }

  19354.         return this.getCheckHealthCheckApiRestEndpoint;
  19355.     }
  19356.    
  19357.     private Boolean isCheckHealthCheckApiSoapEnabled = null;
  19358.     public boolean isCheckHealthCheckApiSoapEnabled() {
  19359.         if(this.isCheckHealthCheckApiSoapEnabled==null){
  19360.             String pName = "org.openspcoop2.pdd.check.healthCheck.apiSoap.enabled";
  19361.             try{
  19362.                 String name = null;
  19363.                 name = this.reader.getValueConvertEnvProperties(pName);
  19364.                 if(name==null){
  19365.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  19366.                     name="false";
  19367.                 }
  19368.                 name = name.trim();
  19369.                 this.isCheckHealthCheckApiSoapEnabled = Boolean.parseBoolean(name);
  19370.             } catch(java.lang.Exception e) {
  19371.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19372.                 this.isCheckHealthCheckApiSoapEnabled = false;
  19373.             }    
  19374.         }

  19375.         return this.isCheckHealthCheckApiSoapEnabled;
  19376.     }
  19377.    
  19378.     private String getCheckHealthCheckApiSoapEndpoint = null;
  19379.     public String getCheckHealthCheckApiSoapEndpoint() {    
  19380.         if(this.getCheckHealthCheckApiSoapEndpoint==null){
  19381.             String pName = "org.openspcoop2.pdd.check.healthCheck.apiSoap.endpoint";
  19382.             try{
  19383.                 String name = null;
  19384.                 name = this.reader.getValueConvertEnvProperties(pName);
  19385.                 if(name==null){
  19386.                     throw new CoreException("Non definita");
  19387.                 }
  19388.                 name = name.trim();
  19389.                 this.getCheckHealthCheckApiSoapEndpoint = name;
  19390.             } catch(java.lang.Exception e) {
  19391.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19392.                 this.getCheckHealthCheckApiSoapEndpoint = null;
  19393.             }    
  19394.         }

  19395.         return this.getCheckHealthCheckApiSoapEndpoint;
  19396.     }
  19397.    
  19398.     private Boolean isCheckHealthCheckStatsEnabled = null;
  19399.     public boolean isCheckHealthCheckStatsEnabled() {  
  19400.         if(this.isCheckHealthCheckStatsEnabled==null){
  19401.             String pName = "org.openspcoop2.pdd.check.healthCheck.reportStatistici.enabled";
  19402.             try{
  19403.                 String name = null;
  19404.                 name = this.reader.getValueConvertEnvProperties(pName);
  19405.                 if(name==null){
  19406.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  19407.                     name="false";
  19408.                 }
  19409.                 name = name.trim();
  19410.                 this.isCheckHealthCheckStatsEnabled = Boolean.parseBoolean(name);
  19411.             } catch(java.lang.Exception e) {
  19412.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19413.                 this.isCheckHealthCheckStatsEnabled = false;
  19414.             }    
  19415.         }

  19416.         return this.isCheckHealthCheckStatsEnabled;
  19417.     }
  19418.    
  19419.     private Boolean isCheckHealthCheckStatsHourlyEnabled = null;
  19420.     public boolean isCheckHealthCheckStatsHourlyEnabled() {
  19421.         if(this.isCheckHealthCheckStatsHourlyEnabled==null){
  19422.             String pName = "org.openspcoop2.pdd.check.healthCheck.reportStatistici.intervalloOrario.verifica";
  19423.             try{
  19424.                 String name = null;
  19425.                 name = this.reader.getValueConvertEnvProperties(pName);
  19426.                 if(name==null){
  19427.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  19428.                     name="false";
  19429.                 }
  19430.                 name = name.trim();
  19431.                 this.isCheckHealthCheckStatsHourlyEnabled = Boolean.parseBoolean(name);
  19432.             } catch(java.lang.Exception e) {
  19433.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19434.                 this.isCheckHealthCheckStatsHourlyEnabled = false;
  19435.             }    
  19436.         }

  19437.         return this.isCheckHealthCheckStatsHourlyEnabled;
  19438.     }
  19439.    
  19440.     private Integer getCheckHealthCheckStatsHourlyThreshold = null;
  19441.     public int getCheckHealthCheckStatsHourlyThreshold() {  
  19442.         if(this.getCheckHealthCheckStatsHourlyThreshold==null){
  19443.             String pName = "org.openspcoop2.pdd.check.healthCheck.reportStatistici.intervalloOrario.soglia";
  19444.             try{
  19445.                 String name = null;
  19446.                 name = this.reader.getValueConvertEnvProperties(pName);
  19447.                 if(name==null){
  19448.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, 1));
  19449.                     name="1";
  19450.                 }
  19451.                 name = name.trim();
  19452.                 this.getCheckHealthCheckStatsHourlyThreshold = Integer.valueOf(name);
  19453.             } catch(java.lang.Exception e) {
  19454.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19455.                 this.getCheckHealthCheckStatsHourlyThreshold = -1;
  19456.             }    
  19457.         }

  19458.         return this.getCheckHealthCheckStatsHourlyThreshold;
  19459.     }
  19460.    
  19461.        
  19462.     private Boolean isCheckHealthCheckStatsDailyEnabled = null;
  19463.     public boolean isCheckHealthCheckStatsDailyEnabled() {  
  19464.         if(this.isCheckHealthCheckStatsDailyEnabled==null){
  19465.             String pName = "org.openspcoop2.pdd.check.healthCheck.reportStatistici.intervalloGiornaliero.verifica";
  19466.             try{
  19467.                 String name = null;
  19468.                 name = this.reader.getValueConvertEnvProperties(pName);
  19469.                 if(name==null){
  19470.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  19471.                     name="false";
  19472.                 }
  19473.                 name = name.trim();
  19474.                 this.isCheckHealthCheckStatsDailyEnabled = Boolean.parseBoolean(name);
  19475.             } catch(java.lang.Exception e) {
  19476.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19477.                 this.isCheckHealthCheckStatsDailyEnabled = false;
  19478.             }    
  19479.         }

  19480.         return this.isCheckHealthCheckStatsDailyEnabled;
  19481.     }
  19482.    
  19483.     private Integer getCheckHealthCheckStatsDailyThreshold = null;
  19484.     public int getCheckHealthCheckStatsDailyThreshold() {  
  19485.         if(this.getCheckHealthCheckStatsDailyThreshold==null){
  19486.             String pName = "org.openspcoop2.pdd.check.healthCheck.reportStatistici.intervalloGiornaliero.soglia";
  19487.             try{
  19488.                 String name = null;
  19489.                 name = this.reader.getValueConvertEnvProperties(pName);
  19490.                 if(name==null){
  19491.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, 1));
  19492.                     name="1";
  19493.                 }
  19494.                 name = name.trim();
  19495.                 this.getCheckHealthCheckStatsDailyThreshold = Integer.valueOf(name);
  19496.             } catch(java.lang.Exception e) {
  19497.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19498.                 this.getCheckHealthCheckStatsDailyThreshold = -1;
  19499.             }    
  19500.         }

  19501.         return this.getCheckHealthCheckStatsDailyThreshold;
  19502.     }
  19503.    
  19504.     private Boolean isCheckHealthCheckStatsWeeklyEnabled = null;
  19505.     public boolean isCheckHealthCheckStatsWeeklyEnabled() {
  19506.         if(this.isCheckHealthCheckStatsWeeklyEnabled==null){
  19507.             String pName = "org.openspcoop2.pdd.check.healthCheck.reportStatistici.intervalloSettimanale.verifica";
  19508.             try{
  19509.                 String name = null;
  19510.                 name = this.reader.getValueConvertEnvProperties(pName);
  19511.                 if(name==null){
  19512.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  19513.                     name="false";
  19514.                 }
  19515.                 name = name.trim();
  19516.                 this.isCheckHealthCheckStatsWeeklyEnabled = Boolean.parseBoolean(name);
  19517.             } catch(java.lang.Exception e) {
  19518.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19519.                 this.isCheckHealthCheckStatsWeeklyEnabled = false;
  19520.             }    
  19521.         }

  19522.         return this.isCheckHealthCheckStatsWeeklyEnabled;
  19523.     }
  19524.    
  19525.     private Integer getCheckHealthCheckStatsWeeklyThreshold = null;
  19526.     public int getCheckHealthCheckStatsWeeklyThreshold() {  
  19527.         if(this.getCheckHealthCheckStatsWeeklyThreshold==null){
  19528.             String pName = "org.openspcoop2.pdd.check.healthCheck.reportStatistici.intervalloSettimanale.soglia";
  19529.             try{
  19530.                 String name = null;
  19531.                 name = this.reader.getValueConvertEnvProperties(pName);
  19532.                 if(name==null){
  19533.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, 1));
  19534.                     name="1";
  19535.                 }
  19536.                 name = name.trim();
  19537.                 this.getCheckHealthCheckStatsWeeklyThreshold = Integer.valueOf(name);
  19538.             } catch(java.lang.Exception e) {
  19539.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19540.                 this.getCheckHealthCheckStatsWeeklyThreshold = -1;
  19541.             }    
  19542.         }

  19543.         return this.getCheckHealthCheckStatsWeeklyThreshold;
  19544.     }
  19545.    

  19546.    
  19547.     private Boolean isCheckHealthCheckStatsMonthlyEnabled = null;
  19548.     public boolean isCheckHealthCheckStatsMonthlyEnabled() {    
  19549.         if(this.isCheckHealthCheckStatsMonthlyEnabled==null){
  19550.             String pName = "org.openspcoop2.pdd.check.healthCheck.reportStatistici.intervalloMensile.verifica";
  19551.             try{
  19552.                 String name = null;
  19553.                 name = this.reader.getValueConvertEnvProperties(pName);
  19554.                 if(name==null){
  19555.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  19556.                     name="false";
  19557.                 }
  19558.                 name = name.trim();
  19559.                 this.isCheckHealthCheckStatsMonthlyEnabled = Boolean.parseBoolean(name);
  19560.             } catch(java.lang.Exception e) {
  19561.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19562.                 this.isCheckHealthCheckStatsMonthlyEnabled = false;
  19563.             }    
  19564.         }

  19565.         return this.isCheckHealthCheckStatsMonthlyEnabled;
  19566.     }
  19567.    
  19568.     private Integer getCheckHealthCheckStatsMonthlyThreshold = null;
  19569.     public int getCheckHealthCheckStatsMonthlyThreshold() {
  19570.         if(this.getCheckHealthCheckStatsMonthlyThreshold==null){
  19571.             String pName = "org.openspcoop2.pdd.check.healthCheck.reportStatistici.intervalloMensile.soglia";
  19572.             try{
  19573.                 String name = null;
  19574.                 name = this.reader.getValueConvertEnvProperties(pName);
  19575.                 if(name==null){
  19576.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, 1));
  19577.                     name="1";
  19578.                 }
  19579.                 name = name.trim();
  19580.                 this.getCheckHealthCheckStatsMonthlyThreshold = Integer.valueOf(name);
  19581.             } catch(java.lang.Exception e) {
  19582.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19583.                 this.getCheckHealthCheckStatsMonthlyThreshold = -1;
  19584.             }    
  19585.         }

  19586.         return this.getCheckHealthCheckStatsMonthlyThreshold;
  19587.     }
  19588.    
  19589.     private Boolean isCheckReadJMXResourcesEnabled = null;
  19590.     public boolean isCheckReadJMXResourcesEnabled() {  
  19591.         if(this.isCheckReadJMXResourcesEnabled==null){
  19592.             try{
  19593.                 String name = null;
  19594.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.check.readJMXResources.enabled");
  19595.                 if(name==null){
  19596.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.check.readJMXResources.enabled' non impostata, viene utilizzato il default=false");
  19597.                     name="false";
  19598.                 }
  19599.                 name = name.trim();
  19600.                 this.isCheckReadJMXResourcesEnabled = Boolean.parseBoolean(name);
  19601.             } catch(java.lang.Exception e) {
  19602.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.check.readJMXResources.enabled': "+e.getMessage(),e);
  19603.                 this.isCheckReadJMXResourcesEnabled = false;
  19604.             }    
  19605.         }

  19606.         return this.isCheckReadJMXResourcesEnabled;
  19607.     }
  19608.    
  19609.     private String getCheckReadJMXResourcesUsername = null;
  19610.     private Boolean getCheckReadJMXResourcesUsernameRead = null;
  19611.     public String getCheckReadJMXResourcesUsername() {  
  19612.         if(this.getCheckReadJMXResourcesUsernameRead==null){
  19613.             try{
  19614.                 String name = null;
  19615.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.check.readJMXResources.username");
  19616.                 if(name!=null){
  19617.                     name = name.trim();
  19618.                 }
  19619.                 this.getCheckReadJMXResourcesUsernameRead = true;
  19620.                 this.getCheckReadJMXResourcesUsername = name;
  19621.             } catch(java.lang.Exception e) {
  19622.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.check.readJMXResources.username': "+e.getMessage(),e);
  19623.             }    
  19624.         }
  19625.         return this.getCheckReadJMXResourcesUsername;
  19626.     }
  19627.    
  19628.     private String getCheckReadJMXResourcesPassword = null;
  19629.     private Boolean getCheckReadJMXResourcesPasswordRead = null;
  19630.     public String getCheckReadJMXResourcesPassword() {  
  19631.         if(this.getCheckReadJMXResourcesPasswordRead==null){
  19632.             try{
  19633.                 String name = null;
  19634.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.check.readJMXResources.password");
  19635.                 if(name!=null){
  19636.                     name = name.trim();
  19637.                 }
  19638.                 this.getCheckReadJMXResourcesPasswordRead = true;
  19639.                 this.getCheckReadJMXResourcesPassword = name;
  19640.             } catch(java.lang.Exception e) {
  19641.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.check.readJMXResources.password': "+e.getMessage(),e);
  19642.             }    
  19643.         }
  19644.         return this.getCheckReadJMXResourcesPassword;
  19645.     }
  19646.    
  19647.    
  19648.     private Boolean isProxyReadJMXResourcesEnabled = null;
  19649.     public boolean isProxyReadJMXResourcesEnabled() {  
  19650.         if(this.isProxyReadJMXResourcesEnabled==null){
  19651.             try{
  19652.                 String name = null;
  19653.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.enabled");
  19654.                 if(name==null){
  19655.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.enabled' non impostata, viene utilizzato il default=false");
  19656.                     name="false";
  19657.                 }
  19658.                 name = name.trim();
  19659.                 this.isProxyReadJMXResourcesEnabled = Boolean.parseBoolean(name);
  19660.             } catch(java.lang.Exception e) {
  19661.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.enabled': "+e.getMessage(),e);
  19662.                 this.isProxyReadJMXResourcesEnabled = false;
  19663.             }    
  19664.         }

  19665.         return this.isProxyReadJMXResourcesEnabled;
  19666.     }
  19667.    
  19668.     private Boolean isProxyReadJMXResourcesAsyncProcessByTimer = null;
  19669.     public boolean isProxyReadJMXResourcesAsyncProcessByTimer() {  
  19670.         if(this.isProxyReadJMXResourcesAsyncProcessByTimer==null){
  19671.             try{
  19672.                 String name = null;
  19673.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.asyncUpdate");
  19674.                 if(name==null){
  19675.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.asyncUpdate' non impostata, viene utilizzato il default=false");
  19676.                     name="false";
  19677.                 }
  19678.                 name = name.trim();
  19679.                 this.isProxyReadJMXResourcesAsyncProcessByTimer = Boolean.parseBoolean(name);
  19680.             } catch(java.lang.Exception e) {
  19681.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.asyncUpdate': "+e.getMessage(),e);
  19682.                 this.isProxyReadJMXResourcesAsyncProcessByTimer = false;
  19683.             }    
  19684.         }

  19685.         return this.isProxyReadJMXResourcesAsyncProcessByTimer;
  19686.     }
  19687.    
  19688.     private String getProxyReadJMXResourcesAsyncProcessByTimerServiceImplClass = null;
  19689.     private Boolean getProxyReadJMXResourcesAsyncProcessByTimerServiceImplClassRead = null;
  19690.     public String getProxyReadJMXResourcesAsyncProcessByTimerServiceImplClass() {  
  19691.         if(this.getProxyReadJMXResourcesAsyncProcessByTimerServiceImplClassRead==null){
  19692.             try{
  19693.                 String name = null;
  19694.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.serviceClass");
  19695.                 if(name!=null){
  19696.                     name = name.trim();
  19697.                 }
  19698.                 this.getProxyReadJMXResourcesAsyncProcessByTimerServiceImplClassRead = true;
  19699.                 this.getProxyReadJMXResourcesAsyncProcessByTimerServiceImplClass = name;
  19700.             } catch(java.lang.Exception e) {
  19701.                 this.logWarn("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.serviceClass': "+e.getMessage(),e);
  19702.             }    
  19703.         }
  19704.         return this.getProxyReadJMXResourcesAsyncProcessByTimerServiceImplClass;
  19705.     }
  19706.    
  19707.     private Boolean isProxyReadJMXResourcesAsyncProcessByTimerDebug = null;
  19708.     public boolean isProxyReadJMXResourcesAsyncProcessByTimerDebug() {  
  19709.         if(this.isProxyReadJMXResourcesAsyncProcessByTimerDebug==null){
  19710.             String pName = "org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.debug";
  19711.             try{
  19712.                 String name = null;
  19713.                 name = this.reader.getValueConvertEnvProperties(pName);
  19714.                 if(name==null){
  19715.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  19716.                     name="true";
  19717.                 }
  19718.                 name = name.trim();
  19719.                 this.isProxyReadJMXResourcesAsyncProcessByTimerDebug = Boolean.parseBoolean(name);
  19720.             } catch(java.lang.Exception e) {
  19721.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  19722.                 this.isProxyReadJMXResourcesAsyncProcessByTimerDebug = true;
  19723.             }    
  19724.         }

  19725.         return this.isProxyReadJMXResourcesAsyncProcessByTimerDebug;
  19726.     }
  19727.    
  19728.     private String getProxyReadJMXResourcesAsyncProcessByTimerHostname = null;
  19729.     private Boolean getProxyReadJMXResourcesAsyncProcessByTimerHostnameRead = null;
  19730.     public String getProxyReadJMXResourcesAsyncProcessByTimerHostname() {  
  19731.         if(this.getProxyReadJMXResourcesAsyncProcessByTimerHostnameRead==null){
  19732.             try{
  19733.                 String name = null;
  19734.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.hostname");
  19735.                 if(name!=null){
  19736.                     name = name.trim();
  19737.                 }
  19738.                 this.getProxyReadJMXResourcesAsyncProcessByTimerHostnameRead = true;
  19739.                 this.getProxyReadJMXResourcesAsyncProcessByTimerHostname = name;
  19740.             } catch(java.lang.Exception e) {
  19741.                 this.logWarn("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.hostname': "+e.getMessage(),e);
  19742.             }    
  19743.         }
  19744.         return this.getProxyReadJMXResourcesAsyncProcessByTimerHostname;
  19745.     }
  19746.    
  19747.     private String getProxyReadJMXResourcesAsyncProcessByTimerSchema = null;
  19748.     private Boolean getProxyReadJMXResourcesAsyncProcessByTimerSchemaRead = null;
  19749.     public String getProxyReadJMXResourcesAsyncProcessByTimerSchema() {
  19750.         if(this.getProxyReadJMXResourcesAsyncProcessByTimerSchemaRead==null){
  19751.             try{
  19752.                 String name = null;
  19753.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.schema");
  19754.                 if(name!=null){
  19755.                     name = name.trim();
  19756.                 }
  19757.                 this.getProxyReadJMXResourcesAsyncProcessByTimerSchemaRead = true;
  19758.                 this.getProxyReadJMXResourcesAsyncProcessByTimerSchema = name;
  19759.             } catch(java.lang.Exception e) {
  19760.                 this.logWarn("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.schema': "+e.getMessage(),e);
  19761.             }    
  19762.         }
  19763.         return this.getProxyReadJMXResourcesAsyncProcessByTimerSchema;
  19764.     }
  19765.    
  19766.     private Integer getProxyReadJMXResourcesAsyncProcessByTimerPort = null;
  19767.     private Boolean getProxyReadJMXResourcesAsyncProcessByTimerPortRead = null;
  19768.     public Integer getProxyReadJMXResourcesAsyncProcessByTimerPort() {  
  19769.         if(this.getProxyReadJMXResourcesAsyncProcessByTimerPortRead==null){
  19770.             try{
  19771.                 String name = null;
  19772.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.port");
  19773.                 if(name!=null){
  19774.                     name = name.trim();
  19775.                     this.getProxyReadJMXResourcesAsyncProcessByTimerPort = Integer.valueOf(name);
  19776.                 }
  19777.                 this.getProxyReadJMXResourcesAsyncProcessByTimerPortRead = true;
  19778.             } catch(java.lang.Exception e) {
  19779.                 this.logWarn("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.port': "+e.getMessage(),e);
  19780.             }    
  19781.         }
  19782.         return this.getProxyReadJMXResourcesAsyncProcessByTimerPort;
  19783.     }
  19784.    
  19785.     private Integer getProxyReadJMXResourcesAsyncProcessByTimerCheckInterval = null;
  19786.     private Boolean getProxyReadJMXResourcesAsyncProcessByTimerCheckIntervalRead = null;
  19787.     public Integer getProxyReadJMXResourcesAsyncProcessByTimerCheckInterval() {
  19788.         if(this.getProxyReadJMXResourcesAsyncProcessByTimerCheckIntervalRead==null){
  19789.             try{
  19790.                 String name = null;
  19791.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.checkInterval");
  19792.                 if(name!=null){
  19793.                     name = name.trim();
  19794.                     this.getProxyReadJMXResourcesAsyncProcessByTimerCheckInterval = Integer.valueOf(name);
  19795.                 }
  19796.                 else {
  19797.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.checkInterval' non impostata, viene utilizzato il default=60");
  19798.                     this.getProxyReadJMXResourcesAsyncProcessByTimerCheckInterval = 60;
  19799.                 }
  19800.             } catch(java.lang.Exception e) {
  19801.                 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);
  19802.                 this.getProxyReadJMXResourcesAsyncProcessByTimerCheckInterval = 60;
  19803.             }
  19804.             this.getProxyReadJMXResourcesAsyncProcessByTimerCheckIntervalRead = true;
  19805.         }
  19806.         return this.getProxyReadJMXResourcesAsyncProcessByTimerCheckInterval;
  19807.     }
  19808.    
  19809.     private Integer getProxyReadJMXResourcesAsyncProcessByTimerLimit = null;
  19810.     private Boolean getProxyReadJMXResourcesAsyncProcessByTimerLimitRead = null;
  19811.     public Integer getProxyReadJMXResourcesAsyncProcessByTimerLimit() {
  19812.         if(this.getProxyReadJMXResourcesAsyncProcessByTimerLimitRead==null){
  19813.             try{
  19814.                 String name = null;
  19815.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.limit");
  19816.                 if(name!=null){
  19817.                     name = name.trim();
  19818.                     this.getProxyReadJMXResourcesAsyncProcessByTimerLimit = Integer.valueOf(name);
  19819.                 }
  19820.                 else {
  19821.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.limit' non impostata, viene utilizzato il default=100");
  19822.                     this.getProxyReadJMXResourcesAsyncProcessByTimerLimit = 100;
  19823.                 }
  19824.             } catch(java.lang.Exception e) {
  19825.                 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);
  19826.                 this.getProxyReadJMXResourcesAsyncProcessByTimerLimit = 100;
  19827.             }
  19828.             this.getProxyReadJMXResourcesAsyncProcessByTimerLimitRead = true;
  19829.         }
  19830.         return this.getProxyReadJMXResourcesAsyncProcessByTimerLimit;
  19831.     }
  19832.    
  19833.     private Integer getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordInterval = null;
  19834.     private Boolean getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordIntervalRead = null;
  19835.     public Integer getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordInterval() {    
  19836.         if(this.getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordIntervalRead==null){
  19837.             try{
  19838.                 String name = null;
  19839.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.historyCleaning.checkInterval");
  19840.                 if(name!=null){
  19841.                     name = name.trim();
  19842.                     this.getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordInterval = Integer.valueOf(name);
  19843.                 }
  19844.                 else {
  19845.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.historyCleaning.checkInterval' non impostata, viene utilizzato il default=3600");
  19846.                     this.getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordInterval = 3600;
  19847.                 }
  19848.             } catch(java.lang.Exception e) {
  19849.                 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);
  19850.                 this.getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordInterval = 3600;
  19851.             }
  19852.             this.getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordIntervalRead = true;
  19853.         }
  19854.         return this.getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordInterval;
  19855.     }
  19856.    
  19857.     private Integer getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordDeleteOlderThanMinutes = null;
  19858.     private Boolean getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordDeleteOlderThanMinutesRead = null;
  19859.     public Integer getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordDeleteOlderThanMinutes() {  
  19860.         if(this.getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordDeleteOlderThanMinutesRead==null){
  19861.             try{
  19862.                 String name = null;
  19863.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.historyCleaning.olderThanMinutes");
  19864.                 if(name!=null){
  19865.                     name = name.trim();
  19866.                     this.getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordDeleteOlderThanMinutes = Integer.valueOf(name);
  19867.                 }
  19868.                 else {
  19869.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.asyncUpdate.historyCleaning.olderThanMinutes' non impostata, viene utilizzato il default=60");
  19870.                     this.getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordDeleteOlderThanMinutes = 60;
  19871.                 }
  19872.             } catch(java.lang.Exception e) {
  19873.                 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);
  19874.                 this.getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordDeleteOlderThanMinutes = 60;
  19875.             }
  19876.             this.getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordDeleteOlderThanMinutesRead = true;
  19877.         }
  19878.         return this.getProxyReadJMXResourcesAsyncProcessByTimerCheckOldRecordDeleteOlderThanMinutes;
  19879.     }
  19880.    
  19881.     private String getProxyReadJMXResourcesSchema = null;
  19882.     private Boolean getProxyReadJMXResourcesSchemaRead = null;
  19883.     public String getProxyReadJMXResourcesSchema() {    
  19884.         if(this.getProxyReadJMXResourcesSchemaRead==null){
  19885.             try{
  19886.                 String name = null;
  19887.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.schema");
  19888.                 if(name!=null){
  19889.                     name = name.trim();
  19890.                 }
  19891.                 this.getProxyReadJMXResourcesSchemaRead = true;
  19892.                 this.getProxyReadJMXResourcesSchema = name;
  19893.             } catch(java.lang.Exception e) {
  19894.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.schema': "+e.getMessage(),e);
  19895.             }    
  19896.         }
  19897.         return this.getProxyReadJMXResourcesSchema;
  19898.     }
  19899.    
  19900.     private Integer getProxyReadJMXResourcesPort = null;
  19901.     private Boolean getProxyReadJMXResourcesPortRead = null;
  19902.     public Integer getProxyReadJMXResourcesPort() {
  19903.         if(this.getProxyReadJMXResourcesPortRead==null){
  19904.             try{
  19905.                 String name = null;
  19906.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.port");
  19907.                 if(name!=null){
  19908.                     name = name.trim();
  19909.                     this.getProxyReadJMXResourcesPort = Integer.valueOf(name);
  19910.                 }
  19911.                 this.getProxyReadJMXResourcesPortRead = true;
  19912.             } catch(java.lang.Exception e) {
  19913.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.port': "+e.getMessage(),e);
  19914.             }    
  19915.         }
  19916.         return this.getProxyReadJMXResourcesPort;
  19917.     }
  19918.    
  19919.     // utile per debug: invoco tutte le volte
  19920.     public Integer getProxyReadJMXResourcesPort(String hostname) {  
  19921.         try{
  19922.             String name = null;
  19923.             name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.port."+hostname);
  19924.             if(name!=null){
  19925.                 name = name.trim();
  19926.                 return Integer.valueOf(name);
  19927.             }
  19928.         } catch(java.lang.Exception e) {
  19929.             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.port."+hostname+"': "+e.getMessage(),e);
  19930.         }    
  19931.         return null;
  19932.     }
  19933.    
  19934.     private String getProxyReadJMXResourcesUsername = null;
  19935.     private Boolean getProxyReadJMXResourcesUsernameRead = null;
  19936.     public String getProxyReadJMXResourcesUsername() {  
  19937.         if(this.getProxyReadJMXResourcesUsernameRead==null){
  19938.             try{
  19939.                 String name = null;
  19940.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.username");
  19941.                 if(name!=null){
  19942.                     name = name.trim();
  19943.                 }
  19944.                 this.getProxyReadJMXResourcesUsernameRead = true;
  19945.                 this.getProxyReadJMXResourcesUsername = name;
  19946.             } catch(java.lang.Exception e) {
  19947.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.username': "+e.getMessage(),e);
  19948.             }    
  19949.         }
  19950.         return this.getProxyReadJMXResourcesUsername;
  19951.     }
  19952.    
  19953.     private String getProxyReadJMXResourcesPassword = null;
  19954.     private Boolean getProxyReadJMXResourcesPasswordRead = null;
  19955.     public String getProxyReadJMXResourcesPassword() {  
  19956.         if(this.getProxyReadJMXResourcesPasswordRead==null){
  19957.             try{
  19958.                 String name = null;
  19959.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.password");
  19960.                 if(name!=null){
  19961.                     name = name.trim();
  19962.                 }
  19963.                 this.getProxyReadJMXResourcesPasswordRead = true;
  19964.                 this.getProxyReadJMXResourcesPassword = name;
  19965.             } catch(java.lang.Exception e) {
  19966.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.password': "+e.getMessage(),e);
  19967.             }    
  19968.         }
  19969.         return this.getProxyReadJMXResourcesPassword;
  19970.     }
  19971.    
  19972.     private Boolean isProxyReadJMXResourcesHttpsEnabled = null;
  19973.     public boolean isProxyReadJMXResourcesHttpsEnabled() {  
  19974.         if(this.isProxyReadJMXResourcesHttpsEnabled==null){
  19975.             String pName = "org.openspcoop2.pdd.proxyJMXResources.https";
  19976.             try{
  19977.                 String name = null;
  19978.                 name = this.reader.getValueConvertEnvProperties(pName);
  19979.                 if(name==null){
  19980.                     this.logDebug(getMessaggioProprietaNonImpostata(pName, false));
  19981.                     name="false";
  19982.                 }
  19983.                 name = name.trim();
  19984.                 this.isProxyReadJMXResourcesHttpsEnabled = Boolean.parseBoolean(name);
  19985.             } catch(java.lang.Exception e) {
  19986.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  19987.                 this.isProxyReadJMXResourcesHttpsEnabled = false;
  19988.             }    
  19989.         }

  19990.         return this.isProxyReadJMXResourcesHttpsEnabled;
  19991.     }
  19992.    
  19993.     private Boolean isProxyReadJMXResourcesHttpsEnabledVerificaHostName = null;
  19994.     public boolean isProxyReadJMXResourcesHttpsEnabledVerificaHostName() {  
  19995.         if(this.isProxyReadJMXResourcesHttpsEnabledVerificaHostName==null){
  19996.             String pName = "org.openspcoop2.pdd.proxyJMXResources.https.verificaHostName";
  19997.             try{
  19998.                 String name = null;
  19999.                 name = this.reader.getValueConvertEnvProperties(pName);
  20000.                 if(name==null){
  20001.                     this.logDebug(getMessaggioProprietaNonImpostata(pName, true));
  20002.                     name="true";
  20003.                 }
  20004.                 name = name.trim();
  20005.                 this.isProxyReadJMXResourcesHttpsEnabledVerificaHostName = Boolean.parseBoolean(name);
  20006.             } catch(java.lang.Exception e) {
  20007.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  20008.                 this.isProxyReadJMXResourcesHttpsEnabledVerificaHostName = true;
  20009.             }    
  20010.         }

  20011.         return this.isProxyReadJMXResourcesHttpsEnabledVerificaHostName;
  20012.     }
  20013.    
  20014.     private Boolean isProxyReadJMXResourcesHttpsEnabledAutenticazioneServer = null;
  20015.     public boolean isProxyReadJMXResourcesHttpsEnabledAutenticazioneServer() {  
  20016.         if(this.isProxyReadJMXResourcesHttpsEnabledAutenticazioneServer==null){
  20017.             String pName = "org.openspcoop2.pdd.proxyJMXResources.https.autenticazioneServer";
  20018.             try{
  20019.                 String name = null;
  20020.                 name = this.reader.getValueConvertEnvProperties(pName);
  20021.                 if(name==null){
  20022.                     this.logDebug(getMessaggioProprietaNonImpostata(pName, true));
  20023.                     name="true";
  20024.                 }
  20025.                 name = name.trim();
  20026.                 this.isProxyReadJMXResourcesHttpsEnabledAutenticazioneServer = Boolean.parseBoolean(name);
  20027.             } catch(java.lang.Exception e) {
  20028.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  20029.                 this.isProxyReadJMXResourcesHttpsEnabledAutenticazioneServer = true;
  20030.             }    
  20031.         }

  20032.         return this.isProxyReadJMXResourcesHttpsEnabledAutenticazioneServer;
  20033.     }
  20034.    
  20035.     private String getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePath = null;
  20036.     private Boolean getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePathRead = null;
  20037.     public String getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePath() {    
  20038.         if(this.getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePathRead==null){
  20039.             String pName = "org.openspcoop2.pdd.proxyJMXResources.https.autenticazioneServer.truststorePath";
  20040.             try{
  20041.                 String name = null;
  20042.                 name = this.reader.getValueConvertEnvProperties(pName);
  20043.                 if(name!=null){
  20044.                     name = name.trim();
  20045.                 }
  20046.                 else {
  20047.                     throw new CoreException(NON_DEFINITA);
  20048.                 }
  20049.                 this.getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePathRead = true;
  20050.                 this.getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePath = name;
  20051.             } catch(java.lang.Exception e) {
  20052.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  20053.             }    
  20054.         }
  20055.         return this.getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePath;
  20056.     }
  20057.    
  20058.     private String getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststoreType = null;
  20059.     private Boolean getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststoreTypeRead = null;
  20060.     public String getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststoreType() {    
  20061.         if(this.getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststoreTypeRead==null){
  20062.             String pName = "org.openspcoop2.pdd.proxyJMXResources.https.autenticazioneServer.truststoreType";
  20063.             try{
  20064.                 String name = null;
  20065.                 name = this.reader.getValueConvertEnvProperties(pName);
  20066.                 if(name!=null){
  20067.                     name = name.trim();
  20068.                 }
  20069.                 else {
  20070.                     throw new CoreException(NON_DEFINITA);
  20071.                 }
  20072.                 this.getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststoreTypeRead = true;
  20073.                 this.getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststoreType = name;
  20074.             } catch(java.lang.Exception e) {
  20075.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  20076.             }    
  20077.         }
  20078.         return this.getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststoreType;
  20079.     }
  20080.    
  20081.     private String getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePassword = null;
  20082.     private Boolean getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePasswordRead = null;
  20083.     public String getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePassword() {    
  20084.         if(this.getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePasswordRead==null){
  20085.             String pName = "org.openspcoop2.pdd.proxyJMXResources.https.autenticazioneServer.truststorePassword";
  20086.             try{
  20087.                 String name = null;
  20088.                 name = this.reader.getValueConvertEnvProperties(pName);
  20089.                 if(name!=null){
  20090.                     name = name.trim();
  20091.                 }
  20092.                 else {
  20093.                     throw new CoreException(NON_DEFINITA);
  20094.                 }
  20095.                 this.getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePasswordRead = true;
  20096.                 this.getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePassword = name;
  20097.             } catch(java.lang.Exception e) {
  20098.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  20099.             }    
  20100.         }
  20101.         return this.getProxyReadJMXResourcesHttpsEnabledAutenticazioneServerTruststorePassword;
  20102.     }
  20103.    
  20104.     private Integer getProxyReadJMXResourcesConnectionTimeout = null;
  20105.     public Integer getProxyReadJMXResourcesConnectionTimeout() {    
  20106.         if(this.getProxyReadJMXResourcesConnectionTimeout==null){
  20107.             try{
  20108.                 String name = null;
  20109.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.connection.timeout");
  20110.                 if(name!=null){
  20111.                     name = name.trim();
  20112.                 }
  20113.                 else {
  20114.                     throw new CoreException("non esistente");
  20115.                 }
  20116.                 this.getProxyReadJMXResourcesConnectionTimeout = Integer.valueOf(name);
  20117.             } catch(java.lang.Exception e) {
  20118.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.connection.timeout': "+e.getMessage(),e);
  20119.             }    
  20120.         }
  20121.         return this.getProxyReadJMXResourcesConnectionTimeout;
  20122.     }
  20123.    
  20124.     private Integer getProxyReadJMXResourcesReadTimeout = null;
  20125.     public Integer getProxyReadJMXResourcesReadTimeout() {  
  20126.         if(this.getProxyReadJMXResourcesReadTimeout==null){
  20127.             try{
  20128.                 String name = null;
  20129.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.proxyJMXResources.readConnection.timeout");
  20130.                 if(name!=null){
  20131.                     name = name.trim();
  20132.                 }
  20133.                 else {
  20134.                     throw new CoreException("non esistente");
  20135.                 }
  20136.                 this.getProxyReadJMXResourcesReadTimeout = Integer.valueOf(name);
  20137.             } catch(java.lang.Exception e) {
  20138.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.proxyJMXResources.readConnection.timeout': "+e.getMessage(),e);
  20139.             }    
  20140.         }
  20141.         return this.getProxyReadJMXResourcesReadTimeout;
  20142.     }
  20143.    
  20144.    

  20145.    
  20146.     /* -------------Datasource Wrapped  ---------------------*/
  20147.    
  20148.     private Boolean isDSOp2UtilsEnabled = null;
  20149.     public boolean isDSOp2UtilsEnabled() {  
  20150.         if(this.isDSOp2UtilsEnabled==null){
  20151.             try{
  20152.                 String name = null;
  20153.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.datasource.useDSUtils");
  20154.                 if(name==null){
  20155.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.datasource.useDSUtils' non impostata, viene utilizzato il default=false");
  20156.                     name="false";
  20157.                 }
  20158.                 name = name.trim();
  20159.                 this.isDSOp2UtilsEnabled = Boolean.parseBoolean(name);
  20160.             } catch(java.lang.Exception e) {
  20161.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.datasource.useDSUtils': "+e.getMessage(),e);
  20162.                 this.isDSOp2UtilsEnabled = false;
  20163.             }    
  20164.         }

  20165.         return this.isDSOp2UtilsEnabled;
  20166.     }
  20167.    
  20168.    
  20169.    
  20170.     /* ------------- Datasource check in getConnection event  ---------------------*/
  20171.    
  20172.     private Boolean isDataSourceGetConnectionCheckAutoCommitDisabled = null;
  20173.     public boolean isDataSourceGetConnectionCheckAutoCommitDisabled() {
  20174.         String pName = "org.openspcoop2.pdd.datasource.getConnection.checkAutoCommitDisabled";
  20175.         if(this.isDataSourceGetConnectionCheckAutoCommitDisabled==null){
  20176.             try{
  20177.                 String name = null;
  20178.                 name = this.reader.getValueConvertEnvProperties(pName);
  20179.                 if(name==null){
  20180.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  20181.                     name="true";
  20182.                 }
  20183.                 name = name.trim();
  20184.                 this.isDataSourceGetConnectionCheckAutoCommitDisabled = Boolean.parseBoolean(name);
  20185.             } catch(java.lang.Exception e) {
  20186.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  20187.                 this.isDataSourceGetConnectionCheckAutoCommitDisabled = true;
  20188.             }    
  20189.         }

  20190.         return this.isDataSourceGetConnectionCheckAutoCommitDisabled;
  20191.     }
  20192.    
  20193.     private Boolean isDataSourceGetConnectionCheckTransactionIsolationLevel = null;
  20194.     public boolean isDataSourceGetConnectionCheckTransactionIsolationLevel() {  
  20195.         String pName = "org.openspcoop2.pdd.datasource.getConnection.checkTransactionIsolationLevel";
  20196.         if(this.isDataSourceGetConnectionCheckTransactionIsolationLevel==null){
  20197.             try{
  20198.                 String name = null;
  20199.                 name = this.reader.getValueConvertEnvProperties(pName);
  20200.                 if(name==null){
  20201.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  20202.                     name="true";
  20203.                 }
  20204.                 name = name.trim();
  20205.                 this.isDataSourceGetConnectionCheckTransactionIsolationLevel = Boolean.parseBoolean(name);
  20206.             } catch(java.lang.Exception e) {
  20207.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  20208.                 this.isDataSourceGetConnectionCheckTransactionIsolationLevel = true;
  20209.             }    
  20210.         }

  20211.         return this.isDataSourceGetConnectionCheckTransactionIsolationLevel;
  20212.     }
  20213.    
  20214.     private Integer getDataSourceGetConnectionCheckTransactionIsolationLevelExpected = null;
  20215.     public int getDataSourceGetConnectionCheckTransactionIsolationLevelExpected() {
  20216.         String pName = "org.openspcoop2.pdd.datasource.getConnection.checkTransactionIsolationLevel.expected";
  20217.         if(this.getDataSourceGetConnectionCheckTransactionIsolationLevelExpected==null){
  20218.             try{
  20219.                 String name = null;
  20220.                 name = this.reader.getValueConvertEnvProperties(pName);
  20221.                 if(name==null){
  20222.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,Connection.TRANSACTION_READ_COMMITTED));
  20223.                     name=Connection.TRANSACTION_READ_COMMITTED+"";
  20224.                 }
  20225.                 name = name.trim();
  20226.                 this.getDataSourceGetConnectionCheckTransactionIsolationLevelExpected = Integer.valueOf(name);
  20227.             } catch(java.lang.Exception e) {
  20228.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  20229.                 this.getDataSourceGetConnectionCheckTransactionIsolationLevelExpected = Connection.TRANSACTION_READ_COMMITTED;
  20230.             }    
  20231.         }

  20232.         return this.getDataSourceGetConnectionCheckTransactionIsolationLevelExpected;
  20233.     }
  20234.    

  20235.    
  20236.    
  20237.     /* ------------- NotifierInputStream  ---------------------*/
  20238.    
  20239.     private Boolean isNotifierInputStreamEnabled = null;
  20240.     public boolean isNotifierInputStreamEnabled(){

  20241.         if(this.isNotifierInputStreamEnabled==null){
  20242.             try{  
  20243.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.notifierInputStream.enabled");

  20244.                 if (value != null){
  20245.                     value = value.trim();
  20246.                     this.isNotifierInputStreamEnabled = Boolean.parseBoolean(value);
  20247.                 }else{
  20248.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.notifierInputStream.enabled' non impostata, viene utilizzato il default=false");
  20249.                     this.isNotifierInputStreamEnabled = false;
  20250.                 }

  20251.             }catch(java.lang.Exception e) {
  20252.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.notifierInputStream.enabled' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  20253.                 this.isNotifierInputStreamEnabled = false;
  20254.             }
  20255.         }

  20256.         return this.isNotifierInputStreamEnabled;
  20257.     }
  20258.    
  20259.     private String notifierInputStreamCallback = null;      
  20260.     private Boolean notifierInputStreamCallbackRead = null;    
  20261.     public String getNotifierInputStreamCallback() throws CoreException{
  20262.         if(this.notifierInputStreamCallbackRead==null){
  20263.             try{
  20264.                 this.notifierInputStreamCallback = this.reader.getValue("org.openspcoop2.pdd.notifierInputStream.tipo");
  20265.                 if(this.notifierInputStreamCallback!=null){
  20266.                     this.notifierInputStreamCallback = this.notifierInputStreamCallback.trim();
  20267.                 }
  20268.                 this.notifierInputStreamCallbackRead = true;
  20269.             } catch(java.lang.Exception e) {
  20270.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.notifierInputStream.tipo' non impostata correttamente,  errore:"+e.getMessage(),e);
  20271.                 throw new CoreException("Proprieta' di openspcoop 'org.openspcoop2.pdd.notifierInputStream.tipo' non impostata correttamente,  errore:"+e.getMessage(),e);
  20272.             }
  20273.         }
  20274.         return this.notifierInputStreamCallback;
  20275.     }
  20276.    
  20277.    
  20278.     /* ------------- PipeUnblockedVersion  ---------------------*/
  20279.    
  20280.     private String pipedUnblockedStreamClassName = null;        
  20281.     private Boolean pipedUnblockedStreamClassNameRead = null;      
  20282.     public String getPipedUnblockedStreamClassName() throws CoreException{
  20283.         if(this.pipedUnblockedStreamClassNameRead==null){
  20284.             String pName = "org.openspcoop2.pdd.pipedUnblockedStream.className";
  20285.             try{
  20286.                 this.pipedUnblockedStreamClassName = this.reader.getValue(pName);
  20287.                 if(this.pipedUnblockedStreamClassName!=null){
  20288.                     this.pipedUnblockedStreamClassName = this.pipedUnblockedStreamClassName.trim();
  20289.                 }
  20290.                 this.pipedUnblockedStreamClassNameRead = true;
  20291.             } catch(java.lang.Exception e) {
  20292.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata correttamente,  errore:"+e.getMessage(),e);
  20293.                 throw new CoreException("Proprieta' di openspcoop '"+pName+"' non impostata correttamente,  errore:"+e.getMessage(),e);
  20294.             }
  20295.         }
  20296.         return this.pipedUnblockedStreamClassName;
  20297.     }
  20298.    
  20299.    
  20300.    
  20301.    
  20302.     /* ------------- FORMURLEncoder  ---------------------*/
  20303.    
  20304.     private Boolean isFormUrlEncodedFilterEnabled = null;
  20305.     public boolean isFormUrlEncodedFilterEnabled(){

  20306.         if(this.isFormUrlEncodedFilterEnabled==null){
  20307.             try{  
  20308.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.formUrlEncodedFilter.enabled");

  20309.                 if (value != null){
  20310.                     value = value.trim();
  20311.                     this.isFormUrlEncodedFilterEnabled = Boolean.parseBoolean(value);
  20312.                 }else{
  20313.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.formUrlEncodedFilter.enabled' non impostata, viene utilizzato il default=false");
  20314.                     this.isFormUrlEncodedFilterEnabled = false;
  20315.                 }

  20316.             }catch(java.lang.Exception e) {
  20317.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.formUrlEncodedFilter.enabled' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  20318.                 this.isFormUrlEncodedFilterEnabled = false;
  20319.             }
  20320.         }

  20321.         return this.isFormUrlEncodedFilterEnabled;
  20322.     }
  20323.    
  20324.    
  20325.    
  20326.     /* ------------- FORMURLEncoder  ---------------------*/
  20327.    
  20328.     private Boolean isWildflyUndertowClientCertificateFilterEnabled = null;
  20329.     public boolean isWildflyUndertowClientCertificateFilterEnabled(){

  20330.         String pName = "org.openspcoop2.pdd.wildflyUndertowClientCertificateFilter.enabled";
  20331.         if(this.isWildflyUndertowClientCertificateFilterEnabled==null){
  20332.             try{  
  20333.                 String value = this.reader.getValueConvertEnvProperties(pName);

  20334.                 if (value != null){
  20335.                     value = value.trim();
  20336.                     this.isWildflyUndertowClientCertificateFilterEnabled = Boolean.parseBoolean(value);
  20337.                 }else{
  20338.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  20339.                     this.isWildflyUndertowClientCertificateFilterEnabled = false;
  20340.                 }

  20341.             }catch(java.lang.Exception e) {
  20342.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  20343.                 this.isWildflyUndertowClientCertificateFilterEnabled = false;
  20344.             }
  20345.         }

  20346.         return this.isWildflyUndertowClientCertificateFilterEnabled;
  20347.     }
  20348.    
  20349.    
  20350.    
  20351.    
  20352.     /* ------------- SEMAPHORE  ---------------------*/
  20353.    
  20354.     private Long getSemaphoreTimeoutMS = null;
  20355.     public long getSemaphoreTimeoutMS(){

  20356.         String pName = "org.openspcoop2.pdd.semaphore.timeoutMS";
  20357.         if(this.getSemaphoreTimeoutMS==null){
  20358.             try{  
  20359.                 String value = this.reader.getValueConvertEnvProperties(pName);

  20360.                 if (value != null){
  20361.                     value = value.trim();
  20362.                     this.getSemaphoreTimeoutMS = Long.parseLong(value);
  20363.                 }else{
  20364.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostata, viene utilizzato il default="+Semaphore.DEFAULT_LOCK_ACQUISITION_TIMEOUT_MS);
  20365.                     this.getSemaphoreTimeoutMS = Semaphore.DEFAULT_LOCK_ACQUISITION_TIMEOUT_MS;
  20366.                 }

  20367.             }catch(java.lang.Exception e) {
  20368.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostata, viene utilizzato il default="+Semaphore.DEFAULT_LOCK_ACQUISITION_TIMEOUT_MS+", errore:"+e.getMessage(),e);
  20369.                 this.getSemaphoreTimeoutMS = Semaphore.DEFAULT_LOCK_ACQUISITION_TIMEOUT_MS;
  20370.             }
  20371.         }

  20372.         return this.getSemaphoreTimeoutMS;
  20373.     }
  20374.    
  20375.     private Long getSemaphoreHoldTimeoutMS = null;
  20376.     public long getSemaphoreHoldTimeoutMS(){

  20377.         String pName = "org.openspcoop2.pdd.semaphore.hold.timeoutMS";
  20378.         if(this.getSemaphoreHoldTimeoutMS==null){
  20379.             try{  
  20380.                 String value = this.reader.getValueConvertEnvProperties(pName);

  20381.                 if (value != null){
  20382.                     value = value.trim();
  20383.                     this.getSemaphoreHoldTimeoutMS = Long.parseLong(value);
  20384.                 }else{
  20385.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostata, viene utilizzato il default="+Semaphore.DEFAULT_LOCK_HOLD_TIMEOUT_MS);
  20386.                     this.getSemaphoreHoldTimeoutMS = Semaphore.DEFAULT_LOCK_HOLD_TIMEOUT_MS;
  20387.                 }

  20388.             }catch(java.lang.Exception e) {
  20389.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostata, viene utilizzato il default="+Semaphore.DEFAULT_LOCK_HOLD_TIMEOUT_MS+", errore:"+e.getMessage(),e);
  20390.                 this.getSemaphoreHoldTimeoutMS = Semaphore.DEFAULT_LOCK_HOLD_TIMEOUT_MS;
  20391.             }
  20392.         }

  20393.         return this.getSemaphoreHoldTimeoutMS;
  20394.     }
  20395.    
  20396.     private Boolean isSemaphoreDebug = null;
  20397.     public boolean isSemaphoreDebug(){

  20398.         String pName = "org.openspcoop2.pdd.semaphore.debug";
  20399.         if(this.isSemaphoreDebug==null){
  20400.             try{  
  20401.                 String value = this.reader.getValueConvertEnvProperties(pName);

  20402.                 if (value != null){
  20403.                     value = value.trim();
  20404.                     this.isSemaphoreDebug = Boolean.parseBoolean(value);
  20405.                 }else{
  20406.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  20407.                     this.isSemaphoreDebug = false;
  20408.                 }

  20409.             }catch(java.lang.Exception e) {
  20410.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  20411.                 this.isSemaphoreDebug = false;
  20412.             }
  20413.         }

  20414.         return this.isSemaphoreDebug;
  20415.     }
  20416.    
  20417.     private SemaphoreType getSemaphoreType = null;
  20418.     public SemaphoreType getSemaphoreType(){

  20419.         String pName = "org.openspcoop2.pdd.semaphore.type";
  20420.         if(this.getSemaphoreType==null){
  20421.            
  20422.             SemaphoreType defaultV = SemaphoreType.Semaphore;
  20423.            
  20424.             try{  
  20425.                 String value = this.reader.getValueConvertEnvProperties(pName);

  20426.                 if (value != null){
  20427.                     value = value.trim();
  20428.                     this.getSemaphoreType = SemaphoreType.valueOf(value);
  20429.                 }else{
  20430.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,defaultV.toString()));
  20431.                     this.getSemaphoreType = defaultV;
  20432.                 }

  20433.             }catch(java.lang.Exception e) {
  20434.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,defaultV.toString()),e);
  20435.                 this.getSemaphoreType = defaultV;
  20436.             }
  20437.         }

  20438.         return this.getSemaphoreType;
  20439.     }
  20440.    
  20441.     private Boolean isSemaphoreFair = null;
  20442.     public boolean isSemaphoreFair(){

  20443.         String pName = "org.openspcoop2.pdd.semaphore.fair";
  20444.         if(this.isSemaphoreFair==null){
  20445.             try{  
  20446.                 String value = this.reader.getValueConvertEnvProperties(pName);

  20447.                 if (value != null){
  20448.                     value = value.trim();
  20449.                     this.isSemaphoreFair = Boolean.parseBoolean(value);
  20450.                 }else{
  20451.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  20452.                     this.isSemaphoreFair = true;
  20453.                 }

  20454.             }catch(java.lang.Exception e) {
  20455.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  20456.                 this.isSemaphoreFair = true;
  20457.             }
  20458.         }

  20459.         return this.isSemaphoreFair;
  20460.     }
  20461.    
  20462.    
  20463.        
  20464.     /* ------------- JMINIX Console  ---------------------*/
  20465.    
  20466.     private Integer portJminixConsole = null;
  20467.     private Boolean portJminixConsoleReaded = null;
  20468.     public Integer getPortJminixConsole() {
  20469.         if(this.portJminixConsoleReaded==null){
  20470.             try{
  20471.                 String p = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.jminix.port");
  20472.                 if(p!=null){
  20473.                     p = p.trim();
  20474.                     this.portJminixConsole = Integer.parseInt(p);
  20475.                 }
  20476.                 this.portJminixConsoleReaded = true;
  20477.             } catch(java.lang.Exception e) {
  20478.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.jminix.port': "+e.getMessage(),e);
  20479.                 this.portJminixConsoleReaded = true;
  20480.             }    
  20481.         }

  20482.         return this.portJminixConsole;
  20483.     }
  20484.    
  20485.    
  20486.    
  20487.    

  20488.     /* ------------- Custom Function ---------------------*/
  20489.    
  20490.     private Boolean isEnabledFunctionPD = null;
  20491.     public boolean isEnabledFunctionPD() {  
  20492.         if(this.isEnabledFunctionPD==null){
  20493.             try{
  20494.                 String name = null;
  20495.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.function.pd.enabled");
  20496.                 if(name==null){
  20497.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.function.pd.enabled' non impostata, viene utilizzato il default=false");
  20498.                     name="true";
  20499.                 }
  20500.                 name = name.trim();
  20501.                 this.isEnabledFunctionPD = Boolean.parseBoolean(name);
  20502.             } catch(java.lang.Exception e) {
  20503.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.function.pd.enabled': "+e.getMessage(),e);
  20504.                 this.isEnabledFunctionPD = false;
  20505.             }    
  20506.         }

  20507.         return this.isEnabledFunctionPD;
  20508.     }
  20509.    
  20510.     private Boolean isEnabledFunctionPDtoSOAP = null;
  20511.     public boolean isEnabledFunctionPDtoSOAP() {    
  20512.         if(this.isEnabledFunctionPDtoSOAP==null){
  20513.             try{
  20514.                 String name = null;
  20515.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.function.pdToSoap.enabled");
  20516.                 if(name==null){
  20517.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.function.pdToSoap.enabled' non impostata, viene utilizzato il default=false");
  20518.                     name="true";
  20519.                 }
  20520.                 name = name.trim();
  20521.                 this.isEnabledFunctionPDtoSOAP = Boolean.parseBoolean(name);
  20522.             } catch(java.lang.Exception e) {
  20523.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.function.pdToSoap.enabled': "+e.getMessage(),e);
  20524.                 this.isEnabledFunctionPDtoSOAP = false;
  20525.             }    
  20526.         }

  20527.         return this.isEnabledFunctionPDtoSOAP;
  20528.     }
  20529.    
  20530.     private Boolean isEnabledFunctionPA = null;
  20531.     public boolean isEnabledFunctionPA() {  
  20532.         if(this.isEnabledFunctionPA==null){
  20533.             try{
  20534.                 String name = null;
  20535.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.function.pa.enabled");
  20536.                 if(name==null){
  20537.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.function.pa.enabled' non impostata, viene utilizzato il default=false");
  20538.                     name="true";
  20539.                 }
  20540.                 name = name.trim();
  20541.                 this.isEnabledFunctionPA = Boolean.parseBoolean(name);
  20542.             } catch(java.lang.Exception e) {
  20543.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.function.pa.enabled': "+e.getMessage(),e);
  20544.                 this.isEnabledFunctionPA = false;
  20545.             }    
  20546.         }

  20547.         return this.isEnabledFunctionPA;
  20548.     }
  20549.    
  20550.    
  20551.     private FunctionContextsCustom customContexts = null;
  20552.     public FunctionContextsCustom getCustomContexts() throws UtilsException {  
  20553.         if(this.customContexts==null){
  20554.             try{
  20555.                 Properties p = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.function.custom.");
  20556.                 if(p!=null && p.size()>0) {
  20557.                     Enumeration<Object> en = p.keys();
  20558.                     while (en.hasMoreElements()) {
  20559.                         Object object = (Object) en.nextElement();
  20560.                         if(object instanceof String) {
  20561.                             String s = (String) object;
  20562.                             if(s.endsWith(".context")) {
  20563.                                 String alias = s.substring(0,s.indexOf(".context"));
  20564.                                
  20565.                                 String context = p.getProperty(s);
  20566.                                 if(context==null || "".equals(context.trim())) {
  20567.                                     throw new CoreException("Context not defined for alias '"+alias+"'");
  20568.                                 }
  20569.                                 context = context.trim();
  20570.                                
  20571.                                 String service = p.getProperty(alias+".service");
  20572.                                 boolean serviceFound = false;
  20573.                                 FunctionContextCustom customWithoutSubContext = null;
  20574.                                 IDService idServiceCustomWithoutSubContext = null;
  20575.                                 if(service!=null && !"".equals(service.trim())) {
  20576.                                     idServiceCustomWithoutSubContext = IDService.toEnumConstant(service);
  20577.                                     if(idServiceCustomWithoutSubContext==null) {
  20578.                                         throw new CoreException("Value '"+service+"' unsupported for service in alias '"+alias+"'");
  20579.                                     }
  20580.                                     customWithoutSubContext = new FunctionContextCustom(context, idServiceCustomWithoutSubContext);
  20581.                                     serviceFound = true;
  20582.                                     // lo registro dopo gli eventuali subcontext
  20583.                                 }

  20584.                                 Properties pSubContext = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.function.custom."+alias+".subcontext.");
  20585.                                 if(pSubContext==null || pSubContext.size()<=0) {
  20586.                                     if(!serviceFound) {
  20587.                                         throw new CoreException("Service and SubContext undefined for alias '"+alias+"'");
  20588.                                     }
  20589.                                 }
  20590.                                 else {
  20591.                                     HashMap<String,IDService> subcontextMap = new HashMap<String,IDService>();
  20592.                                     Enumeration<Object> enSubContext = pSubContext.keys();
  20593.                                     while (enSubContext.hasMoreElements()) {
  20594.                                         Object objectSubContext = (Object) enSubContext.nextElement();
  20595.                                         if(objectSubContext instanceof String) {
  20596.                                             String subContextKey = (String) objectSubContext;
  20597.                                             if(subContextKey.endsWith(".url")) {
  20598.                                                 String aliasSubContext = subContextKey.substring(0,subContextKey.indexOf(".url"));
  20599.                                                
  20600.                                                 String subContext = pSubContext.getProperty(subContextKey);
  20601.                                                 if(subContext==null || "".equals(subContext.trim())) {
  20602.                                                     throw new CoreException("Url not defined for alias '"+alias+"', subcontext '"+aliasSubContext+"'");
  20603.                                                 }
  20604.                                                 subContext = subContext.trim();
  20605.                                                
  20606.                                                 String serviceSubContext = pSubContext.getProperty(aliasSubContext+".service");
  20607.                                                 if(serviceSubContext!=null && !"".equals(serviceSubContext.trim())) {
  20608.                                                     IDService idService = IDService.toEnumConstant(serviceSubContext);
  20609.                                                     if(idService==null) {
  20610.                                                         throw new CoreException("Value '"+serviceSubContext+"' unsupported for service in alias '"+alias+"', subcontext '"+aliasSubContext+"'");
  20611.                                                     }
  20612.                                                     subcontextMap.put(subContext, idService);  
  20613.                                                 }
  20614.                                                 else {
  20615.                                                     throw new CoreException("Service not defined for alias '"+alias+"', subcontext '"+aliasSubContext+"'");
  20616.                                                 }
  20617.                                             }
  20618.                                         }
  20619.                                     }
  20620.                                     if(subcontextMap.size()<=0) {
  20621.                                         if(!serviceFound) {
  20622.                                             throw new CoreException("SubContext undefined (wrong configuration) for alias '"+alias+"'");
  20623.                                         }
  20624.                                     }
  20625.                                     else {
  20626.                                         FunctionContextCustom custom = new FunctionContextCustom(context, subcontextMap);
  20627.                                         if(this.customContexts==null) {
  20628.                                             this.customContexts = new FunctionContextsCustom();
  20629.                                         }
  20630.                                         this.customContexts.getContexts().add(custom);
  20631.                                         Iterator<String> itS = subcontextMap.keySet().iterator();
  20632.                                         while (itS.hasNext()) {
  20633.                                             String subContext = (String) itS.next();
  20634.                                             this.logInfo("Registrato context '"+context+"', subcontext '"+subContext+"',  per service '"+subcontextMap.get(subContext)+"'");        
  20635.                                         }
  20636.                                     }
  20637.                                 }
  20638.                                
  20639.                                 if(customWithoutSubContext!=null) {
  20640.                                     if(this.customContexts==null) {
  20641.                                         this.customContexts = new FunctionContextsCustom();
  20642.                                     }
  20643.                                     this.customContexts.getContexts().add(customWithoutSubContext);
  20644.                                     this.logInfo("Registrato context '"+context+"' per service '"+idServiceCustomWithoutSubContext+"'");
  20645.                                 }
  20646.                             }
  20647.                         }
  20648.                     }
  20649.                 }
  20650.                
  20651.             } catch(java.lang.Exception e) {
  20652.                 this.logError("Riscontrato errore durante la lettura dei custom contexts: "+e.getMessage(),e);
  20653.                 throw new UtilsException("Riscontrato errore durante la lettura dei custom contexts: "+e.getMessage(),e);
  20654.             }    
  20655.         }

  20656.         return this.customContexts;
  20657.     }
  20658.    
  20659.    
  20660.    
  20661.    
  20662.     /* ------------- Custom Container ---------------------*/
  20663.    
  20664.     private Boolean realContainerCustomRead = null;
  20665.     private String realContainerCustom = null;
  20666.     public String getRealContainerCustom() {    
  20667.         if(this.realContainerCustomRead==null){
  20668.             try{
  20669.                 String v = null;
  20670.                 v = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.realmContainer.custom");
  20671.                 if(v!=null){
  20672.                     v = v.trim();
  20673.                     this.realContainerCustom = v;
  20674.                 }
  20675.             } catch(java.lang.Exception e) {
  20676.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.realmContainer.custom' non impostata correttamente,  errore:"+e.getMessage(),e);
  20677.             }
  20678.         }
  20679.         this.realContainerCustomRead = true;
  20680.         return this.realContainerCustom;
  20681.     }
  20682.    
  20683.    
  20684.     /* ------------- govway_configurazioneSistema ---------------------*/
  20685.    
  20686.     private Boolean isConfigurazioneSistema_javaProperties_showPassword = null;
  20687.     public boolean isConfigurazioneSistema_javaProperties_showPassword(){

  20688.         String pName = "org.openspcoop2.pdd.configurazioneSistema.javaProperties.showPassword";
  20689.         if(this.isConfigurazioneSistema_javaProperties_showPassword==null){
  20690.             try{  
  20691.                 String value = this.reader.getValueConvertEnvProperties(pName);

  20692.                 if (value != null){
  20693.                     value = value.trim();
  20694.                     this.isConfigurazioneSistema_javaProperties_showPassword = Boolean.parseBoolean(value);
  20695.                 }else{
  20696.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  20697.                     this.isConfigurazioneSistema_javaProperties_showPassword = false;
  20698.                 }

  20699.             }catch(java.lang.Exception e) {
  20700.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  20701.                 this.isConfigurazioneSistema_javaProperties_showPassword = false;
  20702.             }
  20703.         }

  20704.         return this.isConfigurazioneSistema_javaProperties_showPassword;
  20705.     }
  20706.    
  20707.    
  20708.     /* ------------- govway startup ---------------------*/
  20709.    
  20710.     private Integer getStartupRichiesteIngressoTimeout = null;
  20711.     public int getStartupRichiesteIngressoTimeoutSecondi() {    
  20712.         if(this.getStartupRichiesteIngressoTimeout==null){
  20713.             String pName = "org.openspcoop2.pdd.startup.richiesteIngresso.timeout";
  20714.             try{
  20715.                 String name = null;
  20716.                 name = this.reader.getValueConvertEnvProperties(pName);

  20717.                 if(name!=null){
  20718.                     name = name.trim();
  20719.                     this.getStartupRichiesteIngressoTimeout = java.lang.Integer.parseInt(name);
  20720.                 }else{
  20721.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,CostantiPdD.WAIT_STARTUP_TIMEOUT_SECONDS));
  20722.                     this.getStartupRichiesteIngressoTimeout = CostantiPdD.WAIT_STARTUP_TIMEOUT_SECONDS;
  20723.                 }
  20724.             }catch(java.lang.Exception e) {
  20725.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,CostantiPdD.WAIT_STARTUP_TIMEOUT_SECONDS),e);
  20726.                 this.getStartupRichiesteIngressoTimeout = CostantiPdD.WAIT_STARTUP_TIMEOUT_SECONDS;
  20727.             }
  20728.         }

  20729.         return this.getStartupRichiesteIngressoTimeout;
  20730.     }
  20731.     private Integer getStartupRichiesteIngressoCheck = null;
  20732.     public int getStartupRichiesteIngressoCheckMs() {  
  20733.         if(this.getStartupRichiesteIngressoCheck==null){
  20734.             String pName = "org.openspcoop2.pdd.startup.richiesteIngresso.check";
  20735.             try{
  20736.                 String name = null;
  20737.                 name = this.reader.getValueConvertEnvProperties(pName);

  20738.                 if(name!=null){
  20739.                     name = name.trim();
  20740.                     this.getStartupRichiesteIngressoCheck = java.lang.Integer.parseInt(name);
  20741.                 }else{
  20742.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,CostantiPdD.WAIT_STARTUP_CHECK_INTERVAL_MS));
  20743.                     this.getStartupRichiesteIngressoCheck = CostantiPdD.WAIT_STARTUP_CHECK_INTERVAL_MS;
  20744.                 }
  20745.             }catch(java.lang.Exception e) {
  20746.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,CostantiPdD.WAIT_STARTUP_CHECK_INTERVAL_MS),e);
  20747.                 this.getStartupRichiesteIngressoCheck = CostantiPdD.WAIT_STARTUP_CHECK_INTERVAL_MS;
  20748.             }
  20749.         }

  20750.         return this.getStartupRichiesteIngressoCheck;
  20751.     }
  20752.    
  20753.     private Integer getStartupLockMaxLife = null;
  20754.     public int getStartupLockMaxLife() {    
  20755.         if(this.getStartupLockMaxLife==null){
  20756.             try{
  20757.                 String name = null;
  20758.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.startup.lock.maxLife");

  20759.                 if(name!=null){
  20760.                     name = name.trim();
  20761.                     this.getStartupLockMaxLife = java.lang.Integer.parseInt(name);
  20762.                 }else{
  20763.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.startup.lock.maxLife' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_MAX_LIFE);
  20764.                     this.getStartupLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  20765.                 }
  20766.             }catch(java.lang.Exception e) {
  20767.                 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);
  20768.                 this.getStartupLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  20769.             }
  20770.             if(this.getStartupLockMaxLife!=null && this.getStartupLockMaxLife>0) {
  20771.                 // trasformo in millisecondi l'informazione fornita in secondi
  20772.                 this.getStartupLockMaxLife = this.getStartupLockMaxLife *1000;
  20773.             }
  20774.         }

  20775.         if(this.getStartupLockMaxLife!=null) {
  20776.             return this.getStartupLockMaxLife.intValue();
  20777.         }
  20778.         return -1;
  20779.     }
  20780.    
  20781.     private Integer getStartupLockIdleTime = null;
  20782.     public int getStartupLockIdleTime() {  
  20783.         if(this.getStartupLockIdleTime==null){
  20784.             try{
  20785.                 String name = null;
  20786.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.startup.lock.idleTime");

  20787.                 if(name!=null){
  20788.                     name = name.trim();
  20789.                     this.getStartupLockIdleTime = java.lang.Integer.parseInt(name);
  20790.                 }else{
  20791.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.startup.lock.idleTime' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_IDLE_TIME);
  20792.                     this.getStartupLockIdleTime = CostantiPdD.TIMER_LOCK_IDLE_TIME;
  20793.                 }
  20794.             }catch(java.lang.Exception e) {
  20795.                 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);
  20796.                 this.getStartupLockIdleTime = CostantiPdD.TIMER_LOCK_IDLE_TIME;
  20797.             }
  20798.             if(this.getStartupLockIdleTime!=null && this.getStartupLockIdleTime>0) {
  20799.                 // trasformo in millisecondi l'informazione fornita in secondi
  20800.                 this.getStartupLockIdleTime = this.getStartupLockIdleTime *1000;
  20801.             }
  20802.         }

  20803.         if(this.getStartupLockIdleTime!=null) {
  20804.             return this.getStartupLockIdleTime.intValue();
  20805.         }
  20806.         return -1;
  20807.     }
  20808.    
  20809.     private Long getStartupGetLockAttesaAttiva = null;
  20810.     public long getStartupGetLockAttesaAttiva() {  
  20811.         if(this.getStartupGetLockAttesaAttiva==null){
  20812.             String pName = "org.openspcoop2.pdd.startup.lock.attesaAttiva";
  20813.             try{
  20814.                 String name = null;
  20815.                 name = this.reader.getValueConvertEnvProperties(pName);

  20816.                 if(name!=null){
  20817.                     name = name.trim();
  20818.                     long time = java.lang.Long.parseLong(name);
  20819.                     this.getStartupGetLockAttesaAttiva = time*1000;
  20820.                 }else{
  20821.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA);
  20822.                     this.getStartupGetLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  20823.                 }

  20824.             }catch(java.lang.Exception e) {
  20825.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA+", errore:"+e.getMessage(),e);
  20826.                 this.getStartupGetLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  20827.             }    
  20828.         }

  20829.         return this.getStartupGetLockAttesaAttiva;
  20830.     }

  20831.     private Integer getStartupGetLockCheckInterval = null;
  20832.     public int getStartupGetLockCheckInterval() {  
  20833.         if(this.getStartupGetLockCheckInterval==null){
  20834.             String pName = "org.openspcoop2.pdd.startup.lock.check";
  20835.             try{
  20836.                 String name = null;
  20837.                 name = this.reader.getValueConvertEnvProperties(pName);

  20838.                 if(name!=null){
  20839.                     name = name.trim();
  20840.                     int time = java.lang.Integer.parseInt(name);
  20841.                     this.getStartupGetLockCheckInterval = time;
  20842.                 }else{
  20843.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL);
  20844.                     this.getStartupGetLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  20845.                 }
  20846.             }catch(java.lang.Exception e) {
  20847.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL+", errore:"+e.getMessage(),e);
  20848.                 this.getStartupGetLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  20849.             }  
  20850.         }

  20851.         return this.getStartupGetLockCheckInterval;
  20852.     }
  20853.    
  20854.    
  20855.     /* ------------- ExtendedInfo ---------------------*/
  20856.    
  20857.     private String extendedInfoConfigurazione = null;      
  20858.     private Boolean extendedInfoConfigurazioneRead = null;      
  20859.     public String getExtendedInfoConfigurazione() throws CoreException{
  20860.         if(this.extendedInfoConfigurazioneRead==null){
  20861.             String pName = "org.openspcoop2.pdd.config.extendedInfo.configurazione";
  20862.             try{
  20863.                 this.extendedInfoConfigurazione = this.reader.getValue(pName);
  20864.                 if(this.extendedInfoConfigurazione!=null){
  20865.                     this.extendedInfoConfigurazione = this.extendedInfoConfigurazione.trim();
  20866.                     this.extendedInfoConfigurazioneRead = true;
  20867.                 }
  20868.             } catch(java.lang.Exception e) {
  20869.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata correttamente,  errore:"+e.getMessage(),e);
  20870.                 throw new CoreException("Proprieta' di openspcoop '"+pName+"' non impostata correttamente,  errore:"+e.getMessage(),e);
  20871.             }
  20872.         }
  20873.         return this.extendedInfoConfigurazione;
  20874.     }
  20875.    
  20876.     private String extendedInfoPortaDelegata = null;        
  20877.     private Boolean extendedInfoPortaDelegataRead = null;      
  20878.     public String getExtendedInfoPortaDelegata() throws CoreException{
  20879.         if(this.extendedInfoPortaDelegataRead==null){
  20880.             String pName = "org.openspcoop2.pdd.config.extendedInfo.portaDelegata";
  20881.             try{
  20882.                 this.extendedInfoPortaDelegata = this.reader.getValue(pName);
  20883.                 if(this.extendedInfoPortaDelegata!=null){
  20884.                     this.extendedInfoPortaDelegata = this.extendedInfoPortaDelegata.trim();
  20885.                     this.extendedInfoPortaDelegataRead = true;
  20886.                 }
  20887.             } catch(java.lang.Exception e) {
  20888.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata correttamente,  errore:"+e.getMessage(),e);
  20889.                 throw new CoreException("Proprieta' di openspcoop '"+pName+"' non impostata correttamente,  errore:"+e.getMessage(),e);
  20890.             }
  20891.         }
  20892.         return this.extendedInfoPortaDelegata;
  20893.     }
  20894.    
  20895.     private String extendedInfoPortaApplicativa = null;    
  20896.     private Boolean extendedInfoPortaApplicativaRead = null;        
  20897.     public String getExtendedInfoPortaApplicativa() throws CoreException{
  20898.         if(this.extendedInfoPortaApplicativaRead==null){
  20899.             String pName = "org.openspcoop2.pdd.config.extendedInfo.portaApplicativa";
  20900.             try{
  20901.                 this.extendedInfoPortaApplicativa = this.reader.getValue(pName);
  20902.                 if(this.extendedInfoPortaApplicativa!=null){
  20903.                     this.extendedInfoPortaApplicativa = this.extendedInfoPortaApplicativa.trim();
  20904.                     this.extendedInfoPortaApplicativaRead = true;
  20905.                 }
  20906.             } catch(java.lang.Exception e) {
  20907.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata correttamente,  errore:"+e.getMessage(),e);
  20908.                 throw new CoreException("Proprieta' di openspcoop '"+pName+"' non impostata correttamente,  errore:"+e.getMessage(),e);
  20909.             }
  20910.         }
  20911.         return this.extendedInfoPortaApplicativa;
  20912.     }
  20913.    
  20914.    
  20915.    
  20916.    
  20917.    
  20918.    
  20919.    
  20920.     /* ------------- Validazione Contenuti Applicativi ---------------------*/
  20921.    
  20922.     private Boolean isValidazioneContenutiApplicativiDebug = null;
  20923.     public boolean isValidazioneContenutiApplicativiDebug(){

  20924.         if(this.isValidazioneContenutiApplicativiDebug==null){
  20925.             try{  
  20926.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.validazioneContenutiApplicativi.debug");

  20927.                 if (value != null){
  20928.                     value = value.trim();
  20929.                     this.isValidazioneContenutiApplicativiDebug = Boolean.parseBoolean(value);
  20930.                 }else{
  20931.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.validazioneContenutiApplicativi.debug' non impostata, viene utilizzato il default=false");
  20932.                     this.isValidazioneContenutiApplicativiDebug = false;
  20933.                 }

  20934.             }catch(java.lang.Exception e) {
  20935.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.validazioneContenutiApplicativi.debug' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  20936.                 this.isValidazioneContenutiApplicativiDebug = false;
  20937.             }
  20938.         }

  20939.         return this.isValidazioneContenutiApplicativiDebug;
  20940.     }
  20941.    
  20942.     private Boolean isValidazioneContenutiApplicativiBufferContentRead = null;
  20943.     public boolean isValidazioneContenutiApplicativiBufferContentRead(){

  20944.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.buffer";
  20945.         if(this.isValidazioneContenutiApplicativiBufferContentRead==null){
  20946.             try{  
  20947.                 String value = this.reader.getValueConvertEnvProperties(pName);

  20948.                 if (value != null){
  20949.                     value = value.trim();
  20950.                     this.isValidazioneContenutiApplicativiBufferContentRead = Boolean.parseBoolean(value);
  20951.                 }else{
  20952.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  20953.                     this.isValidazioneContenutiApplicativiBufferContentRead = true;
  20954.                 }

  20955.             }catch(java.lang.Exception e) {
  20956.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  20957.                 this.isValidazioneContenutiApplicativiBufferContentRead = true;
  20958.             }
  20959.         }

  20960.         return this.isValidazioneContenutiApplicativiBufferContentRead;
  20961.     }
  20962.    
  20963.     private Boolean isValidazioneContenutiApplicativiXsdBuildSchemaSuccessSerializeXSDCollection = null;
  20964.     public boolean isValidazioneContenutiApplicativiXsdBuildSchemaSuccessSerializeXSDCollection(){

  20965.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.xsd.buildSchemaSuccess.serializeXSDCollection";
  20966.         if(this.isValidazioneContenutiApplicativiXsdBuildSchemaSuccessSerializeXSDCollection==null){
  20967.             try{  
  20968.                 String value = this.reader.getValueConvertEnvProperties(pName);

  20969.                 if (value != null){
  20970.                     value = value.trim();
  20971.                     this.isValidazioneContenutiApplicativiXsdBuildSchemaSuccessSerializeXSDCollection = Boolean.parseBoolean(value);
  20972.                 }else{
  20973.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  20974.                     this.isValidazioneContenutiApplicativiXsdBuildSchemaSuccessSerializeXSDCollection = false;
  20975.                 }

  20976.             }catch(java.lang.Exception e) {
  20977.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  20978.                 this.isValidazioneContenutiApplicativiXsdBuildSchemaSuccessSerializeXSDCollection = false;
  20979.             }
  20980.         }

  20981.         return this.isValidazioneContenutiApplicativiXsdBuildSchemaSuccessSerializeXSDCollection;
  20982.     }
  20983.    
  20984.     private Boolean isValidazioneContenutiApplicativiXsdBuildSchemaErrorSerializeXSDCollection = null;
  20985.     public boolean isValidazioneContenutiApplicativiXsdBuildSchemaErrorSerializeXSDCollection(){

  20986.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.xsd.buildSchemaError.serializeXSDCollection";
  20987.         if(this.isValidazioneContenutiApplicativiXsdBuildSchemaErrorSerializeXSDCollection==null){
  20988.             try{  
  20989.                 String value = this.reader.getValueConvertEnvProperties(pName);

  20990.                 if (value != null){
  20991.                     value = value.trim();
  20992.                     this.isValidazioneContenutiApplicativiXsdBuildSchemaErrorSerializeXSDCollection = Boolean.parseBoolean(value);
  20993.                 }else{
  20994.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  20995.                     this.isValidazioneContenutiApplicativiXsdBuildSchemaErrorSerializeXSDCollection = true;
  20996.                 }

  20997.             }catch(java.lang.Exception e) {
  20998.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  20999.                 this.isValidazioneContenutiApplicativiXsdBuildSchemaErrorSerializeXSDCollection = true;
  21000.             }
  21001.         }

  21002.         return this.isValidazioneContenutiApplicativiXsdBuildSchemaErrorSerializeXSDCollection;
  21003.     }
  21004.    
  21005.     private File getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDir = null;
  21006.     private Boolean getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDirRead = null;
  21007.     public File getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDir() throws CoreException{

  21008.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.xsd.buildSchema.serializeXSDCollection.dir";
  21009.         if(this.getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDirRead==null){
  21010.             try{  
  21011.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21012.                 if (value != null){
  21013.                     value = value.trim();
  21014.                     value = LoggerWrapperFactory.applyClusterIdStrategy(value, "xsdCollection");
  21015.                     this.getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDir = new File(value);
  21016.                     checkValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDir();
  21017.                 }

  21018.             }catch(java.lang.Exception e) {
  21019.                 this.logError("Riscontrato errore per la directory che deve collezionare gli xsd schema ("+pName+"): "+e.getMessage(),e);
  21020.                 throw new CoreException(e.getMessage(),e);
  21021.             }
  21022.            
  21023.             this.getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDirRead = true;
  21024.         }

  21025.         return this.getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDir;
  21026.     }
  21027.     private void checkValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDir() throws CoreException, UtilsException {  
  21028.         if(this.getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDir.exists()) {
  21029.             if(!this.getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDir.isDirectory()) {
  21030.                 throw newCoreExceptionNotDir(this.getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDir,true);
  21031.             }
  21032.             if(!this.getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDir.canRead()) {
  21033.                 throw newCoreExceptionCannotRead(this.getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDir, true);
  21034.             }
  21035.             if(!this.getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDir.canWrite()) {
  21036.                 throw newCoreExceptionCannotWrite(this.getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDir, true);
  21037.             }
  21038.         }
  21039.         else {
  21040.             FileSystemMkdirConfig configMkdir = new FileSystemMkdirConfig();
  21041.             configMkdir.setCheckCanWrite(true);
  21042.             configMkdir.setCheckCanRead(true);
  21043.             configMkdir.setCheckCanExecute(false);
  21044.             configMkdir.setCrateParentIfNotExists(true);
  21045.             FileSystemUtilities.mkdir(this.getValidazioneContenutiApplicativiXsdBuildSchemaSerializeXSDCollectionDir, configMkdir);
  21046.         }
  21047.     }
  21048.    
  21049.    
  21050.    
  21051.    
  21052.        
  21053.     private Boolean isValidazioneContenutiApplicativiRpcLiteralXsiTypeGestione = null;
  21054.     public boolean isValidazioneContenutiApplicativiRpcLiteralXsiTypeGestione(){

  21055.         if(this.isValidazioneContenutiApplicativiRpcLiteralXsiTypeGestione==null){
  21056.             try{  
  21057.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.validazioneContenutiApplicativi.rpcLiteral.xsiType.gestione");

  21058.                 if (value != null){
  21059.                     value = value.trim();
  21060.                     this.isValidazioneContenutiApplicativiRpcLiteralXsiTypeGestione = Boolean.parseBoolean(value);
  21061.                 }else{
  21062.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.validazioneContenutiApplicativi.rpcLiteral.xsiType.gestione' non impostata, viene utilizzato il default=true");
  21063.                     this.isValidazioneContenutiApplicativiRpcLiteralXsiTypeGestione = true;
  21064.                 }

  21065.             }catch(java.lang.Exception e) {
  21066.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.validazioneContenutiApplicativi.rpcLiteral.xsiType.gestione' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  21067.                 this.isValidazioneContenutiApplicativiRpcLiteralXsiTypeGestione = true;
  21068.             }
  21069.         }

  21070.         return this.isValidazioneContenutiApplicativiRpcLiteralXsiTypeGestione;
  21071.     }
  21072.    
  21073.     private Boolean isValidazioneContenutiApplicativiRpcLiteralXsiTypeRipulituraDopoValidazione = null;
  21074.     public boolean isValidazioneContenutiApplicativiRpcLiteralXsiTypeRipulituraDopoValidazione(){

  21075.         if(this.isValidazioneContenutiApplicativiRpcLiteralXsiTypeRipulituraDopoValidazione==null){
  21076.             try{  
  21077.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.validazioneContenutiApplicativi.rpcLiteral.xsiType.ripulituraDopoValidazione");

  21078.                 if (value != null){
  21079.                     value = value.trim();
  21080.                     this.isValidazioneContenutiApplicativiRpcLiteralXsiTypeRipulituraDopoValidazione = Boolean.parseBoolean(value);
  21081.                 }else{
  21082.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.validazioneContenutiApplicativi.rpcLiteral.xsiType.ripulituraDopoValidazione' non impostata, viene utilizzato il default=true");
  21083.                     this.isValidazioneContenutiApplicativiRpcLiteralXsiTypeRipulituraDopoValidazione = true;
  21084.                 }

  21085.             }catch(java.lang.Exception e) {
  21086.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.validazioneContenutiApplicativi.rpcLiteral.xsiType.ripulituraDopoValidazione' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  21087.                 this.isValidazioneContenutiApplicativiRpcLiteralXsiTypeRipulituraDopoValidazione = true;
  21088.             }
  21089.         }

  21090.         return this.isValidazioneContenutiApplicativiRpcLiteralXsiTypeRipulituraDopoValidazione;
  21091.     }
  21092.    
  21093.     private Boolean isValidazioneContenutiApplicativiRpcAddNamespaceXSITypeIfNotExists = null;
  21094.     public boolean isValidazioneContenutiApplicativiRpcAddNamespaceXSITypeIfNotExists(){

  21095.         if(this.isValidazioneContenutiApplicativiRpcAddNamespaceXSITypeIfNotExists==null){
  21096.             String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.rpc.addNamespaceXSITypeIfNotExists";
  21097.             try{  
  21098.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21099.                 if (value != null){
  21100.                     value = value.trim();
  21101.                     this.isValidazioneContenutiApplicativiRpcAddNamespaceXSITypeIfNotExists = Boolean.parseBoolean(value);
  21102.                 }else{
  21103.                     this.logWarn(this.getMessaggioProprietaNonImpostata(pName, true));
  21104.                     this.isValidazioneContenutiApplicativiRpcAddNamespaceXSITypeIfNotExists = true;
  21105.                 }

  21106.             }catch(java.lang.Exception e) {
  21107.                 this.logWarn(this.getMessaggioProprietaNonImpostata(pName, e, true),e);
  21108.                 this.isValidazioneContenutiApplicativiRpcAddNamespaceXSITypeIfNotExists = true;
  21109.             }
  21110.         }

  21111.         return this.isValidazioneContenutiApplicativiRpcAddNamespaceXSITypeIfNotExists;
  21112.     }
  21113.    
  21114.     private Boolean isValidazioneContenutiApplicativiDocumentAddNamespaceXSITypeIfNotExists = null;
  21115.     public boolean isValidazioneContenutiApplicativiDocumentAddNamespaceXSITypeIfNotExists(){

  21116.         if(this.isValidazioneContenutiApplicativiDocumentAddNamespaceXSITypeIfNotExists==null){
  21117.             String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.document.addNamespaceXSITypeIfNotExists";
  21118.             try{  
  21119.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21120.                 if (value != null){
  21121.                     value = value.trim();
  21122.                     this.isValidazioneContenutiApplicativiDocumentAddNamespaceXSITypeIfNotExists = Boolean.parseBoolean(value);
  21123.                 }else{
  21124.                     this.logWarn(this.getMessaggioProprietaNonImpostata(pName, false));
  21125.                     this.isValidazioneContenutiApplicativiDocumentAddNamespaceXSITypeIfNotExists = true;
  21126.                 }

  21127.             }catch(java.lang.Exception e) {
  21128.                 this.logWarn(this.getMessaggioProprietaNonImpostata(pName, e, false),e);
  21129.                 this.isValidazioneContenutiApplicativiDocumentAddNamespaceXSITypeIfNotExists = true;
  21130.             }
  21131.         }

  21132.         return this.isValidazioneContenutiApplicativiDocumentAddNamespaceXSITypeIfNotExists;
  21133.     }
  21134.    
  21135.     private Boolean isValidazioneContenutiApplicativiXsdAddNamespaceXSITypeIfNotExists = null;
  21136.     public boolean isValidazioneContenutiApplicativiXsdAddNamespaceXSITypeIfNotExists(){

  21137.         if(this.isValidazioneContenutiApplicativiXsdAddNamespaceXSITypeIfNotExists==null){
  21138.             String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.xsd.addNamespaceXSITypeIfNotExists";
  21139.             try{  
  21140.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21141.                 if (value != null){
  21142.                     value = value.trim();
  21143.                     this.isValidazioneContenutiApplicativiXsdAddNamespaceXSITypeIfNotExists = Boolean.parseBoolean(value);
  21144.                 }else{
  21145.                     this.logWarn(this.getMessaggioProprietaNonImpostata(pName, false));
  21146.                     this.isValidazioneContenutiApplicativiXsdAddNamespaceXSITypeIfNotExists = true;
  21147.                 }

  21148.             }catch(java.lang.Exception e) {
  21149.                 this.logWarn(this.getMessaggioProprietaNonImpostata(pName, e, false),e);
  21150.                 this.isValidazioneContenutiApplicativiXsdAddNamespaceXSITypeIfNotExists = true;
  21151.             }
  21152.         }

  21153.         return this.isValidazioneContenutiApplicativiXsdAddNamespaceXSITypeIfNotExists;
  21154.     }
  21155.    
  21156.     private Boolean isValidazioneContenutiApplicativiRpcAcceptRootElementUnqualified = null;
  21157.     public boolean isValidazioneContenutiApplicativiRpcAcceptRootElementUnqualified(){

  21158.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.rpc.rootElement.unqualified.accept";
  21159.         if(this.isValidazioneContenutiApplicativiRpcAcceptRootElementUnqualified==null){
  21160.             try{  
  21161.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21162.                 if (value != null){
  21163.                     value = value.trim();
  21164.                     this.isValidazioneContenutiApplicativiRpcAcceptRootElementUnqualified = Boolean.parseBoolean(value);
  21165.                 }else{
  21166.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  21167.                     this.isValidazioneContenutiApplicativiRpcAcceptRootElementUnqualified = true;
  21168.                 }

  21169.             }catch(java.lang.Exception e) {
  21170.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  21171.                 this.isValidazioneContenutiApplicativiRpcAcceptRootElementUnqualified = true;
  21172.             }
  21173.         }

  21174.         return this.isValidazioneContenutiApplicativiRpcAcceptRootElementUnqualified;
  21175.     }
  21176.    
  21177.     private Boolean isValidazioneContenutiApplicativiCheckSoapAction = null;
  21178.     public boolean isValidazioneContenutiApplicativiCheckSoapAction(){

  21179.         if(this.isValidazioneContenutiApplicativiCheckSoapAction==null){
  21180.             try{  
  21181.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.validazioneContenutiApplicativi.soapAction.check");

  21182.                 if (value != null){
  21183.                     value = value.trim();
  21184.                     this.isValidazioneContenutiApplicativiCheckSoapAction = Boolean.parseBoolean(value);
  21185.                 }else{
  21186.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.validazioneContenutiApplicativi.soapAction.check' non impostata, viene utilizzato il default=true");
  21187.                     this.isValidazioneContenutiApplicativiCheckSoapAction = true;
  21188.                 }

  21189.             }catch(java.lang.Exception e) {
  21190.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.validazioneContenutiApplicativi.soapAction.check' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  21191.                 this.isValidazioneContenutiApplicativiCheckSoapAction = true;
  21192.             }
  21193.         }

  21194.         return this.isValidazioneContenutiApplicativiCheckSoapAction;
  21195.     }
  21196.    
  21197.     private ADDITIONAL getValidazioneContenutiApplicativiJsonPolicyAdditionalProperties = null;
  21198.     public ADDITIONAL getValidazioneContenutiApplicativiJsonPolicyAdditionalProperties(){

  21199.         if(this.getValidazioneContenutiApplicativiJsonPolicyAdditionalProperties==null){
  21200.             try{  
  21201.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.validazioneContenutiApplicativi.json.additionalProperties");

  21202.                 if (value != null){
  21203.                     value = value.trim();
  21204.                     this.getValidazioneContenutiApplicativiJsonPolicyAdditionalProperties = ADDITIONAL.valueOf(value);
  21205.                 }else{
  21206.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.validazioneContenutiApplicativi.json.additionalProperties' non impostata, viene utilizzato il default");
  21207.                     this.getValidazioneContenutiApplicativiJsonPolicyAdditionalProperties = ADDITIONAL.DEFAULT;
  21208.                 }

  21209.             }catch(java.lang.Exception e) {
  21210.                 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);
  21211.                 this.getValidazioneContenutiApplicativiJsonPolicyAdditionalProperties = ADDITIONAL.DEFAULT;
  21212.             }
  21213.         }

  21214.         return this.getValidazioneContenutiApplicativiJsonPolicyAdditionalProperties;
  21215.     }
  21216.    
  21217.    
  21218.     private ApiName getValidazioneContenutiApplicativiOpenApiJsonValidator = null;
  21219.     public ApiName getValidazioneContenutiApplicativiOpenApiJsonValidator(){

  21220.         if(this.getValidazioneContenutiApplicativiOpenApiJsonValidator==null){
  21221.             try{  
  21222.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.json.validator");

  21223.                 if (value != null){
  21224.                     value = value.trim();
  21225.                     this.getValidazioneContenutiApplicativiOpenApiJsonValidator = ApiName.valueOf(value);
  21226.                 }else{
  21227.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.json.validator' non impostata, viene utilizzato il default "+ApiName.NETWORK_NT);
  21228.                     this.getValidazioneContenutiApplicativiOpenApiJsonValidator = ApiName.NETWORK_NT;
  21229.                 }

  21230.             }catch(java.lang.Exception e) {
  21231.                 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);
  21232.                 this.getValidazioneContenutiApplicativiOpenApiJsonValidator = ApiName.NETWORK_NT;
  21233.             }
  21234.         }

  21235.         return this.getValidazioneContenutiApplicativiOpenApiJsonValidator;
  21236.     }
  21237.    
  21238.     private OpenAPILibrary getValidazioneContenutiApplicativiOpenApiLibrary = null;
  21239.     public OpenAPILibrary getValidazioneContenutiApplicativiOpenApiLibrary(){

  21240.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.library";
  21241.         OpenAPILibrary defaultValue = OpenAPILibrary.openapi4j;
  21242.        
  21243.         if(this.getValidazioneContenutiApplicativiOpenApiLibrary==null){
  21244.             try{  
  21245.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21246.                 if (value != null){
  21247.                     value = value.trim();
  21248.                     this.getValidazioneContenutiApplicativiOpenApiLibrary = OpenAPILibrary.valueOf(value);
  21249.                 }else{
  21250.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,defaultValue.toString()));
  21251.                     this.getValidazioneContenutiApplicativiOpenApiLibrary = defaultValue;
  21252.                 }

  21253.             }catch(java.lang.Exception e) {
  21254.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, defaultValue.toString()),e);
  21255.                 this.getValidazioneContenutiApplicativiOpenApiLibrary = defaultValue;
  21256.             }
  21257.         }

  21258.         return this.getValidazioneContenutiApplicativiOpenApiLibrary;
  21259.     }

  21260.     private Boolean isValidazioneContenutiApplicativiOpenApiMergeAPISpec = null;
  21261.     public boolean isValidazioneContenutiApplicativiOpenApiMergeAPISpec(){

  21262.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.mergeAPISpec";
  21263.        
  21264.         if(this.isValidazioneContenutiApplicativiOpenApiMergeAPISpec==null){
  21265.             try{  
  21266.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21267.                 if (value != null){
  21268.                     value = value.trim();
  21269.                     this.isValidazioneContenutiApplicativiOpenApiMergeAPISpec = Boolean.parseBoolean(value);
  21270.                 }else{
  21271.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21272.                     this.isValidazioneContenutiApplicativiOpenApiMergeAPISpec = false;
  21273.                 }

  21274.             }catch(java.lang.Exception e) {
  21275.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21276.                 this.isValidazioneContenutiApplicativiOpenApiMergeAPISpec = false;
  21277.             }
  21278.         }

  21279.         return this.isValidazioneContenutiApplicativiOpenApiMergeAPISpec;
  21280.     }
  21281.    
  21282.     private Boolean isValidazioneContenutiApplicativiOpenApiValidateAPISpec = null;
  21283.     public boolean isValidazioneContenutiApplicativiOpenApiValidateAPISpec(){

  21284.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.validateAPISpec";
  21285.        
  21286.         if(this.isValidazioneContenutiApplicativiOpenApiValidateAPISpec==null){
  21287.             try{  
  21288.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21289.                 if (value != null){
  21290.                     value = value.trim();
  21291.                     this.isValidazioneContenutiApplicativiOpenApiValidateAPISpec = Boolean.parseBoolean(value);
  21292.                 }else{
  21293.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  21294.                     this.isValidazioneContenutiApplicativiOpenApiValidateAPISpec = true;
  21295.                 }

  21296.             }catch(java.lang.Exception e) {
  21297.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  21298.                 this.isValidazioneContenutiApplicativiOpenApiValidateAPISpec = true;
  21299.             }
  21300.         }

  21301.         return this.isValidazioneContenutiApplicativiOpenApiValidateAPISpec;
  21302.     }
  21303.    
  21304.     private Boolean isValidazioneContenutiApplicativiOpenApiValidateRequestPath = null;
  21305.     public boolean isValidazioneContenutiApplicativiOpenApiValidateRequestPath(){

  21306.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.validateRequestPath";
  21307.        
  21308.         if(this.isValidazioneContenutiApplicativiOpenApiValidateRequestPath==null){
  21309.             try{  
  21310.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21311.                 if (value != null){
  21312.                     value = value.trim();
  21313.                     this.isValidazioneContenutiApplicativiOpenApiValidateRequestPath = Boolean.parseBoolean(value);
  21314.                 }else{
  21315.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  21316.                     this.isValidazioneContenutiApplicativiOpenApiValidateRequestPath = true;
  21317.                 }

  21318.             }catch(java.lang.Exception e) {
  21319.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  21320.                 this.isValidazioneContenutiApplicativiOpenApiValidateRequestPath = true;
  21321.             }
  21322.         }

  21323.         return this.isValidazioneContenutiApplicativiOpenApiValidateRequestPath;
  21324.     }
  21325.    
  21326.     private Boolean isValidazioneContenutiApplicativiOpenApiValidateRequestQuery = null;
  21327.     public boolean isValidazioneContenutiApplicativiOpenApiValidateRequestQuery(){

  21328.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.validateRequestQuery";
  21329.        
  21330.         if(this.isValidazioneContenutiApplicativiOpenApiValidateRequestQuery==null){
  21331.             try{  
  21332.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21333.                 if (value != null){
  21334.                     value = value.trim();
  21335.                     this.isValidazioneContenutiApplicativiOpenApiValidateRequestQuery = Boolean.parseBoolean(value);
  21336.                 }else{
  21337.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  21338.                     this.isValidazioneContenutiApplicativiOpenApiValidateRequestQuery = true;
  21339.                 }

  21340.             }catch(java.lang.Exception e) {
  21341.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  21342.                 this.isValidazioneContenutiApplicativiOpenApiValidateRequestQuery = true;
  21343.             }
  21344.         }

  21345.         return this.isValidazioneContenutiApplicativiOpenApiValidateRequestQuery;
  21346.     }
  21347.    
  21348.     private Boolean isValidazioneContenutiApplicativiOpenApiValidateRequestUnexpectedQueryParam = null;
  21349.     public boolean isValidazioneContenutiApplicativiOpenApiValidateRequestUnexpectedQueryParam(){

  21350.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.validateRequestUnexpectedQueryParam";
  21351.        
  21352.         if(this.isValidazioneContenutiApplicativiOpenApiValidateRequestUnexpectedQueryParam==null){
  21353.             try{  
  21354.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21355.                 if (value != null){
  21356.                     value = value.trim();
  21357.                     this.isValidazioneContenutiApplicativiOpenApiValidateRequestUnexpectedQueryParam = Boolean.parseBoolean(value);
  21358.                 }else{
  21359.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21360.                     this.isValidazioneContenutiApplicativiOpenApiValidateRequestUnexpectedQueryParam = false;
  21361.                 }

  21362.             }catch(java.lang.Exception e) {
  21363.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21364.                 this.isValidazioneContenutiApplicativiOpenApiValidateRequestUnexpectedQueryParam = false;
  21365.             }
  21366.         }

  21367.         return this.isValidazioneContenutiApplicativiOpenApiValidateRequestUnexpectedQueryParam;
  21368.     }
  21369.    
  21370.     private Boolean isValidazioneContenutiApplicativiOpenApiValidateRequestHeaders = null;
  21371.     public boolean isValidazioneContenutiApplicativiOpenApiValidateRequestHeaders(){

  21372.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.validateRequestHeaders";
  21373.        
  21374.         if(this.isValidazioneContenutiApplicativiOpenApiValidateRequestHeaders==null){
  21375.             try{  
  21376.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21377.                 if (value != null){
  21378.                     value = value.trim();
  21379.                     this.isValidazioneContenutiApplicativiOpenApiValidateRequestHeaders = Boolean.parseBoolean(value);
  21380.                 }else{
  21381.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  21382.                     this.isValidazioneContenutiApplicativiOpenApiValidateRequestHeaders = true;
  21383.                 }

  21384.             }catch(java.lang.Exception e) {
  21385.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  21386.                 this.isValidazioneContenutiApplicativiOpenApiValidateRequestHeaders = true;
  21387.             }
  21388.         }

  21389.         return this.isValidazioneContenutiApplicativiOpenApiValidateRequestHeaders;
  21390.     }
  21391.    
  21392.     private Boolean isValidazioneContenutiApplicativiOpenApiValidateRequestCookie = null;
  21393.     public boolean isValidazioneContenutiApplicativiOpenApiValidateRequestCookie(){

  21394.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.validateRequestCookie";
  21395.        
  21396.         if(this.isValidazioneContenutiApplicativiOpenApiValidateRequestCookie==null){
  21397.             try{  
  21398.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21399.                 if (value != null){
  21400.                     value = value.trim();
  21401.                     this.isValidazioneContenutiApplicativiOpenApiValidateRequestCookie = Boolean.parseBoolean(value);
  21402.                 }else{
  21403.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  21404.                     this.isValidazioneContenutiApplicativiOpenApiValidateRequestCookie = true;
  21405.                 }

  21406.             }catch(java.lang.Exception e) {
  21407.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  21408.                 this.isValidazioneContenutiApplicativiOpenApiValidateRequestCookie = true;
  21409.             }
  21410.         }

  21411.         return this.isValidazioneContenutiApplicativiOpenApiValidateRequestCookie;
  21412.     }
  21413.    
  21414.     private Boolean isValidazioneContenutiApplicativiOpenApiValidateRequestBody = null;
  21415.     public boolean isValidazioneContenutiApplicativiOpenApiValidateRequestBody(){

  21416.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.validateRequestBody";
  21417.        
  21418.         if(this.isValidazioneContenutiApplicativiOpenApiValidateRequestBody==null){
  21419.             try{  
  21420.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21421.                 if (value != null){
  21422.                     value = value.trim();
  21423.                     this.isValidazioneContenutiApplicativiOpenApiValidateRequestBody = Boolean.parseBoolean(value);
  21424.                 }else{
  21425.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  21426.                     this.isValidazioneContenutiApplicativiOpenApiValidateRequestBody = true;
  21427.                 }

  21428.             }catch(java.lang.Exception e) {
  21429.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  21430.                 this.isValidazioneContenutiApplicativiOpenApiValidateRequestBody = true;
  21431.             }
  21432.         }

  21433.         return this.isValidazioneContenutiApplicativiOpenApiValidateRequestBody;
  21434.     }
  21435.    
  21436.     private Boolean isValidazioneContenutiApplicativiOpenApiValidateResponseHeaders = null;
  21437.     public boolean isValidazioneContenutiApplicativiOpenApiValidateResponseHeaders(){

  21438.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.validateResponseHeaders";
  21439.        
  21440.         if(this.isValidazioneContenutiApplicativiOpenApiValidateResponseHeaders==null){
  21441.             try{  
  21442.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21443.                 if (value != null){
  21444.                     value = value.trim();
  21445.                     this.isValidazioneContenutiApplicativiOpenApiValidateResponseHeaders = Boolean.parseBoolean(value);
  21446.                 }else{
  21447.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  21448.                     this.isValidazioneContenutiApplicativiOpenApiValidateResponseHeaders = true;
  21449.                 }

  21450.             }catch(java.lang.Exception e) {
  21451.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  21452.                 this.isValidazioneContenutiApplicativiOpenApiValidateResponseHeaders = true;
  21453.             }
  21454.         }

  21455.         return this.isValidazioneContenutiApplicativiOpenApiValidateResponseHeaders;
  21456.     }
  21457.    
  21458.     private Boolean isValidazioneContenutiApplicativiOpenApiValidateResponseBody = null;
  21459.     public boolean isValidazioneContenutiApplicativiOpenApiValidateResponseBody(){

  21460.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.validateResponseBody";
  21461.        
  21462.         if(this.isValidazioneContenutiApplicativiOpenApiValidateResponseBody==null){
  21463.             try{  
  21464.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21465.                 if (value != null){
  21466.                     value = value.trim();
  21467.                     this.isValidazioneContenutiApplicativiOpenApiValidateResponseBody = Boolean.parseBoolean(value);
  21468.                 }else{
  21469.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  21470.                     this.isValidazioneContenutiApplicativiOpenApiValidateResponseBody = true;
  21471.                 }

  21472.             }catch(java.lang.Exception e) {
  21473.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  21474.                 this.isValidazioneContenutiApplicativiOpenApiValidateResponseBody = true;
  21475.             }
  21476.         }

  21477.         return this.isValidazioneContenutiApplicativiOpenApiValidateResponseBody;
  21478.     }
  21479.    
  21480.     private Boolean isValidazioneContenutiApplicativiOpenApiValidateWildcardSubtypeAsJson = null;
  21481.     public boolean isValidazioneContenutiApplicativiOpenApiValidateWildcardSubtypeAsJson(){

  21482.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.validateWildcardSubtypeAsJson";
  21483.        
  21484.         if(this.isValidazioneContenutiApplicativiOpenApiValidateWildcardSubtypeAsJson==null){
  21485.             try{  
  21486.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21487.                 if (value != null){
  21488.                     value = value.trim();
  21489.                     this.isValidazioneContenutiApplicativiOpenApiValidateWildcardSubtypeAsJson = Boolean.parseBoolean(value);
  21490.                 }else{
  21491.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  21492.                     this.isValidazioneContenutiApplicativiOpenApiValidateWildcardSubtypeAsJson = true;
  21493.                 }

  21494.             }catch(java.lang.Exception e) {
  21495.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  21496.                 this.isValidazioneContenutiApplicativiOpenApiValidateWildcardSubtypeAsJson = true;
  21497.             }
  21498.         }

  21499.         return this.isValidazioneContenutiApplicativiOpenApiValidateWildcardSubtypeAsJson;
  21500.     }
  21501.    
  21502.     private Boolean isValidazioneContenutiApplicativiOpenApiValidateMultipartOptimization = null;
  21503.     public boolean isValidazioneContenutiApplicativiOpenApiValidateMultipartOptimization(){

  21504.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.validateMultipartOptimization";
  21505.        
  21506.         if(this.isValidazioneContenutiApplicativiOpenApiValidateMultipartOptimization==null){
  21507.             try{  
  21508.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21509.                 if (value != null){
  21510.                     value = value.trim();
  21511.                     this.isValidazioneContenutiApplicativiOpenApiValidateMultipartOptimization = Boolean.parseBoolean(value);
  21512.                 }else{
  21513.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21514.                     this.isValidazioneContenutiApplicativiOpenApiValidateMultipartOptimization = false;
  21515.                 }

  21516.             }catch(java.lang.Exception e) {
  21517.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21518.                 this.isValidazioneContenutiApplicativiOpenApiValidateMultipartOptimization = false;
  21519.             }
  21520.         }

  21521.         return this.isValidazioneContenutiApplicativiOpenApiValidateMultipartOptimization;
  21522.     }
  21523.    
  21524.     private Boolean isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorInjectingAdditionalPropertiesFalse = null;
  21525.     public boolean isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorInjectingAdditionalPropertiesFalse(){

  21526.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.swaggerRequestValidator.injectingAdditionalPropertiesFalse";
  21527.        
  21528.         if(this.isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorInjectingAdditionalPropertiesFalse==null){
  21529.             try{  
  21530.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21531.                 if (value != null){
  21532.                     value = value.trim();
  21533.                     this.isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorInjectingAdditionalPropertiesFalse = Boolean.parseBoolean(value);
  21534.                 }else{
  21535.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21536.                     this.isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorInjectingAdditionalPropertiesFalse = false;
  21537.                 }

  21538.             }catch(java.lang.Exception e) {
  21539.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21540.                 this.isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorInjectingAdditionalPropertiesFalse = false;
  21541.             }
  21542.         }

  21543.         return this.isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorInjectingAdditionalPropertiesFalse;
  21544.     }
  21545.    
  21546.     private Boolean isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorResolveFullyApiSpec = null;
  21547.     public boolean isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorResolveFullyApiSpec(){

  21548.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.swaggerRequestValidator.resolveFullyApiSpec";
  21549.        
  21550.         if(this.isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorResolveFullyApiSpec==null){
  21551.             try{  
  21552.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21553.                 if (value != null){
  21554.                     value = value.trim();
  21555.                     this.isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorResolveFullyApiSpec = Boolean.parseBoolean(value);
  21556.                 }else{
  21557.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21558.                     this.isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorResolveFullyApiSpec = false;
  21559.                 }

  21560.             }catch(java.lang.Exception e) {
  21561.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21562.                 this.isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorResolveFullyApiSpec = false;
  21563.             }
  21564.         }

  21565.         return this.isValidazioneContenutiApplicativiOpenApiSwaggerRequestValidatorResolveFullyApiSpec;
  21566.     }
  21567.    
  21568.     private Boolean isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateBase64Values = null;
  21569.     public boolean isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateBase64Values(){

  21570.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.openapi4j.validateBase64Values";
  21571.        
  21572.         if(this.isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateBase64Values==null){
  21573.             try{  
  21574.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21575.                 if (value != null){
  21576.                     value = value.trim();
  21577.                     this.isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateBase64Values = Boolean.parseBoolean(value);
  21578.                 }else{
  21579.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21580.                     this.isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateBase64Values = false;
  21581.                 }

  21582.             }catch(java.lang.Exception e) {
  21583.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21584.                 this.isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateBase64Values = false;
  21585.             }
  21586.         }

  21587.         return this.isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateBase64Values;
  21588.     }
  21589.    
  21590.     private Boolean isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateUriReferenceAsUrl = null;
  21591.     public boolean isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateUriReferenceAsUrl(){

  21592.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.openapi4j.validateUriReferenceAsUrl";
  21593.        
  21594.         if(this.isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateUriReferenceAsUrl==null){
  21595.             try{  
  21596.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21597.                 if (value != null){
  21598.                     value = value.trim();
  21599.                     this.isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateUriReferenceAsUrl = Boolean.parseBoolean(value);
  21600.                 }else{
  21601.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21602.                     this.isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateUriReferenceAsUrl = false;
  21603.                 }

  21604.             }catch(java.lang.Exception e) {
  21605.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21606.                 this.isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateUriReferenceAsUrl = false;
  21607.             }
  21608.         }

  21609.         return this.isValidazioneContenutiApplicativiOpenApiOpenapi4jValidateUriReferenceAsUrl;
  21610.     }
  21611.    
  21612.     private Boolean isValidazioneContenutiApplicativiOpenApiDateTimeAllowLowerCaseTZ = null;
  21613.     public boolean isValidazioneContenutiApplicativiOpenApiDateTimeAllowLowerCaseTZ(){

  21614.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.dateTimeAllowLowerCaseTZ";
  21615.        
  21616.         if(this.isValidazioneContenutiApplicativiOpenApiDateTimeAllowLowerCaseTZ==null){
  21617.             try{  
  21618.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21619.                 if (value != null){
  21620.                     value = value.trim();
  21621.                     this.isValidazioneContenutiApplicativiOpenApiDateTimeAllowLowerCaseTZ = Boolean.parseBoolean(value);
  21622.                 }else{
  21623.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21624.                     this.isValidazioneContenutiApplicativiOpenApiDateTimeAllowLowerCaseTZ = false;
  21625.                 }

  21626.             }catch(java.lang.Exception e) {
  21627.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21628.                 this.isValidazioneContenutiApplicativiOpenApiDateTimeAllowLowerCaseTZ = false;
  21629.             }
  21630.         }

  21631.         return this.isValidazioneContenutiApplicativiOpenApiDateTimeAllowLowerCaseTZ;
  21632.     }
  21633.    
  21634.     private Boolean isValidazioneContenutiApplicativiOpenApiDateTimeAllowSpaceSeparator = null;
  21635.     public boolean isValidazioneContenutiApplicativiOpenApiDateTimeAllowSpaceSeparator(){

  21636.         String pName = "org.openspcoop2.pdd.validazioneContenutiApplicativi.openApi.dateTimeAllowSpaceSeparator";
  21637.        
  21638.         if(this.isValidazioneContenutiApplicativiOpenApiDateTimeAllowSpaceSeparator==null){
  21639.             try{  
  21640.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21641.                 if (value != null){
  21642.                     value = value.trim();
  21643.                     this.isValidazioneContenutiApplicativiOpenApiDateTimeAllowSpaceSeparator = Boolean.parseBoolean(value);
  21644.                 }else{
  21645.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21646.                     this.isValidazioneContenutiApplicativiOpenApiDateTimeAllowSpaceSeparator = false;
  21647.                 }

  21648.             }catch(java.lang.Exception e) {
  21649.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21650.                 this.isValidazioneContenutiApplicativiOpenApiDateTimeAllowSpaceSeparator = false;
  21651.             }
  21652.         }

  21653.         return this.isValidazioneContenutiApplicativiOpenApiDateTimeAllowSpaceSeparator;
  21654.     }
  21655.    
  21656.    
  21657.    
  21658.     /* ------------- XML ---------------------*/
  21659.    
  21660.     private Boolean isXmlFactoryDTDsEnabled = null;
  21661.     public boolean isXmlFactoryDTDsEnabled(){

  21662.         String pName = "org.openspcoop2.pdd.xmlFactory.DTDs.enabled";
  21663.        
  21664.         if(this.isXmlFactoryDTDsEnabled==null){
  21665.             try{  
  21666.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21667.                 if (value != null){
  21668.                     value = value.trim();
  21669.                     this.isXmlFactoryDTDsEnabled = Boolean.parseBoolean(value);
  21670.                 }else{
  21671.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21672.                     this.isXmlFactoryDTDsEnabled = false;
  21673.                 }

  21674.             }catch(java.lang.Exception e) {
  21675.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21676.                 this.isXmlFactoryDTDsEnabled = false;
  21677.             }
  21678.         }

  21679.         return this.isXmlFactoryDTDsEnabled;
  21680.     }
  21681.    
  21682.     private Boolean isXsltProcessAsDOMSource = null;
  21683.     public boolean isXsltProcessAsDOMSource(){

  21684.         String pName = "org.openspcoop2.pdd.xslt.processAsDOMSource";
  21685.        
  21686.         if(this.isXsltProcessAsDOMSource==null){
  21687.             try{  
  21688.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21689.                 if (value != null){
  21690.                     value = value.trim();
  21691.                     this.isXsltProcessAsDOMSource = Boolean.parseBoolean(value);
  21692.                 }else{
  21693.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  21694.                     this.isXsltProcessAsDOMSource = true;
  21695.                 }

  21696.             }catch(java.lang.Exception e) {
  21697.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  21698.                 this.isXsltProcessAsDOMSource = true;
  21699.             }
  21700.         }

  21701.         return this.isXsltProcessAsDOMSource;
  21702.     }
  21703.    
  21704.    
  21705.     /* ------------- YAML ---------------------*/
  21706.    
  21707.     private Properties yamlSnakeLimits = null;
  21708.     private Boolean yamlSnakeLimits_read = null;
  21709.     public Properties getYamlSnakeLimits(){

  21710.         String pName = "org.openspcoop2.pdd.yaml.snakeLimits";
  21711.        
  21712.         if(this.yamlSnakeLimits_read==null){
  21713.             try{  
  21714.                 String file = this.reader.getValueConvertEnvProperties(pName);
  21715.                 if(file!=null && StringUtils.isNotEmpty(file)) {
  21716.                     File f = new File(file);
  21717.                     if(f.exists()) {
  21718.                         if(!f.isFile()) {
  21719.                             throw new CoreException("Il file indicato '"+f.getAbsolutePath()+"' non è un file");
  21720.                         }
  21721.                         if(!f.canRead()) {
  21722.                             throw new CoreException("Il file indicato '"+f.getAbsolutePath()+"' non è accessibile in lettura");
  21723.                         }
  21724.                         try(InputStream is = new FileInputStream(f)){
  21725.                             Properties p = new Properties();
  21726.                             p.load(is);
  21727.                             if (p != null && !p.isEmpty()){
  21728.                                 this.yamlSnakeLimits = p;
  21729.                             }
  21730.                         }
  21731.                     }
  21732.                 }
  21733.                
  21734.             }catch(java.lang.Exception e) {
  21735.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostate, errore:"+e.getMessage(),e);
  21736.             }
  21737.             this.yamlSnakeLimits_read=true;
  21738.         }

  21739.         return this.yamlSnakeLimits;
  21740.     }
  21741.    
  21742.    
  21743.     /* ------------- XPath e JSON Path ---------------------*/
  21744.    
  21745.     private Boolean isJsonPathCacheEnabled = null;
  21746.     public boolean isJsonPathCacheEnabled(){

  21747.         String pName = "org.openspcoop2.pdd.jsonPath.cache.enabled";
  21748.        
  21749.         if(this.isJsonPathCacheEnabled==null){
  21750.             try{  
  21751.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21752.                 if (value != null){
  21753.                     value = value.trim();
  21754.                     this.isJsonPathCacheEnabled = Boolean.parseBoolean(value);
  21755.                 }else{
  21756.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21757.                     this.isJsonPathCacheEnabled = false;
  21758.                 }

  21759.             }catch(java.lang.Exception e) {
  21760.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21761.                 this.isJsonPathCacheEnabled = false;
  21762.             }
  21763.         }

  21764.         return this.isJsonPathCacheEnabled;
  21765.     }
  21766.    
  21767.     private Boolean isReadByPathBufferEnabled = null;
  21768.     public boolean isReadByPathBufferEnabled(){

  21769.         String pName = "org.openspcoop2.pdd.readByPath.buffer";
  21770.        
  21771.         if(this.isReadByPathBufferEnabled==null){
  21772.             try{  
  21773.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21774.                 if (value != null){
  21775.                     value = value.trim();
  21776.                     this.isReadByPathBufferEnabled = Boolean.parseBoolean(value);
  21777.                 }else{
  21778.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  21779.                     this.isReadByPathBufferEnabled = true;
  21780.                 }

  21781.             }catch(java.lang.Exception e) {
  21782.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  21783.                 this.isReadByPathBufferEnabled = true;
  21784.             }
  21785.         }

  21786.         return this.isReadByPathBufferEnabled;
  21787.     }
  21788.    
  21789.    
  21790.    
  21791.     /* ------------- Caching Response ---------------------*/
  21792.    
  21793.     private String getCachingResponseDigestAlgorithm = null;
  21794.     public String getCachingResponseDigestAlgorithm(){

  21795.         if(this.getCachingResponseDigestAlgorithm==null){
  21796.             try{  
  21797.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.cachingResponse.digestAlgorithm");

  21798.                 if (value != null){
  21799.                     value = value.trim();
  21800.                     MessageDigest.getInstance(value); // valida
  21801.                     this.getCachingResponseDigestAlgorithm = value;
  21802.                 }else{
  21803.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.cachingResponse.digestAlgorithm' non impostata, viene utilizzato il default="+CostantiPdD.RESPONSE_CACHE_REQUEST_DIGEST_DEFAULT_ALGORITHM);
  21804.                     this.getCachingResponseDigestAlgorithm = CostantiPdD.RESPONSE_CACHE_REQUEST_DIGEST_DEFAULT_ALGORITHM;
  21805.                 }

  21806.             }catch(java.lang.Exception e) {
  21807.                 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);
  21808.                 this.getCachingResponseDigestAlgorithm = CostantiPdD.RESPONSE_CACHE_REQUEST_DIGEST_DEFAULT_ALGORITHM;
  21809.             }
  21810.         }

  21811.         return this.getCachingResponseDigestAlgorithm;
  21812.     }
  21813.    
  21814.     private Boolean getCachingResponseHeaderCacheKey_read = null;
  21815.     private String getCachingResponseHeaderCacheKey = null;
  21816.     public String getCachingResponseHeaderCacheKey(){

  21817.         if(this.getCachingResponseHeaderCacheKey_read==null){
  21818.             try{  
  21819.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.cachingResponse.header.cacheKey");

  21820.                 if (value != null){
  21821.                     value = value.trim();
  21822.                     this.getCachingResponseHeaderCacheKey = value;
  21823.                 }

  21824.                 this.getCachingResponseHeaderCacheKey_read = true;
  21825.                
  21826.             }catch(java.lang.Exception e) {
  21827.                 this.logError("Proprieta' di openspcoop 'org.openspcoop2.pdd.cachingResponse.header.cacheKey', errore:"+e.getMessage(),e);
  21828.                
  21829.             }
  21830.         }

  21831.         return this.getCachingResponseHeaderCacheKey;
  21832.     }
  21833.    
  21834.    
  21835.    
  21836.     /* ------------- Gestione Token ---------------------*/
  21837.    
  21838.     private Boolean isGestioneTokenDynamicDiscoveryDebug = null;
  21839.     public boolean isGestioneTokenDynamicDiscoveryDebug(){

  21840.         String pName = "org.openspcoop2.pdd.gestioneToken.dynamicDiscovery.debug";
  21841.         if(this.isGestioneTokenDynamicDiscoveryDebug==null){
  21842.             try{  
  21843.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21844.                 if (value != null){
  21845.                     value = value.trim();
  21846.                     this.isGestioneTokenDynamicDiscoveryDebug = Boolean.parseBoolean(value);
  21847.                 }else{
  21848.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21849.                     this.isGestioneTokenDynamicDiscoveryDebug = false;
  21850.                 }

  21851.             }catch(java.lang.Exception e) {
  21852.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21853.                 this.isGestioneTokenDynamicDiscoveryDebug = false;
  21854.             }
  21855.         }

  21856.         return this.isGestioneTokenDynamicDiscoveryDebug;
  21857.     }
  21858.    
  21859.     private Boolean isGestioneTokenIntrospectionDebug = null;
  21860.     public boolean isGestioneTokenIntrospectionDebug(){

  21861.         String pName = "org.openspcoop2.pdd.gestioneToken.introspection.debug";
  21862.         if(this.isGestioneTokenIntrospectionDebug==null){
  21863.             try{  
  21864.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21865.                 if (value != null){
  21866.                     value = value.trim();
  21867.                     this.isGestioneTokenIntrospectionDebug = Boolean.parseBoolean(value);
  21868.                 }else{
  21869.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21870.                     this.isGestioneTokenIntrospectionDebug = false;
  21871.                 }

  21872.             }catch(java.lang.Exception e) {
  21873.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21874.                 this.isGestioneTokenIntrospectionDebug = false;
  21875.             }
  21876.         }

  21877.         return this.isGestioneTokenIntrospectionDebug;
  21878.     }
  21879.    
  21880.     private Boolean isGestioneTokenUserInfoDebug = null;
  21881.     public boolean isGestioneTokenUserInfoDebug(){

  21882.         String pName = "org.openspcoop2.pdd.gestioneToken.userInfo.debug";
  21883.         if(this.isGestioneTokenUserInfoDebug==null){
  21884.             try{  
  21885.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21886.                 if (value != null){
  21887.                     value = value.trim();
  21888.                     this.isGestioneTokenUserInfoDebug = Boolean.parseBoolean(value);
  21889.                 }else{
  21890.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  21891.                     this.isGestioneTokenUserInfoDebug = false;
  21892.                 }

  21893.             }catch(java.lang.Exception e) {
  21894.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  21895.                 this.isGestioneTokenUserInfoDebug = false;
  21896.             }
  21897.         }

  21898.         return this.isGestioneTokenUserInfoDebug;
  21899.     }
  21900.    
  21901.     private Boolean getGestioneTokenDynamicDiscoveryLockPermitsRead = null;
  21902.     private Integer getGestioneTokenDynamicDiscoveryLockPermits = null;
  21903.     public Integer getGestioneTokenDynamicDiscoveryLockPermits() {

  21904.         String pName = "org.openspcoop2.pdd.gestioneToken.dynamicDiscovery.lock.permits";
  21905.         if(this.getGestioneTokenDynamicDiscoveryLockPermitsRead==null){
  21906.             try{  
  21907.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21908.                 if (value != null){
  21909.                     value = value.trim();
  21910.                     int permits = Integer.parseInt(value);
  21911.                     if(permits>1) {
  21912.                         // altrimenti è un normale semaphore binario
  21913.                         this.getGestioneTokenDynamicDiscoveryLockPermits = permits;
  21914.                     }
  21915.                 }
  21916.                
  21917.                
  21918.             }catch(java.lang.Exception e) {
  21919.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  21920.             }
  21921.            
  21922.             this.getGestioneTokenDynamicDiscoveryLockPermitsRead = true;
  21923.         }

  21924.         return this.getGestioneTokenDynamicDiscoveryLockPermits;
  21925.     }
  21926.    
  21927.     private Boolean getGestioneTokenValidazioneJWTLockPermitsRead = null;
  21928.     private Integer getGestioneTokenValidazioneJWTLockPermits = null;
  21929.     public Integer getGestioneTokenValidazioneJWTLockPermits() {

  21930.         String pName = "org.openspcoop2.pdd.gestioneToken.validazioneJWT.lock.permits";
  21931.         if(this.getGestioneTokenValidazioneJWTLockPermitsRead==null){
  21932.             try{  
  21933.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21934.                 if (value != null){
  21935.                     value = value.trim();
  21936.                     int permits = Integer.parseInt(value);
  21937.                     if(permits>1) {
  21938.                         // altrimenti è un normale semaphore binario
  21939.                         this.getGestioneTokenValidazioneJWTLockPermits = permits;
  21940.                     }
  21941.                 }
  21942.                
  21943.                
  21944.             }catch(java.lang.Exception e) {
  21945.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  21946.             }
  21947.            
  21948.             this.getGestioneTokenValidazioneJWTLockPermitsRead = true;
  21949.         }

  21950.         return this.getGestioneTokenValidazioneJWTLockPermits;
  21951.     }
  21952.    
  21953.     private Boolean getGestioneTokenIntrospectionLockPermitsRead = null;
  21954.     private Integer getGestioneTokenIntrospectionLockPermits = null;
  21955.     public Integer getGestioneTokenIntrospectionLockPermits() {

  21956.         String pName = "org.openspcoop2.pdd.gestioneToken.introspection.lock.permits";
  21957.         if(this.getGestioneTokenIntrospectionLockPermitsRead==null){
  21958.             try{  
  21959.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21960.                 if (value != null){
  21961.                     value = value.trim();
  21962.                     int permits = Integer.parseInt(value);
  21963.                     if(permits>1) {
  21964.                         // altrimenti è un normale semaphore binario
  21965.                         this.getGestioneTokenIntrospectionLockPermits = permits;
  21966.                     }
  21967.                 }
  21968.                
  21969.                
  21970.             }catch(java.lang.Exception e) {
  21971.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  21972.             }
  21973.            
  21974.             this.getGestioneTokenIntrospectionLockPermitsRead = true;
  21975.         }

  21976.         return this.getGestioneTokenIntrospectionLockPermits;
  21977.     }
  21978.    
  21979.     private Boolean getGestioneTokenUserInfoLockPermitsRead = null;
  21980.     private Integer getGestioneTokenUserInfoLockPermits = null;
  21981.     public Integer getGestioneTokenUserInfoLockPermits() {

  21982.         String pName = "org.openspcoop2.pdd.gestioneToken.userInfo.lock.permits";
  21983.         if(this.getGestioneTokenUserInfoLockPermitsRead==null){
  21984.             try{  
  21985.                 String value = this.reader.getValueConvertEnvProperties(pName);

  21986.                 if (value != null){
  21987.                     value = value.trim();
  21988.                     int permits = Integer.parseInt(value);
  21989.                     if(permits>1) {
  21990.                         // altrimenti è un normale semaphore binario
  21991.                         this.getGestioneTokenUserInfoLockPermits = permits;
  21992.                     }
  21993.                 }
  21994.                
  21995.                
  21996.             }catch(java.lang.Exception e) {
  21997.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  21998.             }
  21999.            
  22000.             this.getGestioneTokenUserInfoLockPermitsRead = true;
  22001.         }

  22002.         return this.getGestioneTokenUserInfoLockPermits;
  22003.     }
  22004.    
  22005.     private Boolean isGestioneTokenDynamicDiscoveryKeyCacheUseToken = null;
  22006.     public boolean isGestioneTokenDynamicDiscoveryKeyCacheUseToken(){

  22007.         String pName = "org.openspcoop2.pdd.gestioneToken.dynamicDiscovery.keyCache.useToken";
  22008.         if(this.isGestioneTokenDynamicDiscoveryKeyCacheUseToken==null){
  22009.             try{  
  22010.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22011.                 if (value != null){
  22012.                     value = value.trim();
  22013.                     this.isGestioneTokenDynamicDiscoveryKeyCacheUseToken = Boolean.parseBoolean(value);
  22014.                 }else{
  22015.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  22016.                     this.isGestioneTokenDynamicDiscoveryKeyCacheUseToken = false;
  22017.                 }

  22018.             }catch(java.lang.Exception e) {
  22019.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  22020.                 this.isGestioneTokenDynamicDiscoveryKeyCacheUseToken = false;
  22021.             }
  22022.         }

  22023.         return this.isGestioneTokenDynamicDiscoveryKeyCacheUseToken;
  22024.     }
  22025.    
  22026.     private Boolean isGestioneTokenDynamicDiscoveryUseCacheConfig = null;
  22027.     public boolean isGestioneTokenDynamicDiscoveryUseCacheConfig(){

  22028.         String pName = "org.openspcoop2.pdd.gestioneToken.dynamicDiscovery.useCacheConfig";
  22029.         if(this.isGestioneTokenDynamicDiscoveryUseCacheConfig==null){
  22030.             try{  
  22031.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22032.                 if (value != null){
  22033.                     value = value.trim();
  22034.                     this.isGestioneTokenDynamicDiscoveryUseCacheConfig = Boolean.parseBoolean(value);
  22035.                 }else{
  22036.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  22037.                     this.isGestioneTokenDynamicDiscoveryUseCacheConfig = true;
  22038.                 }

  22039.             }catch(java.lang.Exception e) {
  22040.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  22041.                 this.isGestioneTokenDynamicDiscoveryUseCacheConfig = true;
  22042.             }
  22043.         }

  22044.         return this.isGestioneTokenDynamicDiscoveryUseCacheConfig;
  22045.     }
  22046.        
  22047.     private Boolean isGestioneTokenIatRequired = null;
  22048.     public boolean isGestioneTokenIatRequired() {

  22049.         String pName = "org.openspcoop2.pdd.gestioneToken.iat.required";
  22050.         if(this.isGestioneTokenIatRequired==null){
  22051.             try{  
  22052.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22053.                 if (value != null){
  22054.                     value = value.trim();
  22055.                     this.isGestioneTokenIatRequired = Boolean.parseBoolean(value);
  22056.                 }else{
  22057.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  22058.                     this.isGestioneTokenIatRequired = false;
  22059.                 }
  22060.             }catch(java.lang.Exception e) {
  22061.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  22062.                 this.isGestioneTokenIatRequired = false;
  22063.             }
  22064.         }
  22065.        
  22066.         return this.isGestioneTokenIatRequired;
  22067.     }
  22068.    
  22069.     private static final String GESTIONE_TOKEN_FRUIZIONI = "fruizioni";
  22070.     private static final String GESTIONE_TOKEN_EROGAZIONI = "erogazioni";
  22071.     private static final String GESTIONE_TOKEN_SUFFIX_REQUIRED = ".required";
  22072.    
  22073.     private Map<String,BooleanNullable> isGestioneTokenIatRequirePddRuolodMap = new HashMap<>();
  22074.     public BooleanNullable isGestioneTokenIatRequired(boolean portaDelegata) {

  22075.         String keyRuolo =  portaDelegata ? GESTIONE_TOKEN_FRUIZIONI : GESTIONE_TOKEN_EROGAZIONI;
  22076.         String pName = "org.openspcoop2.pdd.gestioneToken.iat."+keyRuolo+GESTIONE_TOKEN_SUFFIX_REQUIRED;
  22077.         if(!this.isGestioneTokenIatRequirePddRuolodMap.containsKey(keyRuolo)){
  22078.             try{  
  22079.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22080.                 if (value != null){
  22081.                     value = value.trim();
  22082.                     boolean v = Boolean.parseBoolean(value);
  22083.                     this.isGestioneTokenIatRequirePddRuolodMap.put(keyRuolo, v ? BooleanNullable.TRUE() : BooleanNullable.FALSE());
  22084.                 }else{
  22085.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  22086.                     this.isGestioneTokenIatRequirePddRuolodMap.put(keyRuolo, BooleanNullable.NULL());
  22087.                 }
  22088.             }catch(java.lang.Exception e) {
  22089.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  22090.                 this.isGestioneTokenIatRequirePddRuolodMap.put(keyRuolo, BooleanNullable.NULL());
  22091.             }
  22092.         }
  22093.        
  22094.         return this.isGestioneTokenIatRequirePddRuolodMap.get(keyRuolo);
  22095.     }
  22096.    
  22097.     private Map<String,BooleanNullable> isGestioneTokenIatRequirePddRuoloProtocolloMap = new HashMap<>();
  22098.     public BooleanNullable isGestioneTokenIatRequired(boolean portaDelegata, String protocollo) {

  22099.         String keyRuolo =  portaDelegata ? GESTIONE_TOKEN_FRUIZIONI : GESTIONE_TOKEN_EROGAZIONI;
  22100.         keyRuolo+="."+protocollo;
  22101.         String pName = "org.openspcoop2.pdd.gestioneToken.iat."+keyRuolo+GESTIONE_TOKEN_SUFFIX_REQUIRED;
  22102.         if(!this.isGestioneTokenIatRequirePddRuoloProtocolloMap.containsKey(keyRuolo)){
  22103.             try{  
  22104.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22105.                 if (value != null){
  22106.                     value = value.trim();
  22107.                     boolean v = Boolean.parseBoolean(value);
  22108.                     this.isGestioneTokenIatRequirePddRuoloProtocolloMap.put(keyRuolo, v ? BooleanNullable.TRUE() : BooleanNullable.FALSE());
  22109.                 }else{
  22110.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  22111.                     this.isGestioneTokenIatRequirePddRuoloProtocolloMap.put(keyRuolo, BooleanNullable.NULL());
  22112.                 }
  22113.             }catch(java.lang.Exception e) {
  22114.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  22115.                 this.isGestioneTokenIatRequirePddRuoloProtocolloMap.put(keyRuolo, BooleanNullable.NULL());
  22116.             }
  22117.         }
  22118.        
  22119.         return this.isGestioneTokenIatRequirePddRuoloProtocolloMap.get(keyRuolo);
  22120.     }
  22121.     public BooleanNullable isGestioneTokenIatPdndRequired() {
  22122.         return isGestioneTokenIatRequired(false, "pdnd");
  22123.     }
  22124.    
  22125.     private Boolean getGestioneTokenIatTimeCheckMillisecondsRead = null;
  22126.     private Long getGestioneTokenIatTimeCheckMilliseconds = null;
  22127.     public Long getGestioneTokenIatTimeCheckMilliseconds() throws CoreException{

  22128.         String pName = "org.openspcoop2.pdd.gestioneToken.iat";
  22129.         if(this.getGestioneTokenIatTimeCheckMillisecondsRead==null){
  22130.             try{  
  22131.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22132.                 if (value != null){
  22133.                     value = value.trim();
  22134.                     long minuti = Long.parseLong(value); // minuti
  22135.                     this.getGestioneTokenIatTimeCheckMilliseconds = minuti * 60l * 1000l;
  22136.                 }
  22137.             }catch(java.lang.Exception e) {
  22138.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  22139.                 throw new CoreException(e.getMessage(),e);
  22140.             }
  22141.            
  22142.             this.getGestioneTokenIatTimeCheckMillisecondsRead = true;
  22143.         }

  22144.         return this.getGestioneTokenIatTimeCheckMilliseconds;
  22145.     }
  22146.    
  22147.     private Boolean getGestioneTokenIatTimeCheckFutureToleranceMillisecondsRead = null;
  22148.     private Long getGestioneTokenIatTimeCheckFutureToleranceMilliseconds = null;
  22149.     public Long getGestioneTokenIatTimeCheckFutureToleranceMilliseconds() throws CoreException{

  22150.         String pName = "org.openspcoop2.pdd.gestioneToken.iat.future.toleranceMilliseconds";
  22151.         if(this.getGestioneTokenIatTimeCheckFutureToleranceMillisecondsRead==null){
  22152.             try{  
  22153.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22154.                 if (value != null){
  22155.                     value = value.trim();
  22156.                     this.getGestioneTokenIatTimeCheckFutureToleranceMilliseconds = Long.parseLong(value); // gia' millisecondi
  22157.                     if(this.getGestioneTokenIatTimeCheckFutureToleranceMilliseconds<=0) {
  22158.                         // disabilito il controllo
  22159.                         this.getGestioneTokenIatTimeCheckFutureToleranceMilliseconds=null;
  22160.                     }
  22161.                 }
  22162.             }catch(java.lang.Exception e) {
  22163.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  22164.                 throw new CoreException(e.getMessage(),e);
  22165.             }
  22166.            
  22167.             this.getGestioneTokenIatTimeCheckFutureToleranceMillisecondsRead = true;
  22168.         }

  22169.         return this.getGestioneTokenIatTimeCheckFutureToleranceMilliseconds;
  22170.     }
  22171.    
  22172.     private Boolean isGestioneTokenExpRequired = null;
  22173.     public boolean isGestioneTokenExpRequired() {

  22174.         String pName = "org.openspcoop2.pdd.gestioneToken.exp.required";
  22175.         if(this.isGestioneTokenExpRequired==null){
  22176.             try{  
  22177.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22178.                 if (value != null){
  22179.                     value = value.trim();
  22180.                     this.isGestioneTokenExpRequired = Boolean.parseBoolean(value);
  22181.                 }else{
  22182.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  22183.                     this.isGestioneTokenExpRequired = false;
  22184.                 }
  22185.             }catch(java.lang.Exception e) {
  22186.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  22187.                 this.isGestioneTokenExpRequired = false;
  22188.             }
  22189.         }
  22190.        
  22191.         return this.isGestioneTokenExpRequired;
  22192.     }
  22193.    
  22194.     private Map<String,BooleanNullable> isGestioneTokenExpRequirePddRuolodMap = new HashMap<>();
  22195.     public BooleanNullable isGestioneTokenExpRequired(boolean portaDelegata) {

  22196.         String keyRuolo =  portaDelegata ? GESTIONE_TOKEN_FRUIZIONI : GESTIONE_TOKEN_EROGAZIONI;
  22197.         String pName = "org.openspcoop2.pdd.gestioneToken.exp."+keyRuolo+GESTIONE_TOKEN_SUFFIX_REQUIRED;
  22198.         if(!this.isGestioneTokenExpRequirePddRuolodMap.containsKey(keyRuolo)){
  22199.             try{  
  22200.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22201.                 if (value != null){
  22202.                     value = value.trim();
  22203.                     boolean v = Boolean.parseBoolean(value);
  22204.                     this.isGestioneTokenExpRequirePddRuolodMap.put(keyRuolo, v ? BooleanNullable.TRUE() : BooleanNullable.FALSE());
  22205.                 }else{
  22206.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  22207.                     this.isGestioneTokenExpRequirePddRuolodMap.put(keyRuolo, BooleanNullable.NULL());
  22208.                 }
  22209.             }catch(java.lang.Exception e) {
  22210.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  22211.                 this.isGestioneTokenExpRequirePddRuolodMap.put(keyRuolo, BooleanNullable.NULL());
  22212.             }
  22213.         }
  22214.        
  22215.         return this.isGestioneTokenExpRequirePddRuolodMap.get(keyRuolo);
  22216.     }
  22217.    
  22218.     private Map<String,BooleanNullable> isGestioneTokenExpRequirePddRuoloProtocolloMap = new HashMap<>();
  22219.     public BooleanNullable isGestioneTokenExpRequired(boolean portaDelegata, String protocollo) {

  22220.         String keyRuolo =  portaDelegata ? GESTIONE_TOKEN_FRUIZIONI : GESTIONE_TOKEN_EROGAZIONI;
  22221.         keyRuolo+="."+protocollo;
  22222.         String pName = "org.openspcoop2.pdd.gestioneToken.exp."+keyRuolo+GESTIONE_TOKEN_SUFFIX_REQUIRED;
  22223.         if(!this.isGestioneTokenExpRequirePddRuoloProtocolloMap.containsKey(keyRuolo)){
  22224.             try{  
  22225.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22226.                 if (value != null){
  22227.                     value = value.trim();
  22228.                     boolean v = Boolean.parseBoolean(value);
  22229.                     this.isGestioneTokenExpRequirePddRuoloProtocolloMap.put(keyRuolo, v ? BooleanNullable.TRUE() : BooleanNullable.FALSE());
  22230.                 }else{
  22231.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  22232.                     this.isGestioneTokenExpRequirePddRuoloProtocolloMap.put(keyRuolo, BooleanNullable.NULL());
  22233.                 }
  22234.             }catch(java.lang.Exception e) {
  22235.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  22236.                 this.isGestioneTokenExpRequirePddRuoloProtocolloMap.put(keyRuolo, BooleanNullable.NULL());
  22237.             }
  22238.         }
  22239.        
  22240.         return this.isGestioneTokenExpRequirePddRuoloProtocolloMap.get(keyRuolo);
  22241.     }
  22242.     public BooleanNullable isGestioneTokenExpPdndRequired() {
  22243.         return isGestioneTokenExpRequired(false, "pdnd");
  22244.     }
  22245.    
  22246.     private Boolean isGestioneTokenExpTimeCheck = null;
  22247.     public boolean isGestioneTokenExpTimeCheck(){

  22248.         if(this.isGestioneTokenExpTimeCheck==null){
  22249.             String pName = "org.openspcoop2.pdd.gestioneToken.exp.checkEnabled";
  22250.             try{  
  22251.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22252.                 if (value != null){
  22253.                     value = value.trim();
  22254.                     this.isGestioneTokenExpTimeCheck = Boolean.parseBoolean(value);
  22255.                 }else{
  22256.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  22257.                     this.isGestioneTokenExpTimeCheck = true;
  22258.                 }

  22259.             }catch(java.lang.Exception e) {
  22260.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  22261.                 this.isGestioneTokenExpTimeCheck = true;
  22262.             }
  22263.         }

  22264.         return this.isGestioneTokenExpTimeCheck;
  22265.     }
  22266.    
  22267.     private Boolean getGestioneTokenExpTimeCheckToleranceMillisecondsRead = null;
  22268.     private Long getGestioneTokenExpTimeCheckToleranceMilliseconds = null;
  22269.     public Long getGestioneTokenExpTimeCheckToleranceMilliseconds() throws CoreException{

  22270.         String pName = "org.openspcoop2.pdd.gestioneToken.exp.toleranceMilliseconds";
  22271.         if(this.getGestioneTokenExpTimeCheckToleranceMillisecondsRead==null){
  22272.             try{  
  22273.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22274.                 if (value != null){
  22275.                     value = value.trim();
  22276.                     this.getGestioneTokenExpTimeCheckToleranceMilliseconds = Long.parseLong(value); // gia' millisecondi
  22277.                     if(this.getGestioneTokenExpTimeCheckToleranceMilliseconds<=0) {
  22278.                         // disabilito il controllo
  22279.                         this.getGestioneTokenExpTimeCheckToleranceMilliseconds=null;
  22280.                     }
  22281.                 }
  22282.             }catch(java.lang.Exception e) {
  22283.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  22284.                 throw new CoreException(e.getMessage(),e);
  22285.             }
  22286.            
  22287.             this.getGestioneTokenExpTimeCheckToleranceMillisecondsRead = true;
  22288.         }

  22289.         return this.getGestioneTokenExpTimeCheckToleranceMilliseconds;
  22290.     }
  22291.    
  22292.     private Boolean isGestioneTokenNbfRequired = null;
  22293.     public boolean isGestioneTokenNbfRequired() {

  22294.         String pName = "org.openspcoop2.pdd.gestioneToken.nbf.required";
  22295.         if(this.isGestioneTokenNbfRequired==null){
  22296.             try{  
  22297.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22298.                 if (value != null){
  22299.                     value = value.trim();
  22300.                     this.isGestioneTokenNbfRequired = Boolean.parseBoolean(value);
  22301.                 }else{
  22302.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  22303.                     this.isGestioneTokenNbfRequired = false;
  22304.                 }
  22305.             }catch(java.lang.Exception e) {
  22306.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  22307.                 this.isGestioneTokenNbfRequired = false;
  22308.             }
  22309.         }
  22310.        
  22311.         return this.isGestioneTokenNbfRequired;
  22312.     }
  22313.    
  22314.     private Map<String,BooleanNullable> isGestioneTokenNbfRequirePddRuolodMap = new HashMap<>();
  22315.     public BooleanNullable isGestioneTokenNbfRequired(boolean portaDelegata) {

  22316.         String keyRuolo =  portaDelegata ? GESTIONE_TOKEN_FRUIZIONI : GESTIONE_TOKEN_EROGAZIONI;
  22317.         String pName = "org.openspcoop2.pdd.gestioneToken.nbf."+keyRuolo+GESTIONE_TOKEN_SUFFIX_REQUIRED;
  22318.         if(!this.isGestioneTokenNbfRequirePddRuolodMap.containsKey(keyRuolo)){
  22319.             try{  
  22320.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22321.                 if (value != null){
  22322.                     value = value.trim();
  22323.                     boolean v = Boolean.parseBoolean(value);
  22324.                     this.isGestioneTokenNbfRequirePddRuolodMap.put(keyRuolo, v ? BooleanNullable.TRUE() : BooleanNullable.FALSE());
  22325.                 }else{
  22326.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  22327.                     this.isGestioneTokenNbfRequirePddRuolodMap.put(keyRuolo, BooleanNullable.NULL());
  22328.                 }
  22329.             }catch(java.lang.Exception e) {
  22330.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  22331.                 this.isGestioneTokenNbfRequirePddRuolodMap.put(keyRuolo, BooleanNullable.NULL());
  22332.             }
  22333.         }
  22334.        
  22335.         return this.isGestioneTokenNbfRequirePddRuolodMap.get(keyRuolo);
  22336.     }
  22337.    
  22338.     private Map<String,BooleanNullable> isGestioneTokenNbfRequirePddRuoloProtocolloMap = new HashMap<>();
  22339.     public BooleanNullable isGestioneTokenNbfRequired(boolean portaDelegata, String protocollo) {

  22340.         String keyRuolo =  portaDelegata ? GESTIONE_TOKEN_FRUIZIONI : GESTIONE_TOKEN_EROGAZIONI;
  22341.         keyRuolo+="."+protocollo;
  22342.         String pName = "org.openspcoop2.pdd.gestioneToken.nbf."+keyRuolo+GESTIONE_TOKEN_SUFFIX_REQUIRED;
  22343.         if(!this.isGestioneTokenNbfRequirePddRuoloProtocolloMap.containsKey(keyRuolo)){
  22344.             try{  
  22345.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22346.                 if (value != null){
  22347.                     value = value.trim();
  22348.                     boolean v = Boolean.parseBoolean(value);
  22349.                     this.isGestioneTokenNbfRequirePddRuoloProtocolloMap.put(keyRuolo, v ? BooleanNullable.TRUE() : BooleanNullable.FALSE());
  22350.                 }else{
  22351.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  22352.                     this.isGestioneTokenNbfRequirePddRuoloProtocolloMap.put(keyRuolo, BooleanNullable.NULL());
  22353.                 }
  22354.             }catch(java.lang.Exception e) {
  22355.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  22356.                 this.isGestioneTokenNbfRequirePddRuoloProtocolloMap.put(keyRuolo, BooleanNullable.NULL());
  22357.             }
  22358.         }
  22359.        
  22360.         return this.isGestioneTokenNbfRequirePddRuoloProtocolloMap.get(keyRuolo);
  22361.     }
  22362.     public BooleanNullable isGestioneTokenNbfPdndRequired() {
  22363.         return isGestioneTokenNbfRequired(false, "pdnd");
  22364.     }
  22365.    
  22366.     private Boolean getGestioneTokenNbfTimeCheckToleranceMillisecondsRead = null;
  22367.     private Long getGestioneTokenNbfTimeCheckToleranceMilliseconds = null;
  22368.     public Long getGestioneTokenNbfTimeCheckToleranceMilliseconds() throws CoreException{

  22369.         String pName = "org.openspcoop2.pdd.gestioneToken.nbf.toleranceMilliseconds";
  22370.         if(this.getGestioneTokenNbfTimeCheckToleranceMillisecondsRead==null){
  22371.             try{  
  22372.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22373.                 if (value != null){
  22374.                     value = value.trim();
  22375.                     this.getGestioneTokenNbfTimeCheckToleranceMilliseconds = Long.parseLong(value); // gia' millisecondi
  22376.                     if(this.getGestioneTokenNbfTimeCheckToleranceMilliseconds<=0) {
  22377.                         // disabilito il controllo
  22378.                         this.getGestioneTokenNbfTimeCheckToleranceMilliseconds=null;
  22379.                     }
  22380.                 }
  22381.             }catch(java.lang.Exception e) {
  22382.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  22383.                 throw new CoreException(e.getMessage(),e);
  22384.             }
  22385.            
  22386.             this.getGestioneTokenNbfTimeCheckToleranceMillisecondsRead = true;
  22387.         }

  22388.         return this.getGestioneTokenNbfTimeCheckToleranceMilliseconds;
  22389.     }
  22390.    
  22391.     private CertificateValidityCheck getGestioneTokenValidityCheck = null;
  22392.     public CertificateValidityCheck getGestioneTokenValidityCheck(){

  22393.         String pName = "org.openspcoop2.pdd.gestioneToken.validityCheck";
  22394.         if(this.getGestioneTokenValidityCheck==null){
  22395.             try{  
  22396.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22397.                 if (value != null){
  22398.                     value = value.trim();
  22399.                     this.getGestioneTokenValidityCheck = CertificateValidityCheck.parseCertificateValidityCheck(value);
  22400.                     if(this.getGestioneTokenValidityCheck==null) {
  22401.                         throw new CoreException("Opzione '"+value+"' sconosciuta");
  22402.                     }
  22403.                 }else{
  22404.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  22405.                     this.getGestioneTokenValidityCheck = CertificateValidityCheck.ENABLED;
  22406.                 }

  22407.             }catch(java.lang.Exception e) {
  22408.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  22409.                 this.getGestioneTokenValidityCheck = CertificateValidityCheck.ENABLED;
  22410.             }
  22411.         }

  22412.         return this.getGestioneTokenValidityCheck;
  22413.     }
  22414.    
  22415.     private Boolean isGestioneTokenSaveSourceTokenInfo = null;
  22416.     public boolean isGestioneTokenSaveSourceTokenInfo(){

  22417.         if(this.isGestioneTokenSaveSourceTokenInfo==null){
  22418.             try{  
  22419.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.gestioneToken.saveSourceTokenInfo");

  22420.                 if (value != null){
  22421.                     value = value.trim();
  22422.                     this.isGestioneTokenSaveSourceTokenInfo = Boolean.parseBoolean(value);
  22423.                 }else{
  22424.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.gestioneToken.saveSourceTokenInfo' non impostata, viene utilizzato il default=false");
  22425.                     this.isGestioneTokenSaveSourceTokenInfo = false;
  22426.                 }

  22427.             }catch(java.lang.Exception e) {
  22428.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.gestioneToken.saveSourceTokenInfo' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  22429.                 this.isGestioneTokenSaveSourceTokenInfo = false;
  22430.             }
  22431.         }

  22432.         return this.isGestioneTokenSaveSourceTokenInfo;
  22433.     }
  22434.    
  22435.     private Boolean isGestioneTokenSaveTokenInfoValidationFailed = null;
  22436.     public boolean isGestioneTokenSaveTokenInfoValidationFailed(){

  22437.         if(this.isGestioneTokenSaveTokenInfoValidationFailed==null){
  22438.             String pName = "org.openspcoop2.pdd.gestioneToken.saveTokenInfo.validationFailed";
  22439.             try{  
  22440.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22441.                 if (value != null){
  22442.                     value = value.trim();
  22443.                     this.isGestioneTokenSaveTokenInfoValidationFailed = Boolean.parseBoolean(value);
  22444.                 }else{
  22445.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  22446.                     this.isGestioneTokenSaveTokenInfoValidationFailed = false;
  22447.                 }

  22448.             }catch(java.lang.Exception e) {
  22449.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  22450.                 this.isGestioneTokenSaveTokenInfoValidationFailed = false;
  22451.             }
  22452.         }

  22453.         return this.isGestioneTokenSaveTokenInfoValidationFailed;
  22454.     }
  22455.    
  22456.     private Boolean isGestioneTokenSaveTokenInfoValidationFailedExcludeJwtSignature = null;
  22457.     public boolean isGestioneTokenSaveTokenInfoValidationFailedExcludeJwtSignature(){

  22458.         if(this.isGestioneTokenSaveTokenInfoValidationFailedExcludeJwtSignature==null){
  22459.             String pName = "org.openspcoop2.pdd.gestioneToken.saveTokenInfo.validationFailed.excludeJwtSignature";
  22460.             try{  
  22461.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22462.                 if (value != null){
  22463.                     value = value.trim();
  22464.                     this.isGestioneTokenSaveTokenInfoValidationFailedExcludeJwtSignature = Boolean.parseBoolean(value);
  22465.                 }else{
  22466.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  22467.                     this.isGestioneTokenSaveTokenInfoValidationFailedExcludeJwtSignature = true;
  22468.                 }

  22469.             }catch(java.lang.Exception e) {
  22470.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  22471.                 this.isGestioneTokenSaveTokenInfoValidationFailedExcludeJwtSignature = true;
  22472.             }
  22473.         }

  22474.         return this.isGestioneTokenSaveTokenInfoValidationFailedExcludeJwtSignature;
  22475.     }
  22476.    
  22477.     private Boolean isGestioneTokenSaveTokenAuthenticationInfoValidationFailed = null;
  22478.     public boolean isGestioneTokenSaveTokenAuthenticationInfoValidationFailed(){

  22479.         if(this.isGestioneTokenSaveTokenAuthenticationInfoValidationFailed==null){
  22480.             String pName = "org.openspcoop2.pdd.gestioneToken.saveTokenAuthenticationInfo.validationFailed";
  22481.             try{  
  22482.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22483.                 if (value != null){
  22484.                     value = value.trim();
  22485.                     this.isGestioneTokenSaveTokenAuthenticationInfoValidationFailed = Boolean.parseBoolean(value);
  22486.                 }else{
  22487.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  22488.                     this.isGestioneTokenSaveTokenAuthenticationInfoValidationFailed = true;
  22489.                 }

  22490.             }catch(java.lang.Exception e) {
  22491.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  22492.                 this.isGestioneTokenSaveTokenAuthenticationInfoValidationFailed = true;
  22493.             }
  22494.         }

  22495.         return this.isGestioneTokenSaveTokenAuthenticationInfoValidationFailed;
  22496.     }
  22497.    
  22498.     private Boolean isGestioneTokenSaveTokenAuthenticationInfoAuthenticationFailed = null;
  22499.     public boolean isGestioneTokenSaveTokenAuthenticationInfoAuthenticationFailed(){

  22500.         if(this.isGestioneTokenSaveTokenAuthenticationInfoAuthenticationFailed==null){
  22501.             String pName = "org.openspcoop2.pdd.gestioneToken.saveTokenAuthenticationInfo.authenticationFailed";
  22502.             try{  
  22503.                 String value = this.reader.getValueConvertEnvProperties(pName);

  22504.                 if (value != null){
  22505.                     value = value.trim();
  22506.                     this.isGestioneTokenSaveTokenAuthenticationInfoAuthenticationFailed = Boolean.parseBoolean(value);
  22507.                 }else{
  22508.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  22509.                     this.isGestioneTokenSaveTokenAuthenticationInfoAuthenticationFailed = true;
  22510.                 }

  22511.             }catch(java.lang.Exception e) {
  22512.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  22513.                 this.isGestioneTokenSaveTokenAuthenticationInfoAuthenticationFailed = true;
  22514.             }
  22515.         }

  22516.         return this.isGestioneTokenSaveTokenAuthenticationInfoAuthenticationFailed;
  22517.     }
  22518.    
  22519.     private Boolean getGestioneTokenFormatDateRead = null;
  22520.     private String getGestioneTokenFormatDate = null;
  22521.     public String getGestioneTokenFormatDate() throws CoreException{

  22522.         if(this.getGestioneTokenFormatDateRead==null){
  22523.             try{  
  22524.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.gestioneToken.forward.date.format");

  22525.                 if (value != null){
  22526.                     value = value.trim();
  22527.                     this.getGestioneTokenFormatDate = value;
  22528.                 }

  22529.             }catch(java.lang.Exception e) {
  22530.                 String msg = "Proprieta' di openspcoop 'org.openspcoop2.pdd.gestioneToken.forward.date.format' non impostata, errore:"+e.getMessage();
  22531.                 this.logError(msg,e);
  22532.                 throw new CoreException(msg);
  22533.             }
  22534.            
  22535.             this.getGestioneTokenFormatDateRead = true;
  22536.         }

  22537.         return this.getGestioneTokenFormatDate;
  22538.     }
  22539.    
  22540.     private String getGestioneTokenHeaderTrasportoJSON = null;
  22541.     public String getGestioneTokenHeaderTrasportoJSON() throws CoreException{

  22542.         if(this.getGestioneTokenHeaderTrasportoJSON==null){
  22543.             try{  
  22544.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.gestioneToken.forward.trasporto.jsonHeader");

  22545.                 if (value != null){
  22546.                     value = value.trim();
  22547.                     this.getGestioneTokenHeaderTrasportoJSON = value;
  22548.                 }else{
  22549.                     throw new CoreException("Non impostata");
  22550.                 }

  22551.             }catch(java.lang.Exception e) {
  22552.                 String msg = "Proprieta' di openspcoop 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.jsonHeader' non impostata, errore:"+e.getMessage();
  22553.                 this.logError(msg,e);
  22554.                 throw new CoreException(msg);
  22555.             }
  22556.         }

  22557.         return this.getGestioneTokenHeaderTrasportoJSON;
  22558.     }
  22559.    
  22560.     private String getGestioneTokenHeaderTrasportoJWT = null;
  22561.     public String getGestioneTokenHeaderTrasportoJWT() throws CoreException{

  22562.         if(this.getGestioneTokenHeaderTrasportoJWT==null){
  22563.             try{  
  22564.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.gestioneToken.forward.trasporto.jwsHeader");

  22565.                 if (value != null){
  22566.                     value = value.trim();
  22567.                     this.getGestioneTokenHeaderTrasportoJWT = value;
  22568.                 }else{
  22569.                     throw new CoreException("Non impostata");
  22570.                 }

  22571.             }catch(java.lang.Exception e) {
  22572.                 String msg = "Proprieta' di openspcoop 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.jwsHeader' non impostata, errore:"+e.getMessage();
  22573.                 this.logError(msg,e);
  22574.                 throw new CoreException(msg);
  22575.             }
  22576.         }

  22577.         return this.getGestioneTokenHeaderTrasportoJWT;
  22578.     }

  22579.     /**
  22580.      * Restituisce le proprieta' che identificano gli header di integrazione in caso di 'trasporto'
  22581.      *
  22582.      * @return Restituisce le proprieta' che identificano gli header di integrazione in caso di 'trasporto'
  22583.      *  
  22584.      */
  22585.     private Map<String, String> keyValueGestioneTokenHeaderIntegrazioneTrasporto = null;
  22586.     public Map<String, String> getKeyValueGestioneTokenHeaderIntegrazioneTrasporto() {  
  22587.         if(this.keyValueGestioneTokenHeaderIntegrazioneTrasporto==null){

  22588.             try{

  22589.                 this.keyValueGestioneTokenHeaderIntegrazioneTrasporto = this.reader.readPropertiesAsHashMapConvertEnvProperties("org.openspcoop2.pdd.gestioneToken.forward.trasporto.keyword.");
  22590.                
  22591.             }catch(java.lang.Exception e) {
  22592.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.keyword.*': "+e.getMessage(),e);
  22593.                 this.keyValueGestioneTokenHeaderIntegrazioneTrasporto = null;
  22594.             }    
  22595.         }

  22596.         return this.keyValueGestioneTokenHeaderIntegrazioneTrasporto;
  22597.     }
  22598.    
  22599.     private Map<String, Boolean> keyValueGestioneTokenHeaderIntegrazioneTrasportoSetPD = null;
  22600.     public Map<String, Boolean> getKeyPDSetEnabledGestioneTokenHeaderIntegrazioneTrasporto() throws CoreException {
  22601.         if(this.keyValueGestioneTokenHeaderIntegrazioneTrasportoSetPD==null){

  22602.             java.util.Properties prop = new java.util.Properties();
  22603.             try{

  22604.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.gestioneToken.forward.trasporto.pd.set.enabled.");
  22605.                 this.keyValueGestioneTokenHeaderIntegrazioneTrasportoSetPD = new HashMap<>();
  22606.                 Iterator<?> it = prop.keySet().iterator();
  22607.                 while (it.hasNext()) {
  22608.                     Object object = it.next();
  22609.                     if(object instanceof String) {
  22610.                         String key = (String) object;
  22611.                         String value = prop.getProperty(key);
  22612.                         processKeyPDSetEnabledGestioneTokenHeaderIntegrazioneTrasporto(key, value);
  22613.                     }
  22614.                 }
  22615.                
  22616.             }catch(java.lang.Exception e) {
  22617.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.pd.set.enabled.*': "+e.getMessage(),e);
  22618.                 throw new CoreException(e.getMessage(),e);
  22619.             }    
  22620.         }

  22621.         return this.keyValueGestioneTokenHeaderIntegrazioneTrasportoSetPD;
  22622.     }
  22623.     private void processKeyPDSetEnabledGestioneTokenHeaderIntegrazioneTrasporto(String key, String value) throws CoreException {
  22624.         try {
  22625.             boolean b = Boolean.parseBoolean(value);
  22626.             this.keyValueGestioneTokenHeaderIntegrazioneTrasportoSetPD.put(key, b);
  22627.         }catch(Exception e) {
  22628.             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);
  22629.         }
  22630.     }

  22631.    
  22632.     private Map<String, Boolean> keyValueGestioneTokenHeaderIntegrazioneTrasportoSetPA = null;
  22633.     public Map<String, Boolean> getKeyPASetEnabledGestioneTokenHeaderIntegrazioneTrasporto() throws CoreException {
  22634.         if(this.keyValueGestioneTokenHeaderIntegrazioneTrasportoSetPA==null){

  22635.             java.util.Properties prop = new java.util.Properties();
  22636.             try{

  22637.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.gestioneToken.forward.trasporto.pa.set.enabled.");
  22638.                 this.keyValueGestioneTokenHeaderIntegrazioneTrasportoSetPA = new HashMap<>();
  22639.                 Iterator<?> it = prop.keySet().iterator();
  22640.                 while (it.hasNext()) {
  22641.                     Object object = it.next();
  22642.                     if(object instanceof String) {
  22643.                         String key = (String) object;
  22644.                         String value = prop.getProperty(key);
  22645.                         processKeyPASetEnabledGestioneTokenHeaderIntegrazioneTrasporto(key, value);
  22646.                     }
  22647.                 }
  22648.                
  22649.             }catch(java.lang.Exception e) {
  22650.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.pa.set.enabled.*': "+e.getMessage(),e);
  22651.                 throw new CoreException(e.getMessage(),e);
  22652.             }    
  22653.         }

  22654.         return this.keyValueGestioneTokenHeaderIntegrazioneTrasportoSetPA;
  22655.     }
  22656.     private void processKeyPASetEnabledGestioneTokenHeaderIntegrazioneTrasporto(String key, String value) throws CoreException {
  22657.         try {
  22658.             boolean b = Boolean.parseBoolean(value);
  22659.             this.keyValueGestioneTokenHeaderIntegrazioneTrasportoSetPA.put(key, b);
  22660.         }catch(Exception e) {
  22661.             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);
  22662.         }
  22663.     }
  22664.    
  22665.     private Map<String, Boolean> keyValueGestioneTokenHeaderIntegrazioneJsonSetPD = null;
  22666.     public Map<String, Boolean> getKeyPDSetEnabledGestioneTokenHeaderIntegrazioneJson() throws CoreException {  
  22667.         if(this.keyValueGestioneTokenHeaderIntegrazioneJsonSetPD==null){

  22668.             java.util.Properties prop = new java.util.Properties();
  22669.             try{

  22670.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.gestioneToken.forward.json.pd.set.enabled.");
  22671.                 this.keyValueGestioneTokenHeaderIntegrazioneJsonSetPD = new HashMap<>();
  22672.                 Iterator<?> it = prop.keySet().iterator();
  22673.                 while (it.hasNext()) {
  22674.                     Object object = it.next();
  22675.                     if(object instanceof String) {
  22676.                         String key = (String) object;
  22677.                         String value = prop.getProperty(key);
  22678.                         processKeyPDSetEnabledGestioneTokenHeaderIntegrazioneJson(key, value);
  22679.                     }
  22680.                 }
  22681.                
  22682.             }catch(java.lang.Exception e) {
  22683.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.gestioneToken.forward.json.pd.set.enabled.*': "+e.getMessage(),e);
  22684.                 throw new CoreException(e.getMessage(),e);
  22685.             }    
  22686.         }

  22687.         return this.keyValueGestioneTokenHeaderIntegrazioneJsonSetPD;
  22688.     }
  22689.     private void processKeyPDSetEnabledGestioneTokenHeaderIntegrazioneJson(String key, String value) throws CoreException {
  22690.         try {
  22691.             boolean b = Boolean.parseBoolean(value);
  22692.             this.keyValueGestioneTokenHeaderIntegrazioneJsonSetPD.put(key, b);
  22693.         }catch(Exception e) {
  22694.             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);
  22695.         }
  22696.     }

  22697.    
  22698.     private Map<String, Boolean> keyValueGestioneTokenHeaderIntegrazioneJsonSetPA = null;
  22699.     public Map<String, Boolean> getKeyPASetEnabledGestioneTokenHeaderIntegrazioneJson() throws CoreException {  
  22700.         if(this.keyValueGestioneTokenHeaderIntegrazioneJsonSetPA==null){

  22701.             java.util.Properties prop = new java.util.Properties();
  22702.             try{

  22703.                 prop = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.gestioneToken.forward.json.pa.set.enabled.");
  22704.                 this.keyValueGestioneTokenHeaderIntegrazioneJsonSetPA = new HashMap<>();
  22705.                 Iterator<?> it = prop.keySet().iterator();
  22706.                 while (it.hasNext()) {
  22707.                     Object object = it.next();
  22708.                     if(object instanceof String) {
  22709.                         String key = (String) object;
  22710.                         String value = prop.getProperty(key);
  22711.                         processKeyPASetEnabledGestioneTokenHeaderIntegrazioneJson(key, value);
  22712.                     }
  22713.                 }
  22714.                
  22715.             }catch(java.lang.Exception e) {
  22716.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.gestioneToken.forward.json.pa.set.enabled.*': "+e.getMessage(),e);
  22717.                 throw new CoreException(e.getMessage(),e);
  22718.             }    
  22719.         }

  22720.         return this.keyValueGestioneTokenHeaderIntegrazioneJsonSetPA;
  22721.     }
  22722.     private void processKeyPASetEnabledGestioneTokenHeaderIntegrazioneJson(String key, String value) throws CoreException {
  22723.         try {
  22724.             boolean b = Boolean.parseBoolean(value);
  22725.             this.keyValueGestioneTokenHeaderIntegrazioneJsonSetPA.put(key, b);
  22726.         }catch(Exception e) {
  22727.             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);
  22728.         }
  22729.     }
  22730.    
  22731.     private static final String PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX = "org.openspcoop2.pdd.gestioneToken.forward.custom.";
  22732.    
  22733.     private List<String> getCustomClaimsKeysGestioneTokenForward = null;
  22734.     public List<String> getCustomClaimsKeysGestioneTokenForward() throws CoreException {    
  22735.         if(this.getCustomClaimsKeysGestioneTokenForward==null){

  22736.             java.util.Properties prop = new java.util.Properties();
  22737.             try{

  22738.                 this.getCustomClaimsKeysGestioneTokenForward= new ArrayList<>();
  22739.                 prop = this.reader.readPropertiesConvertEnvProperties(PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX);
  22740.                 if(prop!=null && !prop.isEmpty()) {
  22741.                     Enumeration<?> en = prop.keys();
  22742.                     while (en.hasMoreElements()) {
  22743.                         String key = (String) en.nextElement();
  22744.                         processCustomClaimsKeysGestioneTokenForward(key);
  22745.                     }
  22746.                 }
  22747.                
  22748.             }catch(java.lang.Exception e) {
  22749.                 this.logError("Riscontrato errore durante la lettura delle proprieta' 'org.openspcoop2.pdd.gestioneToken.forward.custom.CLAIM_NAME.name': "+e.getMessage(),e);
  22750.                 throw new CoreException(e.getMessage(),e);
  22751.             }    
  22752.         }

  22753.         return this.getCustomClaimsKeysGestioneTokenForward;
  22754.     }
  22755.     private void processCustomClaimsKeysGestioneTokenForward(String key) {
  22756.         if(key.contains(".")) {
  22757.             String keySub = key.substring(key.indexOf(".")+1);
  22758.             if("name".equals(keySub)) {
  22759.                 String tmp = key.substring(0, key.indexOf("."));
  22760.                 if(tmp!=null) {
  22761.                     this.getCustomClaimsKeysGestioneTokenForward.add(tmp.trim());
  22762.                 }
  22763.             }
  22764.         }
  22765.     }
  22766.    
  22767.     private Character gestioneTokenHeaderIntegrazioneTrasportoAudienceSeparator = null;
  22768.     public Character getGestioneTokenHeaderIntegrazioneTrasportoAudienceSeparator(){

  22769.         if(this.gestioneTokenHeaderIntegrazioneTrasportoAudienceSeparator==null){
  22770.             try{  
  22771.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.gestioneToken.forward.trasporto.audience.separator");

  22772.                 if (value != null){
  22773.                     value = value.trim();
  22774.                     if(value.length()<1 || value.length()>1) {
  22775.                         throw new CoreException(ATTESO_UN_CARATTERE_TROVATI+value.length());
  22776.                     }
  22777.                     this.gestioneTokenHeaderIntegrazioneTrasportoAudienceSeparator = value.charAt(0);
  22778.                 }else{
  22779.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.audience.separator' non impostata, viene utilizzato il default=,");
  22780.                     this.gestioneTokenHeaderIntegrazioneTrasportoAudienceSeparator = ',';
  22781.                 }

  22782.             }catch(java.lang.Exception e) {
  22783.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.audience.separator' non impostata, viene utilizzato il default=, ; errore:"+e.getMessage(),e);
  22784.                 this.gestioneTokenHeaderIntegrazioneTrasportoAudienceSeparator = ',';
  22785.             }
  22786.         }

  22787.         return this.gestioneTokenHeaderIntegrazioneTrasportoAudienceSeparator;
  22788.     }
  22789.    
  22790.     private Character gestioneTokenHeaderIntegrazioneTrasportoScopeSeparator = null;
  22791.     public Character getGestioneTokenHeaderIntegrazioneTrasportoScopeSeparator(){

  22792.         if(this.gestioneTokenHeaderIntegrazioneTrasportoScopeSeparator==null){
  22793.             try{  
  22794.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.gestioneToken.forward.trasporto.scopes.separator");

  22795.                 if (value != null){
  22796.                     value = value.trim();
  22797.                     if(value.length()<1 || value.length()>1) {
  22798.                         throw new CoreException(ATTESO_UN_CARATTERE_TROVATI+value.length());
  22799.                     }
  22800.                     this.gestioneTokenHeaderIntegrazioneTrasportoScopeSeparator = value.charAt(0);
  22801.                 }else{
  22802.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.scopes.separator' non impostata, viene utilizzato il default=,");
  22803.                     this.gestioneTokenHeaderIntegrazioneTrasportoScopeSeparator = ',';
  22804.                 }

  22805.             }catch(java.lang.Exception e) {
  22806.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.scopes.separator' non impostata, viene utilizzato il default=, ; errore:"+e.getMessage(),e);
  22807.                 this.gestioneTokenHeaderIntegrazioneTrasportoScopeSeparator = ',';
  22808.             }
  22809.         }

  22810.         return this.gestioneTokenHeaderIntegrazioneTrasportoScopeSeparator;
  22811.     }
  22812.    
  22813.     private Character gestioneTokenHeaderIntegrazioneTrasportoRoleSeparator = null;
  22814.     public Character getGestioneTokenHeaderIntegrazioneTrasportoRoleSeparator(){

  22815.         if(this.gestioneTokenHeaderIntegrazioneTrasportoRoleSeparator==null){
  22816.             try{  
  22817.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.gestioneToken.forward.trasporto.roles.separator");

  22818.                 if (value != null){
  22819.                     value = value.trim();
  22820.                     if(value.length()<1 || value.length()>1) {
  22821.                         throw new CoreException(ATTESO_UN_CARATTERE_TROVATI+value.length());
  22822.                     }
  22823.                     this.gestioneTokenHeaderIntegrazioneTrasportoRoleSeparator = value.charAt(0);
  22824.                 }else{
  22825.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.roles.separator' non impostata, viene utilizzato il default=,");
  22826.                     this.gestioneTokenHeaderIntegrazioneTrasportoRoleSeparator = ',';
  22827.                 }

  22828.             }catch(java.lang.Exception e) {
  22829.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.gestioneToken.forward.trasporto.roles.separator' non impostata, viene utilizzato il default=, ; errore:"+e.getMessage(),e);
  22830.                 this.gestioneTokenHeaderIntegrazioneTrasportoRoleSeparator = ',';
  22831.             }
  22832.         }

  22833.         return this.gestioneTokenHeaderIntegrazioneTrasportoRoleSeparator;
  22834.     }
  22835.    
  22836.     private Map<String, String> getCustomClaimsNameGestioneTokenHeaderIntegrazione = null;
  22837.     public String getCustomClaimsNameGestioneTokenHeaderIntegrazione(String claimName) throws CoreException {  
  22838.         if(this.getCustomClaimsNameGestioneTokenHeaderIntegrazione==null){

  22839.             java.util.Properties prop = new java.util.Properties();
  22840.             try{

  22841.                 this.getCustomClaimsNameGestioneTokenHeaderIntegrazione = new HashMap<>();
  22842.                 prop = this.reader.readPropertiesConvertEnvProperties(PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX);
  22843.                 if(prop!=null && !prop.isEmpty()) {
  22844.                     Enumeration<?> en = prop.keys();
  22845.                     while (en.hasMoreElements()) {
  22846.                         String key = (String) en.nextElement();
  22847.                         processCustomClaimsNameGestioneTokenHeaderIntegrazioneEngine(key, prop);
  22848.                     }
  22849.                 }
  22850.                
  22851.             }catch(java.lang.Exception e) {
  22852.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX+claimName+".trasporto.name': "+e.getMessage(),e);
  22853.                 throw new CoreException(e.getMessage(),e);
  22854.             }    
  22855.         }

  22856.         return this.getCustomClaimsNameGestioneTokenHeaderIntegrazione.get(claimName);
  22857.     }
  22858.     private void processCustomClaimsNameGestioneTokenHeaderIntegrazioneEngine(String key, java.util.Properties prop) throws CoreException {
  22859.         if(key.contains(".")) {
  22860.             String keySub = key.substring(key.indexOf(".")+1);
  22861.             if("name".equals(keySub)) {
  22862.                 String tmp = prop.getProperty(key);
  22863.                 if(tmp!=null) {
  22864.                     String claimNameTmp = key.substring(0, key.indexOf("."));
  22865.                     this.getCustomClaimsNameGestioneTokenHeaderIntegrazione.put(claimNameTmp, tmp.trim());
  22866.                 }
  22867.                 else {
  22868.                     throw new CoreException(PROPRIETA_NON_DEFINITA);
  22869.                 }
  22870.             }
  22871.         }
  22872.     }
  22873.    
  22874.     private Map<String, String> getCustomClaimsHeaderNameGestioneTokenHeaderIntegrazioneTrasporto = null;
  22875.     public String getCustomClaimsHeaderNameGestioneTokenHeaderIntegrazioneTrasporto(String claimName) throws CoreException {    
  22876.         if(this.getCustomClaimsHeaderNameGestioneTokenHeaderIntegrazioneTrasporto==null){

  22877.             java.util.Properties prop = new java.util.Properties();
  22878.             try{

  22879.                 this.getCustomClaimsHeaderNameGestioneTokenHeaderIntegrazioneTrasporto = new HashMap<>();
  22880.                 prop = this.reader.readPropertiesConvertEnvProperties(PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX);
  22881.                 if(prop!=null && !prop.isEmpty()) {
  22882.                     Enumeration<?> en = prop.keys();
  22883.                     while (en.hasMoreElements()) {
  22884.                         String key = (String) en.nextElement();
  22885.                         processCustomClaimsHeaderNameGestioneTokenHeaderIntegrazioneTrasporto(key, prop);
  22886.                     }
  22887.                 }
  22888.                
  22889.             }catch(java.lang.Exception e) {
  22890.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX+claimName+".trasporto.name': "+e.getMessage(),e);
  22891.                 throw new CoreException(e.getMessage(),e);
  22892.             }    
  22893.         }

  22894.         return this.getCustomClaimsHeaderNameGestioneTokenHeaderIntegrazioneTrasporto.get(claimName);
  22895.     }
  22896.     private void processCustomClaimsHeaderNameGestioneTokenHeaderIntegrazioneTrasporto(String key, java.util.Properties prop) throws CoreException {    
  22897.         if(key.contains(".")) {
  22898.             String keySub = key.substring(key.indexOf(".")+1);
  22899.             if("trasporto.name".equals(keySub)) {
  22900.                 String tmp = prop.getProperty(key);
  22901.                 if(tmp!=null) {
  22902.                     String claimNameTmp = key.substring(0, key.indexOf("."));
  22903.                     this.getCustomClaimsHeaderNameGestioneTokenHeaderIntegrazioneTrasporto.put(claimNameTmp, tmp.trim());
  22904.                 }
  22905.                 else {
  22906.                     throw new CoreException(PROPRIETA_NON_DEFINITA);
  22907.                 }
  22908.             }
  22909.         }
  22910.     }
  22911.    
  22912.     private Map<String, Boolean> getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneTrasportoSetPD = null;
  22913.     public Boolean getCustomClaimsKeyPDSetEnabledGestioneTokenHeaderIntegrazioneTrasporto(String claimName) throws CoreException {  
  22914.         if(this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneTrasportoSetPD==null){

  22915.             java.util.Properties prop = new java.util.Properties();
  22916.             try{

  22917.                 this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneTrasportoSetPD = new HashMap<>();
  22918.                 prop = this.reader.readPropertiesConvertEnvProperties(PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX);
  22919.                 if(prop!=null && !prop.isEmpty()) {
  22920.                     Enumeration<?> en = prop.keys();
  22921.                     while (en.hasMoreElements()) {
  22922.                         String key = (String) en.nextElement();
  22923.                         processCustomClaimsKeyPDSetEnabledGestioneTokenHeaderIntegrazioneTrasporto(key, prop);
  22924.                     }
  22925.                 }
  22926.                
  22927.             }catch(java.lang.Exception e) {
  22928.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX+claimName+".trasporto.pd.set.enabled': "+e.getMessage(),e);
  22929.                 throw new CoreException(e.getMessage(),e);
  22930.             }    
  22931.         }

  22932.         return this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneTrasportoSetPD.get(claimName);
  22933.     }
  22934.     private void processCustomClaimsKeyPDSetEnabledGestioneTokenHeaderIntegrazioneTrasporto(String key, java.util.Properties prop) throws CoreException {  
  22935.         if(key.contains(".")) {
  22936.             String keySub = key.substring(key.indexOf(".")+1);
  22937.             if("trasporto.pd.set.enabled".equals(keySub)) {
  22938.                 String tmp = prop.getProperty(key);
  22939.                 if(tmp!=null) {
  22940.                     try {
  22941.                         boolean b = Boolean.parseBoolean(tmp.trim());
  22942.                         String claimNameTmp = key.substring(0, key.indexOf("."));
  22943.                         this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneTrasportoSetPD.put(claimNameTmp, b);
  22944.                     }catch(Exception e) {
  22945.                         throw new CoreException("Rilevato errore durante il parsing della property '"+PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX+key+"' (atteso: true/false): "+e.getMessage(),e);
  22946.                     }
  22947.                 }
  22948.                 else {
  22949.                     throw new CoreException(PROPRIETA_NON_DEFINITA);
  22950.                 }
  22951.             }
  22952.         }
  22953.     }

  22954.    
  22955.     private Map<String, Boolean> getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneTrasportoSetPA = null;
  22956.     public Boolean getCustomClaimsKeyPASetEnabledGestioneTokenHeaderIntegrazioneTrasporto(String claimName) throws CoreException {  
  22957.         if(this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneTrasportoSetPA==null){

  22958.             java.util.Properties prop = new java.util.Properties();
  22959.             try{

  22960.                 this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneTrasportoSetPA = new HashMap<>();
  22961.                 prop = this.reader.readPropertiesConvertEnvProperties(PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX);
  22962.                 if(prop!=null && !prop.isEmpty()) {
  22963.                     Enumeration<?> en = prop.keys();
  22964.                     while (en.hasMoreElements()) {
  22965.                         String key = (String) en.nextElement();
  22966.                         processCustomClaimsKeyPASetEnabledGestioneTokenHeaderIntegrazioneTrasporto(key, prop);
  22967.                     }
  22968.                 }
  22969.                
  22970.             }catch(java.lang.Exception e) {
  22971.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX+claimName+".trasporto.pa.set.enabled': "+e.getMessage(),e);
  22972.                 throw new CoreException(e.getMessage(),e);
  22973.             }    
  22974.         }

  22975.         return this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneTrasportoSetPA.get(claimName);
  22976.     }
  22977.     private void processCustomClaimsKeyPASetEnabledGestioneTokenHeaderIntegrazioneTrasporto(String key, java.util.Properties prop) throws CoreException {  
  22978.         if(key.contains(".")) {
  22979.             String keySub = key.substring(key.indexOf(".")+1);
  22980.             if("trasporto.pa.set.enabled".equals(keySub)) {
  22981.                 String tmp = prop.getProperty(key);
  22982.                 if(tmp!=null) {
  22983.                     try {
  22984.                         boolean b = Boolean.parseBoolean(tmp.trim());
  22985.                         String claimNameTmp = key.substring(0, key.indexOf("."));
  22986.                         this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneTrasportoSetPA.put(claimNameTmp, b);
  22987.                     }catch(Exception e) {
  22988.                         throw new CoreException("Rilevato errore durante il parsing della property '"+PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX+key+"' (atteso: true/false): "+e.getMessage(),e);
  22989.                     }
  22990.                 }
  22991.                 else {
  22992.                     throw new CoreException(PROPRIETA_NON_DEFINITA);
  22993.                 }
  22994.             }
  22995.         }
  22996.     }
  22997.    
  22998.     private Map<String, String> getCustomClaimsJsonPropertyNameGestioneTokenHeaderIntegrazioneJson = null;
  22999.     public String getCustomClaimsJsonPropertyNameGestioneTokenHeaderIntegrazioneJson(String claimName) throws CoreException {  
  23000.         if(this.getCustomClaimsJsonPropertyNameGestioneTokenHeaderIntegrazioneJson==null){

  23001.             java.util.Properties prop = new java.util.Properties();
  23002.             try{

  23003.                 this.getCustomClaimsJsonPropertyNameGestioneTokenHeaderIntegrazioneJson = new HashMap<>();
  23004.                 prop = this.reader.readPropertiesConvertEnvProperties(PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX);
  23005.                 if(prop!=null && !prop.isEmpty()) {
  23006.                     Enumeration<?> en = prop.keys();
  23007.                     while (en.hasMoreElements()) {
  23008.                         String key = (String) en.nextElement();
  23009.                         processCustomClaimsJsonPropertyNameGestioneTokenHeaderIntegrazioneJson(key, prop);
  23010.                     }
  23011.                 }
  23012.                
  23013.             }catch(java.lang.Exception e) {
  23014.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX+claimName+".json.name': "+e.getMessage(),e);
  23015.                 throw new CoreException(e.getMessage(),e);
  23016.             }    
  23017.         }

  23018.         return this.getCustomClaimsJsonPropertyNameGestioneTokenHeaderIntegrazioneJson.get(claimName);
  23019.     }
  23020.     private void processCustomClaimsJsonPropertyNameGestioneTokenHeaderIntegrazioneJson(String key, java.util.Properties prop) throws CoreException {  
  23021.         if(key.contains(".")) {
  23022.             String keySub = key.substring(key.indexOf(".")+1);
  23023.             if("json.name".equals(keySub)) {
  23024.                 String tmp = prop.getProperty(key);
  23025.                 if(tmp!=null) {
  23026.                     String claimNameTmp = key.substring(0, key.indexOf("."));
  23027.                     this.getCustomClaimsJsonPropertyNameGestioneTokenHeaderIntegrazioneJson.put(claimNameTmp, tmp.trim());
  23028.                 }
  23029.                 else {
  23030.                     throw new CoreException(PROPRIETA_NON_DEFINITA);
  23031.                 }
  23032.             }
  23033.         }
  23034.     }
  23035.    
  23036.     private Map<String, Boolean> getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneJsonSetPD = null;
  23037.     public Boolean getCustomClaimsKeyPDSetEnabledGestioneTokenHeaderIntegrazioneJson(String claimName) throws CoreException {  
  23038.         if(this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneJsonSetPD==null){

  23039.             java.util.Properties prop = new java.util.Properties();
  23040.             try{

  23041.                 this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneJsonSetPD = new HashMap<>();
  23042.                 prop = this.reader.readPropertiesConvertEnvProperties(PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX);
  23043.                 if(prop!=null && !prop.isEmpty()) {
  23044.                     Enumeration<?> en = prop.keys();
  23045.                     while (en.hasMoreElements()) {
  23046.                         String key = (String) en.nextElement();
  23047.                         processCustomClaimsKeyPDSetEnabledGestioneTokenHeaderIntegrazioneJson(key, prop);
  23048.                     }
  23049.                 }
  23050.                
  23051.             }catch(java.lang.Exception e) {
  23052.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX+claimName+".json.pd.set.enabled': "+e.getMessage(),e);
  23053.                 throw new CoreException(e.getMessage(),e);
  23054.             }    
  23055.         }

  23056.         return this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneJsonSetPD.get(claimName);
  23057.     }
  23058.     private void processCustomClaimsKeyPDSetEnabledGestioneTokenHeaderIntegrazioneJson(String key, java.util.Properties prop) throws CoreException {    
  23059.         if(key.contains(".")) {
  23060.             String keySub = key.substring(key.indexOf(".")+1);
  23061.             if("json.pd.set.enabled".equals(keySub)) {
  23062.                 String tmp = prop.getProperty(key);
  23063.                 if(tmp!=null) {
  23064.                     try {
  23065.                         boolean b = Boolean.parseBoolean(tmp.trim());
  23066.                         String claimNameTmp = key.substring(0, key.indexOf("."));
  23067.                         this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneJsonSetPD.put(claimNameTmp, b);
  23068.                     }catch(Exception e) {
  23069.                         throw new CoreException("Rilevato errore durante il parsing della property '"+PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX+key+"' (atteso: true/false): "+e.getMessage(),e);
  23070.                     }
  23071.                 }
  23072.                 else {
  23073.                     throw new CoreException(PROPRIETA_NON_DEFINITA);
  23074.                 }
  23075.             }
  23076.         }
  23077.     }

  23078.    
  23079.     private Map<String, Boolean> getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneJsonSetPA = null;
  23080.     public Boolean getCustomClaimsKeyPASetEnabledGestioneTokenHeaderIntegrazioneJson(String claimName) throws CoreException {  
  23081.         if(this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneJsonSetPA==null){

  23082.             java.util.Properties prop = new java.util.Properties();
  23083.             try{

  23084.                 this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneJsonSetPA = new HashMap<>();
  23085.                 prop = this.reader.readPropertiesConvertEnvProperties(PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX);
  23086.                 if(prop!=null && !prop.isEmpty()) {
  23087.                     Enumeration<?> en = prop.keys();
  23088.                     while (en.hasMoreElements()) {
  23089.                         String key = (String) en.nextElement();
  23090.                         processCustomClaimsKeyPASetEnabledGestioneTokenHeaderIntegrazioneJson(key, prop);
  23091.                     }
  23092.                 }
  23093.                
  23094.             }catch(java.lang.Exception e) {
  23095.                 this.logError("Riscontrato errore durante la lettura delle proprieta' '"+PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX+claimName+".json.pa.set.enabled': "+e.getMessage(),e);
  23096.                 throw new CoreException(e.getMessage(),e);
  23097.             }    
  23098.         }

  23099.         return this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneJsonSetPA.get(claimName);
  23100.     }
  23101.     private void processCustomClaimsKeyPASetEnabledGestioneTokenHeaderIntegrazioneJson(String key, java.util.Properties prop) throws CoreException {    
  23102.         if(key.contains(".")) {
  23103.             String keySub = key.substring(key.indexOf(".")+1);
  23104.             if("json.pa.set.enabled".equals(keySub)) {
  23105.                 String tmp = prop.getProperty(key);
  23106.                 if(tmp!=null) {
  23107.                     try {
  23108.                         boolean b = Boolean.parseBoolean(tmp.trim());
  23109.                         String claimNameTmp = key.substring(0, key.indexOf("."));
  23110.                         this.getCustomClaimsKeyValueGestioneTokenHeaderIntegrazioneJsonSetPA.put(claimNameTmp, b);
  23111.                     }catch(Exception e) {
  23112.                         throw new CoreException("Rilevato errore durante il parsing della property '"+PDD_GESTIONE_TOKEN_FORWARD_CUSTOM_PREFIX+key+"' (atteso: true/false): "+e.getMessage(),e);
  23113.                     }
  23114.                 }
  23115.                 else {
  23116.                     throw new CoreException(PROPRIETA_NON_DEFINITA);
  23117.                 }
  23118.             }
  23119.         }
  23120.     }
  23121.    
  23122.    
  23123.    
  23124.     /* ------------- Gestione Retrieve Token ---------------------*/
  23125.    
  23126.     private Boolean isGestioneRetrieveTokenDebug = null;
  23127.     private Boolean isGestioneRetrieveTokenDebugRead = null;
  23128.     public Boolean getGestioneRetrieveTokenDebug(){

  23129.         String pName = "org.openspcoop2.pdd.retrieveToken.debug";
  23130.         if(this.isGestioneRetrieveTokenDebugRead==null){
  23131.             try{  
  23132.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23133.                 if (value != null){
  23134.                     value = value.trim();
  23135.                     this.isGestioneRetrieveTokenDebug = Boolean.parseBoolean(value);
  23136.                 }
  23137.                
  23138.                 this.isGestioneRetrieveTokenDebugRead=true;

  23139.             }catch(java.lang.Exception e) {
  23140.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostata, viene utilizzato il default='Utilizzo dell'impostazione del connettore', errore:"+e.getMessage(),e);
  23141.                 this.isGestioneRetrieveTokenDebug = false;
  23142.             }
  23143.         }

  23144.         return this.isGestioneRetrieveTokenDebug;
  23145.     }
  23146.    
  23147.     private Boolean getGestioneRetrieveTokenLockPermitsRead = null;
  23148.     private Integer getGestioneRetrieveTokenLockPermits = null;
  23149.     public Integer getGestioneRetrieveTokenLockPermits() {

  23150.         String pName = "org.openspcoop2.pdd.retrieveToken.lock.permits";
  23151.         if(this.getGestioneRetrieveTokenLockPermitsRead==null){
  23152.             try{  
  23153.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23154.                 if (value != null){
  23155.                     value = value.trim();
  23156.                     int permits = Integer.parseInt(value);
  23157.                     if(permits>1) {
  23158.                         // altrimenti è un normale semaphore binario
  23159.                         this.getGestioneRetrieveTokenLockPermits = permits;
  23160.                     }
  23161.                 }
  23162.                
  23163.                
  23164.             }catch(java.lang.Exception e) {
  23165.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  23166.             }
  23167.            
  23168.             this.getGestioneRetrieveTokenLockPermitsRead = true;
  23169.         }

  23170.         return this.getGestioneRetrieveTokenLockPermits;
  23171.     }
  23172.    
  23173.     private Integer isGestioneRetrieveTokenRefreshTokenBeforeExpirePercent = null;
  23174.     private Boolean isGestioneRetrieveTokenRefreshTokenBeforeExpirePercentRead = null;
  23175.     private String isGestioneRetrieveTokenRefreshTokenBeforeExpirePercentPName = "org.openspcoop2.pdd.retrieveToken.refreshTokenBeforeExpire.percent";
  23176.     public Integer getGestioneRetrieveTokenRefreshTokenBeforeExpirePercent(){

  23177.         if(this.isGestioneRetrieveTokenRefreshTokenBeforeExpirePercentRead==null){
  23178.             try{  
  23179.                 String value = this.reader.getValueConvertEnvProperties(this.isGestioneRetrieveTokenRefreshTokenBeforeExpirePercentPName);

  23180.                 if (value != null){
  23181.                     value = value.trim();
  23182.                     this.isGestioneRetrieveTokenRefreshTokenBeforeExpirePercent = Integer.parseInt(value);
  23183.                 }
  23184.                
  23185.                 this.isGestioneRetrieveTokenRefreshTokenBeforeExpirePercentRead=true;

  23186.             }catch(java.lang.Exception e) {
  23187.                 this.logError("Proprieta' di openspcoop '"+this.isGestioneRetrieveTokenRefreshTokenBeforeExpirePercentPName+"' non impostata, errore:"+e.getMessage(),e);
  23188.                 this.isGestioneRetrieveTokenRefreshTokenBeforeExpirePercent = null;
  23189.             }
  23190.         }

  23191.         return this.isGestioneRetrieveTokenRefreshTokenBeforeExpirePercent;
  23192.     }
  23193.    
  23194.     private Integer isGestioneRetrieveTokenRefreshTokenBeforeExpireSeconds = null;
  23195.     private Boolean isGestioneRetrieveTokenRefreshTokenBeforeExpireSecondsRead = null;
  23196.     private String isGestioneRetrieveTokenRefreshTokenBeforeExpireSecondsPName = "org.openspcoop2.pdd.retrieveToken.refreshTokenBeforeExpire.seconds";
  23197.     public Integer getGestioneRetrieveTokenRefreshTokenBeforeExpireSeconds(){

  23198.         if(this.isGestioneRetrieveTokenRefreshTokenBeforeExpireSecondsRead==null){
  23199.             try{  
  23200.                 String value = this.reader.getValueConvertEnvProperties(this.isGestioneRetrieveTokenRefreshTokenBeforeExpireSecondsPName);

  23201.                 if (value != null){
  23202.                     value = value.trim();
  23203.                     this.isGestioneRetrieveTokenRefreshTokenBeforeExpireSeconds = Integer.parseInt(value);
  23204.                 }
  23205.                
  23206.                 this.isGestioneRetrieveTokenRefreshTokenBeforeExpireSecondsRead=true;

  23207.             }catch(java.lang.Exception e) {
  23208.                 this.logError("Proprieta' di openspcoop '"+this.isGestioneRetrieveTokenRefreshTokenBeforeExpireSecondsPName+"' non impostata, errore:"+e.getMessage(),e);
  23209.                 this.isGestioneRetrieveTokenRefreshTokenBeforeExpireSeconds = null;
  23210.             }
  23211.         }

  23212.         return this.isGestioneRetrieveTokenRefreshTokenBeforeExpireSeconds;
  23213.     }
  23214.    
  23215.     private boolean validateGestioneRetrieveTokenRefreshTokenBeforeExpire() {
  23216.         Integer percent = getGestioneRetrieveTokenRefreshTokenBeforeExpirePercent();
  23217.         Integer seconds = getGestioneRetrieveTokenRefreshTokenBeforeExpireSeconds();
  23218.         boolean percentDefined = percent !=null && percent>0;
  23219.         boolean secondsDefined = seconds!=null && seconds>0;
  23220.         /**
  23221.          *Fix: lascio la possibilità di usare il token fino alla scadenza prossima se non vengono definite nessuna delle due proprietà
  23222.         if(!percentDefined && !secondsDefined) {
  23223.             this.logError("Almeno una proprietà tra le seguenti deve essere definita: '"+isGestioneRetrieveToken_refreshTokenBeforeExpire_percent_pName+"' o '"+isGestioneRetrieveToken_refreshTokenBeforeExpire_seconds_pName+"'");
  23224.             return false;
  23225.         }*/
  23226.         if(percentDefined && secondsDefined) {
  23227.             this.logError("Non è possibile definire contemporaneamente entrambe le seguenti proprietà: '"+this.isGestioneRetrieveTokenRefreshTokenBeforeExpirePercentPName+"' o '"+this.isGestioneRetrieveTokenRefreshTokenBeforeExpireSecondsPName+"'");
  23228.             return false;
  23229.         }
  23230.         return true;
  23231.     }
  23232.    
  23233.     private Boolean isGestioneRetrieveTokenRefreshTokenGrantTypeClientCredentials = null;
  23234.     public boolean isGestioneRetrieveTokenRefreshTokenGrantTypeClientCredentials(){

  23235.         String pName = "org.openspcoop2.pdd.retrieveToken.refreshToken.grantType.clientCredentials";
  23236.         if(this.isGestioneRetrieveTokenRefreshTokenGrantTypeClientCredentials==null){
  23237.             try{  
  23238.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23239.                 if (value != null){
  23240.                     value = value.trim();
  23241.                     this.isGestioneRetrieveTokenRefreshTokenGrantTypeClientCredentials = Boolean.parseBoolean(value);
  23242.                 }else{
  23243.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23244.                     this.isGestioneRetrieveTokenRefreshTokenGrantTypeClientCredentials = false;
  23245.                 }

  23246.             }catch(java.lang.Exception e) {
  23247.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23248.                 this.isGestioneRetrieveTokenRefreshTokenGrantTypeClientCredentials = false;
  23249.             }
  23250.         }

  23251.         return this.isGestioneRetrieveTokenRefreshTokenGrantTypeClientCredentials;
  23252.     }
  23253.    
  23254.     private Boolean isGestioneRetrieveTokenRefreshTokenGrantTypeUsernamePassword = null;
  23255.     public boolean isGestioneRetrieveTokenRefreshTokenGrantTypeUsernamePassword(){

  23256.         String pName = "org.openspcoop2.pdd.retrieveToken.refreshToken.grantType.usernamePassword";
  23257.         if(this.isGestioneRetrieveTokenRefreshTokenGrantTypeUsernamePassword==null){
  23258.             try{  
  23259.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23260.                 if (value != null){
  23261.                     value = value.trim();
  23262.                     this.isGestioneRetrieveTokenRefreshTokenGrantTypeUsernamePassword = Boolean.parseBoolean(value);
  23263.                 }else{
  23264.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23265.                     this.isGestioneRetrieveTokenRefreshTokenGrantTypeUsernamePassword = false;
  23266.                 }

  23267.             }catch(java.lang.Exception e) {
  23268.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23269.                 this.isGestioneRetrieveTokenRefreshTokenGrantTypeUsernamePassword = false;
  23270.             }
  23271.         }

  23272.         return this.isGestioneRetrieveTokenRefreshTokenGrantTypeUsernamePassword;
  23273.     }
  23274.    
  23275.     private Boolean isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523x509 = null;
  23276.     public boolean isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523x509(){

  23277.         String pName = "org.openspcoop2.pdd.retrieveToken.refreshToken.grantType.rfc7523_x509";
  23278.         if(this.isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523x509==null){
  23279.             try{  
  23280.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23281.                 if (value != null){
  23282.                     value = value.trim();
  23283.                     this.isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523x509 = Boolean.parseBoolean(value);
  23284.                 }else{
  23285.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23286.                     this.isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523x509 = false;
  23287.                 }

  23288.             }catch(java.lang.Exception e) {
  23289.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23290.                 this.isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523x509 = false;
  23291.             }
  23292.         }

  23293.         return this.isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523x509;
  23294.     }
  23295.    
  23296.     private Boolean isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523ClientSecret = null;
  23297.     public boolean isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523ClientSecret(){

  23298.         String pName = "org.openspcoop2.pdd.retrieveToken.refreshToken.grantType.rfc7523_clientSecret";
  23299.         if(this.isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523ClientSecret==null){
  23300.             try{  
  23301.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23302.                 if (value != null){
  23303.                     value = value.trim();
  23304.                     this.isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523ClientSecret = Boolean.parseBoolean(value);
  23305.                 }else{
  23306.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23307.                     this.isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523ClientSecret = false;
  23308.                 }

  23309.             }catch(java.lang.Exception e) {
  23310.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23311.                 this.isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523ClientSecret = false;
  23312.             }
  23313.         }

  23314.         return this.isGestioneRetrieveTokenRefreshTokenGrantTypeRfc7523ClientSecret;
  23315.     }
  23316.    
  23317.     private Boolean isGestioneRetrieveTokenRefreshTokenGrantTypeCustom = null;
  23318.     public boolean isGestioneRetrieveTokenRefreshTokenGrantTypeCustom(){

  23319.         String pName = "org.openspcoop2.pdd.retrieveToken.refreshToken.grantType.custom";
  23320.         if(this.isGestioneRetrieveTokenRefreshTokenGrantTypeCustom==null){
  23321.             try{  
  23322.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23323.                 if (value != null){
  23324.                     value = value.trim();
  23325.                     this.isGestioneRetrieveTokenRefreshTokenGrantTypeCustom = Boolean.parseBoolean(value);
  23326.                 }else{
  23327.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23328.                     this.isGestioneRetrieveTokenRefreshTokenGrantTypeCustom = false;
  23329.                 }

  23330.             }catch(java.lang.Exception e) {
  23331.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23332.                 this.isGestioneRetrieveTokenRefreshTokenGrantTypeCustom = false;
  23333.             }
  23334.         }

  23335.         return this.isGestioneRetrieveTokenRefreshTokenGrantTypeCustom;
  23336.     }
  23337.    
  23338.     private Boolean isGestioneRetrieveTokenSaveAsTokenInfo = null;
  23339.     public boolean isGestioneRetrieveTokenSaveAsTokenInfo(){

  23340.         String pName = "org.openspcoop2.pdd.retrieveToken.saveAsTokenInfo";
  23341.         if(this.isGestioneRetrieveTokenSaveAsTokenInfo==null){
  23342.             try{  
  23343.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23344.                 if (value != null){
  23345.                     value = value.trim();
  23346.                     this.isGestioneRetrieveTokenSaveAsTokenInfo = Boolean.parseBoolean(value);
  23347.                 }else{
  23348.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  23349.                     this.isGestioneRetrieveTokenSaveAsTokenInfo = true;
  23350.                 }

  23351.             }catch(java.lang.Exception e) {
  23352.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  23353.                 this.isGestioneRetrieveTokenSaveAsTokenInfo = true;
  23354.             }
  23355.         }

  23356.         return this.isGestioneRetrieveTokenSaveAsTokenInfo;
  23357.     }
  23358.    
  23359.     private Boolean isGestioneRetrieveTokenSaveAsTokenInfoExcludeJwtSignature = null;
  23360.     public boolean isGestioneRetrieveTokenSaveAsTokenInfoExcludeJwtSignature(){

  23361.         String pName = "org.openspcoop2.pdd.retrieveToken.saveAsTokenInfo.excludeJwtSignature";
  23362.         if(this.isGestioneRetrieveTokenSaveAsTokenInfoExcludeJwtSignature==null){
  23363.             try{  
  23364.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23365.                 if (value != null){
  23366.                     value = value.trim();
  23367.                     this.isGestioneRetrieveTokenSaveAsTokenInfoExcludeJwtSignature = Boolean.parseBoolean(value);
  23368.                 }else{
  23369.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  23370.                     this.isGestioneRetrieveTokenSaveAsTokenInfoExcludeJwtSignature = true;
  23371.                 }

  23372.             }catch(java.lang.Exception e) {
  23373.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  23374.                 this.isGestioneRetrieveTokenSaveAsTokenInfoExcludeJwtSignature = true;
  23375.             }
  23376.         }

  23377.         return this.isGestioneRetrieveTokenSaveAsTokenInfoExcludeJwtSignature;
  23378.     }
  23379.    
  23380.     private Boolean isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequest = null;
  23381.     public boolean isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequest(){

  23382.         String pName = "org.openspcoop2.pdd.retrieveToken.saveAsTokenInfo.saveSourceRequest";
  23383.         if(this.isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequest==null){
  23384.             try{  
  23385.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23386.                 if (value != null){
  23387.                     value = value.trim();
  23388.                     this.isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequest = Boolean.parseBoolean(value);
  23389.                 }else{
  23390.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  23391.                     this.isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequest = true;
  23392.                 }

  23393.             }catch(java.lang.Exception e) {
  23394.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  23395.                 this.isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequest = true;
  23396.             }
  23397.         }

  23398.         return this.isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequest;
  23399.     }
  23400.    
  23401.     private Boolean isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequestDate = null;
  23402.     public boolean isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequestDate(){

  23403.         String pName = "org.openspcoop2.pdd.retrieveToken.saveAsTokenInfo.saveSourceRequest.date";
  23404.         if(this.isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequestDate==null){
  23405.             try{  
  23406.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23407.                 if (value != null){
  23408.                     value = value.trim();
  23409.                     this.isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequestDate = Boolean.parseBoolean(value);
  23410.                 }else{
  23411.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  23412.                     this.isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequestDate = true;
  23413.                 }

  23414.             }catch(java.lang.Exception e) {
  23415.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  23416.                 this.isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequestDate = true;
  23417.             }
  23418.         }

  23419.         return this.isGestioneRetrieveTokenSaveAsTokenInfoSaveSourceRequestDate;
  23420.     }
  23421.    
  23422.     private Boolean isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoTransazioniRegistrazioneInformazioniNormalizzate = null;
  23423.     public boolean isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoTransazioniRegistrazioneInformazioniNormalizzate(){

  23424.         String pName = "org.openspcoop2.pdd.retrieveToken.grantType_rfc7523.saveClientAssertionJWTInfo.transazioniRegistrazioneInformazioniNormalizzate";
  23425.         if(this.isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoTransazioniRegistrazioneInformazioniNormalizzate==null){
  23426.             try{  
  23427.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23428.                 if (value != null){
  23429.                     value = value.trim();
  23430.                     this.isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoTransazioniRegistrazioneInformazioniNormalizzate = Boolean.parseBoolean(value);
  23431.                 }else{
  23432.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23433.                     this.isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoTransazioniRegistrazioneInformazioniNormalizzate = false;
  23434.                 }

  23435.             }catch(java.lang.Exception e) {
  23436.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23437.                 this.isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoTransazioniRegistrazioneInformazioniNormalizzate = false;
  23438.             }
  23439.         }

  23440.         return this.isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoTransazioniRegistrazioneInformazioniNormalizzate;
  23441.     }
  23442.    
  23443.     private Boolean isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoExcludeJwtSignature = null;
  23444.     public boolean isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoExcludeJwtSignature(){

  23445.         String pName = "org.openspcoop2.pdd.retrieveToken.grantType_rfc7523.saveClientAssertionJWTInfo.excludeJwtSignature";
  23446.         if(this.isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoExcludeJwtSignature==null){
  23447.             try{  
  23448.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23449.                 if (value != null){
  23450.                     value = value.trim();
  23451.                     this.isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoExcludeJwtSignature = Boolean.parseBoolean(value);
  23452.                 }else{
  23453.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  23454.                     this.isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoExcludeJwtSignature = true;
  23455.                 }

  23456.             }catch(java.lang.Exception e) {
  23457.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  23458.                 this.isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoExcludeJwtSignature = true;
  23459.             }
  23460.         }

  23461.         return this.isGestioneRetrieveTokenGrantTypeRfc7523SaveClientAssertionJWTInfoExcludeJwtSignature;
  23462.     }
  23463.    
  23464.     private Boolean isGestioneRetrieveTokenSaveTokenInfoRetrieveFailed = null;
  23465.     public boolean isGestioneRetrieveTokenSaveTokenInfoRetrieveFailed(){

  23466.         String pName = "org.openspcoop2.pdd.retrieveToken.saveTokenInfo.retrieveFailed";
  23467.         if(this.isGestioneRetrieveTokenSaveTokenInfoRetrieveFailed==null){
  23468.             try{  
  23469.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23470.                 if (value != null){
  23471.                     value = value.trim();
  23472.                     this.isGestioneRetrieveTokenSaveTokenInfoRetrieveFailed = Boolean.parseBoolean(value);
  23473.                 }else{
  23474.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23475.                     this.isGestioneRetrieveTokenSaveTokenInfoRetrieveFailed = false;
  23476.                 }

  23477.             }catch(java.lang.Exception e) {
  23478.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23479.                 this.isGestioneRetrieveTokenSaveTokenInfoRetrieveFailed = false;
  23480.             }
  23481.         }

  23482.         return this.isGestioneRetrieveTokenSaveTokenInfoRetrieveFailed;
  23483.     }

  23484.     private Map<String, Boolean> gestioneRetrieveTokenCacheKey = null;
  23485.     private void initGestioneRetrieveTokenCacheKey() throws CoreException {
  23486.         Properties p = null;
  23487.         try {
  23488.             p = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.retrieveToken.cacheKey.");
  23489.         }catch(Exception e) {
  23490.             throw new CoreException(e.getMessage(),e);
  23491.         }
  23492.         if(p!=null) {
  23493.             this.gestioneRetrieveTokenCacheKey = new HashMap<>();
  23494.             for (Object oKey : p.keySet()) {
  23495.                 if(oKey instanceof String) {
  23496.                     String key = (String) oKey;
  23497.                     String v = p.getProperty(key);
  23498.                     if(v!=null) {
  23499.                         boolean b = Boolean.parseBoolean(v.trim());
  23500.                         this.gestioneRetrieveTokenCacheKey.put(key,b);
  23501.                     }
  23502.                 }
  23503.             }
  23504.         }
  23505.     }
  23506.     public boolean isGestioneRetrieveTokenCacheKey(String tipo) {
  23507.         if(this.gestioneRetrieveTokenCacheKey!=null && !this.gestioneRetrieveTokenCacheKey.isEmpty() && this.gestioneRetrieveTokenCacheKey.containsKey(tipo)) {
  23508.             return this.gestioneRetrieveTokenCacheKey.get(tipo);
  23509.         }
  23510.        
  23511.         // logica di default
  23512.         return !(
  23513.                 CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_IDENTIFIER.equals(tipo)
  23514.                 ||
  23515.                 CostantiPdD.HEADER_INTEGRAZIONE_TOKEN_SESSION_INFO.equals(tipo)
  23516.                 );
  23517.     }
  23518.    
  23519.     private static final String PDND_PATTERN_MATCH_DEFAULT = "^https://auth.*\\.interop\\.pagopa\\.it/token\\.oauth2$";
  23520.     private static final String PDD_RETRIEVE_TOKEN_PREFIX_PROPERTY = "org.openspcoop2.pdd.retrieveToken.";
  23521.     private Map<String,String> getGestioneRetrieveTokenPdndUrlPatternMatch = new HashMap<>();
  23522.     public String getGestioneRetrieveTokenPdndUrlPatternMatch(String protocollo){

  23523.         if(protocollo==null) {
  23524.             protocollo = Costanti.MODIPA_PROTOCOL_NAME; // default
  23525.         }
  23526.        
  23527.         String pName = PDD_RETRIEVE_TOKEN_PREFIX_PROPERTY+protocollo+".pdnd.url.pattern";
  23528.         if(!this.getGestioneRetrieveTokenPdndUrlPatternMatch.containsKey(protocollo)){
  23529.             try{  
  23530.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23531.                 if (value != null){
  23532.                     value = value.trim();
  23533.                     this.getGestioneRetrieveTokenPdndUrlPatternMatch.put(protocollo, value);
  23534.                 }else{
  23535.                     // dovrebbe venire chiamato solo per ModI
  23536.                     if(Costanti.MODIPA_PROTOCOL_NAME.equals(protocollo)) {
  23537.                         this.logWarn(getMessaggioProprietaNonImpostata(pName, PDND_PATTERN_MATCH_DEFAULT));
  23538.                     }
  23539.                     this.getGestioneRetrieveTokenPdndUrlPatternMatch.put(protocollo, PDND_PATTERN_MATCH_DEFAULT);
  23540.                 }

  23541.             }catch(java.lang.Exception e) {
  23542.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, PDND_PATTERN_MATCH_DEFAULT),e);
  23543.                 this.getGestioneRetrieveTokenPdndUrlPatternMatch.put(protocollo, PDND_PATTERN_MATCH_DEFAULT);
  23544.             }
  23545.         }

  23546.         return this.getGestioneRetrieveTokenPdndUrlPatternMatch.get(protocollo);
  23547.     }
  23548.    
  23549.     private Map<String,Boolean> isGestioneRetrieveTokenPdndPayloadClientId = new HashMap<>();
  23550.     private boolean isGestioneRetrieveTokenPdndPayloadClientId(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.payload.clientId";
  23556.         if(!this.isGestioneRetrieveTokenPdndPayloadClientId.containsKey(protocollo)){
  23557.             try{  
  23558.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23559.                 if (value != null){
  23560.                     value = value.trim();
  23561.                     this.isGestioneRetrieveTokenPdndPayloadClientId.put(protocollo, Boolean.parseBoolean(value));
  23562.                 }else{
  23563.                     // dovrebbe venire chiamato solo per ModI
  23564.                     if(Costanti.MODIPA_PROTOCOL_NAME.equals(protocollo)) {
  23565.                         this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23566.                     }
  23567.                     this.isGestioneRetrieveTokenPdndPayloadClientId.put(protocollo, false);
  23568.                 }

  23569.             }catch(java.lang.Exception e) {
  23570.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23571.                 this.isGestioneRetrieveTokenPdndPayloadClientId.put(protocollo, false);
  23572.             }
  23573.         }

  23574.         return this.isGestioneRetrieveTokenPdndPayloadClientId.get(protocollo);
  23575.     }
  23576.    
  23577.     private Map<String,Boolean> isGestioneRetrieveTokenPdndPayloadClientIdMapSoggetto = new HashMap<>();
  23578.     public boolean isGestioneRetrieveTokenPdndPayloadClientId(String protocollo, String soggettoFruitore){

  23579.         if(soggettoFruitore==null) {
  23580.             return isGestioneRetrieveTokenPdndPayloadClientId(protocollo);
  23581.         }
  23582.        
  23583.         String key = protocollo+"_"+soggettoFruitore;
  23584.         String pName = PDD_RETRIEVE_TOKEN_PREFIX_PROPERTY+protocollo+"."+soggettoFruitore+".pdnd.payload.clientId";
  23585.         if(!this.isGestioneRetrieveTokenPdndPayloadClientIdMapSoggetto.containsKey(key)){
  23586.             try{  
  23587.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23588.                 if (value != null){
  23589.                     value = value.trim();
  23590.                     this.isGestioneRetrieveTokenPdndPayloadClientIdMapSoggetto.put(key, Boolean.parseBoolean(value));
  23591.                 }else{
  23592.                     return isGestioneRetrieveTokenPdndPayloadClientId(protocollo);
  23593.                 }

  23594.             }catch(java.lang.Exception e) {
  23595.                 this.logError("isGestioneRetrieveTokenPdndPayloadClientId failed: "+e.getMessage(), e);
  23596.                 return isGestioneRetrieveTokenPdndPayloadClientId(protocollo);
  23597.             }
  23598.         }

  23599.         return this.isGestioneRetrieveTokenPdndPayloadClientIdMapSoggetto.get(key);
  23600.     }
  23601.    
  23602.     private Map<String,Boolean> isGestioneRetrieveTokenPdndPayloadNbf = new HashMap<>();
  23603.     private boolean isGestioneRetrieveTokenPdndPayloadNbf(String protocollo){

  23604.         if(protocollo==null) {
  23605.             protocollo = Costanti.MODIPA_PROTOCOL_NAME; // default
  23606.         }
  23607.        
  23608.         String pName = PDD_RETRIEVE_TOKEN_PREFIX_PROPERTY+protocollo+".pdnd.payload.nbf";
  23609.         if(!this.isGestioneRetrieveTokenPdndPayloadNbf.containsKey(protocollo)){
  23610.             try{  
  23611.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23612.                 if (value != null){
  23613.                     value = value.trim();
  23614.                     this.isGestioneRetrieveTokenPdndPayloadNbf.put(protocollo, Boolean.parseBoolean(value));
  23615.                 }else{
  23616.                     // dovrebbe venire chiamato solo per ModI
  23617.                     if(Costanti.MODIPA_PROTOCOL_NAME.equals(protocollo)) {
  23618.                         this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23619.                     }
  23620.                     this.isGestioneRetrieveTokenPdndPayloadNbf.put(protocollo, false);
  23621.                 }

  23622.             }catch(java.lang.Exception e) {
  23623.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23624.                 this.isGestioneRetrieveTokenPdndPayloadNbf.put(protocollo, false);
  23625.             }
  23626.         }

  23627.         return this.isGestioneRetrieveTokenPdndPayloadNbf.get(protocollo);
  23628.     }
  23629.    
  23630.     private Map<String,Boolean> isGestioneRetrieveTokenPdndPayloadNbfMapSoggetto = new HashMap<>();
  23631.     public boolean isGestioneRetrieveTokenPdndPayloadNbf(String protocollo, String soggettoFruitore){

  23632.         if(soggettoFruitore==null) {
  23633.             return isGestioneRetrieveTokenPdndPayloadNbf(protocollo);
  23634.         }
  23635.        
  23636.         String key = protocollo+"_"+soggettoFruitore;
  23637.         String pName = PDD_RETRIEVE_TOKEN_PREFIX_PROPERTY+protocollo+"."+soggettoFruitore+".pdnd.payload.nbf";
  23638.         if(!this.isGestioneRetrieveTokenPdndPayloadNbfMapSoggetto.containsKey(key)){
  23639.             try{  
  23640.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23641.                 if (value != null){
  23642.                     value = value.trim();
  23643.                     this.isGestioneRetrieveTokenPdndPayloadNbfMapSoggetto.put(key, Boolean.parseBoolean(value));
  23644.                 }else{
  23645.                     return isGestioneRetrieveTokenPdndPayloadNbf(protocollo);
  23646.                 }

  23647.             }catch(java.lang.Exception e) {
  23648.                 this.logError("isGestioneRetrieveTokenPdndPayloadNbf failed: "+e.getMessage(), e);
  23649.                 return isGestioneRetrieveTokenPdndPayloadNbf(protocollo);
  23650.             }
  23651.         }

  23652.         return this.isGestioneRetrieveTokenPdndPayloadNbfMapSoggetto.get(key);
  23653.     }
  23654.    
  23655.    
  23656.     private Map<String,Boolean> isGestioneRetrieveTokenPdndDatiRichiestaForceClientId = new HashMap<>();
  23657.     private boolean isGestioneRetrieveTokenPdndDatiRichiestaForceClientId(String protocollo){

  23658.         if(protocollo==null) {
  23659.             protocollo = Costanti.MODIPA_PROTOCOL_NAME; // default
  23660.         }
  23661.        
  23662.         String pName = PDD_RETRIEVE_TOKEN_PREFIX_PROPERTY+protocollo+".pdnd.datiRichiesta.forceClientId";
  23663.         if(!this.isGestioneRetrieveTokenPdndDatiRichiestaForceClientId.containsKey(protocollo)){
  23664.             try{  
  23665.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23666.                 if (value != null){
  23667.                     value = value.trim();
  23668.                     this.isGestioneRetrieveTokenPdndDatiRichiestaForceClientId.put(protocollo, Boolean.parseBoolean(value));
  23669.                 }else{
  23670.                     // dovrebbe venire chiamato solo per ModI
  23671.                     if(Costanti.MODIPA_PROTOCOL_NAME.equals(protocollo)) {
  23672.                         this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  23673.                     }
  23674.                     this.isGestioneRetrieveTokenPdndDatiRichiestaForceClientId.put(protocollo, true);
  23675.                 }

  23676.             }catch(java.lang.Exception e) {
  23677.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  23678.                 this.isGestioneRetrieveTokenPdndDatiRichiestaForceClientId.put(protocollo, true);
  23679.             }
  23680.         }

  23681.         return this.isGestioneRetrieveTokenPdndDatiRichiestaForceClientId.get(protocollo);
  23682.     }
  23683.    
  23684.     private Map<String,Boolean> isGestioneRetrieveTokenPdndDatiRichiestaForceClientIdMapSoggetto = new HashMap<>();
  23685.     public boolean isGestioneRetrieveTokenPdndDatiRichiestaForceClientId(String protocollo, String soggettoFruitore){

  23686.         if(soggettoFruitore==null) {
  23687.             return isGestioneRetrieveTokenPdndDatiRichiestaForceClientId(protocollo);
  23688.         }
  23689.        
  23690.         String key = protocollo+"_"+soggettoFruitore;
  23691.         String pName = PDD_RETRIEVE_TOKEN_PREFIX_PROPERTY+protocollo+"."+soggettoFruitore+".pdnd.datiRichiesta.forceClientId";
  23692.         if(!this.isGestioneRetrieveTokenPdndDatiRichiestaForceClientIdMapSoggetto.containsKey(key)){
  23693.             try{  
  23694.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23695.                 if (value != null){
  23696.                     value = value.trim();
  23697.                     this.isGestioneRetrieveTokenPdndDatiRichiestaForceClientIdMapSoggetto.put(key, Boolean.parseBoolean(value));
  23698.                 }else{
  23699.                     return isGestioneRetrieveTokenPdndDatiRichiestaForceClientId(protocollo);
  23700.                 }

  23701.             }catch(java.lang.Exception e) {
  23702.                 this.logError("isGestioneRetrieveTokenPdndDatiRichiestaForceClientId failed: "+e.getMessage(), e);
  23703.                 return isGestioneRetrieveTokenPdndDatiRichiestaForceClientId(protocollo);
  23704.             }
  23705.         }

  23706.         return this.isGestioneRetrieveTokenPdndDatiRichiestaForceClientIdMapSoggetto.get(key);
  23707.     }
  23708.    
  23709.    
  23710.    
  23711.    
  23712.     /* ------------- Gestione Attribute Authority ---------------------*/
  23713.    
  23714.     private Boolean isGestioneAttributeAuthorityDebug = null;
  23715.     public boolean isGestioneAttributeAuthorityDebug(){

  23716.         String pName = "org.openspcoop2.pdd.gestioneAttributeAuthority.debug";
  23717.         if(this.isGestioneAttributeAuthorityDebug==null){
  23718.             try{  
  23719.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23720.                 if (value != null){
  23721.                     value = value.trim();
  23722.                     this.isGestioneAttributeAuthorityDebug = Boolean.parseBoolean(value);
  23723.                 }else{
  23724.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23725.                     this.isGestioneAttributeAuthorityDebug = false;
  23726.                 }

  23727.             }catch(java.lang.Exception e) {
  23728.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23729.                 this.isGestioneAttributeAuthorityDebug = false;
  23730.             }
  23731.         }

  23732.         return this.isGestioneAttributeAuthorityDebug;
  23733.     }
  23734.    
  23735.     private Boolean getGestioneAttributeAuthorityLockPermitsRead = null;
  23736.     private Integer getGestioneAttributeAuthorityLockPermits = null;
  23737.     public Integer getGestioneAttributeAuthorityLockPermits() {

  23738.         String pName = "org.openspcoop2.pdd.gestioneAttributeAuthority.lock.permits";
  23739.         if(this.getGestioneAttributeAuthorityLockPermitsRead==null){
  23740.             try{  
  23741.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23742.                 if (value != null){
  23743.                     value = value.trim();
  23744.                     int permits = Integer.parseInt(value);
  23745.                     if(permits>1) {
  23746.                         // altrimenti è un normale semaphore binario
  23747.                         this.getGestioneAttributeAuthorityLockPermits = permits;
  23748.                     }
  23749.                 }
  23750.                
  23751.                
  23752.             }catch(java.lang.Exception e) {
  23753.                 this.logError("Proprieta' di openspcoop '"+pName+"' non impostata, errore:"+e.getMessage(),e);
  23754.             }
  23755.            
  23756.             this.getGestioneAttributeAuthorityLockPermitsRead = true;
  23757.         }

  23758.         return this.getGestioneAttributeAuthorityLockPermits;
  23759.     }
  23760.    
  23761.     private Boolean isGestioneAttributeAuthoritySaveSourceAttributeResponseInfo = null;
  23762.     public boolean isGestioneAttributeAuthoritySaveSourceAttributeResponseInfo(){

  23763.         String pName = "org.openspcoop2.pdd.gestioneAttributeAuthority.saveSourceAttributeResponseInfo";
  23764.         if(this.isGestioneAttributeAuthoritySaveSourceAttributeResponseInfo==null){
  23765.             try{  
  23766.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23767.                 if (value != null){
  23768.                     value = value.trim();
  23769.                     this.isGestioneAttributeAuthoritySaveSourceAttributeResponseInfo = Boolean.parseBoolean(value);
  23770.                 }else{
  23771.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23772.                     this.isGestioneAttributeAuthoritySaveSourceAttributeResponseInfo = false;
  23773.                 }

  23774.             }catch(java.lang.Exception e) {
  23775.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23776.                 this.isGestioneAttributeAuthoritySaveSourceAttributeResponseInfo = false;
  23777.             }
  23778.         }

  23779.         return this.isGestioneAttributeAuthoritySaveSourceAttributeResponseInfo;
  23780.     }
  23781.    
  23782.     private Boolean isGestioneAttributeAuthorityTransazioniRegistrazioneAttributiInformazioniNormalizzate = null;
  23783.     public boolean isGestioneAttributeAuthorityTransazioniRegistrazioneAttributiInformazioniNormalizzate(){

  23784.         String pName = "org.openspcoop2.pdd.gestioneAttributeAuthority.transazioniRegistrazioneAttributiInformazioniNormalizzate";
  23785.         if(this.isGestioneAttributeAuthorityTransazioniRegistrazioneAttributiInformazioniNormalizzate==null){
  23786.             try{  
  23787.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23788.                 if (value != null){
  23789.                     value = value.trim();
  23790.                     this.isGestioneAttributeAuthorityTransazioniRegistrazioneAttributiInformazioniNormalizzate = Boolean.parseBoolean(value);
  23791.                 }else{
  23792.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23793.                     this.isGestioneAttributeAuthorityTransazioniRegistrazioneAttributiInformazioniNormalizzate = false;
  23794.                 }

  23795.             }catch(java.lang.Exception e) {
  23796.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23797.                 this.isGestioneAttributeAuthorityTransazioniRegistrazioneAttributiInformazioniNormalizzate = false;
  23798.             }
  23799.         }

  23800.         return this.isGestioneAttributeAuthorityTransazioniRegistrazioneAttributiInformazioniNormalizzate;
  23801.     }
  23802.    
  23803.     private CertificateValidityCheck getGestioneAttributeAuthorityValidityCheck = null;
  23804.     public CertificateValidityCheck getGestioneAttributeAuthorityValidityCheck(){

  23805.         String pName = "org.openspcoop2.pdd.gestioneAttributeAuthority.validityCheck";
  23806.         if(this.getGestioneAttributeAuthorityValidityCheck==null){
  23807.             try{  
  23808.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23809.                 if (value != null){
  23810.                     value = value.trim();
  23811.                     this.getGestioneAttributeAuthorityValidityCheck = CertificateValidityCheck.parseCertificateValidityCheck(value);
  23812.                     if(this.getGestioneAttributeAuthorityValidityCheck==null) {
  23813.                         throw new CoreException("Opzione '"+value+"' sconosciuta");
  23814.                     }
  23815.                 }else{
  23816.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  23817.                     this.getGestioneAttributeAuthorityValidityCheck = CertificateValidityCheck.ENABLED;
  23818.                 }

  23819.             }catch(java.lang.Exception e) {
  23820.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  23821.                 this.getGestioneAttributeAuthorityValidityCheck = CertificateValidityCheck.ENABLED;
  23822.             }
  23823.         }

  23824.         return this.getGestioneAttributeAuthorityValidityCheck;
  23825.     }
  23826.    
  23827.    
  23828.    
  23829.    
  23830.    
  23831.    
  23832.     /* ------------- JMX Statistiche ---------------------*/
  23833.    
  23834.     private Boolean isStatisticheViaJmx = null;
  23835.     public boolean isStatisticheViaJmx(){

  23836.         if(this.isStatisticheViaJmx==null){
  23837.             try{  
  23838.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.jmx.statistiche");

  23839.                 if (value != null){
  23840.                     value = value.trim();
  23841.                     this.isStatisticheViaJmx = Boolean.parseBoolean(value);
  23842.                 }else{
  23843.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.jmx.statistiche' non impostata, viene utilizzato il default=false");
  23844.                     this.isStatisticheViaJmx = false;
  23845.                 }

  23846.             }catch(java.lang.Exception e) {
  23847.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.jmx.statistiche' non impostata, viene utilizzato il default=false, errore:"+e.getMessage(),e);
  23848.                 this.isStatisticheViaJmx = false;
  23849.             }
  23850.         }

  23851.         return this.isStatisticheViaJmx;
  23852.     }
  23853.    
  23854.    
  23855.    
  23856.     /* ------------- REST / SOAP Trasporto Utils ---------------------*/
  23857.    
  23858.     private void _list_add(List<MapKey<String>> tmp, List<MapKey<String>> addList) {
  23859.         if(tmp!=null && tmp.size()>0) {
  23860.             for (MapKey<String> hdr : tmp) {
  23861.                 if(addList.contains(hdr)==false) {
  23862.                     addList.add(hdr);
  23863.                 }
  23864.             }
  23865.         }
  23866.     }
  23867.    
  23868.     /* ------------- Forward Proxy ---------------------*/
  23869.    
  23870.     private Boolean isForwardProxyEnable = null;
  23871.     public boolean isForwardProxyEnable(){

  23872.         String pName = "org.openspcoop2.pdd.connettori.govwayProxy.enable";
  23873.         if(this.isForwardProxyEnable==null){
  23874.             try{  
  23875.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23876.                 if (value != null){
  23877.                     value = value.trim();
  23878.                     this.isForwardProxyEnable = Boolean.parseBoolean(value);
  23879.                 }else{
  23880.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23881.                     this.isForwardProxyEnable = false;
  23882.                 }

  23883.             }catch(java.lang.Exception e) {
  23884.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23885.                 this.isForwardProxyEnable = false;
  23886.             }
  23887.         }

  23888.         return this.isForwardProxyEnable;
  23889.     }
  23890.    
  23891.    
  23892.     private Boolean isForwardProxyHeaderEnable = null;
  23893.     private boolean isForwardProxyHeaderEnable(){

  23894.         String pName = "org.openspcoop2.pdd.connettori.govwayProxy.header.enable";
  23895.         if(this.isForwardProxyHeaderEnable==null){
  23896.             try{  
  23897.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23898.                 if (value != null){
  23899.                     value = value.trim();
  23900.                     this.isForwardProxyHeaderEnable = Boolean.parseBoolean(value);
  23901.                 }else{
  23902.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23903.                     this.isForwardProxyHeaderEnable = false;
  23904.                 }

  23905.             }catch(java.lang.Exception e) {
  23906.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23907.                 this.isForwardProxyHeaderEnable = false;
  23908.             }
  23909.         }

  23910.         return this.isForwardProxyHeaderEnable;
  23911.     }
  23912.    
  23913.     private String getForwardProxyHeaderName = null;
  23914.     private String getForwardProxyHeaderName(){

  23915.         String pName = "org.openspcoop2.pdd.connettori.govwayProxy.header.nome";
  23916.         if(this.getForwardProxyHeaderName==null){
  23917.             try{  
  23918.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23919.                 if (value != null){
  23920.                     value = value.trim();
  23921.                     this.getForwardProxyHeaderName = value;
  23922.                 }else{
  23923.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER));
  23924.                     this.getForwardProxyHeaderName = ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER;
  23925.                 }

  23926.             }catch(java.lang.Exception e) {
  23927.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER),e);
  23928.                 this.getForwardProxyHeaderName = ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER;
  23929.             }
  23930.         }

  23931.         return this.getForwardProxyHeaderName;
  23932.     }
  23933.    
  23934.     private Boolean isForwardProxyHeaderBase64 = null;
  23935.     private boolean isForwardProxyHeaderBase64(){

  23936.         String pName = "org.openspcoop2.pdd.connettori.govwayProxy.header.base64";
  23937.         if(this.isForwardProxyHeaderBase64==null){
  23938.             try{  
  23939.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23940.                 if (value != null){
  23941.                     value = value.trim();
  23942.                     this.isForwardProxyHeaderBase64 = Boolean.parseBoolean(value);
  23943.                 }else{
  23944.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER_BASE64));
  23945.                     this.isForwardProxyHeaderBase64 = ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER_BASE64;
  23946.                 }

  23947.             }catch(java.lang.Exception e) {
  23948.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER_BASE64),e);
  23949.                 this.isForwardProxyHeaderBase64 = ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER_BASE64;
  23950.             }
  23951.         }

  23952.         return this.isForwardProxyHeaderBase64;
  23953.     }
  23954.    
  23955.    
  23956.     private Boolean isForwardProxyQueryParameterEnable = null;
  23957.     private boolean isForwardProxyQueryParameterEnable(){

  23958.         String pName = "org.openspcoop2.pdd.connettori.govwayProxy.urlParameter.enable";
  23959.         if(this.isForwardProxyQueryParameterEnable==null){
  23960.             try{  
  23961.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23962.                 if (value != null){
  23963.                     value = value.trim();
  23964.                     this.isForwardProxyQueryParameterEnable = Boolean.parseBoolean(value);
  23965.                 }else{
  23966.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  23967.                     this.isForwardProxyQueryParameterEnable = false;
  23968.                 }

  23969.             }catch(java.lang.Exception e) {
  23970.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  23971.                 this.isForwardProxyQueryParameterEnable = false;
  23972.             }
  23973.         }

  23974.         return this.isForwardProxyQueryParameterEnable;
  23975.     }
  23976.    
  23977.     private String getForwardProxyQueryParameterName = null;
  23978.     private String getForwardProxyQueryParameterName(){

  23979.         String pName = "org.openspcoop2.pdd.connettori.govwayProxy.urlParameter.nome";
  23980.         if(this.getForwardProxyQueryParameterName==null){
  23981.             try{  
  23982.                 String value = this.reader.getValueConvertEnvProperties(pName);

  23983.                 if (value != null){
  23984.                     value = value.trim();
  23985.                     this.getForwardProxyQueryParameterName = value;
  23986.                 }else{
  23987.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER));
  23988.                     this.getForwardProxyQueryParameterName = ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER;
  23989.                 }

  23990.             }catch(java.lang.Exception e) {
  23991.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER),e);
  23992.                 this.getForwardProxyQueryParameterName = ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER;
  23993.             }
  23994.         }

  23995.         return this.getForwardProxyQueryParameterName;
  23996.     }
  23997.    
  23998.     private Boolean isForwardProxyQueryParameterBase64 = null;
  23999.     private boolean isForwardProxyQueryParameterBase64(){

  24000.         String pName = "org.openspcoop2.pdd.connettori.govwayProxy.urlParameter.base64";
  24001.         if(this.isForwardProxyQueryParameterBase64==null){
  24002.             try{  
  24003.                 String value = this.reader.getValueConvertEnvProperties(pName);

  24004.                 if (value != null){
  24005.                     value = value.trim();
  24006.                     this.isForwardProxyQueryParameterBase64 = Boolean.parseBoolean(value);
  24007.                 }else{
  24008.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER_BASE64));
  24009.                     this.isForwardProxyQueryParameterBase64 = ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER_BASE64;
  24010.                 }

  24011.             }catch(java.lang.Exception e) {
  24012.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER_BASE64),e);
  24013.                 this.isForwardProxyQueryParameterBase64 = ForwardProxy.DEFAULT_GOVWAY_PROXY_HEADER_BASE64;
  24014.             }
  24015.         }

  24016.         return this.isForwardProxyQueryParameterBase64;
  24017.     }
  24018.    
  24019.     private Boolean isForwardProxyTokenDynamicDiscoveryEnabled = null;
  24020.     private boolean isForwardProxyTokenDynamicDiscoveryEnabled(){

  24021.         String pName = "org.openspcoop2.pdd.connettori.govwayProxy.tokenDynamicDiscovery.enable";
  24022.         if(this.isForwardProxyTokenDynamicDiscoveryEnabled==null){
  24023.             try{  
  24024.                 String value = this.reader.getValueConvertEnvProperties(pName);

  24025.                 if (value != null){
  24026.                     value = value.trim();
  24027.                     this.isForwardProxyTokenDynamicDiscoveryEnabled = Boolean.parseBoolean(value);
  24028.                 }else{
  24029.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_DYNAMIC_DISCOVERY));
  24030.                     this.isForwardProxyTokenDynamicDiscoveryEnabled = ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_DYNAMIC_DISCOVERY;
  24031.                 }

  24032.             }catch(java.lang.Exception e) {
  24033.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_DYNAMIC_DISCOVERY),e);
  24034.                 this.isForwardProxyTokenDynamicDiscoveryEnabled = ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_DYNAMIC_DISCOVERY;
  24035.             }
  24036.         }

  24037.         return this.isForwardProxyTokenDynamicDiscoveryEnabled;
  24038.     }
  24039.    
  24040.     private Boolean isForwardProxyTokenValidazioneJwtEnabled = null;
  24041.     private boolean isForwardProxyTokenValidazioneJwtEnabled(){

  24042.         String pName = "org.openspcoop2.pdd.connettori.govwayProxy.tokenJwtValidation.enable";
  24043.         if(this.isForwardProxyTokenValidazioneJwtEnabled==null){
  24044.             try{  
  24045.                 String value = this.reader.getValueConvertEnvProperties(pName);

  24046.                 if (value != null){
  24047.                     value = value.trim();
  24048.                     this.isForwardProxyTokenValidazioneJwtEnabled = Boolean.parseBoolean(value);
  24049.                 }else{
  24050.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_VALIDAZIONE_JWT));
  24051.                     this.isForwardProxyTokenValidazioneJwtEnabled = ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_VALIDAZIONE_JWT;
  24052.                 }

  24053.             }catch(java.lang.Exception e) {
  24054.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_VALIDAZIONE_JWT),e);
  24055.                 this.isForwardProxyTokenValidazioneJwtEnabled = ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_VALIDAZIONE_JWT;
  24056.             }
  24057.         }

  24058.         return this.isForwardProxyTokenValidazioneJwtEnabled;
  24059.     }
  24060.    
  24061.     private Boolean isForwardProxyTokenIntrospectionEnabled = null;
  24062.     private boolean isForwardProxyTokenIntrospectionEnabled(){

  24063.         String pName = "org.openspcoop2.pdd.connettori.govwayProxy.tokenIntrospection.enable";
  24064.         if(this.isForwardProxyTokenIntrospectionEnabled==null){
  24065.             try{  
  24066.                 String value = this.reader.getValueConvertEnvProperties(pName);

  24067.                 if (value != null){
  24068.                     value = value.trim();
  24069.                     this.isForwardProxyTokenIntrospectionEnabled = Boolean.parseBoolean(value);
  24070.                 }else{
  24071.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_INTROSPECTION));
  24072.                     this.isForwardProxyTokenIntrospectionEnabled = ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_INTROSPECTION;
  24073.                 }

  24074.             }catch(java.lang.Exception e) {
  24075.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_INTROSPECTION),e);
  24076.                 this.isForwardProxyTokenIntrospectionEnabled = ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_INTROSPECTION;
  24077.             }
  24078.         }

  24079.         return this.isForwardProxyTokenIntrospectionEnabled;
  24080.     }
  24081.    
  24082.     private Boolean isForwardProxyTokenUserInfoEnabled = null;
  24083.     private boolean isForwardProxyTokenUserInfoEnabled(){

  24084.         String pName = "org.openspcoop2.pdd.connettori.govwayProxy.tokenUserInfo.enable";
  24085.         if(this.isForwardProxyTokenUserInfoEnabled==null){
  24086.             try{  
  24087.                 String value = this.reader.getValueConvertEnvProperties(pName);

  24088.                 if (value != null){
  24089.                     value = value.trim();
  24090.                     this.isForwardProxyTokenUserInfoEnabled = Boolean.parseBoolean(value);
  24091.                 }else{
  24092.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_USERINFO));
  24093.                     this.isForwardProxyTokenUserInfoEnabled = ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_USERINFO;
  24094.                 }

  24095.             }catch(java.lang.Exception e) {
  24096.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_USERINFO),e);
  24097.                 this.isForwardProxyTokenUserInfoEnabled = ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_USERINFO;
  24098.             }
  24099.         }

  24100.         return this.isForwardProxyTokenUserInfoEnabled;
  24101.     }
  24102.    
  24103.     private Boolean isForwardProxyTokenRetrieveEnabled = null;
  24104.     private boolean isForwardProxyTokenRetrieveEnabled(){

  24105.         String pName = "org.openspcoop2.pdd.connettori.govwayProxy.tokenRetrieve.enable";
  24106.         if(this.isForwardProxyTokenRetrieveEnabled==null){
  24107.             try{  
  24108.                 String value = this.reader.getValueConvertEnvProperties(pName);

  24109.                 if (value != null){
  24110.                     value = value.trim();
  24111.                     this.isForwardProxyTokenRetrieveEnabled = Boolean.parseBoolean(value);
  24112.                 }else{
  24113.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_RETRIEVE));
  24114.                     this.isForwardProxyTokenRetrieveEnabled = ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_RETRIEVE;
  24115.                 }

  24116.             }catch(java.lang.Exception e) {
  24117.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_RETRIEVE),e);
  24118.                 this.isForwardProxyTokenRetrieveEnabled = ForwardProxy.DEFAULT_GOVWAY_PROXY_TOKEN_RETRIEVE;
  24119.             }
  24120.         }

  24121.         return this.isForwardProxyTokenRetrieveEnabled;
  24122.     }
  24123.    
  24124.     private Boolean isForwardProxyAttributeAuthorityEnabled = null;
  24125.     private boolean isForwardProxyAttributeAuthorityEnabled(){

  24126.         String pName = "org.openspcoop2.pdd.connettori.govwayProxy.attributeAuthority.enable";
  24127.         if(this.isForwardProxyAttributeAuthorityEnabled==null){
  24128.             try{  
  24129.                 String value = this.reader.getValueConvertEnvProperties(pName);

  24130.                 if (value != null){
  24131.                     value = value.trim();
  24132.                     this.isForwardProxyAttributeAuthorityEnabled = Boolean.parseBoolean(value);
  24133.                 }else{
  24134.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,ForwardProxy.DEFAULT_GOVWAY_PROXY_ATTRIBUTE_AUTHORITY));
  24135.                     this.isForwardProxyAttributeAuthorityEnabled = ForwardProxy.DEFAULT_GOVWAY_PROXY_ATTRIBUTE_AUTHORITY;
  24136.                 }

  24137.             }catch(java.lang.Exception e) {
  24138.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,ForwardProxy.DEFAULT_GOVWAY_PROXY_ATTRIBUTE_AUTHORITY),e);
  24139.                 this.isForwardProxyAttributeAuthorityEnabled = ForwardProxy.DEFAULT_GOVWAY_PROXY_ATTRIBUTE_AUTHORITY;
  24140.             }
  24141.         }

  24142.         return this.isForwardProxyAttributeAuthorityEnabled;
  24143.     }
  24144.    
  24145.     private Boolean isForwardProxyAttributeAuthorityResponseJwtValidationEnabled = null;
  24146.     private boolean isForwardProxyAttributeAuthorityResponseJwtValidationEnabled(){

  24147.         String pName = "org.openspcoop2.pdd.connettori.govwayProxy.attributeAuthority.responseJwtValidation.enable";
  24148.         if(this.isForwardProxyAttributeAuthorityResponseJwtValidationEnabled==null){
  24149.             try{  
  24150.                 String value = this.reader.getValueConvertEnvProperties(pName);

  24151.                 if (value != null){
  24152.                     value = value.trim();
  24153.                     this.isForwardProxyAttributeAuthorityResponseJwtValidationEnabled = Boolean.parseBoolean(value);
  24154.                 }else{
  24155.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,ForwardProxy.DEFAULT_GOVWAY_PROXY_ATTRIBUTE_AUTHORITY_RESPONSE_JWT_VALIDATION));
  24156.                     this.isForwardProxyAttributeAuthorityResponseJwtValidationEnabled = ForwardProxy.DEFAULT_GOVWAY_PROXY_ATTRIBUTE_AUTHORITY_RESPONSE_JWT_VALIDATION;
  24157.                 }

  24158.             }catch(java.lang.Exception e) {
  24159.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,ForwardProxy.DEFAULT_GOVWAY_PROXY_ATTRIBUTE_AUTHORITY_RESPONSE_JWT_VALIDATION),e);
  24160.                 this.isForwardProxyAttributeAuthorityResponseJwtValidationEnabled = ForwardProxy.DEFAULT_GOVWAY_PROXY_ATTRIBUTE_AUTHORITY_RESPONSE_JWT_VALIDATION;
  24161.             }
  24162.         }

  24163.         return this.isForwardProxyAttributeAuthorityResponseJwtValidationEnabled;
  24164.     }
  24165.    
  24166.     public ForwardProxyConfigurazione getForwardProxyConfigurazioneDefault() {
  24167.         ForwardProxyConfigurazione config = new ForwardProxyConfigurazione();
  24168.         if(this.isForwardProxyHeaderEnable()) {
  24169.             config.setHeader(this.getForwardProxyHeaderName());
  24170.             config.setHeaderBase64(this.isForwardProxyHeaderBase64());
  24171.         }
  24172.         if(this.isForwardProxyQueryParameterEnable()) {
  24173.             config.setQuery(this.getForwardProxyQueryParameterName());
  24174.             config.setQueryBase64(this.isForwardProxyQueryParameterBase64());
  24175.         }
  24176.         return config;
  24177.     }
  24178.    
  24179.     public ForwardProxyConfigurazioneToken getForwardProxyConfigurazioneTokenDefault() {
  24180.         ForwardProxyConfigurazioneToken config = new ForwardProxyConfigurazioneToken();
  24181.         config.setTokenDynamicDiscoveryEnabled(this.isForwardProxyTokenDynamicDiscoveryEnabled());
  24182.         config.setTokenJwtValidationEnabled(this.isForwardProxyTokenValidazioneJwtEnabled());
  24183.         config.setTokenIntrospectionEnabled(this.isForwardProxyTokenIntrospectionEnabled());
  24184.         config.setTokenUserInfoEnabled(this.isForwardProxyTokenUserInfoEnabled());
  24185.         config.setTokenRetrieveEnabled(this.isForwardProxyTokenRetrieveEnabled());
  24186.         config.setAttributeAuthorityEnabled(this.isForwardProxyAttributeAuthorityEnabled());
  24187.         config.setAttributeAuthorityResponseJwtValidationEnabled(this.isForwardProxyAttributeAuthorityResponseJwtValidationEnabled());
  24188.         return config;
  24189.     }

  24190.    
  24191.    
  24192.    
  24193.    
  24194.    
  24195.    
  24196.     /* ------------- Trasformazioni ---------------------*/
  24197.    
  24198.     private Boolean isTrasformazioni_readCharsetFromContentType = null;
  24199.     public boolean isTrasformazioni_readCharsetFromContentType(){

  24200.         String pName = "org.openspcoop2.pdd.trasformazioni.readCharsetFromContentType.enable";
  24201.         if(this.isTrasformazioni_readCharsetFromContentType==null){
  24202.             try{  
  24203.                 String value = this.reader.getValueConvertEnvProperties(pName);

  24204.                 if (value != null){
  24205.                     value = value.trim();
  24206.                     this.isTrasformazioni_readCharsetFromContentType = Boolean.parseBoolean(value);
  24207.                 }else{
  24208.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  24209.                     this.isTrasformazioni_readCharsetFromContentType = false;
  24210.                 }

  24211.             }catch(java.lang.Exception e) {
  24212.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  24213.                 this.isTrasformazioni_readCharsetFromContentType = false;
  24214.             }
  24215.         }

  24216.         return this.isTrasformazioni_readCharsetFromContentType;
  24217.     }
  24218.    
  24219.     private Map<String, String> getTrasformazioni_backwardCompatibility = null;
  24220.     private Boolean getTrasformazioni_backwardCompatibility_read = null;
  24221.     public Map<String, String> getTrasformazioni_backwardCompatibility(){

  24222.         String pName = "org.openspcoop2.pdd.trasformazioni.backwardCompatibility.";
  24223.         if(this.getTrasformazioni_backwardCompatibility_read==null){
  24224.             try{  
  24225.                 Properties p = this.reader.readPropertiesConvertEnvProperties(pName);

  24226.                 if (p != null && !p.isEmpty()){
  24227.                     Enumeration<?> keys = p.keys();
  24228.                     if(keys!=null) {
  24229.                         while (keys.hasMoreElements()) {
  24230.                             Object object = (Object) keys.nextElement();
  24231.                             if(object!=null && object instanceof String) {
  24232.                                 String key = (String) object;
  24233.                                 String value = p.getProperty(key);
  24234.                                 if(value!=null) {
  24235.                                     key = key.trim();
  24236.                                     value = value.trim();
  24237.                                     if(StringUtils.isNotEmpty(key) && StringUtils.isNotEmpty(value)) {
  24238.                                         if(this.getTrasformazioni_backwardCompatibility==null) {
  24239.                                             this.getTrasformazioni_backwardCompatibility=new HashMap<>();
  24240.                                         }
  24241.                                         this.getTrasformazioni_backwardCompatibility.put(key, value); // old, new
  24242.                                     }
  24243.                                 }
  24244.                             }
  24245.                         }
  24246.                     }
  24247.                 }

  24248.             }catch(java.lang.Exception e) {
  24249.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  24250.                 this.isTrasformazioni_readCharsetFromContentType = false;
  24251.             }
  24252.            
  24253.             this.getTrasformazioni_backwardCompatibility_read = true;
  24254.         }

  24255.         return this.getTrasformazioni_backwardCompatibility;
  24256.     }
  24257.    
  24258.    
  24259.    
  24260.    
  24261.    
  24262.    
  24263.     /* ------------- SOAP (Trasporto - URLParameters) ---------------------*/
  24264.    
  24265.     private Boolean isSOAPServicesUrlParametersForward = null;
  24266.     private boolean isSOAPServicesUrlParametersForward(){

  24267.         if(this.isSOAPServicesUrlParametersForward==null){
  24268.             try{  
  24269.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.urlParameters.forward.enable");

  24270.                 if (value != null){
  24271.                     value = value.trim();
  24272.                     this.isSOAPServicesUrlParametersForward = Boolean.parseBoolean(value);
  24273.                 }else{
  24274.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.soap.urlParameters.forward.enable' non impostata, viene utilizzato il default=true");
  24275.                     this.isSOAPServicesUrlParametersForward = true;
  24276.                 }

  24277.             }catch(java.lang.Exception e) {
  24278.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.soap.urlParameters.forward.enable' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  24279.                 this.isSOAPServicesUrlParametersForward = true;
  24280.             }
  24281.         }

  24282.         return this.isSOAPServicesUrlParametersForward;
  24283.     }
  24284.    
  24285.     private Boolean getSOAPServicesBlackListInternalUrlParametersRead = null;
  24286.     private List<MapKey<String>> getSOAPServicesBlackListInternalUrlParametersList = null;
  24287.     private List<MapKey<String>> getSOAPServicesBlackListInternalUrlParameters() {  
  24288.         if(this.getSOAPServicesBlackListInternalUrlParametersRead==null){
  24289.             try{
  24290.                 this.getSOAPServicesBlackListInternalUrlParametersList = new ArrayList<>();
  24291.                 String name = null;
  24292.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.urlParameters.blackList.internal");
  24293.                 if(name!=null){
  24294.                     name = name.trim();
  24295.                     String [] split = name.split(",");
  24296.                     if(split!=null){
  24297.                         for (int i = 0; i < split.length; i++) {
  24298.                             this.getSOAPServicesBlackListInternalUrlParametersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  24299.                         }
  24300.                     }
  24301.                 }
  24302.                 this.getSOAPServicesBlackListInternalUrlParametersRead = true;
  24303.             } catch(java.lang.Exception e) {
  24304.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.urlParameters.blackList.internal': "+e.getMessage(),e);
  24305.             }    
  24306.         }
  24307.        
  24308.         return this.getSOAPServicesBlackListInternalUrlParametersList;
  24309.     }
  24310.    
  24311.     private Boolean getSOAPServicesBlackListUrlParametersRead = null;
  24312.     private List<MapKey<String>> getSOAPServicesBlackListUrlParametersList = null;
  24313.     private List<MapKey<String>> getSOAPServicesBlackListUrlParameters() {  
  24314.         if(this.getSOAPServicesBlackListUrlParametersRead==null){
  24315.             try{
  24316.                 this.getSOAPServicesBlackListUrlParametersList = new ArrayList<>();
  24317.                 String name = null;
  24318.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.urlParameters.blackList");
  24319.                 if(name!=null){
  24320.                     name = name.trim();
  24321.                     String [] split = name.split(",");
  24322.                     if(split!=null){
  24323.                         for (int i = 0; i < split.length; i++) {
  24324.                             this.getSOAPServicesBlackListUrlParametersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  24325.                         }
  24326.                     }
  24327.                 }
  24328.                 this.getSOAPServicesBlackListUrlParametersRead = true;
  24329.             } catch(java.lang.Exception e) {
  24330.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.urlParameters.blackList': "+e.getMessage(),e);
  24331.             }    
  24332.         }
  24333.        
  24334.         return this.getSOAPServicesBlackListUrlParametersList;
  24335.     }
  24336.    
  24337.     private Boolean getSOAPServicesWhiteListUrlParametersRead = null;
  24338.     private List<MapKey<String>> getSOAPServicesWhiteListUrlParametersList = null;
  24339.     private List<MapKey<String>> getSOAPServicesWhiteListUrlParameters() {  
  24340.         if(this.getSOAPServicesWhiteListUrlParametersRead==null){
  24341.             try{
  24342.                 this.getSOAPServicesWhiteListUrlParametersList = new ArrayList<>();
  24343.                 String name = null;
  24344.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.urlParameters.whiteList");
  24345.                 if(name!=null){
  24346.                     name = name.trim();
  24347.                     String [] split = name.split(",");
  24348.                     if(split!=null){
  24349.                         for (int i = 0; i < split.length; i++) {
  24350.                             this.getSOAPServicesWhiteListUrlParametersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  24351.                         }
  24352.                     }
  24353.                 }
  24354.                 this.getSOAPServicesWhiteListUrlParametersRead = true;
  24355.             } catch(java.lang.Exception e) {
  24356.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.urlParameters.whiteList': "+e.getMessage(),e);
  24357.             }    
  24358.         }
  24359.        
  24360.         return this.getSOAPServicesWhiteListUrlParametersList;
  24361.     }
  24362.    
  24363.     private List<String> _getSOAPServicesBlackListUrlParameters() {
  24364.        
  24365.         List<MapKey<String>> blackList = new ArrayList<>();
  24366.         List<MapKey<String>> tmp = this.getSOAPServicesBlackListInternalUrlParameters();
  24367.         this._list_add(tmp, blackList);
  24368.         tmp = this.getSOAPServicesBlackListUrlParameters();
  24369.         this._list_add(tmp, blackList);
  24370.        
  24371.         List<String> l = new ArrayList<>();
  24372.         if(!blackList.isEmpty()) {
  24373.             for (MapKey<String> key : blackList) {
  24374.                 l.add(key.getValue());
  24375.             }
  24376.         }
  24377.         return l;
  24378.     }
  24379.     private List<String> _getSOAPServicesWhiteListUrlParameters() {
  24380.        
  24381.         List<MapKey<String>> whiteList = new ArrayList<>();
  24382.         List<MapKey<String>> tmp = this.getSOAPServicesWhiteListUrlParameters();
  24383.         this._list_add(tmp, whiteList);
  24384.        
  24385.         List<String> l = new ArrayList<>();
  24386.         if(!whiteList.isEmpty()) {
  24387.             for (MapKey<String> key : whiteList) {
  24388.                 l.add(key.getValue());
  24389.             }
  24390.         }
  24391.         return l;
  24392.     }
  24393.     public ForwardConfig getSOAPServicesUrlParametersForwardConfig() {
  24394.         ForwardConfig f = new ForwardConfig();
  24395.         f.setForwardEnable(this.isSOAPServicesUrlParametersForward());
  24396.         f.setBlackList(_getSOAPServicesBlackListUrlParameters());
  24397.         f.setWhiteList(_getSOAPServicesWhiteListUrlParameters());
  24398.         return f;
  24399.     }
  24400.    
  24401.    
  24402.    
  24403.    
  24404.     /* ------------- SOAP (Trasporto - Headers) ---------------------*/
  24405.    
  24406.     private Boolean isSOAPServicesHeadersForward = null;
  24407.     private boolean isSOAPServicesHeadersForward(){

  24408.         if(this.isSOAPServicesHeadersForward==null){
  24409.             try{  
  24410.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.headers.forward.enable");

  24411.                 if (value != null){
  24412.                     value = value.trim();
  24413.                     this.isSOAPServicesHeadersForward = Boolean.parseBoolean(value);
  24414.                 }else{
  24415.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.soap.headers.forward.enable' non impostata, viene utilizzato il default=true");
  24416.                     this.isSOAPServicesHeadersForward = true;
  24417.                 }

  24418.             }catch(java.lang.Exception e) {
  24419.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.soap.headers.forward.enable' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  24420.                 this.isSOAPServicesHeadersForward = true;
  24421.             }
  24422.         }

  24423.         return this.isSOAPServicesHeadersForward;
  24424.     }
  24425.    
  24426.     private Boolean getSOAPServicesBlackListBothInternalHeadersRead = null;
  24427.     private List<MapKey<String>> getSOAPServicesBlackListBothInternalHeadersList = null;
  24428.     private List<MapKey<String>> getSOAPServicesBlackListBothInternalHeaders() {    
  24429.         if(this.getSOAPServicesBlackListBothInternalHeadersRead==null){
  24430.             try{
  24431.                 this.getSOAPServicesBlackListBothInternalHeadersList = new ArrayList<>();
  24432.                 String name = null;
  24433.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.headers.blackList.internal.both");
  24434.                 if(name!=null){
  24435.                     name = name.trim();
  24436.                     String [] split = name.split(",");
  24437.                     if(split!=null){
  24438.                         for (int i = 0; i < split.length; i++) {
  24439.                             this.getSOAPServicesBlackListBothInternalHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  24440.                         }
  24441.                     }
  24442.                 }
  24443.                 this.getSOAPServicesBlackListBothInternalHeadersRead = true;
  24444.             } catch(java.lang.Exception e) {
  24445.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.headers.blackList.internal.both': "+e.getMessage(),e);
  24446.             }    
  24447.         }
  24448.        
  24449.         return this.getSOAPServicesBlackListBothInternalHeadersList;
  24450.     }
  24451.    
  24452.     private Boolean getSOAPServicesBlackListRequestInternalHeadersRead = null;
  24453.     private List<MapKey<String>> getSOAPServicesBlackListRequestInternalHeadersList = null;
  24454.     private List<MapKey<String>> getSOAPServicesBlackListRequestInternalHeaders() {
  24455.         if(this.getSOAPServicesBlackListRequestInternalHeadersRead==null){
  24456.             try{
  24457.                 this.getSOAPServicesBlackListRequestInternalHeadersList = new ArrayList<>();
  24458.                 String name = null;
  24459.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.headers.blackList.internal.request");
  24460.                 if(name!=null){
  24461.                     name = name.trim();
  24462.                     String [] split = name.split(",");
  24463.                     if(split!=null){
  24464.                         for (int i = 0; i < split.length; i++) {
  24465.                             this.getSOAPServicesBlackListRequestInternalHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  24466.                         }
  24467.                     }
  24468.                 }
  24469.                 this.getSOAPServicesBlackListRequestInternalHeadersRead = true;
  24470.             } catch(java.lang.Exception e) {
  24471.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.headers.blackList.internal.request': "+e.getMessage(),e);
  24472.             }    
  24473.         }
  24474.        
  24475.         return this.getSOAPServicesBlackListRequestInternalHeadersList;
  24476.     }
  24477.    
  24478.     private Boolean getSOAPServicesBlackListResponseInternalHeadersRead = null;
  24479.     private List<MapKey<String>> getSOAPServicesBlackListResponseInternalHeadersList = null;
  24480.     private List<MapKey<String>> getSOAPServicesBlackListResponseInternalHeaders() {    
  24481.         if(this.getSOAPServicesBlackListResponseInternalHeadersRead==null){
  24482.             try{
  24483.                 this.getSOAPServicesBlackListResponseInternalHeadersList = new ArrayList<>();
  24484.                 String name = null;
  24485.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.headers.blackList.internal.response");
  24486.                 if(name!=null){
  24487.                     name = name.trim();
  24488.                     String [] split = name.split(",");
  24489.                     if(split!=null){
  24490.                         for (int i = 0; i < split.length; i++) {
  24491.                             this.getSOAPServicesBlackListResponseInternalHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  24492.                         }
  24493.                     }
  24494.                 }
  24495.                 this.getSOAPServicesBlackListResponseInternalHeadersRead = true;
  24496.             } catch(java.lang.Exception e) {
  24497.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.headers.blackList.internal.response': "+e.getMessage(),e);
  24498.             }    
  24499.         }
  24500.        
  24501.         return this.getSOAPServicesBlackListResponseInternalHeadersList;
  24502.     }
  24503.    
  24504.     private Boolean getSOAPServicesBlackListBothHeadersRead = null;
  24505.     private List<MapKey<String>> getSOAPServicesBlackListBothHeadersList = null;
  24506.     private List<MapKey<String>> getSOAPServicesBlackListBothHeaders() {    
  24507.         if(this.getSOAPServicesBlackListBothHeadersRead==null){
  24508.             try{
  24509.                 this.getSOAPServicesBlackListBothHeadersList = new ArrayList<>();
  24510.                 String name = null;
  24511.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.headers.blackList.both");
  24512.                 if(name!=null){
  24513.                     name = name.trim();
  24514.                     String [] split = name.split(",");
  24515.                     if(split!=null){
  24516.                         for (int i = 0; i < split.length; i++) {
  24517.                             this.getSOAPServicesBlackListBothHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  24518.                         }
  24519.                     }
  24520.                 }
  24521.                 this.getSOAPServicesBlackListBothHeadersRead = true;
  24522.             } catch(java.lang.Exception e) {
  24523.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.headers.blackList.both': "+e.getMessage(),e);
  24524.             }    
  24525.         }
  24526.        
  24527.         return this.getSOAPServicesBlackListBothHeadersList;
  24528.     }
  24529.    
  24530.     private Boolean getSOAPServicesBlackListRequestHeadersRead = null;
  24531.     private List<MapKey<String>> getSOAPServicesBlackListRequestHeadersList = null;
  24532.     private List<MapKey<String>> getSOAPServicesBlackListRequestHeaders() {
  24533.         if(this.getSOAPServicesBlackListRequestHeadersRead==null){
  24534.             try{
  24535.                 this.getSOAPServicesBlackListRequestHeadersList = new ArrayList<>();
  24536.                 String name = null;
  24537.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.headers.blackList.request");
  24538.                 if(name!=null){
  24539.                     name = name.trim();
  24540.                     String [] split = name.split(",");
  24541.                     if(split!=null){
  24542.                         for (int i = 0; i < split.length; i++) {
  24543.                             this.getSOAPServicesBlackListRequestHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  24544.                         }
  24545.                     }
  24546.                 }
  24547.                 this.getSOAPServicesBlackListRequestHeadersRead = true;
  24548.             } catch(java.lang.Exception e) {
  24549.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.headers.blackList.request': "+e.getMessage(),e);
  24550.             }    
  24551.         }
  24552.        
  24553.         return this.getSOAPServicesBlackListRequestHeadersList;
  24554.     }
  24555.    
  24556.     private Boolean getSOAPServicesBlackListResponseHeadersRead = null;
  24557.     private List<MapKey<String>> getSOAPServicesBlackListResponseHeadersList = null;
  24558.     private List<MapKey<String>> getSOAPServicesBlackListResponseHeaders() {    
  24559.         if(this.getSOAPServicesBlackListResponseHeadersRead==null){
  24560.             try{
  24561.                 this.getSOAPServicesBlackListResponseHeadersList = new ArrayList<>();
  24562.                 String name = null;
  24563.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.headers.blackList.response");
  24564.                 if(name!=null){
  24565.                     name = name.trim();
  24566.                     String [] split = name.split(",");
  24567.                     if(split!=null){
  24568.                         for (int i = 0; i < split.length; i++) {
  24569.                             this.getSOAPServicesBlackListResponseHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  24570.                         }
  24571.                     }
  24572.                 }
  24573.                 this.getSOAPServicesBlackListResponseHeadersRead = true;
  24574.             } catch(java.lang.Exception e) {
  24575.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.headers.blackList.response': "+e.getMessage(),e);
  24576.             }    
  24577.         }
  24578.        
  24579.         return this.getSOAPServicesBlackListResponseHeadersList;
  24580.     }
  24581.    
  24582.     private Boolean getSOAPServicesWhiteListBothHeadersRead = null;
  24583.     private List<MapKey<String>> getSOAPServicesWhiteListBothHeadersList = null;
  24584.     private List<MapKey<String>> getSOAPServicesWhiteListBothHeaders() {    
  24585.         if(this.getSOAPServicesWhiteListBothHeadersRead==null){
  24586.             try{
  24587.                 this.getSOAPServicesWhiteListBothHeadersList = new ArrayList<>();
  24588.                 String name = null;
  24589.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.headers.whiteList.both");
  24590.                 if(name!=null){
  24591.                     name = name.trim();
  24592.                     String [] split = name.split(",");
  24593.                     if(split!=null){
  24594.                         for (int i = 0; i < split.length; i++) {
  24595.                             this.getSOAPServicesWhiteListBothHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  24596.                         }
  24597.                     }
  24598.                 }
  24599.                 this.getSOAPServicesWhiteListBothHeadersRead = true;
  24600.             } catch(java.lang.Exception e) {
  24601.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.headers.whiteList.both': "+e.getMessage(),e);
  24602.             }    
  24603.         }
  24604.        
  24605.         return this.getSOAPServicesWhiteListBothHeadersList;
  24606.     }
  24607.    
  24608.     private Boolean getSOAPServicesWhiteListRequestHeadersRead = null;
  24609.     private List<MapKey<String>> getSOAPServicesWhiteListRequestHeadersList = null;
  24610.     private List<MapKey<String>> getSOAPServicesWhiteListRequestHeaders() {
  24611.         if(this.getSOAPServicesWhiteListRequestHeadersRead==null){
  24612.             try{
  24613.                 this.getSOAPServicesWhiteListRequestHeadersList = new ArrayList<>();
  24614.                 String name = null;
  24615.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.headers.whiteList.request");
  24616.                 if(name!=null){
  24617.                     name = name.trim();
  24618.                     String [] split = name.split(",");
  24619.                     if(split!=null){
  24620.                         for (int i = 0; i < split.length; i++) {
  24621.                             this.getSOAPServicesWhiteListRequestHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  24622.                         }
  24623.                     }
  24624.                 }
  24625.                 this.getSOAPServicesWhiteListRequestHeadersRead = true;
  24626.             } catch(java.lang.Exception e) {
  24627.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.headers.whiteList.request': "+e.getMessage(),e);
  24628.             }    
  24629.         }
  24630.        
  24631.         return this.getSOAPServicesWhiteListRequestHeadersList;
  24632.     }
  24633.    
  24634.     private Boolean getSOAPServicesWhiteListResponseHeadersRead = null;
  24635.     private List<MapKey<String>> getSOAPServicesWhiteListResponseHeadersList = null;
  24636.     private List<MapKey<String>> getSOAPServicesWhiteListResponseHeaders() {    
  24637.         if(this.getSOAPServicesWhiteListResponseHeadersRead==null){
  24638.             try{
  24639.                 this.getSOAPServicesWhiteListResponseHeadersList = new ArrayList<>();
  24640.                 String name = null;
  24641.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.headers.whiteList.response");
  24642.                 if(name!=null){
  24643.                     name = name.trim();
  24644.                     String [] split = name.split(",");
  24645.                     if(split!=null){
  24646.                         for (int i = 0; i < split.length; i++) {
  24647.                             this.getSOAPServicesWhiteListResponseHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  24648.                         }
  24649.                     }
  24650.                 }
  24651.                 this.getSOAPServicesWhiteListResponseHeadersRead = true;
  24652.             } catch(java.lang.Exception e) {
  24653.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.headers.whiteList.response': "+e.getMessage(),e);
  24654.             }    
  24655.         }
  24656.        
  24657.         return this.getSOAPServicesWhiteListResponseHeadersList;
  24658.     }
  24659.    
  24660.     private List<String> getSOAPServicesBlackListHeaders(boolean request) {
  24661.        
  24662.         List<MapKey<String>> blackList = new ArrayList<>();
  24663.         List<MapKey<String>> tmp = this.getSOAPServicesBlackListBothInternalHeaders();
  24664.         this._list_add(tmp, blackList);
  24665.         tmp = this.getSOAPServicesBlackListBothHeaders();
  24666.         this._list_add(tmp, blackList);
  24667.        
  24668.         if(request) {
  24669.             tmp = this.getSOAPServicesBlackListRequestInternalHeaders();
  24670.             this._list_add(tmp, blackList);
  24671.             tmp = this.getSOAPServicesBlackListRequestHeaders();
  24672.             this._list_add(tmp, blackList);
  24673.         }
  24674.         else {
  24675.             tmp = this.getSOAPServicesBlackListResponseInternalHeaders();
  24676.             this._list_add(tmp, blackList);
  24677.             tmp = this.getSOAPServicesBlackListResponseHeaders();
  24678.             this._list_add(tmp, blackList);
  24679.         }
  24680.        
  24681.         List<String> l = new ArrayList<>();
  24682.         if(!blackList.isEmpty()) {
  24683.             for (MapKey<String> key : blackList) {
  24684.                 l.add(key.getValue());
  24685.             }
  24686.         }
  24687.         return l;
  24688.     }
  24689.     private List<String> getSOAPServicesWhiteListHeaders(boolean request) {
  24690.        
  24691.         List<MapKey<String>> whiteList = new ArrayList<>();
  24692.         List<MapKey<String>> tmp = this.getSOAPServicesWhiteListBothHeaders();
  24693.         this._list_add(tmp, whiteList);
  24694.         if(request) {
  24695.             tmp = this.getSOAPServicesWhiteListRequestHeaders();
  24696.             this._list_add(tmp, whiteList);
  24697.         }
  24698.         else {
  24699.             tmp = this.getSOAPServicesWhiteListResponseHeaders();
  24700.             this._list_add(tmp, whiteList);
  24701.         }
  24702.        
  24703.         List<String> l = new ArrayList<>();
  24704.         if(!whiteList.isEmpty()) {
  24705.             for (MapKey<String> key : whiteList) {
  24706.                 l.add(key.getValue());
  24707.             }
  24708.         }
  24709.         return l;
  24710.     }
  24711.     public ForwardConfig getSOAPServicesHeadersForwardConfig(boolean request) {
  24712.         ForwardConfig f = new ForwardConfig();
  24713.         f.setForwardEnable(this.isSOAPServicesHeadersForward());
  24714.         f.setBlackList(getSOAPServicesBlackListHeaders(request));
  24715.         f.setWhiteList(getSOAPServicesWhiteListHeaders(request));
  24716.         return f;
  24717.     }

  24718.    
  24719.     /* ------------- SOAP (Trasporto - Headers - Proxy Pass Reverse) ---------------------*/
  24720.    
  24721.     // Location
  24722.    
  24723.     private Boolean isSOAPServices_inoltroBuste_proxyPassReverse = null;
  24724.     public boolean isSOAPServices_inoltroBuste_proxyPassReverse() {
  24725.         if(this.isSOAPServices_inoltroBuste_proxyPassReverse==null){
  24726.             try{
  24727.                 String name = null;
  24728.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.connettori.inoltroBuste.proxyPassReverse");
  24729.                 if(name==null){
  24730.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.soap.connettori.inoltroBuste.proxyPassReverse' non impostata, viene utilizzato il default=false");
  24731.                     name="false";
  24732.                 }
  24733.                 name = name.trim();
  24734.                 this.isSOAPServices_inoltroBuste_proxyPassReverse = Boolean.parseBoolean(name);
  24735.             } catch(java.lang.Exception e) {
  24736.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.connettori.inoltroBuste.proxyPassReverse': "+e.getMessage(),e);
  24737.                 this.isSOAPServices_inoltroBuste_proxyPassReverse = false;
  24738.             }    
  24739.         }

  24740.         return this.isSOAPServices_inoltroBuste_proxyPassReverse;
  24741.     }
  24742.    
  24743.     private Boolean isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse = null;
  24744.     public boolean isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse() {
  24745.         if(this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse==null){
  24746.             try{
  24747.                 String name = null;
  24748.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.proxyPassReverse");
  24749.                 if(name==null){
  24750.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.proxyPassReverse' non impostata, viene utilizzato il default=false");
  24751.                     name="false";
  24752.                 }
  24753.                 name = name.trim();
  24754.                 this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse = Boolean.parseBoolean(name);
  24755.             } catch(java.lang.Exception e) {
  24756.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.proxyPassReverse': "+e.getMessage(),e);
  24757.                 this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse = false;
  24758.             }    
  24759.         }

  24760.         return this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse;
  24761.     }
  24762.    
  24763.     private List<String> getSOAPServices_inoltroBuste_proxyPassReverse_headers = null;
  24764.     public List<String> getSOAPServices_inoltroBuste_proxyPassReverse_headers() throws CoreException {  
  24765.         if(this.getSOAPServices_inoltroBuste_proxyPassReverse_headers==null){
  24766.             try{
  24767.                 this.getSOAPServices_inoltroBuste_proxyPassReverse_headers = new ArrayList<>();
  24768.                
  24769.                 String name = null;
  24770.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.connettori.inoltroBuste.proxyPassReverse.headers");
  24771.                 if(name!=null){
  24772.                     name = name.trim();
  24773.                 }
  24774.                 if(name!=null && !"".equals(name)) {
  24775.                     if(name.contains(",")) {
  24776.                         String [] tmp = name.split(",");
  24777.                         for (int i = 0; i < tmp.length; i++) {
  24778.                             this.getSOAPServices_inoltroBuste_proxyPassReverse_headers.add(tmp[i].trim());
  24779.                         }
  24780.                     }
  24781.                     else {
  24782.                         this.getSOAPServices_inoltroBuste_proxyPassReverse_headers.add(name);
  24783.                     }
  24784.                 }
  24785.             } catch(java.lang.Exception e) {
  24786.                 String error = "Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.connettori.inoltroBuste.proxyPassReverse.headers': "+e.getMessage();
  24787.                 this.logError(error,e);
  24788.                 throw new CoreException(error);
  24789.             }    
  24790.         }

  24791.         return this.getSOAPServices_inoltroBuste_proxyPassReverse_headers;
  24792.     }
  24793.    
  24794.     private List<String> getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_headers = null;
  24795.     public List<String> getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_headers() throws CoreException {  
  24796.         if(this.getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_headers==null){
  24797.             try{
  24798.                 this.getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_headers = new ArrayList<>();
  24799.                
  24800.                 String name = null;
  24801.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.proxyPassReverse.headers");
  24802.                 if(name!=null){
  24803.                     name = name.trim();
  24804.                 }
  24805.                 if(name!=null && !"".equals(name)) {
  24806.                     if(name.contains(",")) {
  24807.                         String [] tmp = name.split(",");
  24808.                         for (int i = 0; i < tmp.length; i++) {
  24809.                             this.getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_headers.add(tmp[i].trim());
  24810.                         }
  24811.                     }
  24812.                     else {
  24813.                         this.getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_headers.add(name);
  24814.                     }
  24815.                 }
  24816.             } catch(java.lang.Exception e) {
  24817.                 String error = "Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.proxyPassReverse.headers': "+e.getMessage();
  24818.                 this.logError(error,e);
  24819.                 throw new CoreException(error);
  24820.             }    
  24821.         }

  24822.         return this.getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_headers;
  24823.     }
  24824.    
  24825.     // Set-Cookie
  24826.    
  24827.     private Boolean isSOAPServices_inoltroBuste_proxyPassReverse_setCookie = null;
  24828.     public boolean isSOAPServices_inoltroBuste_proxyPassReverse_setCookie() {  
  24829.         if(this.isSOAPServices_inoltroBuste_proxyPassReverse_setCookie==null){
  24830.             String pName = "org.openspcoop2.pdd.soap.connettori.inoltroBuste.proxyPassReverse.setCookie";
  24831.             try{
  24832.                 String name = null;
  24833.                 name = this.reader.getValueConvertEnvProperties(pName);
  24834.                 if(name==null){
  24835.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  24836.                     name="false";
  24837.                 }
  24838.                 name = name.trim();
  24839.                 this.isSOAPServices_inoltroBuste_proxyPassReverse_setCookie = Boolean.parseBoolean(name);
  24840.             } catch(java.lang.Exception e) {
  24841.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  24842.                 this.isSOAPServices_inoltroBuste_proxyPassReverse_setCookie = false;
  24843.             }    
  24844.         }

  24845.         return this.isSOAPServices_inoltroBuste_proxyPassReverse_setCookie;
  24846.     }
  24847.    
  24848.     private Boolean isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie = null;
  24849.     public boolean isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie() {  
  24850.         if(this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie==null){
  24851.             String pName = "org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.proxyPassReverse.setCookie";
  24852.             try{
  24853.                 String name = null;
  24854.                 name = this.reader.getValueConvertEnvProperties(pName);
  24855.                 if(name==null){
  24856.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  24857.                     name="false";
  24858.                 }
  24859.                 name = name.trim();
  24860.                 this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie = Boolean.parseBoolean(name);
  24861.             } catch(java.lang.Exception e) {
  24862.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  24863.                 this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie = false;
  24864.             }    
  24865.         }

  24866.         return this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie;
  24867.     }
  24868.    
  24869.     private Boolean isSOAPServices_inoltroBuste_proxyPassReverse_setCookie_path = null;
  24870.     public boolean isSOAPServices_inoltroBuste_proxyPassReverse_setCookie_path() {  
  24871.         if(this.isSOAPServices_inoltroBuste_proxyPassReverse_setCookie_path==null){
  24872.             String pName = "org.openspcoop2.pdd.soap.connettori.inoltroBuste.proxyPassReverse.setCookie.path";
  24873.             try{
  24874.                 String name = null;
  24875.                 name = this.reader.getValueConvertEnvProperties(pName);
  24876.                 if(name==null){
  24877.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isSOAPServices_inoltroBuste_proxyPassReverse_setCookie()));
  24878.                     name=""+isSOAPServices_inoltroBuste_proxyPassReverse_setCookie();
  24879.                 }
  24880.                 name = name.trim();
  24881.                 this.isSOAPServices_inoltroBuste_proxyPassReverse_setCookie_path = Boolean.parseBoolean(name);
  24882.             } catch(java.lang.Exception e) {
  24883.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  24884.                 this.isSOAPServices_inoltroBuste_proxyPassReverse_setCookie_path = isSOAPServices_inoltroBuste_proxyPassReverse_setCookie();
  24885.             }    
  24886.         }

  24887.         return this.isSOAPServices_inoltroBuste_proxyPassReverse_setCookie_path;
  24888.     }
  24889.    
  24890.     private Boolean isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_path = null;
  24891.     public boolean isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_path() {  
  24892.         if(this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_path==null){
  24893.             String pName = "org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.proxyPassReverse.setCookie.path";
  24894.             try{
  24895.                 String name = null;
  24896.                 name = this.reader.getValueConvertEnvProperties(pName);
  24897.                 if(name==null){
  24898.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie()));
  24899.                     name=""+isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie();
  24900.                 }
  24901.                 name = name.trim();
  24902.                 this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_path = Boolean.parseBoolean(name);
  24903.             } catch(java.lang.Exception e) {
  24904.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  24905.                 this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_path = isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie();
  24906.             }    
  24907.         }

  24908.         return this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_path;
  24909.     }
  24910.    
  24911.     private Boolean isSOAPServices_inoltroBuste_proxyPassReverse_setCookie_domain = null;
  24912.     public boolean isSOAPServices_inoltroBuste_proxyPassReverse_setCookie_domain() {    
  24913.         if(this.isSOAPServices_inoltroBuste_proxyPassReverse_setCookie_domain==null){
  24914.             String pName = "org.openspcoop2.pdd.soap.connettori.inoltroBuste.proxyPassReverse.setCookie.domain";
  24915.             try{
  24916.                 String name = null;
  24917.                 name = this.reader.getValueConvertEnvProperties(pName);
  24918.                 if(name==null){
  24919.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isSOAPServices_inoltroBuste_proxyPassReverse_setCookie()));
  24920.                     name=""+isSOAPServices_inoltroBuste_proxyPassReverse_setCookie();
  24921.                 }
  24922.                 name = name.trim();
  24923.                 this.isSOAPServices_inoltroBuste_proxyPassReverse_setCookie_domain = Boolean.parseBoolean(name);
  24924.             } catch(java.lang.Exception e) {
  24925.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  24926.                 this.isSOAPServices_inoltroBuste_proxyPassReverse_setCookie_domain = isSOAPServices_inoltroBuste_proxyPassReverse_setCookie();
  24927.             }    
  24928.         }

  24929.         return this.isSOAPServices_inoltroBuste_proxyPassReverse_setCookie_domain;
  24930.     }
  24931.    
  24932.     private Boolean isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_domain = null;
  24933.     public boolean isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_domain() {    
  24934.         if(this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_domain==null){
  24935.             String pName = "org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.proxyPassReverse.setCookie.domain";
  24936.             try{
  24937.                 String name = null;
  24938.                 name = this.reader.getValueConvertEnvProperties(pName);
  24939.                 if(name==null){
  24940.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie()));
  24941.                     name=""+isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie();
  24942.                 }
  24943.                 name = name.trim();
  24944.                 this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_domain = Boolean.parseBoolean(name);
  24945.             } catch(java.lang.Exception e) {
  24946.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  24947.                 this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_domain = isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie();
  24948.             }    
  24949.         }

  24950.         return this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_domain;
  24951.     }
  24952.    
  24953.     private List<String> getSOAPServices_inoltroBuste_proxyPassReverse_setCookie_headers = null;
  24954.     public List<String> getSOAPServices_inoltroBuste_proxyPassReverse_setCookie_headers() throws CoreException {    
  24955.         if(this.getSOAPServices_inoltroBuste_proxyPassReverse_setCookie_headers==null){
  24956.             try{
  24957.                 this.getSOAPServices_inoltroBuste_proxyPassReverse_setCookie_headers = new ArrayList<>();
  24958.                
  24959.                 String name = null;
  24960.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.connettori.inoltroBuste.proxyPassReverse.setCookie.headers");
  24961.                 if(name!=null){
  24962.                     name = name.trim();
  24963.                 }
  24964.                 if(name!=null && !"".equals(name)) {
  24965.                     if(name.contains(",")) {
  24966.                         String [] tmp = name.split(",");
  24967.                         for (int i = 0; i < tmp.length; i++) {
  24968.                             this.getSOAPServices_inoltroBuste_proxyPassReverse_setCookie_headers.add(tmp[i].trim());
  24969.                         }
  24970.                     }
  24971.                     else {
  24972.                         this.getSOAPServices_inoltroBuste_proxyPassReverse_setCookie_headers.add(name);
  24973.                     }
  24974.                 }
  24975.             } catch(java.lang.Exception e) {
  24976.                 String error = "Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.connettori.inoltroBuste.proxyPassReverse.setCookie.headers': "+e.getMessage();
  24977.                 this.logError(error,e);
  24978.                 throw new CoreException(error);
  24979.             }    
  24980.         }

  24981.         return this.getSOAPServices_inoltroBuste_proxyPassReverse_setCookie_headers;
  24982.     }
  24983.    
  24984.     private List<String> getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers = null;
  24985.     public List<String> getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers() throws CoreException {    
  24986.         if(this.getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers==null){
  24987.             try{
  24988.                 this.getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers = new ArrayList<>();
  24989.                
  24990.                 String name = null;
  24991.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.proxyPassReverse.setCookie.headers");
  24992.                 if(name!=null){
  24993.                     name = name.trim();
  24994.                 }
  24995.                 if(name!=null && !"".equals(name)) {
  24996.                     if(name.contains(",")) {
  24997.                         String [] tmp = name.split(",");
  24998.                         for (int i = 0; i < tmp.length; i++) {
  24999.                             this.getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers.add(tmp[i].trim());
  25000.                         }
  25001.                     }
  25002.                     else {
  25003.                         this.getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers.add(name);
  25004.                     }
  25005.                 }
  25006.             } catch(java.lang.Exception e) {
  25007.                 String error = "Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.proxyPassReverse.setCookie.headers': "+e.getMessage();
  25008.                 this.logError(error,e);
  25009.                 throw new CoreException(error);
  25010.             }    
  25011.         }

  25012.         return this.getSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers;
  25013.     }
  25014.    
  25015.     // useProtocolPrefix
  25016.    
  25017.     private Boolean isSOAPServices_inoltroBuste_proxyPassReverse_useProtocolPrefix = null;
  25018.     public boolean isSOAPServices_inoltroBuste_proxyPassReverse_useProtocolPrefix() {  
  25019.         if(this.isSOAPServices_inoltroBuste_proxyPassReverse_useProtocolPrefix==null){
  25020.             try{
  25021.                 String name = null;
  25022.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.connettori.inoltroBuste.proxyPassReverse.useProtocolPrefix");
  25023.                 if(name==null){
  25024.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.soap.connettori.inoltroBuste.proxyPassReverse.useProtocolPrefix' non impostata, viene utilizzato il default=false");
  25025.                     name="false";
  25026.                 }
  25027.                 name = name.trim();
  25028.                 this.isSOAPServices_inoltroBuste_proxyPassReverse_useProtocolPrefix = Boolean.parseBoolean(name);
  25029.             } catch(java.lang.Exception e) {
  25030.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.connettori.inoltroBuste.proxyPassReverse.useProtocolPrefix': "+e.getMessage(),e);
  25031.                 this.isSOAPServices_inoltroBuste_proxyPassReverse_useProtocolPrefix = false;
  25032.             }    
  25033.         }

  25034.         return this.isSOAPServices_inoltroBuste_proxyPassReverse_useProtocolPrefix;
  25035.     }
  25036.    
  25037.     private Boolean isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_useProtocolPrefix = null;
  25038.     public boolean isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_useProtocolPrefix() {  
  25039.         if(this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_useProtocolPrefix==null){
  25040.             try{
  25041.                 String name = null;
  25042.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.proxyPassReverse.useProtocolPrefix");
  25043.                 if(name==null){
  25044.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.proxyPassReverse.useProtocolPrefix' non impostata, viene utilizzato il default=false");
  25045.                     name="false";
  25046.                 }
  25047.                 name = name.trim();
  25048.                 this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_useProtocolPrefix = Boolean.parseBoolean(name);
  25049.             } catch(java.lang.Exception e) {
  25050.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.proxyPassReverse.useProtocolPrefix': "+e.getMessage(),e);
  25051.                 this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_useProtocolPrefix = false;
  25052.             }    
  25053.         }

  25054.         return this.isSOAPServices_consegnaContenutiApplicativi_proxyPassReverse_useProtocolPrefix;
  25055.     }
  25056.    
  25057.     private Boolean isSOAPServices_inoltroBuste_response_securityHeaders = null;
  25058.     public boolean isSOAPServices_inoltroBuste_response_securityHeaders() {
  25059.         if(this.isSOAPServices_inoltroBuste_response_securityHeaders==null){
  25060.             String pName = "org.openspcoop2.pdd.soap.connettori.inoltroBuste.response.securityHeaders";
  25061.             try{
  25062.                 String name = null;
  25063.                 name = this.reader.getValueConvertEnvProperties(pName);
  25064.                 if(name==null){
  25065.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  25066.                     name="true";
  25067.                 }
  25068.                 name = name.trim();
  25069.                 this.isSOAPServices_inoltroBuste_response_securityHeaders = Boolean.parseBoolean(name);
  25070.             } catch(java.lang.Exception e) {
  25071.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  25072.                 this.isSOAPServices_inoltroBuste_response_securityHeaders = true;
  25073.             }    
  25074.         }

  25075.         return this.isSOAPServices_inoltroBuste_response_securityHeaders;
  25076.     }
  25077.    
  25078.     private Properties getSOAPServices_inoltroBuste_response_securityHeaders = null;
  25079.     public Properties getSOAPServices_inoltroBuste_response_securityHeaders() throws CoreException {    
  25080.         if(this.getSOAPServices_inoltroBuste_response_securityHeaders==null){
  25081.             String pName = "org.openspcoop2.pdd.soap.connettori.inoltroBuste.response.securityHeaders.";
  25082.             try{
  25083.                 this.getSOAPServices_inoltroBuste_response_securityHeaders = this.reader.readPropertiesConvertEnvProperties(pName);
  25084.             } catch(java.lang.Exception e) {
  25085.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"*': "+e.getMessage(),e);
  25086.                 throw new CoreException(e.getMessage(),e);
  25087.             }    
  25088.         }

  25089.         return this.getSOAPServices_inoltroBuste_response_securityHeaders;
  25090.     }
  25091.    
  25092.     private Boolean isSOAPServices_consegnaContenutiApplicativi_response_securityHeaders = null;
  25093.     public boolean isSOAPServices_consegnaContenutiApplicativi_response_securityHeaders() {
  25094.         if(this.isSOAPServices_consegnaContenutiApplicativi_response_securityHeaders==null){
  25095.             String pName = "org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.response.securityHeaders";
  25096.             try{
  25097.                 String name = null;
  25098.                 name = this.reader.getValueConvertEnvProperties(pName);
  25099.                 if(name==null){
  25100.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  25101.                     name="true";
  25102.                 }
  25103.                 name = name.trim();
  25104.                 this.isSOAPServices_consegnaContenutiApplicativi_response_securityHeaders = Boolean.parseBoolean(name);
  25105.             } catch(java.lang.Exception e) {
  25106.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  25107.                 this.isSOAPServices_consegnaContenutiApplicativi_response_securityHeaders = true;
  25108.             }    
  25109.         }

  25110.         return this.isSOAPServices_consegnaContenutiApplicativi_response_securityHeaders;
  25111.     }
  25112.    
  25113.     private Properties getSOAPServices_consegnaContenutiApplicativi_response_securityHeaders = null;
  25114.     public Properties getSOAPServices_consegnaContenutiApplicativi_response_securityHeaders() throws CoreException {    
  25115.         if(this.getSOAPServices_consegnaContenutiApplicativi_response_securityHeaders==null){
  25116.             String pName = "org.openspcoop2.pdd.soap.connettori.consegnaContenutiApplicativi.response.securityHeaders.";
  25117.             try{
  25118.                 this.getSOAPServices_consegnaContenutiApplicativi_response_securityHeaders = this.reader.readPropertiesConvertEnvProperties(pName);
  25119.             } catch(java.lang.Exception e) {
  25120.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"*': "+e.getMessage(),e);
  25121.                 throw new CoreException(e.getMessage(),e);
  25122.             }    
  25123.         }

  25124.         return this.getSOAPServices_consegnaContenutiApplicativi_response_securityHeaders;
  25125.     }
  25126.    
  25127.    
  25128.    
  25129.     /* ------------- REST (Trasporto - URLParameters) ---------------------*/
  25130.    
  25131.     private Boolean isRESTServicesUrlParametersForward = null;
  25132.     private boolean isRESTServicesUrlParametersForward(){

  25133.         if(this.isRESTServicesUrlParametersForward==null){
  25134.             try{  
  25135.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.urlParameters.forward.enable");

  25136.                 if (value != null){
  25137.                     value = value.trim();
  25138.                     this.isRESTServicesUrlParametersForward = Boolean.parseBoolean(value);
  25139.                 }else{
  25140.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.rest.urlParameters.forward.enable' non impostata, viene utilizzato il default=true");
  25141.                     this.isRESTServicesUrlParametersForward = true;
  25142.                 }

  25143.             }catch(java.lang.Exception e) {
  25144.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.rest.urlParameters.forward.enable' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  25145.                 this.isRESTServicesUrlParametersForward = true;
  25146.             }
  25147.         }

  25148.         return this.isRESTServicesUrlParametersForward;
  25149.     }
  25150.    
  25151.     private Boolean getRESTServicesBlackListInternalUrlParametersRead = null;
  25152.     private List<MapKey<String>> getRESTServicesBlackListInternalUrlParametersList = null;
  25153.     private List<MapKey<String>> getRESTServicesBlackListInternalUrlParameters() {  
  25154.         if(this.getRESTServicesBlackListInternalUrlParametersRead==null){
  25155.             try{
  25156.                 this.getRESTServicesBlackListInternalUrlParametersList = new ArrayList<>();
  25157.                 String name = null;
  25158.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.urlParameters.blackList.internal");
  25159.                 if(name!=null){
  25160.                     name = name.trim();
  25161.                     String [] split = name.split(",");
  25162.                     if(split!=null){
  25163.                         for (int i = 0; i < split.length; i++) {
  25164.                             this.getRESTServicesBlackListInternalUrlParametersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  25165.                         }
  25166.                     }
  25167.                 }
  25168.                 this.getRESTServicesBlackListInternalUrlParametersRead = true;
  25169.             } catch(java.lang.Exception e) {
  25170.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.urlParameters.blackList.internal': "+e.getMessage(),e);
  25171.             }    
  25172.         }
  25173.        
  25174.         return this.getRESTServicesBlackListInternalUrlParametersList;
  25175.     }
  25176.    
  25177.     private Boolean getRESTServicesBlackListUrlParametersRead = null;
  25178.     private List<MapKey<String>> getRESTServicesBlackListUrlParametersList = null;
  25179.     private List<MapKey<String>> getRESTServicesBlackListUrlParameters() {  
  25180.         if(this.getRESTServicesBlackListUrlParametersRead==null){
  25181.             try{
  25182.                 this.getRESTServicesBlackListUrlParametersList = new ArrayList<>();
  25183.                 String name = null;
  25184.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.urlParameters.blackList");
  25185.                 if(name!=null){
  25186.                     name = name.trim();
  25187.                     String [] split = name.split(",");
  25188.                     if(split!=null){
  25189.                         for (int i = 0; i < split.length; i++) {
  25190.                             this.getRESTServicesBlackListUrlParametersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  25191.                         }
  25192.                     }
  25193.                 }
  25194.                 this.getRESTServicesBlackListUrlParametersRead = true;
  25195.             } catch(java.lang.Exception e) {
  25196.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.urlParameters.blackList': "+e.getMessage(),e);
  25197.             }    
  25198.         }
  25199.        
  25200.         return this.getRESTServicesBlackListUrlParametersList;
  25201.     }
  25202.    
  25203.     private Boolean getRESTServicesWhiteListUrlParametersRead = null;
  25204.     private List<MapKey<String>> getRESTServicesWhiteListUrlParametersList = null;
  25205.     private List<MapKey<String>> getRESTServicesWhiteListUrlParameters() {  
  25206.         if(this.getRESTServicesWhiteListUrlParametersRead==null){
  25207.             try{
  25208.                 this.getRESTServicesWhiteListUrlParametersList = new ArrayList<>();
  25209.                 String name = null;
  25210.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.urlParameters.whiteList");
  25211.                 if(name!=null){
  25212.                     name = name.trim();
  25213.                     String [] split = name.split(",");
  25214.                     if(split!=null){
  25215.                         for (int i = 0; i < split.length; i++) {
  25216.                             this.getRESTServicesWhiteListUrlParametersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  25217.                         }
  25218.                     }
  25219.                 }
  25220.                 this.getRESTServicesWhiteListUrlParametersRead = true;
  25221.             } catch(java.lang.Exception e) {
  25222.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.urlParameters.whiteList': "+e.getMessage(),e);
  25223.             }    
  25224.         }
  25225.        
  25226.         return this.getRESTServicesWhiteListUrlParametersList;
  25227.     }
  25228.        
  25229.     private List<String> _getRESTServicesBlackListUrlParameters() {
  25230.        
  25231.         List<MapKey<String>> blackList = new ArrayList<>();
  25232.         List<MapKey<String>> tmp = this.getRESTServicesBlackListInternalUrlParameters();
  25233.         this._list_add(tmp, blackList);
  25234.         tmp = this.getRESTServicesBlackListUrlParameters();
  25235.         this._list_add(tmp, blackList);
  25236.        
  25237.         List<String> l = new ArrayList<>();
  25238.         if(!blackList.isEmpty()) {
  25239.             for (MapKey<String> key : blackList) {
  25240.                 l.add(key.getValue());
  25241.             }
  25242.         }
  25243.         return l;
  25244.     }
  25245.     private List<String> _getRESTServicesWhiteListUrlParameters() {
  25246.        
  25247.         List<MapKey<String>> whiteList = new ArrayList<>();
  25248.         List<MapKey<String>> tmp = this.getRESTServicesWhiteListUrlParameters();
  25249.         this._list_add(tmp, whiteList);
  25250.        
  25251.         List<String> l = new ArrayList<>();
  25252.         if(!whiteList.isEmpty()) {
  25253.             for (MapKey<String> key : whiteList) {
  25254.                 l.add(key.getValue());
  25255.             }
  25256.         }
  25257.         return l;
  25258.     }
  25259.     public ForwardConfig getRESTServicesUrlParametersForwardConfig() {
  25260.         ForwardConfig f = new ForwardConfig();
  25261.         f.setForwardEnable(this.isRESTServicesUrlParametersForward());
  25262.         f.setBlackList(_getRESTServicesBlackListUrlParameters());
  25263.         f.setWhiteList(_getRESTServicesWhiteListUrlParameters());
  25264.         return f;
  25265.     }
  25266.    
  25267.    
  25268.    
  25269.    
  25270.     /* ------------- REST (Trasporto - Headers) ---------------------*/
  25271.    
  25272.     private Boolean isRESTServicesHeadersForward = null;
  25273.     private boolean isRESTServicesHeadersForward(){

  25274.         if(this.isRESTServicesHeadersForward==null){
  25275.             try{  
  25276.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.headers.forward.enable");

  25277.                 if (value != null){
  25278.                     value = value.trim();
  25279.                     this.isRESTServicesHeadersForward = Boolean.parseBoolean(value);
  25280.                 }else{
  25281.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.rest.headers.forward.enable' non impostata, viene utilizzato il default=true");
  25282.                     this.isRESTServicesHeadersForward = true;
  25283.                 }

  25284.             }catch(java.lang.Exception e) {
  25285.                 this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.rest.headers.forward.enable' non impostata, viene utilizzato il default=true, errore:"+e.getMessage(),e);
  25286.                 this.isRESTServicesHeadersForward = true;
  25287.             }
  25288.         }

  25289.         return this.isRESTServicesHeadersForward;
  25290.     }
  25291.    
  25292.     private Boolean getRESTServicesBlackListBothInternalHeadersRead = null;
  25293.     private List<MapKey<String>> getRESTServicesBlackListBothInternalHeadersList = null;
  25294.     private List<MapKey<String>> getRESTServicesBlackListBothInternalHeaders() {    
  25295.         if(this.getRESTServicesBlackListBothInternalHeadersRead==null){
  25296.             try{
  25297.                 this.getRESTServicesBlackListBothInternalHeadersList = new ArrayList<>();
  25298.                 String name = null;
  25299.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.headers.blackList.internal.both");
  25300.                 if(name!=null){
  25301.                     name = name.trim();
  25302.                     String [] split = name.split(",");
  25303.                     if(split!=null){
  25304.                         for (int i = 0; i < split.length; i++) {
  25305.                             this.getRESTServicesBlackListBothInternalHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  25306.                         }
  25307.                     }
  25308.                 }
  25309.                 this.getRESTServicesBlackListBothInternalHeadersRead = true;
  25310.             } catch(java.lang.Exception e) {
  25311.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.headers.blackList.internal.both': "+e.getMessage(),e);
  25312.             }    
  25313.         }
  25314.        
  25315.         return this.getRESTServicesBlackListBothInternalHeadersList;
  25316.     }
  25317.    
  25318.     private Boolean getRESTServicesBlackListRequestInternalHeadersRead = null;
  25319.     private List<MapKey<String>> getRESTServicesBlackListRequestInternalHeadersList = null;
  25320.     private List<MapKey<String>> getRESTServicesBlackListRequestInternalHeaders() {
  25321.         if(this.getRESTServicesBlackListRequestInternalHeadersRead==null){
  25322.             try{
  25323.                 this.getRESTServicesBlackListRequestInternalHeadersList = new ArrayList<>();
  25324.                 String name = null;
  25325.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.headers.blackList.internal.request");
  25326.                 if(name!=null){
  25327.                     name = name.trim();
  25328.                     String [] split = name.split(",");
  25329.                     if(split!=null){
  25330.                         for (int i = 0; i < split.length; i++) {
  25331.                             this.getRESTServicesBlackListRequestInternalHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  25332.                         }
  25333.                     }
  25334.                 }
  25335.                 this.getRESTServicesBlackListRequestInternalHeadersRead = true;
  25336.             } catch(java.lang.Exception e) {
  25337.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.headers.blackList.internal.request': "+e.getMessage(),e);
  25338.             }    
  25339.         }
  25340.        
  25341.         return this.getRESTServicesBlackListRequestInternalHeadersList;
  25342.     }
  25343.    
  25344.     private Boolean getRESTServicesBlackListResponseInternalHeadersRead = null;
  25345.     private List<MapKey<String>> getRESTServicesBlackListResponseInternalHeadersList = null;
  25346.     private List<MapKey<String>> getRESTServicesBlackListResponseInternalHeaders() {    
  25347.         if(this.getRESTServicesBlackListResponseInternalHeadersRead==null){
  25348.             try{
  25349.                 this.getRESTServicesBlackListResponseInternalHeadersList = new ArrayList<>();
  25350.                 String name = null;
  25351.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.headers.blackList.internal.response");
  25352.                 if(name!=null){
  25353.                     name = name.trim();
  25354.                     String [] split = name.split(",");
  25355.                     if(split!=null){
  25356.                         for (int i = 0; i < split.length; i++) {
  25357.                             this.getRESTServicesBlackListResponseInternalHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  25358.                         }
  25359.                     }
  25360.                 }
  25361.                 this.getRESTServicesBlackListResponseInternalHeadersRead = true;
  25362.             } catch(java.lang.Exception e) {
  25363.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.headers.blackList.internal.response': "+e.getMessage(),e);
  25364.             }    
  25365.         }
  25366.        
  25367.         return this.getRESTServicesBlackListResponseInternalHeadersList;
  25368.     }
  25369.    
  25370.     private Boolean getRESTServicesBlackListBothHeadersRead = null;
  25371.     private List<MapKey<String>> getRESTServicesBlackListBothHeadersList = null;
  25372.     private List<MapKey<String>> getRESTServicesBlackListBothHeaders() {    
  25373.         if(this.getRESTServicesBlackListBothHeadersRead==null){
  25374.             try{
  25375.                 this.getRESTServicesBlackListBothHeadersList = new ArrayList<>();
  25376.                 String name = null;
  25377.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.headers.blackList.both");
  25378.                 if(name!=null){
  25379.                     name = name.trim();
  25380.                     String [] split = name.split(",");
  25381.                     if(split!=null){
  25382.                         for (int i = 0; i < split.length; i++) {
  25383.                             this.getRESTServicesBlackListBothHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  25384.                         }
  25385.                     }
  25386.                 }
  25387.                 this.getRESTServicesBlackListBothHeadersRead = true;
  25388.             } catch(java.lang.Exception e) {
  25389.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.headers.blackList.both': "+e.getMessage(),e);
  25390.             }    
  25391.         }
  25392.        
  25393.         return this.getRESTServicesBlackListBothHeadersList;
  25394.     }
  25395.    
  25396.     private Boolean getRESTServicesBlackListRequestHeadersRead = null;
  25397.     private List<MapKey<String>> getRESTServicesBlackListRequestHeadersList = null;
  25398.     private List<MapKey<String>> getRESTServicesBlackListRequestHeaders() {
  25399.         if(this.getRESTServicesBlackListRequestHeadersRead==null){
  25400.             try{
  25401.                 this.getRESTServicesBlackListRequestHeadersList = new ArrayList<>();
  25402.                 String name = null;
  25403.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.headers.blackList.request");
  25404.                 if(name!=null){
  25405.                     name = name.trim();
  25406.                     String [] split = name.split(",");
  25407.                     if(split!=null){
  25408.                         for (int i = 0; i < split.length; i++) {
  25409.                             this.getRESTServicesBlackListRequestHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  25410.                         }
  25411.                     }
  25412.                 }
  25413.                 this.getRESTServicesBlackListRequestHeadersRead = true;
  25414.             } catch(java.lang.Exception e) {
  25415.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.headers.blackList.request': "+e.getMessage(),e);
  25416.             }    
  25417.         }
  25418.        
  25419.         return this.getRESTServicesBlackListRequestHeadersList;
  25420.     }
  25421.    
  25422.     private Boolean getRESTServicesBlackListResponseHeadersRead = null;
  25423.     private List<MapKey<String>> getRESTServicesBlackListResponseHeadersList = null;
  25424.     private List<MapKey<String>> getRESTServicesBlackListResponseHeaders() {    
  25425.         if(this.getRESTServicesBlackListResponseHeadersRead==null){
  25426.             try{
  25427.                 this.getRESTServicesBlackListResponseHeadersList = new ArrayList<>();
  25428.                 String name = null;
  25429.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.headers.blackList.response");
  25430.                 if(name!=null){
  25431.                     name = name.trim();
  25432.                     String [] split = name.split(",");
  25433.                     if(split!=null){
  25434.                         for (int i = 0; i < split.length; i++) {
  25435.                             this.getRESTServicesBlackListResponseHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  25436.                         }
  25437.                     }
  25438.                 }
  25439.                 this.getRESTServicesBlackListResponseHeadersRead = true;
  25440.             } catch(java.lang.Exception e) {
  25441.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.headers.blackList.response': "+e.getMessage(),e);
  25442.             }    
  25443.         }
  25444.        
  25445.         return this.getRESTServicesBlackListResponseHeadersList;
  25446.     }
  25447.    
  25448.     private Boolean getRESTServicesWhiteListBothHeadersRead = null;
  25449.     private List<MapKey<String>> getRESTServicesWhiteListBothHeadersList = null;
  25450.     private List<MapKey<String>> getRESTServicesWhiteListBothHeaders() {    
  25451.         if(this.getRESTServicesWhiteListBothHeadersRead==null){
  25452.             try{
  25453.                 this.getRESTServicesWhiteListBothHeadersList = new ArrayList<>();
  25454.                 String name = null;
  25455.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.headers.whiteList.both");
  25456.                 if(name!=null){
  25457.                     name = name.trim();
  25458.                     String [] split = name.split(",");
  25459.                     if(split!=null){
  25460.                         for (int i = 0; i < split.length; i++) {
  25461.                             this.getRESTServicesWhiteListBothHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  25462.                         }
  25463.                     }
  25464.                 }
  25465.                 this.getRESTServicesWhiteListBothHeadersRead = true;
  25466.             } catch(java.lang.Exception e) {
  25467.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.headers.whiteList.both': "+e.getMessage(),e);
  25468.             }    
  25469.         }
  25470.        
  25471.         return this.getRESTServicesWhiteListBothHeadersList;
  25472.     }
  25473.    
  25474.     private Boolean getRESTServicesWhiteListRequestHeadersRead = null;
  25475.     private List<MapKey<String>> getRESTServicesWhiteListRequestHeadersList = null;
  25476.     private List<MapKey<String>> getRESTServicesWhiteListRequestHeaders() {
  25477.         if(this.getRESTServicesWhiteListRequestHeadersRead==null){
  25478.             try{
  25479.                 this.getRESTServicesWhiteListRequestHeadersList = new ArrayList<>();
  25480.                 String name = null;
  25481.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.headers.whiteList.request");
  25482.                 if(name!=null){
  25483.                     name = name.trim();
  25484.                     String [] split = name.split(",");
  25485.                     if(split!=null){
  25486.                         for (int i = 0; i < split.length; i++) {
  25487.                             this.getRESTServicesWhiteListRequestHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  25488.                         }
  25489.                     }
  25490.                 }
  25491.                 this.getRESTServicesWhiteListRequestHeadersRead = true;
  25492.             } catch(java.lang.Exception e) {
  25493.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.headers.whiteList.request': "+e.getMessage(),e);
  25494.             }    
  25495.         }
  25496.        
  25497.         return this.getRESTServicesWhiteListRequestHeadersList;
  25498.     }
  25499.    
  25500.     private Boolean getRESTServicesWhiteListResponseHeadersRead = null;
  25501.     private List<MapKey<String>> getRESTServicesWhiteListResponseHeadersList = null;
  25502.     private List<MapKey<String>> getRESTServicesWhiteListResponseHeaders() {    
  25503.         if(this.getRESTServicesWhiteListResponseHeadersRead==null){
  25504.             try{
  25505.                 this.getRESTServicesWhiteListResponseHeadersList = new ArrayList<>();
  25506.                 String name = null;
  25507.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.headers.whiteList.response");
  25508.                 if(name!=null){
  25509.                     name = name.trim();
  25510.                     String [] split = name.split(",");
  25511.                     if(split!=null){
  25512.                         for (int i = 0; i < split.length; i++) {
  25513.                             this.getRESTServicesWhiteListResponseHeadersList.add(org.openspcoop2.utils.Map.newMapKey(split[i].trim()));
  25514.                         }
  25515.                     }
  25516.                 }
  25517.                 this.getRESTServicesWhiteListResponseHeadersRead = true;
  25518.             } catch(java.lang.Exception e) {
  25519.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.headers.whiteList.response': "+e.getMessage(),e);
  25520.             }    
  25521.         }
  25522.        
  25523.         return this.getRESTServicesWhiteListResponseHeadersList;
  25524.     }
  25525.    
  25526.     private List<String> getRESTServicesBlackListHeaders(boolean request) {
  25527.        
  25528.         List<MapKey<String>> blackList = new ArrayList<>();
  25529.         List<MapKey<String>> tmp = this.getRESTServicesBlackListBothInternalHeaders();
  25530.         this._list_add(tmp, blackList);
  25531.         tmp = this.getRESTServicesBlackListBothHeaders();
  25532.         this._list_add(tmp, blackList);
  25533.        
  25534.         if(request) {
  25535.             tmp = this.getRESTServicesBlackListRequestInternalHeaders();
  25536.             this._list_add(tmp, blackList);
  25537.             tmp = this.getRESTServicesBlackListRequestHeaders();
  25538.             this._list_add(tmp, blackList);
  25539.         }
  25540.         else {
  25541.             tmp = this.getRESTServicesBlackListResponseInternalHeaders();
  25542.             this._list_add(tmp, blackList);
  25543.             tmp = this.getRESTServicesBlackListResponseHeaders();
  25544.             this._list_add(tmp, blackList);
  25545.         }
  25546.        
  25547.         List<String> l = new ArrayList<>();
  25548.         if(!blackList.isEmpty()) {
  25549.             for (MapKey<String> key : blackList) {
  25550.                 l.add(key.getValue());
  25551.             }
  25552.         }
  25553.         return l;
  25554.     }
  25555.     private List<String> getRESTServicesWhiteListHeaders(boolean request) {
  25556.        
  25557.         List<MapKey<String>> whiteList = new ArrayList<>();
  25558.         List<MapKey<String>> tmp = this.getRESTServicesWhiteListBothHeaders();
  25559.         this._list_add(tmp, whiteList);
  25560.         if(request) {
  25561.             tmp = this.getRESTServicesWhiteListRequestHeaders();
  25562.             this._list_add(tmp, whiteList);
  25563.         }
  25564.         else {
  25565.             tmp = this.getRESTServicesWhiteListResponseHeaders();
  25566.             this._list_add(tmp, whiteList);
  25567.         }
  25568.        
  25569.         List<String> l = new ArrayList<>();
  25570.         if(!whiteList.isEmpty()) {
  25571.             for (MapKey<String> key : whiteList) {
  25572.                 l.add(key.getValue());
  25573.             }
  25574.         }
  25575.         return l;
  25576.     }
  25577.     public ForwardConfig getRESTServicesHeadersForwardConfig(boolean request) {
  25578.         ForwardConfig f = new ForwardConfig();
  25579.         f.setForwardEnable(this.isRESTServicesHeadersForward());
  25580.         f.setBlackList(getRESTServicesBlackListHeaders(request));
  25581.         f.setWhiteList(getRESTServicesWhiteListHeaders(request));
  25582.         return f;
  25583.     }


  25584.     /* ------------- REST (Trasporto - Headers - Proxy Pass Reverse) ---------------------*/
  25585.    
  25586.     // Location
  25587.    
  25588.     private Boolean isRESTServices_inoltroBuste_proxyPassReverse = null;
  25589.     public boolean isRESTServices_inoltroBuste_proxyPassReverse() {
  25590.         if(this.isRESTServices_inoltroBuste_proxyPassReverse==null){
  25591.             try{
  25592.                 String name = null;
  25593.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.connettori.inoltroBuste.proxyPassReverse");
  25594.                 if(name==null){
  25595.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.rest.connettori.inoltroBuste.proxyPassReverse' non impostata, viene utilizzato il default=false");
  25596.                     name="false";
  25597.                 }
  25598.                 name = name.trim();
  25599.                 this.isRESTServices_inoltroBuste_proxyPassReverse = Boolean.parseBoolean(name);
  25600.             } catch(java.lang.Exception e) {
  25601.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.connettori.inoltroBuste.proxyPassReverse': "+e.getMessage(),e);
  25602.                 this.isRESTServices_inoltroBuste_proxyPassReverse = false;
  25603.             }    
  25604.         }

  25605.         return this.isRESTServices_inoltroBuste_proxyPassReverse;
  25606.     }
  25607.    
  25608.     private Boolean isRESTServices_consegnaContenutiApplicativi_proxyPassReverse = null;
  25609.     public boolean isRESTServices_consegnaContenutiApplicativi_proxyPassReverse() {
  25610.         if(this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse==null){
  25611.             try{
  25612.                 String name = null;
  25613.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.proxyPassReverse");
  25614.                 if(name==null){
  25615.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.proxyPassReverse' non impostata, viene utilizzato il default=false");
  25616.                     name="false";
  25617.                 }
  25618.                 name = name.trim();
  25619.                 this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse = Boolean.parseBoolean(name);
  25620.             } catch(java.lang.Exception e) {
  25621.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.proxyPassReverse': "+e.getMessage(),e);
  25622.                 this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse = false;
  25623.             }    
  25624.         }

  25625.         return this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse;
  25626.     }
  25627.        
  25628.     private List<String> getRESTServices_inoltroBuste_proxyPassReverse_headers = null;
  25629.     public List<String> getRESTServices_inoltroBuste_proxyPassReverse_headers() throws CoreException {  
  25630.         if(this.getRESTServices_inoltroBuste_proxyPassReverse_headers==null){
  25631.             try{
  25632.                 this.getRESTServices_inoltroBuste_proxyPassReverse_headers = new ArrayList<>();
  25633.                
  25634.                 String name = null;
  25635.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.connettori.inoltroBuste.proxyPassReverse.headers");
  25636.                 if(name!=null){
  25637.                     name = name.trim();
  25638.                 }
  25639.                 if(name!=null && !"".equals(name)) {
  25640.                     if(name.contains(",")) {
  25641.                         String [] tmp = name.split(",");
  25642.                         for (int i = 0; i < tmp.length; i++) {
  25643.                             this.getRESTServices_inoltroBuste_proxyPassReverse_headers.add(tmp[i].trim());
  25644.                         }
  25645.                     }
  25646.                     else {
  25647.                         this.getRESTServices_inoltroBuste_proxyPassReverse_headers.add(name);
  25648.                     }
  25649.                 }
  25650.             } catch(java.lang.Exception e) {
  25651.                 String error = "Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.connettori.inoltroBuste.proxyPassReverse.headers': "+e.getMessage();
  25652.                 this.logError(error,e);
  25653.                 throw new CoreException(error);
  25654.             }    
  25655.         }

  25656.         return this.getRESTServices_inoltroBuste_proxyPassReverse_headers;
  25657.     }
  25658.    
  25659.     private List<String> getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_headers = null;
  25660.     public List<String> getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_headers() throws CoreException {  
  25661.         if(this.getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_headers==null){
  25662.             try{
  25663.                 this.getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_headers = new ArrayList<>();
  25664.                
  25665.                 String name = null;
  25666.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.proxyPassReverse.headers");
  25667.                 if(name!=null){
  25668.                     name = name.trim();
  25669.                 }
  25670.                 if(name!=null && !"".equals(name)) {
  25671.                     if(name.contains(",")) {
  25672.                         String [] tmp = name.split(",");
  25673.                         for (int i = 0; i < tmp.length; i++) {
  25674.                             this.getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_headers.add(tmp[i].trim());
  25675.                         }
  25676.                     }
  25677.                     else {
  25678.                         this.getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_headers.add(name);
  25679.                     }
  25680.                 }
  25681.             } catch(java.lang.Exception e) {
  25682.                 String error = "Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.proxyPassReverse.headers': "+e.getMessage();
  25683.                 this.logError(error,e);
  25684.                 throw new CoreException(error);
  25685.             }    
  25686.         }

  25687.         return this.getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_headers;
  25688.     }
  25689.    
  25690.     // Set-Cookie
  25691.    
  25692.     private Boolean isRESTServices_inoltroBuste_proxyPassReverse_setCookie = null;
  25693.     public boolean isRESTServices_inoltroBuste_proxyPassReverse_setCookie() {  
  25694.         if(this.isRESTServices_inoltroBuste_proxyPassReverse_setCookie==null){
  25695.             String pName = "org.openspcoop2.pdd.rest.connettori.inoltroBuste.proxyPassReverse.setCookie";
  25696.             try{
  25697.                 String name = null;
  25698.                 name = this.reader.getValueConvertEnvProperties(pName);
  25699.                 if(name==null){
  25700.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  25701.                     name="false";
  25702.                 }
  25703.                 name = name.trim();
  25704.                 this.isRESTServices_inoltroBuste_proxyPassReverse_setCookie = Boolean.parseBoolean(name);
  25705.             } catch(java.lang.Exception e) {
  25706.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  25707.                 this.isRESTServices_inoltroBuste_proxyPassReverse_setCookie = false;
  25708.             }    
  25709.         }

  25710.         return this.isRESTServices_inoltroBuste_proxyPassReverse_setCookie;
  25711.     }
  25712.    
  25713.     private Boolean isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie = null;
  25714.     public boolean isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie() {  
  25715.         if(this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie==null){
  25716.             String pName = "org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.proxyPassReverse.setCookie";
  25717.             try{
  25718.                 String name = null;
  25719.                 name = this.reader.getValueConvertEnvProperties(pName);
  25720.                 if(name==null){
  25721.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  25722.                     name="false";
  25723.                 }
  25724.                 name = name.trim();
  25725.                 this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie = Boolean.parseBoolean(name);
  25726.             } catch(java.lang.Exception e) {
  25727.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  25728.                 this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie = false;
  25729.             }    
  25730.         }

  25731.         return this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie;
  25732.     }
  25733.    
  25734.     private Boolean isRESTServices_inoltroBuste_proxyPassReverse_setCookie_path = null;
  25735.     public boolean isRESTServices_inoltroBuste_proxyPassReverse_setCookie_path() {  
  25736.         if(this.isRESTServices_inoltroBuste_proxyPassReverse_setCookie_path==null){
  25737.             String pName = "org.openspcoop2.pdd.rest.connettori.inoltroBuste.proxyPassReverse.setCookie.path";
  25738.             try{
  25739.                 String name = null;
  25740.                 name = this.reader.getValueConvertEnvProperties(pName);
  25741.                 if(name==null){
  25742.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isRESTServices_inoltroBuste_proxyPassReverse_setCookie()));
  25743.                     name=""+isRESTServices_inoltroBuste_proxyPassReverse_setCookie();
  25744.                 }
  25745.                 name = name.trim();
  25746.                 this.isRESTServices_inoltroBuste_proxyPassReverse_setCookie_path = Boolean.parseBoolean(name);
  25747.             } catch(java.lang.Exception e) {
  25748.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  25749.                 this.isRESTServices_inoltroBuste_proxyPassReverse_setCookie_path = isRESTServices_inoltroBuste_proxyPassReverse_setCookie();
  25750.             }    
  25751.         }

  25752.         return this.isRESTServices_inoltroBuste_proxyPassReverse_setCookie_path;
  25753.     }
  25754.    
  25755.     private Boolean isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_path = null;
  25756.     public boolean isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_path() {  
  25757.         if(this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_path==null){
  25758.             String pName = "org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.proxyPassReverse.setCookie.path";
  25759.             try{
  25760.                 String name = null;
  25761.                 name = this.reader.getValueConvertEnvProperties(pName);
  25762.                 if(name==null){
  25763.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie()));
  25764.                     name=""+isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie();
  25765.                 }
  25766.                 name = name.trim();
  25767.                 this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_path = Boolean.parseBoolean(name);
  25768.             } catch(java.lang.Exception e) {
  25769.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  25770.                 this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_path = isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie();
  25771.             }    
  25772.         }

  25773.         return this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_path;
  25774.     }
  25775.    
  25776.     private Boolean isRESTServices_inoltroBuste_proxyPassReverse_setCookie_domain = null;
  25777.     public boolean isRESTServices_inoltroBuste_proxyPassReverse_setCookie_domain() {    
  25778.         if(this.isRESTServices_inoltroBuste_proxyPassReverse_setCookie_domain==null){
  25779.             String pName = "org.openspcoop2.pdd.rest.connettori.inoltroBuste.proxyPassReverse.setCookie.domain";
  25780.             try{
  25781.                 String name = null;
  25782.                 name = this.reader.getValueConvertEnvProperties(pName);
  25783.                 if(name==null){
  25784.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isRESTServices_inoltroBuste_proxyPassReverse_setCookie()));
  25785.                     name=""+isRESTServices_inoltroBuste_proxyPassReverse_setCookie();
  25786.                 }
  25787.                 name = name.trim();
  25788.                 this.isRESTServices_inoltroBuste_proxyPassReverse_setCookie_domain = Boolean.parseBoolean(name);
  25789.             } catch(java.lang.Exception e) {
  25790.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  25791.                 this.isRESTServices_inoltroBuste_proxyPassReverse_setCookie_domain = isRESTServices_inoltroBuste_proxyPassReverse_setCookie();
  25792.             }    
  25793.         }

  25794.         return this.isRESTServices_inoltroBuste_proxyPassReverse_setCookie_domain;
  25795.     }
  25796.    
  25797.     private Boolean isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_domain = null;
  25798.     public boolean isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_domain() {    
  25799.         if(this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_domain==null){
  25800.             String pName = "org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.proxyPassReverse.setCookie.domain";
  25801.             try{
  25802.                 String name = null;
  25803.                 name = this.reader.getValueConvertEnvProperties(pName);
  25804.                 if(name==null){
  25805.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie()));
  25806.                     name=""+isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie();
  25807.                 }
  25808.                 name = name.trim();
  25809.                 this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_domain = Boolean.parseBoolean(name);
  25810.             } catch(java.lang.Exception e) {
  25811.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  25812.                 this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_domain = isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie();
  25813.             }    
  25814.         }

  25815.         return this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_domain;
  25816.     }
  25817.    
  25818.     private List<String> getRESTServices_inoltroBuste_proxyPassReverse_setCookie_headers = null;
  25819.     public List<String> getRESTServices_inoltroBuste_proxyPassReverse_setCookie_headers() throws CoreException {    
  25820.         if(this.getRESTServices_inoltroBuste_proxyPassReverse_setCookie_headers==null){
  25821.             try{
  25822.                 this.getRESTServices_inoltroBuste_proxyPassReverse_setCookie_headers = new ArrayList<>();
  25823.                
  25824.                 String name = null;
  25825.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.connettori.inoltroBuste.proxyPassReverse.setCookie.headers");
  25826.                 if(name!=null){
  25827.                     name = name.trim();
  25828.                 }
  25829.                 if(name!=null && !"".equals(name)) {
  25830.                     if(name.contains(",")) {
  25831.                         String [] tmp = name.split(",");
  25832.                         for (int i = 0; i < tmp.length; i++) {
  25833.                             this.getRESTServices_inoltroBuste_proxyPassReverse_setCookie_headers.add(tmp[i].trim());
  25834.                         }
  25835.                     }
  25836.                     else {
  25837.                         this.getRESTServices_inoltroBuste_proxyPassReverse_setCookie_headers.add(name);
  25838.                     }
  25839.                 }
  25840.             } catch(java.lang.Exception e) {
  25841.                 String error = "Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.connettori.inoltroBuste.proxyPassReverse.setCookie.headers': "+e.getMessage();
  25842.                 this.logError(error,e);
  25843.                 throw new CoreException(error);
  25844.             }    
  25845.         }

  25846.         return this.getRESTServices_inoltroBuste_proxyPassReverse_setCookie_headers;
  25847.     }
  25848.    
  25849.     private List<String> getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers = null;
  25850.     public List<String> getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers() throws CoreException {    
  25851.         if(this.getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers==null){
  25852.             try{
  25853.                 this.getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers = new ArrayList<>();
  25854.                
  25855.                 String name = null;
  25856.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.proxyPassReverse.setCookie.headers");
  25857.                 if(name!=null){
  25858.                     name = name.trim();
  25859.                 }
  25860.                 if(name!=null && !"".equals(name)) {
  25861.                     if(name.contains(",")) {
  25862.                         String [] tmp = name.split(",");
  25863.                         for (int i = 0; i < tmp.length; i++) {
  25864.                             this.getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers.add(tmp[i].trim());
  25865.                         }
  25866.                     }
  25867.                     else {
  25868.                         this.getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers.add(name);
  25869.                     }
  25870.                 }
  25871.             } catch(java.lang.Exception e) {
  25872.                 String error = "Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.proxyPassReverse.setCookie.headers': "+e.getMessage();
  25873.                 this.logError(error,e);
  25874.                 throw new CoreException(error);
  25875.             }    
  25876.         }

  25877.         return this.getRESTServices_consegnaContenutiApplicativi_proxyPassReverse_setCookie_headers;
  25878.     }
  25879.    
  25880.     // useProtocolPrefix
  25881.    
  25882.     private Boolean isRESTServices_inoltroBuste_proxyPassReverse_useProtocolPrefix = null;
  25883.     public boolean isRESTServices_inoltroBuste_proxyPassReverse_useProtocolPrefix() {  
  25884.         if(this.isRESTServices_inoltroBuste_proxyPassReverse_useProtocolPrefix==null){
  25885.             try{
  25886.                 String name = null;
  25887.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.connettori.inoltroBuste.proxyPassReverse.useProtocolPrefix");
  25888.                 if(name==null){
  25889.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.rest.connettori.inoltroBuste.proxyPassReverse.useProtocolPrefix' non impostata, viene utilizzato il default=false");
  25890.                     name="false";
  25891.                 }
  25892.                 name = name.trim();
  25893.                 this.isRESTServices_inoltroBuste_proxyPassReverse_useProtocolPrefix = Boolean.parseBoolean(name);
  25894.             } catch(java.lang.Exception e) {
  25895.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.connettori.inoltroBuste.proxyPassReverse.useProtocolPrefix': "+e.getMessage(),e);
  25896.                 this.isRESTServices_inoltroBuste_proxyPassReverse_useProtocolPrefix = false;
  25897.             }    
  25898.         }

  25899.         return this.isRESTServices_inoltroBuste_proxyPassReverse_useProtocolPrefix;
  25900.     }
  25901.    
  25902.     private Boolean isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_useProtocolPrefix = null;
  25903.     public boolean isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_useProtocolPrefix() {  
  25904.         if(this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_useProtocolPrefix==null){
  25905.             try{
  25906.                 String name = null;
  25907.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.proxyPassReverse.useProtocolPrefix");
  25908.                 if(name==null){
  25909.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.proxyPassReverse.useProtocolPrefix' non impostata, viene utilizzato il default=false");
  25910.                     name="false";
  25911.                 }
  25912.                 name = name.trim();
  25913.                 this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_useProtocolPrefix = Boolean.parseBoolean(name);
  25914.             } catch(java.lang.Exception e) {
  25915.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.proxyPassReverse.useProtocolPrefix': "+e.getMessage(),e);
  25916.                 this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_useProtocolPrefix = false;
  25917.             }    
  25918.         }

  25919.         return this.isRESTServices_consegnaContenutiApplicativi_proxyPassReverse_useProtocolPrefix;
  25920.     }
  25921.    

  25922.     private Boolean isRESTServices_inoltroBuste_response_securityHeaders = null;
  25923.     public boolean isRESTServices_inoltroBuste_response_securityHeaders() {
  25924.         if(this.isRESTServices_inoltroBuste_response_securityHeaders==null){
  25925.             String pName = "org.openspcoop2.pdd.rest.connettori.inoltroBuste.response.securityHeaders";
  25926.             try{
  25927.                 String name = null;
  25928.                 name = this.reader.getValueConvertEnvProperties(pName);
  25929.                 if(name==null){
  25930.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  25931.                     name="true";
  25932.                 }
  25933.                 name = name.trim();
  25934.                 this.isRESTServices_inoltroBuste_response_securityHeaders = Boolean.parseBoolean(name);
  25935.             } catch(java.lang.Exception e) {
  25936.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  25937.                 this.isRESTServices_inoltroBuste_response_securityHeaders = true;
  25938.             }    
  25939.         }
  25940.    
  25941.         return this.isRESTServices_inoltroBuste_response_securityHeaders;
  25942.     }

  25943.     private Properties getRESTServices_inoltroBuste_response_securityHeaders = null;
  25944.     public Properties getRESTServices_inoltroBuste_response_securityHeaders() throws CoreException {    
  25945.         if(this.getRESTServices_inoltroBuste_response_securityHeaders==null){
  25946.             String pName = "org.openspcoop2.pdd.rest.connettori.inoltroBuste.response.securityHeaders.";
  25947.             try{
  25948.                 this.getRESTServices_inoltroBuste_response_securityHeaders = this.reader.readPropertiesConvertEnvProperties(pName);
  25949.             } catch(java.lang.Exception e) {
  25950.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"*': "+e.getMessage(),e);
  25951.                 throw new CoreException(e.getMessage(),e);
  25952.             }    
  25953.         }
  25954.    
  25955.         return this.getRESTServices_inoltroBuste_response_securityHeaders;
  25956.     }
  25957.    
  25958.     private Boolean isRESTServices_consegnaContenutiApplicativi_response_securityHeaders = null;
  25959.     public boolean isRESTServices_consegnaContenutiApplicativi_response_securityHeaders() {
  25960.         if(this.isRESTServices_consegnaContenutiApplicativi_response_securityHeaders==null){
  25961.             String pName = "org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.response.securityHeaders";
  25962.             try{
  25963.                 String name = null;
  25964.                 name = this.reader.getValueConvertEnvProperties(pName);
  25965.                 if(name==null){
  25966.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  25967.                     name="true";
  25968.                 }
  25969.                 name = name.trim();
  25970.                 this.isRESTServices_consegnaContenutiApplicativi_response_securityHeaders = Boolean.parseBoolean(name);
  25971.             } catch(java.lang.Exception e) {
  25972.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  25973.                 this.isRESTServices_consegnaContenutiApplicativi_response_securityHeaders = true;
  25974.             }    
  25975.         }
  25976.    
  25977.         return this.isRESTServices_consegnaContenutiApplicativi_response_securityHeaders;
  25978.     }
  25979.    
  25980.     private Properties getRESTServices_consegnaContenutiApplicativi_response_securityHeaders = null;
  25981.     public Properties getRESTServices_consegnaContenutiApplicativi_response_securityHeaders() throws CoreException {    
  25982.         if(this.getRESTServices_consegnaContenutiApplicativi_response_securityHeaders==null){
  25983.             String pName = "org.openspcoop2.pdd.rest.connettori.consegnaContenutiApplicativi.response.securityHeaders.";
  25984.             try{
  25985.                 this.getRESTServices_consegnaContenutiApplicativi_response_securityHeaders = this.reader.readPropertiesConvertEnvProperties(pName);
  25986.             } catch(java.lang.Exception e) {
  25987.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"*': "+e.getMessage(),e);
  25988.                 throw new CoreException(e.getMessage(),e);
  25989.             }    
  25990.         }
  25991.    
  25992.         return this.getRESTServices_consegnaContenutiApplicativi_response_securityHeaders;
  25993.     }

  25994.    
  25995.    
  25996.     /* ------------- Transazioni ---------------------*/
  25997.    
  25998.     private Boolean isTransazioniEnabled = null;
  25999.     public boolean isTransazioniEnabled() {
  26000.         if(this.isTransazioniEnabled==null){
  26001.             try{
  26002.                 String name = null;
  26003.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.enabled");
  26004.                 if(name==null){
  26005.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.enabled' non impostata, viene utilizzato il default=true");
  26006.                     name="true";
  26007.                 }
  26008.                 name = name.trim();
  26009.                 this.isTransazioniEnabled = Boolean.parseBoolean(name);
  26010.             } catch(java.lang.Exception e) {
  26011.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.enabled', viene utilizzato il default=true : "+e.getMessage(),e);
  26012.                 this.isTransazioniEnabled = true;
  26013.             }    
  26014.         }

  26015.         return this.isTransazioniEnabled;
  26016.     }  
  26017.    
  26018.     private Boolean isTransazioniDebug = null;
  26019.     public boolean isTransazioniDebug() {  
  26020.         if(this.isTransazioniDebug==null){
  26021.             try{
  26022.                 String name = null;
  26023.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.debug");
  26024.                 if(name==null){
  26025.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.debug' non impostata, viene utilizzato il default=true");
  26026.                     name="true";
  26027.                 }
  26028.                 name = name.trim();
  26029.                 this.isTransazioniDebug = Boolean.parseBoolean(name);
  26030.             } catch(java.lang.Exception e) {
  26031.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.debug', viene utilizzato il default=true : "+e.getMessage(),e);
  26032.                 this.isTransazioniDebug = true;
  26033.             }    
  26034.         }

  26035.         return this.isTransazioniDebug;
  26036.     }  
  26037.    
  26038.     private Boolean isTransazioniUsePddRuntimeDatasource = null;
  26039.     public boolean isTransazioniUsePddRuntimeDatasource() {
  26040.         if(this.isTransazioniUsePddRuntimeDatasource==null){
  26041.             try{
  26042.                 String name = null;
  26043.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.dataSource.usePddRuntime");
  26044.                 if(name==null){
  26045.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.dataSource.usePddRuntime' non impostata, viene utilizzato il default=true");
  26046.                     name="true";
  26047.                 }
  26048.                 name = name.trim();
  26049.                 this.isTransazioniUsePddRuntimeDatasource = Boolean.parseBoolean(name);
  26050.             } catch(java.lang.Exception e) {
  26051.                 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);
  26052.                 this.isTransazioniUsePddRuntimeDatasource = true;
  26053.             }    
  26054.         }

  26055.         return this.isTransazioniUsePddRuntimeDatasource;
  26056.     }
  26057.    
  26058.     private String getTransazioniDatasource = null;
  26059.     public String getTransazioniDatasource() throws CoreException {
  26060.         if(this.getTransazioniDatasource==null){
  26061.             try{
  26062.                 String name = null;
  26063.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.dataSource");
  26064.                 if(name==null){
  26065.                     throw new CoreException("Proprieta' non impostata");
  26066.                 }
  26067.                 name = name.trim();
  26068.                 this.getTransazioniDatasource = name;
  26069.             } catch(java.lang.Exception e) {
  26070.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.dataSource': "+e.getMessage(),e);
  26071.                 throw new CoreException(e.getMessage(),e);
  26072.             }    
  26073.         }

  26074.         return this.getTransazioniDatasource;
  26075.     }
  26076.    
  26077.     private Properties getTransazioniDatasourceJndiContext = null;
  26078.     public Properties getTransazioniDatasourceJndiContext() throws CoreException {  
  26079.         if(this.getTransazioniDatasourceJndiContext==null){
  26080.             try{
  26081.                 this.getTransazioniDatasourceJndiContext = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.transazioni.dataSource.property.");
  26082.             } catch(java.lang.Exception e) {
  26083.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.dataSource.property.*': "+e.getMessage(),e);
  26084.                 throw new CoreException(e.getMessage(),e);
  26085.             }    
  26086.         }

  26087.         return this.getTransazioniDatasourceJndiContext;
  26088.     }
  26089.    
  26090.     private Boolean isTransazioniDatasourceUseDBUtils = null;
  26091.     public boolean isTransazioniDatasourceUseDBUtils() {    
  26092.         if(this.isTransazioniDatasourceUseDBUtils==null){
  26093.             try{
  26094.                 String name = null;
  26095.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.datasource.useDSUtils");
  26096.                 if(name==null){
  26097.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.datasource.useDSUtils' non impostata, viene utilizzato il default=true");
  26098.                     name="true";
  26099.                 }
  26100.                 name = name.trim();
  26101.                 this.isTransazioniDatasourceUseDBUtils = Boolean.parseBoolean(name);
  26102.             } catch(java.lang.Exception e) {
  26103.                 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);
  26104.                 this.isTransazioniDatasourceUseDBUtils = true;
  26105.             }    
  26106.         }

  26107.         return this.isTransazioniDatasourceUseDBUtils;
  26108.     }
  26109.    
  26110.     private Boolean isTransazioniSaveTracceInUniqueTransaction = null;
  26111.     public boolean isTransazioniSaveTracceInUniqueTransaction() {  
  26112.         if(this.isTransazioniSaveTracceInUniqueTransaction==null){
  26113.             try{
  26114.                 String name = null;
  26115.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.tracce.enabled");
  26116.                 if(name==null){
  26117.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.tracce.enabled' non impostata, viene utilizzato il default=true");
  26118.                     name="true";
  26119.                 }
  26120.                 name = name.trim();
  26121.                 this.isTransazioniSaveTracceInUniqueTransaction = Boolean.parseBoolean(name);
  26122.             } catch(java.lang.Exception e) {
  26123.                 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);
  26124.                 this.isTransazioniSaveTracceInUniqueTransaction = true;
  26125.             }    
  26126.         }

  26127.         return this.isTransazioniSaveTracceInUniqueTransaction;
  26128.     }
  26129.    
  26130.     private Boolean isTransazioniSaveDiagnosticiInUniqueTransaction = null;
  26131.     public boolean isTransazioniSaveDiagnosticiInUniqueTransaction() {  
  26132.         if(this.isTransazioniSaveDiagnosticiInUniqueTransaction==null){
  26133.             try{
  26134.                 String name = null;
  26135.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.diagnostici.enabled");
  26136.                 if(name==null){
  26137.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.diagnostici.enabled' non impostata, viene utilizzato il default=true");
  26138.                     name="true";
  26139.                 }
  26140.                 name = name.trim();
  26141.                 this.isTransazioniSaveDiagnosticiInUniqueTransaction = Boolean.parseBoolean(name);
  26142.             } catch(java.lang.Exception e) {
  26143.                 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);
  26144.                 this.isTransazioniSaveDiagnosticiInUniqueTransaction = true;
  26145.             }    
  26146.         }

  26147.         return this.isTransazioniSaveDiagnosticiInUniqueTransaction;
  26148.     }
  26149.    
  26150.     private Boolean isTransazioniSaveDumpInUniqueTransaction = null;
  26151.     public boolean isTransazioniSaveDumpInUniqueTransaction() {
  26152.         if(this.isTransazioniSaveDumpInUniqueTransaction==null){
  26153.             try{
  26154.                 String name = null;
  26155.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.dump.enabled");
  26156.                 if(name==null){
  26157.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.dump.enabled' non impostata, viene utilizzato il default=true");
  26158.                     name="true";
  26159.                 }
  26160.                 name = name.trim();
  26161.                 this.isTransazioniSaveDumpInUniqueTransaction = Boolean.parseBoolean(name);
  26162.             } catch(java.lang.Exception e) {
  26163.                 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);
  26164.                 this.isTransazioniSaveDumpInUniqueTransaction = true;
  26165.             }    
  26166.         }

  26167.         return this.isTransazioniSaveDumpInUniqueTransaction;
  26168.     }
  26169.    
  26170.     private Boolean isTransazioniValorizzaDataIngressoConDataAccettazione = null;
  26171.     public boolean isTransazioniValorizzaDataIngressoConDataAccettazione() {    
  26172.         String pName = "org.openspcoop2.pdd.transazioni.dataIngresso.valorizzaConDataAccettazione";
  26173.         if(this.isTransazioniValorizzaDataIngressoConDataAccettazione==null){
  26174.             try{
  26175.                 String name = null;
  26176.                 name = this.reader.getValueConvertEnvProperties(pName);
  26177.                 if(name==null){
  26178.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  26179.                     name="true";
  26180.                 }
  26181.                 name = name.trim();
  26182.                 this.isTransazioniValorizzaDataIngressoConDataAccettazione = Boolean.parseBoolean(name);
  26183.             } catch(java.lang.Exception e) {
  26184.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  26185.                 this.isTransazioniValorizzaDataIngressoConDataAccettazione = true;
  26186.             }    
  26187.         }

  26188.         return this.isTransazioniValorizzaDataIngressoConDataAccettazione;
  26189.     }
  26190.    
  26191.     private Boolean isTransazioniValorizzaDataUscitaRispostaUseDateAfterResponseSent = null;
  26192.     public boolean isTransazioniValorizzaDataUscitaRispostaUseDateAfterResponseSent() {
  26193.         String pName = "org.openspcoop2.pdd.transazioni.dataUscitaRisposta.useDateAfterResponseSent";
  26194.         if(this.isTransazioniValorizzaDataUscitaRispostaUseDateAfterResponseSent==null){
  26195.             try{
  26196.                 String name = null;
  26197.                 name = this.reader.getValueConvertEnvProperties(pName);
  26198.                 if(name==null){
  26199.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  26200.                     name="true";
  26201.                 }
  26202.                 name = name.trim();
  26203.                 this.isTransazioniValorizzaDataUscitaRispostaUseDateAfterResponseSent = Boolean.parseBoolean(name);
  26204.             } catch(java.lang.Exception e) {
  26205.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  26206.                 this.isTransazioniValorizzaDataUscitaRispostaUseDateAfterResponseSent = true;
  26207.             }    
  26208.         }

  26209.         return this.isTransazioniValorizzaDataUscitaRispostaUseDateAfterResponseSent;
  26210.     }
  26211.    
  26212.     private Boolean isTransazioniFaultPrettyPrint = null;
  26213.     public boolean isTransazioniFaultPrettyPrint() {    
  26214.         if(this.isTransazioniFaultPrettyPrint==null){
  26215.             try{
  26216.                 String name = null;
  26217.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.fault.prettyPrint");
  26218.                 if(name==null){
  26219.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.fault.prettyPrint' non impostata, viene utilizzato il default=false");
  26220.                     name="false";
  26221.                 }
  26222.                 name = name.trim();
  26223.                 this.isTransazioniFaultPrettyPrint = Boolean.parseBoolean(name);
  26224.             } catch(java.lang.Exception e) {
  26225.                 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);
  26226.                 this.isTransazioniFaultPrettyPrint = false;
  26227.             }    
  26228.         }

  26229.         return this.isTransazioniFaultPrettyPrint;
  26230.     }
  26231.    
  26232.     private Boolean isTransazioniHttpStatusAsEvent_inResponseCode = null;
  26233.     public boolean isTransazioniHttpStatusAsEvent_inResponseCode() {    
  26234.         if(this.isTransazioniHttpStatusAsEvent_inResponseCode==null){
  26235.             String pName = "org.openspcoop2.pdd.transazioni.httpStatusAsEvent.inResponseCode";
  26236.             try{
  26237.                 String name = null;
  26238.                 name = this.reader.getValueConvertEnvProperties(pName);
  26239.                 if(name==null){
  26240.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  26241.                     name="false";
  26242.                 }
  26243.                 name = name.trim();
  26244.                 this.isTransazioniHttpStatusAsEvent_inResponseCode = Boolean.parseBoolean(name);
  26245.             } catch(java.lang.Exception e) {
  26246.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  26247.                 this.isTransazioniHttpStatusAsEvent_inResponseCode = false;
  26248.             }    
  26249.         }

  26250.         return this.isTransazioniHttpStatusAsEvent_inResponseCode;
  26251.     }
  26252.     private Boolean isTransazioniHttpStatusAsEvent_outResponseCode = null;
  26253.     public boolean isTransazioniHttpStatusAsEvent_outResponseCode() {  
  26254.         if(this.isTransazioniHttpStatusAsEvent_outResponseCode==null){
  26255.             String pName = "org.openspcoop2.pdd.transazioni.httpStatusAsEvent.outResponseCode";
  26256.             try{
  26257.                 String name = null;
  26258.                 name = this.reader.getValueConvertEnvProperties(pName);
  26259.                 if(name==null){
  26260.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  26261.                     name="false";
  26262.                 }
  26263.                 name = name.trim();
  26264.                 this.isTransazioniHttpStatusAsEvent_outResponseCode = Boolean.parseBoolean(name);
  26265.             } catch(java.lang.Exception e) {
  26266.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  26267.                 this.isTransazioniHttpStatusAsEvent_outResponseCode = false;
  26268.             }    
  26269.         }

  26270.         return this.isTransazioniHttpStatusAsEvent_outResponseCode;
  26271.     }
  26272.    
  26273.     private Boolean isTransazioniTipoApiAsEvent = null;
  26274.     public boolean isTransazioniTipoApiAsEvent() {  
  26275.         if(this.isTransazioniTipoApiAsEvent==null){
  26276.             String pName = "org.openspcoop2.pdd.transazioni.tipoApiAsEvent";
  26277.             try{
  26278.                 String name = null;
  26279.                 name = this.reader.getValueConvertEnvProperties(pName);
  26280.                 if(name==null){
  26281.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  26282.                     name="false";
  26283.                 }
  26284.                 name = name.trim();
  26285.                 this.isTransazioniTipoApiAsEvent = Boolean.parseBoolean(name);
  26286.             } catch(java.lang.Exception e) {
  26287.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  26288.                 this.isTransazioniTipoApiAsEvent = false;
  26289.             }    
  26290.         }

  26291.         return this.isTransazioniTipoApiAsEvent;
  26292.     }
  26293.    
  26294.     private Boolean isTransazioniConnettoriMultipliAsEvent = null;
  26295.     public boolean isTransazioniConnettoriMultipliAsEvent() {  
  26296.         if(this.isTransazioniConnettoriMultipliAsEvent==null){
  26297.             String pName = "org.openspcoop2.pdd.transazioni.connettoriMultipliAsEvent";
  26298.             try{
  26299.                 String name = null;
  26300.                 name = this.reader.getValueConvertEnvProperties(pName);
  26301.                 if(name==null){
  26302.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  26303.                     name="false";
  26304.                 }
  26305.                 name = name.trim();
  26306.                 this.isTransazioniConnettoriMultipliAsEvent = Boolean.parseBoolean(name);
  26307.             } catch(java.lang.Exception e) {
  26308.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  26309.                 this.isTransazioniConnettoriMultipliAsEvent = false;
  26310.             }    
  26311.         }

  26312.         return this.isTransazioniConnettoriMultipliAsEvent;
  26313.     }
  26314.    
  26315.     private Boolean isTransazioniUpdateUseDayInterval = null;
  26316.     public boolean isTransazioniUpdateUseDayInterval() {    
  26317.         if(this.isTransazioniUpdateUseDayInterval==null){
  26318.             String pName = "org.openspcoop2.pdd.transazioni.update.useDayInterval";
  26319.             try{
  26320.                 String name = null;
  26321.                 name = this.reader.getValueConvertEnvProperties(pName);
  26322.                 if(name==null){
  26323.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  26324.                     name="true";
  26325.                 }
  26326.                 name = name.trim();
  26327.                 this.isTransazioniUpdateUseDayInterval = Boolean.parseBoolean(name);
  26328.             } catch(java.lang.Exception e) {
  26329.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  26330.                 this.isTransazioniUpdateUseDayInterval = true;
  26331.             }    
  26332.         }

  26333.         return this.isTransazioniUpdateUseDayInterval;
  26334.     }
  26335.    
  26336.     private Boolean isTransazioniRegistrazioneSlowLog = null;
  26337.     public boolean isTransazioniRegistrazioneSlowLog() {    
  26338.         if(this.isTransazioniRegistrazioneSlowLog==null){
  26339.             String pName = "org.openspcoop2.pdd.transazioni.slowLog.enabled";
  26340.             try{
  26341.                 String name = null;
  26342.                 name = this.reader.getValueConvertEnvProperties(pName);
  26343.                 if(name==null){
  26344.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  26345.                     name="false";
  26346.                 }
  26347.                 name = name.trim();
  26348.                 this.isTransazioniRegistrazioneSlowLog = Boolean.parseBoolean(name);
  26349.             } catch(java.lang.Exception e) {
  26350.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  26351.                 this.isTransazioniRegistrazioneSlowLog = false;
  26352.             }    
  26353.         }

  26354.         return this.isTransazioniRegistrazioneSlowLog;
  26355.     }
  26356.    
  26357.     private Integer getTransazioniRegistrazioneSlowLogThresholdMs = null;
  26358.     private final int getTransazioniRegistrazioneSlowLogThresholdMs_default = 1000;
  26359.     public int getTransazioniRegistrazioneSlowLogThresholdMs() {    
  26360.         if(this.getTransazioniRegistrazioneSlowLogThresholdMs==null){
  26361.             String pName = "org.openspcoop2.pdd.transazioni.slowLog.thresholdMs";
  26362.             try{
  26363.                 String name = null;
  26364.                 name = this.reader.getValueConvertEnvProperties(pName);
  26365.                 if(name==null){
  26366.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,this.getTransazioniRegistrazioneSlowLogThresholdMs_default));
  26367.                     name=""+this.getTransazioniRegistrazioneSlowLogThresholdMs_default;
  26368.                 }
  26369.                 name = name.trim();
  26370.                 this.getTransazioniRegistrazioneSlowLogThresholdMs = Integer.valueOf(name);
  26371.             } catch(java.lang.Exception e) {
  26372.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+this.getTransazioniRegistrazioneSlowLogThresholdMs_default+" : "+e.getMessage(),e);
  26373.                 this.getTransazioniRegistrazioneSlowLogThresholdMs = this.getTransazioniRegistrazioneSlowLogThresholdMs_default;
  26374.             }    
  26375.         }

  26376.         return this.getTransazioniRegistrazioneSlowLogThresholdMs;
  26377.     }
  26378.    
  26379.     private Boolean isTransazioniRegistrazioneSlowLogBuildTransactionDetails = null;
  26380.     public boolean isTransazioniRegistrazioneSlowLogBuildTransactionDetails() {
  26381.         if(this.isTransazioniRegistrazioneSlowLogBuildTransactionDetails==null){
  26382.             String pName = "org.openspcoop2.pdd.transazioni.slowLog.buildTransactionDetails.enabled";
  26383.             try{
  26384.                 String name = null;
  26385.                 name = this.reader.getValueConvertEnvProperties(pName);
  26386.                 if(name==null){
  26387.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  26388.                     name="false";
  26389.                 }
  26390.                 name = name.trim();
  26391.                 this.isTransazioniRegistrazioneSlowLogBuildTransactionDetails = Boolean.parseBoolean(name);
  26392.             } catch(java.lang.Exception e) {
  26393.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  26394.                 this.isTransazioniRegistrazioneSlowLogBuildTransactionDetails = false;
  26395.             }    
  26396.         }

  26397.         return this.isTransazioniRegistrazioneSlowLogBuildTransactionDetails;
  26398.     }
  26399.    
  26400.     private Boolean isTransazioniRegistrazioneSlowLogRateLimitingDetails = null;
  26401.     public boolean isTransazioniRegistrazioneSlowLogRateLimitingDetails() {
  26402.         if(this.isTransazioniRegistrazioneSlowLogRateLimitingDetails==null){
  26403.             String pName = "org.openspcoop2.pdd.transazioni.slowLog.rateLimitingDetails.enabled";
  26404.             try{
  26405.                 String name = null;
  26406.                 name = this.reader.getValueConvertEnvProperties(pName);
  26407.                 if(name==null){
  26408.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  26409.                     name="false";
  26410.                 }
  26411.                 name = name.trim();
  26412.                 this.isTransazioniRegistrazioneSlowLogRateLimitingDetails = Boolean.parseBoolean(name);
  26413.             } catch(java.lang.Exception e) {
  26414.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  26415.                 this.isTransazioniRegistrazioneSlowLogRateLimitingDetails = false;
  26416.             }    
  26417.         }

  26418.         return this.isTransazioniRegistrazioneSlowLogRateLimitingDetails;
  26419.     }
  26420.    
  26421.     private Boolean isTransazioniRegistrazioneSlowLogConnettoriMultipliProcessTransactionSADetails = null;
  26422.     public boolean isTransazioniRegistrazioneSlowLogConnettoriMultipliProcessTransactionSADetails() {  
  26423.         if(this.isTransazioniRegistrazioneSlowLogConnettoriMultipliProcessTransactionSADetails==null){
  26424.             String pName = "org.openspcoop2.pdd.transazioni.slowLog.connettoriMultipli.processTransactionSADetails.enabled";
  26425.             try{
  26426.                 String name = null;
  26427.                 name = this.reader.getValueConvertEnvProperties(pName);
  26428.                 if(name==null){
  26429.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  26430.                     name="false";
  26431.                 }
  26432.                 name = name.trim();
  26433.                 this.isTransazioniRegistrazioneSlowLogConnettoriMultipliProcessTransactionSADetails = Boolean.parseBoolean(name);
  26434.             } catch(java.lang.Exception e) {
  26435.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  26436.                 this.isTransazioniRegistrazioneSlowLogConnettoriMultipliProcessTransactionSADetails = false;
  26437.             }    
  26438.         }

  26439.         return this.isTransazioniRegistrazioneSlowLogConnettoriMultipliProcessTransactionSADetails;
  26440.     }
  26441.    
  26442.     private Boolean isTransazioniRegistrazioneSlowLogConnettoriMultipliUpdateTransactionDetails = null;
  26443.     public boolean isTransazioniRegistrazioneSlowLogConnettoriMultipliUpdateTransactionDetails() {  
  26444.         if(this.isTransazioniRegistrazioneSlowLogConnettoriMultipliUpdateTransactionDetails==null){
  26445.             String pName = "org.openspcoop2.pdd.transazioni.slowLog.connettoriMultipli.updateTransactionDetails.enabled";
  26446.             try{
  26447.                 String name = null;
  26448.                 name = this.reader.getValueConvertEnvProperties(pName);
  26449.                 if(name==null){
  26450.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  26451.                     name="false";
  26452.                 }
  26453.                 name = name.trim();
  26454.                 this.isTransazioniRegistrazioneSlowLogConnettoriMultipliUpdateTransactionDetails = Boolean.parseBoolean(name);
  26455.             } catch(java.lang.Exception e) {
  26456.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  26457.                 this.isTransazioniRegistrazioneSlowLogConnettoriMultipliUpdateTransactionDetails = false;
  26458.             }    
  26459.         }

  26460.         return this.isTransazioniRegistrazioneSlowLogConnettoriMultipliUpdateTransactionDetails;
  26461.     }
  26462.    
  26463.    
  26464.     // TracciamentoDB

  26465.     private Boolean isTransazioniTracciamentoDBOutRequestThrowRequestException = null;
  26466.     public boolean isTransazioniTracciamentoDBOutRequestThrowRequestException() {  
  26467.         if(this.isTransazioniTracciamentoDBOutRequestThrowRequestException==null){
  26468.             String pName = "org.openspcoop2.pdd.transazioni.tracciamentoDB.outRequest.throwRequestException";
  26469.             try{
  26470.                 String name = null;
  26471.                 name = this.reader.getValueConvertEnvProperties(pName);
  26472.                 if(name==null){
  26473.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  26474.                     name="true";
  26475.                 }
  26476.                 name = name.trim();
  26477.                 this.isTransazioniTracciamentoDBOutRequestThrowRequestException = Boolean.parseBoolean(name);
  26478.             } catch(java.lang.Exception e) {
  26479.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  26480.                 this.isTransazioniTracciamentoDBOutRequestThrowRequestException = true;
  26481.             }    
  26482.         }

  26483.         return this.isTransazioniTracciamentoDBOutRequestThrowRequestException;
  26484.     }
  26485.    
  26486.     private Boolean isTransazioniTracciamentoDBOutResponseThrowRequestException = null;
  26487.     public boolean isTransazioniTracciamentoDBOutResponseThrowRequestException() {  
  26488.         if(this.isTransazioniTracciamentoDBOutResponseThrowRequestException==null){
  26489.             String pName = "org.openspcoop2.pdd.transazioni.tracciamentoDB.outResponse.throwRequestException";
  26490.             try{
  26491.                 String name = null;
  26492.                 name = this.reader.getValueConvertEnvProperties(pName);
  26493.                 if(name==null){
  26494.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  26495.                     name="true";
  26496.                 }
  26497.                 name = name.trim();
  26498.                 this.isTransazioniTracciamentoDBOutResponseThrowRequestException = Boolean.parseBoolean(name);
  26499.             } catch(java.lang.Exception e) {
  26500.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  26501.                 this.isTransazioniTracciamentoDBOutResponseThrowRequestException = true;
  26502.             }    
  26503.         }

  26504.         return this.isTransazioniTracciamentoDBOutResponseThrowRequestException;
  26505.     }
  26506.    
  26507.     private Boolean isTransazioniTracciamentoDBPostOutResponseThrowRequestException = null;
  26508.     public boolean isTransazioniTracciamentoDBPostOutResponseThrowRequestException() {  
  26509.         if(this.isTransazioniTracciamentoDBPostOutResponseThrowRequestException==null){
  26510.             String pName = "org.openspcoop2.pdd.transazioni.tracciamentoDB.postOutResponse.throwRequestException";
  26511.             try{
  26512.                 String name = null;
  26513.                 name = this.reader.getValueConvertEnvProperties(pName);
  26514.                 if(name==null){
  26515.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  26516.                     name="true";
  26517.                 }
  26518.                 name = name.trim();
  26519.                 this.isTransazioniTracciamentoDBPostOutResponseThrowRequestException = Boolean.parseBoolean(name);
  26520.             } catch(java.lang.Exception e) {
  26521.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  26522.                 this.isTransazioniTracciamentoDBPostOutResponseThrowRequestException = true;
  26523.             }    
  26524.         }

  26525.         return this.isTransazioniTracciamentoDBPostOutResponseThrowRequestException;
  26526.     }
  26527.    
  26528.     private Boolean isTransazioniTracciamentoDBPostOutResponseThrowResponseException = null;
  26529.     public boolean isTransazioniTracciamentoDBPostOutResponseThrowResponseException() {
  26530.         if(this.isTransazioniTracciamentoDBPostOutResponseThrowResponseException==null){
  26531.             String pName = "org.openspcoop2.pdd.transazioni.tracciamentoDB.postOutResponse.throwResponseException";
  26532.             try{
  26533.                 String name = null;
  26534.                 name = this.reader.getValueConvertEnvProperties(pName);
  26535.                 if(name==null){
  26536.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  26537.                     name="true";
  26538.                 }
  26539.                 name = name.trim();
  26540.                 this.isTransazioniTracciamentoDBPostOutResponseThrowResponseException = Boolean.parseBoolean(name);
  26541.             } catch(java.lang.Exception e) {
  26542.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  26543.                 this.isTransazioniTracciamentoDBPostOutResponseThrowResponseException = true;
  26544.             }    
  26545.         }

  26546.         return this.isTransazioniTracciamentoDBPostOutResponseThrowResponseException;
  26547.     }
  26548.    
  26549.    
  26550.     // FiltroDuplicati
  26551.    
  26552.     private Boolean isTransazioniFiltroDuplicatiSaveDateEnabled = null;
  26553.     private boolean _isTransazioniFiltroDuplicatiSaveDateEnabled() throws ProtocolException {  
  26554.         if(this.isTransazioniFiltroDuplicatiSaveDateEnabled==null){
  26555.             try{
  26556.                 String name = null;
  26557.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.duplicati.dateIdentificativiProtocolloInCampiSeparati");
  26558.                 if(name==null){
  26559.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.duplicati.dateIdentificativiProtocolloInCampiSeparati' non impostata, viene utilizzato il default=true");
  26560.                     name="true";
  26561.                 }
  26562.                 name = name.trim();
  26563.                 this.isTransazioniFiltroDuplicatiSaveDateEnabled = Boolean.parseBoolean(name);
  26564.             } catch(java.lang.Exception e) {
  26565.                 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);
  26566.                 this.isTransazioniFiltroDuplicatiSaveDateEnabled = true;
  26567.             }    
  26568.         }

  26569.         return this.isTransazioniFiltroDuplicatiSaveDateEnabled;
  26570.     }
  26571.     public boolean isTransazioniFiltroDuplicatiSaveDateEnabled(IProtocolFactory<?> protocolFactory) throws ProtocolException {  
  26572.         return _isTransazioniFiltroDuplicatiSaveDateEnabled() && protocolFactory.createProtocolConfiguration().isDataPresenteInIdentificativoMessaggio();
  26573.     }
  26574.    
  26575.     private Boolean isTransazioniFiltroDuplicatiTramiteTransazioniEnabled = null;
  26576.     public boolean isTransazioniFiltroDuplicatiTramiteTransazioniEnabled() {    
  26577.         if(this.isTransazioniFiltroDuplicatiTramiteTransazioniEnabled==null){
  26578.             try{
  26579.                 String name = null;
  26580.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.duplicati.filtroTramiteTransazioni.enabled");
  26581.                 if(name==null){
  26582.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.duplicati.filtroTramiteTransazioni.enabled' non impostata, viene utilizzato il default=true");
  26583.                     name="true";
  26584.                 }
  26585.                 name = name.trim();
  26586.                 this.isTransazioniFiltroDuplicatiTramiteTransazioniEnabled = Boolean.parseBoolean(name);
  26587.             } catch(java.lang.Exception e) {
  26588.                 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);
  26589.                 this.isTransazioniFiltroDuplicatiTramiteTransazioniEnabled = true;
  26590.             }    
  26591.         }

  26592.         return this.isTransazioniFiltroDuplicatiTramiteTransazioniEnabled;
  26593.     }
  26594.    
  26595.     private Boolean isTransazioniFiltroDuplicatiTramiteTransazioniUsePdDConnection = null;
  26596.     public boolean isTransazioniFiltroDuplicatiTramiteTransazioniUsePdDConnection() {  
  26597.         if(this.isTransazioniFiltroDuplicatiTramiteTransazioniUsePdDConnection==null){
  26598.             try{
  26599.                 String name = null;
  26600.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.duplicati.filtroTramiteTransazioni.usePdDConnection");
  26601.                 if(name==null){
  26602.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.duplicati.filtroTramiteTransazioni.usePdDConnection' non impostata, viene utilizzato il default=true");
  26603.                     name="true";
  26604.                 }
  26605.                 name = name.trim();
  26606.                 this.isTransazioniFiltroDuplicatiTramiteTransazioniUsePdDConnection = Boolean.parseBoolean(name);
  26607.             } catch(java.lang.Exception e) {
  26608.                 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);
  26609.                 this.isTransazioniFiltroDuplicatiTramiteTransazioniUsePdDConnection = true;
  26610.             }    
  26611.         }

  26612.         return this.isTransazioniFiltroDuplicatiTramiteTransazioniUsePdDConnection;
  26613.     }
  26614.    
  26615.     private Boolean isTransazioniFiltroDuplicatiTramiteTransazioniForceIndex = null;
  26616.     public boolean isTransazioniFiltroDuplicatiTramiteTransazioniForceIndex() {
  26617.         if(this.isTransazioniFiltroDuplicatiTramiteTransazioniForceIndex==null){
  26618.             try{
  26619.                 String name = null;
  26620.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.duplicati.filtroTramiteTransazioni.forceIndex");
  26621.                 if(name==null){
  26622.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.duplicati.filtroTramiteTransazioni.forceIndex' non impostata, viene utilizzato il default=false");
  26623.                     name="false";
  26624.                 }
  26625.                 name = name.trim();
  26626.                 this.isTransazioniFiltroDuplicatiTramiteTransazioniForceIndex = Boolean.parseBoolean(name);
  26627.             } catch(java.lang.Exception e) {
  26628.                 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);
  26629.                 this.isTransazioniFiltroDuplicatiTramiteTransazioniForceIndex = false;
  26630.             }    
  26631.         }

  26632.         return this.isTransazioniFiltroDuplicatiTramiteTransazioniForceIndex;
  26633.     }
  26634.    
  26635.    
  26636.     // Stateful
  26637.    
  26638.     private Boolean isTransazioniStatefulEnabled = null;
  26639.     public boolean isTransazioniStatefulEnabled() {
  26640.         if(this.isTransazioniStatefulEnabled==null){
  26641.             try{
  26642.                 String name = null;
  26643.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.stateful.enabled");
  26644.                 if(name==null){
  26645.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.stateful.enabled' non impostata, viene utilizzato il default=true");
  26646.                     name="true";
  26647.                 }
  26648.                 name = name.trim();
  26649.                 this.isTransazioniStatefulEnabled = Boolean.parseBoolean(name);
  26650.             } catch(java.lang.Exception e) {
  26651.                 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);
  26652.                 this.isTransazioniStatefulEnabled = true;
  26653.             }    
  26654.         }

  26655.         return this.isTransazioniStatefulEnabled;
  26656.     }
  26657.    
  26658.     private Boolean isTransazioniStatefulDebug = null;
  26659.     public boolean isTransazioniStatefulDebug() {  
  26660.         if(this.isTransazioniStatefulDebug==null){
  26661.             try{
  26662.                 String name = null;
  26663.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.stateful.debug");
  26664.                 if(name==null){
  26665.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.stateful.debug' non impostata, viene utilizzato il default=true");
  26666.                     name="true";
  26667.                 }
  26668.                 name = name.trim();
  26669.                 this.isTransazioniStatefulDebug = Boolean.parseBoolean(name);
  26670.             } catch(java.lang.Exception e) {
  26671.                 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);
  26672.                 this.isTransazioniStatefulDebug = true;
  26673.             }    
  26674.         }

  26675.         return this.isTransazioniStatefulDebug;
  26676.     }
  26677.    
  26678.     private Integer getTransazioniStatefulTimerIntervalSeconds = null;
  26679.     public int getTransazioniStatefulTimerIntervalSeconds() throws CoreException {  
  26680.         if(this.getTransazioniStatefulTimerIntervalSeconds==null){
  26681.             try{
  26682.                 String name = null;
  26683.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.stateful.seconds");
  26684.                 if(name==null){
  26685.                     throw new CoreException("Proprieta' non impostata");
  26686.                 }
  26687.                 name = name.trim();
  26688.                 this.getTransazioniStatefulTimerIntervalSeconds = Integer.valueOf(name);
  26689.             } catch(java.lang.Exception e) {
  26690.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.stateful.seconds': "+e.getMessage(),e);
  26691.                 throw new CoreException(e.getMessage(),e);
  26692.             }    
  26693.         }

  26694.         return this.getTransazioniStatefulTimerIntervalSeconds;
  26695.     }
  26696.    
  26697.    
  26698.     // Salvataggio
  26699.    
  26700.     private Integer getTransazioniCredenzialiMittenteMaxLength = null;
  26701.     public int getTransazioniCredenzialiMittenteMaxLength() throws CoreException {  
  26702.         if(this.getTransazioniCredenzialiMittenteMaxLength==null){
  26703.             try{
  26704.                 String name = null;
  26705.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.credenzialiMittente.maxLength");
  26706.                 if(name==null){
  26707.                     throw new CoreException("Proprieta' non impostata");
  26708.                 }
  26709.                 name = name.trim();
  26710.                 this.getTransazioniCredenzialiMittenteMaxLength = Integer.valueOf(name);
  26711.             } catch(java.lang.Exception e) {
  26712.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.credenzialiMittente.maxLength': "+e.getMessage(),e);
  26713.                 throw new CoreException(e.getMessage(),e);
  26714.             }    
  26715.         }

  26716.         return this.getTransazioniCredenzialiMittenteMaxLength;
  26717.     }
  26718.    
  26719.     private Boolean getTransazioniCredenzialiMittenteLifeSeconds_read = null;
  26720.     private Integer getTransazioniCredenzialiMittenteLifeSeconds = null;
  26721.     public Integer getTransazioniCredenzialiMittenteLifeSeconds() throws CoreException {    
  26722.         if(this.getTransazioniCredenzialiMittenteLifeSeconds_read==null){
  26723.             try{
  26724.                 String name = null;
  26725.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.credenzialiMittente.updateAfterSeconds");
  26726.                 if(name==null){
  26727.                     throw new CoreException("Proprieta' non impostata");
  26728.                 }
  26729.                 name = name.trim();
  26730.                 this.getTransazioniCredenzialiMittenteLifeSeconds = Integer.valueOf(name);
  26731.             } catch(java.lang.Exception e) {
  26732.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.credenzialiMittente.updateAfterSeconds': "+e.getMessage(),e);
  26733.                 throw new CoreException(e.getMessage(),e);
  26734.             }    
  26735.            
  26736.             this.getTransazioniCredenzialiMittenteLifeSeconds_read = true;
  26737.         }

  26738.         return this.getTransazioniCredenzialiMittenteLifeSeconds;
  26739.     }
  26740.    
  26741.     private Boolean isTransazioniRegistrazioneTracceProtocolPropertiesEnabled = null;
  26742.     public boolean isTransazioniRegistrazioneTracceProtocolPropertiesEnabled() {    
  26743.         if(this.isTransazioniRegistrazioneTracceProtocolPropertiesEnabled==null){
  26744.             try{
  26745.                 String name = null;
  26746.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.tracce.protocolProperties.enabled");
  26747.                 if(name==null){
  26748.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.tracce.protocolProperties.enabled' non impostata, viene utilizzato il default=false");
  26749.                     name="false";
  26750.                 }
  26751.                 name = name.trim();
  26752.                 this.isTransazioniRegistrazioneTracceProtocolPropertiesEnabled = Boolean.parseBoolean(name);
  26753.             } catch(java.lang.Exception e) {
  26754.                 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);
  26755.                 this.isTransazioniRegistrazioneTracceProtocolPropertiesEnabled = false;
  26756.             }    
  26757.         }

  26758.         return this.isTransazioniRegistrazioneTracceProtocolPropertiesEnabled;
  26759.     }
  26760.    
  26761.     private Boolean isTransazioniRegistrazioneTracceHeaderRawEnabled = null;
  26762.     public boolean isTransazioniRegistrazioneTracceHeaderRawEnabled() {
  26763.         if(this.isTransazioniRegistrazioneTracceHeaderRawEnabled==null){
  26764.             try{
  26765.                 String name = null;
  26766.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.tracce.headerRaw.enabled");
  26767.                 if(name==null){
  26768.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.tracce.headerRaw.enabled' non impostata, viene utilizzato il default=false");
  26769.                     name="false";
  26770.                 }
  26771.                 name = name.trim();
  26772.                 this.isTransazioniRegistrazioneTracceHeaderRawEnabled = Boolean.parseBoolean(name);
  26773.             } catch(java.lang.Exception e) {
  26774.                 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);
  26775.                 this.isTransazioniRegistrazioneTracceHeaderRawEnabled = false;
  26776.             }    
  26777.         }

  26778.         return this.isTransazioniRegistrazioneTracceHeaderRawEnabled;
  26779.     }
  26780.    
  26781.     private Boolean isTransazioniRegistrazioneTracceDigestEnabled = null;
  26782.     public boolean isTransazioniRegistrazioneTracceDigestEnabled() {    
  26783.         if(this.isTransazioniRegistrazioneTracceDigestEnabled==null){
  26784.             try{
  26785.                 String name = null;
  26786.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.tracce.digest.enabled");
  26787.                 if(name==null){
  26788.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.tracce.digest.enabled' non impostata, viene utilizzato il default=false");
  26789.                     name="false";
  26790.                 }
  26791.                 name = name.trim();
  26792.                 this.isTransazioniRegistrazioneTracceDigestEnabled = Boolean.parseBoolean(name);
  26793.             } catch(java.lang.Exception e) {
  26794.                 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);
  26795.                 this.isTransazioniRegistrazioneTracceDigestEnabled = false;
  26796.             }    
  26797.         }

  26798.         return this.isTransazioniRegistrazioneTracceDigestEnabled;
  26799.     }
  26800.    
  26801.     private ISalvataggioTracceManager getTransazioniRegistrazioneTracceManager = null;
  26802.     private Boolean getTransazioniRegistrazioneTracceManager_read = null;
  26803.     public ISalvataggioTracceManager getTransazioniRegistrazioneTracceManager() throws CoreException {  
  26804.         return this.getTransazioniRegistrazioneTracceManager;
  26805.     }
  26806.     private ISalvataggioTracceManager _getTransazioniRegistrazioneTracceManager(ClassNameProperties className, Loader loader) throws CoreException {    
  26807.         if(this.getTransazioniRegistrazioneTracceManager_read==null){
  26808.             try{
  26809.                 String name = null;
  26810.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.tracce.salvataggio");
  26811.                 if(name!=null){
  26812.                     name = name.trim();
  26813.                    
  26814.                     String classe = className.getSalvataggioTracceManager(name);
  26815.                     if(classe == null) {
  26816.                         throw new CoreException("Classe non trovata per il salvataggio delle tracce con tipo '"+name+"'");
  26817.                     }
  26818.                    
  26819.                     this.getTransazioniRegistrazioneTracceManager = (ISalvataggioTracceManager) loader.newInstance(classe);
  26820.                 }
  26821.                
  26822.                 this.getTransazioniRegistrazioneTracceManager_read = true;
  26823.                
  26824.             } catch(java.lang.Exception e) {
  26825.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.tracce.salvataggio': "+e.getMessage(),e);
  26826.                 throw new CoreException(e.getMessage(),e);
  26827.             }    
  26828.         }

  26829.         return this.getTransazioniRegistrazioneTracceManager;
  26830.     }
  26831.    
  26832.     private ISalvataggioDiagnosticiManager getTransazioniRegistrazioneDiagnosticiManager = null;
  26833.     private Boolean getTransazioniRegistrazioneDiagnosticiManager_read = null;
  26834.     public ISalvataggioDiagnosticiManager getTransazioniRegistrazioneDiagnosticiManager() throws CoreException {    
  26835.         return this.getTransazioniRegistrazioneDiagnosticiManager;
  26836.     }
  26837.     private ISalvataggioDiagnosticiManager _getTransazioniRegistrazioneDiagnosticiManager(ClassNameProperties className, Loader loader) throws CoreException {  
  26838.         if(this.getTransazioniRegistrazioneDiagnosticiManager_read==null){
  26839.             try{
  26840.                 String name = null;
  26841.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.diagnostici.salvataggio");
  26842.                 if(name!=null){
  26843.                     name = name.trim();
  26844.                    
  26845.                     String classe = className.getSalvataggioDiagnosticiManager(name);
  26846.                     if(classe == null) {
  26847.                         throw new CoreException("Classe non trovata per il salvataggio dei diagnostici con tipo '"+name+"'");
  26848.                     }
  26849.                    
  26850.                     this.getTransazioniRegistrazioneDiagnosticiManager = (ISalvataggioDiagnosticiManager) loader.newInstance(classe);
  26851.                 }
  26852.                
  26853.                 this.getTransazioniRegistrazioneDiagnosticiManager_read = true;
  26854.                
  26855.             } catch(java.lang.Exception e) {
  26856.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.diagnostici.salvataggio': "+e.getMessage(),e);
  26857.                 throw new CoreException(e.getMessage(),e);
  26858.             }    
  26859.         }

  26860.         return this.getTransazioniRegistrazioneDiagnosticiManager;
  26861.     }
  26862.    
  26863.     private Boolean isTransazioniRegistrazioneDumpHeadersCompactEnabled = null;
  26864.     public boolean isTransazioniRegistrazioneDumpHeadersCompactEnabled() {  
  26865.         if(this.isTransazioniRegistrazioneDumpHeadersCompactEnabled==null){
  26866.             try{
  26867.                 String name = null;
  26868.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.transazioni.dump.headers.compact.enabled");
  26869.                 if(name==null){
  26870.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.transazioni.dump.headers.compact.enabled' non impostata, viene utilizzato il default=false");
  26871.                     name="false";
  26872.                 }
  26873.                 name = name.trim();
  26874.                 this.isTransazioniRegistrazioneDumpHeadersCompactEnabled = Boolean.parseBoolean(name);
  26875.             } catch(java.lang.Exception e) {
  26876.                 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);
  26877.                 this.isTransazioniRegistrazioneDumpHeadersCompactEnabled = false;
  26878.             }    
  26879.         }

  26880.         return this.isTransazioniRegistrazioneDumpHeadersCompactEnabled;
  26881.     }
  26882.    
  26883.     // Trace su File
  26884.    
  26885.     private Boolean isTransazioniFileTraceEnabled = null;
  26886.     public boolean isTransazioniFileTraceEnabled() {    
  26887.         if(this.isTransazioniFileTraceEnabled==null){
  26888.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.enabled";
  26889.             try{
  26890.                 String name = null;
  26891.                 name = this.reader.getValueConvertEnvProperties(pName);
  26892.                 if(name==null){
  26893.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  26894.                     name="false";
  26895.                 }
  26896.                 name = name.trim();
  26897.                 this.isTransazioniFileTraceEnabled = Boolean.parseBoolean(name);
  26898.             } catch(java.lang.Exception e) {
  26899.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  26900.                 this.isTransazioniFileTraceEnabled = false;
  26901.             }    
  26902.         }

  26903.         return this.isTransazioniFileTraceEnabled;
  26904.     }
  26905.    
  26906.     private Boolean isTransazioniFileTraceDumpBinarioPDEnabled = null;
  26907.     public boolean isTransazioniFileTraceDumpBinarioPDEnabled() {  
  26908.         if(this.isTransazioniFileTraceDumpBinarioPDEnabled==null){
  26909.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.dumpBinarioPD.enabled";
  26910.             try{
  26911.                 String name = null;
  26912.                 name = this.reader.getValueConvertEnvProperties(pName);
  26913.                 if(name==null){
  26914.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  26915.                     name="false";
  26916.                 }
  26917.                 name = name.trim();
  26918.                 this.isTransazioniFileTraceDumpBinarioPDEnabled = Boolean.parseBoolean(name);
  26919.             } catch(java.lang.Exception e) {
  26920.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  26921.                 this.isTransazioniFileTraceDumpBinarioPDEnabled = false;
  26922.             }    
  26923.         }

  26924.         return this.isTransazioniFileTraceDumpBinarioPDEnabled;
  26925.     }
  26926.     private Boolean isTransazioniFileTraceDumpBinarioPDPayloadEnabled = null;
  26927.     public boolean isTransazioniFileTraceDumpBinarioPDPayloadEnabled() {    
  26928.         if(this.isTransazioniFileTraceDumpBinarioPDPayloadEnabled==null){
  26929.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.dumpBinarioPD.payload.enabled";
  26930.             try{
  26931.                 String name = null;
  26932.                 name = this.reader.getValueConvertEnvProperties(pName);
  26933.                 if(name==null || "".equals(name)){
  26934.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isTransazioniFileTraceDumpBinarioPDEnabled()));
  26935.                     name=""+isTransazioniFileTraceDumpBinarioPDEnabled();
  26936.                 }
  26937.                 name = name.trim();
  26938.                 this.isTransazioniFileTraceDumpBinarioPDPayloadEnabled = Boolean.parseBoolean(name);
  26939.             } catch(java.lang.Exception e) {
  26940.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+isTransazioniFileTraceDumpBinarioPDEnabled()+" : "+e.getMessage(),e);
  26941.                 this.isTransazioniFileTraceDumpBinarioPDPayloadEnabled = isTransazioniFileTraceDumpBinarioPDEnabled();
  26942.             }    
  26943.         }

  26944.         return this.isTransazioniFileTraceDumpBinarioPDPayloadEnabled;
  26945.     }
  26946.     private Boolean isTransazioniFileTraceDumpBinarioPDHeadersEnabled = null;
  26947.     public boolean isTransazioniFileTraceDumpBinarioPDHeadersEnabled() {    
  26948.         if(this.isTransazioniFileTraceDumpBinarioPDHeadersEnabled==null){
  26949.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.dumpBinarioPD.headers.enabled";
  26950.             try{
  26951.                 String name = null;
  26952.                 name = this.reader.getValueConvertEnvProperties(pName);
  26953.                 if(name==null || "".equals(name)){
  26954.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isTransazioniFileTraceDumpBinarioPDEnabled()));
  26955.                     name=""+isTransazioniFileTraceDumpBinarioPDEnabled();
  26956.                 }
  26957.                 name = name.trim();
  26958.                 this.isTransazioniFileTraceDumpBinarioPDHeadersEnabled = Boolean.parseBoolean(name);
  26959.             } catch(java.lang.Exception e) {
  26960.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+isTransazioniFileTraceDumpBinarioPDEnabled()+" : "+e.getMessage(),e);
  26961.                 this.isTransazioniFileTraceDumpBinarioPDHeadersEnabled = isTransazioniFileTraceDumpBinarioPDEnabled();
  26962.             }    
  26963.         }

  26964.         return this.isTransazioniFileTraceDumpBinarioPDHeadersEnabled;
  26965.     }
  26966.    
  26967.     private Boolean isTransazioniFileTraceDumpBinarioPDConnettoreEnabled = null;
  26968.     public boolean isTransazioniFileTraceDumpBinarioPDConnettoreEnabled() {
  26969.         if(this.isTransazioniFileTraceDumpBinarioPDConnettoreEnabled==null){
  26970.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.dumpBinarioPD.connettore.enabled";
  26971.             try{
  26972.                 String name = null;
  26973.                 name = this.reader.getValueConvertEnvProperties(pName);
  26974.                 if(name==null){
  26975.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  26976.                     name="false";
  26977.                 }
  26978.                 name = name.trim();
  26979.                 this.isTransazioniFileTraceDumpBinarioPDConnettoreEnabled = Boolean.parseBoolean(name);
  26980.             } catch(java.lang.Exception e) {
  26981.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  26982.                 this.isTransazioniFileTraceDumpBinarioPDConnettoreEnabled = false;
  26983.             }    
  26984.         }

  26985.         return this.isTransazioniFileTraceDumpBinarioPDConnettoreEnabled;
  26986.     }
  26987.     private Boolean isTransazioniFileTraceDumpBinarioPDConnettorePayloadEnabled = null;
  26988.     public boolean isTransazioniFileTraceDumpBinarioPDConnettorePayloadEnabled() {  
  26989.         if(this.isTransazioniFileTraceDumpBinarioPDConnettorePayloadEnabled==null){
  26990.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.dumpBinarioPD.connettore.payload.enabled";
  26991.             try{
  26992.                 String name = null;
  26993.                 name = this.reader.getValueConvertEnvProperties(pName);
  26994.                 if(name==null || "".equals(name)){
  26995.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isTransazioniFileTraceDumpBinarioPDConnettoreEnabled()));
  26996.                     name=""+isTransazioniFileTraceDumpBinarioPDConnettoreEnabled();
  26997.                 }
  26998.                 name = name.trim();
  26999.                 this.isTransazioniFileTraceDumpBinarioPDConnettorePayloadEnabled = Boolean.parseBoolean(name);
  27000.             } catch(java.lang.Exception e) {
  27001.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+isTransazioniFileTraceDumpBinarioPDConnettoreEnabled()+" : "+e.getMessage(),e);
  27002.                 this.isTransazioniFileTraceDumpBinarioPDConnettorePayloadEnabled = isTransazioniFileTraceDumpBinarioPDConnettoreEnabled();
  27003.             }    
  27004.         }

  27005.         return this.isTransazioniFileTraceDumpBinarioPDConnettorePayloadEnabled;
  27006.     }
  27007.     private Boolean isTransazioniFileTraceDumpBinarioPDConnettoreHeadersEnabled = null;
  27008.     public boolean isTransazioniFileTraceDumpBinarioPDConnettoreHeadersEnabled() {  
  27009.         if(this.isTransazioniFileTraceDumpBinarioPDConnettoreHeadersEnabled==null){
  27010.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.dumpBinarioPD.connettore.headers.enabled";
  27011.             try{
  27012.                 String name = null;
  27013.                 name = this.reader.getValueConvertEnvProperties(pName);
  27014.                 if(name==null || "".equals(name)){
  27015.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isTransazioniFileTraceDumpBinarioPDConnettoreEnabled()));
  27016.                     name=""+isTransazioniFileTraceDumpBinarioPDConnettoreEnabled();
  27017.                 }
  27018.                 name = name.trim();
  27019.                 this.isTransazioniFileTraceDumpBinarioPDConnettoreHeadersEnabled = Boolean.parseBoolean(name);
  27020.             } catch(java.lang.Exception e) {
  27021.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+isTransazioniFileTraceDumpBinarioPDConnettoreEnabled()+" : "+e.getMessage(),e);
  27022.                 this.isTransazioniFileTraceDumpBinarioPDConnettoreHeadersEnabled = isTransazioniFileTraceDumpBinarioPDConnettoreEnabled();
  27023.             }    
  27024.         }

  27025.         return this.isTransazioniFileTraceDumpBinarioPDConnettoreHeadersEnabled;
  27026.     }
  27027.    
  27028.     private Boolean isTransazioniFileTraceDumpBinarioPAEnabled = null;
  27029.     public boolean isTransazioniFileTraceDumpBinarioPAEnabled() {  
  27030.         if(this.isTransazioniFileTraceDumpBinarioPAEnabled==null){
  27031.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.dumpBinarioPA.enabled";
  27032.             try{
  27033.                 String name = null;
  27034.                 name = this.reader.getValueConvertEnvProperties(pName);
  27035.                 if(name==null){
  27036.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  27037.                     name="false";
  27038.                 }
  27039.                 name = name.trim();
  27040.                 this.isTransazioniFileTraceDumpBinarioPAEnabled = Boolean.parseBoolean(name);
  27041.             } catch(java.lang.Exception e) {
  27042.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  27043.                 this.isTransazioniFileTraceDumpBinarioPAEnabled = false;
  27044.             }    
  27045.         }

  27046.         return this.isTransazioniFileTraceDumpBinarioPAEnabled;
  27047.     }
  27048.     private Boolean isTransazioniFileTraceDumpBinarioPAPayloadEnabled = null;
  27049.     public boolean isTransazioniFileTraceDumpBinarioPAPayloadEnabled() {    
  27050.         if(this.isTransazioniFileTraceDumpBinarioPAPayloadEnabled==null){
  27051.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.dumpBinarioPA.payload.enabled";
  27052.             try{
  27053.                 String name = null;
  27054.                 name = this.reader.getValueConvertEnvProperties(pName);
  27055.                 if(name==null || "".equals(name)){
  27056.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isTransazioniFileTraceDumpBinarioPAEnabled()));
  27057.                     name=""+isTransazioniFileTraceDumpBinarioPAEnabled();
  27058.                 }
  27059.                 name = name.trim();
  27060.                 this.isTransazioniFileTraceDumpBinarioPAPayloadEnabled = Boolean.parseBoolean(name);
  27061.             } catch(java.lang.Exception e) {
  27062.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+isTransazioniFileTraceDumpBinarioPAEnabled()+" : "+e.getMessage(),e);
  27063.                 this.isTransazioniFileTraceDumpBinarioPAPayloadEnabled = isTransazioniFileTraceDumpBinarioPAEnabled();
  27064.             }    
  27065.         }

  27066.         return this.isTransazioniFileTraceDumpBinarioPAPayloadEnabled;
  27067.     }
  27068.     private Boolean isTransazioniFileTraceDumpBinarioPAHeadersEnabled = null;
  27069.     public boolean isTransazioniFileTraceDumpBinarioPAHeadersEnabled() {    
  27070.         if(this.isTransazioniFileTraceDumpBinarioPAHeadersEnabled==null){
  27071.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.dumpBinarioPA.headers.enabled";
  27072.             try{
  27073.                 String name = null;
  27074.                 name = this.reader.getValueConvertEnvProperties(pName);
  27075.                 if(name==null || "".equals(name)){
  27076.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isTransazioniFileTraceDumpBinarioPAEnabled()));
  27077.                     name=""+isTransazioniFileTraceDumpBinarioPAEnabled();
  27078.                 }
  27079.                 name = name.trim();
  27080.                 this.isTransazioniFileTraceDumpBinarioPAHeadersEnabled = Boolean.parseBoolean(name);
  27081.             } catch(java.lang.Exception e) {
  27082.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+isTransazioniFileTraceDumpBinarioPAEnabled()+" : "+e.getMessage(),e);
  27083.                 this.isTransazioniFileTraceDumpBinarioPAHeadersEnabled = isTransazioniFileTraceDumpBinarioPAEnabled();
  27084.             }    
  27085.         }

  27086.         return this.isTransazioniFileTraceDumpBinarioPAHeadersEnabled;
  27087.     }

  27088.    
  27089.     private Boolean isTransazioniFileTraceDumpBinarioPAConnettoreEnabled = null;
  27090.     public boolean isTransazioniFileTraceDumpBinarioPAConnettoreEnabled() {
  27091.         if(this.isTransazioniFileTraceDumpBinarioPAConnettoreEnabled==null){
  27092.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.dumpBinarioPA.connettore.enabled";
  27093.             try{
  27094.                 String name = null;
  27095.                 name = this.reader.getValueConvertEnvProperties(pName);
  27096.                 if(name==null){
  27097.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  27098.                     name="false";
  27099.                 }
  27100.                 name = name.trim();
  27101.                 this.isTransazioniFileTraceDumpBinarioPAConnettoreEnabled = Boolean.parseBoolean(name);
  27102.             } catch(java.lang.Exception e) {
  27103.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  27104.                 this.isTransazioniFileTraceDumpBinarioPAConnettoreEnabled = false;
  27105.             }    
  27106.         }

  27107.         return this.isTransazioniFileTraceDumpBinarioPAConnettoreEnabled;
  27108.     }
  27109.     private Boolean isTransazioniFileTraceDumpBinarioPAConnettorePayloadEnabled = null;
  27110.     public boolean isTransazioniFileTraceDumpBinarioPAConnettorePayloadEnabled() {  
  27111.         if(this.isTransazioniFileTraceDumpBinarioPAConnettorePayloadEnabled==null){
  27112.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.dumpBinarioPA.connettore.payload.enabled";
  27113.             try{
  27114.                 String name = null;
  27115.                 name = this.reader.getValueConvertEnvProperties(pName);
  27116.                 if(name==null || "".equals(name)){
  27117.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isTransazioniFileTraceDumpBinarioPAConnettoreEnabled()));
  27118.                     name=""+isTransazioniFileTraceDumpBinarioPAConnettoreEnabled();
  27119.                 }
  27120.                 name = name.trim();
  27121.                 this.isTransazioniFileTraceDumpBinarioPAConnettorePayloadEnabled = Boolean.parseBoolean(name);
  27122.             } catch(java.lang.Exception e) {
  27123.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+isTransazioniFileTraceDumpBinarioPAConnettoreEnabled()+" : "+e.getMessage(),e);
  27124.                 this.isTransazioniFileTraceDumpBinarioPAConnettorePayloadEnabled = isTransazioniFileTraceDumpBinarioPAConnettoreEnabled();
  27125.             }    
  27126.         }

  27127.         return this.isTransazioniFileTraceDumpBinarioPAConnettorePayloadEnabled;
  27128.     }
  27129.     private Boolean isTransazioniFileTraceDumpBinarioPAConnettoreHeadersEnabled = null;
  27130.     public boolean isTransazioniFileTraceDumpBinarioPAConnettoreHeadersEnabled() {  
  27131.         if(this.isTransazioniFileTraceDumpBinarioPAConnettoreHeadersEnabled==null){
  27132.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.dumpBinarioPA.connettore.headers.enabled";
  27133.             try{
  27134.                 String name = null;
  27135.                 name = this.reader.getValueConvertEnvProperties(pName);
  27136.                 if(name==null || "".equals(name)){
  27137.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,isTransazioniFileTraceDumpBinarioPAConnettoreEnabled()));
  27138.                     name=""+isTransazioniFileTraceDumpBinarioPAConnettoreEnabled();
  27139.                 }
  27140.                 name = name.trim();
  27141.                 this.isTransazioniFileTraceDumpBinarioPAConnettoreHeadersEnabled = Boolean.parseBoolean(name);
  27142.             } catch(java.lang.Exception e) {
  27143.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+isTransazioniFileTraceDumpBinarioPAConnettoreEnabled()+" : "+e.getMessage(),e);
  27144.                 this.isTransazioniFileTraceDumpBinarioPAConnettoreHeadersEnabled = isTransazioniFileTraceDumpBinarioPAConnettoreEnabled();
  27145.             }    
  27146.         }

  27147.         return this.isTransazioniFileTraceDumpBinarioPAConnettoreHeadersEnabled;
  27148.     }
  27149.    
  27150.     private Boolean isTransazioniFileTraceDumpBinarioReleaseInLastTrackingPhase = null;
  27151.     public boolean isTransazioniFileTraceDumpBinarioReleaseInLastTrackingPhase() {  
  27152.         if(this.isTransazioniFileTraceDumpBinarioReleaseInLastTrackingPhase==null){
  27153.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.dumpBinario.releaseInLastTrackingPhase";
  27154.             try{
  27155.                 String name = null;
  27156.                 name = this.reader.getValueConvertEnvProperties(pName);
  27157.                 if(name==null || "".equals(name)){
  27158.                     this.logDebug(getMessaggioProprietaNonImpostata(pName,true));
  27159.                     name=""+true;
  27160.                 }
  27161.                 name = name.trim();
  27162.                 this.isTransazioniFileTraceDumpBinarioReleaseInLastTrackingPhase = Boolean.parseBoolean(name);
  27163.             } catch(java.lang.Exception e) {
  27164.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+true+" : "+e.getMessage(),e);
  27165.                 this.isTransazioniFileTraceDumpBinarioReleaseInLastTrackingPhase = true;
  27166.             }    
  27167.         }

  27168.         return this.isTransazioniFileTraceDumpBinarioReleaseInLastTrackingPhase;
  27169.     }

  27170.     private File getTransazioniFileTraceConfig = null;
  27171.     public File getTransazioniFileTraceConfig() throws CoreException {  
  27172.         if(this.getTransazioniFileTraceConfig==null){
  27173.             String pName = "org.openspcoop2.pdd.transazioni.fileTrace.config";
  27174.             try{
  27175.                 String name = null;
  27176.                 name = this.reader.getValueConvertEnvProperties(pName);
  27177.                 if(name==null){
  27178.                     throw new CoreException("Proprieta' non impostata");
  27179.                 }
  27180.                 name = name.trim();
  27181.                
  27182.                 this.getTransazioniFileTraceConfig = ConfigurazioneTracciamento.toFileTraceConfig(name, this.getRootDirectory(), false);
  27183.                
  27184.             } catch(java.lang.Exception e) {
  27185.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  27186.                 throw new CoreException(e.getMessage(),e);
  27187.             }    
  27188.         }

  27189.         return this.getTransazioniFileTraceConfig;
  27190.     }
  27191.    
  27192.     public FileTraceGovWayState getFileTraceGovWayState() {
  27193.         FileTraceGovWayState state = new FileTraceGovWayState();
  27194.         state.setEnabled(this.isTransazioniFileTraceEnabled());
  27195.         if(state.isEnabled()) {
  27196.             try {
  27197.                 state.setPath(this.getTransazioniFileTraceConfig().getAbsolutePath());
  27198.             }catch(Exception e) {
  27199.                 state.setPath("ERROR: "+e.getMessage());
  27200.             }
  27201.             state.setEnabledInErogazione(this.isTransazioniFileTraceDumpBinarioPAEnabled());
  27202.             if(this.isTransazioniFileTraceDumpBinarioPAEnabled()) {
  27203.                 state.setEnabledInErogazione_headers(this.isTransazioniFileTraceDumpBinarioPAHeadersEnabled());
  27204.                 state.setEnabledInErogazione_payload(this.isTransazioniFileTraceDumpBinarioPAPayloadEnabled());
  27205.             }
  27206.            
  27207.             state.setEnabledOutErogazione(this.isTransazioniFileTraceDumpBinarioPAConnettoreEnabled());
  27208.             if(this.isTransazioniFileTraceDumpBinarioPAConnettoreEnabled()) {
  27209.                 state.setEnabledOutErogazione_headers(this.isTransazioniFileTraceDumpBinarioPAConnettoreHeadersEnabled());
  27210.                 state.setEnabledOutErogazione_payload(this.isTransazioniFileTraceDumpBinarioPAConnettorePayloadEnabled());
  27211.             }
  27212.            
  27213.             state.setEnabledInFruizione(this.isTransazioniFileTraceDumpBinarioPDEnabled());
  27214.             if(this.isTransazioniFileTraceDumpBinarioPDEnabled()) {
  27215.                 state.setEnabledInFruizione_headers(this.isTransazioniFileTraceDumpBinarioPDHeadersEnabled());
  27216.                 state.setEnabledInFruizione_payload(this.isTransazioniFileTraceDumpBinarioPDPayloadEnabled());
  27217.             }
  27218.            
  27219.             state.setEnabledOutFruizione(this.isTransazioniFileTraceDumpBinarioPDConnettoreEnabled());
  27220.             if(this.isTransazioniFileTraceDumpBinarioPDConnettoreEnabled()) {
  27221.                 state.setEnabledOutFruizione_headers(this.isTransazioniFileTraceDumpBinarioPDConnettoreHeadersEnabled());
  27222.                 state.setEnabledOutFruizione_payload(this.isTransazioniFileTraceDumpBinarioPDConnettorePayloadEnabled());
  27223.             }
  27224.         }
  27225.         return state;
  27226.     }
  27227.    
  27228.    
  27229.     /* ------------- Testsuite ---------------------*/
  27230.    
  27231.     private String getTransazioniTestsuiteManuallyFaultHeaderDBBeforeCommit = null;
  27232.     private Boolean getTransazioniTestsuiteManuallyFaultHeaderDBBeforeCommitRead = null;
  27233.     public String getTransazioniTestsuiteManuallyFaultHeaderDBBeforeCommit() throws CoreException {
  27234.         if(this.getTransazioniTestsuiteManuallyFaultHeaderDBBeforeCommitRead==null){
  27235.             String pName = "org.openspcoop2.pdd.transazioni.testsuite.manuallyFaultHeader.db.beforeCommit";
  27236.             try{
  27237.                 String name = null;
  27238.                 name = this.reader.getValueConvertEnvProperties(pName);
  27239.                 if(name!=null){
  27240.                     name = name.trim();
  27241.                     this.getTransazioniTestsuiteManuallyFaultHeaderDBBeforeCommit = name;
  27242.                 }
  27243.             } catch(java.lang.Exception e) {
  27244.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  27245.                 throw new CoreException(e.getMessage(),e);
  27246.             }    
  27247.             this.getTransazioniTestsuiteManuallyFaultHeaderDBBeforeCommitRead=true;
  27248.         }

  27249.         return this.getTransazioniTestsuiteManuallyFaultHeaderDBBeforeCommit;
  27250.     }
  27251.    
  27252.     private String getTransazioniTestsuiteManuallyFaultHeaderFileTraceBeforeLog = null;
  27253.     private Boolean getTransazioniTestsuiteManuallyFaultHeaderFileTraceBeforeLogRead = null;
  27254.     public String getTransazioniTestsuiteManuallyFaultHeaderFileTraceBeforeLog() throws CoreException {
  27255.         if(this.getTransazioniTestsuiteManuallyFaultHeaderFileTraceBeforeLogRead==null){
  27256.             String pName = "org.openspcoop2.pdd.transazioni.testsuite.manuallyFaultHeader.fileTrace.beforeLog";
  27257.             try{
  27258.                 String name = null;
  27259.                 name = this.reader.getValueConvertEnvProperties(pName);
  27260.                 if(name!=null){
  27261.                     name = name.trim();
  27262.                     this.getTransazioniTestsuiteManuallyFaultHeaderFileTraceBeforeLog = name;
  27263.                 }
  27264.             } catch(java.lang.Exception e) {
  27265.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  27266.                 throw new CoreException(e.getMessage(),e);
  27267.             }    
  27268.             this.getTransazioniTestsuiteManuallyFaultHeaderFileTraceBeforeLogRead=true;
  27269.         }

  27270.         return this.getTransazioniTestsuiteManuallyFaultHeaderFileTraceBeforeLog;
  27271.     }
  27272.    
  27273.     /* ------------- Eventi ---------------------*/
  27274.    
  27275.     private Boolean isEventiEnabled = null;
  27276.     public boolean isEventiEnabled() {  
  27277.         if(this.isEventiEnabled==null){
  27278.             try{
  27279.                 String name = null;
  27280.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.eventi.enabled");
  27281.                 if(name==null){
  27282.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.eventi.enabled' non impostata, viene utilizzato il default=true");
  27283.                     name="true";
  27284.                 }
  27285.                 name = name.trim();
  27286.                 this.isEventiEnabled = Boolean.parseBoolean(name);
  27287.             } catch(java.lang.Exception e) {
  27288.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.eventi.enabled', viene utilizzato il default=true : "+e.getMessage(),e);
  27289.                 this.isEventiEnabled = true;
  27290.             }    
  27291.         }

  27292.         return this.isEventiEnabled;
  27293.     }
  27294.    
  27295.     private Boolean isEventiDebug = null;
  27296.     public boolean isEventiDebug() {    
  27297.         if(this.isEventiDebug==null){
  27298.             try{
  27299.                 String name = null;
  27300.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.eventi.debug");
  27301.                 if(name==null){
  27302.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.eventi.debug' non impostata, viene utilizzato il default=true");
  27303.                     name="true";
  27304.                 }
  27305.                 name = name.trim();
  27306.                 this.isEventiDebug = Boolean.parseBoolean(name);
  27307.             } catch(java.lang.Exception e) {
  27308.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.eventi.debug', viene utilizzato il default=true : "+e.getMessage(),e);
  27309.                 this.isEventiDebug = true;
  27310.             }    
  27311.         }

  27312.         return this.isEventiDebug;
  27313.     }
  27314.    
  27315.     private Boolean isEventiRegistrazioneStatoPorta = null;
  27316.     public boolean isEventiRegistrazioneStatoPorta() {  
  27317.         if(this.isEventiRegistrazioneStatoPorta==null){
  27318.             try{
  27319.                 String name = null;
  27320.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.eventi.registraStatoPorta");
  27321.                 if(name==null){
  27322.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.eventi.registraStatoPorta' non impostata, viene utilizzato il default=true");
  27323.                     name="true";
  27324.                 }
  27325.                 name = name.trim();
  27326.                 this.isEventiRegistrazioneStatoPorta = Boolean.parseBoolean(name);
  27327.             } catch(java.lang.Exception e) {
  27328.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.eventi.registraStatoPorta', viene utilizzato il default=true : "+e.getMessage(),e);
  27329.                 this.isEventiRegistrazioneStatoPorta = true;
  27330.             }    
  27331.         }

  27332.         return this.isEventiRegistrazioneStatoPorta;
  27333.     }
  27334.    
  27335.     private Boolean isEventiTimerEnabled = null;
  27336.     public boolean isEventiTimerEnabled() {
  27337.         if(this.isEventiTimerEnabled==null){
  27338.             try{
  27339.                 String name = null;
  27340.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.eventi.timer.enabled");
  27341.                 if(name==null){
  27342.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.eventi.timer.enabled' non impostata, viene utilizzato il default=true");
  27343.                     name="true";
  27344.                 }
  27345.                 name = name.trim();
  27346.                 this.isEventiTimerEnabled = Boolean.parseBoolean(name);
  27347.             } catch(java.lang.Exception e) {
  27348.                 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);
  27349.                 this.isEventiTimerEnabled = true;
  27350.             }    
  27351.         }

  27352.         return this.isEventiTimerEnabled;
  27353.     }
  27354.    
  27355.     private Integer getEventiTimerIntervalSeconds = null;
  27356.     public int getEventiTimerIntervalSeconds() throws CoreException {  
  27357.         if(this.getEventiTimerIntervalSeconds==null){
  27358.             try{
  27359.                 String name = null;
  27360.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.eventi.timer.seconds");
  27361.                 if(name==null){
  27362.                     throw new CoreException("Proprieta' non impostata");
  27363.                 }
  27364.                 name = name.trim();
  27365.                 this.getEventiTimerIntervalSeconds = Integer.valueOf(name);
  27366.             } catch(java.lang.Exception e) {
  27367.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.eventi.timer.seconds': "+e.getMessage(),e);
  27368.                 throw new CoreException(e.getMessage(),e);
  27369.             }    
  27370.         }

  27371.         return this.getEventiTimerIntervalSeconds;
  27372.     }
  27373.    
  27374.     private Integer getEventiTimerIntervalConnectionTimeoutEveryXTimes = null;
  27375.     public int getEventiTimerIntervalConnectionTimeoutEveryXTimes() throws CoreException {  
  27376.         if(this.getEventiTimerIntervalConnectionTimeoutEveryXTimes==null){
  27377.             String pName = "org.openspcoop2.pdd.eventi.timer.connectionTimeout.everyXtimes";
  27378.             try{
  27379.                 String name = null;
  27380.                 name = this.reader.getValueConvertEnvProperties(pName);
  27381.                 if(name==null){
  27382.                     throw new CoreException("Proprieta' non impostata");
  27383.                 }
  27384.                 name = name.trim();
  27385.                 this.getEventiTimerIntervalConnectionTimeoutEveryXTimes = Integer.valueOf(name);
  27386.                 if(this.getEventiTimerIntervalConnectionTimeoutEveryXTimes<=0) {
  27387.                     this.getEventiTimerIntervalConnectionTimeoutEveryXTimes = 1;
  27388.                 }
  27389.             } catch(java.lang.Exception e) {
  27390.                 this.logWarn("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+5+" : "+e.getMessage(),e);
  27391.                 this.getEventiTimerIntervalConnectionTimeoutEveryXTimes = 5;
  27392.             }    
  27393.         }

  27394.         return this.getEventiTimerIntervalConnectionTimeoutEveryXTimes;
  27395.     }
  27396.    
  27397.     private Integer getEventiTimerIntervalRequestReadTimeoutEveryXTimes = null;
  27398.     public int getEventiTimerIntervalRequestReadTimeoutEveryXTimes() throws CoreException {
  27399.         if(this.getEventiTimerIntervalRequestReadTimeoutEveryXTimes==null){
  27400.             String pName = "org.openspcoop2.pdd.eventi.timer.requestReadTimeout.everyXtimes";
  27401.             try{
  27402.                 String name = null;
  27403.                 name = this.reader.getValueConvertEnvProperties(pName);
  27404.                 if(name==null){
  27405.                     throw new CoreException("Proprieta' non impostata");
  27406.                 }
  27407.                 name = name.trim();
  27408.                 this.getEventiTimerIntervalRequestReadTimeoutEveryXTimes = Integer.valueOf(name);
  27409.                 if(this.getEventiTimerIntervalRequestReadTimeoutEveryXTimes<=0) {
  27410.                     this.getEventiTimerIntervalRequestReadTimeoutEveryXTimes = 1;
  27411.                 }
  27412.             } catch(java.lang.Exception e) {
  27413.                 this.logWarn("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=5 : "+e.getMessage(),e);
  27414.                 this.getEventiTimerIntervalRequestReadTimeoutEveryXTimes = 5;
  27415.             }    
  27416.         }

  27417.         return this.getEventiTimerIntervalRequestReadTimeoutEveryXTimes;
  27418.     }
  27419.    
  27420.     private Integer getEventiTimerIntervalReadTimeoutEveryXTimes = null;
  27421.     public int getEventiTimerIntervalReadTimeoutEveryXTimes() throws CoreException {    
  27422.         if(this.getEventiTimerIntervalReadTimeoutEveryXTimes==null){
  27423.             String pName = "org.openspcoop2.pdd.eventi.timer.readTimeout.everyXtimes";
  27424.             try{
  27425.                 String name = null;
  27426.                 name = this.reader.getValueConvertEnvProperties(pName);
  27427.                 if(name==null){
  27428.                     throw new CoreException("Proprieta' non impostata");
  27429.                 }
  27430.                 name = name.trim();
  27431.                 this.getEventiTimerIntervalReadTimeoutEveryXTimes = Integer.valueOf(name);
  27432.                 if(this.getEventiTimerIntervalReadTimeoutEveryXTimes<=0) {
  27433.                     this.getEventiTimerIntervalReadTimeoutEveryXTimes = 1;
  27434.                 }
  27435.             } catch(java.lang.Exception e) {
  27436.                 this.logWarn("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=5 : "+e.getMessage(),e);
  27437.                 this.getEventiTimerIntervalReadTimeoutEveryXTimes = 5;
  27438.             }    
  27439.         }

  27440.         return this.getEventiTimerIntervalReadTimeoutEveryXTimes;
  27441.     }
  27442.    
  27443.    
  27444.    
  27445.    
  27446.     /* ------------- Repository ---------------------*/
  27447.    
  27448.     private File getFileSystemRecoveryRepository = null;
  27449.     public File getFileSystemRecoveryRepository() throws CoreException {    
  27450.         if(this.getFileSystemRecoveryRepository==null){
  27451.             try{
  27452.                 String name = null;
  27453.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.resources.fileSystemRecovery.repository");
  27454.                 if(name==null){
  27455.                     throw new CoreException("Proprieta' non impostata");
  27456.                 }
  27457.                 name = LoggerWrapperFactory.applyClusterIdStrategy(name.trim(), "resources");
  27458.                 this.getFileSystemRecoveryRepository = new File(name);
  27459.                 checkFileSystemRecoveryRepository();
  27460.             } catch(java.lang.Exception e) {
  27461.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.resources.fileSystemRecovery.repository': "+e.getMessage(),e);
  27462.                 throw new CoreException(e.getMessage(),e);
  27463.             }    
  27464.         }

  27465.         return this.getFileSystemRecoveryRepository;
  27466.     }
  27467.     private void checkFileSystemRecoveryRepository() throws CoreException {
  27468.         if(this.getFileSystemRecoveryRepository.exists()) {
  27469.             if(!this.getFileSystemRecoveryRepository.isDirectory()) {
  27470.                 throw newCoreExceptionNotDir(this.getFileSystemRecoveryRepository,true);
  27471.             }
  27472.             if(!this.getFileSystemRecoveryRepository.canRead()) {
  27473.                 throw newCoreExceptionCannotRead(this.getFileSystemRecoveryRepository,true);
  27474.             }
  27475.             if(!this.getFileSystemRecoveryRepository.canWrite()) {
  27476.                 throw newCoreExceptionCannotWrite(this.getFileSystemRecoveryRepository,true);
  27477.             }
  27478.         }
  27479.         else {
  27480.             // viene creata automaticamente
  27481.         }
  27482.     }
  27483.    
  27484.     private Boolean isFileSystemRecoveryDebug = null;
  27485.     public boolean isFileSystemRecoveryDebug() {    
  27486.         if(this.isFileSystemRecoveryDebug==null){
  27487.             try{
  27488.                 String name = null;
  27489.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.resources.fileSystemRecovery.debug");
  27490.                 if(name==null){
  27491.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.resources.fileSystemRecovery.debug' non impostata, viene utilizzato il default=true");
  27492.                     name="true";
  27493.                 }
  27494.                 name = name.trim();
  27495.                 this.isFileSystemRecoveryDebug = Boolean.parseBoolean(name);
  27496.             } catch(java.lang.Exception e) {
  27497.                 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);
  27498.                 this.isFileSystemRecoveryDebug = true;
  27499.             }    
  27500.         }

  27501.         return this.isFileSystemRecoveryDebug;
  27502.     }
  27503.    
  27504.     private Boolean isFileSystemRecoveryTimerEnabled = null;
  27505.     public boolean isFileSystemRecoveryTimerEnabled() {
  27506.         if(this.isFileSystemRecoveryTimerEnabled==null){
  27507.             try{
  27508.                 String name = null;
  27509.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.resources.fileSystemRecovery.enabled");
  27510.                 if(name==null){
  27511.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.resources.fileSystemRecovery.enabled' non impostata, viene utilizzato il default=true");
  27512.                     name="true";
  27513.                 }
  27514.                 name = name.trim();
  27515.                 this.isFileSystemRecoveryTimerEnabled = Boolean.parseBoolean(name);
  27516.             } catch(java.lang.Exception e) {
  27517.                 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);
  27518.                 this.isFileSystemRecoveryTimerEnabled = true;
  27519.             }    
  27520.         }

  27521.         return this.isFileSystemRecoveryTimerEnabled;
  27522.     }
  27523.    
  27524.     private Integer getFileSystemRecoveryTimerIntervalSeconds = null;
  27525.     public int getFileSystemRecoveryTimerIntervalSeconds() throws CoreException {  
  27526.         if(this.getFileSystemRecoveryTimerIntervalSeconds==null){
  27527.             try{
  27528.                 String name = null;
  27529.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.resources.fileSystemRecovery.timeout");
  27530.                 if(name==null){
  27531.                     throw new CoreException("Proprieta' non impostata");
  27532.                 }
  27533.                 name = name.trim();
  27534.                 this.getFileSystemRecoveryTimerIntervalSeconds = Integer.valueOf(name);
  27535.             } catch(java.lang.Exception e) {
  27536.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.resources.fileSystemRecovery.timeout': "+e.getMessage(),e);
  27537.                 throw new CoreException(e.getMessage(),e);
  27538.             }    
  27539.         }

  27540.         return this.getFileSystemRecoveryTimerIntervalSeconds;
  27541.     }
  27542.        
  27543.     private Integer getFileSystemRecoveryTimerMaxAttempts = null;
  27544.     public int getFileSystemRecoveryMaxAttempts() throws CoreException {    
  27545.         if(this.getFileSystemRecoveryTimerMaxAttempts==null){
  27546.             try{
  27547.                 String name = null;
  27548.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.resources.fileSystemRecovery.maxAttempts");
  27549.                 if(name==null){
  27550.                     throw new CoreException("Proprieta' non impostata");
  27551.                 }
  27552.                 name = name.trim();
  27553.                 this.getFileSystemRecoveryTimerMaxAttempts = Integer.valueOf(name);
  27554.             } catch(java.lang.Exception e) {
  27555.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.resources.fileSystemRecovery.maxAttempts': "+e.getMessage(),e);
  27556.                 throw new CoreException(e.getMessage(),e);
  27557.             }    
  27558.         }

  27559.         return this.getFileSystemRecoveryTimerMaxAttempts;
  27560.     }
  27561.    
  27562.     private Boolean isFileSystemRecoveryTimerEventEnabled = null;
  27563.     public boolean isFileSystemRecoveryTimerEventEnabled() {    
  27564.         if(this.isFileSystemRecoveryTimerEventEnabled==null){
  27565.             try{
  27566.                 String name = null;
  27567.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.resources.fileSystemRecovery.events.enabled");
  27568.                 if(name==null){
  27569.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.resources.fileSystemRecovery.events.enabled' non impostata, viene utilizzato il default=true");
  27570.                     name="true";
  27571.                 }
  27572.                 name = name.trim();
  27573.                 this.isFileSystemRecoveryTimerEventEnabled = Boolean.parseBoolean(name);
  27574.             } catch(java.lang.Exception e) {
  27575.                 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);
  27576.                 this.isFileSystemRecoveryTimerEventEnabled = true;
  27577.             }    
  27578.         }

  27579.         return this.isFileSystemRecoveryTimerEventEnabled;
  27580.     }
  27581.    
  27582.     private Boolean isFileSystemRecoveryTimerTransactionEnabled = null;
  27583.     public boolean isFileSystemRecoveryTimerTransactionEnabled() {  
  27584.         if(this.isFileSystemRecoveryTimerTransactionEnabled==null){
  27585.             try{
  27586.                 String name = null;
  27587.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.resources.fileSystemRecovery.transaction.enabled");
  27588.                 if(name==null){
  27589.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.resources.fileSystemRecovery.transaction.enabled' non impostata, viene utilizzato il default=true");
  27590.                     name="true";
  27591.                 }
  27592.                 name = name.trim();
  27593.                 this.isFileSystemRecoveryTimerTransactionEnabled = Boolean.parseBoolean(name);
  27594.             } catch(java.lang.Exception e) {
  27595.                 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);
  27596.                 this.isFileSystemRecoveryTimerTransactionEnabled = true;
  27597.             }    
  27598.         }

  27599.         return this.isFileSystemRecoveryTimerTransactionEnabled;
  27600.     }
  27601.    
  27602.     private Long getFileSystemRecoveryEventsProcessingFileAfterMs = null;
  27603.     public long getFileSystemRecoveryEventsProcessingFileAfterMs() throws CoreException {  
  27604.         if(this.getFileSystemRecoveryEventsProcessingFileAfterMs==null){
  27605.             String pName = "org.openspcoop2.pdd.resources.fileSystemRecovery.events.processingFileAfterMs";
  27606.             try{
  27607.                 String name = null;
  27608.                 name = this.reader.getValueConvertEnvProperties(pName);
  27609.                 if(name==null){
  27610.                     throw new CoreException("Proprieta' non impostata");
  27611.                 }
  27612.                 name = name.trim();
  27613.                 this.getFileSystemRecoveryEventsProcessingFileAfterMs = Long.valueOf(name);
  27614.             } catch(java.lang.Exception e) {
  27615.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  27616.                 throw new CoreException(e.getMessage(),e);
  27617.             }    
  27618.         }

  27619.         return this.getFileSystemRecoveryEventsProcessingFileAfterMs;
  27620.     }
  27621.    
  27622.     private Long getFileSystemRecoveryTransactionProcessingFileAfterMs = null;
  27623.     public long getFileSystemRecoveryTransactionProcessingFileAfterMs() throws CoreException {  
  27624.         if(this.getFileSystemRecoveryTransactionProcessingFileAfterMs==null){
  27625.             String pName = "org.openspcoop2.pdd.resources.fileSystemRecovery.transaction.processingFileAfterMs";
  27626.             try{
  27627.                 String name = null;
  27628.                 name = this.reader.getValueConvertEnvProperties(pName);
  27629.                 if(name==null){
  27630.                     throw new CoreException("Proprieta' non impostata");
  27631.                 }
  27632.                 name = name.trim();
  27633.                 this.getFileSystemRecoveryTransactionProcessingFileAfterMs = Long.valueOf(name);
  27634.             } catch(java.lang.Exception e) {
  27635.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  27636.                 throw new CoreException(e.getMessage(),e);
  27637.             }    
  27638.         }

  27639.         return this.getFileSystemRecoveryTransactionProcessingFileAfterMs;
  27640.     }
  27641.    
  27642.    
  27643.    
  27644.    
  27645.    
  27646.     /* ------------- Controllo Traffico ---------------------*/
  27647.    
  27648.     private Boolean isControlloTrafficoEnabled = null;
  27649.     public boolean isControlloTrafficoEnabled() {  
  27650.         if(this.isControlloTrafficoEnabled==null){
  27651.             try{
  27652.                 if(CostantiConfigurazione.CONFIGURAZIONE_XML.equalsIgnoreCase(getTipoConfigurazionePDD())){
  27653.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.enabled' ignorata. Il controllo del traffico e' disabilitato sulla configurazione xml");
  27654.                     this.isControlloTrafficoEnabled = false;
  27655.                 }
  27656.                 else {
  27657.                     String name = null;
  27658.                     name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.enabled");
  27659.                     if(name==null){
  27660.                         this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.enabled' non impostata, viene utilizzato il default=true");
  27661.                         name="true";
  27662.                     }
  27663.                     name = name.trim();
  27664.                     this.isControlloTrafficoEnabled = Boolean.parseBoolean(name);
  27665.                 }
  27666.             } catch(java.lang.Exception e) {
  27667.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.enabled', viene utilizzato il default=true : "+e.getMessage(),e);
  27668.                 this.isControlloTrafficoEnabled = true;
  27669.             }    
  27670.         }

  27671.         return this.isControlloTrafficoEnabled;
  27672.     }
  27673.    
  27674.     private Boolean isControlloTrafficoDebug = null;
  27675.     public boolean isControlloTrafficoDebug() {
  27676.         if(this.isControlloTrafficoDebug==null){
  27677.             try{
  27678.                 String name = null;
  27679.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.debug");
  27680.                 if(name==null){
  27681.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.debug' non impostata, viene utilizzato il default=true");
  27682.                     name="true";
  27683.                 }
  27684.                 name = name.trim();
  27685.                 this.isControlloTrafficoDebug = Boolean.parseBoolean(name);
  27686.             } catch(java.lang.Exception e) {
  27687.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.debug', viene utilizzato il default=true : "+e.getMessage(),e);
  27688.                 this.isControlloTrafficoDebug = true;
  27689.             }    
  27690.         }

  27691.         return this.isControlloTrafficoDebug;
  27692.     }
  27693.    
  27694.     private Boolean isControlloTrafficoViolazioneGenerazioneErroreGenerico = null;
  27695.     private boolean isControlloTrafficoViolazioneGenerazioneErroreGenerico() {  
  27696.         if(this.isControlloTrafficoViolazioneGenerazioneErroreGenerico==null){
  27697.             try{
  27698.                 String name = null;
  27699.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.erroreGenerico");
  27700.                 if(name==null){
  27701.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.erroreGenerico' non impostata, viene utilizzato il default=true");
  27702.                     name="true";
  27703.                 }
  27704.                 name = name.trim();
  27705.                 this.isControlloTrafficoViolazioneGenerazioneErroreGenerico = Boolean.parseBoolean(name);
  27706.             } catch(java.lang.Exception e) {
  27707.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.erroreGenerico', viene utilizzato il default=true : "+e.getMessage(),e);
  27708.                 this.isControlloTrafficoViolazioneGenerazioneErroreGenerico = true;
  27709.             }    
  27710.         }

  27711.         return this.isControlloTrafficoViolazioneGenerazioneErroreGenerico;
  27712.     }
  27713.    
  27714.     private Boolean isControlloTrafficoPolicyLetturaDaCacheDinamica = null;
  27715.     private boolean isControlloTrafficoPolicyLetturaDaCacheDinamica() {
  27716.         if(this.isControlloTrafficoPolicyLetturaDaCacheDinamica==null){
  27717.             try{
  27718.                 String name = null;
  27719.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.policy.readWithDynamicCache");
  27720.                 if(name==null){
  27721.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.policy.readWithDynamicCache' non impostata, viene utilizzato il default=true");
  27722.                     name="true";
  27723.                 }
  27724.                 name = name.trim();
  27725.                 this.isControlloTrafficoPolicyLetturaDaCacheDinamica = Boolean.parseBoolean(name);
  27726.             } catch(java.lang.Exception e) {
  27727.                 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);
  27728.                 this.isControlloTrafficoPolicyLetturaDaCacheDinamica = true;
  27729.             }    
  27730.         }

  27731.         return this.isControlloTrafficoPolicyLetturaDaCacheDinamica;
  27732.     }
  27733.    
  27734.     private Map<String, int[]> getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaDelegata = new HashMap<>();
  27735.     private int[] getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaDelegata(String protocollo) throws CoreException{
  27736.         if(!this.getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaDelegata.containsKey(protocollo)){
  27737.             EsitiProperties esitiProperties = null;
  27738.             try{
  27739.                 esitiProperties =EsitiProperties.getInstanceFromProtocolName(this.log,protocollo);
  27740.             }catch(Exception e) {
  27741.                 throw new CoreException(e.getMessage(),e);
  27742.             }
  27743.             try{
  27744.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.calcoloLatenza.portaDelegata.esitiConsiderati");
  27745.                 if(value!=null){
  27746.                     value = value.trim();
  27747.                     String [] split = value.split(",");
  27748.                     List<Integer> lInt = new ArrayList<>();
  27749.                     for (int i = 0; i < split.length; i++) {
  27750.                         String s = split[i].trim();
  27751.                         int e = -1;
  27752.                         try{
  27753.                             e = Integer.parseInt(s);
  27754.                         }catch(Exception eParse){
  27755.                             throw new CoreException("Valore ["+s+"] non riconosciuto come esito valido: "+eParse.getMessage(),eParse);
  27756.                         }
  27757.                         if(esitiProperties.existsEsitoCode(e)==false){
  27758.                             continue; // non supportato dal protocollo
  27759.                         }
  27760.                         lInt.add(e);
  27761.                     }
  27762.                     if(lInt.isEmpty()) {
  27763.                         throw new CoreException("Nessun valore è utilizzabile per il protocollo '"+protocollo+"'");
  27764.                     }
  27765.                     int [] tmp = new int[lInt.size()];
  27766.                     for (int i = 0; i < lInt.size(); i++) {
  27767.                         tmp[i] = lInt.get(i);
  27768.                     }
  27769.                     this.getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaDelegata.put(protocollo, tmp);
  27770.                 }
  27771.                 else{
  27772.                     // default
  27773.                     int defaultEsito = esitiProperties.convertoToCode(EsitoTransazioneName.OK);
  27774.                     this.logWarn("Proprieta' non presente [org.openspcoop2.pdd.controlloTraffico.calcoloLatenza.portaDelegata.esitiConsiderati] (Uso il default '"+EsitoTransazioneName.OK+"="+defaultEsito+"')");
  27775.                     int [] tmp = new int[1];
  27776.                     tmp[0] = defaultEsito;
  27777.                     this.getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaDelegata.put(protocollo, tmp);
  27778.                 }

  27779.             }catch(Exception e){
  27780.                 // default
  27781.                 int defaultEsito = -1;
  27782.                 try{
  27783.                     defaultEsito = esitiProperties.convertoToCode(EsitoTransazioneName.OK);
  27784.                 }catch(Exception eEsito) {
  27785.                     throw new CoreException(eEsito.getMessage(),eEsito);
  27786.                 }
  27787.                 this.logError("Errore durante la lettura della proprieta' [org.openspcoop2.pdd.controlloTraffico.calcoloLatenza.portaDelegata.esitiConsideratii] (Uso il default '"+EsitoTransazioneName.OK+"="+defaultEsito+"'): "+e.getMessage(),e);
  27788.                 int [] tmp = new int[1];
  27789.                 tmp[0] = defaultEsito;
  27790.                 this.getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaDelegata.put(protocollo, tmp);
  27791.             }
  27792.         }
  27793.         return this.getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaDelegata.get(protocollo);
  27794.     }
  27795.    
  27796.     private Map<String, int[]> getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaApplicativa = new HashMap<>();
  27797.     private int[] getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaApplicativa(String protocollo) throws CoreException{
  27798.         if(!this.getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaApplicativa.containsKey(protocollo)){
  27799.             EsitiProperties esitiProperties = null;
  27800.             try{
  27801.                 esitiProperties = EsitiProperties.getInstanceFromProtocolName(this.log,protocollo);
  27802.             }catch(Exception e) {
  27803.                 throw new CoreException(e.getMessage(),e);
  27804.             }
  27805.             try{
  27806.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.calcoloLatenza.portaApplicativa.esitiConsiderati");
  27807.                 if(value!=null){
  27808.                     value = value.trim();
  27809.                     String [] split = value.split(",");
  27810.                     List<Integer> lInt = new ArrayList<>();
  27811.                     for (int i = 0; i < split.length; i++) {
  27812.                         String s = split[i].trim();
  27813.                         int e = -1;
  27814.                         try{
  27815.                             e = Integer.parseInt(s);
  27816.                         }catch(Exception eParse){
  27817.                             throw new CoreException("Valore ["+s+"] non riconosciuto come esito valido: "+eParse.getMessage(),eParse);
  27818.                         }
  27819.                         if(esitiProperties.existsEsitoCode(e)==false){
  27820.                             continue; // non supportato dal protocollo
  27821.                         }
  27822.                         lInt.add(e);
  27823.                     }
  27824.                     if(lInt.isEmpty()) {
  27825.                         throw new CoreException("Nessun valore è utilizzabile per il protocollo '"+protocollo+"'");
  27826.                     }
  27827.                     int [] tmp = new int[lInt.size()];
  27828.                     for (int i = 0; i < lInt.size(); i++) {
  27829.                         tmp[i] = lInt.get(i);
  27830.                     }
  27831.                     this.getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaApplicativa.put(protocollo, tmp);
  27832.                 }
  27833.                 else{
  27834.                     // default
  27835.                     int defaultEsito = esitiProperties.convertoToCode(EsitoTransazioneName.OK);
  27836.                     this.logWarn("Proprieta' non presente [org.openspcoop2.pdd.controlloTraffico.calcoloLatenza.portaApplicativa.esitiConsiderati] (Uso il default '"+EsitoTransazioneName.OK+"="+defaultEsito+"')");
  27837.                     int [] tmp = new int[1];
  27838.                     tmp[0] = defaultEsito;
  27839.                     this.getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaApplicativa.put(protocollo, tmp);
  27840.                 }

  27841.             }catch(Exception e){
  27842.                 // default
  27843.                 int defaultEsito = -1;
  27844.                 try{
  27845.                     defaultEsito = esitiProperties.convertoToCode(EsitoTransazioneName.OK);
  27846.                 }catch(Exception eEsito) {
  27847.                     throw new CoreException(eEsito.getMessage(),eEsito);
  27848.                 }
  27849.                 this.logError("Errore durante la lettura della proprieta' [org.openspcoop2.pdd.controlloTraffico.calcoloLatenza.portaApplicativa.esitiConsideratii] (Uso il default '"+EsitoTransazioneName.OK+"="+defaultEsito+"'): "+e.getMessage(),e);
  27850.                 int [] tmp = new int[1];
  27851.                 tmp[0] = defaultEsito;
  27852.                 this.getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaApplicativa.put(protocollo, tmp);
  27853.             }
  27854.         }
  27855.         return this.getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaApplicativa.get(protocollo);
  27856.     }
  27857.    
  27858.     private Boolean isControlloTrafficoStatisticheFinestraScorrevoleGestioneUltimoIntervallo = null;
  27859.     private boolean isControlloTrafficoStatisticheFinestraScorrevoleGestioneUltimoIntervallo() {    
  27860.         if(this.isControlloTrafficoStatisticheFinestraScorrevoleGestioneUltimoIntervallo==null){
  27861.             try{
  27862.                 String name = null;
  27863.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.statistiche.finestraScorrevole.gestioneUltimoIntervallo");
  27864.                 if(name==null){
  27865.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.statistiche.finestraScorrevole.gestioneUltimoIntervallo' non impostata, viene utilizzato il default=true");
  27866.                     name="true";
  27867.                 }
  27868.                 name = name.trim();
  27869.                 this.isControlloTrafficoStatisticheFinestraScorrevoleGestioneUltimoIntervallo = Boolean.parseBoolean(name);
  27870.             } catch(java.lang.Exception e) {
  27871.                 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);
  27872.                 this.isControlloTrafficoStatisticheFinestraScorrevoleGestioneUltimoIntervallo = true;
  27873.             }    
  27874.         }

  27875.         return this.isControlloTrafficoStatisticheFinestraScorrevoleGestioneUltimoIntervallo;
  27876.     }
  27877.    
  27878.     private Boolean isControlloTrafficoStatisticheDistribuzioneSettimanaleUsaStatisticheGiornaliere = null;
  27879.     private boolean isControlloTrafficoStatisticheDistribuzioneSettimanaleUsaStatisticheGiornaliere() {
  27880.         if(this.isControlloTrafficoStatisticheDistribuzioneSettimanaleUsaStatisticheGiornaliere==null){
  27881.             String pName = "org.openspcoop2.pdd.controlloTraffico.statistiche.distribuzioneSettimanale.usaStatisticheGiornaliere";
  27882.             try{
  27883.                 String name = null;
  27884.                 name = this.reader.getValueConvertEnvProperties(pName);
  27885.                 if(name==null){
  27886.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  27887.                     name="true";
  27888.                 }
  27889.                 name = name.trim();
  27890.                 this.isControlloTrafficoStatisticheDistribuzioneSettimanaleUsaStatisticheGiornaliere = Boolean.parseBoolean(name);
  27891.             } catch(java.lang.Exception e) {
  27892.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  27893.                 this.isControlloTrafficoStatisticheDistribuzioneSettimanaleUsaStatisticheGiornaliere = true;
  27894.             }    
  27895.         }

  27896.         return this.isControlloTrafficoStatisticheDistribuzioneSettimanaleUsaStatisticheGiornaliere;
  27897.     }
  27898.    
  27899.     private Boolean isControlloTrafficoStatisticheDistribuzioneMensileUsaStatisticheGiornaliere = null;
  27900.     private boolean isControlloTrafficoStatisticheDistribuzioneMensileUsaStatisticheGiornaliere() {
  27901.         if(this.isControlloTrafficoStatisticheDistribuzioneMensileUsaStatisticheGiornaliere==null){
  27902.             String pName = "org.openspcoop2.pdd.controlloTraffico.statistiche.distribuzioneMensile.usaStatisticheGiornaliere";
  27903.             try{
  27904.                 String name = null;
  27905.                 name = this.reader.getValueConvertEnvProperties(pName);
  27906.                 if(name==null){
  27907.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  27908.                     name="true";
  27909.                 }
  27910.                 name = name.trim();
  27911.                 this.isControlloTrafficoStatisticheDistribuzioneMensileUsaStatisticheGiornaliere = Boolean.parseBoolean(name);
  27912.             } catch(java.lang.Exception e) {
  27913.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  27914.                 this.isControlloTrafficoStatisticheDistribuzioneMensileUsaStatisticheGiornaliere = true;
  27915.             }    
  27916.         }

  27917.         return this.isControlloTrafficoStatisticheDistribuzioneMensileUsaStatisticheGiornaliere;
  27918.     }
  27919.    
  27920.     private Boolean isControlloTrafficoStatisticheDistribuzioneSettimanaleMensileUsaStatisticheGiornaliereLatenzaMediaPesata = null;
  27921.     private boolean isControlloTrafficoStatisticheDistribuzioneSettimanaleMensileUsaStatisticheGiornaliereLatenzaMediaPesata() {    
  27922.         if(this.isControlloTrafficoStatisticheDistribuzioneSettimanaleMensileUsaStatisticheGiornaliereLatenzaMediaPesata==null){
  27923.             String pName = "org.openspcoop2.pdd.controlloTraffico.statistiche.distribuzioneSettimanaleMensile.usaStatisticheGiornaliere.latenza.mediaPesata";
  27924.             try{
  27925.                 String name = null;
  27926.                 name = this.reader.getValueConvertEnvProperties(pName);
  27927.                 if(name==null){
  27928.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  27929.                     name="true";
  27930.                 }
  27931.                 name = name.trim();
  27932.                 this.isControlloTrafficoStatisticheDistribuzioneSettimanaleMensileUsaStatisticheGiornaliereLatenzaMediaPesata = Boolean.parseBoolean(name);
  27933.             } catch(java.lang.Exception e) {
  27934.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  27935.                 this.isControlloTrafficoStatisticheDistribuzioneSettimanaleMensileUsaStatisticheGiornaliereLatenzaMediaPesata = true;
  27936.             }    
  27937.         }

  27938.         return this.isControlloTrafficoStatisticheDistribuzioneSettimanaleMensileUsaStatisticheGiornaliereLatenzaMediaPesata;
  27939.     }
  27940.    
  27941.     private Map<String, int[]> getControlloTrafficoEsitiDaConsiderarePerViolazionePolicy = new HashMap<>();
  27942.     private int[] getControlloTrafficoEsitiDaConsiderarePerViolazionePolicy(String protocollo) throws CoreException{
  27943.         if(!this.getControlloTrafficoEsitiDaConsiderarePerViolazionePolicy.containsKey(protocollo)){
  27944.             EsitiProperties esitiProperties = null;
  27945.             try{
  27946.                 esitiProperties = EsitiProperties.getInstanceFromProtocolName(this.log, protocollo);
  27947.             }catch(Exception e) {
  27948.                 throw new CoreException(e.getMessage(),e);
  27949.             }
  27950.             try{
  27951.                 String value = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.violazionePolicy.esitiConsiderati");
  27952.                 if(value!=null){
  27953.                     value = value.trim();
  27954.                     String [] split = value.split(",");
  27955.                     int [] tmp = new int[split.length];
  27956.                     for (int i = 0; i < split.length; i++) {
  27957.                         String s = split[i].trim();
  27958.                         int e = -1;
  27959.                         try{
  27960.                             e = Integer.parseInt(s);
  27961.                         }catch(Exception eParse){
  27962.                             throw new CoreException("Valore ["+s+"] non riconosciuto come esito valido: "+eParse.getMessage(),eParse);
  27963.                         }
  27964.                         if(!esitiProperties.existsEsitoCode(e)){
  27965.                             throw new CoreException("Valore ["+s+"] non riconosciuto come esito valido");
  27966.                         }
  27967.                         tmp[i] = e;
  27968.                     }
  27969.                     this.getControlloTrafficoEsitiDaConsiderarePerViolazionePolicy.put(protocollo, tmp);
  27970.                 }
  27971.                 else{
  27972.                     // default
  27973.                     int defaultEsito =  esitiProperties.convertoToCode(EsitoTransazioneName.CONTROLLO_TRAFFICO_POLICY_VIOLATA);
  27974.                     this.logWarn("Proprieta' non presente [org.openspcoop2.pdd.controlloTraffico.violazionePolicy.esitiConsiderati] (Uso il default '"+defaultEsito+"')");
  27975.                     int [] tmp = new int[1];
  27976.                     tmp[0] = defaultEsito;
  27977.                     this.getControlloTrafficoEsitiDaConsiderarePerViolazionePolicy.put(protocollo, tmp);
  27978.                 }

  27979.             }catch(Exception e){
  27980.                 // default
  27981.                 int defaultEsito = -1;
  27982.                 try {
  27983.                     defaultEsito = esitiProperties.convertoToCode(EsitoTransazioneName.CONTROLLO_TRAFFICO_POLICY_VIOLATA);
  27984.                 }catch(Exception eEsito) {
  27985.                     throw new CoreException(eEsito.getMessage(),eEsito);
  27986.                 }
  27987.                 this.logError("Errore durante la lettura della proprieta' [org.openspcoop2.pdd.controlloTraffico.violazionePolicy.esitiConsiderati] (Uso il default '"+defaultEsito+"'): "+e.getMessage(),e);
  27988.                 int [] tmp = new int[1];
  27989.                 tmp[0] = defaultEsito;
  27990.                 this.getControlloTrafficoEsitiDaConsiderarePerViolazionePolicy.put(protocollo, tmp);
  27991.             }
  27992.         }
  27993.         return this.getControlloTrafficoEsitiDaConsiderarePerViolazionePolicy.get(protocollo);
  27994.     }
  27995.    
  27996.     private EsitoTransazioneName getControlloTrafficoEsitiPolicyElaborazioneInErrore = null;
  27997.     public EsitoTransazioneName getControlloTrafficoEsitiPolicyElaborazioneInErrore(EsitiProperties esitiProperties) {  
  27998.         if(this.getControlloTrafficoEsitiPolicyElaborazioneInErrore==null){
  27999.             String pName = "org.openspcoop2.pdd.controlloTraffico.violazionePolicy.elaborazioneInErrore";
  28000.             try{
  28001.                 String name = null;
  28002.                 name = this.reader.getValueConvertEnvProperties(pName);
  28003.                 if(name==null){
  28004.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostata, viene utilizzato il default="+EsitoTransazioneName.ERRORE_PROCESSAMENTO_PDD_5XX);
  28005.                     this.getControlloTrafficoEsitiPolicyElaborazioneInErrore = EsitoTransazioneName.ERRORE_PROCESSAMENTO_PDD_5XX;
  28006.                 }
  28007.                 else {
  28008.                     name = name.trim();
  28009.                     if(esitiProperties!=null) {
  28010.                         this.getControlloTrafficoEsitiPolicyElaborazioneInErrore = esitiProperties.getEsitoTransazioneName(Integer.parseInt(name));
  28011.                     }
  28012.                     else {
  28013.                         // verrà inizializzato alla prima chiamata
  28014.                     }
  28015.                 }
  28016.             } catch(java.lang.Exception e) {
  28017.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+EsitoTransazioneName.ERRORE_PROCESSAMENTO_PDD_5XX+" : "+e.getMessage(),e);
  28018.                 this.getControlloTrafficoEsitiPolicyElaborazioneInErrore = EsitoTransazioneName.ERRORE_PROCESSAMENTO_PDD_5XX;
  28019.             }    
  28020.         }

  28021.         return this.getControlloTrafficoEsitiPolicyElaborazioneInErrore;
  28022.     }
  28023.    
  28024.     private Boolean isControlloTrafficoRealtimeIncrementaSoloPolicyApplicabile = null;
  28025.     private boolean isControlloTrafficoRealtimeIncrementaSoloPolicyApplicabile() {  
  28026.         if(this.isControlloTrafficoRealtimeIncrementaSoloPolicyApplicabile==null){
  28027.             try{
  28028.                 String name = null;
  28029.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.realtime.incrementaSoloPolicyApplicabile");
  28030.                 if(name==null){
  28031.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.realtime.incrementaSoloPolicyApplicabile' non impostata, viene utilizzato il default=false");
  28032.                     name="false";
  28033.                 }
  28034.                 name = name.trim();
  28035.                 this.isControlloTrafficoRealtimeIncrementaSoloPolicyApplicabile = Boolean.parseBoolean(name);
  28036.             } catch(java.lang.Exception e) {
  28037.                 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);
  28038.                 this.isControlloTrafficoRealtimeIncrementaSoloPolicyApplicabile = false;
  28039.             }    
  28040.         }

  28041.         return this.isControlloTrafficoRealtimeIncrementaSoloPolicyApplicabile;
  28042.     }
  28043.    
  28044.     private ConfigurazioneGatewayControlloTraffico controlloTrafficoConfigurazione = null;
  28045.     public void initConfigurazioneControlloTraffico(Loader loaderOpenSPCoop, List<String> protocolli) throws CoreException{
  28046.         if(this.controlloTrafficoConfigurazione==null){
  28047.            
  28048.             this.controlloTrafficoConfigurazione = new ConfigurazioneGatewayControlloTraffico();
  28049.                        
  28050.             AccessoConfigurazionePdD config = null;
  28051.             try {
  28052.                 config = this.getAccessoConfigurazionePdD();
  28053.             }catch(Exception e) {
  28054.                 throw new CoreException(e.getMessage(),e);
  28055.             }
  28056.             this.controlloTrafficoConfigurazione.setTipoDatabaseConfig(config.getTipoDatabase());
  28057.            
  28058.             this.controlloTrafficoConfigurazione.setDebug(this.isControlloTrafficoDebug());
  28059.            
  28060.             this.controlloTrafficoConfigurazione.setErroreGenerico(this.isControlloTrafficoViolazioneGenerazioneErroreGenerico());
  28061.            
  28062.             this.controlloTrafficoConfigurazione.setPolicyReadedWithDynamicCache(this.isControlloTrafficoPolicyLetturaDaCacheDinamica());
  28063.            
  28064.             for (String protocollo : protocolli) {
  28065.                 getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaDelegata(protocollo);
  28066.                 getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaApplicativa(protocollo);
  28067.             }
  28068.             this.controlloTrafficoConfigurazione.setCalcoloLatenzaPortaDelegataEsitiConsiderati(this.getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaDelegata);
  28069.             this.controlloTrafficoConfigurazione.setCalcoloLatenzaPortaApplicativaEsitiConsiderati(this.getControlloTrafficoEsitiDaConsiderarePerCalcoloLatenzaPortaApplicativa);
  28070.            
  28071.             this.controlloTrafficoConfigurazione.setElaborazioneStatistica_finestraScorrevole_gestioneIntervalloCorrente(this.isControlloTrafficoStatisticheFinestraScorrevoleGestioneUltimoIntervallo());
  28072.            
  28073.             this.controlloTrafficoConfigurazione.setElaborazioneStatistica_distribuzioneSettimanale_usaStatisticheGiornaliere(this.isControlloTrafficoStatisticheDistribuzioneSettimanaleUsaStatisticheGiornaliere());
  28074.             this.controlloTrafficoConfigurazione.setElaborazioneStatistica_distribuzioneMensile_usaStatisticheGiornaliere(this.isControlloTrafficoStatisticheDistribuzioneMensileUsaStatisticheGiornaliere());
  28075.             this.controlloTrafficoConfigurazione.setElaborazioneStatistica_distribuzioneSettimanaleMensile_usaStatisticheGiornaliere_latenza_mediaPesata(this.isControlloTrafficoStatisticheDistribuzioneSettimanaleMensileUsaStatisticheGiornaliereLatenzaMediaPesata());
  28076.                        
  28077.             INotify notifier = this.getControlloTrafficoNotifyImpl(loaderOpenSPCoop);
  28078.             this.controlloTrafficoConfigurazione.setNotifierEnabled(notifier!=null);
  28079.             this.controlloTrafficoConfigurazione.setNotifier(notifier);
  28080.            
  28081.             for (String protocollo : protocolli) {
  28082.                 getControlloTrafficoEsitiDaConsiderarePerViolazionePolicy(protocollo);
  28083.             }
  28084.             this.controlloTrafficoConfigurazione.setEsitiPolicyViolate(this.getControlloTrafficoEsitiDaConsiderarePerViolazionePolicy);
  28085.            
  28086.             getControlloTrafficoEsitiPolicyElaborazioneInErrore(null);
  28087.            
  28088.             this.controlloTrafficoConfigurazione.setElaborazioneRealtime_incrementaSoloPolicyApplicabile(this.isControlloTrafficoRealtimeIncrementaSoloPolicyApplicabile());
  28089.         }
  28090.     }
  28091.     public ConfigurazioneGatewayControlloTraffico getConfigurazioneControlloTraffico(){
  28092.         return this.controlloTrafficoConfigurazione;
  28093.     }
  28094.    
  28095.    
  28096.     private TipoGestorePolicy isControlloTrafficoGestorePolicyTipo = null;
  28097.     public TipoGestorePolicy getControlloTrafficoGestorePolicyTipo() {  
  28098.         if(this.isControlloTrafficoGestorePolicyTipo==null){
  28099.             try{
  28100.                 String name = null;
  28101.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.gestorePolicy.tipo");
  28102.                 if(name==null){
  28103.                     TipoGestorePolicy gestoreDefault = TipoGestorePolicy.IN_MEMORY;
  28104.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.gestorePolicy.tipo' non impostata, viene utilizzato il default="+gestoreDefault);
  28105.                     this.isControlloTrafficoGestorePolicyTipo = gestoreDefault;
  28106.                 }
  28107.                 else {
  28108.                     name = name.trim();
  28109.                     this.isControlloTrafficoGestorePolicyTipo = TipoGestorePolicy.toEnumConstant(name, true);
  28110.                 }
  28111.             } catch(java.lang.Exception e) {
  28112.                 TipoGestorePolicy gestoreDefault = TipoGestorePolicy.IN_MEMORY;
  28113.                 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);
  28114.                 this.isControlloTrafficoGestorePolicyTipo = gestoreDefault;
  28115.             }    
  28116.         }

  28117.         return this.isControlloTrafficoGestorePolicyTipo;
  28118.     }
  28119.    
  28120.     private PolicyGroupByActiveThreadsType getControlloTrafficoGestorePolicyInMemoryType = null;
  28121.     public PolicyGroupByActiveThreadsType getControlloTrafficoGestorePolicyInMemoryType() throws CoreException {    
  28122.         if(this.getControlloTrafficoGestorePolicyInMemoryType==null){
  28123.             try{
  28124.                 String name = null;
  28125.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.tipo");
  28126.                 if(name==null){
  28127.                     this.getControlloTrafficoGestorePolicyInMemoryType = PolicyGroupByActiveThreadsType.LOCAL;
  28128.                     this.logWarn("Proprieta' 'org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.tipo' non impostata; viene usato il default: "+this.getControlloTrafficoGestorePolicyInMemoryType);
  28129.                 }
  28130.                 else {
  28131.                     name = name.trim();
  28132.                     this.getControlloTrafficoGestorePolicyInMemoryType = PolicyGroupByActiveThreadsType.valueOf(name);
  28133.                 }
  28134.             } catch(java.lang.Exception e) {
  28135.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.tipo': "+e.getMessage(),e);
  28136.                 throw new CoreException(e.getMessage(),e);
  28137.             }    
  28138.         }

  28139.         return this.getControlloTrafficoGestorePolicyInMemoryType;
  28140.     }
  28141.    
  28142.     private Map<PolicyGroupByActiveThreadsType, Boolean> getControlloTrafficoGestorePolicyInMemoryTypeLazyInitialization = null;
  28143.     public boolean isControlloTrafficoGestorePolicyInMemoryTypeLazyInitialization(PolicyGroupByActiveThreadsType type) throws CoreException {  
  28144.         if(this.getControlloTrafficoGestorePolicyInMemoryTypeLazyInitialization==null){
  28145.             this.getControlloTrafficoGestorePolicyInMemoryTypeLazyInitialization = new HashMap<PolicyGroupByActiveThreadsType, Boolean>();
  28146.             for (PolicyGroupByActiveThreadsType initType : PolicyGroupByActiveThreadsType.values()) {
  28147.                 String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory."+initType.name()+".lazyInitialization";
  28148.                 try{
  28149.                     String name = this.reader.getValueConvertEnvProperties(pName);
  28150.                     if(name==null){
  28151.                         this.logWarn("Proprieta' '"+pName+"' non impostata; viene usato il default: "+true);
  28152.                         this.getControlloTrafficoGestorePolicyInMemoryTypeLazyInitialization.put(initType, true);
  28153.                     }
  28154.                     else {
  28155.                         name = name.trim();
  28156.                         Boolean v = Boolean.valueOf(name);
  28157.                         this.getControlloTrafficoGestorePolicyInMemoryTypeLazyInitialization.put(initType, v);
  28158.                     }
  28159.                 } catch(java.lang.Exception e) {
  28160.                     this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"'; viene usato il default: "+true+". Errore: "+e.getMessage(),e);
  28161.                     this.getControlloTrafficoGestorePolicyInMemoryTypeLazyInitialization.put(initType, true);
  28162.                 }          
  28163.             }
  28164.         }

  28165.         return this.getControlloTrafficoGestorePolicyInMemoryTypeLazyInitialization.get(type);
  28166.     }
  28167.    
  28168.     private Boolean isControlloTrafficoGestorePolicyInMemoryRemoteCountersUseLocalLock = null;
  28169.     public boolean isControlloTrafficoGestorePolicyInMemoryRemoteCountersUseLocalLock(){
  28170.         String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.counters.useLocalLock";
  28171.         if(this.isControlloTrafficoGestorePolicyInMemoryRemoteCountersUseLocalLock==null){
  28172.             try{  
  28173.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28174.                 if(value!=null){
  28175.                     value = value.trim();
  28176.                     this.isControlloTrafficoGestorePolicyInMemoryRemoteCountersUseLocalLock = Boolean.parseBoolean(value);
  28177.                 }else{
  28178.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  28179.                     this.isControlloTrafficoGestorePolicyInMemoryRemoteCountersUseLocalLock = false;
  28180.                 }

  28181.             }catch(java.lang.Exception e) {
  28182.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  28183.                 this.isControlloTrafficoGestorePolicyInMemoryRemoteCountersUseLocalLock = false;
  28184.             }
  28185.         }
  28186.         return this.isControlloTrafficoGestorePolicyInMemoryRemoteCountersUseLocalLock;
  28187.     }
  28188.    
  28189.     private Boolean isControlloTrafficoGestioneClusterRemainingZeroValue = null;
  28190.     public boolean isControlloTrafficoGestorePolicyInMemoryLocalDividedByNodesRemainingZeroValue(){
  28191.         String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.LOCAL_DIVIDED_BY_NODES.remaining.zeroValue";
  28192.         if(this.isControlloTrafficoGestioneClusterRemainingZeroValue==null){
  28193.             try{  
  28194.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28195.                 if(value!=null){
  28196.                     value = value.trim();
  28197.                     this.isControlloTrafficoGestioneClusterRemainingZeroValue = Boolean.parseBoolean(value);
  28198.                 }else{
  28199.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  28200.                     this.isControlloTrafficoGestioneClusterRemainingZeroValue = false;
  28201.                 }

  28202.             }catch(java.lang.Exception e) {
  28203.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  28204.                 this.isControlloTrafficoGestioneClusterRemainingZeroValue = false;
  28205.             }
  28206.         }
  28207.         return this.isControlloTrafficoGestioneClusterRemainingZeroValue;
  28208.     }
  28209.    
  28210.     private Boolean isControlloTrafficoGestioneClusterLimitRoundingDown = null;
  28211.     public boolean isControlloTrafficoGestorePolicyInMemoryLocalDividedByNodesLimitRoundingDown(){
  28212.         String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.LOCAL_DIVIDED_BY_NODES.limit.roundingDown";
  28213.         if(this.isControlloTrafficoGestioneClusterLimitRoundingDown==null){
  28214.             try{  
  28215.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28216.                 if(value!=null){
  28217.                     value = value.trim();
  28218.                     this.isControlloTrafficoGestioneClusterLimitRoundingDown = Boolean.parseBoolean(value);
  28219.                 }else{
  28220.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  28221.                     this.isControlloTrafficoGestioneClusterLimitRoundingDown = true;
  28222.                 }

  28223.             }catch(java.lang.Exception e) {
  28224.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  28225.                 this.isControlloTrafficoGestioneClusterLimitRoundingDown = true;
  28226.             }
  28227.         }
  28228.         return this.isControlloTrafficoGestioneClusterLimitRoundingDown;
  28229.     }
  28230.    
  28231.     private Boolean isControlloTrafficoGestioneClusterLimitNormalizedQuota = null;
  28232.     public boolean isControlloTrafficoGestorePolicyInMemoryLocalDividedByNodesLimitNormalizedQuota(){
  28233.         String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.LOCAL_DIVIDED_BY_NODES.limit.normalizedQuota";
  28234.         if(this.isControlloTrafficoGestioneClusterLimitNormalizedQuota==null){
  28235.             try{  
  28236.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28237.                 if(value!=null){
  28238.                     value = value.trim();
  28239.                     this.isControlloTrafficoGestioneClusterLimitNormalizedQuota = Boolean.parseBoolean(value);
  28240.                 }else{
  28241.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  28242.                     this.isControlloTrafficoGestioneClusterLimitNormalizedQuota = false;
  28243.                 }

  28244.             }catch(java.lang.Exception e) {
  28245.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  28246.                 this.isControlloTrafficoGestioneClusterLimitNormalizedQuota = false;
  28247.             }
  28248.         }
  28249.         return this.isControlloTrafficoGestioneClusterLimitNormalizedQuota;
  28250.     }
  28251.    
  28252.     private Boolean getControlloTrafficoGestorePolicyInMemoryDatabaseUseTransaction = null;
  28253.     public boolean isControlloTrafficoGestorePolicyInMemoryDatabaseUseTransaction() {
  28254.         if(this.getControlloTrafficoGestorePolicyInMemoryDatabaseUseTransaction==null){
  28255.             String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.DATABASE.useTransaction";
  28256.             try{
  28257.                 String name = null;
  28258.                 name = this.reader.getValueConvertEnvProperties(pName);
  28259.                 if (name != null) {
  28260.                     name = name.trim();
  28261.                     this.getControlloTrafficoGestorePolicyInMemoryDatabaseUseTransaction = Boolean.valueOf(name);
  28262.                 } else {
  28263.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  28264.                     this.getControlloTrafficoGestorePolicyInMemoryDatabaseUseTransaction =  true;
  28265.                 }
  28266.             }catch(java.lang.Exception e) {
  28267.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, true),e);
  28268.                 this.getControlloTrafficoGestorePolicyInMemoryDatabaseUseTransaction = true;
  28269.             }  
  28270.         }

  28271.         return this.getControlloTrafficoGestorePolicyInMemoryDatabaseUseTransaction;
  28272.     }
  28273.    
  28274.     private Long getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBAttesaAttiva = null;
  28275.     public long getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBAttesaAttiva() {
  28276.         if(this.getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBAttesaAttiva==null){
  28277.             String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.DATABASE.serializable.attesaAttiva";
  28278.             try{
  28279.                 String name = null;
  28280.                 name = this.reader.getValueConvertEnvProperties(pName);
  28281.                 if (name != null) {
  28282.                     name = name.trim();
  28283.                     long time = java.lang.Long.parseLong(name);
  28284.                     this.getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBAttesaAttiva = time*1000;
  28285.                 } else {
  28286.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,Costanti.GESTIONE_SERIALIZABLE_ATTESA_ATTIVA));
  28287.                     this.getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBAttesaAttiva =  Costanti.GESTIONE_SERIALIZABLE_ATTESA_ATTIVA;
  28288.                 }
  28289.             }catch(java.lang.Exception e) {
  28290.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,Costanti.GESTIONE_SERIALIZABLE_ATTESA_ATTIVA),e);
  28291.                 this.getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBAttesaAttiva = Costanti.GESTIONE_SERIALIZABLE_ATTESA_ATTIVA;
  28292.             }  
  28293.         }

  28294.         return this.getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBAttesaAttiva;
  28295.     }

  28296.     private Integer getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBCheckInterval = null;
  28297.     public int getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBCheckInterval() {
  28298.         if(this.getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBCheckInterval==null){
  28299.             String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.DATABASE.serializable.check";
  28300.             try{
  28301.                 String name = null;
  28302.                 name = this.reader.getValueConvertEnvProperties(pName);
  28303.                 if (name != null){
  28304.                     name = name.trim();
  28305.                     int time = java.lang.Integer.parseInt(name);
  28306.                     this.getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBCheckInterval = time;
  28307.                 } else{
  28308.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,Costanti.GESTIONE_SERIALIZABLE_CHECK_INTERVAL));
  28309.                     this.getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBCheckInterval = Costanti.GESTIONE_SERIALIZABLE_CHECK_INTERVAL;
  28310.                 }
  28311.             }catch(java.lang.Exception e) {
  28312.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,Costanti.GESTIONE_SERIALIZABLE_CHECK_INTERVAL),e);
  28313.                 this.getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBCheckInterval = Costanti.GESTIONE_SERIALIZABLE_CHECK_INTERVAL;
  28314.             }    
  28315.         }

  28316.         return this.getControlloTrafficoGestorePolicyInMemoryDatabaseSerializableDBCheckInterval;
  28317.     }

  28318.     private Boolean isHazelcastEngineEnabled = null;
  28319.     public boolean isHazelcastEngineEnabled() {
  28320.         if(this.isHazelcastEngineEnabled==null){
  28321.             String pName = "org.openspcoop2.pdd.hazelcast.enabled";
  28322.             try{
  28323.                 String name = null;
  28324.                 name = this.reader.getValueConvertEnvProperties(pName);
  28325.                 if(name==null){
  28326.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  28327.                     name="true";
  28328.                 }
  28329.                 name = name.trim();
  28330.                 this.isHazelcastEngineEnabled = Boolean.parseBoolean(name);
  28331.             } catch(java.lang.Exception e) {
  28332.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  28333.                 this.isHazelcastEngineEnabled = true;
  28334.             }    
  28335.         }

  28336.         return this.isHazelcastEngineEnabled;
  28337.     }
  28338.    
  28339.    
  28340.     private Boolean getControlloTrafficoGestorePolicyInMemoryHazelCastMapConfigPathRead = null;
  28341.     private String getControlloTrafficoGestorePolicyInMemoryHazelCastMapConfigPath = null;
  28342.     public String getControlloTrafficoGestorePolicyInMemoryHazelCastMapConfigPath() throws CoreException {
  28343.        
  28344.         if(this.getControlloTrafficoGestorePolicyInMemoryHazelCastMapConfigPathRead==null){
  28345.             String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.HAZELCAST_MAP.config";

  28346.             try{  
  28347.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28348.                 if (value != null){
  28349.                     value = value.trim();
  28350.                     this.getControlloTrafficoGestorePolicyInMemoryHazelCastMapConfigPath = value;
  28351.                 }
  28352.                
  28353.                 this.getControlloTrafficoGestorePolicyInMemoryHazelCastMapConfigPathRead = true;
  28354.                
  28355.             }catch(java.lang.Exception e) {
  28356.                 String msgError = "Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage();
  28357.                 this.logError(msgError,e);
  28358.                 throw new CoreException(msgError,e);
  28359.             }
  28360.         }

  28361.         return this.getControlloTrafficoGestorePolicyInMemoryHazelCastMapConfigPath;        
  28362.     }
  28363.    
  28364.    
  28365.     private Boolean getControlloTrafficoGestorePolicyInMemoryHazelCastPNCounterConfigPathRead = null;
  28366.     private String getControlloTrafficoGestorePolicyInMemoryHazelCastPNCounterConfigPath = null;
  28367.     public String getControlloTrafficoGestorePolicyInMemoryHazelCastPNCounterConfigPath() throws CoreException {
  28368.        
  28369.         if(this.getControlloTrafficoGestorePolicyInMemoryHazelCastPNCounterConfigPathRead==null){
  28370.             String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.HAZELCAST_PNCOUNTER.config";

  28371.             try{  
  28372.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28373.                 if (value != null){
  28374.                     value = value.trim();
  28375.                     this.getControlloTrafficoGestorePolicyInMemoryHazelCastPNCounterConfigPath = value;
  28376.                 }
  28377.                
  28378.                 this.getControlloTrafficoGestorePolicyInMemoryHazelCastPNCounterConfigPathRead = true;
  28379.                
  28380.             }catch(java.lang.Exception e) {
  28381.                 String msgError = "Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage();
  28382.                 this.logError(msgError,e);
  28383.                 throw new CoreException(msgError,e);
  28384.             }
  28385.         }

  28386.         return this.getControlloTrafficoGestorePolicyInMemoryHazelCastPNCounterConfigPath;      
  28387.     }
  28388.    
  28389.    
  28390.     private Boolean getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongConfigPathRead = null;
  28391.     private String getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongConfigPath = null;
  28392.     public String getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongConfigPath() throws CoreException {
  28393.        
  28394.         if(this.getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongConfigPathRead==null){
  28395.             String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.HAZELCAST_ATOMIC_LONG.config";

  28396.             try{  
  28397.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28398.                 if (value != null){
  28399.                     value = value.trim();
  28400.                     this.getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongConfigPath = value;
  28401.                 }
  28402.                
  28403.                 this.getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongConfigPathRead = true;
  28404.                
  28405.             }catch(java.lang.Exception e) {
  28406.                 String msgError = "Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage();
  28407.                 this.logError(msgError,e);
  28408.                 throw new CoreException(msgError,e);
  28409.             }
  28410.         }

  28411.         return this.getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongConfigPath;    
  28412.     }
  28413.    
  28414.    
  28415.    
  28416.     private Boolean getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongAsyncConfigPathRead = null;
  28417.     private String getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongAsyncConfigPath = null;
  28418.     public String getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongAsyncConfigPath() throws CoreException {
  28419.        
  28420.         if(this.getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongAsyncConfigPathRead==null){
  28421.             String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.HAZELCAST_ATOMIC_LONG_ASYNC.config";

  28422.             try{  
  28423.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28424.                 if (value != null){
  28425.                     value = value.trim();
  28426.                     this.getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongAsyncConfigPath = value;
  28427.                 }
  28428.                
  28429.                 this.getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongAsyncConfigPathRead = true;
  28430.                
  28431.             }catch(java.lang.Exception e) {
  28432.                 String msgError = "Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage();
  28433.                 this.logError(msgError,e);
  28434.                 throw new CoreException(msgError,e);
  28435.             }
  28436.         }

  28437.         return this.getControlloTrafficoGestorePolicyInMemoryHazelCastAtomicLongAsyncConfigPath;        
  28438.     }
  28439.    
  28440.    
  28441.        
  28442.     private Boolean getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheConfigPathRead = null;
  28443.     private String getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheConfigPath = null;
  28444.     public String getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheConfigPath() throws CoreException {
  28445.        
  28446.         if(this.getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheConfigPathRead==null){
  28447.             String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.HAZELCAST_NEAR_CACHE.config";

  28448.             try{  
  28449.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28450.                 if (value != null){
  28451.                     value = value.trim();
  28452.                     this.getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheConfigPath = value;
  28453.                 }

  28454.                 this.getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheConfigPathRead = true;
  28455.                
  28456.             }catch(java.lang.Exception e) {
  28457.                 String msgError = "Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage();
  28458.                 this.logError(msgError,e);
  28459.                 throw new CoreException(msgError,e);
  28460.             }
  28461.         }

  28462.         return this.getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheConfigPath;      
  28463.     }
  28464.    
  28465.     private Boolean getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeSyncMapConfigPathRead = null;
  28466.     private String getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeSyncMapConfigPath = null;
  28467.     public String getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeSyncMapConfigPath() throws CoreException {
  28468.        
  28469.         if(this.getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeSyncMapConfigPathRead==null){
  28470.             String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.HAZELCAST_NEAR_CACHE_UNSAFE_SYNC_MAP.config";

  28471.             try{  
  28472.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28473.                 if (value != null){
  28474.                     value = value.trim();
  28475.                     this.getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeSyncMapConfigPath = value;
  28476.                 }

  28477.                 this.getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeSyncMapConfigPathRead = true;
  28478.                
  28479.             }catch(java.lang.Exception e) {
  28480.                 String msgError = "Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage();
  28481.                 this.logError(msgError,e);
  28482.                 throw new CoreException(msgError,e);
  28483.             }
  28484.         }

  28485.         return this.getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeSyncMapConfigPath;    
  28486.     }
  28487.    
  28488.     private Boolean getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeAsyncMapConfigPathRead = null;
  28489.     private String getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeAsyncMapConfigPath = null;
  28490.     public String getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeAsyncMapConfigPath() throws CoreException {
  28491.        
  28492.         if(this.getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeAsyncMapConfigPathRead==null){
  28493.             String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.HAZELCAST_NEAR_CACHE_UNSAFE_ASYNC_MAP.config";

  28494.             try{  
  28495.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28496.                 if (value != null){
  28497.                     value = value.trim();
  28498.                     this.getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeAsyncMapConfigPath = value;
  28499.                 }

  28500.                 this.getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeAsyncMapConfigPathRead = true;
  28501.                
  28502.             }catch(java.lang.Exception e) {
  28503.                 String msgError = "Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage();
  28504.                 this.logError(msgError,e);
  28505.                 throw new CoreException(msgError,e);
  28506.             }
  28507.         }

  28508.         return this.getControlloTrafficoGestorePolicyInMemoryHazelCastNearCacheUnsafeAsyncMapConfigPath;        
  28509.     }
  28510.    
  28511.     private Boolean getControlloTrafficoGestorePolicyInMemoryHazelCastReplicatedMapConfigPathRead = null;
  28512.     private String getControlloTrafficoGestorePolicyInMemoryHazelCastReplicatedMapConfigPath = null;
  28513.     public String getControlloTrafficoGestorePolicyInMemoryHazelCastReplicatedMapConfigPath() throws CoreException {
  28514.        
  28515.         if(this.getControlloTrafficoGestorePolicyInMemoryHazelCastReplicatedMapConfigPathRead==null){
  28516.             String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.HAZELCAST_REPLICATED_MAP.config";

  28517.             try{  
  28518.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28519.                 if (value != null){
  28520.                     value = value.trim();
  28521.                     this.getControlloTrafficoGestorePolicyInMemoryHazelCastReplicatedMapConfigPath = value;
  28522.                 }

  28523.                 this.getControlloTrafficoGestorePolicyInMemoryHazelCastReplicatedMapConfigPathRead = true;
  28524.                
  28525.             }catch(java.lang.Exception e) {
  28526.                 String msgError = "Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage();
  28527.                 this.logError(msgError,e);
  28528.                 throw new CoreException(msgError,e);
  28529.             }
  28530.         }

  28531.         return this.getControlloTrafficoGestorePolicyInMemoryHazelCastReplicatedMapConfigPath;      
  28532.     }
  28533.    
  28534.    
  28535.     private Boolean getControlloTrafficoGestorePolicyInMemoryHazelCastLocalConfigPathRead = null;
  28536.     private String getControlloTrafficoGestorePolicyInMemoryHazelCastLocalCacheConfigPath = null;
  28537.     public String getControlloTrafficoGestorePolicyInMemoryHazelCastLocalCacheConfigPath() throws CoreException {
  28538.        
  28539.         if(this.getControlloTrafficoGestorePolicyInMemoryHazelCastLocalConfigPathRead==null){
  28540.             String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.HAZELCAST_LOCAL_CACHE.config";

  28541.             try{  
  28542.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28543.                 if (value != null){
  28544.                     value = value.trim();
  28545.                     this.getControlloTrafficoGestorePolicyInMemoryHazelCastLocalCacheConfigPath = value;
  28546.                 }

  28547.                 this.getControlloTrafficoGestorePolicyInMemoryHazelCastLocalConfigPathRead = true;
  28548.                
  28549.             }catch(java.lang.Exception e) {
  28550.                 String msgError = "Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage();
  28551.                 this.logError(msgError,e);
  28552.                 throw new CoreException(msgError,e);
  28553.             }
  28554.         }

  28555.         return this.getControlloTrafficoGestorePolicyInMemoryHazelCastLocalCacheConfigPath;    
  28556.     }
  28557.    
  28558.     private Boolean isControlloTrafficoGestorePolicyInMemoryHazelcastOneMapForeachPolicy = null;
  28559.     public Boolean isControlloTrafficoGestorePolicyInMemoryHazelcastOneMapForeachPolicy() {
  28560.         String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.HAZELCAST.oneMapForeachPolicy";
  28561.        
  28562.         if(this.isControlloTrafficoGestorePolicyInMemoryHazelcastOneMapForeachPolicy==null){
  28563.             try{  
  28564.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28565.                 if(value!=null){
  28566.                     value = value.trim();
  28567.                     this.isControlloTrafficoGestorePolicyInMemoryHazelcastOneMapForeachPolicy = Boolean.parseBoolean(value);
  28568.                 }else{
  28569.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  28570.                     this.isControlloTrafficoGestorePolicyInMemoryHazelcastOneMapForeachPolicy = false;
  28571.                 }

  28572.             }catch(java.lang.Exception e) {
  28573.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  28574.                 this.isControlloTrafficoGestorePolicyInMemoryHazelcastOneMapForeachPolicy = false;
  28575.             }
  28576.         }
  28577.        
  28578.         return this.isControlloTrafficoGestorePolicyInMemoryHazelcastOneMapForeachPolicy;
  28579.     }
  28580.    
  28581.     private String getControlloTrafficoGestorePolicyInMemoryHazelCastGroupId = null;
  28582.     public String getControlloTrafficoGestorePolicyInMemoryHazelCastGroupId() {
  28583.         String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.HAZELCAST.group_id";
  28584.         if(this.getControlloTrafficoGestorePolicyInMemoryHazelCastGroupId==null){
  28585.             try{
  28586.                 String name = null;
  28587.                 name = this.reader.getValueConvertEnvProperties(pName);
  28588.                 if(name==null) {
  28589.                     throw new CoreException(NON_DEFINITA);
  28590.                 }
  28591.                 else {
  28592.                     name = name.trim();
  28593.                     this.getControlloTrafficoGestorePolicyInMemoryHazelCastGroupId = name;
  28594.                 }
  28595.             }catch(java.lang.Exception e) {
  28596.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  28597.                 this.getControlloTrafficoGestorePolicyInMemoryHazelCastGroupId = null;
  28598.             }  
  28599.         }

  28600.         return this.getControlloTrafficoGestorePolicyInMemoryHazelCastGroupId;
  28601.     }
  28602.    
  28603.     private File getControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfig = null;
  28604.     private Boolean getControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfigRead = null;
  28605.     public File getControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfig() throws CoreException {
  28606.         String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.HAZELCAST.sharedConfig";
  28607.         if(this.getControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfigRead==null){
  28608.             initControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfigEngine(pName);
  28609.         }

  28610.         return this.getControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfig;
  28611.     }
  28612.     private void initControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfigEngine(String pName) throws CoreException {
  28613.         try{
  28614.             String name = null;
  28615.             name = this.reader.getValueConvertEnvProperties(pName);
  28616.             if(name!=null) {
  28617.                 name = name.trim();
  28618.                 this.getControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfig = new File(name);
  28619.                 if(this.getControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfig.exists()) {
  28620.                     if(!this.getControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfig.isFile()) {
  28621.                         throw newCoreExceptionNotFile(this.getControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfig,false);
  28622.                     }
  28623.                     if(!this.getControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfig.canRead()) {
  28624.                         throw newCoreExceptionCannotRead(this.getControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfig,false);
  28625.                     }
  28626.                 }
  28627.                 else {
  28628.                     this.getControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfig=null;
  28629.                 }
  28630.             }
  28631.         }catch(java.lang.Exception e) {
  28632.             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  28633.             throw new CoreException(e.getMessage(),e);
  28634.         }
  28635.         this.getControlloTrafficoGestorePolicyInMemoryHazelCastSharedConfigRead = true;
  28636.     }

  28637.     private Integer getControlloTrafficoGestorePolicyInMemoryHazelcastLocalCacheUpdateInterval = null;  
  28638.     public Integer getControlloTrafficoGestorePolicyInMemoryHazelcastLocalCacheTimerUpdate() {
  28639.         if(this.getControlloTrafficoGestorePolicyInMemoryHazelcastLocalCacheUpdateInterval==null){
  28640.             String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.HAZELCAST_LOCAL_CACHE.updateInterval";
  28641.            
  28642.             try{
  28643.                 String name = null;
  28644.                 name = this.reader.getValueConvertEnvProperties(pName);
  28645.                 if (name != null) {
  28646.                     name = name.trim();
  28647.                     this.getControlloTrafficoGestorePolicyInMemoryHazelcastLocalCacheUpdateInterval = Integer.valueOf(name);
  28648.                 } else {
  28649.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,5));
  28650.                     this.getControlloTrafficoGestorePolicyInMemoryHazelcastLocalCacheUpdateInterval =  5;
  28651.                 }
  28652.             }catch(java.lang.Exception e) {
  28653.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,5),e);
  28654.                 this.getControlloTrafficoGestorePolicyInMemoryHazelcastLocalCacheUpdateInterval = 5;
  28655.             }  
  28656.         }

  28657.         return this.getControlloTrafficoGestorePolicyInMemoryHazelcastLocalCacheUpdateInterval;
  28658.     }
  28659.    
  28660.     private Boolean isHazelcastSecurityRecommendationsEnabled = null;
  28661.     public boolean isHazelcastSecurityRecommendationsEnabled() {    
  28662.         if(this.isHazelcastSecurityRecommendationsEnabled==null){
  28663.             String pName = "org.openspcoop2.pdd.hazelcast.security.recommendations";
  28664.             try{
  28665.                 String name = null;
  28666.                 name = this.reader.getValueConvertEnvProperties(pName);
  28667.                 if(name==null){
  28668.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  28669.                     name="true";
  28670.                 }
  28671.                 name = name.trim();
  28672.                 this.isHazelcastSecurityRecommendationsEnabled = Boolean.parseBoolean(name);
  28673.             } catch(java.lang.Exception e) {
  28674.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, true));
  28675.                 this.isHazelcastSecurityRecommendationsEnabled = true;
  28676.             }    
  28677.         }

  28678.         return this.isHazelcastSecurityRecommendationsEnabled;
  28679.     }
  28680.    
  28681.     private Boolean isHazelcastDiagnosticsEnabled = null;
  28682.     public boolean isHazelcastDiagnosticsEnabled() {    
  28683.         if(this.isHazelcastDiagnosticsEnabled==null){
  28684.             String pName = "org.openspcoop2.pdd.hazelcast.diagnostics.enabled";
  28685.             try{
  28686.                 String name = null;
  28687.                 name = this.reader.getValueConvertEnvProperties(pName);
  28688.                 if(name==null){
  28689.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  28690.                     name="true";
  28691.                 }
  28692.                 name = name.trim();
  28693.                 this.isHazelcastDiagnosticsEnabled = Boolean.parseBoolean(name);
  28694.             } catch(java.lang.Exception e) {
  28695.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, true));
  28696.                 this.isHazelcastDiagnosticsEnabled = true;
  28697.             }    
  28698.         }

  28699.         return this.isHazelcastDiagnosticsEnabled;
  28700.     }
  28701.    
  28702.     private File getHazelcastDiagnosticsDirectory = null;
  28703.     public File getHazelcastDiagnosticsDirectory() throws CoreException {  
  28704.         if(this.getHazelcastDiagnosticsDirectory==null){
  28705.             String pName = "org.openspcoop2.pdd.hazelcast.diagnostics.directory";
  28706.             try{
  28707.                 String name = null;
  28708.                 name = this.reader.getValueConvertEnvProperties(pName);
  28709.                 if(name==null){
  28710.                     throw new CoreException("Hazelcast diagnostics dir non impostata");
  28711.                 }
  28712.                 name = LoggerWrapperFactory.applyClusterIdStrategy(name.trim(), "hazelcast");
  28713.                 this.getHazelcastDiagnosticsDirectory = new File(name);
  28714.                 checkHazelcastDiagnosticsDirectory();
  28715.             } catch(java.lang.Exception e) {
  28716.                 this.logError("Riscontrato errore per la directory della diagnostica di hazelcast ("+pName+"): "+e.getMessage(),e);
  28717.                 throw new CoreException(e.getMessage(),e);
  28718.             }    
  28719.         }

  28720.         return this.getHazelcastDiagnosticsDirectory;
  28721.     }
  28722.     private void checkHazelcastDiagnosticsDirectory() throws CoreException {    
  28723.         if(this.getHazelcastDiagnosticsDirectory.exists()) {
  28724.             if(!this.getHazelcastDiagnosticsDirectory.isDirectory()) {
  28725.                 throw newCoreExceptionNotDir(this.getHazelcastDiagnosticsDirectory,true);
  28726.             }
  28727.             if(!this.getHazelcastDiagnosticsDirectory.canRead()) {
  28728.                 throw newCoreExceptionCannotRead(this.getHazelcastDiagnosticsDirectory, true);
  28729.             }
  28730.             if(!this.getHazelcastDiagnosticsDirectory.canWrite()) {
  28731.                 throw newCoreExceptionCannotWrite(this.getHazelcastDiagnosticsDirectory, true);
  28732.             }
  28733.         }
  28734.         else {
  28735.             // viene creata automaticamente
  28736.         }
  28737.     }
  28738.    
  28739.     private Integer getHazelcastDiagnosticsMaxRolledFileCount = null;
  28740.     public int getHazelcastDiagnosticsMaxRolledFileCount() throws CoreException {  
  28741.         if(this.getHazelcastDiagnosticsMaxRolledFileCount==null){
  28742.             String pName = "org.openspcoop2.pdd.hazelcast.diagnostics.max.rolled.file.count";
  28743.             try{
  28744.                 String name = null;
  28745.                 name = this.reader.getValueConvertEnvProperties(pName);
  28746.                 if(name==null){
  28747.                     throw new CoreException("Hazelcast diagnostics max.rolled.file.count config not found");
  28748.                 }
  28749.                 name = name.trim();
  28750.                 this.getHazelcastDiagnosticsMaxRolledFileCount = Integer.valueOf(name);
  28751.             } catch(java.lang.Exception e) {
  28752.                 this.logError("Riscontrato errore durante la lettura delle configurazione diagnostica di hazelcast ("+pName+"): "+e.getMessage(),e);
  28753.                 throw new CoreException(e.getMessage(),e);
  28754.             }    
  28755.         }

  28756.         return this.getHazelcastDiagnosticsMaxRolledFileCount;
  28757.     }
  28758.    
  28759.     private Integer getHazelcastDiagnosticsMaxFileSizeMb = null;
  28760.     public int getHazelcastDiagnosticsMaxFileSizeMb() throws CoreException {    
  28761.         if(this.getHazelcastDiagnosticsMaxFileSizeMb==null){
  28762.             String pName = "org.openspcoop2.pdd.hazelcast.diagnostics.max.file.size.mb";
  28763.             try{
  28764.                 String name = null;
  28765.                 name = this.reader.getValueConvertEnvProperties(pName);
  28766.                 if(name==null){
  28767.                     throw new CoreException("Hazelcast diagnostics max.rolled.file.count config not found");
  28768.                 }
  28769.                 name = name.trim();
  28770.                 this.getHazelcastDiagnosticsMaxFileSizeMb = Integer.valueOf(name);
  28771.             } catch(java.lang.Exception e) {
  28772.                 this.logError("Riscontrato errore durante la lettura delle configurazione diagnostica di hazelcast ("+pName+"): "+e.getMessage(),e);
  28773.                 throw new CoreException(e.getMessage(),e);
  28774.             }    
  28775.         }

  28776.         return this.getHazelcastDiagnosticsMaxFileSizeMb;
  28777.     }
  28778.    
  28779.     private Integer getHazelcastCPSubsystemDistributedObjectDestroyedExceptionFailover = null;
  28780.     public int getHazelcastCPSubsystemDistributedObjectDestroyedExceptionFailover() {  
  28781.         if(this.getHazelcastCPSubsystemDistributedObjectDestroyedExceptionFailover==null){
  28782.             String pName = "org.openspcoop2.pdd.hazelcast.CPSubsystem.distributedObjectDestroyedException.failover";
  28783.             try{
  28784.                 String name = null;
  28785.                 name = this.reader.getValueConvertEnvProperties(pName);
  28786.                 if(name==null){
  28787.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, -1));
  28788.                     name="-1";
  28789.                 }
  28790.                 name = name.trim();
  28791.                 this.getHazelcastCPSubsystemDistributedObjectDestroyedExceptionFailover = Integer.valueOf(name);
  28792.             } catch(java.lang.Exception e) {
  28793.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, -1));
  28794.                 this.getHazelcastCPSubsystemDistributedObjectDestroyedExceptionFailover = -1;
  28795.             }    
  28796.         }

  28797.         return this.getHazelcastCPSubsystemDistributedObjectDestroyedExceptionFailover;
  28798.     }
  28799.    
  28800.     private Integer getHazelcastCPSubsystemDistributedObjectDestroyedExceptionFailoverCheckEveryMs = null;
  28801.     public int getHazelcastCPSubsystemDistributedObjectDestroyedExceptionFailoverCheckEveryMs() {  
  28802.         if(this.getHazelcastCPSubsystemDistributedObjectDestroyedExceptionFailoverCheckEveryMs==null){
  28803.             String pName = "org.openspcoop2.pdd.hazelcast.CPSubsystem.distributedObjectDestroyedException.failover.checkEveryMs";
  28804.             try{
  28805.                 String name = null;
  28806.                 name = this.reader.getValueConvertEnvProperties(pName);
  28807.                 if(name==null){
  28808.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, 500));
  28809.                     name="500";
  28810.                 }
  28811.                 name = name.trim();
  28812.                 this.getHazelcastCPSubsystemDistributedObjectDestroyedExceptionFailoverCheckEveryMs = Integer.valueOf(name);
  28813.             } catch(java.lang.Exception e) {
  28814.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, 500));
  28815.                 this.getHazelcastCPSubsystemDistributedObjectDestroyedExceptionFailoverCheckEveryMs = 500;
  28816.             }    
  28817.         }

  28818.         return this.getHazelcastCPSubsystemDistributedObjectDestroyedExceptionFailoverCheckEveryMs;
  28819.     }
  28820.    
  28821.     private Boolean isRedisEngineEnabled = null;
  28822.     public boolean isRedisEngineEnabled() {
  28823.         if(this.isRedisEngineEnabled==null){
  28824.             String pName = "org.openspcoop2.pdd.redis.enabled";
  28825.             try{
  28826.                 String name = null;
  28827.                 name = this.reader.getValueConvertEnvProperties(pName);
  28828.                 if(name==null){
  28829.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  28830.                     name="true";
  28831.                 }
  28832.                 name = name.trim();
  28833.                 this.isRedisEngineEnabled = Boolean.parseBoolean(name);
  28834.             } catch(java.lang.Exception e) {
  28835.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  28836.                 this.isRedisEngineEnabled = true;
  28837.             }    
  28838.         }

  28839.         return this.isRedisEngineEnabled;
  28840.     }
  28841.    
  28842.     private List<String> getControlloTrafficoGestorePolicyInMemoryRedisConnectionUrl = null;
  28843.     private boolean getControlloTrafficoGestorePolicyInMemoryRedisConnectionUrlRead = false;
  28844.     public List<String> getControlloTrafficoGestorePolicyInMemoryRedisConnectionUrl() throws CoreException {    
  28845.         if(!this.getControlloTrafficoGestorePolicyInMemoryRedisConnectionUrlRead){
  28846.             String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.REDIS.connectionUrl";
  28847.             try{

  28848.                 String name = null;
  28849.                 name = this.reader.getValueConvertEnvProperties(pName);
  28850.                 if(name==null){
  28851.                     throw new CoreException(NON_DEFINITA);
  28852.                 }else{
  28853.                     String [] r = name.trim().split(",");
  28854.                     List<String> l = new ArrayList<>();
  28855.                     for(int i=0; i<r.length; i++){
  28856.                         r[i] = r[i].trim();
  28857.                         l.add(r[i]);
  28858.                     }
  28859.                    
  28860.                     if(!l.isEmpty()) {
  28861.                         this.getControlloTrafficoGestorePolicyInMemoryRedisConnectionUrl = new ArrayList<>();
  28862.                         this.getControlloTrafficoGestorePolicyInMemoryRedisConnectionUrl.addAll(l);
  28863.                     }
  28864.                     else {
  28865.                         throw new CoreException(NON_DEFINITA);
  28866.                     }
  28867.                 }
  28868.             }catch(java.lang.Exception e) {
  28869.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  28870.                 throw new CoreException("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  28871.             }  
  28872.             this.getControlloTrafficoGestorePolicyInMemoryRedisConnectionUrlRead = true;
  28873.         }

  28874.         return this.getControlloTrafficoGestorePolicyInMemoryRedisConnectionUrl;
  28875.     }
  28876.    
  28877.     private Boolean isControlloTrafficoGestorePolicyInMemoryRedisOneMapForeachPolicy = null;
  28878.     public Boolean isControlloTrafficoGestorePolicyInMemoryRedisOneMapForeachPolicy() {
  28879.         String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.REDIS.oneMapForeachPolicy";
  28880.        
  28881.         if(this.isControlloTrafficoGestorePolicyInMemoryRedisOneMapForeachPolicy==null){
  28882.             try{  
  28883.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28884.                 if(value!=null){
  28885.                     value = value.trim();
  28886.                     this.isControlloTrafficoGestorePolicyInMemoryRedisOneMapForeachPolicy = Boolean.parseBoolean(value);
  28887.                 }else{
  28888.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  28889.                     this.isControlloTrafficoGestorePolicyInMemoryRedisOneMapForeachPolicy = false;
  28890.                 }

  28891.             }catch(java.lang.Exception e) {
  28892.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  28893.                 this.isControlloTrafficoGestorePolicyInMemoryRedisOneMapForeachPolicy = false;
  28894.             }
  28895.         }
  28896.        
  28897.         return this.isControlloTrafficoGestorePolicyInMemoryRedisOneMapForeachPolicy;
  28898.     }
  28899.    
  28900.     private Boolean isControlloTrafficoGestorePolicyInMemoryRedisThrowExceptionIfRedisNotReady = null;
  28901.     public Boolean isControlloTrafficoGestorePolicyInMemoryRedisThrowExceptionIfRedisNotReady() {
  28902.         String pName = "org.openspcoop2.pdd.controlloTraffico.gestorePolicy.inMemory.REDIS.startupGovWay.throwExceptionIfRedisNotReady";
  28903.        
  28904.         if(this.isControlloTrafficoGestorePolicyInMemoryRedisThrowExceptionIfRedisNotReady==null){
  28905.             try{  
  28906.                 String value = this.reader.getValueConvertEnvProperties(pName);

  28907.                 if(value!=null){
  28908.                     value = value.trim();
  28909.                     this.isControlloTrafficoGestorePolicyInMemoryRedisThrowExceptionIfRedisNotReady = Boolean.parseBoolean(value);
  28910.                 }else{
  28911.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  28912.                     this.isControlloTrafficoGestorePolicyInMemoryRedisThrowExceptionIfRedisNotReady = false;
  28913.                 }

  28914.             }catch(java.lang.Exception e) {
  28915.                 this.logWarn(getMessaggioProprietaNonImpostata(pName, e, false),e);
  28916.                 this.isControlloTrafficoGestorePolicyInMemoryRedisThrowExceptionIfRedisNotReady = false;
  28917.             }
  28918.         }
  28919.        
  28920.         return this.isControlloTrafficoGestorePolicyInMemoryRedisThrowExceptionIfRedisNotReady;
  28921.     }
  28922.    
  28923.    
  28924.     private String getControlloTrafficoGestorePolicyWSUrl = null;
  28925.     public String getControlloTrafficoGestorePolicyWSUrl() throws CoreException {  
  28926.         if(this.getControlloTrafficoGestorePolicyWSUrl==null){
  28927.             try{
  28928.                 String name = null;
  28929.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.gestorePolicy.ws.url");
  28930.                 if(name==null){
  28931.                     throw new CoreException("Proprieta' non impostata");
  28932.                 }
  28933.                 else {
  28934.                     name = name.trim();
  28935.                     @SuppressWarnings("unused")
  28936.                     String s = (new URL(name)).toString();
  28937.                     this.getControlloTrafficoGestorePolicyWSUrl = name;
  28938.                 }
  28939.             } catch(java.lang.Exception e) {
  28940.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.gestorePolicy.ws.url': "+e.getMessage(),e);
  28941.                 throw new CoreException(e.getMessage(),e);
  28942.             }    
  28943.         }

  28944.         return this.getControlloTrafficoGestorePolicyWSUrl;
  28945.     }
  28946.        
  28947.     private Boolean getControlloTrafficoNotifyImplRead = null;
  28948.     private INotify getControlloTrafficoNotifyImpl = null;
  28949.     public INotify getControlloTrafficoNotifyImpl(Loader loaderOpenSPCoop) throws CoreException {  
  28950.         if(this.getControlloTrafficoNotifyImplRead==null){
  28951.             try{
  28952.                 String name = null;
  28953.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.notifier.implementation");
  28954.                 if(name!=null){
  28955.                     name = name.trim();
  28956.                     this.getControlloTrafficoNotifyImpl = (INotify) loaderOpenSPCoop.newInstance(name);
  28957.                 }
  28958.             } catch(java.lang.Exception e) {
  28959.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.notifier.implementation': "+e.getMessage(),e);
  28960.                 throw new CoreException(e.getMessage(),e);
  28961.             }  
  28962.             this.getControlloTrafficoNotifyImplRead = true;
  28963.         }

  28964.         return this.getControlloTrafficoNotifyImpl;
  28965.     }
  28966.    
  28967.     private File getControlloTrafficoGestorePolicyFileSystemRecoveryRepository = null;
  28968.     public File getControlloTrafficoGestorePolicyFileSystemRecoveryRepository() throws CoreException {  
  28969.         if(this.getControlloTrafficoGestorePolicyFileSystemRecoveryRepository==null){
  28970.             try{
  28971.                 String name = null;
  28972.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.gestorePolicy.fileSystemRecovery.repository");
  28973.                 if(name!=null){
  28974.                     name = LoggerWrapperFactory.applyClusterIdStrategy(name.trim(), "controlloTraffico");
  28975.                     initControlloTrafficoGestorePolicyFileSystemRecoveryRepository(name);
  28976.                 }
  28977.             } catch(java.lang.Exception e) {
  28978.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.gestorePolicy.fileSystemRecovery.repository': "+e.getMessage(),e);
  28979.                 throw new CoreException(e.getMessage(),e);
  28980.             }    
  28981.         }

  28982.         return this.getControlloTrafficoGestorePolicyFileSystemRecoveryRepository;
  28983.     }
  28984.     private void initControlloTrafficoGestorePolicyFileSystemRecoveryRepository(String name) throws CoreException {
  28985.         this.getControlloTrafficoGestorePolicyFileSystemRecoveryRepository = new File(name);
  28986.         if(this.getControlloTrafficoGestorePolicyFileSystemRecoveryRepository.exists()) {
  28987.             if(!this.getControlloTrafficoGestorePolicyFileSystemRecoveryRepository.isDirectory()) {
  28988.                 throw newCoreExceptionNotDir(this.getControlloTrafficoGestorePolicyFileSystemRecoveryRepository, true);
  28989.             }
  28990.             if(!this.getControlloTrafficoGestorePolicyFileSystemRecoveryRepository.canRead()) {
  28991.                 throw newCoreExceptionCannotRead(this.getControlloTrafficoGestorePolicyFileSystemRecoveryRepository, true);
  28992.             }
  28993.             if(!this.getControlloTrafficoGestorePolicyFileSystemRecoveryRepository.canWrite()) {
  28994.                 throw newCoreExceptionCannotWrite(this.getControlloTrafficoGestorePolicyFileSystemRecoveryRepository, true);
  28995.             }
  28996.         }
  28997.         else {
  28998.             // viene creata automaticamente
  28999.         }
  29000.     }
  29001.    
  29002.    
  29003.    
  29004.    
  29005.    
  29006.     // Limit
  29007.    
  29008.     private String [] getControlloTrafficoNumeroRichiesteSimultaneeHeaderLimit = null;
  29009.     private Boolean getControlloTrafficoNumeroRichiesteSimultaneeHeaderLimitRead = null;
  29010.     public String [] getControlloTrafficoNumeroRichiesteSimultaneeHeaderLimit() throws CoreException {  
  29011.         if(this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderLimitRead==null){
  29012.             try{
  29013.                 String name = null;
  29014.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteSimultanee.header.limit");
  29015.                 if(name!=null){
  29016.                     name = name.trim();
  29017.                     this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderLimit = name.split(",");
  29018.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderLimit.length; i++) {
  29019.                         this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderLimit[i]=this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderLimit[i].trim();
  29020.                     }
  29021.                 }
  29022.                
  29023.                 this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderLimitRead = true;
  29024.                
  29025.             } catch(java.lang.Exception e) {
  29026.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteSimultanee.header.limit': "+e.getMessage(),e);
  29027.                 throw new CoreException(e.getMessage(),e);
  29028.             }    
  29029.         }

  29030.         return this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderLimit;
  29031.     }
  29032.    
  29033.     private String [] getControlloTrafficoNumeroRichiesteHeaderLimit = null;
  29034.     private Boolean getControlloTrafficoNumeroRichiesteHeaderLimitRead = null;
  29035.     public String [] getControlloTrafficoNumeroRichiesteHeaderLimit() throws CoreException {    
  29036.         if(this.getControlloTrafficoNumeroRichiesteHeaderLimitRead==null){
  29037.             try{
  29038.                 String name = null;
  29039.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichieste.header.limit");
  29040.                 if(name!=null){
  29041.                     name = name.trim();
  29042.                     this.getControlloTrafficoNumeroRichiesteHeaderLimit = name.split(",");
  29043.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteHeaderLimit.length; i++) {
  29044.                         this.getControlloTrafficoNumeroRichiesteHeaderLimit[i]=this.getControlloTrafficoNumeroRichiesteHeaderLimit[i].trim();
  29045.                     }
  29046.                 }
  29047.                
  29048.                 this.getControlloTrafficoNumeroRichiesteHeaderLimitRead = true;
  29049.                
  29050.             } catch(java.lang.Exception e) {
  29051.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichieste.header.limit': "+e.getMessage(),e);
  29052.                 throw new CoreException(e.getMessage(),e);
  29053.             }    
  29054.         }

  29055.         return this.getControlloTrafficoNumeroRichiesteHeaderLimit;
  29056.     }
  29057.    
  29058.     private String [] getControlloTrafficoOccupazioneBandaHeaderLimit = null;
  29059.     private Boolean getControlloTrafficoOccupazioneBandaHeaderLimitRead = null;
  29060.     public String [] getControlloTrafficoOccupazioneBandaHeaderLimit() throws CoreException {  
  29061.         if(this.getControlloTrafficoOccupazioneBandaHeaderLimitRead==null){
  29062.             try{
  29063.                 String name = null;
  29064.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.occupazioneBanda.header.limit");
  29065.                 if(name!=null){
  29066.                     name = name.trim();
  29067.                     this.getControlloTrafficoOccupazioneBandaHeaderLimit = name.split(",");
  29068.                     for (int i = 0; i < this.getControlloTrafficoOccupazioneBandaHeaderLimit.length; i++) {
  29069.                         this.getControlloTrafficoOccupazioneBandaHeaderLimit[i]=this.getControlloTrafficoOccupazioneBandaHeaderLimit[i].trim();
  29070.                     }
  29071.                 }
  29072.                
  29073.                 this.getControlloTrafficoOccupazioneBandaHeaderLimitRead = true;
  29074.                
  29075.             } catch(java.lang.Exception e) {
  29076.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.occupazioneBanda.header.limit': "+e.getMessage(),e);
  29077.                 throw new CoreException(e.getMessage(),e);
  29078.             }    
  29079.         }

  29080.         return this.getControlloTrafficoOccupazioneBandaHeaderLimit;
  29081.     }
  29082.    
  29083.     private String [] getControlloTrafficoTempoComplessivoRispostaHeaderLimit = null;
  29084.     private Boolean getControlloTrafficoTempoComplessivoRispostaHeaderLimitRead = null;
  29085.     public String [] getControlloTrafficoTempoComplessivoRispostaHeaderLimit() throws CoreException {  
  29086.         if(this.getControlloTrafficoTempoComplessivoRispostaHeaderLimitRead==null){
  29087.             try{
  29088.                 String name = null;
  29089.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.tempoComplessivoRisposta.header.limit");
  29090.                 if(name!=null){
  29091.                     name = name.trim();
  29092.                     this.getControlloTrafficoTempoComplessivoRispostaHeaderLimit = name.split(",");
  29093.                     for (int i = 0; i < this.getControlloTrafficoTempoComplessivoRispostaHeaderLimit.length; i++) {
  29094.                         this.getControlloTrafficoTempoComplessivoRispostaHeaderLimit[i]=this.getControlloTrafficoTempoComplessivoRispostaHeaderLimit[i].trim();
  29095.                     }
  29096.                 }
  29097.                
  29098.                 this.getControlloTrafficoTempoComplessivoRispostaHeaderLimitRead = true;
  29099.                
  29100.             } catch(java.lang.Exception e) {
  29101.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.tempoComplessivoRisposta.header.limit': "+e.getMessage(),e);
  29102.                 throw new CoreException(e.getMessage(),e);
  29103.             }    
  29104.         }

  29105.         return this.getControlloTrafficoTempoComplessivoRispostaHeaderLimit;
  29106.     }
  29107.    
  29108.     private String [] getControlloTrafficoTempoMedioRispostaHeaderLimit = null;
  29109.     private Boolean getControlloTrafficoTempoMedioRispostaHeaderLimitRead = null;
  29110.     public String [] getControlloTrafficoTempoMedioRispostaHeaderLimit() throws CoreException {
  29111.         if(this.getControlloTrafficoTempoMedioRispostaHeaderLimitRead==null){
  29112.             try{
  29113.                 String name = null;
  29114.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.tempoMedioRisposta.header.limit");
  29115.                 if(name!=null){
  29116.                     name = name.trim();
  29117.                     this.getControlloTrafficoTempoMedioRispostaHeaderLimit = name.split(",");
  29118.                     for (int i = 0; i < this.getControlloTrafficoTempoMedioRispostaHeaderLimit.length; i++) {
  29119.                         this.getControlloTrafficoTempoMedioRispostaHeaderLimit[i]=this.getControlloTrafficoTempoMedioRispostaHeaderLimit[i].trim();
  29120.                     }
  29121.                 }
  29122.                
  29123.                 this.getControlloTrafficoTempoMedioRispostaHeaderLimitRead = true;
  29124.                
  29125.             } catch(java.lang.Exception e) {
  29126.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.tempoMedioRisposta.header.limit': "+e.getMessage(),e);
  29127.                 throw new CoreException(e.getMessage(),e);
  29128.             }    
  29129.         }

  29130.         return this.getControlloTrafficoTempoMedioRispostaHeaderLimit;
  29131.     }
  29132.    
  29133.     private String [] getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimit = null;
  29134.     private Boolean getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimitRead = null;
  29135.     public String [] getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimit() throws CoreException {  
  29136.         if(this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimitRead==null){
  29137.             try{
  29138.                 String name = null;
  29139.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccesso.header.limit");
  29140.                 if(name!=null){
  29141.                     name = name.trim();
  29142.                     this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimit = name.split(",");
  29143.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimit.length; i++) {
  29144.                         this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimit[i]=this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimit[i].trim();
  29145.                     }
  29146.                 }
  29147.                
  29148.                 this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimitRead = true;
  29149.                
  29150.             } catch(java.lang.Exception e) {
  29151.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccesso.header.limit': "+e.getMessage(),e);
  29152.                 throw new CoreException(e.getMessage(),e);
  29153.             }    
  29154.         }

  29155.         return this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimit;
  29156.     }
  29157.    
  29158.     private String [] getControlloTrafficoNumeroRichiesteFalliteHeaderLimit = null;
  29159.     private Boolean getControlloTrafficoNumeroRichiesteFalliteHeaderLimitRead = null;
  29160.     public String [] getControlloTrafficoNumeroRichiesteFalliteHeaderLimit() throws CoreException {
  29161.         if(this.getControlloTrafficoNumeroRichiesteFalliteHeaderLimitRead==null){
  29162.             try{
  29163.                 String name = null;
  29164.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFallite.header.limit");
  29165.                 if(name!=null){
  29166.                     name = name.trim();
  29167.                     this.getControlloTrafficoNumeroRichiesteFalliteHeaderLimit = name.split(",");
  29168.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteFalliteHeaderLimit.length; i++) {
  29169.                         this.getControlloTrafficoNumeroRichiesteFalliteHeaderLimit[i]=this.getControlloTrafficoNumeroRichiesteFalliteHeaderLimit[i].trim();
  29170.                     }
  29171.                 }
  29172.                
  29173.                 this.getControlloTrafficoNumeroRichiesteFalliteHeaderLimitRead = true;
  29174.                
  29175.             } catch(java.lang.Exception e) {
  29176.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFallite.header.limit': "+e.getMessage(),e);
  29177.                 throw new CoreException(e.getMessage(),e);
  29178.             }    
  29179.         }

  29180.         return this.getControlloTrafficoNumeroRichiesteFalliteHeaderLimit;
  29181.     }
  29182.    
  29183.     private String [] getControlloTrafficoNumeroFaultApplicativiHeaderLimit = null;
  29184.     private Boolean getControlloTrafficoNumeroFaultApplicativiHeaderLimitRead = null;
  29185.     public String [] getControlloTrafficoNumeroFaultApplicativiHeaderLimit() throws CoreException {
  29186.         if(this.getControlloTrafficoNumeroFaultApplicativiHeaderLimitRead==null){
  29187.             try{
  29188.                 String name = null;
  29189.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroFaultApplicativi.header.limit");
  29190.                 if(name!=null){
  29191.                     name = name.trim();
  29192.                     this.getControlloTrafficoNumeroFaultApplicativiHeaderLimit = name.split(",");
  29193.                     for (int i = 0; i < this.getControlloTrafficoNumeroFaultApplicativiHeaderLimit.length; i++) {
  29194.                         this.getControlloTrafficoNumeroFaultApplicativiHeaderLimit[i]=this.getControlloTrafficoNumeroFaultApplicativiHeaderLimit[i].trim();
  29195.                     }
  29196.                 }
  29197.                
  29198.                 this.getControlloTrafficoNumeroFaultApplicativiHeaderLimitRead = true;
  29199.                
  29200.             } catch(java.lang.Exception e) {
  29201.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroFaultApplicativi.header.limit': "+e.getMessage(),e);
  29202.                 throw new CoreException(e.getMessage(),e);
  29203.             }    
  29204.         }

  29205.         return this.getControlloTrafficoNumeroFaultApplicativiHeaderLimit;
  29206.     }
  29207.    
  29208.     private String [] getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimit = null;
  29209.     private Boolean getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimitRead = null;
  29210.     public String [] getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimit() throws CoreException {    
  29211.         if(this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimitRead==null){
  29212.             try{
  29213.                 String name = null;
  29214.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFalliteOFaultApplicativi.header.limit");
  29215.                 if(name!=null){
  29216.                     name = name.trim();
  29217.                     this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimit = name.split(",");
  29218.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimit.length; i++) {
  29219.                         this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimit[i]=this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimit[i].trim();
  29220.                     }
  29221.                 }
  29222.                
  29223.                 this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimitRead = true;
  29224.                
  29225.             } catch(java.lang.Exception e) {
  29226.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFalliteOFaultApplicativi.header.limit': "+e.getMessage(),e);
  29227.                 throw new CoreException(e.getMessage(),e);
  29228.             }    
  29229.         }

  29230.         return this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimit;
  29231.     }  
  29232.        
  29233.     private String [] getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimit = null;
  29234.     private Boolean getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimitRead = null;
  29235.     public String [] getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimit() throws CoreException {  
  29236.         if(this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimitRead==null){
  29237.             try{
  29238.                 String name = null;
  29239.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccessoOFaultApplicativi.header.limit");
  29240.                 if(name!=null){
  29241.                     name = name.trim();
  29242.                     this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimit = name.split(",");
  29243.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimit.length; i++) {
  29244.                         this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimit[i]=this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimit[i].trim();
  29245.                     }
  29246.                 }
  29247.                
  29248.                 this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimitRead = true;
  29249.                
  29250.             } catch(java.lang.Exception e) {
  29251.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccessoOFaultApplicativi.header.limit': "+e.getMessage(),e);
  29252.                 throw new CoreException(e.getMessage(),e);
  29253.             }    
  29254.         }

  29255.         return this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimit;
  29256.     }  
  29257.    
  29258.    
  29259.     // Windows
  29260.    
  29261.     private Boolean getControlloTrafficoNumeroRichiesteHeaderLimitWindows = null;
  29262.     private Boolean getControlloTrafficoNumeroRichiesteHeaderLimitWindowsRead = null;
  29263.     public Boolean getControlloTrafficoNumeroRichiesteHeaderLimitWindows() throws CoreException {  
  29264.         if(this.getControlloTrafficoNumeroRichiesteHeaderLimitWindowsRead==null){
  29265.             try{
  29266.                 String name = null;
  29267.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichieste.header.limit.windows");
  29268.                 if(name!=null){
  29269.                     name = name.trim();
  29270.                     this.getControlloTrafficoNumeroRichiesteHeaderLimitWindows = Boolean.valueOf(name);
  29271.                 }
  29272.                
  29273.                 this.getControlloTrafficoNumeroRichiesteHeaderLimitWindowsRead = true;
  29274.                
  29275.             } catch(java.lang.Exception e) {
  29276.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichieste.header.limit.windows': "+e.getMessage(),e);
  29277.                 throw new CoreException(e.getMessage(),e);
  29278.             }    
  29279.         }

  29280.         return this.getControlloTrafficoNumeroRichiesteHeaderLimitWindows;
  29281.     }
  29282.    
  29283.     private Boolean getControlloTrafficoOccupazioneBandaHeaderLimitWindows = null;
  29284.     private Boolean getControlloTrafficoOccupazioneBandaHeaderLimitWindowsRead = null;
  29285.     public Boolean getControlloTrafficoOccupazioneBandaHeaderLimitWindows() throws CoreException {  
  29286.         if(this.getControlloTrafficoOccupazioneBandaHeaderLimitWindowsRead==null){
  29287.             try{
  29288.                 String name = null;
  29289.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.occupazioneBanda.header.limit.windows");
  29290.                 if(name!=null){
  29291.                     name = name.trim();
  29292.                     this.getControlloTrafficoOccupazioneBandaHeaderLimitWindows = Boolean.valueOf(name);
  29293.                 }
  29294.                
  29295.                 this.getControlloTrafficoOccupazioneBandaHeaderLimitWindowsRead = true;
  29296.                
  29297.             } catch(java.lang.Exception e) {
  29298.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.occupazioneBanda.header.limit.windows': "+e.getMessage(),e);
  29299.                 throw new CoreException(e.getMessage(),e);
  29300.             }    
  29301.         }

  29302.         return this.getControlloTrafficoOccupazioneBandaHeaderLimitWindows;
  29303.     }
  29304.    
  29305.     private Boolean getControlloTrafficoTempoComplessivoRispostaHeaderLimitWindows = null;
  29306.     private Boolean getControlloTrafficoTempoComplessivoRispostaHeaderLimitWindowsRead = null;
  29307.     public Boolean getControlloTrafficoTempoComplessivoRispostaHeaderLimitWindows() throws CoreException {  
  29308.         if(this.getControlloTrafficoTempoComplessivoRispostaHeaderLimitWindowsRead==null){
  29309.             try{
  29310.                 String name = null;
  29311.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.tempoComplessivoRisposta.header.limit.windows");
  29312.                 if(name!=null){
  29313.                     name = name.trim();
  29314.                     this.getControlloTrafficoTempoComplessivoRispostaHeaderLimitWindows = Boolean.valueOf(name);
  29315.                 }
  29316.                
  29317.                 this.getControlloTrafficoTempoComplessivoRispostaHeaderLimitWindowsRead = true;
  29318.                
  29319.             } catch(java.lang.Exception e) {
  29320.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.tempoComplessivoRisposta.header.limit.windows': "+e.getMessage(),e);
  29321.                 throw new CoreException(e.getMessage(),e);
  29322.             }    
  29323.         }

  29324.         return this.getControlloTrafficoTempoComplessivoRispostaHeaderLimitWindows;
  29325.     }
  29326.    
  29327.     private Boolean getControlloTrafficoTempoMedioRispostaHeaderLimitWindows = null;
  29328.     private Boolean getControlloTrafficoTempoMedioRispostaHeaderLimitWindowsRead = null;
  29329.     public Boolean getControlloTrafficoTempoMedioRispostaHeaderLimitWindows() throws CoreException {    
  29330.         if(this.getControlloTrafficoTempoMedioRispostaHeaderLimitWindowsRead==null){
  29331.             try{
  29332.                 String name = null;
  29333.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.tempoMedioRisposta.header.limit.windows");
  29334.                 if(name!=null){
  29335.                     name = name.trim();
  29336.                     this.getControlloTrafficoTempoMedioRispostaHeaderLimitWindows = Boolean.valueOf(name);
  29337.                 }
  29338.                
  29339.                 this.getControlloTrafficoTempoMedioRispostaHeaderLimitWindowsRead = true;
  29340.                
  29341.             } catch(java.lang.Exception e) {
  29342.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.tempoMedioRisposta.header.limit.windows': "+e.getMessage(),e);
  29343.                 throw new CoreException(e.getMessage(),e);
  29344.             }    
  29345.         }

  29346.         return this.getControlloTrafficoTempoMedioRispostaHeaderLimitWindows;
  29347.     }
  29348.    
  29349.     private Boolean getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimitWindows = null;
  29350.     private Boolean getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimitWindowsRead = null;
  29351.     public Boolean getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimitWindows() throws CoreException {  
  29352.         if(this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimitWindowsRead==null){
  29353.             try{
  29354.                 String name = null;
  29355.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccesso.header.limit.windows");
  29356.                 if(name!=null){
  29357.                     name = name.trim();
  29358.                     this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimitWindows = Boolean.valueOf(name);
  29359.                 }
  29360.                
  29361.                 this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimitWindowsRead = true;
  29362.                
  29363.             } catch(java.lang.Exception e) {
  29364.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccesso.header.limit.windows': "+e.getMessage(),e);
  29365.                 throw new CoreException(e.getMessage(),e);
  29366.             }    
  29367.         }

  29368.         return this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderLimitWindows;
  29369.     }
  29370.    
  29371.     private Boolean getControlloTrafficoNumeroRichiesteFalliteHeaderLimitWindows = null;
  29372.     private Boolean getControlloTrafficoNumeroRichiesteFalliteHeaderLimitWindowsRead = null;
  29373.     public Boolean getControlloTrafficoNumeroRichiesteFalliteHeaderLimitWindows() throws CoreException {    
  29374.         if(this.getControlloTrafficoNumeroRichiesteFalliteHeaderLimitWindowsRead==null){
  29375.             try{
  29376.                 String name = null;
  29377.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFallite.header.limit.windows");
  29378.                 if(name!=null){
  29379.                     name = name.trim();
  29380.                     this.getControlloTrafficoNumeroRichiesteFalliteHeaderLimitWindows = Boolean.valueOf(name);
  29381.                 }
  29382.                
  29383.                 this.getControlloTrafficoNumeroRichiesteFalliteHeaderLimitWindowsRead = true;
  29384.                
  29385.             } catch(java.lang.Exception e) {
  29386.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFallite.header.limit.windows': "+e.getMessage(),e);
  29387.                 throw new CoreException(e.getMessage(),e);
  29388.             }    
  29389.         }

  29390.         return this.getControlloTrafficoNumeroRichiesteFalliteHeaderLimitWindows;
  29391.     }
  29392.    
  29393.     private Boolean getControlloTrafficoNumeroFaultApplicativiHeaderLimitWindows = null;
  29394.     private Boolean getControlloTrafficoNumeroFaultApplicativiHeaderLimitWindowsRead = null;
  29395.     public Boolean getControlloTrafficoNumeroFaultApplicativiHeaderLimitWindows() throws CoreException {    
  29396.         if(this.getControlloTrafficoNumeroFaultApplicativiHeaderLimitWindowsRead==null){
  29397.             try{
  29398.                 String name = null;
  29399.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroFaultApplicativi.header.limit.windows");
  29400.                 if(name!=null){
  29401.                     name = name.trim();
  29402.                     this.getControlloTrafficoNumeroFaultApplicativiHeaderLimitWindows = Boolean.valueOf(name);
  29403.                 }
  29404.                
  29405.                 this.getControlloTrafficoNumeroFaultApplicativiHeaderLimitWindowsRead = true;
  29406.                
  29407.             } catch(java.lang.Exception e) {
  29408.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroFaultApplicativi.header.limit.windows': "+e.getMessage(),e);
  29409.                 throw new CoreException(e.getMessage(),e);
  29410.             }    
  29411.         }

  29412.         return this.getControlloTrafficoNumeroFaultApplicativiHeaderLimitWindows;
  29413.     }
  29414.    
  29415.     private Boolean getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimitWindows = null;
  29416.     private Boolean getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimitWindowsRead = null;
  29417.     public Boolean getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimitWindows() throws CoreException {  
  29418.         if(this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimitWindowsRead==null){
  29419.             try{
  29420.                 String name = null;
  29421.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFalliteOFaultApplicativi.header.limit.windows");
  29422.                 if(name!=null){
  29423.                     name = name.trim();
  29424.                     this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimitWindows = Boolean.valueOf(name);
  29425.                 }
  29426.                
  29427.                 this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimitWindowsRead = true;
  29428.                
  29429.             } catch(java.lang.Exception e) {
  29430.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFalliteOFaultApplicativi.header.limit.windows': "+e.getMessage(),e);
  29431.                 throw new CoreException(e.getMessage(),e);
  29432.             }    
  29433.         }

  29434.         return this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderLimitWindows;
  29435.     }  
  29436.    
  29437.     private Boolean getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimitWindows = null;
  29438.     private Boolean getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimitWindowsRead = null;
  29439.     public Boolean getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimitWindows() throws CoreException {
  29440.         if(this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimitWindowsRead==null){
  29441.             try{
  29442.                 String name = null;
  29443.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccessoOFaultApplicativi.header.limit.windows");
  29444.                 if(name!=null){
  29445.                     name = name.trim();
  29446.                     this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimitWindows = Boolean.valueOf(name);
  29447.                 }
  29448.                
  29449.                 this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimitWindowsRead = true;
  29450.                
  29451.             } catch(java.lang.Exception e) {
  29452.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccessoOFaultApplicativi.header.limit.windows': "+e.getMessage(),e);
  29453.                 throw new CoreException(e.getMessage(),e);
  29454.             }    
  29455.         }

  29456.         return this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderLimitWindows;
  29457.     }  

  29458.    
  29459.     // Remaining
  29460.    
  29461.     private String [] getControlloTrafficoNumeroRichiesteSimultaneeHeaderRemaining = null;
  29462.     private Boolean getControlloTrafficoNumeroRichiesteSimultaneeHeaderRemainingRead = null;
  29463.     public String [] getControlloTrafficoNumeroRichiesteSimultaneeHeaderRemaining() throws CoreException {  
  29464.         if(this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderRemainingRead==null){
  29465.             try{
  29466.                 String name = null;
  29467.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteSimultanee.header.remaining");
  29468.                 if(name!=null){
  29469.                     name = name.trim();
  29470.                     this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderRemaining = name.split(",");
  29471.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderRemaining.length; i++) {
  29472.                         this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderRemaining[i]=this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderRemaining[i].trim();
  29473.                     }
  29474.                 }
  29475.                
  29476.                 this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderRemainingRead = true;
  29477.                
  29478.             } catch(java.lang.Exception e) {
  29479.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteSimultanee.header.remaining': "+e.getMessage(),e);
  29480.                 throw new CoreException(e.getMessage(),e);
  29481.             }    
  29482.         }

  29483.         return this.getControlloTrafficoNumeroRichiesteSimultaneeHeaderRemaining;
  29484.     }
  29485.    
  29486.     private String [] getControlloTrafficoNumeroRichiesteHeaderRemaining = null;
  29487.     private Boolean getControlloTrafficoNumeroRichiesteHeaderRemainingRead = null;
  29488.     public String [] getControlloTrafficoNumeroRichiesteHeaderRemaining() throws CoreException {    
  29489.         if(this.getControlloTrafficoNumeroRichiesteHeaderRemainingRead==null){
  29490.             try{
  29491.                 String name = null;
  29492.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichieste.header.remaining");
  29493.                 if(name!=null){
  29494.                     name = name.trim();
  29495.                     this.getControlloTrafficoNumeroRichiesteHeaderRemaining = name.split(",");
  29496.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteHeaderRemaining.length; i++) {
  29497.                         this.getControlloTrafficoNumeroRichiesteHeaderRemaining[i]=this.getControlloTrafficoNumeroRichiesteHeaderRemaining[i].trim();
  29498.                     }
  29499.                 }
  29500.                
  29501.                 this.getControlloTrafficoNumeroRichiesteHeaderRemainingRead = true;
  29502.                
  29503.             } catch(java.lang.Exception e) {
  29504.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichieste.header.remaining': "+e.getMessage(),e);
  29505.                 throw new CoreException(e.getMessage(),e);
  29506.             }    
  29507.         }

  29508.         return this.getControlloTrafficoNumeroRichiesteHeaderRemaining;
  29509.     }
  29510.    
  29511.     private String [] getControlloTrafficoOccupazioneBandaHeaderRemaining = null;
  29512.     private Boolean getControlloTrafficoOccupazioneBandaHeaderRemainingRead = null;
  29513.     public String [] getControlloTrafficoOccupazioneBandaHeaderRemaining() throws CoreException {  
  29514.         if(this.getControlloTrafficoOccupazioneBandaHeaderRemainingRead==null){
  29515.             try{
  29516.                 String name = null;
  29517.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.occupazioneBanda.header.remaining");
  29518.                 if(name!=null){
  29519.                     name = name.trim();
  29520.                     this.getControlloTrafficoOccupazioneBandaHeaderRemaining = name.split(",");
  29521.                     for (int i = 0; i < this.getControlloTrafficoOccupazioneBandaHeaderRemaining.length; i++) {
  29522.                         this.getControlloTrafficoOccupazioneBandaHeaderRemaining[i]=this.getControlloTrafficoOccupazioneBandaHeaderRemaining[i].trim();
  29523.                     }
  29524.                 }
  29525.                
  29526.                 this.getControlloTrafficoOccupazioneBandaHeaderRemainingRead = true;
  29527.                
  29528.             } catch(java.lang.Exception e) {
  29529.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.occupazioneBanda.header.remaining': "+e.getMessage(),e);
  29530.                 throw new CoreException(e.getMessage(),e);
  29531.             }    
  29532.         }

  29533.         return this.getControlloTrafficoOccupazioneBandaHeaderRemaining;
  29534.     }
  29535.    
  29536.     private String [] getControlloTrafficoTempoComplessivoRispostaHeaderRemaining = null;
  29537.     private Boolean getControlloTrafficoTempoComplessivoRispostaHeaderRemainingRead = null;
  29538.     public String [] getControlloTrafficoTempoComplessivoRispostaHeaderRemaining() throws CoreException {  
  29539.         if(this.getControlloTrafficoTempoComplessivoRispostaHeaderRemainingRead==null){
  29540.             try{
  29541.                 String name = null;
  29542.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.tempoComplessivoRisposta.header.remaining");
  29543.                 if(name!=null){
  29544.                     name = name.trim();
  29545.                     this.getControlloTrafficoTempoComplessivoRispostaHeaderRemaining = name.split(",");
  29546.                     for (int i = 0; i < this.getControlloTrafficoTempoComplessivoRispostaHeaderRemaining.length; i++) {
  29547.                         this.getControlloTrafficoTempoComplessivoRispostaHeaderRemaining[i]=this.getControlloTrafficoTempoComplessivoRispostaHeaderRemaining[i].trim();
  29548.                     }
  29549.                 }
  29550.                
  29551.                 this.getControlloTrafficoTempoComplessivoRispostaHeaderRemainingRead = true;
  29552.                
  29553.             } catch(java.lang.Exception e) {
  29554.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.tempoComplessivoRisposta.header.remaining': "+e.getMessage(),e);
  29555.                 throw new CoreException(e.getMessage(),e);
  29556.             }    
  29557.         }

  29558.         return this.getControlloTrafficoTempoComplessivoRispostaHeaderRemaining;
  29559.     }
  29560.        
  29561.     private String [] getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderRemaining = null;
  29562.     private Boolean getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderRemainingRead = null;
  29563.     public String [] getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderRemaining() throws CoreException {  
  29564.         if(this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderRemainingRead==null){
  29565.             try{
  29566.                 String name = null;
  29567.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccesso.header.remaining");
  29568.                 if(name!=null){
  29569.                     name = name.trim();
  29570.                     this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderRemaining = name.split(",");
  29571.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderRemaining.length; i++) {
  29572.                         this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderRemaining[i]=this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderRemaining[i].trim();
  29573.                     }
  29574.                 }
  29575.                
  29576.                 this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderRemainingRead = true;
  29577.                
  29578.             } catch(java.lang.Exception e) {
  29579.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccesso.header.remaining': "+e.getMessage(),e);
  29580.                 throw new CoreException(e.getMessage(),e);
  29581.             }    
  29582.         }

  29583.         return this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderRemaining;
  29584.     }
  29585.    
  29586.     private String [] getControlloTrafficoNumeroRichiesteFalliteHeaderRemaining = null;
  29587.     private Boolean getControlloTrafficoNumeroRichiesteFalliteHeaderRemainingRead = null;
  29588.     public String [] getControlloTrafficoNumeroRichiesteFalliteHeaderRemaining() throws CoreException {
  29589.         if(this.getControlloTrafficoNumeroRichiesteFalliteHeaderRemainingRead==null){
  29590.             try{
  29591.                 String name = null;
  29592.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFallite.header.remaining");
  29593.                 if(name!=null){
  29594.                     name = name.trim();
  29595.                     this.getControlloTrafficoNumeroRichiesteFalliteHeaderRemaining = name.split(",");
  29596.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteFalliteHeaderRemaining.length; i++) {
  29597.                         this.getControlloTrafficoNumeroRichiesteFalliteHeaderRemaining[i]=this.getControlloTrafficoNumeroRichiesteFalliteHeaderRemaining[i].trim();
  29598.                     }
  29599.                 }
  29600.                
  29601.                 this.getControlloTrafficoNumeroRichiesteFalliteHeaderRemainingRead = true;
  29602.                
  29603.             } catch(java.lang.Exception e) {
  29604.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFallite.header.remaining': "+e.getMessage(),e);
  29605.                 throw new CoreException(e.getMessage(),e);
  29606.             }    
  29607.         }

  29608.         return this.getControlloTrafficoNumeroRichiesteFalliteHeaderRemaining;
  29609.     }
  29610.    
  29611.     private String [] getControlloTrafficoNumeroFaultApplicativiHeaderRemaining = null;
  29612.     private Boolean getControlloTrafficoNumeroFaultApplicativiHeaderRemainingRead = null;
  29613.     public String [] getControlloTrafficoNumeroFaultApplicativiHeaderRemaining() throws CoreException {
  29614.         if(this.getControlloTrafficoNumeroFaultApplicativiHeaderRemainingRead==null){
  29615.             try{
  29616.                 String name = null;
  29617.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroFaultApplicativi.header.remaining");
  29618.                 if(name!=null){
  29619.                     name = name.trim();
  29620.                     this.getControlloTrafficoNumeroFaultApplicativiHeaderRemaining = name.split(",");
  29621.                     for (int i = 0; i < this.getControlloTrafficoNumeroFaultApplicativiHeaderRemaining.length; i++) {
  29622.                         this.getControlloTrafficoNumeroFaultApplicativiHeaderRemaining[i]=this.getControlloTrafficoNumeroFaultApplicativiHeaderRemaining[i].trim();
  29623.                     }
  29624.                 }
  29625.                
  29626.                 this.getControlloTrafficoNumeroFaultApplicativiHeaderRemainingRead = true;
  29627.                
  29628.             } catch(java.lang.Exception e) {
  29629.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroFaultApplicativi.header.remaining': "+e.getMessage(),e);
  29630.                 throw new CoreException(e.getMessage(),e);
  29631.             }    
  29632.         }

  29633.         return this.getControlloTrafficoNumeroFaultApplicativiHeaderRemaining;
  29634.     }
  29635.    
  29636.     private String [] getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderRemaining = null;
  29637.     private Boolean getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderRemainingRead = null;
  29638.     public String [] getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderRemaining() throws CoreException {    
  29639.         if(this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderRemainingRead==null){
  29640.             try{
  29641.                 String name = null;
  29642.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFalliteOFaultApplicativi.header.remaining");
  29643.                 if(name!=null){
  29644.                     name = name.trim();
  29645.                     this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderRemaining = name.split(",");
  29646.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderRemaining.length; i++) {
  29647.                         this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderRemaining[i]=this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderRemaining[i].trim();
  29648.                     }
  29649.                 }
  29650.                
  29651.                 this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderRemainingRead = true;
  29652.                
  29653.             } catch(java.lang.Exception e) {
  29654.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteNonCompletateConSuccesso.header.remaining': "+e.getMessage(),e);
  29655.                 throw new CoreException(e.getMessage(),e);
  29656.             }    
  29657.         }

  29658.         return this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderRemaining;
  29659.     }
  29660.    
  29661.     private String [] getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderRemaining = null;
  29662.     private Boolean getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderRemainingRead = null;
  29663.     public String [] getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderRemaining() throws CoreException {  
  29664.         if(this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderRemainingRead==null){
  29665.             try{
  29666.                 String name = null;
  29667.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccessoOFaultApplicativi.header.remaining");
  29668.                 if(name!=null){
  29669.                     name = name.trim();
  29670.                     this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderRemaining = name.split(",");
  29671.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderRemaining.length; i++) {
  29672.                         this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderRemaining[i]=this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderRemaining[i].trim();
  29673.                     }
  29674.                 }
  29675.                
  29676.                 this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderRemainingRead = true;
  29677.                
  29678.             } catch(java.lang.Exception e) {
  29679.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccessoOFaultApplicativi.header.remaining': "+e.getMessage(),e);
  29680.                 throw new CoreException(e.getMessage(),e);
  29681.             }    
  29682.         }

  29683.         return this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderRemaining;
  29684.     }
  29685.    

  29686.    
  29687.    
  29688.    
  29689.     // Reset
  29690.    
  29691.     private String [] getControlloTrafficoNumeroRichiesteHeaderReset = null;
  29692.     private Boolean getControlloTrafficoNumeroRichiesteHeaderResetRead = null;
  29693.     public String [] getControlloTrafficoNumeroRichiesteHeaderReset() throws CoreException {    
  29694.         if(this.getControlloTrafficoNumeroRichiesteHeaderResetRead==null){
  29695.             try{
  29696.                 String name = null;
  29697.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichieste.header.reset");
  29698.                 if(name!=null){
  29699.                     name = name.trim();
  29700.                     this.getControlloTrafficoNumeroRichiesteHeaderReset = name.split(",");
  29701.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteHeaderReset.length; i++) {
  29702.                         this.getControlloTrafficoNumeroRichiesteHeaderReset[i]=this.getControlloTrafficoNumeroRichiesteHeaderReset[i].trim();
  29703.                     }
  29704.                 }
  29705.                
  29706.                 this.getControlloTrafficoNumeroRichiesteHeaderResetRead = true;
  29707.                
  29708.             } catch(java.lang.Exception e) {
  29709.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichieste.header.reset': "+e.getMessage(),e);
  29710.                 throw new CoreException(e.getMessage(),e);
  29711.             }    
  29712.         }

  29713.         return this.getControlloTrafficoNumeroRichiesteHeaderReset;
  29714.     }
  29715.    
  29716.     private String [] getControlloTrafficoOccupazioneBandaHeaderReset = null;
  29717.     private Boolean getControlloTrafficoOccupazioneBandaHeaderResetRead = null;
  29718.     public String [] getControlloTrafficoOccupazioneBandaHeaderReset() throws CoreException {  
  29719.         if(this.getControlloTrafficoOccupazioneBandaHeaderResetRead==null){
  29720.             try{
  29721.                 String name = null;
  29722.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.occupazioneBanda.header.reset");
  29723.                 if(name!=null){
  29724.                     name = name.trim();
  29725.                     this.getControlloTrafficoOccupazioneBandaHeaderReset = name.split(",");
  29726.                     for (int i = 0; i < this.getControlloTrafficoOccupazioneBandaHeaderReset.length; i++) {
  29727.                         this.getControlloTrafficoOccupazioneBandaHeaderReset[i]=this.getControlloTrafficoOccupazioneBandaHeaderReset[i].trim();
  29728.                     }
  29729.                 }
  29730.                
  29731.                 this.getControlloTrafficoOccupazioneBandaHeaderResetRead = true;
  29732.                
  29733.             } catch(java.lang.Exception e) {
  29734.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.occupazioneBanda.header.reset': "+e.getMessage(),e);
  29735.                 throw new CoreException(e.getMessage(),e);
  29736.             }    
  29737.         }

  29738.         return this.getControlloTrafficoOccupazioneBandaHeaderReset;
  29739.     }
  29740.    
  29741.     private String [] getControlloTrafficoTempoComplessivoRispostaHeaderReset = null;
  29742.     private Boolean getControlloTrafficoTempoComplessivoRispostaHeaderResetRead = null;
  29743.     public String [] getControlloTrafficoTempoComplessivoRispostaHeaderReset() throws CoreException {  
  29744.         if(this.getControlloTrafficoTempoComplessivoRispostaHeaderResetRead==null){
  29745.             try{
  29746.                 String name = null;
  29747.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.tempoComplessivoRisposta.header.reset");
  29748.                 if(name!=null){
  29749.                     name = name.trim();
  29750.                     this.getControlloTrafficoTempoComplessivoRispostaHeaderReset = name.split(",");
  29751.                     for (int i = 0; i < this.getControlloTrafficoTempoComplessivoRispostaHeaderReset.length; i++) {
  29752.                         this.getControlloTrafficoTempoComplessivoRispostaHeaderReset[i]=this.getControlloTrafficoTempoComplessivoRispostaHeaderReset[i].trim();
  29753.                     }
  29754.                 }
  29755.                
  29756.                 this.getControlloTrafficoTempoComplessivoRispostaHeaderResetRead = true;
  29757.                
  29758.             } catch(java.lang.Exception e) {
  29759.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.tempoComplessivoRisposta.header.reset': "+e.getMessage(),e);
  29760.                 throw new CoreException(e.getMessage(),e);
  29761.             }    
  29762.         }

  29763.         return this.getControlloTrafficoTempoComplessivoRispostaHeaderReset;
  29764.     }
  29765.    
  29766.     private String [] getControlloTrafficoTempoMedioRispostaHeaderReset = null;
  29767.     private Boolean getControlloTrafficoTempoMedioRispostaHeaderResetRead = null;
  29768.     public String [] getControlloTrafficoTempoMedioRispostaHeaderReset() throws CoreException {
  29769.         if(this.getControlloTrafficoTempoMedioRispostaHeaderResetRead==null){
  29770.             try{
  29771.                 String name = null;
  29772.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.tempoMedioRisposta.header.reset");
  29773.                 if(name!=null){
  29774.                     name = name.trim();
  29775.                     this.getControlloTrafficoTempoMedioRispostaHeaderReset = name.split(",");
  29776.                     for (int i = 0; i < this.getControlloTrafficoTempoMedioRispostaHeaderReset.length; i++) {
  29777.                         this.getControlloTrafficoTempoMedioRispostaHeaderReset[i]=this.getControlloTrafficoTempoMedioRispostaHeaderReset[i].trim();
  29778.                     }
  29779.                 }
  29780.                
  29781.                 this.getControlloTrafficoTempoMedioRispostaHeaderResetRead = true;
  29782.                
  29783.             } catch(java.lang.Exception e) {
  29784.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.tempoMedioRisposta.header.reset': "+e.getMessage(),e);
  29785.                 throw new CoreException(e.getMessage(),e);
  29786.             }    
  29787.         }

  29788.         return this.getControlloTrafficoTempoMedioRispostaHeaderReset;
  29789.     }
  29790.    
  29791.     private String [] getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderReset = null;
  29792.     private Boolean getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderResetRead = null;
  29793.     public String [] getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderReset() throws CoreException {  
  29794.         if(this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderResetRead==null){
  29795.             try{
  29796.                 String name = null;
  29797.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccesso.header.reset");
  29798.                 if(name!=null){
  29799.                     name = name.trim();
  29800.                     this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderReset = name.split(",");
  29801.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderReset.length; i++) {
  29802.                         this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderReset[i]=this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderReset[i].trim();
  29803.                     }
  29804.                 }
  29805.                
  29806.                 this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderResetRead = true;
  29807.                
  29808.             } catch(java.lang.Exception e) {
  29809.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccesso.header.reset': "+e.getMessage(),e);
  29810.                 throw new CoreException(e.getMessage(),e);
  29811.             }    
  29812.         }

  29813.         return this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoHeaderReset;
  29814.     }
  29815.    
  29816.     private String [] getControlloTrafficoNumeroRichiesteFalliteHeaderReset = null;
  29817.     private Boolean getControlloTrafficoNumeroRichiesteFalliteHeaderResetRead = null;
  29818.     public String [] getControlloTrafficoNumeroRichiesteFalliteHeaderReset() throws CoreException {
  29819.         if(this.getControlloTrafficoNumeroRichiesteFalliteHeaderResetRead==null){
  29820.             try{
  29821.                 String name = null;
  29822.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFallite.header.reset");
  29823.                 if(name!=null){
  29824.                     name = name.trim();
  29825.                     this.getControlloTrafficoNumeroRichiesteFalliteHeaderReset = name.split(",");
  29826.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteFalliteHeaderReset.length; i++) {
  29827.                         this.getControlloTrafficoNumeroRichiesteFalliteHeaderReset[i]=this.getControlloTrafficoNumeroRichiesteFalliteHeaderReset[i].trim();
  29828.                     }
  29829.                 }
  29830.                
  29831.                 this.getControlloTrafficoNumeroRichiesteFalliteHeaderResetRead = true;
  29832.                
  29833.             } catch(java.lang.Exception e) {
  29834.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFallite.header.reset': "+e.getMessage(),e);
  29835.                 throw new CoreException(e.getMessage(),e);
  29836.             }    
  29837.         }

  29838.         return this.getControlloTrafficoNumeroRichiesteFalliteHeaderReset;
  29839.     }
  29840.    
  29841.     private String [] getControlloTrafficoNumeroFaultApplicativiHeaderReset = null;
  29842.     private Boolean getControlloTrafficoNumeroFaultApplicativiHeaderResetRead = null;
  29843.     public String [] getControlloTrafficoNumeroFaultApplicativiHeaderReset() throws CoreException {
  29844.         if(this.getControlloTrafficoNumeroFaultApplicativiHeaderResetRead==null){
  29845.             try{
  29846.                 String name = null;
  29847.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroFaultApplicativi.header.reset");
  29848.                 if(name!=null){
  29849.                     name = name.trim();
  29850.                     this.getControlloTrafficoNumeroFaultApplicativiHeaderReset = name.split(",");
  29851.                     for (int i = 0; i < this.getControlloTrafficoNumeroFaultApplicativiHeaderReset.length; i++) {
  29852.                         this.getControlloTrafficoNumeroFaultApplicativiHeaderReset[i]=this.getControlloTrafficoNumeroFaultApplicativiHeaderReset[i].trim();
  29853.                     }
  29854.                 }
  29855.                
  29856.                 this.getControlloTrafficoNumeroFaultApplicativiHeaderResetRead = true;
  29857.                
  29858.             } catch(java.lang.Exception e) {
  29859.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroFaultApplicativi.header.reset': "+e.getMessage(),e);
  29860.                 throw new CoreException(e.getMessage(),e);
  29861.             }    
  29862.         }

  29863.         return this.getControlloTrafficoNumeroFaultApplicativiHeaderReset;
  29864.     }
  29865.    
  29866.     private String [] getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderReset = null;
  29867.     private Boolean getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderResetRead = null;
  29868.     public String [] getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderReset() throws CoreException {    
  29869.         if(this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderResetRead==null){
  29870.             try{
  29871.                 String name = null;
  29872.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFalliteOFaultApplicativi.header.reset");
  29873.                 if(name!=null){
  29874.                     name = name.trim();
  29875.                     this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderReset = name.split(",");
  29876.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderReset.length; i++) {
  29877.                         this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderReset[i]=this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderReset[i].trim();
  29878.                     }
  29879.                 }
  29880.                
  29881.                 this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderResetRead = true;
  29882.                
  29883.             } catch(java.lang.Exception e) {
  29884.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteFalliteOFaultApplicativi.header.reset': "+e.getMessage(),e);
  29885.                 throw new CoreException(e.getMessage(),e);
  29886.             }    
  29887.         }

  29888.         return this.getControlloTrafficoNumeroRichiesteFalliteOFaultApplicativiHeaderReset;
  29889.     }
  29890.    
  29891.     private String [] getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderReset = null;
  29892.     private Boolean getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderResetRead = null;
  29893.     public String [] getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderReset() throws CoreException {  
  29894.         if(this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderResetRead==null){
  29895.             try{
  29896.                 String name = null;
  29897.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccessoOFaultApplicativi.header.reset");
  29898.                 if(name!=null){
  29899.                     name = name.trim();
  29900.                     this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderReset = name.split(",");
  29901.                     for (int i = 0; i < this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderReset.length; i++) {
  29902.                         this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderReset[i]=this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderReset[i].trim();
  29903.                     }
  29904.                 }
  29905.                
  29906.                 this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderResetRead = true;
  29907.                
  29908.             } catch(java.lang.Exception e) {
  29909.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichiesteCompletateConSuccessoOFaultApplicativi.header.reset': "+e.getMessage(),e);
  29910.                 throw new CoreException(e.getMessage(),e);
  29911.             }    
  29912.         }

  29913.         return this.getControlloTrafficoNumeroRichiesteCompletateConSuccessoOFaultApplicativiHeaderReset;
  29914.     }
  29915.    
  29916.    
  29917.    
  29918.     // Header Retry After
  29919.    
  29920.     private String [] getControlloTrafficoRetryAfterHeader = null;
  29921.     private Boolean getControlloTrafficoRetryAfterHeaderRead = null;
  29922.     public String [] getControlloTrafficoRetryAfterHeader() throws CoreException {  
  29923.         if(this.getControlloTrafficoRetryAfterHeaderRead==null){
  29924.             try{
  29925.                 String name = null;
  29926.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.policyViolate.retryAfter");
  29927.                 if(name!=null){
  29928.                     name = name.trim();
  29929.                     this.getControlloTrafficoRetryAfterHeader = name.split(",");
  29930.                     for (int i = 0; i < this.getControlloTrafficoRetryAfterHeader.length; i++) {
  29931.                         this.getControlloTrafficoRetryAfterHeader[i]=this.getControlloTrafficoRetryAfterHeader[i].trim();
  29932.                     }
  29933.                 }
  29934.                
  29935.                 this.getControlloTrafficoRetryAfterHeaderRead = true;
  29936.                
  29937.             } catch(java.lang.Exception e) {
  29938.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.numeroRichieste.header.limit': "+e.getMessage(),e);
  29939.                 throw new CoreException(e.getMessage(),e);
  29940.             }    
  29941.         }

  29942.         return this.getControlloTrafficoRetryAfterHeader;
  29943.     }
  29944.        
  29945.     private Integer getControlloTrafficoRetryAfterHeaderRandomBackoff = null;
  29946.     public Integer getControlloTrafficoRetryAfterHeaderRandomBackoff() {    
  29947.         if(this.getControlloTrafficoRetryAfterHeaderRandomBackoff==null){
  29948.             try{
  29949.                 String name = null;
  29950.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.controlloTraffico.policyViolate.retryAfter.randomBackoff.seconds");
  29951.                 if(name!=null){
  29952.                     name = name.trim();
  29953.                     this.getControlloTrafficoRetryAfterHeaderRandomBackoff = Integer.parseInt(name);
  29954.                 }
  29955.                 else {
  29956.                     this.getControlloTrafficoRetryAfterHeaderRandomBackoff = 0;
  29957.                 }
  29958.             } catch(java.lang.Exception e) {
  29959.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.controlloTraffico.policyViolate.retryAfter.randomBackoff.seconds': "+e.getMessage(),e);
  29960.                 this.getControlloTrafficoRetryAfterHeaderRandomBackoff = 0;
  29961.             }    
  29962.         }

  29963.         return this.getControlloTrafficoRetryAfterHeaderRandomBackoff;
  29964.     }
  29965.    
  29966.    
  29967.    
  29968.     /* ------------- Allarmi ---------------------*/
  29969.    
  29970.     private Boolean isAllarmiEnabled = null;
  29971.     public boolean isAllarmiEnabled() {
  29972.         if(this.isAllarmiEnabled==null){
  29973.             try{
  29974.                 if(CostantiConfigurazione.CONFIGURAZIONE_XML.equalsIgnoreCase(getTipoConfigurazionePDD())){
  29975.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.allarmi.enabled' ignorata. La segnalazione degli allarmi è disabilitata sulla configurazione xml");
  29976.                     this.isAllarmiEnabled = false;
  29977.                 }
  29978.                 else {
  29979.                     String name = null;
  29980.                     name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.allarmi.enabled");
  29981.                     if(name==null){
  29982.                         this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.allarmi.enabled' non impostata, viene utilizzato il default=false");
  29983.                         name="false";
  29984.                     }
  29985.                     name = name.trim();
  29986.                     this.isAllarmiEnabled = Boolean.parseBoolean(name);
  29987.                 }
  29988.             } catch(java.lang.Exception e) {
  29989.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.allarmi.enabled', viene utilizzato il default=false : "+e.getMessage(),e);
  29990.                 this.isAllarmiEnabled = true;
  29991.             }    
  29992.         }

  29993.         return this.isAllarmiEnabled;
  29994.     }
  29995.    
  29996.     private Boolean isAllarmiDebug = null;
  29997.     public boolean isAllarmiDebug() {  
  29998.         if(this.isAllarmiDebug==null){
  29999.             try{
  30000.                 String name = null;
  30001.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.allarmi.debug");
  30002.                 if(name==null){
  30003.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.allarmi.debug' non impostata, viene utilizzato il default=true");
  30004.                     name="true";
  30005.                 }
  30006.                 name = name.trim();
  30007.                 this.isAllarmiDebug = Boolean.parseBoolean(name);
  30008.             } catch(java.lang.Exception e) {
  30009.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.allarmi.debug', viene utilizzato il default=true : "+e.getMessage(),e);
  30010.                 this.isAllarmiDebug = true;
  30011.             }    
  30012.         }

  30013.         return this.isAllarmiDebug;
  30014.     }
  30015.    
  30016.    
  30017.    
  30018.    
  30019.     /* ------------- Service Unavailable ---------------------*/
  30020.    
  30021.     private Integer getServiceUnavailableRetryAfterSecondsPD = null;
  30022.     public Integer getServiceUnavailableRetryAfterSecondsPD() {
  30023.         if(this.getServiceUnavailableRetryAfterSecondsPD==null){
  30024.             try{
  30025.                 String name = null;
  30026.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.seconds");
  30027.                 if(name!=null){
  30028.                     name = name.trim();
  30029.                     this.getServiceUnavailableRetryAfterSecondsPD = Integer.parseInt(name);
  30030.                 }
  30031.                 else {
  30032.                     throw new CoreException(PROPRIETA_NON_DEFINITA);
  30033.                 }
  30034.             } catch(java.lang.Exception e) {
  30035.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.seconds', default:60 : "+e.getMessage(),e);
  30036.                 this.getServiceUnavailableRetryAfterSecondsPD = 60;
  30037.             }    
  30038.         }

  30039.         return this.getServiceUnavailableRetryAfterSecondsPD;
  30040.     }
  30041.    
  30042.     private Integer getServiceUnavailableRetryAfterSecondsRandomBackoffPD = null;
  30043.     public Integer getServiceUnavailableRetryAfterSecondsRandomBackoffPD() {    
  30044.         if(this.getServiceUnavailableRetryAfterSecondsRandomBackoffPD==null){
  30045.             try{
  30046.                 String name = null;
  30047.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.randomBackoff.seconds");
  30048.                 if(name!=null){
  30049.                     name = name.trim();
  30050.                     this.getServiceUnavailableRetryAfterSecondsRandomBackoffPD = Integer.parseInt(name);
  30051.                 }
  30052.                 else {
  30053.                     this.getServiceUnavailableRetryAfterSecondsRandomBackoffPD = 0;
  30054.                 }
  30055.             } catch(java.lang.Exception e) {
  30056.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.randomBackoff.seconds': "+e.getMessage(),e);
  30057.                 this.getServiceUnavailableRetryAfterSecondsRandomBackoffPD = 0;
  30058.             }    
  30059.         }

  30060.         return this.getServiceUnavailableRetryAfterSecondsRandomBackoffPD;
  30061.     }
  30062.    
  30063.     private Integer getServiceUnavailableRetryAfterSecondsPA = null;
  30064.     public Integer getServiceUnavailableRetryAfterSecondsPA() {
  30065.         if(this.getServiceUnavailableRetryAfterSecondsPA==null){
  30066.             try{
  30067.                 String name = null;
  30068.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.seconds");
  30069.                 if(name!=null){
  30070.                     name = name.trim();
  30071.                     this.getServiceUnavailableRetryAfterSecondsPA = Integer.parseInt(name);
  30072.                 }
  30073.                 else {
  30074.                     throw new CoreException(PROPRIETA_NON_DEFINITA);
  30075.                 }
  30076.             } catch(java.lang.Exception e) {
  30077.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.seconds', default:60 : "+e.getMessage(),e);
  30078.                 this.getServiceUnavailableRetryAfterSecondsPA = 60;
  30079.             }    
  30080.         }

  30081.         return this.getServiceUnavailableRetryAfterSecondsPA;
  30082.     }
  30083.    
  30084.     private Integer getServiceUnavailableRetryAfterSecondsRandomBackoffPA = null;
  30085.     public Integer getServiceUnavailableRetryAfterSecondsRandomBackoffPA() {    
  30086.         if(this.getServiceUnavailableRetryAfterSecondsRandomBackoffPA==null){
  30087.             try{
  30088.                 String name = null;
  30089.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.randomBackoff.seconds");
  30090.                 if(name!=null){
  30091.                     name = name.trim();
  30092.                     this.getServiceUnavailableRetryAfterSecondsRandomBackoffPA = Integer.parseInt(name);
  30093.                 }
  30094.                 else {
  30095.                     this.getServiceUnavailableRetryAfterSecondsRandomBackoffPA = 0;
  30096.                 }
  30097.             } catch(java.lang.Exception e) {
  30098.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.randomBackoff.seconds': "+e.getMessage(),e);
  30099.                 this.getServiceUnavailableRetryAfterSecondsRandomBackoffPA = 0;
  30100.             }    
  30101.         }

  30102.         return this.getServiceUnavailableRetryAfterSecondsRandomBackoffPA;
  30103.     }
  30104.    
  30105.    
  30106.    
  30107.     private Boolean isEnabledServiceUnavailableRetryAfterPDSuspend = null;
  30108.     public boolean isEnabledServiceUnavailableRetryAfterPDSuspend() {  
  30109.         if(this.isEnabledServiceUnavailableRetryAfterPDSuspend==null){
  30110.             try{
  30111.                 String name = null;
  30112.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.suspend.enabled");
  30113.                 if(name==null){
  30114.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.suspend.enabled' non impostata, viene utilizzato il default=true");
  30115.                     name="true";
  30116.                 }
  30117.                 name = name.trim();
  30118.                 this.isEnabledServiceUnavailableRetryAfterPDSuspend = Boolean.parseBoolean(name);
  30119.             } catch(java.lang.Exception e) {
  30120.                 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);
  30121.                 this.isEnabledServiceUnavailableRetryAfterPDSuspend = true;
  30122.             }    
  30123.         }

  30124.         return this.isEnabledServiceUnavailableRetryAfterPDSuspend;
  30125.     }
  30126.    
  30127.     private Integer getServiceUnavailableRetryAfterSecondsPDSuspend = null;
  30128.     public Integer getServiceUnavailableRetryAfterSecondsPDSuspend() {  
  30129.         if(this.getServiceUnavailableRetryAfterSecondsPDSuspend==null){
  30130.             try{
  30131.                 String name = null;
  30132.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.suspend.seconds");
  30133.                 if(name!=null){
  30134.                     name = name.trim();
  30135.                     this.getServiceUnavailableRetryAfterSecondsPDSuspend = Integer.parseInt(name);
  30136.                 }
  30137.                 else {
  30138.                     throw new CoreException(PROPRIETA_NON_DEFINITA);
  30139.                 }
  30140.             } catch(java.lang.Exception e) {
  30141.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.suspend.seconds', default:60 : "+e.getMessage(),e);
  30142.                 this.getServiceUnavailableRetryAfterSecondsPDSuspend = 60;
  30143.             }    
  30144.         }

  30145.         return this.getServiceUnavailableRetryAfterSecondsPDSuspend;
  30146.     }
  30147.    
  30148.     private Integer getServiceUnavailableRetryAfterSecondsRandomBackoffPDSuspend = null;
  30149.     public Integer getServiceUnavailableRetryAfterSecondsRandomBackoffPDSuspend() {
  30150.         if(this.getServiceUnavailableRetryAfterSecondsRandomBackoffPDSuspend==null){
  30151.             try{
  30152.                 String name = null;
  30153.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.suspend.randomBackoff.seconds");
  30154.                 if(name!=null){
  30155.                     name = name.trim();
  30156.                     this.getServiceUnavailableRetryAfterSecondsRandomBackoffPDSuspend = Integer.parseInt(name);
  30157.                 }
  30158.                 else {
  30159.                     this.getServiceUnavailableRetryAfterSecondsRandomBackoffPDSuspend = 0;
  30160.                 }
  30161.             } catch(java.lang.Exception e) {
  30162.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.suspend.randomBackoff.seconds': "+e.getMessage(),e);
  30163.                 this.getServiceUnavailableRetryAfterSecondsRandomBackoffPDSuspend = 0;
  30164.             }    
  30165.         }

  30166.         return this.getServiceUnavailableRetryAfterSecondsRandomBackoffPDSuspend;
  30167.     }
  30168.    
  30169.     private Boolean isEnabledServiceUnavailableRetryAfterPASuspend = null;
  30170.     public boolean isEnabledServiceUnavailableRetryAfterPASuspend() {  
  30171.         if(this.isEnabledServiceUnavailableRetryAfterPASuspend==null){
  30172.             try{
  30173.                 String name = null;
  30174.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.suspend.enabled");
  30175.                 if(name==null){
  30176.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.suspend.enabled' non impostata, viene utilizzato il default=true");
  30177.                     name="true";
  30178.                 }
  30179.                 name = name.trim();
  30180.                 this.isEnabledServiceUnavailableRetryAfterPASuspend = Boolean.parseBoolean(name);
  30181.             } catch(java.lang.Exception e) {
  30182.                 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);
  30183.                 this.isEnabledServiceUnavailableRetryAfterPASuspend = true;
  30184.             }    
  30185.         }

  30186.         return this.isEnabledServiceUnavailableRetryAfterPASuspend;
  30187.     }
  30188.    
  30189.     private Integer getServiceUnavailableRetryAfterSecondsPASuspend = null;
  30190.     public Integer getServiceUnavailableRetryAfterSecondsPASuspend() {  
  30191.         if(this.getServiceUnavailableRetryAfterSecondsPASuspend==null){
  30192.             try{
  30193.                 String name = null;
  30194.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.suspend.seconds");
  30195.                 if(name!=null){
  30196.                     name = name.trim();
  30197.                     this.getServiceUnavailableRetryAfterSecondsPASuspend = Integer.parseInt(name);
  30198.                 }
  30199.                 else {
  30200.                     throw new CoreException(PROPRIETA_NON_DEFINITA);
  30201.                 }
  30202.             } catch(java.lang.Exception e) {
  30203.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.suspend.seconds', default:60 : "+e.getMessage(),e);
  30204.                 this.getServiceUnavailableRetryAfterSecondsPASuspend = 60;
  30205.             }    
  30206.         }

  30207.         return this.getServiceUnavailableRetryAfterSecondsPASuspend;
  30208.     }
  30209.    
  30210.     private Integer getServiceUnavailableRetryAfterSecondsRandomBackoffPASuspend = null;
  30211.     public Integer getServiceUnavailableRetryAfterSecondsRandomBackoffPASuspend() {
  30212.         if(this.getServiceUnavailableRetryAfterSecondsRandomBackoffPASuspend==null){
  30213.             try{
  30214.                 String name = null;
  30215.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.suspend.randomBackoff.seconds");
  30216.                 if(name!=null){
  30217.                     name = name.trim();
  30218.                     this.getServiceUnavailableRetryAfterSecondsRandomBackoffPASuspend = Integer.parseInt(name);
  30219.                 }
  30220.                 else {
  30221.                     this.getServiceUnavailableRetryAfterSecondsRandomBackoffPASuspend = 0;
  30222.                 }
  30223.             } catch(java.lang.Exception e) {
  30224.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.suspend.randomBackoff.seconds': "+e.getMessage(),e);
  30225.                 this.getServiceUnavailableRetryAfterSecondsRandomBackoffPASuspend = 0;
  30226.             }    
  30227.         }

  30228.         return this.getServiceUnavailableRetryAfterSecondsRandomBackoffPASuspend;
  30229.     }
  30230.    
  30231.     private Boolean isEnabledServiceUnavailableRetryAfterPDConnectionFailed = null;
  30232.     public boolean isEnabledServiceUnavailableRetryAfterPDConnectionFailed() {  
  30233.         if(this.isEnabledServiceUnavailableRetryAfterPDConnectionFailed==null){
  30234.             try{
  30235.                 String name = null;
  30236.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.connectionFailed.enabled");
  30237.                 if(name==null){
  30238.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.connectionFailed.enabled' non impostata, viene utilizzato il default=true");
  30239.                     name="true";
  30240.                 }
  30241.                 name = name.trim();
  30242.                 this.isEnabledServiceUnavailableRetryAfterPDConnectionFailed = Boolean.parseBoolean(name);
  30243.             } catch(java.lang.Exception e) {
  30244.                 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);
  30245.                 this.isEnabledServiceUnavailableRetryAfterPDConnectionFailed = true;
  30246.             }    
  30247.         }

  30248.         return this.isEnabledServiceUnavailableRetryAfterPDConnectionFailed;
  30249.     }
  30250.    
  30251.     private Integer getServiceUnavailableRetryAfterSecondsPDConnectionFailed = null;
  30252.     public Integer getServiceUnavailableRetryAfterSecondsPDConnectionFailed() {
  30253.         if(this.getServiceUnavailableRetryAfterSecondsPDConnectionFailed==null){
  30254.             try{
  30255.                 String name = null;
  30256.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.connectionFailed.seconds");
  30257.                 if(name!=null){
  30258.                     name = name.trim();
  30259.                     this.getServiceUnavailableRetryAfterSecondsPDConnectionFailed = Integer.parseInt(name);
  30260.                 }
  30261.                 else {
  30262.                     throw new CoreException(PROPRIETA_NON_DEFINITA);
  30263.                 }
  30264.             } catch(java.lang.Exception e) {
  30265.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.connectionFailed.seconds', default:60 : "+e.getMessage(),e);
  30266.                 this.getServiceUnavailableRetryAfterSecondsPDConnectionFailed = 60;
  30267.             }    
  30268.         }

  30269.         return this.getServiceUnavailableRetryAfterSecondsPDConnectionFailed;
  30270.     }
  30271.    
  30272.     private Integer getServiceUnavailableRetryAfterSecondsRandomBackoffPDConnectionFailed = null;
  30273.     public Integer getServiceUnavailableRetryAfterSecondsRandomBackoffPDConnectionFailed() {    
  30274.         if(this.getServiceUnavailableRetryAfterSecondsRandomBackoffPDConnectionFailed==null){
  30275.             try{
  30276.                 String name = null;
  30277.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.connectionFailed.randomBackoff.seconds");
  30278.                 if(name!=null){
  30279.                     name = name.trim();
  30280.                     this.getServiceUnavailableRetryAfterSecondsRandomBackoffPDConnectionFailed = Integer.parseInt(name);
  30281.                 }
  30282.                 else {
  30283.                     this.getServiceUnavailableRetryAfterSecondsRandomBackoffPDConnectionFailed = 0;
  30284.                 }
  30285.             } catch(java.lang.Exception e) {
  30286.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pd.connectionFailed.randomBackoff.seconds': "+e.getMessage(),e);
  30287.                 this.getServiceUnavailableRetryAfterSecondsRandomBackoffPDConnectionFailed = 0;
  30288.             }    
  30289.         }

  30290.         return this.getServiceUnavailableRetryAfterSecondsRandomBackoffPDConnectionFailed;
  30291.     }
  30292.    
  30293.     private Boolean isEnabledServiceUnavailableRetryAfterPAConnectionFailed = null;
  30294.     public boolean isEnabledServiceUnavailableRetryAfterPAConnectionFailed() {  
  30295.         if(this.isEnabledServiceUnavailableRetryAfterPAConnectionFailed==null){
  30296.             try{
  30297.                 String name = null;
  30298.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.connectionFailed.enabled");
  30299.                 if(name==null){
  30300.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.connectionFailed.enabled' non impostata, viene utilizzato il default=true");
  30301.                     name="true";
  30302.                 }
  30303.                 name = name.trim();
  30304.                 this.isEnabledServiceUnavailableRetryAfterPAConnectionFailed = Boolean.parseBoolean(name);
  30305.             } catch(java.lang.Exception e) {
  30306.                 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);
  30307.                 this.isEnabledServiceUnavailableRetryAfterPAConnectionFailed = true;
  30308.             }    
  30309.         }

  30310.         return this.isEnabledServiceUnavailableRetryAfterPAConnectionFailed;
  30311.     }
  30312.    
  30313.     private Integer getServiceUnavailableRetryAfterSecondsPAConnectionFailed = null;
  30314.     public Integer getServiceUnavailableRetryAfterSecondsPAConnectionFailed() {
  30315.         if(this.getServiceUnavailableRetryAfterSecondsPAConnectionFailed==null){
  30316.             try{
  30317.                 String name = null;
  30318.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.connectionFailed.seconds");
  30319.                 if(name!=null){
  30320.                     name = name.trim();
  30321.                     this.getServiceUnavailableRetryAfterSecondsPAConnectionFailed = Integer.parseInt(name);
  30322.                 }
  30323.                 else {
  30324.                     throw new CoreException(PROPRIETA_NON_DEFINITA);
  30325.                 }
  30326.             } catch(java.lang.Exception e) {
  30327.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.connectionFailed.seconds', default:60 : "+e.getMessage(),e);
  30328.                 this.getServiceUnavailableRetryAfterSecondsPAConnectionFailed = 60;
  30329.             }    
  30330.         }

  30331.         return this.getServiceUnavailableRetryAfterSecondsPAConnectionFailed;
  30332.     }
  30333.    
  30334.     private Integer getServiceUnavailableRetryAfterSecondsRandomBackoffPAConnectionFailed = null;
  30335.     public Integer getServiceUnavailableRetryAfterSecondsRandomBackoffPAConnectionFailed() {    
  30336.         if(this.getServiceUnavailableRetryAfterSecondsRandomBackoffPAConnectionFailed==null){
  30337.             try{
  30338.                 String name = null;
  30339.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.connectionFailed.randomBackoff.seconds");
  30340.                 if(name!=null){
  30341.                     name = name.trim();
  30342.                     this.getServiceUnavailableRetryAfterSecondsRandomBackoffPAConnectionFailed = Integer.parseInt(name);
  30343.                 }
  30344.                 else {
  30345.                     this.getServiceUnavailableRetryAfterSecondsRandomBackoffPAConnectionFailed = 0;
  30346.                 }
  30347.             } catch(java.lang.Exception e) {
  30348.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.retryAfter.pa.connectionFailed.randomBackoff.seconds': "+e.getMessage(),e);
  30349.                 this.getServiceUnavailableRetryAfterSecondsRandomBackoffPAConnectionFailed = 0;
  30350.             }    
  30351.         }

  30352.         return this.getServiceUnavailableRetryAfterSecondsRandomBackoffPAConnectionFailed;
  30353.     }
  30354.    
  30355.    
  30356.     private List<String> isReadTimedOut = null;
  30357.     public boolean isServiceUnavailableReadTimedOut(String msg) {  
  30358.         if(this.isReadTimedOut==null){
  30359.             initServiceUnavailableReadTimedOut();
  30360.         }

  30361.         if(!this.isReadTimedOut.isEmpty()) {
  30362.             for (String s : this.isReadTimedOut) {
  30363.                 if(msg.contains(s)) {
  30364.                     return true;
  30365.                 }
  30366.             }
  30367.         }
  30368.        
  30369.         return false;
  30370.     }
  30371.     private void initServiceUnavailableReadTimedOut() {
  30372.         try{
  30373.             Properties p = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.serviceUnavailable.readTimedOut.");
  30374.             this.isReadTimedOut = new ArrayList<>();
  30375.             if(p!=null && !p.isEmpty()) {
  30376.                 Iterator<Object> it = p.values().iterator();
  30377.                 while (it.hasNext()) {
  30378.                     Object o = it.next();
  30379.                     if(o instanceof String) {
  30380.                         String s = (String) o;
  30381.                         this.isReadTimedOut.add(s);
  30382.                     }
  30383.                 }
  30384.             }
  30385.         } catch(java.lang.Exception e) {
  30386.             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.serviceUnavailable.error.': "+e.getMessage(),e);
  30387.             this.isReadTimedOut = new ArrayList<>();
  30388.         }    
  30389.     }
  30390.    
  30391.    
  30392.     /* ------------- Statistiche ---------------------*/
  30393.    
  30394.     private Boolean isStatisticheGenerazioneEnabled = null;
  30395.     public boolean isStatisticheGenerazioneEnabled() {  
  30396.         if(this.isStatisticheGenerazioneEnabled==null){
  30397.             try{
  30398.                 String name = null;
  30399.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.enabled");
  30400.                 if(name==null){
  30401.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.enabled' non impostata, viene utilizzato il default=true");
  30402.                     name="true";
  30403.                 }
  30404.                 name = name.trim();
  30405.                 this.isStatisticheGenerazioneEnabled = Boolean.parseBoolean(name);
  30406.             } catch(java.lang.Exception e) {
  30407.                 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);
  30408.                 this.isStatisticheGenerazioneEnabled = true;
  30409.             }    
  30410.         }

  30411.         return this.isStatisticheGenerazioneEnabled;
  30412.     }
  30413.    
  30414.    
  30415.     private Boolean isStatisticheUsePddRuntimeDatasource = null;
  30416.     public boolean isStatisticheUsePddRuntimeDatasource() {
  30417.         if(this.isStatisticheUsePddRuntimeDatasource==null){
  30418.             try{
  30419.                 String name = null;
  30420.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.dataSource.usePddRuntime");
  30421.                 if(name==null){
  30422.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.dataSource.usePddRuntime' non impostata, viene utilizzato il default=true");
  30423.                     name="true";
  30424.                 }
  30425.                 name = name.trim();
  30426.                 this.isStatisticheUsePddRuntimeDatasource = Boolean.parseBoolean(name);
  30427.             } catch(java.lang.Exception e) {
  30428.                 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);
  30429.                 this.isStatisticheUsePddRuntimeDatasource = false;
  30430.             }    
  30431.         }

  30432.         return this.isStatisticheUsePddRuntimeDatasource;
  30433.     }
  30434.    
  30435.     private Boolean isStatisticheUseTransazioniDatasource = null;
  30436.     public boolean isStatisticheUseTransazioniDatasource() {    
  30437.         if(this.isStatisticheUseTransazioniDatasource==null){
  30438.             try{
  30439.                 String name = null;
  30440.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.dataSource.useTransazioni");
  30441.                 if(name==null){
  30442.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.dataSource.useTransazioni' non impostata, viene utilizzato il default=true");
  30443.                     name="true";
  30444.                 }
  30445.                 name = name.trim();
  30446.                 this.isStatisticheUseTransazioniDatasource = Boolean.parseBoolean(name);
  30447.             } catch(java.lang.Exception e) {
  30448.                 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);
  30449.                 this.isStatisticheUseTransazioniDatasource = true;
  30450.             }    
  30451.         }

  30452.         return this.isStatisticheUseTransazioniDatasource;
  30453.     }
  30454.    
  30455.     private String getStatisticheDatasource = null;
  30456.     public String getStatisticheDatasource() throws CoreException {
  30457.         if(this.getStatisticheDatasource==null){
  30458.             try{
  30459.                 String name = null;
  30460.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.dataSource");
  30461.                 if(name==null){
  30462.                     throw new CoreException("Proprieta' non impostata");
  30463.                 }
  30464.                 name = name.trim();
  30465.                 this.getStatisticheDatasource = name;
  30466.             } catch(java.lang.Exception e) {
  30467.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.dataSource': "+e.getMessage(),e);
  30468.                 throw new CoreException(e.getMessage(),e);
  30469.             }    
  30470.         }

  30471.         return this.getStatisticheDatasource;
  30472.     }
  30473.    
  30474.     private Properties getStatisticheDatasourceJndiContext = null;
  30475.     public Properties getStatisticheDatasourceJndiContext() throws CoreException {  
  30476.         if(this.getStatisticheDatasourceJndiContext==null){
  30477.             try{
  30478.                 this.getStatisticheDatasourceJndiContext = this.reader.readPropertiesConvertEnvProperties("org.openspcoop2.pdd.statistiche.dataSource.property.");
  30479.             } catch(java.lang.Exception e) {
  30480.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.dataSource.property.*': "+e.getMessage(),e);
  30481.                 throw new CoreException(e.getMessage(),e);
  30482.             }    
  30483.         }

  30484.         return this.getStatisticheDatasourceJndiContext;
  30485.     }
  30486.    
  30487.     private Boolean isStatisticheDatasourceUseDBUtils = null;
  30488.     public boolean isStatisticheDatasourceUseDBUtils() {    
  30489.         if(this.isStatisticheDatasourceUseDBUtils==null){
  30490.             try{
  30491.                 String name = null;
  30492.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.datasource.useDSUtils");
  30493.                 if(name==null){
  30494.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.datasource.useDSUtils' non impostata, viene utilizzato il default=true");
  30495.                     name="true";
  30496.                 }
  30497.                 name = name.trim();
  30498.                 this.isStatisticheDatasourceUseDBUtils = Boolean.parseBoolean(name);
  30499.             } catch(java.lang.Exception e) {
  30500.                 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);
  30501.                 this.isStatisticheDatasourceUseDBUtils = true;
  30502.             }    
  30503.         }

  30504.         return this.isStatisticheDatasourceUseDBUtils;
  30505.     }

  30506.     private Boolean isStatisticheGenerazioneUseUnionForLatency = null;
  30507.     public boolean isStatisticheGenerazioneUseUnionForLatency() {  
  30508.         if(this.isStatisticheGenerazioneUseUnionForLatency==null){
  30509.             try{
  30510.                 String name = null;
  30511.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.useUnionForLatency");
  30512.                 if(name==null){
  30513.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.useUnionForLatency' non impostata, viene utilizzato il default=true");
  30514.                     name="true";
  30515.                 }
  30516.                 name = name.trim();
  30517.                 this.isStatisticheGenerazioneUseUnionForLatency = Boolean.parseBoolean(name);
  30518.             } catch(java.lang.Exception e) {
  30519.                 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);
  30520.                 this.isStatisticheGenerazioneUseUnionForLatency = true;
  30521.             }    
  30522.         }

  30523.         return this.isStatisticheGenerazioneUseUnionForLatency;
  30524.     }
  30525.    
  30526.     private Boolean isStatisticheGenerazioneCustomEnabled = null;
  30527.     public boolean isStatisticheGenerazioneCustomEnabled() {    
  30528.         if(this.isStatisticheGenerazioneCustomEnabled==null){
  30529.             try{
  30530.                 String name = null;
  30531.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.custom.enabled");
  30532.                 if(name==null){
  30533.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.custom.enabled' non impostata, viene utilizzato il default=false");
  30534.                     name="false";
  30535.                 }
  30536.                 name = name.trim();
  30537.                 this.isStatisticheGenerazioneCustomEnabled = Boolean.parseBoolean(name);
  30538.             } catch(java.lang.Exception e) {
  30539.                 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);
  30540.                 this.isStatisticheGenerazioneCustomEnabled = false;
  30541.             }    
  30542.         }

  30543.         return this.isStatisticheGenerazioneCustomEnabled;
  30544.     }
  30545.    
  30546.     private Boolean isStatisticheGenerazioneCustomSdkEnabled = null;
  30547.     public boolean isStatisticheGenerazioneCustomSdkEnabled() {
  30548.         if(this.isStatisticheGenerazioneCustomSdkEnabled==null){
  30549.             try{
  30550.                 String name = null;
  30551.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.custom.transazioniSdk.enabled");
  30552.                 if(name==null){
  30553.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.custom.transazioniSdk.enabled' non impostata, viene utilizzato il default=false");
  30554.                     name="false";
  30555.                 }
  30556.                 name = name.trim();
  30557.                 this.isStatisticheGenerazioneCustomSdkEnabled = Boolean.parseBoolean(name);
  30558.             } catch(java.lang.Exception e) {
  30559.                 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);
  30560.                 this.isStatisticheGenerazioneCustomSdkEnabled = false;
  30561.             }    
  30562.         }

  30563.         return this.isStatisticheGenerazioneCustomSdkEnabled;
  30564.     }
  30565.    
  30566.     private Boolean isStatisticheGenerazioneDebug = null;
  30567.     public boolean isStatisticheGenerazioneDebug() {    
  30568.         if(this.isStatisticheGenerazioneDebug==null){
  30569.             try{
  30570.                 String name = null;
  30571.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.debug");
  30572.                 if(name==null){
  30573.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.debug' non impostata, viene utilizzato il default=true");
  30574.                     name="true";
  30575.                 }
  30576.                 name = name.trim();
  30577.                 this.isStatisticheGenerazioneDebug = Boolean.parseBoolean(name);
  30578.             } catch(java.lang.Exception e) {
  30579.                 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);
  30580.                 this.isStatisticheGenerazioneDebug = true;
  30581.             }    
  30582.         }

  30583.         return this.isStatisticheGenerazioneDebug;
  30584.     }
  30585.    
  30586.     private Integer getStatisticheOrarieGenerazioneTimerIntervalSeconds = null;
  30587.     public int getStatisticheOrarieGenerazioneTimerIntervalSeconds() throws CoreException {
  30588.         if(this.getStatisticheOrarieGenerazioneTimerIntervalSeconds==null){
  30589.             try{
  30590.                 String name = null;
  30591.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.baseOraria.timer.intervalloSecondi");
  30592.                 if(name==null){
  30593.                     throw new CoreException("Proprieta' non impostata");
  30594.                 }
  30595.                 name = name.trim();
  30596.                 this.getStatisticheOrarieGenerazioneTimerIntervalSeconds = Integer.valueOf(name);
  30597.             } catch(java.lang.Exception e) {
  30598.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseOraria.timer.intervalloSecondi': "+e.getMessage(),e);
  30599.                 throw new CoreException(e.getMessage(),e);
  30600.             }    
  30601.         }

  30602.         return this.getStatisticheOrarieGenerazioneTimerIntervalSeconds;
  30603.     }
  30604.    
  30605.     private Integer getStatisticheGiornaliereGenerazioneTimerIntervalSeconds = null;
  30606.     public int getStatisticheGiornaliereGenerazioneTimerIntervalSeconds() throws CoreException {    
  30607.         if(this.getStatisticheGiornaliereGenerazioneTimerIntervalSeconds==null){
  30608.             try{
  30609.                 String name = null;
  30610.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.baseGiornaliera.timer.intervalloSecondi");
  30611.                 if(name==null){
  30612.                     throw new CoreException("Proprieta' non impostata");
  30613.                 }
  30614.                 name = name.trim();
  30615.                 this.getStatisticheGiornaliereGenerazioneTimerIntervalSeconds = Integer.valueOf(name);
  30616.             } catch(java.lang.Exception e) {
  30617.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseGiornaliera.timer.intervalloSecondi': "+e.getMessage(),e);
  30618.                 throw new CoreException(e.getMessage(),e);
  30619.             }    
  30620.         }

  30621.         return this.getStatisticheGiornaliereGenerazioneTimerIntervalSeconds;
  30622.     }
  30623.    
  30624.     private Integer getStatisticheSettimanaliGenerazioneTimerIntervalSeconds = null;
  30625.     public int getStatisticheSettimanaliGenerazioneTimerIntervalSeconds() throws CoreException {    
  30626.         if(this.getStatisticheSettimanaliGenerazioneTimerIntervalSeconds==null){
  30627.             try{
  30628.                 String name = null;
  30629.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.baseSettimanale.timer.intervalloSecondi");
  30630.                 if(name==null){
  30631.                     throw new CoreException("Proprieta' non impostata");
  30632.                 }
  30633.                 name = name.trim();
  30634.                 this.getStatisticheSettimanaliGenerazioneTimerIntervalSeconds = Integer.valueOf(name);
  30635.             } catch(java.lang.Exception e) {
  30636.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseSettimanale.timer.intervalloSecondi': "+e.getMessage(),e);
  30637.                 throw new CoreException(e.getMessage(),e);
  30638.             }    
  30639.         }

  30640.         return this.getStatisticheSettimanaliGenerazioneTimerIntervalSeconds;
  30641.     }
  30642.    
  30643.     private Integer getStatisticheMensiliGenerazioneTimerIntervalSeconds = null;
  30644.     public int getStatisticheMensiliGenerazioneTimerIntervalSeconds() throws CoreException {    
  30645.         if(this.getStatisticheMensiliGenerazioneTimerIntervalSeconds==null){
  30646.             try{
  30647.                 String name = null;
  30648.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.baseMensile.timer.intervalloSecondi");
  30649.                 if(name==null){
  30650.                     throw new CoreException("Proprieta' non impostata");
  30651.                 }
  30652.                 name = name.trim();
  30653.                 this.getStatisticheMensiliGenerazioneTimerIntervalSeconds = Integer.valueOf(name);
  30654.             } catch(java.lang.Exception e) {
  30655.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseMensile.timer.intervalloSecondi': "+e.getMessage(),e);
  30656.                 throw new CoreException(e.getMessage(),e);
  30657.             }    
  30658.         }

  30659.         return this.getStatisticheMensiliGenerazioneTimerIntervalSeconds;
  30660.     }
  30661.    
  30662.     private Integer getStatisticheGenerazioneTimerLockMaxLife = null;
  30663.     public int getStatisticheGenerazioneTimerLockMaxLife() {    
  30664.         if(this.getStatisticheGenerazioneTimerLockMaxLife==null){
  30665.             try{
  30666.                 String name = null;
  30667.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.timer.lock.maxLife");

  30668.                 if(name!=null){
  30669.                     name = name.trim();
  30670.                     this.getStatisticheGenerazioneTimerLockMaxLife = java.lang.Integer.parseInt(name);
  30671.                 }else{
  30672.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.timer.lock.maxLife' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_MAX_LIFE);
  30673.                     this.getStatisticheGenerazioneTimerLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  30674.                 }
  30675.             }catch(java.lang.Exception e) {
  30676.                 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);
  30677.                 this.getStatisticheGenerazioneTimerLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  30678.             }
  30679.             if(this.getStatisticheGenerazioneTimerLockMaxLife!=null && this.getStatisticheGenerazioneTimerLockMaxLife>0) {
  30680.                 // trasformo in millisecondi l'informazione fornita in secondi
  30681.                 this.getStatisticheGenerazioneTimerLockMaxLife = this.getStatisticheGenerazioneTimerLockMaxLife *1000;
  30682.             }
  30683.         }

  30684.         if(this.getStatisticheGenerazioneTimerLockMaxLife!=null) {
  30685.             return this.getStatisticheGenerazioneTimerLockMaxLife.intValue();
  30686.         }
  30687.         return -1;
  30688.     }
  30689.    
  30690.     private Integer getStatisticheGenerazioneTimerLockIdleTime = null;
  30691.     public int getStatisticheGenerazioneTimerLockIdleTime() {  
  30692.         if(this.getStatisticheGenerazioneTimerLockIdleTime==null){
  30693.             try{
  30694.                 String name = null;
  30695.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.timer.lock.idleTime");

  30696.                 if(name!=null){
  30697.                     name = name.trim();
  30698.                     this.getStatisticheGenerazioneTimerLockIdleTime = java.lang.Integer.parseInt(name);
  30699.                 }else{
  30700.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.timer.lock.idleTime' non impostata, viene utilizzato il default="+CostantiPdD.TIMER_LOCK_IDLE_TIME);
  30701.                     this.getStatisticheGenerazioneTimerLockIdleTime = CostantiPdD.TIMER_LOCK_IDLE_TIME;
  30702.                 }
  30703.             }catch(java.lang.Exception e) {
  30704.                 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);
  30705.                 this.getStatisticheGenerazioneTimerLockIdleTime = CostantiPdD.TIMER_LOCK_IDLE_TIME;
  30706.             }
  30707.             if(this.getStatisticheGenerazioneTimerLockIdleTime!=null && this.getStatisticheGenerazioneTimerLockIdleTime>0) {
  30708.                 // trasformo in millisecondi l'informazione fornita in secondi
  30709.                 this.getStatisticheGenerazioneTimerLockIdleTime = this.getStatisticheGenerazioneTimerLockIdleTime *1000;
  30710.             }
  30711.         }

  30712.         if(this.getStatisticheGenerazioneTimerLockIdleTime!=null) {
  30713.             return this.getStatisticheGenerazioneTimerLockIdleTime.intValue();
  30714.         }
  30715.         return -1;
  30716.     }
  30717.    
  30718.     private Long getStatisticheGenerazioneTimerLockAttesaAttiva = null;
  30719.     public long getStatisticheGenerazioneTimerLockAttesaAttiva() {  
  30720.         if(this.getStatisticheGenerazioneTimerLockAttesaAttiva==null){
  30721.             String pName = "org.openspcoop2.pdd.statistiche.generazione.timer.lock.attesaAttiva";
  30722.             try{
  30723.                 String name = null;
  30724.                 name = this.reader.getValueConvertEnvProperties(pName);

  30725.                 if(name!=null){
  30726.                     name = name.trim();
  30727.                     long time = java.lang.Long.parseLong(name);
  30728.                     this.getStatisticheGenerazioneTimerLockAttesaAttiva = time*1000;
  30729.                 }else{
  30730.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA);
  30731.                     this.getStatisticheGenerazioneTimerLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  30732.                 }

  30733.             }catch(java.lang.Exception e) {
  30734.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA+", errore:"+e.getMessage(),e);
  30735.                 this.getStatisticheGenerazioneTimerLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  30736.             }    
  30737.         }

  30738.         return this.getStatisticheGenerazioneTimerLockAttesaAttiva;
  30739.     }

  30740.     private Integer getStatisticheGenerazioneTimerLockCheckInterval = null;
  30741.     public int getStatisticheGenerazioneTimerLockCheckInterval() {  
  30742.         if(this.getStatisticheGenerazioneTimerLockCheckInterval==null){
  30743.             String pName = "org.openspcoop2.pdd.statistiche.generazione.timer.lock.check";
  30744.             try{
  30745.                 String name = null;
  30746.                 name = this.reader.getValueConvertEnvProperties(pName);

  30747.                 if(name!=null){
  30748.                     name = name.trim();
  30749.                     int time = java.lang.Integer.parseInt(name);
  30750.                     this.getStatisticheGenerazioneTimerLockCheckInterval = time;
  30751.                 }else{
  30752.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL);
  30753.                     this.getStatisticheGenerazioneTimerLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  30754.                 }
  30755.             }catch(java.lang.Exception e) {
  30756.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL+", errore:"+e.getMessage(),e);
  30757.                 this.getStatisticheGenerazioneTimerLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  30758.             }  
  30759.         }

  30760.         return this.getStatisticheGenerazioneTimerLockCheckInterval;
  30761.     }
  30762.    
  30763.     private Boolean isStatisticheGenerazioneBaseOrariaEnabled = null;
  30764.     public boolean isStatisticheGenerazioneBaseOrariaEnabled() {    
  30765.         if(this.isStatisticheGenerazioneBaseOrariaEnabled==null){
  30766.             try{
  30767.                 String name = null;
  30768.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.baseOraria.enabled");
  30769.                 if(name==null){
  30770.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseOraria.enabled' non impostata, viene utilizzato il default=true");
  30771.                     name="true";
  30772.                 }
  30773.                 name = name.trim();
  30774.                 this.isStatisticheGenerazioneBaseOrariaEnabled = Boolean.parseBoolean(name);
  30775.             } catch(java.lang.Exception e) {
  30776.                 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);
  30777.                 this.isStatisticheGenerazioneBaseOrariaEnabled = true;
  30778.             }    
  30779.         }

  30780.         return this.isStatisticheGenerazioneBaseOrariaEnabled;
  30781.     }
  30782.    
  30783.     private Boolean isStatisticheGenerazioneBaseGiornalieraEnabled = null;
  30784.     public boolean isStatisticheGenerazioneBaseGiornalieraEnabled() {  
  30785.         if(this.isStatisticheGenerazioneBaseGiornalieraEnabled==null){
  30786.             try{
  30787.                 String name = null;
  30788.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.baseGiornaliera.enabled");
  30789.                 if(name==null){
  30790.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseGiornaliera.enabled' non impostata, viene utilizzato il default=true");
  30791.                     name="true";
  30792.                 }
  30793.                 name = name.trim();
  30794.                 this.isStatisticheGenerazioneBaseGiornalieraEnabled = Boolean.parseBoolean(name);
  30795.             } catch(java.lang.Exception e) {
  30796.                 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);
  30797.                 this.isStatisticheGenerazioneBaseGiornalieraEnabled = true;
  30798.             }    
  30799.         }

  30800.         return this.isStatisticheGenerazioneBaseGiornalieraEnabled;
  30801.     }
  30802.    
  30803.     private Boolean isStatisticheGenerazioneBaseSettimanaleEnabled = null;
  30804.     public boolean isStatisticheGenerazioneBaseSettimanaleEnabled() {  
  30805.         if(this.isStatisticheGenerazioneBaseSettimanaleEnabled==null){
  30806.             try{
  30807.                 String name = null;
  30808.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.baseSettimanale.enabled");
  30809.                 if(name==null){
  30810.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseSettimanale.enabled' non impostata, viene utilizzato il default=true");
  30811.                     name="true";
  30812.                 }
  30813.                 name = name.trim();
  30814.                 this.isStatisticheGenerazioneBaseSettimanaleEnabled = Boolean.parseBoolean(name);
  30815.             } catch(java.lang.Exception e) {
  30816.                 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);
  30817.                 this.isStatisticheGenerazioneBaseSettimanaleEnabled = true;
  30818.             }    
  30819.         }

  30820.         return this.isStatisticheGenerazioneBaseSettimanaleEnabled;
  30821.     }
  30822.    
  30823.     private Boolean isStatisticheGenerazioneBaseMensileEnabled = null;
  30824.     public boolean isStatisticheGenerazioneBaseMensileEnabled() {  
  30825.         if(this.isStatisticheGenerazioneBaseMensileEnabled==null){
  30826.             try{
  30827.                 String name = null;
  30828.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.baseMensile.enabled");
  30829.                 if(name==null){
  30830.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseMensile.enabled' non impostata, viene utilizzato il default=true");
  30831.                     name="true";
  30832.                 }
  30833.                 name = name.trim();
  30834.                 this.isStatisticheGenerazioneBaseMensileEnabled = Boolean.parseBoolean(name);
  30835.             } catch(java.lang.Exception e) {
  30836.                 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);
  30837.                 this.isStatisticheGenerazioneBaseMensileEnabled = true;
  30838.             }    
  30839.         }

  30840.         return this.isStatisticheGenerazioneBaseMensileEnabled;
  30841.     }
  30842.    
  30843.    
  30844.     private Boolean isStatisticheGenerazioneBaseOrariaEnabledUltimaOra = null;
  30845.     public boolean isStatisticheGenerazioneBaseOrariaEnabledUltimaOra() {  
  30846.         if(this.isStatisticheGenerazioneBaseOrariaEnabledUltimaOra==null){
  30847.             try{
  30848.                 String name = null;
  30849.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.baseOraria.gestioneUltimaOra");
  30850.                 if(name==null){
  30851.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseOraria.gestioneUltimaOra' non impostata, viene utilizzato il default=true");
  30852.                     name="true";
  30853.                 }
  30854.                 name = name.trim();
  30855.                 this.isStatisticheGenerazioneBaseOrariaEnabledUltimaOra = Boolean.parseBoolean(name);
  30856.             } catch(java.lang.Exception e) {
  30857.                 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);
  30858.                 this.isStatisticheGenerazioneBaseOrariaEnabledUltimaOra = true;
  30859.             }    
  30860.         }

  30861.         return this.isStatisticheGenerazioneBaseOrariaEnabledUltimaOra;
  30862.     }
  30863.    
  30864.     private Boolean isStatisticheGenerazioneBaseGiornalieraEnabledUltimoGiorno = null;
  30865.     public boolean isStatisticheGenerazioneBaseGiornalieraEnabledUltimoGiorno() {  
  30866.         if(this.isStatisticheGenerazioneBaseGiornalieraEnabledUltimoGiorno==null){
  30867.             try{
  30868.                 String name = null;
  30869.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.baseGiornaliera.gestioneUltimoGiorno");
  30870.                 if(name==null){
  30871.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseGiornaliera.gestioneUltimoGiorno' non impostata, viene utilizzato il default=true");
  30872.                     name="true";
  30873.                 }
  30874.                 name = name.trim();
  30875.                 this.isStatisticheGenerazioneBaseGiornalieraEnabledUltimoGiorno = Boolean.parseBoolean(name);
  30876.             } catch(java.lang.Exception e) {
  30877.                 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);
  30878.                 this.isStatisticheGenerazioneBaseGiornalieraEnabledUltimoGiorno = true;
  30879.             }    
  30880.         }

  30881.         return this.isStatisticheGenerazioneBaseGiornalieraEnabledUltimoGiorno;
  30882.     }
  30883.    
  30884.     private Boolean isStatisticheGenerazioneBaseSettimanaleEnabledUltimaSettimana = null;
  30885.     public boolean isStatisticheGenerazioneBaseSettimanaleEnabledUltimaSettimana() {    
  30886.         if(this.isStatisticheGenerazioneBaseSettimanaleEnabledUltimaSettimana==null){
  30887.             try{
  30888.                 String name = null;
  30889.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.baseSettimanale.gestioneUltimaSettimana");
  30890.                 if(name==null){
  30891.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseSettimanale.gestioneUltimaSettimana' non impostata, viene utilizzato il default=true");
  30892.                     name="true";
  30893.                 }
  30894.                 name = name.trim();
  30895.                 this.isStatisticheGenerazioneBaseSettimanaleEnabledUltimaSettimana = Boolean.parseBoolean(name);
  30896.             } catch(java.lang.Exception e) {
  30897.                 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);
  30898.                 this.isStatisticheGenerazioneBaseSettimanaleEnabledUltimaSettimana = true;
  30899.             }    
  30900.         }

  30901.         return this.isStatisticheGenerazioneBaseSettimanaleEnabledUltimaSettimana;
  30902.     }
  30903.    
  30904.     private Boolean isStatisticheGenerazioneBaseMensileEnabledUltimoMese = null;
  30905.     public boolean isStatisticheGenerazioneBaseMensileEnabledUltimoMese() {
  30906.         if(this.isStatisticheGenerazioneBaseMensileEnabledUltimoMese==null){
  30907.             try{
  30908.                 String name = null;
  30909.                 name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.baseMensile.gestioneUltimoMese");
  30910.                 if(name==null){
  30911.                     this.logWarn("Proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.baseMensile.gestioneUltimoMese' non impostata, viene utilizzato il default=true");
  30912.                     name="true";
  30913.                 }
  30914.                 name = name.trim();
  30915.                 this.isStatisticheGenerazioneBaseMensileEnabledUltimoMese = Boolean.parseBoolean(name);
  30916.             } catch(java.lang.Exception e) {
  30917.                 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);
  30918.                 this.isStatisticheGenerazioneBaseMensileEnabledUltimoMese = true;
  30919.             }    
  30920.         }

  30921.         return this.isStatisticheGenerazioneBaseMensileEnabledUltimoMese;
  30922.     }
  30923.    
  30924.     private Boolean isStatisticheGenerazioneAttendiCompletamentoTransazioniInFasiIntermedie = null;
  30925.     public boolean isStatisticheGenerazioneAttendiCompletamentoTransazioniInFasiIntermedie() {  
  30926.         if(this.isStatisticheGenerazioneAttendiCompletamentoTransazioniInFasiIntermedie==null){
  30927.             String pName = "org.openspcoop2.pdd.statistiche.generazione.attendiCompletamentoTransazioniInFasiIntermedie";
  30928.             try{
  30929.                 String name = null;
  30930.                 name = this.reader.getValueConvertEnvProperties(pName);
  30931.                 if(name==null){
  30932.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostata, viene utilizzato il default=true");
  30933.                     name="true";
  30934.                 }
  30935.                 name = name.trim();
  30936.                 this.isStatisticheGenerazioneAttendiCompletamentoTransazioniInFasiIntermedie = Boolean.parseBoolean(name);
  30937.             } catch(java.lang.Exception e) {
  30938.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  30939.                 this.isStatisticheGenerazioneAttendiCompletamentoTransazioniInFasiIntermedie = true;
  30940.             }    
  30941.         }

  30942.         return this.isStatisticheGenerazioneAttendiCompletamentoTransazioniInFasiIntermedie;
  30943.     }
  30944.    
  30945.     private Long getStatisticheGenerazioneTradeOffMs = null;
  30946.     public long getStatisticheGenerazioneTradeOffMs() {
  30947.         if(this.getStatisticheGenerazioneTradeOffMs==null){
  30948.             String pName = "org.openspcoop2.pdd.statistiche.generazione.tradeOffSeconds";
  30949.             try{
  30950.                 String name = null;
  30951.                 name = this.reader.getValueConvertEnvProperties(pName);
  30952.                 if(name==null){
  30953.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostata");
  30954.                     name="-1";
  30955.                 }
  30956.                 name = name.trim();
  30957.                 this.getStatisticheGenerazioneTradeOffMs = Long.parseLong(name);
  30958.                 if(this.getStatisticheGenerazioneTradeOffMs>0) {
  30959.                     this.getStatisticheGenerazioneTradeOffMs = this.getStatisticheGenerazioneTradeOffMs * 1000l; // traduco in ms
  30960.                 }
  30961.             } catch(java.lang.Exception e) {
  30962.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=300 : "+e.getMessage(),e);
  30963.                 this.getStatisticheGenerazioneTradeOffMs = 300l * 1000l;  // traduco in ms
  30964.             }    
  30965.         }

  30966.         return this.getStatisticheGenerazioneTradeOffMs;
  30967.     }

  30968.     // NOTA: DEVE ESSERE RILETTO TUTTE LE VOLTE CHE VIENE CHIAMATO!!!!!!!
  30969.     public StatisticsForceIndexConfig getStatisticheGenerazioneExternalForceIndexRepository() throws CoreException {    
  30970.         try{
  30971.             String name = null;
  30972.             name = this.reader.getValueConvertEnvProperties("org.openspcoop2.pdd.statistiche.generazione.forceIndex.repository");
  30973.             if(name!=null){
  30974.                 name = name.trim();
  30975.                 return readStatisticsForceIndexConfig(name);
  30976.             }
  30977.            
  30978.             return null;
  30979.            
  30980.         } catch(java.lang.Exception e) {
  30981.             this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop 'org.openspcoop2.pdd.statistiche.generazione.forceIndex.repository': "+e.getMessage(),e);
  30982.             throw new CoreException(e.getMessage(),e);
  30983.         }    
  30984.        
  30985.     }
  30986.     private StatisticsForceIndexConfig readStatisticsForceIndexConfig(String name) throws CoreException, IOException {
  30987.         File f = new File(name);
  30988.         if(f.exists()) {
  30989.             if(f.isDirectory()) {
  30990.                 throw newCoreExceptionNotFile(f,false);
  30991.             }
  30992.             if(!f.canRead()) {
  30993.                 throw newCoreExceptionCannotRead(f, false);
  30994.             }
  30995.         }
  30996.         else {
  30997.             // provo a cercarlo nel classpath
  30998.         }
  30999.         try (InputStream is = f.exists() ? new FileInputStream(f) : OpenSPCoop2Properties.class.getResourceAsStream(name);){
  31000.             if(is!=null) {
  31001.                 Properties p = new Properties();
  31002.                 p.load(is);
  31003.                 return new StatisticsForceIndexConfig(p);
  31004.             }
  31005.         }
  31006.         return null;
  31007.     }
  31008.    
  31009.    
  31010.    
  31011.    
  31012.    
  31013.    
  31014.     /* ------------- Gestore Chiavi PDND ---------------------*/
  31015.    
  31016.     private Boolean isGestoreChiaviPDNDEnabled = null;
  31017.     public boolean isGestoreChiaviPDNDEnabled() {  
  31018.         if(this.isGestoreChiaviPDNDEnabled==null){
  31019.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.enabled";
  31020.             try{
  31021.                 String name = null;
  31022.                 name = this.reader.getValueConvertEnvProperties(pName);
  31023.                 if(name==null){
  31024.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
  31025.                     name="false";
  31026.                 }
  31027.                 name = name.trim();
  31028.                 this.isGestoreChiaviPDNDEnabled = Boolean.parseBoolean(name);
  31029.             } catch(java.lang.Exception e) {
  31030.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=false : "+e.getMessage(),e);
  31031.                 this.isGestoreChiaviPDNDEnabled = false;
  31032.             }    
  31033.         }

  31034.         return this.isGestoreChiaviPDNDEnabled;
  31035.     }
  31036.    
  31037.     private Boolean isGestoreChiaviPDNDDebug = null;
  31038.     public boolean isGestoreChiaviPDNDDebug() {
  31039.         if(this.isGestoreChiaviPDNDDebug==null){
  31040.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.debug";
  31041.             try{
  31042.                 String name = null;
  31043.                 name = this.reader.getValueConvertEnvProperties(pName);
  31044.                 if(name==null){
  31045.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  31046.                     name="true";
  31047.                 }
  31048.                 name = name.trim();
  31049.                 this.isGestoreChiaviPDNDDebug = Boolean.parseBoolean(name);
  31050.             } catch(java.lang.Exception e) {
  31051.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  31052.                 this.isGestoreChiaviPDNDDebug = true;
  31053.             }    
  31054.         }

  31055.         return this.isGestoreChiaviPDNDDebug;
  31056.     }
  31057.    
  31058.     private Boolean isGestoreChiaviPDNDEventiAdd = null;
  31059.     public boolean isGestoreChiaviPDNDEventiAdd() {
  31060.         if(this.isGestoreChiaviPDNDEventiAdd==null){
  31061.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.eventi.add";
  31062.             try{
  31063.                 String name = null;
  31064.                 name = this.reader.getValueConvertEnvProperties(pName);
  31065.                 if(name==null){
  31066.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  31067.                     name="true";
  31068.                 }
  31069.                 name = name.trim();
  31070.                 this.isGestoreChiaviPDNDEventiAdd = Boolean.parseBoolean(name);
  31071.             } catch(java.lang.Exception e) {
  31072.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  31073.                 this.isGestoreChiaviPDNDEventiAdd = true;
  31074.             }    
  31075.         }

  31076.         return this.isGestoreChiaviPDNDEventiAdd;
  31077.     }
  31078.    
  31079.     private Boolean isGestoreChiaviPDNDEventiUpdate = null;
  31080.     public boolean isGestoreChiaviPDNDEventiUpdate() {  
  31081.         if(this.isGestoreChiaviPDNDEventiUpdate==null){
  31082.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.eventi.update";
  31083.             try{
  31084.                 String name = null;
  31085.                 name = this.reader.getValueConvertEnvProperties(pName);
  31086.                 if(name==null){
  31087.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  31088.                     name="true";
  31089.                 }
  31090.                 name = name.trim();
  31091.                 this.isGestoreChiaviPDNDEventiUpdate = Boolean.parseBoolean(name);
  31092.             } catch(java.lang.Exception e) {
  31093.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  31094.                 this.isGestoreChiaviPDNDEventiUpdate = true;
  31095.             }    
  31096.         }

  31097.         return this.isGestoreChiaviPDNDEventiUpdate;
  31098.     }
  31099.    
  31100.     private Boolean isGestoreChiaviPDNDEventiDelete = null;
  31101.     public boolean isGestoreChiaviPDNDEventiDelete() {  
  31102.         if(this.isGestoreChiaviPDNDEventiDelete==null){
  31103.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.eventi.delete";
  31104.             try{
  31105.                 String name = null;
  31106.                 name = this.reader.getValueConvertEnvProperties(pName);
  31107.                 if(name==null){
  31108.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  31109.                     name="true";
  31110.                 }
  31111.                 name = name.trim();
  31112.                 this.isGestoreChiaviPDNDEventiDelete = Boolean.parseBoolean(name);
  31113.             } catch(java.lang.Exception e) {
  31114.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default=true : "+e.getMessage(),e);
  31115.                 this.isGestoreChiaviPDNDEventiDelete = true;
  31116.             }    
  31117.         }

  31118.         return this.isGestoreChiaviPDNDEventiDelete;
  31119.     }
  31120.    
  31121.     private List<String> getGestoreChiaviPDNDRemoteStoreName = null;
  31122.     public List<String> getGestoreChiaviPDNDRemoteStoreName() throws CoreException {    
  31123.         if(this.getGestoreChiaviPDNDRemoteStoreName==null){
  31124.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.remoteStore.name";
  31125.             try{
  31126.                 String name = null;
  31127.                 name = this.reader.getValueConvertEnvProperties(pName);
  31128.                 if(name==null){
  31129.                     throw new CoreException("Proprieta' non impostata");
  31130.                 }
  31131.                 name = name.trim();
  31132.                 this.getGestoreChiaviPDNDRemoteStoreName = new ArrayList<>();
  31133.                
  31134.                 initSplitValues(this.getGestoreChiaviPDNDRemoteStoreName, name, false);
  31135.                
  31136.             } catch(java.lang.Exception e) {
  31137.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31138.                 throw new CoreException(e.getMessage(),e);
  31139.             }    
  31140.         }

  31141.         return this.getGestoreChiaviPDNDRemoteStoreName;
  31142.     }
  31143.    
  31144.     private Boolean isGestoreChiaviPDNDEventiCheckAllStores = null;
  31145.     public boolean isGestoreChiaviPDNDEventiCheckAllStores() {  
  31146.         if(this.isGestoreChiaviPDNDEventiCheckAllStores==null){
  31147.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.remoteStore.checkAllStores";
  31148.             try{
  31149.                 String name = null;
  31150.                 name = this.reader.getValueConvertEnvProperties(pName);
  31151.                 if(name==null){
  31152.                     this.logWarn(getMessaggioProprietaNonImpostata(pName, true));
  31153.                     name="true";
  31154.                 }
  31155.                 name = name.trim();
  31156.                 this.isGestoreChiaviPDNDEventiCheckAllStores = Boolean.parseBoolean(name);
  31157.             } catch(java.lang.Exception e) {
  31158.                 this.logError(getMessaggioProprietaNonImpostata(pName, e, true));
  31159.                 this.isGestoreChiaviPDNDEventiCheckAllStores = true;
  31160.             }    
  31161.         }

  31162.         return this.isGestoreChiaviPDNDEventiCheckAllStores;
  31163.     }
  31164.    
  31165.     private Integer getGestoreChiaviPDNDkeysMaxLifeMinutes = null;
  31166.     public int getGestoreChiaviPDNDkeysMaxLifeMinutes() {  
  31167.         if(this.getGestoreChiaviPDNDkeysMaxLifeMinutes==null){
  31168.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.keys.maxLifeMinutes";
  31169.             int defaultValue = 43200;
  31170.             try{
  31171.                 String name = null;
  31172.                 name = this.reader.getValueConvertEnvProperties(pName);
  31173.                 if(name==null){
  31174.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,defaultValue));
  31175.                     name=defaultValue+"";
  31176.                 }
  31177.                 name = name.trim();
  31178.                 this.getGestoreChiaviPDNDkeysMaxLifeMinutes = Integer.valueOf(name);
  31179.                 /**if(this.getGestoreChiaviPDNDkeysMaxLifeMinutes<=0) {
  31180.                     throw new CoreException("Atteso un limite maggiore di zero");
  31181.                 }*/ // Se la proprietà viene valorizzata con un valore <=0 le informazioni hanno vita infinita
  31182.             } catch(java.lang.Exception e) {
  31183.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+defaultValue+" : "+e.getMessage(),e);
  31184.                 this.getGestoreChiaviPDNDkeysMaxLifeMinutes = defaultValue;
  31185.             }    
  31186.         }

  31187.         return this.getGestoreChiaviPDNDkeysMaxLifeMinutes;
  31188.     }
  31189.        
  31190.     private String getGestoreChiaviPDNDkeysPath = null;
  31191.     public String getGestoreChiaviPDNDkeysPath() throws CoreException {
  31192.         if(this.getGestoreChiaviPDNDkeysPath==null){
  31193.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.keys.path";
  31194.             try{
  31195.                 String name = null;
  31196.                 name = this.reader.getValueConvertEnvProperties(pName);
  31197.                 if(name==null){
  31198.                     throw new CoreException("Proprieta' non impostata");
  31199.                 }
  31200.                 name = name.trim();
  31201.                 this.getGestoreChiaviPDNDkeysPath = name;
  31202.             } catch(java.lang.Exception e) {
  31203.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31204.                 throw new CoreException(e.getMessage(),e);
  31205.             }    
  31206.         }

  31207.         return this.getGestoreChiaviPDNDkeysPath;
  31208.     }
  31209.    
  31210.     private String getGestoreChiaviPDNDeventsKeysPath = null;
  31211.     public String getGestoreChiaviPDNDeventsKeysPath() throws CoreException {  
  31212.         if(this.getGestoreChiaviPDNDeventsKeysPath==null){
  31213.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.events.keys.path";
  31214.             try{
  31215.                 String name = null;
  31216.                 name = this.reader.getValueConvertEnvProperties(pName);
  31217.                 if(name==null){
  31218.                     throw new CoreException("Proprieta' non impostata");
  31219.                 }
  31220.                 name = name.trim();
  31221.                 this.getGestoreChiaviPDNDeventsKeysPath = name;
  31222.             } catch(java.lang.Exception e) {
  31223.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31224.                 throw new CoreException(e.getMessage(),e);
  31225.             }    
  31226.         }

  31227.         return this.getGestoreChiaviPDNDeventsKeysPath;
  31228.     }
  31229.    
  31230.     private String getGestoreChiaviPDNDeventsKeysParameterLastEventId = null;
  31231.     public String getGestoreChiaviPDNDeventsKeysParameterLastEventId() throws CoreException {  
  31232.         if(this.getGestoreChiaviPDNDeventsKeysParameterLastEventId==null){
  31233.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.events.keys.parameter.lastEventId";
  31234.             try{
  31235.                 String name = null;
  31236.                 name = this.reader.getValueConvertEnvProperties(pName);
  31237.                 if(name==null){
  31238.                     throw new CoreException("Proprieta' non impostata");
  31239.                 }
  31240.                 name = name.trim();
  31241.                 this.getGestoreChiaviPDNDeventsKeysParameterLastEventId = name;
  31242.             } catch(java.lang.Exception e) {
  31243.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31244.                 throw new CoreException(e.getMessage(),e);
  31245.             }    
  31246.         }

  31247.         return this.getGestoreChiaviPDNDeventsKeysParameterLastEventId;
  31248.     }
  31249.    
  31250.     private String getGestoreChiaviPDNDeventsKeysParameterLimit = null;
  31251.     public String getGestoreChiaviPDNDeventsKeysParameterLimit() throws CoreException {
  31252.         if(this.getGestoreChiaviPDNDeventsKeysParameterLimit==null){
  31253.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.events.keys.parameter.limit";
  31254.             try{
  31255.                 String name = null;
  31256.                 name = this.reader.getValueConvertEnvProperties(pName);
  31257.                 if(name==null){
  31258.                     throw new CoreException("Proprieta' non impostata");
  31259.                 }
  31260.                 name = name.trim();
  31261.                 this.getGestoreChiaviPDNDeventsKeysParameterLimit = name;
  31262.             } catch(java.lang.Exception e) {
  31263.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31264.                 throw new CoreException(e.getMessage(),e);
  31265.             }    
  31266.         }

  31267.         return this.getGestoreChiaviPDNDeventsKeysParameterLimit;
  31268.     }

  31269.     private Integer getGestoreChiaviPDNDeventsKeysLimit = null;
  31270.     public int getGestoreChiaviPDNDeventsKeysLimit() {  
  31271.         if(this.getGestoreChiaviPDNDeventsKeysLimit==null){
  31272.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.events.keys.limit";
  31273.             int defaultValue = 100;
  31274.             try{
  31275.                 String name = null;
  31276.                 name = this.reader.getValueConvertEnvProperties(pName);
  31277.                 if(name==null){
  31278.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,defaultValue));
  31279.                     name=defaultValue+"";
  31280.                 }
  31281.                 name = name.trim();
  31282.                 this.getGestoreChiaviPDNDeventsKeysLimit = Integer.valueOf(name);
  31283.                 if(this.getGestoreChiaviPDNDeventsKeysLimit<=0) {
  31284.                     throw new CoreException("Atteso un limite maggiore di zero");
  31285.                 }
  31286.             } catch(java.lang.Exception e) {
  31287.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+defaultValue+" : "+e.getMessage(),e);
  31288.                 this.getGestoreChiaviPDNDeventsKeysLimit = defaultValue;
  31289.             }    
  31290.         }

  31291.         return this.getGestoreChiaviPDNDeventsKeysLimit;
  31292.     }

  31293.     private Long getGestoreChiaviPDNDeventsKeysTimerIntervalloSecondi = null;
  31294.     public long getGestoreChiaviPDNDeventsKeysTimerIntervalloSecondi() {    
  31295.         if(this.getGestoreChiaviPDNDeventsKeysTimerIntervalloSecondi==null){
  31296.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.events.keys.timer.intervalloSecondi";
  31297.             long defaultValue = 3600;
  31298.             try{
  31299.                 String name = null;
  31300.                 name = this.reader.getValueConvertEnvProperties(pName);
  31301.                 if(name==null){
  31302.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,defaultValue));
  31303.                     name=defaultValue+"";
  31304.                 }
  31305.                 name = name.trim();
  31306.                 this.getGestoreChiaviPDNDeventsKeysTimerIntervalloSecondi = Long.valueOf(name);
  31307.                 if(this.getGestoreChiaviPDNDeventsKeysTimerIntervalloSecondi<=0) {
  31308.                     throw new CoreException("Atteso un intervallo maggiore di zero");
  31309.                 }
  31310.             } catch(java.lang.Exception e) {
  31311.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+defaultValue+" : "+e.getMessage(),e);
  31312.                 this.getGestoreChiaviPDNDeventsKeysTimerIntervalloSecondi = defaultValue;
  31313.             }    
  31314.         }

  31315.         return this.getGestoreChiaviPDNDeventsKeysTimerIntervalloSecondi;
  31316.     }
  31317.    
  31318.     private Long getGestoreChiaviPDNDcacheKeysTimerIntervalloSecondi = null;
  31319.     public long getGestoreChiaviPDNDcacheKeysTimerIntervalloSecondi() {
  31320.         if(this.getGestoreChiaviPDNDcacheKeysTimerIntervalloSecondi==null){
  31321.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.cache.keys.timer.intervalloSecondi";
  31322.             long defaultValue = 300;
  31323.             try{
  31324.                 String name = null;
  31325.                 name = this.reader.getValueConvertEnvProperties(pName);
  31326.                 if(name==null){
  31327.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,defaultValue));
  31328.                     name=defaultValue+"";
  31329.                 }
  31330.                 name = name.trim();
  31331.                 this.getGestoreChiaviPDNDcacheKeysTimerIntervalloSecondi = Long.valueOf(name);
  31332.                 if(this.getGestoreChiaviPDNDcacheKeysTimerIntervalloSecondi<=0) {
  31333.                     throw new CoreException("Atteso un intervallo maggiore di zero");
  31334.                 }
  31335.             } catch(java.lang.Exception e) {
  31336.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+defaultValue+" : "+e.getMessage(),e);
  31337.                 this.getGestoreChiaviPDNDcacheKeysTimerIntervalloSecondi = defaultValue;
  31338.             }    
  31339.         }

  31340.         return this.getGestoreChiaviPDNDcacheKeysTimerIntervalloSecondi;
  31341.     }
  31342.    
  31343.     private Integer getGestoreChiaviPDNDTimerLockMaxLife = null;
  31344.     public int getGestoreChiaviPDNDTimerLockMaxLife() {
  31345.         if(this.getGestoreChiaviPDNDTimerLockMaxLife==null){
  31346.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.events.keys.timer.lock.maxLife";
  31347.             try{
  31348.                 String name = null;
  31349.                 name = this.reader.getValueConvertEnvProperties(pName);

  31350.                 if(name!=null){
  31351.                     name = name.trim();
  31352.                     this.getGestoreChiaviPDNDTimerLockMaxLife = java.lang.Integer.parseInt(name);
  31353.                 }else{
  31354.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,CostantiPdD.TIMER_LOCK_MAX_LIFE));
  31355.                     this.getGestoreChiaviPDNDTimerLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  31356.                 }
  31357.             }catch(java.lang.Exception e) {
  31358.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,CostantiPdD.TIMER_LOCK_MAX_LIFE),e);
  31359.                 this.getGestoreChiaviPDNDTimerLockMaxLife = CostantiPdD.TIMER_LOCK_MAX_LIFE;
  31360.             }
  31361.             if(this.getGestoreChiaviPDNDTimerLockMaxLife!=null && this.getGestoreChiaviPDNDTimerLockMaxLife>0) {
  31362.                 // trasformo in millisecondi l'informazione fornita in secondi
  31363.                 this.getGestoreChiaviPDNDTimerLockMaxLife = this.getGestoreChiaviPDNDTimerLockMaxLife *1000;
  31364.             }
  31365.         }

  31366.         if(this.getGestoreChiaviPDNDTimerLockMaxLife!=null) {
  31367.             return this.getGestoreChiaviPDNDTimerLockMaxLife.intValue();
  31368.         }
  31369.         return -1;
  31370.     }
  31371.    
  31372.     private Integer getGestoreChiaviPDNDTimerLockIdleTime = null;
  31373.     public int getGestoreChiaviPDNDTimerLockIdleTime() {    
  31374.         if(this.getGestoreChiaviPDNDTimerLockIdleTime==null){
  31375.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.events.keys.timer.lock.idleTime";
  31376.             try{
  31377.                 String name = null;
  31378.                 name = this.reader.getValueConvertEnvProperties(pName);

  31379.                 if(name!=null){
  31380.                     name = name.trim();
  31381.                     this.getGestoreChiaviPDNDTimerLockIdleTime = java.lang.Integer.parseInt(name);
  31382.                 }else{
  31383.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,CostantiPdD.TIMER_LOCK_IDLE_TIME));
  31384.                     this.getGestoreChiaviPDNDTimerLockIdleTime = CostantiPdD.TIMER_LOCK_IDLE_TIME;
  31385.                 }
  31386.             }catch(java.lang.Exception e) {
  31387.                 this.logWarn(getMessaggioProprietaNonImpostata(pName,e,CostantiPdD.TIMER_LOCK_IDLE_TIME),e);
  31388.                 this.getGestoreChiaviPDNDTimerLockIdleTime = CostantiPdD.TIMER_LOCK_IDLE_TIME;
  31389.             }
  31390.             if(this.getGestoreChiaviPDNDTimerLockIdleTime!=null && this.getGestoreChiaviPDNDTimerLockIdleTime>0) {
  31391.                 // trasformo in millisecondi l'informazione fornita in secondi
  31392.                 this.getGestoreChiaviPDNDTimerLockIdleTime = this.getGestoreChiaviPDNDTimerLockIdleTime *1000;
  31393.             }
  31394.         }

  31395.         if(this.getGestoreChiaviPDNDTimerLockIdleTime!=null) {
  31396.             return this.getGestoreChiaviPDNDTimerLockIdleTime.intValue();
  31397.         }
  31398.         return -1;
  31399.     }
  31400.    
  31401.     private Long getGestoreChiaviPDNDTimerLockAttesaAttiva = null;
  31402.     public long getGestoreChiaviPDNDTimerLockAttesaAttiva() {  
  31403.         if(this.getGestoreChiaviPDNDTimerLockAttesaAttiva==null){
  31404.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.events.keys.timer.lock.attesaAttiva";
  31405.             try{
  31406.                 String name = null;
  31407.                 name = this.reader.getValueConvertEnvProperties(pName);

  31408.                 if(name!=null){
  31409.                     name = name.trim();
  31410.                     long time = java.lang.Long.parseLong(name);
  31411.                     this.getGestoreChiaviPDNDTimerLockAttesaAttiva = time*1000;
  31412.                 }else{
  31413.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA);
  31414.                     this.getGestoreChiaviPDNDTimerLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  31415.                 }

  31416.             }catch(java.lang.Exception e) {
  31417.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_ATTESA_ATTIVA+", errore:"+e.getMessage(),e);
  31418.                 this.getGestoreChiaviPDNDTimerLockAttesaAttiva = CostantiPdD.GET_LOCK_ATTESA_ATTIVA;
  31419.             }    
  31420.         }

  31421.         return this.getGestoreChiaviPDNDTimerLockAttesaAttiva;
  31422.     }

  31423.     private Integer getGestoreChiaviPDNDTimerLockCheckInterval = null;
  31424.     public int getGestoreChiaviPDNDTimerLockCheckInterval() {  
  31425.         if(this.getGestoreChiaviPDNDTimerLockCheckInterval==null){
  31426.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.events.keys.timer.lock.check";
  31427.             try{
  31428.                 String name = null;
  31429.                 name = this.reader.getValueConvertEnvProperties(pName);

  31430.                 if(name!=null){
  31431.                     name = name.trim();
  31432.                     int time = java.lang.Integer.parseInt(name);
  31433.                     this.getGestoreChiaviPDNDTimerLockCheckInterval = time;
  31434.                 }else{
  31435.                     this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL);
  31436.                     this.getGestoreChiaviPDNDTimerLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  31437.                 }
  31438.             }catch(java.lang.Exception e) {
  31439.                 this.logWarn("Proprieta' di openspcoop '"+pName+"' non impostato, viene utilizzato il default="+CostantiPdD.GET_LOCK_CHECK_INTERVAL+", errore:"+e.getMessage(),e);
  31440.                 this.getGestoreChiaviPDNDTimerLockCheckInterval = CostantiPdD.GET_LOCK_CHECK_INTERVAL;
  31441.             }  
  31442.         }

  31443.         return this.getGestoreChiaviPDNDTimerLockCheckInterval;
  31444.     }
  31445.    
  31446.     private String getGestoreChiaviPDNDclientsPath = null;
  31447.     public String getGestoreChiaviPDNDclientsPath() throws CoreException {  
  31448.         if(this.getGestoreChiaviPDNDclientsPath==null){
  31449.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.clients.path";
  31450.             try{
  31451.                 String name = null;
  31452.                 name = this.reader.getValueConvertEnvProperties(pName);
  31453.                 if(name==null){
  31454.                     throw new CoreException("Proprieta' non impostata");
  31455.                 }
  31456.                 name = name.trim();
  31457.                 this.getGestoreChiaviPDNDclientsPath = name;
  31458.             } catch(java.lang.Exception e) {
  31459.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31460.                 throw new CoreException(e.getMessage(),e);
  31461.             }    
  31462.         }

  31463.         return this.getGestoreChiaviPDNDclientsPath;
  31464.     }
  31465.        
  31466.     private String getGestoreChiaviPDNDclientsOrganizationJsonPath = null;
  31467.     public String getGestoreChiaviPDNDclientsOrganizationJsonPath() throws CoreException {  
  31468.         if(this.getGestoreChiaviPDNDclientsOrganizationJsonPath==null){
  31469.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.clients.organizationJsonPath";
  31470.             try{
  31471.                 String name = null;
  31472.                 name = this.reader.getValueConvertEnvProperties(pName);
  31473.                 if(name==null){
  31474.                     throw new CoreException("Proprieta' non impostata");
  31475.                 }
  31476.                 name = name.trim();
  31477.                 this.getGestoreChiaviPDNDclientsOrganizationJsonPath = name;
  31478.             } catch(java.lang.Exception e) {
  31479.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31480.                 throw new CoreException(e.getMessage(),e);
  31481.             }    
  31482.         }

  31483.         return this.getGestoreChiaviPDNDclientsOrganizationJsonPath;
  31484.     }
  31485.    
  31486.     private String getGestoreChiaviPDNDorganizationsPath = null;
  31487.     public String getGestoreChiaviPDNDorganizationsPath() throws CoreException {    
  31488.         if(this.getGestoreChiaviPDNDorganizationsPath==null){
  31489.             String pName = "org.openspcoop2.pdd.gestoreChiaviPDND.organizations.path";
  31490.             try{
  31491.                 String name = null;
  31492.                 name = this.reader.getValueConvertEnvProperties(pName);
  31493.                 if(name==null){
  31494.                     throw new CoreException("Proprieta' non impostata");
  31495.                 }
  31496.                 name = name.trim();
  31497.                 this.getGestoreChiaviPDNDorganizationsPath = name;
  31498.             } catch(java.lang.Exception e) {
  31499.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31500.                 throw new CoreException(e.getMessage(),e);
  31501.             }    
  31502.         }

  31503.         return this.getGestoreChiaviPDNDorganizationsPath;
  31504.     }
  31505.    
  31506.    
  31507.    
  31508.     private Boolean isGestoreChiaviPDNDclientInfoEnabled = null;
  31509.     public boolean isGestoreChiaviPDNDclientInfoEnabled() throws CoreException {    
  31510.         if(this.isGestoreChiaviPDNDclientInfoEnabled==null){
  31511.             String pName = "org.openspcoop2.pdd.gestorePDND.clientInfo.enabled";
  31512.             try{
  31513.                 String name = null;
  31514.                 name = this.reader.getValueConvertEnvProperties(pName);
  31515.                 if(name==null){
  31516.                     throw new CoreException("Proprieta' non impostata");
  31517.                 }
  31518.                 name = name.trim();
  31519.                 this.isGestoreChiaviPDNDclientInfoEnabled = Boolean.valueOf(name);
  31520.                
  31521.                 if(this.isGestoreChiaviPDNDclientInfoEnabled.booleanValue() && !this.isGestoreChiaviPDNDEnabled()) {
  31522.                     throw new CoreException("per abilitare la proprietà è richiesto che sia abilitata la gestione delle chiavi PDND");
  31523.                 }
  31524.                
  31525.             } catch(java.lang.Exception e) {
  31526.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31527.                 throw new CoreException(e.getMessage(),e);
  31528.             }    
  31529.         }

  31530.         return this.isGestoreChiaviPDNDclientInfoEnabled;
  31531.     }
  31532.    
  31533.     private Integer getGestoreChiaviPDNDclientInfoMaxLifeMinutes = null;
  31534.     public int getGestoreChiaviPDNDclientInfoMaxLifeMinutes() {
  31535.         if(this.getGestoreChiaviPDNDclientInfoMaxLifeMinutes==null){
  31536.             String pName = "org.openspcoop2.pdd.gestorePDND.clientInfo.maxLifeMinutes";
  31537.             int defaultValue = 43200;
  31538.             try{
  31539.                 String name = null;
  31540.                 name = this.reader.getValueConvertEnvProperties(pName);
  31541.                 if(name==null){
  31542.                     this.logWarn(getMessaggioProprietaNonImpostata(pName,defaultValue));
  31543.                     name=defaultValue+"";
  31544.                 }
  31545.                 name = name.trim();
  31546.                 this.getGestoreChiaviPDNDclientInfoMaxLifeMinutes = Integer.valueOf(name);
  31547.                 /**if(this.getGestoreChiaviPDNDclientInfoMaxLifeMinutes<=0) {
  31548.                     throw new CoreException("Atteso un limite maggiore di zero");
  31549.                 }*/ // Se la proprietà viene valorizzata con un valore <=0 le informazioni hanno vita infinita
  31550.             } catch(java.lang.Exception e) {
  31551.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"', viene utilizzato il default="+defaultValue+" : "+e.getMessage(),e);
  31552.                 this.getGestoreChiaviPDNDclientInfoMaxLifeMinutes = defaultValue;
  31553.             }    
  31554.         }

  31555.         return this.getGestoreChiaviPDNDclientInfoMaxLifeMinutes;
  31556.     }
  31557.        
  31558.     private Boolean isGestoreChiaviPDNDclientsErrorAbortTransaction = null;
  31559.     public boolean isGestoreChiaviPDNDclientsErrorAbortTransaction() throws CoreException {
  31560.         if(this.isGestoreChiaviPDNDclientsErrorAbortTransaction==null){
  31561.             String pName = "org.openspcoop2.pdd.gestorePDND.clients.error.abortTransaction";
  31562.             try{
  31563.                 String name = null;
  31564.                 name = this.reader.getValueConvertEnvProperties(pName);
  31565.                 if(name==null){
  31566.                     throw new CoreException("Proprieta' non impostata");
  31567.                 }
  31568.                 name = name.trim();
  31569.                 this.isGestoreChiaviPDNDclientsErrorAbortTransaction = Boolean.valueOf(name);
  31570.             } catch(java.lang.Exception e) {
  31571.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31572.                 throw new CoreException(e.getMessage(),e);
  31573.             }    
  31574.         }

  31575.         return this.isGestoreChiaviPDNDclientsErrorAbortTransaction;
  31576.     }
  31577.    
  31578.     private Boolean isGestoreChiaviPDNDorganizationsErrorAbortTransaction = null;
  31579.     public boolean isGestoreChiaviPDNDorganizationsErrorAbortTransaction() throws CoreException {  
  31580.         if(this.isGestoreChiaviPDNDorganizationsErrorAbortTransaction==null){
  31581.             String pName = "org.openspcoop2.pdd.gestorePDND.organizations.error.abortTransaction";
  31582.             try{
  31583.                 String name = null;
  31584.                 name = this.reader.getValueConvertEnvProperties(pName);
  31585.                 if(name==null){
  31586.                     throw new CoreException("Proprieta' non impostata");
  31587.                 }
  31588.                 name = name.trim();
  31589.                 this.isGestoreChiaviPDNDorganizationsErrorAbortTransaction = Boolean.valueOf(name);
  31590.             } catch(java.lang.Exception e) {
  31591.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31592.                 throw new CoreException(e.getMessage(),e);
  31593.             }    
  31594.         }

  31595.         return this.isGestoreChiaviPDNDorganizationsErrorAbortTransaction;
  31596.     }
  31597.    
  31598.     private Boolean isGestoreChiaviPDNDRateLimitingInfoNotAvailableAbortTransaction = null;
  31599.     public boolean isGestoreChiaviPDNDRateLimitingInfoNotAvailableAbortTransaction() throws CoreException {
  31600.         if(this.isGestoreChiaviPDNDRateLimitingInfoNotAvailableAbortTransaction==null){
  31601.             String pName = "org.openspcoop2.pdd.gestorePDND.rateLimiting.infoNotAvailable.abortTransaction";
  31602.             try{
  31603.                 String name = null;
  31604.                 name = this.reader.getValueConvertEnvProperties(pName);
  31605.                 if(name==null){
  31606.                     throw new CoreException("Proprieta' non impostata");
  31607.                 }
  31608.                 name = name.trim();
  31609.                 this.isGestoreChiaviPDNDRateLimitingInfoNotAvailableAbortTransaction = Boolean.valueOf(name);
  31610.             } catch(java.lang.Exception e) {
  31611.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31612.                 throw new CoreException(e.getMessage(),e);
  31613.             }    
  31614.         }

  31615.         return this.isGestoreChiaviPDNDRateLimitingInfoNotAvailableAbortTransaction;
  31616.     }
  31617.    
  31618.     private Boolean isGestoreChiaviPDNDretrieveClientInfoAfterVoucherPDNDValidation = null;
  31619.     public boolean isGestoreChiaviPDNDretrieveClientInfoAfterVoucherPDNDValidation() throws CoreException {
  31620.         if(this.isGestoreChiaviPDNDretrieveClientInfoAfterVoucherPDNDValidation==null){
  31621.             String pName = "org.openspcoop2.pdd.gestorePDND.clientInfo.retrieveAfterVoucherPDNDValidation";
  31622.             try{
  31623.                 String name = null;
  31624.                 name = this.reader.getValueConvertEnvProperties(pName);
  31625.                 if(name==null){
  31626.                     throw new CoreException("Proprieta' non impostata");
  31627.                 }
  31628.                 name = name.trim();
  31629.                 this.isGestoreChiaviPDNDretrieveClientInfoAfterVoucherPDNDValidation = Boolean.valueOf(name);
  31630.             } catch(java.lang.Exception e) {
  31631.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31632.                 throw new CoreException(e.getMessage(),e);
  31633.             }    
  31634.         }

  31635.         return this.isGestoreChiaviPDNDretrieveClientInfoAfterVoucherPDNDValidation;
  31636.     }
  31637.    
  31638.     private Boolean isGestoreChiaviPDNDclientsTraceJsonResponse = null;
  31639.     public boolean isGestoreChiaviPDNDclientsTraceJsonResponse() throws CoreException {
  31640.         if(this.isGestoreChiaviPDNDclientsTraceJsonResponse==null){
  31641.             String pName = "org.openspcoop2.pdd.gestorePDND.clients.traceJsonResponse";
  31642.             try{
  31643.                 String name = null;
  31644.                 name = this.reader.getValueConvertEnvProperties(pName);
  31645.                 if(name==null){
  31646.                     throw new CoreException("Proprieta' non impostata");
  31647.                 }
  31648.                 name = name.trim();
  31649.                 this.isGestoreChiaviPDNDclientsTraceJsonResponse = Boolean.valueOf(name);
  31650.             } catch(java.lang.Exception e) {
  31651.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31652.                 throw new CoreException(e.getMessage(),e);
  31653.             }    
  31654.         }

  31655.         return this.isGestoreChiaviPDNDclientsTraceJsonResponse;
  31656.     }
  31657.    
  31658.     private Boolean isGestoreChiaviPDNDorganizationsTraceJsonResponse = null;
  31659.     public boolean isGestoreChiaviPDNDorganizationsTraceJsonResponse() throws CoreException {  
  31660.         if(this.isGestoreChiaviPDNDorganizationsTraceJsonResponse==null){
  31661.             String pName = "org.openspcoop2.pdd.gestorePDND.organizations.traceJsonResponse";
  31662.             try{
  31663.                 String name = null;
  31664.                 name = this.reader.getValueConvertEnvProperties(pName);
  31665.                 if(name==null){
  31666.                     throw new CoreException("Proprieta' non impostata");
  31667.                 }
  31668.                 name = name.trim();
  31669.                 this.isGestoreChiaviPDNDorganizationsTraceJsonResponse = Boolean.valueOf(name);
  31670.             } catch(java.lang.Exception e) {
  31671.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31672.                 throw new CoreException(e.getMessage(),e);
  31673.             }    
  31674.         }

  31675.         return this.isGestoreChiaviPDNDorganizationsTraceJsonResponse;
  31676.     }
  31677.    
  31678.     private Boolean isGestoreChiaviPDNDorganizationsTraceName = null;
  31679.     public boolean isGestoreChiaviPDNDorganizationsTraceName() throws CoreException {  
  31680.         if(this.isGestoreChiaviPDNDorganizationsTraceName==null){
  31681.             String pName = "org.openspcoop2.pdd.gestorePDND.organizations.traceName";
  31682.             try{
  31683.                 String name = null;
  31684.                 name = this.reader.getValueConvertEnvProperties(pName);
  31685.                 if(name==null){
  31686.                     throw new CoreException("Proprieta' non impostata");
  31687.                 }
  31688.                 name = name.trim();
  31689.                 this.isGestoreChiaviPDNDorganizationsTraceName = Boolean.valueOf(name);
  31690.             } catch(java.lang.Exception e) {
  31691.                 this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
  31692.                 throw new CoreException(e.getMessage(),e);
  31693.             }    
  31694.         }

  31695.         return this.isGestoreChiaviPDNDorganizationsTraceName;
  31696.     }
  31697.    
  31698.     private Integer headersPeerRegexpCacheSize = null;
  31699.     public Integer getHeadersPeerRegexpCacheSize() throws CoreException {
  31700.         if (this.headersPeerRegexpCacheSize == null) {
  31701.             String pName = "org.openspcoop2.pdd.headers.peer.regexp.cacheSize";
  31702.             try{
  31703.                 String value = null;
  31704.                 value = this.reader.getValueConvertEnvProperties(pName);
  31705.                 if(value == null){
  31706.                     throw new CoreException("Proprieta' non impostata");
  31707.                 }
  31708.                 this.headersPeerRegexpCacheSize = Integer.parseInt(value.trim());
  31709.             } catch(java.lang.Exception e) {
  31710.                 this.logError("Riscontrato errore durante la lettura della proprietà di govway '"+pName+"': "+e.getMessage(),e);
  31711.                 throw new CoreException(e.getMessage(),e);
  31712.             }    
  31713.         }

  31714.         return this.headersPeerRegexpCacheSize;
  31715.     }
  31716.    
  31717.     private List<PeerHeaderDescriptor> headersDescriptors = null;
  31718.     public List<PeerHeaderDescriptor> getHeadersPeer() throws CoreException {
  31719.         if (this.headersDescriptors == null) {
  31720.             this.headersDescriptors = new ArrayList<>();
  31721.            
  31722.             String startPName = "org.openspcoop2.pdd.headers.peer.";
  31723.             String endHeaderName = ".headers";
  31724.             String endRegexpName = ".regexp";
  31725.            
  31726.             try {
  31727.                 Properties prop = this.reader.readProperties(startPName);
  31728.                 prop.forEach((k, v) -> {
  31729.                     String key = k.toString();
  31730.                     String value = v.toString();
  31731.                    
  31732.                     PeerHeaderDescriptor desc;
  31733.                    
  31734.                     if (key.endsWith(endHeaderName)) {
  31735.                         key = key.substring(0, key.length() - endHeaderName.length());
  31736.                         desc = new StringPeerHeaderDescriptor(key, value);
  31737.                     } else if (key.endsWith(endRegexpName)) {
  31738.                         key = key.substring(0, key.length() - endRegexpName.length());
  31739.                         desc = new RegexpPeerHeaderDescriptor(key, value);
  31740.                     } else {
  31741.                         String suffix = key.substring(key.lastIndexOf('.'));
  31742.                         this.logWarn("Proprieta " + key + " con prefisso: " + startPName + "ha un suffisso '" + suffix + "' non conosciuto");
  31743.                         return;
  31744.                     }
  31745.                    
  31746.                     this.headersDescriptors.add(desc);
  31747.                 });
  31748.                 this.headersDescriptors = Collections.unmodifiableList(this.headersDescriptors);
  31749.                
  31750.             } catch (UtilsException e) {
  31751.                 this.logError("Riscontrato errore durante la lettura della proprietà di govway '" + startPName + "<Peer-Header-Name>.header': " + e.getMessage(), e);
  31752.                 throw new CoreException(e.getMessage(),e);
  31753.             }
  31754.            
  31755.         }
  31756.         return this.headersDescriptors;
  31757.     }
  31758.    
  31759. }