CostantiPdD.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.core;

  21. import org.openspcoop2.core.config.constants.CostantiConfigurazione;
  22. import org.openspcoop2.core.controllo_traffico.beans.JMXConstants;
  23. import org.openspcoop2.message.OpenSPCoop2Message;
  24. import org.openspcoop2.pdd.logger.MsgDiagnostico;
  25. import org.openspcoop2.protocol.sdk.Context;
  26. import org.openspcoop2.utils.Costanti;
  27. import org.openspcoop2.utils.Map;
  28. import org.openspcoop2.utils.MapKey;
  29. import org.openspcoop2.utils.jmx.CostantiJMX;



  30. /**
  31.  * Classe dove sono fornite costanti e metodi utilizzati dai vari moduli della porta di dominio
  32.  *
  33.  *
  34.  * @author Poli Andrea (apoli@link.it)
  35.  * @author $Author$
  36.  * @version $Rev$, $Date$
  37.  */

  38. public class CostantiPdD {
  39.    
  40.     private CostantiPdD() {}
  41.    

  42.     /* ********  F I E L D S    S T A T I C    P U B L I C  ******** */

  43.     /** Versione beta, es: "b1" */
  44.     public static final String OPENSPCOOP2_BETA = Costanti.OPENSPCOOP2_BETA;
  45.     /** Versione di OpenSPCoop */
  46.     public static final String OPENSPCOOP2_VERSION = Costanti.OPENSPCOOP2_VERSION;
  47.     /** Versione di OpenSPCoop */
  48.     public static final String OPENSPCOOP2_PRODUCT = Costanti.OPENSPCOOP2_PRODUCT;
  49.     /** Versione di OpenSPCoop (User-Agent) */
  50.     public static final String OPENSPCOOP2_PRODUCT_VERSION = Costanti.OPENSPCOOP2_PRODUCT_VERSION;
  51.     /** Details */
  52.     public static final String OPENSPCOOP2_DETAILS = Costanti.OPENSPCOOP2_DETAILS;
  53.     /** Copyright */
  54.     public static final String OPENSPCOOP2_COPYRIGHT = Costanti.OPENSPCOOP2_COPYRIGHT;
  55.      /** License */
  56.     public static final String OPENSPCOOP2_LICENSE = Costanti.OPENSPCOOP2_LICENSE;
  57.    
  58.    

  59.     /** Stringa contenente un codice di porta di dominio 'standard' da utilizzare in caso si generano errori
  60.     prima della lettura del vero codice della porta di dominio dalla configurazione di OpenSPCoop. */
  61.     public static final String OPENSPCOOP2 = org.openspcoop2.utils.Costanti.OPENSPCOOP2;
  62.    
  63.     public static final String OPENSPCOOP2_LOCAL_HOME = org.openspcoop2.utils.Costanti.OPENSPCOOP2_LOCAL_HOME;
  64.    
  65.     public static final String OPENSPCOOP2_LOOKUP = org.openspcoop2.utils.Costanti.OPENSPCOOP2_LOOKUP;
  66.    
  67.     public static final String OPENSPCOOP2_LOADER = "OPENSPCOOP2_LOADER";
  68.     public static final String OPENSPCOOP2_LOADER_PROPERTIES = "OPENSPCOOP2_LOADER_PROPERTIES";
  69.    
  70.     public static final String OPENSPCOOP2_PROPERTIES_LOCAL_PATH = "govway_local.properties";
  71.     public static final String OPENSPCOOP2_PROPERTIES = "OPENSPCOOP2_PROPERTIES";
  72.    
  73.     public static final String OPENSPCOOP2_CLASSNAME_LOCAL_PATH = "govway_local.classRegistry.properties";
  74.     public static final String OPENSPCOOP2_CLASSNAME_PROPERTIES = "OPENSPCOOP2_CLASSREGISTRY_PROPERTIES";
  75.    
  76.     public static final String OPENSPCOOP2_PDD_LOCAL_PATH = "govway_local.pdd.properties";
  77.     public static final String OPENSPCOOP2_PDD_PROPERTIES = "OPENSPCOOP2_PDD_PROPERTIES";
  78.    
  79.     public static final String OPENSPCOOP2_MSGDIAGNOSTICI_LOCAL_PATH = "govway_local.msgDiagnostici.properties";
  80.     public static final String OPENSPCOOP2_MSGDIAGNOSTICI_PROPERTIES = "OPENSPCOOP2_MSGDIAGNOSTICI_PROPERTIES";
  81.        
  82.     public static final String OPENSPCOOP2_LOGGER_LOCAL_PATH = "govway_local.log4j2.properties";
  83.     public static final String OPENSPCOOP2_LOGGER_PROPERTIES = "OPENSPCOOP2_LOGGER_PROPERTIES";
  84.    
  85.     public static final String OPENSPCOOP2_LOGGER_PROTOCOL_ID_PROTOCOLLO = "IDPROTOCOLLO";
  86.     private static final String OPENSPCOOP2_LOGGER_PROTOCOL_LOCAL_PATH = "govway_local.protocol_"+OPENSPCOOP2_LOGGER_PROTOCOL_ID_PROTOCOLLO+".log4j2.properties";
  87.     public static String getOpenspcoop2LoggerProtocolLocalPath(String protocol) {
  88.         return OPENSPCOOP2_LOGGER_PROTOCOL_LOCAL_PATH.replace(OPENSPCOOP2_LOGGER_PROTOCOL_ID_PROTOCOLLO, protocol);
  89.     }
  90.     private static final String OPENSPCOOP2_LOGGER_PROTOCOL_PROPERTIES = "OPENSPCOOP2_LOGGER_PROTOCOL_"+OPENSPCOOP2_LOGGER_PROTOCOL_ID_PROTOCOLLO+"_PROPERTIES";
  91.     public static String getOpenspcoop2LoggerProtocolProperties(String protocol) {
  92.         return OPENSPCOOP2_LOGGER_PROTOCOL_PROPERTIES.replace(OPENSPCOOP2_LOGGER_PROTOCOL_ID_PROTOCOLLO, protocol);
  93.     }
  94.     private static final String OPENSPCOOP2_LOGGER_FACTORY_NAME = "govway."+OPENSPCOOP2_LOGGER_PROTOCOL_ID_PROTOCOLLO;
  95.     public static String getOpenspcoop2LoggerFactoryName(String protocol) {
  96.         return OPENSPCOOP2_LOGGER_FACTORY_NAME.replace(OPENSPCOOP2_LOGGER_PROTOCOL_ID_PROTOCOLLO, protocol);
  97.     }
  98.      
  99.     public static final String OPENSPCOOP2_CACHE_DEFAULT_PROPERTIES_NAME = "govway.jcs.properties";
  100.     public static final String OPENSPCOOP2_CACHE_LOCAL_PATH = "govway_local.jcs.properties";
  101.     public static final String OPENSPCOOP2_CACHE_PROPERTIES = "OPENSPCOOP2_CACHE_PROPERTIES";
  102.    
  103.     public static final String OPENSPCOOP2_CONFIG_LOCAL_PATH = "govway_local.config.properties";
  104.     public static final String OPENSPCOOP2_CONFIG_PROPERTIES = "OPENSPCOOP2_CONFIG_PROPERTIES";
  105.    
  106.     /** Costante per l'indicazione dell'imbustamento con Attachments */
  107.     public static final String IMBUSTAMENTO_ATTACHMENT = "attach";
  108.     /** Costante per l'indicazione del mime type utilizzato per l'imbustamento con Attachments */
  109.     public static final String IMBUSTAMENTO_MIME_TYPE = "mime-type";
  110.    
  111.     /** Costante che indica una busta in ingresso */
  112.     public static final String TRACCIAMENTO_IN = "IN";
  113.     /** Costante che indica una busta in uscita */
  114.     public static final String TRACCIAMENTO_OUT = "OUT";
  115.    
  116.     public static final String TIPOLOGIA_INSTALLER = CostantiConfigurazione.GENERIC_PROPERTIES_TIPOLOGIA_INSTALLER;
  117.    
  118.     /**
  119.      * Gestione Preflight Request in corso su SOAP
  120.      */
  121.     public static final MapKey<String> CORS_PREFLIGHT_REQUEST_SOAP = Map.newMapKey("CORS_PREFLIGHT_REQUEST_SOAP");
  122.    
  123.     /** Nome Porta Invocata originale */
  124.     public static final MapKey<String> NOME_PORTA_INVOCATA = Map.newMapKey("NOME_PORTA_INVOCATA");
  125.    
  126.     /** Response Caching */
  127.     public static final MapKey<String> RESPONSE_CACHE_REQUEST_DIGEST = Map.newMapKey("RESPONSE_CACHE_REQUEST_DIGEST");
  128.     /** Response Caching */
  129.     public static final String RESPONSE_CACHE_REQUEST_DIGEST_DEFAULT_ALGORITHM = "MD5";
  130.    
  131.     /** Dati di integresso del messaggio */
  132.     public static final MapKey<String> DATA_ACCETTAZIONE_RICHIESTA = Map.newMapKey("CONTEXT_DATA_ACCETTAZIONE_RICHIESTA");
  133.     public static final MapKey<String> DATA_INGRESSO_RICHIESTA = Map.newMapKey("CONTEXT_DATA_INGRESSO_RICHIESTA");
  134.    
  135.     /** Variabile che indica la configurazione di dump */
  136.     public static final String DUMP_CONFIG = "DumpConfig";
  137.     public static final String DUMP_RICHIESTA_EFFETTUATO = "DumpRichiestaEffettuato";
  138.    
  139.     /** Configurazione soglia per salvataggio in ram */
  140.     public static final int DUMP_BINARIO_THRESHOLD = 1048576; // 1MB (1024*1024)
  141.    
  142.     /** Configurazione soglia per salvataggio in ram */
  143.     public static final int DUMP_NON_REALTIME_THRESHOLD = 61440;
  144.     /** Modalita di dump non realtime */
  145.     public static final String DUMP_NON_REALTIME_MODE_DB = "db";
  146.     public static final String DUMP_NON_REALTIME_MODE_FILE_SYSTEM = "fs";
  147.     public static final String DUMP_NON_REALTIME_MODE_AUTO = "auto";

  148.     /** Variabile che indica un soggetto anonimo */
  149.     public static final String SOGGETTO_ANONIMO = "Anonimo";
  150.     /** Variabile che indica un servizio applicativo anonimo */
  151.     public static final String SERVIZIO_APPLICATIVO_ANONIMO = "Anonimo";
  152.                    
  153.     /** Costante che indica l'header di integrazione per WS*/
  154.     public static final String HEADER_INTEGRAZIONE = "HEADER_INTEGRAZIONE";
  155.     /** Costante che indica la gestione dell'errore per WS*/
  156.     public static final String GESTIONE_ESITO = "GESTIONE_ESITO";
  157.     /** Costante che indica il servizio in gestione per WS*/
  158.     public static final String GESTIONE_ESITO_MODULO_FUNZIONALE = "GESTIONE_ESITO_MODULO_FUNZIONALE";
  159.    
  160.     /** PddContext in Header HTTP */
  161.     public static final MapKey<String> OPENSPCOOP2_PDD_CONTEXT_HEADER_HTTP = Map.newMapKey("OPENSPCOOP2_CONTEXT_HEADER_HTTP");
  162.    
  163.     public static final MapKey<String> OPENSPCOOP2_PDD_CONTEXT_NUMERO_TENTATIVI_RICONSEGNA_UPDATED = Map.newMapKey("NUMERO_TENTATIVI_RICONSEGNA_UPDATED");
  164.    

  165.     /** Costante che indica il valore dell'header di integrazione: tipo mittente*/
  166.     public static final MapKey<String> HEADER_INTEGRAZIONE_TIPO_MITTENTE = new MapKey<>("tipoMittente",1);
  167.     /** Costante che indica il valore dell'header di integrazione: mittente*/
  168.     public static final MapKey<String> HEADER_INTEGRAZIONE_MITTENTE = new MapKey<>("mittente",2);
  169.     /** Costante che indica il valore dell'header di integrazione: tipo destinatario*/
  170.     public static final MapKey<String> HEADER_INTEGRAZIONE_TIPO_DESTINATARIO = new MapKey<>("tipoDestinatario",3);
  171.     /** Costante che indica il valore dell'header di integrazione: destinatario*/
  172.     public static final MapKey<String> HEADER_INTEGRAZIONE_DESTINATARIO = new MapKey<>("destinatario",4);
  173.     /** Costante che indica il valore dell'header di integrazione: tipo servizio*/
  174.     public static final MapKey<String> HEADER_INTEGRAZIONE_TIPO_SERVIZIO = new MapKey<>("tipoServizio",5);
  175.     /** Costante che indica il valore dell'header di integrazione: servizio*/
  176.     public static final MapKey<String> HEADER_INTEGRAZIONE_SERVIZIO = new MapKey<>("servizio",6);
  177.     /** Costante che indica il valore dell'header di integrazione: versioneServizio*/
  178.     public static final MapKey<String> HEADER_INTEGRAZIONE_VERSIONE_SERVIZIO = new MapKey<>("versioneServizio",7);
  179.     /** Costante che indica il valore dell'header di integrazione: azione*/
  180.     public static final MapKey<String> HEADER_INTEGRAZIONE_AZIONE = new MapKey<>("azione",8);
  181.     /** Costante che indica il valore dell'header di integrazione: identificativo*/
  182.     public static final MapKey<String> HEADER_INTEGRAZIONE_ID_MESSAGGIO = new MapKey<>("identificativo",9);
  183.     /** Costante che indica il valore dell'header di integrazione: riferimentoMessaggio*/
  184.     public static final MapKey<String> HEADER_INTEGRAZIONE_RIFERIMENTO_MESSAGGIO = new MapKey<>("riferimentoMessaggio",10);
  185.     /** Costante che indica il valore dell'header di integrazione: idApplicativo*/
  186.     public static final MapKey<String> HEADER_INTEGRAZIONE_ID_APPLICATIVO = new MapKey<>("idApplicativo",11);
  187.     /** Costante che indica il valore dell'header di integrazione: idCollaborazione*/
  188.     public static final MapKey<String> HEADER_INTEGRAZIONE_COLLABORAZIONE = new MapKey<>("idCollaborazione",12);
  189.     /** Costante che indica il valore dell'header di integrazione: servizioApplicativo*/
  190.     public static final MapKey<String> HEADER_INTEGRAZIONE_SERVIZIO_APPLICATIVO = new MapKey<>("servizioApplicativo",13);
  191.     /** Costante che indica il valore dell'header di integrazione: tipo mittenteToken*/
  192.     public static final MapKey<String> HEADER_INTEGRAZIONE_TIPO_MITTENTE_TOKEN = new MapKey<>("tipoMittenteToken",14);
  193.     /** Costante che indica il valore dell'header di integrazione: mittenteToken*/
  194.     public static final MapKey<String> HEADER_INTEGRAZIONE_MITTENTE_TOKEN = new MapKey<>("mittenteToken",15);
  195.     /** Costante che indica il valore dell'header di integrazione: servizioApplicativoToken*/
  196.     public static final MapKey<String> HEADER_INTEGRAZIONE_SERVIZIO_APPLICATIVO_TOKEN = new MapKey<>("servizioApplicativoToken",16);
  197.     /** Costante che indica il valore dell'header di integrazione: identificativo di transazione*/
  198.     public static final MapKey<String> HEADER_INTEGRAZIONE_ID_TRANSAZIONE = new MapKey<>("idTransazione",17);
  199.    
  200.     /** Costante che indica l'invio delle informazioni di versionamento */
  201.     public static final MapKey<String> HEADER_INTEGRAZIONE_PROTOCOL_INFO = new MapKey<>("protocolInfo",18);
  202.    
  203.     /** Costante che indica l'invio delle informazioni di versionamento */
  204.     public static final MapKey<String> HEADER_INTEGRAZIONE_INFO = new MapKey<>("info",19);
  205.     public static final MapKey<String> HEADER_INTEGRAZIONE_USER_AGENT = new MapKey<>("userAgent",20);
  206.     /** Costante che indica il valore dell'header X che indica la versione della PdD*/
  207.     public static final String HEADER_HTTP_X_PDD = "GovWay-Version";
  208.     /** Costante che indica il valore dell'header X che indica il dettaglio della versione della PdD*/
  209.     public static final String HEADER_HTTP_X_PDD_DETAILS = "GovWay-Version-Info";
  210.    
  211.     /** Costante che indica il valore dell'header X che indica la versione della PdD*/
  212.     public static final String URL_BASED_PDD = "version";
  213.     /** Costante che indica il valore dell'header X che indica il dettaglio della versione della PdD*/
  214.     public static final String URL_BASED_PDD_DETAILS = "version_info";
  215.    
  216.     /** Costante che indica il valore dell'attributo dell'header di integrazione SOAP proprietario di OpenSPCoop che indica la versione della PdD*/
  217.     public static final String HEADER_INTEGRAZIONE_SOAP_PDD_VERSION = "version";
  218.     /** Costante che indica il valore dell'attributo dell'header di integrazione SOAP proprietario di OpenSPCoop che indica il dettaglio della versione della PdD*/
  219.     public static final String HEADER_INTEGRAZIONE_SOAP_PDD_DETAILS = "versionInfo";

  220.    
  221.     /** Costante che indica il valore dell'header di integrazione per i token*/
  222.     public static final String HEADER_INTEGRAZIONE_TOKEN_PROCESS_TIME = "processTime";
  223.     public static final String HEADER_INTEGRAZIONE_TOKEN_ISSUER = "issuer";
  224.     public static final String HEADER_INTEGRAZIONE_TOKEN_SUBJECT = "subject";
  225.     public static final String HEADER_INTEGRAZIONE_TOKEN_USERNAME = "username";
  226.     public static final String HEADER_INTEGRAZIONE_TOKEN_AUDIENCE = "audience";
  227.     public static final String HEADER_INTEGRAZIONE_TOKEN_CLIENT_ID = "clientId";
  228.     public static final String HEADER_INTEGRAZIONE_TOKEN_ISSUED_AT = "issuedAt";
  229.     public static final String HEADER_INTEGRAZIONE_TOKEN_EXPIRED = "expired";
  230.     public static final String HEADER_INTEGRAZIONE_TOKEN_NBF = "nbf";
  231.     public static final String HEADER_INTEGRAZIONE_TOKEN_ROLES = "roles";
  232.     public static final String HEADER_INTEGRAZIONE_TOKEN_SCOPES = "scopes";
  233.     public static final String HEADER_INTEGRAZIONE_TOKEN_FULL_NAME = "fullName";
  234.     public static final String HEADER_INTEGRAZIONE_TOKEN_FIRST_NAME = "firstName";
  235.     public static final String HEADER_INTEGRAZIONE_TOKEN_MIDDLE_NAME = "middleName";
  236.     public static final String HEADER_INTEGRAZIONE_TOKEN_FAMILY_NAME = "familyName";
  237.     public static final String HEADER_INTEGRAZIONE_TOKEN_EMAIL = "email";
  238.    
  239.     // claim jti
  240.     public static final String HEADER_INTEGRAZIONE_TOKEN_JTI = "jti";
  241.    
  242.     // claim PDND
  243.     public static final String HEADER_INTEGRAZIONE_TOKEN_PDND_ORGANIZATION_NAME = "pdndOrganizationName";
  244.     public static final String HEADER_INTEGRAZIONE_TOKEN_PDND_ORGANIZATION_CATEGORY = "pdndOrganizationCategory";
  245.     public static final String HEADER_INTEGRAZIONE_TOKEN_PDND_ORGANIZATION_EXTERNAL = "pdndOrganizationExternal";
  246.     public static final String HEADER_INTEGRAZIONE_TOKEN_PDND_ORGANIZATION_EXTERNAL_ORIGIN = "pdndOrganizationExternalOrigin";
  247.     public static final String HEADER_INTEGRAZIONE_TOKEN_PDND_ORGANIZATION_EXTERNAL_ID = "pdndOrganizationExternalId";
  248.    
  249.     // ulteriori claim usati per adesso solo nella configurazione della cache key
  250.     // Payload
  251.     public static final String HEADER_INTEGRAZIONE_TOKEN_IDENTIFIER = "identifier";
  252.     public static final String HEADER_INTEGRAZIONE_TOKEN_PURPOSE_ID = "purposeId";
  253.     public static final String HEADER_INTEGRAZIONE_TOKEN_SESSION_INFO = "sessionInfo";
  254.     public static final String HEADER_INTEGRAZIONE_TOKEN_CLAIMS = "claims";
  255.     public static final String HEADER_INTEGRAZIONE_TOKEN_AUDIT_DIGEST = "auditDigest";
  256.     // Header
  257.     public static final String HEADER_INTEGRAZIONE_TOKEN_HEADER_KID = "kid";
  258.     public static final String HEADER_INTEGRAZIONE_TOKEN_HEADER_X509_URL = "x509Url";
  259.     // FormRequest
  260.     public static final String HEADER_INTEGRAZIONE_TOKEN_FORM_REQUEST_SCOPE = "form.scope";
  261.     public static final String HEADER_INTEGRAZIONE_TOKEN_FORM_REQUEST_AUDIENCE = "form.audience";
  262.     public static final String HEADER_INTEGRAZIONE_TOKEN_FORM_REQUEST_CLIENT_ID = "form.clientId";
  263.     public static final String HEADER_INTEGRAZIONE_TOKEN_FORM_REQUEST_RESOURCE = "form.resource";
  264.     public static final String HEADER_INTEGRAZIONE_TOKEN_FORM_REQUEST_PARAMETERS = "form.parameters";
  265.     // HTTP
  266.     public static final String HEADER_INTEGRAZIONE_TOKEN_HTTP_METHOD = "http.method";
  267.     public static final String HEADER_INTEGRAZIONE_TOKEN_HTTP_CONTENT_TYPE = "http.contentType";
  268.     public static final String HEADER_INTEGRAZIONE_TOKEN_HTTP_HEADERS = "http.headers";
  269.     public static final String HEADER_INTEGRAZIONE_TOKEN_HTTP_PAYLOAD_TEMPLATE_TYPE = "http.payload.templateType";
  270.     public static final String HEADER_INTEGRAZIONE_TOKEN_HTTP_PAYLOAD = "http.payload";
  271.    
  272.     // Applicativo Richiedente
  273.     public static final String HEADER_INTEGRAZIONE_TOKEN_FORM_APPLICATIVE_REQUESTER = "applicativeRequester";
  274.    
  275.     // Fruizione
  276.     public static final String HEADER_INTEGRAZIONE_TOKEN_FORM_OUTBOUND_INTERFACE = "outboundInterface";
  277.    
  278.     /** Attesa attiva di default effettuata per ottenere un lock, in millisecondi */
  279.     public static final long GET_LOCK_ATTESA_ATTIVA = 90l * 1000l; // 2 minuti
  280.     /** Intervallo maggiore per frequenza di check per ottenere un lock, in millisecondi */
  281.     public static final int GET_LOCK_CHECK_INTERVAL = 50;
  282.    
  283.     /** Attesa attiva di default effettuata per messaggi gia in processamento, in millisecondi */
  284.     public static final long MSG_GIA_IN_PROCESSAMENTO_ATTESA_ATTIVA = 90l * 1000l; // 2 minuti
  285.     /** Intervallo maggiore per frequenza di check per messaggi gia in processamento, in millisecondi */
  286.     public static final int MSG_GIA_IN_PROCESSAMENTO_CHECK_INTERVAL = 500;
  287.  
  288.    
  289.     /** Attesa attiva di default effettuata dal TransactionManager, in millisecondi */
  290.     public static final long TRANSACTION_MANAGER_ATTESA_ATTIVA = 120l * 1000l; // 2 minuti
  291.     /** Intervallo maggiore per frequenza di check nell'attesa attiva effettuata dal TransactionManager, in millisecondi */
  292.     public static final int TRANSACTION_MANAGER_CHECK_INTERVAL = 10;
  293.     /** Intervallo di check su DB effettuata dal TransactionManager, in caso di cache attiva */
  294.     public static final int TRANSACTION_MANAGER_CHECK_DB_INTERVAL = 25;
  295.    
  296.    
  297.     /** Attesa attiva di default effettuata dal timer, in millisecondi */
  298.     public static final long TIMER_EJB_ATTESA_ATTIVA = 60l * 1000l; // 1 minuto
  299.     /** Intervallo maggiore per frequenza di check nell'attesa attiva effettuata dal Timer EJB millisecondi */
  300.     public static final int TIMER_EJB_CHECK_INTERVAL = 200;
  301.    
  302.     /** Intervallo per riconsegna messaggi verso ConsegnaContenutiApplicativi */
  303.     public static final int TIMER_RICONSEGNA_CONTENUTI_APPLICATIVI_PRESA_IN_CONSEGNA_MAX_LIFE = 1800;
  304.     public static final MapKey<String> TIMER_RICONSEGNA_CONTENUTI_APPLICATIVI_MESSAGGI_SPEDIRE = Map.newMapKey("CONTENUTI_APPLICATIVI_MESSAGGI_SPEDIRE");
  305.     public static final String TIMER_RICONSEGNA_CONTENUTI_APPLICATIVI_CODA_DEFAULT = CostantiConfigurazione.CODA_DEFAULT;
  306.     public static final String TIMER_RICONSEGNA_CONTENUTI_APPLICATIVI_PRIORITA_DEFAULT = CostantiConfigurazione.PRIORITA_DEFAULT;
  307.    
  308.     /** Tempi di attesa dello startup per le richieste in ingresso */
  309.     public static final int WAIT_STARTUP_TIMEOUT_SECONDS = 90;
  310.     public static final int WAIT_STARTUP_CHECK_INTERVAL_MS = 1000;
  311.    
  312.     /** Tempi di gestione dei lock da parte del Timer */
  313.     public static final int TIMER_LOCK_MAX_LIFE = -1;
  314.     public static final int TIMER_LOCK_IDLE_TIME = -1;
  315.    

  316.     /** Identifica il timeout di ricezione sulla connesione jms (5 minuti) */
  317.     public static final long NODE_RECEIVER_ATTESA_ATTIVA = 5l * 60l * 1000l;
  318.     /** Intervallo di checl sulla coda in ricezione */
  319.     public static final int NODE_RECEIVER_CHECK_INTERVAL = 10;
  320.     /** Intervallo di check su DB effettuata dal NodeReceiver, in caso di cache attiva */
  321.     public static final int NODE_RECEIVER_CHECK_DB_INTERVAL = 25;
  322.    
  323.     /** Intervallo di check per risposta asincrona */
  324.     public static final int RISPOSTA_ASINCRONA_CHECK_INTERVAL = 500;
  325.     /** Timeout per risposta asincrona: 90 secondi */
  326.     public static final long RISPOSTA_ASINCRONA_ATTESA_ATTIVA = 90000;
  327.    
  328.     /** Return code in gestione CORS */
  329.     public static final int GESTIONE_CORS_RETURN_CODE = 200;
  330.      
  331.     /** Timeout per la istanziazione della connessione: inoltro buste */
  332.     public static final int CONNETTORE_CONNECTION_TIMEOUT_INOLTRO_BUSTE = 10000;
  333.     /** Timeout per la istanziazione della connessione: consegna contenuti applicativi */
  334.     public static final int CONNETTORE_CONNECTION_TIMEOUT_CONSEGNA_CONTENUTI_APPLICATIVI = 10000;
  335.     /** Timeout per la lettura dalla connessione: inoltro buste */
  336.     public static final int CONNETTORE_READ_CONNECTION_TIMEOUT_INOLTRO_BUSTE = 180000;
  337.     /** Timeout per la lettura dalla connessione: consegna contenuti applicativi */
  338.     public static final int CONNETTORE_READ_CONNECTION_TIMEOUT_CONSEGNA_CONTENUTI_APPLICATIVI = 120000;
  339.     /** Timeout in millisecondi massimi durante il quale una connessione viene mantenuta aperta dalla PdD: inoltro buste */
  340.     public static final int CONNETTORE_CONNECTION_LIFE_INOLTRO_BUSTE = 1800000;
  341.     /** Timeout in millisecondi massimi durante il quale una connessione viene mantenuta aperta dalla PdD: consegna contenuti applicativi */
  342.     public static final int CONNETTORE_CONNECTION_LIFE_CONSEGNA_CONTENUTI_APPLICATIVI = 1800000;
  343.    
  344.     /** Dimensione della cache */
  345.     public static final int CONNETTORE_HTTP_URL_HTTPS_CACHE_SIZE = 10000;
  346.    
  347.     /** Configurazione default per refresh cluster dinamico */
  348.     public static final int CLUSTER_DINAMICO_REFRESH_SECONDS = 30;
  349.    
  350.    
  351.     /** Dominio utilizzato per le risorse JMX */
  352.     public static final String JMX_DOMINIO = CostantiJMX.JMX_DOMINIO;
  353.     /** Tipo utilizzato per le risorse JMX */
  354.     public static final String JMX_TYPE = CostantiJMX.JMX_TYPE;
  355.     /** MBean per la Configurazione */
  356.     public static final String JMX_CONFIGURAZIONE_PDD = "ConfigurazionePdD";
  357.     /** MBean per il Registro dei Servizi */
  358.     public static final String JMX_REGISTRO_SERVIZI = "AccessoRegistroServizi";
  359.     /** MBean per il Monitoraggio delle Risorse */
  360.     public static final String JMX_MONITORAGGIO_RISORSE = "MonitoraggioRisorse";
  361.     /** MBean per l'Autorizzazione */
  362.     public static final String JMX_AUTORIZZAZIONE = "DatiAutorizzazione";
  363.     /** MBean per l'Autenticazione */
  364.     public static final String JMX_AUTENTICAZIONE = "DatiAutenticazione";
  365.     /** MBean per la gestione dei token */
  366.     public static final String JMX_TOKEN = "GestioneToken";
  367.     /** MBean per gli attribute authority */
  368.     public static final String JMX_ATTRIBUTE_AUTHORITY = "AttributeAuthority";
  369.     /** MBean per il caching delle risposte */
  370.     public static final String JMX_RESPONSE_CACHING = "ResponseCaching";
  371.     /** MBean per il caching dei keystore */
  372.     public static final String JMX_KEYSTORE_CACHING = "Keystore";
  373.     /** MBean per la gestione della consegna agli applicativi */
  374.     public static final String JMX_LOAD_BALANCER = "LoadBalancer";
  375.     /** MBean per la gestione delle richieste */
  376.     public static final String JMX_GESTORE_RICHIESTE = "DatiRichieste";
  377.     /** MBean per il repository dei messaggi */
  378.     public static final String JMX_REPOSITORY_MESSAGGI = "RepositoryMessaggi";
  379.     /** MBean per lo stato dei servizi PdD */
  380.     public static final String JMX_STATO_SERVIZI_PDD = "StatoServiziPdD";
  381.     /** MBean per le info statistiche */
  382.     public static final String JMX_INFORMAZIONI_STATISTICHE_PDD = "StatistichePdD";
  383.     /** MBean per le system properties */
  384.     public static final String JMX_SYSTEM_PROPERTIES_PDD = "SystemPropertiesPdD";
  385.     /** MBean per la configurazione di sistema */
  386.     public static final String JMX_CONFIGURAZIONE_SISTEMA = "ConfigurazioneSistema";
  387.     /** MBean per il controllo del traffico */
  388.     public static final String JMX_CONTROLLO_TRAFFICO = JMXConstants.JMX_NAME;
  389.    
  390.    
  391.     /** Limit messaggi processati dai Gestori */
  392.     public static final int LIMIT_MESSAGGI_GESTORI = 50;
  393.    
  394.    
  395.     /** Tipo WSDL */
  396.     public static final String SCHEMA_XSD = "Schema xsd dei messaggi";
  397.     public static final String WSDL_CONCETTUALE = "Wsdl concettuale";
  398.     public static final String WSDL_FRUITORE = "Wsdl fruitore";
  399.     public static final String WSDL_EROGATORE = "Wsdl erogatore";
  400.    
  401.     public static final MapKey<String> BUSTA_RISPOSTA = Map.newMapKey("BustaProprietaHeaderIntegrazione");
  402.    
  403.     public static final String CHECK_STATO_PDD_EXECUTE_HEALTH_CHECK_STATS = "executeHealthCheckStats";
  404.     public static final String CHECK_STATO_PDD_EXECUTE_HOURLY_HEALTH_CHECK_STATS = "executeHourlyHealthCheckStats";
  405.     public static final String CHECK_STATO_PDD_EXECUTE_DAILY_HEALTH_CHECK_STATS = "executeDailyHealthCheckStats";
  406.     public static final String CHECK_STATO_PDD_EXECUTE_WEEKLY_HEALTH_CHECK_STATS = "executeWeeklyHealthCheckStats";
  407.     public static final String CHECK_STATO_PDD_EXECUTE_MONTHLY_HEALTH_CHECK_STATS = "executeMonthlyHealthCheckStats";
  408.    
  409.     public static final String CHECK_STATO_PDD_EXECUTE_HOURLY_HEALTH_CHECK_STATS_THRESHOLD = "hourlyHealthCheckStatsThreshold";
  410.     public static final String CHECK_STATO_PDD_EXECUTE_DAILY_HEALTH_CHECK_STATS_THRESHOLD = "dailyHealthCheckStatsThreshold";
  411.     public static final String CHECK_STATO_PDD_EXECUTE_WEEKLY_HEALTH_CHECK_STATS_THRESHOLD = "weeklyHealthCheckStatsThreshold";
  412.     public static final String CHECK_STATO_PDD_EXECUTE_MONTHLY_HEALTH_CHECK_STATS_THRESHOLD = "monthlyHealthCheckStatsThreshold";
  413.    
  414.     public static final String CHECK_STATO_PDD_METHOD_NAME = "methodName";
  415.     public static final String CHECK_STATO_PDD_ATTRIBUTE_NAME = "attributeName";
  416.     public static final String CHECK_STATO_PDD_ATTRIBUTE_VALUE = "attributeValue";
  417.     public static final String CHECK_STATO_PDD_ATTRIBUTE_BOOLEAN_VALUE = "attributeBooleanValue";
  418.     public static final String CHECK_STATO_PDD_RESOURCE_NAME = "resourceName";
  419.     public static final String CHECK_STATO_PDD_PARAM_VALUE = "paramValue";
  420.     public static final String CHECK_STATO_PDD_PARAM_VALUE_2 = "paramValue2";
  421.     public static final String CHECK_STATO_PDD_PARAM_VALUE_3 = "paramValue3";
  422.     public static final String CHECK_STATO_PDD_PARAM_VALUE_4 = "paramValue4";
  423.     public static final String CHECK_STATO_PDD_PARAM_INT_VALUE = "paramIntegerValue";
  424.     public static final String CHECK_STATO_PDD_PARAM_INT_VALUE_2 = "paramIntegerValue2";
  425.     public static final String CHECK_STATO_PDD_PARAM_INT_VALUE_3 = "paramIntegerValue3";
  426.     public static final String CHECK_STATO_PDD_PARAM_INT_VALUE_4 = "paramIntegerValue4";
  427.     public static final String CHECK_STATO_PDD_PARAM_LONG_VALUE = "paramLongValue";
  428.     public static final String CHECK_STATO_PDD_PARAM_LONG_VALUE_2 = "paramLongValue2";
  429.     public static final String CHECK_STATO_PDD_PARAM_LONG_VALUE_3 = "paramLongValue3";
  430.     public static final String CHECK_STATO_PDD_PARAM_LONG_VALUE_4 = "paramLongValue4";
  431.     public static final String CHECK_STATO_PDD_PARAM_BOOLEAN_VALUE = "paramBooleanValue";
  432.     public static final String CHECK_STATO_PDD_PARAM_BOOLEAN_VALUE_2 = "paramBooleanValue2";
  433.     public static final String CHECK_STATO_PDD_PARAM_BOOLEAN_VALUE_3 = "paramBooleanValue3";
  434.     public static final String CHECK_STATO_PDD_PARAM_BOOLEAN_VALUE_4 = "paramBooleanValue4";
  435.    
  436.    
  437.    
  438.     public static final MapKey<String> CONNETTORE_REQUEST_URL = Map.newMapKey("CONNETTORE_REQUEST_URL");
  439.     public static final MapKey<String> CONNETTORE_REQUEST_METHOD = Map.newMapKey("CONNETTORE_REQUEST_METHOD");
  440.     public static final String CONNETTORE_REQUEST_PREFIX_METHOD = "[";
  441.     public static final String CONNETTORE_REQUEST_SUFFIX_METHOD = "]";
  442.     public static final String CONNETTORE_REQUEST_SEPARATOR = " ";
  443.     public static final String getConnettoreRequest(String url, String method) {
  444.         return CONNETTORE_REQUEST_PREFIX_METHOD+method+CONNETTORE_REQUEST_SUFFIX_METHOD+CONNETTORE_REQUEST_SEPARATOR+url;
  445.     }
  446.     public static final String readUrlFromConnettoreRequest(String request) {
  447.         String splitSeparator = CONNETTORE_REQUEST_SUFFIX_METHOD+CONNETTORE_REQUEST_SEPARATOR;
  448.         int indexOf = request.indexOf(splitSeparator);
  449.         if(indexOf>0 && request.length()>(indexOf+splitSeparator.length())) {
  450.             return request.substring(indexOf+splitSeparator.length());
  451.         }
  452.         return null;
  453.     }
  454.     public static final String readMethodFromConnettoreRequest(String request) {
  455.         String splitSeparator = CONNETTORE_REQUEST_SUFFIX_METHOD+CONNETTORE_REQUEST_SEPARATOR;
  456.         int indexOf = request.indexOf(splitSeparator);
  457.         if(indexOf>0) {
  458.             String s = request.substring(0,indexOf);
  459.             if(s.startsWith(CONNETTORE_REQUEST_PREFIX_METHOD)) {
  460.                 return s.substring(CONNETTORE_REQUEST_PREFIX_METHOD.length());
  461.             }
  462.         }
  463.         return null;
  464.     }
  465.    
  466.    
  467.        
  468.    
  469.     /* Proprieta di una busta: renderle reperibili TUTTE quando si è letta una busta, in ogni servizio/modulo */
  470.     /* Fare una nota che dica che queste proprietà sono disponibili sempre, non appena è stata letta/costruita una busta */

  471.     /** Costante che identifica una keyword per rappresentare il protocollo */
  472.     public static final String KEY_PROTOCOLLO = "@PROTOCOLLO@";
  473.     /** Costante che identifica una keyword per rappresentare i tipi di soggetti supportati dal protocollo */
  474.     public static final String KEY_PROTOCOLLO_TIPI_SOGGETTI = "@PROTOCOLLO_TIPI_SOGGETTI@";
  475.     /** Costante che identifica una keyword per rappresentare i tipi di servizio supportati dal protocollo */
  476.     public static final String KEY_PROTOCOLLO_TIPI_SERVIZI = "@PROTOCOLLO_TIPI_SERVIZI@";
  477.    
  478.     /** Costante che identifica una keyword per rappresentare l'identificativo della richiesta */
  479.     public static final String KEY_ID_MESSAGGIO_RICHIESTA = "@ID_MESSAGGIO_RICHIESTA@";
  480.     /** Costante che identifica una keyword per rappresentare l'identificativo della risposta */
  481.     public static final String KEY_ID_MESSAGGIO_RISPOSTA = "@ID_MESSAGGIO_RISPOSTA@";
  482.     /** Costante che identifica una keyword per rappresentare il profilo di collaborazione */
  483.     public static final String KEY_PROFILO_COLLABORAZIONE = "@PROFILO_COLLABORAZIONE@";
  484.     /** Costante che identifica una keyword per rappresentare il riferimento messaggio */
  485.     public static final String KEY_RIFERIMENTO_MESSAGGIO_RICHIESTA = "@RIFERIMENTO_MESSAGGIO_RICHIESTA@";
  486.     /** Costante che identifica una keyword per rappresentare il riferimento messaggio */
  487.     public static final String KEY_RIFERIMENTO_MESSAGGIO_RISPOSTA = "@RIFERIMENTO_MESSAGGIO_RISPOSTA@";
  488.        
  489.     /** Costante che identifica una keyword per rappresentare il tipo mittente di una busta richiesta */
  490.     public static final String KEY_TIPO_MITTENTE_BUSTA_RICHIESTA = "@TIPO_MITTENTE_BUSTA_RICHIESTA@";
  491.     /** Costante che identifica una keyword per rappresentare il mittente di una busta richiesta */
  492.     public static final String KEY_MITTENTE_BUSTA_RICHIESTA = "@MITTENTE_BUSTA_RICHIESTA@";
  493.     /** Costante che identifica una keyword per rappresentare il tipo destinatario di una busta richiesta */
  494.     public static final String KEY_TIPO_DESTINATARIO_BUSTA_RICHIESTA = "@TIPO_DESTINATARIO_BUSTA_RICHIESTA@";
  495.     /** Costante che identifica una keyword per rappresentare il destinatario di una busta richiesta */
  496.     public static final String KEY_DESTINATARIO_BUSTA_RICHIESTA = "@DESTINATARIO_BUSTA_RICHIESTA@";
  497.     /** Costante che identifica una keyword per rappresentare il tipo servizio di una busta richiesta */
  498.     public static final String KEY_TIPO_SERVIZIO_BUSTA_RICHIESTA = "@TIPO_SERVIZIO_BUSTA_RICHIESTA@";
  499.     /** Costante che identifica una keyword per rappresentare il servizio di una busta richiesta */
  500.     public static final String KEY_SERVIZIO_BUSTA_RICHIESTA = "@SERVIZIO_BUSTA_RICHIESTA@";
  501.     /** Costante che identifica una keyword per rappresentare la versione del servizio di una busta richiesta */
  502.     public static final String KEY_VERSIONE_SERVIZIO_BUSTA_RICHIESTA = "@VERSIONE_SERVIZIO_BUSTA_RICHIESTA@";
  503.     /** Costante che identifica una keyword per rappresentare il servizio di una busta azione */
  504.     public static final String KEY_AZIONE_BUSTA_RICHIESTA = "@AZIONE_BUSTA_RICHIESTA@";
  505.     /** Costante che identifica l'indirizzo telematico del mittente della richiesta */
  506.     public static final String KEY_INDIRIZZO_TELEMATICO_MITTENTE_RICHIESTA = "@INDIRIZZO_TELEMATICO_MITTENTE_RICHIESTA@";
  507.     /** Costante che identifica l'indirizzo telematico del destinatario della richiesta */
  508.     public static final String KEY_INDIRIZZO_TELEMATICO_DESTINATARIO_RICHIESTA = "@INDIRIZZO_TELEMATICO_DESTINATARIO_RICHIESTA@";
  509.     /** Costante che identifica una keyword per rappresentare la scadenza */
  510.     public static final String KEY_SCADENZA_BUSTA_RICHIESTA = "@SCADENZA_BUSTA_RICHIESTA@";
  511.    
  512.     /** Costante che identifica una keyword per rappresentare il tipo mittente di una busta risposta */
  513.     public static final String KEY_TIPO_MITTENTE_BUSTA_RISPOSTA = "@TIPO_MITTENTE_BUSTA_RISPOSTA@";
  514.     /** Costante che identifica una keyword per rappresentare il mittente di una busta risposta */
  515.     public static final String KEY_MITTENTE_BUSTA_RISPOSTA = "@MITTENTE_BUSTA_RISPOSTA@";
  516.     /** Costante che identifica una keyword per rappresentare il tipo destinatario di una busta risposta */
  517.     public static final String KEY_TIPO_DESTINATARIO_BUSTA_RISPOSTA = "@TIPO_DESTINATARIO_BUSTA_RISPOSTA@";
  518.     /** Costante che identifica una keyword per rappresentare il destinatario di una busta risposta */
  519.     public static final String KEY_DESTINATARIO_BUSTA_RISPOSTA = "@DESTINATARIO_BUSTA_RISPOSTA@";  
  520.     /** Costante che identifica una keyword per rappresentare il tipo servizio di una busta risposta */
  521.     public static final String KEY_TIPO_SERVIZIO_BUSTA_RISPOSTA = "@TIPO_SERVIZIO_BUSTA_RISPOSTA@";
  522.     /** Costante che identifica una keyword per rappresentare il servizio di una busta risposta */
  523.     public static final String KEY_SERVIZIO_BUSTA_RISPOSTA = "@SERVIZIO_BUSTA_RISPOSTA@";
  524.     /** Costante che identifica una keyword per rappresentare la versione del servizio di una busta risposta */
  525.     public static final String KEY_VERSIONE_SERVIZIO_BUSTA_RISPOSTA = "@VERSIONE_SERVIZIO_BUSTA_RISPOSTA@";
  526.     /** Costante che identifica una keyword per rappresentare il servizio di una busta azione */
  527.     public static final String KEY_AZIONE_BUSTA_RISPOSTA = "@AZIONE_BUSTA_RISPOSTA@";
  528.     /** Costante che identifica l'indirizzo telematico del mittente della risposta */
  529.     public static final String KEY_INDIRIZZO_TELEMATICO_MITTENTE_RISPOSTA = "@INDIRIZZO_TELEMATICO_MITTENTE_RISPOSTA@";
  530.     /** Costante che identifica l'indirizzo telematico del destinatario della risposta */
  531.     public static final String KEY_INDIRIZZO_TELEMATICO_DESTINATARIO_RISPOSTA = "@INDIRIZZO_TELEMATICO_DESTINATARIO_RISPOSTA@";
  532.     /** Costante che identifica una keyword per rappresentare la scadenza */
  533.     public static final String KEY_SCADENZA_BUSTA_RISPOSTA = "@SCADENZA_BUSTA_RISPOSTA@";

  534.     /** Costante che indica la sequenza presente in busta  */
  535.     public static final String KEY_URI_ACCORDO_PARTE_SPECIFICA = "@URI_ACCORDO_PARTE_SPECIFICA@";
  536.    
  537.     /** Costante che indica la sequenza presente in busta  */
  538.     public static final String KEY_SEQUENZA = "@SEQUENZA@";
  539.    
  540.     /** Costante che identifica una keyword per rappresentare il servizio applicativo fruitore */
  541.     public static final String KEY_SA_FRUITORE = "@SERVIZIO_APPLICATIVO_FRUITORE@";
  542.     /** Costante che identifica una keyword per rappresentare il servizio applicativo erogatore */
  543.     public static final String KEY_SA_EROGATORE = "@SERVIZIO_APPLICATIVO_EROGATORE@";
  544.    
  545.     /** Costante che identifica una keyword per rappresentare l'identificativo della correlazione applicativa */
  546.     public static final String KEY_ID_CORRELAZIONE_APPLICATIVA = "@ID_CORRELAZIONE_APPLICATIVA@";
  547.    
  548.     /** Costante che identifica una keyword per rappresentare l'identificativo della correlazione asincrona */
  549.     public static final String KEY_ID_CORRELAZIONE_ASINCRONA = "@ID_CORRELAZIONE_ASINCRONA@";
  550.    
  551.     /** Costante che identifica un errore di processamento generico */
  552.     public static final String KEY_ERRORE_PROCESSAMENTO = "@ERRORE_PROCESSAMENTO@";
  553.    
  554.     /** Costante che fornisce indicazione sul tipo di errore, permette di localizzare l'errore all'interno del modulo funzionale */
  555.     public static final String KEY_POSIZIONE_ERRORE = "@POSIZIONE_ERRORE@";
  556.    
  557.     /** Costante che indica il proprietario di un messaggio  */
  558.     public static final String KEY_PROPRIETARIO_MESSAGGIO = "@PROPRIETARIO_MESSAGGIO@";
  559.    
  560.     /** Costante che identifica un identificativo del messaggio processato dal TransactionManager */
  561.     public static final String KEY_ID_MESSAGGIO_TRANSACTION_MANAGER = "@ID_MESSAGGIO_TRANSACTION_MANAGER@";
  562.    
  563.     /** Costante che identifica un header http */
  564.     public static final String KEY_HTTP_HEADER = "@HEADER_HTTP@";
  565.    
  566.     /** Costante che identifica il namespace del messaggio soap ricevuto */
  567.     public static final String KEY_SOAP_ENVELOPE_NAMESPACE = "@SOAP_NAMESPACE@";
  568.    
  569.     /** Costante che identifica la versione SOAP del messaggio ricevuto */
  570.     public static final String KEY_SOAP_VERSION = "@SOAP_VERSION@";
  571.    
  572.     /** Costante che identifica il namespace del messaggio soap atteso rispetto alla versione soap */
  573.     public static final String KEY_SOAP_ENVELOPE_NAMESPACE_ATTESO = "@SOAP_NAMESPACE_ATTESO@";
  574.    
  575.     /** Costante che identifica i content types attesi per la versione soap */
  576.     public static final String KEY_CONTENT_TYPES_ATTESI = "@CONTENT_TYPES_ATTESI@";
  577.    
  578.     /** Costante che identifica un tipo di messaggio Errore */
  579.     public static final String KEY_TIPO_MESSAGGIO_BUSTA_ERRORE = "@TIPO_ERRORE_BUSTA@";
  580.     public static final String TIPO_MESSAGGIO_BUSTA_ERRORE_PROCESSAMENTO = "Processamento";
  581.     public static final String TIPO_MESSAGGIO_BUSTA_ERRORE_INTESTAZIONE = "Intestazione";
  582.    
  583.     /** Costante che identifica il behaviour personalizzato */
  584.     public static final String KEY_TIPO_BEHAVIOUR = "@TIPO_BEHAVIOUR@";
  585.     /** Costante che descrive il behaviour personalizzato */
  586.     public static final String KEY_DESCRIZIONE_BEHAVIOUR = "@DESCRIZIONE_BEHAVIOUR@";
  587.    
  588.     /** Costante che identifica il tipo di selettore per l'indentificazione dinamica dei connettori */
  589.     public static final String KEY_TIPO_SELETTORE = "@TIPO_SELETTORE@";
  590.     /** Costante che identifica il patter utilizzato dal selettore per l'indentificazione dinamica dei connettori */
  591.     public static final String KEY_PATTERN_SELETTORE = "@PATTERN_SELETTORE@";
  592.     /** Costante che identifica la condizione estratta per l'indentificazione dinamica dei connettori */
  593.     public static final String KEY_CONDIZIONE_CONNETTORE =  "@CONDIZIONE_CONNETTORE@";
  594.     /** Costante che identifica il nome di un connettore */
  595.     public static final String KEY_NOME_CONNETTORE = "@NOME_CONNETTORE@";
  596.     /** Costante che identifica la condizione estratta per lo sticky */
  597.     public static final String KEY_CONDIZIONE_STICKY =  "@CONDIZIONE_STICKY@";
  598.    
  599.    
  600.     /* Proprietà specifiche per modulo funzionale */
  601.    
  602.     /** Costante che identifica una keyword per rappresentare l'identificativo da inoltrare */
  603.     public static final String KEY_ID_MESSAGGIO_DA_INOLTRARE = "@ID_MESSAGGIO_DA_INOLTRARE@";
  604.     /** Costante che identifica una keyword per rappresentare l'identificativo da eliminare */
  605.     public static final String KEY_ID_MESSAGGIO_DA_ELIMINARE = "@ID_MESSAGGIO_DA_ELIMINARE@";
  606.     /** Costante che identifica una keyword per rappresentare un tipo di messaggio INBOX/OUTBOX */
  607.     public static final String KEY_TIPO_MESSAGGIO = "@TIPO_MESSAGGIO@";
  608.     /** Costante che identifica una keyword per rappresentare la scadenza di un messaggio */
  609.     public static final String KEY_SCADENZA_MESSAGGIO = "@SCADENZA_MESSAGGIO@";
  610.     /** Costante che identifica una keyword per rappresentare le credenziali utilizzate dal servizio applicativo fruitore */
  611.     public static final String KEY_CREDENZIALI_SA_FRUITORE = "@CREDENZIALI_SA_FRUITORE@";
  612.     /** Costante che identifica una keyword per rappresentare le credenziali utilizzate dal mittente */
  613.     public static final String KEY_CREDENZIALI = "@CREDENZIALI@";
  614.     /** Costante che identifica una keyword per rappresentare la porta delegata */
  615.     public static final String KEY_PORTA_DELEGATA = "@PORTA_DELEGATA@";
  616.     /** Costante che identifica una keyword per rappresentare la porta applicativa */
  617.     public static final String KEY_PORTA_APPLICATIVA = "@PORTA_APPLICATIVA@";
  618.     /** Costante che identifica una keyword per rappresentare la tipologia della risposta applicativa ritornata (es. ricevuta asincrona simmetrica) */
  619.     public static final String KEY_TIPOLOGIA_RISPOSTA_APPLICATIVA = "@TIPOLOGIA_RISPOSTA_APPLICATIVA@";
  620.     /** Costante che identifica una keyword per rappresentare un timeout */
  621.     public static final String KEY_TIMEOUT = "@TIMEOUT@";
  622.     /** Costante che identifica una keyword per rappresentare un offset */
  623.     public static final String KEY_OFFSET = "@OFFSET@";
  624.     /** Costante che identifica una keyword per rappresentare un limit */
  625.     public static final String KEY_LIMIT = "@LIMIT@";
  626.     /** Costante che identifica una keyword per rappresentare il numero di eventi */
  627.     public static final String KEY_NUMERO_EVENTI = "@NUMERO_EVENTI@";
  628.     /** Costante che identifica una keyword per rappresentare l'identificativo dell'evento */
  629.     public static final String KEY_ID_EVENTO = "@ID_EVENTO@";
  630.     /** Costante che identifica una keyword per rappresentare il tipo dell'evento */
  631.     public static final String KEY_TIPO_EVENTO = "@TIPO_EVENTO@";
  632.     /** Costante che identifica una keyword per rappresentare il dettaglio dell'evento */
  633.     public static final String KEY_DETTAGLI_EVENTO = "@DETTAGLI_EVENTO@";
  634.     /** Costante che identifica una keyword per rappresentare un intervallo temporale */
  635.     public static final String KEY_TEMPO_GESTIONE = "@TEMPO_GESTIONE@";
  636.     /** Costante che indica la data di aggiornamento */
  637.     public static final String DATA_AGGIORNAMENTO = "@DATA_AGGIORNAMENTO@";
  638.     /** Costante che identifica una keyword per rappresentare il numero di operazioni */
  639.     public static final String KEY_NUMERO_OPERAZIONI = "@NUMERO_OPERAZIONI@";
  640.     /** Costante che identifica una keyword per rappresentare i dati di una operazione */
  641.     public static final String KEY_DATI_OPERAZIONE = "@DATI_OPERAZIONE@";
  642.     /** Costante che identifica una keyword per rappresentare il dettaglio di una operazione */
  643.     public static final String KEY_DETTAGLI_OPERAZIONE = "@DETTAGLI_OPERAZIONE@";
  644.     /** Costante che identifica una keyword per rappresentare un tipo di statistica */
  645.     public static final String KEY_TIPO_STATISTICA = "@TIPO_STATISTICA@";
  646.     /** Costante che identifica una keyword per rappresentare un intervallo temporale */
  647.     public static final String KEY_TEMPO_GENERAZIONE = "@TEMPO_GENERAZIONE@";
  648.     /** Costante che identifica il tipo di autorizzazione */
  649.     public static final String KEY_TIPO_AUTORIZZAZIONE = "@TIPO_AUTORIZZAZIONE@";
  650.     /** Costante che identifica il tipo di autorizzazione buste */
  651.     public static final String KEY_TIPO_AUTORIZZAZIONE_CONTENUTO = "@TIPO_AUTORIZZAZIONE_CONTENUTO@";
  652.     /** Costante che identifica il tipo di autorizzazione buste */
  653.     public static final String KEY_TIPO_AUTORIZZAZIONE_BUSTE = "@TIPO_AUTORIZZAZIONE_BUSTE@";
  654.     /** Costante che identifica il tipo di autenticazione */
  655.     public static final String KEY_TIPO_AUTENTICAZIONE = "@TIPO_AUTENTICAZIONE@";
  656.     /** Costante che identifica la policy di gestione token */
  657.     public static final String KEY_TOKEN_POLICY_GESTIONE = "@TOKEN_POLICY_GESTIONE@";
  658.     /** Costante che identifica il tipo di token */
  659.     public static final String KEY_TOKEN_TIPO = "@TOKEN_TIPO@";
  660.     /** Costante che identifica le azioni intraprese sul token */
  661.     public static final String KEY_TOKEN_POLICY_AZIONI = "@TOKEN_POLICY_AZIONI@";
  662.     /** Costante che identifica la posizione del token */
  663.     public static final String KEY_TOKEN_POSIZIONE = "@TOKEN_POSIZIONE@";
  664.     /** Costante che identifica il token */
  665.     public static final String KEY_TOKEN = "@TOKEN@";
  666.     /** Costante che identifica le informazioni sul token */
  667.     public static final String KEY_TOKEN_INFO = "@TOKEN_INFO@";
  668.     /** Costante che identifica le informazioni sul token */
  669.     public static final String KEY_DYNAMIC_DISCOVERY_INFO = "@DYNAMIC_DISCOVERY_INFO@";
  670.     /** Costante che identifica l'endpoint del servizio di dynamic discovery */
  671.     public static final String KEY_TOKEN_ENDPOINT_SERVIZIO_DYNAMIC_DISCOVERY = "@TOKEN_ENDPOINT_SERVIZIO_DYNAMIC_DISCOVERY@";
  672.     /** Costante che identifica l'endpoint del servizio di introspection */
  673.     public static final String KEY_TOKEN_ENDPOINT_SERVIZIO_INTROSPECTION = "@TOKEN_ENDPOINT_SERVIZIO_INTROSPECTION@";
  674.     /** Costante che identifica l'endpoint del servizio di userInfo */
  675.     public static final String KEY_TOKEN_ENDPOINT_SERVIZIO_USER_INFO = "@TOKEN_ENDPOINT_SERVIZIO_USER_INFO@";
  676.     /** Costante che identifica le informazioni di autenticazione controllate nel token */
  677.     public static final String KEY_TOKEN_AUTHN_CHECK = "@TOKEN_AUTHN_CHECK@";
  678.     /** Costante che identifica l'applicativo client all'interno del token */
  679.     public static final String KEY_TOKEN_CLIENT_ID = "@TOKEN_CLIENT_ID@";
  680.     /** Costante che rappresenta l'identità del servizio applicativo identificato tramite il token */
  681.     public static final String KEY_TOKEN_SERVIZIO_APPLICATIVO = "@TOKEN_SERVIZIO_APPLICATIVO@";
  682.     /** Costante che identifica il nome del servizio di attribute authority */
  683.     public static final String KEY_ATTRIBUTE_AUTHORITY_NAME = "@ATTRIBUTE_AUTHORITY_NAME@";
  684.     /** Costante che identifica l'endpoint del servizio di attribute authority */
  685.     public static final String KEY_ATTRIBUTE_AUTHORITY_ENDPOINT = "@ATTRIBUTE_AUTHORIY_ENDPOINT@";
  686.     /** Costante che identifica gli attributi recuperati */
  687.     public static final String KEY_ATTRIBUTES = "@ATTRIBUTES@";
  688.     /** Costante che identifica il tipo di validazione contenuti */
  689.     public static final String KEY_TIPO_VALIDAZIONE_CONTENUTI = "@TIPO_VALIDAZIONE_CONTENUTI@";
  690.     /** Costante che identifica dettagli ulteriori sulla validazione contenuti */
  691.     public static final String KEY_DETAILS_VALIDAZIONE_CONTENUTI = "@DETAILS_VALIDAZIONE_CONTENUTI@";    
  692.     /** Costante che identifica la tipologia di processamento MTOM della richiesta */
  693.     public static final String KEY_TIPO_PROCESSAMENTO_MTOM_RICHIESTA = "@TIPO_PROCESSAMENTO_MTOM_RICHIESTA@";
  694.     public static final MapKey<String> TIPO_PROCESSAMENTO_MTOM_RICHIESTA = Map.newMapKey("TIPO_PROCESSAMENTO_MTOM_RICHIESTA");
  695.     /** Costante che identifica la tipologia di processamento MTOM della risposta */
  696.     public static final String KEY_TIPO_PROCESSAMENTO_MTOM_RISPOSTA = "@TIPO_PROCESSAMENTO_MTOM_RISPOSTA@";
  697.     public static final MapKey<String> TIPO_PROCESSAMENTO_MTOM_RISPOSTA = Map.newMapKey("TIPO_PROCESSAMENTO_MTOM_RISPOSTA");
  698.     /** Costante che identifica il tipo di sicurezza sul messaggio applicato alla richiesta */
  699.     public static final String KEY_TIPO_SICUREZZA_MESSAGGIO_RICHIESTA = "@TIPO_SICUREZZA_MESSAGGIO_RICHIESTA@";
  700.     public static final MapKey<String> TIPO_SICUREZZA_MESSAGGIO_RICHIESTA = Map.newMapKey("TIPO_SICUREZZA_MESSAGGIO_RICHIESTA");
  701.     /** Costante che identifica il tipo di sicurezza sul messaggio applicato alla risposta */
  702.     public static final String KEY_TIPO_SICUREZZA_MESSAGGIO_RISPOSTA = "@TIPO_SICUREZZA_MESSAGGIO_RISPOSTA@";
  703.     public static final MapKey<String> TIPO_SICUREZZA_MESSAGGIO_RISPOSTA = Map.newMapKey("TIPO_SICUREZZA_MESSAGGIO_RISPOSTA");
  704.     /** Costante che identifica la trasformazione applicata alla richiesta */
  705.     public static final String KEY_TIPO_TRASFORMAZIONE_RICHIESTA = "@TIPO_TRASFORMAZIONE_RICHIESTA@";
  706.     public static final MapKey<String> TIPO_TRASFORMAZIONE_RICHIESTA = Map.newMapKey("TIPO_TRASFORMAZIONE_RICHIESTA");
  707.     /** Costante che identifica la trasformazione applicata alla risposta */
  708.     public static final String KEY_TIPO_TRASFORMAZIONE_RISPOSTA = "@TIPO_TRASFORMAZIONE_RISPOSTA@";      
  709.     public static final MapKey<String> TIPO_TRASFORMAZIONE_RISPOSTA = Map.newMapKey("TIPO_TRASFORMAZIONE_RISPOSTA");
  710.     /** Costante che identifica il tipo di messaggio (normale, ricevuta asincrona...) */
  711.     public static final String KEY_TIPO_MESSAGGIO_BUSTA = "@TIPO_MESSAGGIO_BUSTA@";
  712.     /** Costante che identifica tipo/nome mittente e tipo/nome destinatario erogatore del servizio da autorizzare, calcolato in base al tipo di messaggio ricevuto.  */
  713.     public static final String KEY_MITTENTE_E_SERVIZIO_DA_AUTORIZZARE = "@MITTENTE_E_SERVIZIO_DA_AUTORIZZARE@";
  714.     /** Costante che identifica un messaggio contenente le credenziali del mittente.  */
  715.     public static final String KEY_CREDENZIALI_MITTENTE_MSG = "@CREDENZIALI_MITTENTE_MSG@";
  716.     /** Costante che identifica un messaggio contenente  l'identità del servizio applicativo fruitore */
  717.     public static final String KEY_SA_FRUITORE_MSG = "@SERVIZIO_APPLICATIVO_FRUITORE_MSG@";
  718.     /** Costante che identifica un messaggio contenente il subject portato nell'header MessageSecurity  */
  719.     public static final String KEY_SUBJECT_MESSAGE_SECURITY_MSG = "@SUBJECT_MESSAGE_SECURITY_MSG@";
  720.     /** Costante che identifica il tipo di una ricevuta asincrona */
  721.     public static final String KEY_TIPO_RICEVUTA_ASINCRONA = "@TIPO_RICEVUTA_ASINCRONA@";
  722.     /** Costante che indica le eccezioni riscontrate dalla validazione della busta, o portate in un msg di protocollo errore */
  723.     public static final String KEY_ECCEZIONI = "@ECCEZIONI@";
  724.     /** Costante che indica il numero eccezioni riscontrate da una validazione della busta, o numero eccezioni portate in un msg di protocollo errore*/
  725.     public static final String KEY_NUMERO_ECCEZIONI = "@NUMERO_ECCEZIONI@";
  726.     /** Costante che indica le eccezioni riscontrate dalla validazione della busta, o portate in un msg di protocollo errore */
  727.     public static final String KEY_OPENSPCOOP2_DETAILS = "@OPENSPCOOP2_DETAILS@";
  728.     /** Costante che indica l'identificativo di un riscontro */
  729.     public static final String KEY_ID_BUSTA_RISCONTRATA = "@ID_BUSTA_RISCONTRATA@";
  730.     /** Costante che indica la data in cui una busta è stata riscontrata */
  731.     public static final String KEY_DATA_RISCONTRO = "@DATA_RISCONTRO@";
  732.     /** Costante che indica la sequenza attesa per la consegna */
  733.     public static final String KEY_SEQUENZA_ATTESA = "@SEQUENZA_ATTESA@";
  734.     /** Costante che indica il tipo di connettore utilizzato nella consegna */
  735.     public static final String KEY_TIPO_CONNETTORE = "@TIPO_CONNETTORE@";
  736.     /** Costante che indica url/codaJMS/risorsa verso cui la porta sta consegnando il messaggio */
  737.     public static final String KEY_LOCATION = "@LOCATION@";
  738.     /** Costante che indica il codice della consegna (es. http, codice di trasporto) */
  739.     public static final String KEY_CODICE_CONSEGNA = "@CODICE_CONSEGNA@";
  740.     /** Costante che indica l'eventuale motivo di errore riscontrato durante la consegna del messaggio */
  741.     public static final String KEY_ERRORE_CONSEGNA = "@ERRORE_CONSEGNA@";
  742.     /** Costante che indica l'eventuale destinatario fisico (next hop) a cui viene trasmesso la busta (es. Router) */
  743.     public static final String KEY_DESTINATARIO_TRASMISSIONE = "@DESTINATARIO_TRASMISSIONE@";
  744.     /** Costante che indica la descrizione degli elementi principali che formano un soap fault ricevuto */
  745.     public static final String KEY_SOAP_FAULT = "@SOAP_FAULT@";
  746.     /** Costante che indica la descrizione degli elementi principali che formano un problem detail ricevuto */
  747.     public static final String KEY_REST_PROBLEM = "@REST_PROBLEM@";
  748.     /** Costante (true/false) indica se la funzionalità è stata richiesta nell'accordo*/
  749.     public static final String KEY_FUNZIONALITA_COLLABORAZIONE = "@FUNZIONALITA_COLLABORAZIONE@";
  750.     /** Costante (true/false) indica se la funzionalità è stata richiesta nell'accordo*/
  751.     public static final String KEY_FUNZIONALITA_CONFERMA_RICEZIONE = "@FUNZIONALITA_CONFERMA_RICEZIONE@";
  752.     /** Costante (true/false) indica se la funzionalità è stata richiesta nell'accordo*/
  753.     public static final String KEY_FUNZIONALITA_FILTRO_DUPLICATI = "@FUNZIONALITA_FILTRO_DUPLICATI@";
  754.     /** Costante che indica il tipo di scenario gestito */
  755.     public static final String KEY_SCENARIO_COOPERAZIONE_GESTITO = "@SCENARIO_COOPERAZIONE_GESTITO@";
  756.     /** Costante che indica informazioni sul servizio da fruire */
  757.     public static final String KEY_INFO_SERVIZIO_BUSTA = "@INFO_SERVIZIO_BUSTA@";
  758.     /** Costante che indica il tipo di operazione invocata attraverso il servizio di IntegrationManager */
  759.     public static final String KEY_TIPO_OPERAZIONE_IM = "@TIPO_OPERAZIONE_IM@";
  760.     public static final MapKey<String> TIPO_OPERAZIONE_IM = Map.newMapKey("TIPO_OPERAZIONE_IM");
  761.     /** Costante che indica i parametri di una operazione invocata attraverso il servizio di IntegrationManager */
  762.     public static final String KEY_PARAMETRI_OPERAZIONE_IM = "@PARAMETRI_OPERAZIONE_IM@";
  763.     /** Costante che indica il messaggio richiesto tramite una operazione invocata attraverso il servizio di IntegrationManager */
  764.     public static final String KEY_IDMESSAGGIO_OPERAZIONE_IM = "@ID_MESSAGGIO_OPERAZIONE_IM@";
  765.     /** Costante che indica il tipo di header di integrazione */
  766.     public static final String KEY_TIPO_HEADER_INTEGRAZIONE = "@TIPO_HEADER_INTEGRAZIONE@";
  767.     public static final String KEY_TIPI_INTEGRAZIONE = "@TIPI_INTEGRAZIONE@";
  768.     /** Costante che indica il tipo di gestore credenziali */
  769.     public static final String KEY_TIPO_GESTORE_CREDENZIALI = "@TIPO_GESTORE_CREDENZIALI@";
  770.     /** Costante che indica le credenziali ottenute via gestore delle credenziali */
  771.     public static final String KEY_NUOVE_CREDENZIALI = "@NUOVE_CREDENZIALI@";
  772.     /** Costante che indica l'identità assunta dal gestore delle credenziali (es. Gateway Ministero Interno) */
  773.     public static final String KEY_IDENTITA_GESTORE_CREDENZIALI = "@IDENTITA_GESTORE_CREDENZIALI@";
  774.     /** Costante che indica il tipo di validazione */
  775.     public static final String KEY_TIPO_VALIDAZIONE_BUSTA = "@TIPO_VALIDAZIONE_BUSTA@";
  776.    
  777.     /** Costante che identifica un soggetto intermediario.  */
  778.     public static final String KEY_INTERMEDIARIO = "@SOGGETTO_INTERMEDIARIO@";
  779.    
  780.     /** Costante che identifica un soggetto intermediario.  */
  781.     public static final MapKey<String> INTERMEDIARIO = Map.newMapKey("SOGGETTO_INTERMEDIARIO");

  782.     public static final MapKey<String> SALVA_CONTESTO_IDENTIFICATIVO_MESSAGGIO_NOTIFICA = Map.newMapKey("SALVA_CONTESTO_IDENTIFICATIVO_MESSAGGIO_NOTIFICA");
  783.     public static final MapKey<String> CONTESTO_RICHIESTA_MESSAGGIO_NOTIFICA = Map.newMapKey("CONTESTO_RICHIESTA_MESSAGGIO_NOTIFICA");
  784.    
  785.     /** Costante che indica il Tipo di appender utilizzato per il tracciamento */
  786.     public static final String KEY_TRACCIAMENTO_PERSONALIZZATO = "@TIPO_TRACCIAMENTO_PERSONALIZZATO@";
  787.     /** Costante che indica l' errore che non ha permesso il tracciamento */
  788.     public static final String KEY_TRACCIAMENTO_ERRORE = "@ERRORE_TRACCIAMENTO@";
  789.     /** Costante che indica il tipo di traccia */
  790.     public static final String KEY_TRACCIA_TIPO = "@TIPO_TRACCIA@";
  791.     /** Costante che indica la traccia */
  792.     public static final String KEY_TRACCIA = "@TRACCIA@";
  793.     /** Costante che indica la fase di tracciamento */
  794.     public static final String KEY_FASE_TRACCIAMENTO = "@FASE_TRACCIAMENTO@";
  795.    
  796.     /** Costante che identifica una keyword per la causale di un lock */
  797.     public static final String KEY_LOCK_CAUSALE = "@CAUSA_LOCK@";
  798.     /** Costante che identifica una keyword per l'identificativo del modulo che ha acquisito un lock */
  799.     public static final String KEY_LOCK_ID_MODULO = "@ID_MODULO_PROPRIETARIO_LOCK@";
  800.    
  801.     /** Costante che identifica una keyword per rappresentare l'identificatore del TimerGestoreRiscontriRicevute */
  802.     public static final String KEY_TIMER_GESTORE_RISCONTRI_RICEVUTE = "@ID_TIMER_GESTORE_RISCONTRI_RICEVUTE@";
  803.    
  804.     /** Costante che identifica una keyword per rappresentare l'identificatore del TimerGestoreMessaggi */
  805.     public static final String KEY_TIMER_GESTORE_MESSAGGI = "@ID_TIMER_GESTORE_MESSAGGI@";
  806.     /** Costante che identifica una keyword per rappresentare il numero di messaggi completati in INBOX trovati da eliminare dal TimerGestoreMessaggi */
  807.     public static final String KEY_TIMER_GESTORE_MESSAGGI_NUM_MSG_INBOX_COMPLETATI = "@NUMERO_MESSAGGI_COMPLETATI_INBOX@";
  808.     /** Costante che identifica una keyword per rappresentare il numero di messaggi completati in OUTBOX trovati da eliminare dal TimerGestoreMessaggi */
  809.     public static final String KEY_TIMER_GESTORE_MESSAGGI_NUM_MSG_OUTBOX_COMPLETATI = "@NUMERO_MESSAGGI_COMPLETATI_OUTBOX@";
  810.     /** Costante che identifica una keyword per rappresentare il numero di messaggi scaduti in INBOX trovati da eliminare dal TimerGestoreMessaggi */
  811.     public static final String KEY_TIMER_GESTORE_MESSAGGI_NUM_MSG_INBOX_SCADUTI = "@NUMERO_MESSAGGI_SCADUTI_INBOX@";
  812.     /** Costante che identifica una keyword per rappresentare il numero di messaggi scaduti in OUTBOX trovati da eliminare dal TimerGestoreMessaggi */
  813.     public static final String KEY_TIMER_GESTORE_MESSAGGI_NUM_MSG_OUTBOX_SCADUTI = "@NUMERO_MESSAGGI_SCADUTI_OUTBOX@";
  814.     /** Costante che identifica una keyword per rappresentare il numero di messaggi non gestiti dal servizio PD trovati da eliminare dal TimerGestoreMessaggi */
  815.     public static final String KEY_TIMER_GESTORE_MESSAGGI_NUM_MSG_NON_GESTITI_RICEZIONE_CONTENUTI_APPLICATIVI = "@NUMERO_MESSAGGI_NON_GESTITI_RICEZIONE_CONTENUTI_APPLICATIVI@";
  816.     /** Costante che identifica una keyword per rappresentare il numero di messaggi non gestiti dal servizio PA trovati da eliminare dal TimerGestoreMessaggi */
  817.     public static final String KEY_TIMER_GESTORE_MESSAGGI_NUM_MSG_NON_GESTITI_RICEZIONE_BUSTE = "@NUMERO_MESSAGGI_NON_GESTITI_RICEZIONE_BUSTE@";
  818.     /** Costante che identifica una keyword per rappresentare il numero di correlazioni appplicative scadute trovate da eliminare dal TimerGestoreMessaggi */
  819.     public static final String KEY_TIMER_GESTORE_MESSAGGI_NUM_CORRELAZIONI_APPLICATIVE_SCADUTE = "@NUMERO_CORRELAZIONI_APPLICATIVE@";
  820.     /** Costante che identifica una keyword per rappresentare il tipo di ricerca effettuato dal TimerGestoreMessaggi per trovare i messaggi da eliminare */
  821.     public static final String KEY_TIMER_GESTORE_MESSAGGI_TIPO_RICERCA_MSG_DA_ELIMINARE = "@TIPO_RICERCA@";
  822.     /** Costante che identifica una keyword per rappresentare se la ricerca effettuato dal TimerGestoreMessaggi per trovare i messaggi da eliminare è con riferimento o meno (true/false) */
  823.     public static final String KEY_TIMER_GESTORE_MESSAGGI_RICERCA_MSG_DA_ELIMINARE_PER_RIFERIMENTO = "@RICERCA_TRAMITE_RIFERIMENTO@";
  824.     /** Costante che identifica una keyword per rappresentare la coda JMS in ricezione su cui sta filtrando il TimerGestoreMessaggi per trovare i messaggi da eliminare */
  825.     public static final String KEY_TIMER_GESTORE_MESSAGGI_CODA_JMS_FILTRO_MSG_DA_ELIMINARE = "@CODA_JMS_RICEZIONE@";
  826.     /** Costante che identifica una keyword per rappresentare la tipologia di connessione (http/jms PD/PA id) ancora aperta */
  827.     public static final String KEY_TIMER_GESTORE_MESSAGGI_TIPO_CONNESSIONE = "@TIPO_CONNESSIONE@";
  828.     /** Costante che identifica una keyword per rappresentare la data di creazione della connessione ancora aperta */
  829.     public static final String KEY_TIMER_GESTORE_MESSAGGI_DATA_CREAZIONE_CONNESSIONE = "@DATA_CREAZIONE_CONNESSIONE@";
  830.    
  831.     /** Costante che identifica una keyword per rappresentare l'identificatore di un Timer */
  832.     public static final String KEY_TIMER = "@ID_TIMER@";
  833.    
  834.     /** Costante che identifica una keyword per rappresentare l'identificatore di un repository delle chiavi */
  835.     public static final String KEY_REMOTE_STORE = "@ID_REMOTE_STORE@";
  836.    
  837.     /** Costante che identifica una keyword per rappresentare il numero di messaggi inoltrati */
  838.     public static final String KEY_TIMER_CONSEGNA_CONTENUTI_APPLICATIVI_NUMERO_MESSAGGI_INOLTRATI = "@NUMERO_MESSAGGI_INOLTRATI@";
  839.    
  840.     /** Costante che identifica una keyword per rappresentare l'identificatore del TimerGestoreMessaggiAnomali */
  841.     public static final String KEY_TIMER_GESTORE_MESSAGGI_INCONSISTENTI = "@ID_TIMER_GESTORE_MESSAGGI_INCONSISTENTI@";
  842.     /** Costante che identifica una keyword per rappresentare il numero di messaggi inconsistenti in INBOX trovati da eliminare dal Timer */
  843.     public static final String KEY_TIMER_GESTORE_MESSAGGI_INCONSISTENTI_NUM_MSG_INBOX = "@NUMERO_MESSAGGI_INCONSISTENTI_INBOX@";
  844.     /** Costante che identifica una keyword per rappresentare il numero di messaggi inconsistenti in OUTBOX trovati da eliminare dal Timer */
  845.     public static final String KEY_TIMER_GESTORE_MESSAGGI_INCONSISTENTI_NUM_MSG_OUTBOX = "@NUMERO_MESSAGGI_INCONSISTENTI_OUTBOX@";
  846.    
  847.     /** Costante che identifica una keyword per rappresentare l'identificatore del TimerGestoreRepositoryBuste */
  848.     public static final String KEY_TIMER_GESTORE_REPOSITORY_BUSTE = "@ID_TIMER_GESTORE_REPOSITORY_BUSTE@";
  849.     /** Costante che identifica una keyword per rappresentare il numero di buste in INBOX trovati da eliminare dal Timer */
  850.     public static final String KEY_TIMER_GESTORE_REPOSITORY_BUSTE_NUM_MSG_INBOX = "@NUMERO_BUSTE_INBOX@";
  851.     /** Costante che identifica una keyword per rappresentare il numero di buste in OUTBOX trovati da eliminare dal Timer */
  852.     public static final String KEY_TIMER_GESTORE_REPOSITORY_BUSTE_NUM_MSG_OUTBOX = "@NUMERO_BUSTE_OUTBOX@";
  853.    
  854.     /** Costante che identifica una keyword per rappresentare l'identificatore del TimerMonitoraggioRisorse */
  855.     public static final String KEY_TIMER_MONITORAGGIO_RISORSE = "@ID_TIMER_MONITORAGGIO_RISORSE@";
  856.     /** Costante che identifica una keyword per rappresentare una risorsa non disponibile rilevata dal TimerMonitoraggioRisorse */
  857.     public static final String KEY_RISORSA_NON_DISPONIBILE = "@RISORSA_NON_DISPONIBILE@";
  858.     /** Costante che identifica una keyword per rappresentare l'identificatore del TimerThreshold */
  859.     public static final String KEY_TIMER_THRESHOLD = "@ID_TIMER_THRESHOLD@";
  860.     /** Costante che identifica una keyword per rappresentare l'identificatore del tipo di controllo Threshold */
  861.     public static final String KEY_TIMER_THRESHOLD_TIPO = "@TIPO_THRESHOLD@";
  862.    
  863.     /** Costante che identifica una keyword per rappresentare la versione della porta */
  864.     public static final String KEY_VERSIONE_PORTA = "@VERSIONE@";
  865.     /** Costante che identifica una keyword per rappresentare il tempo di avvio della porta */
  866.     public static final String KEY_TEMPO_AVVIO = "@TEMPO_DI_AVVIO@";
  867.    
  868.     /** Costante che identifica una keyword per rappresentare dettagli */
  869.     public static final String KEY_DETAILS = "@DETAILS@";
  870.    
  871.     /** Costante che identifica una keyword per rappresentare l'informazione in cache */
  872.     private static final String KEY_INFO_IN_CACHE = "@INFO_IN_CACHE@";
  873.     private static final String KEY_INFO_IN_CACHE_VALUE = " (in cache)";
  874.     public static final MapKey<String> KEY_INFO_IN_CACHE_FUNZIONE_AUTENTICAZIONE = Map.newMapKey("RESULT_AUTHN_IN_CACHE");
  875.     public static final MapKey<String> KEY_INFO_IN_CACHE_FUNZIONE_AUTORIZZAZIONE = Map.newMapKey("RESULT_AUTHZ_IN_CACHE");
  876.     public static final MapKey<String> KEY_INFO_IN_CACHE_FUNZIONE_AUTORIZZAZIONE_CONTENUTI = Map.newMapKey("RESULT_AUTHZ_CONTENUTI_IN_CACHE");
  877.     public static final MapKey<String> KEY_INFO_IN_CACHE_FUNZIONE_AUTENTICAZIONE_TOKEN = Map.newMapKey("RESULT_AUTHN_TOKEN_IN_CACHE");
  878.     public static final MapKey<String> KEY_INFO_IN_CACHE_FUNZIONE_MODI_TOKEN_AUTHORIZATION = Map.newMapKey("RESULT_MODI_AUTH_TOKEN_IN_CACHE");
  879.     public static final MapKey<String> KEY_INFO_IN_CACHE_FUNZIONE_MODI_TOKEN_INTEGRITY = Map.newMapKey("RESULT_MODI_INTEGRITY_TOKEN_IN_CACHE");
  880.     public static final MapKey<String> KEY_INFO_IN_CACHE_FUNZIONE_MODI_TOKEN_AUDIT = Map.newMapKey("RESULT_MODI_AUDIT_TOKEN_IN_CACHE");
  881.     public static final void addKeywordInCache(MsgDiagnostico msgDiag, boolean isEsitoPresenteInCache, Context pddContext, MapKey<String> idFUNCTION) {
  882.         if(isEsitoPresenteInCache){
  883.             msgDiag.addKeyword(CostantiPdD.KEY_INFO_IN_CACHE, CostantiPdD.KEY_INFO_IN_CACHE_VALUE);
  884.         }else{
  885.             msgDiag.addKeyword(CostantiPdD.KEY_INFO_IN_CACHE, "");
  886.         }
  887.         if(idFUNCTION!=null) {
  888.             pddContext.addObject(idFUNCTION, isEsitoPresenteInCache);
  889.         }
  890.     }
  891.    
  892.     public static final MapKey<String> KEY_INFO_IN_CACHE_FUNZIONE_AUTENTICAZIONE_FALLITA = Map.newMapKey("RESULT_AUTHN_FALLITA");
  893.     public static final void addKeywordAutenticazioneFallita(MsgDiagnostico msgDiag, String motivo, Context pddContext, MapKey<String> idFUNCTION) {
  894.         msgDiag.addKeyword(CostantiPdD.KEY_ERRORE_PROCESSAMENTO, motivo);
  895.         pddContext.addObject(idFUNCTION, motivo);
  896.     }
  897.    
  898.     /** Costante che identifica una keyword per indicare il content-type del messaggio */
  899.     public static final String KEY_CONTENT_TYPE = "@CONTENT_TYPE@";
  900.     /** Costante che identifica una keyword per indicare il charset di default */
  901.     public static final String KEY_CHARSET_DEFAULT = "@CHARSET_DEFAULT@";
  902.    
  903.     public static final String OPTIONS_MESSAGE_FACTORY = "MessageEngine";
  904.    
  905.    
  906.     public static final String PREFIX_HTTP_STATUS_CODE_IN = "In=";
  907.     public static final String PREFIX_HTTP_STATUS_CODE_OUT = "Out=";
  908.     public static final String PREFIX_API = "API=";
  909.     public static final String PREFIX_CONNETTORI_MULTIPLI = "Async=";
  910.    
  911.    
  912.     public static final String PREFIX_MESSAGGIO_CONNETTORE_MULTIPLO = "gw-";
  913.     public static final String SEPARATOR_MESSAGGIO_CONNETTORE_MULTIPLO = "-";
  914.    
  915.    
  916.     public static final String PREFIX_TIMEOUT_REQUEST = org.openspcoop2.core.constants.Costanti.PREFIX_TIMEOUT_REQUEST;
  917.     public static final String PREFIX_TIMEOUT_RESPONSE = org.openspcoop2.core.constants.Costanti.PREFIX_TIMEOUT_RESPONSE;
  918.    
  919.     public static final String PREFIX_LIMITED_REQUEST = org.openspcoop2.core.constants.Costanti.PREFIX_LIMITED_REQUEST;
  920.     public static final String PREFIX_LIMITED_RESPONSE = org.openspcoop2.core.constants.Costanti.PREFIX_LIMITED_RESPONSE;
  921.    
  922.    
  923.     public static final MapKey<String> FORCE_SWA_START_PARAMETER_IF_NOT_PRESENT = Map.newMapKey("FORCE_SWA_START_PARAMETER");
  924.     public static void addSWAStartParameterIfNotPresent(OpenSPCoop2Message msg) {
  925.         if(msg!=null) {
  926.             msg.addContextProperty(FORCE_SWA_START_PARAMETER_IF_NOT_PRESENT, "true");
  927.         }
  928.     }
  929.     public static boolean isEnabledAddSWAStartParameterIfNotPresent(OpenSPCoop2Message msg) {
  930.         if(msg!=null) {
  931.             Object o = msg.getContextProperty(CostantiPdD.FORCE_SWA_START_PARAMETER_IF_NOT_PRESENT);
  932.             if(o instanceof String) {
  933.                 return "true".equals(o);
  934.             }
  935.         }
  936.         return false;
  937.     }
  938.    
  939.     public static final MapKey<String> CONNETTORE_MULTIPLO_SELEZIONATO = Map.newMapKey("CONNETTORE_MULTIPLO_SELEZIONATO");
  940.     public static final MapKey<String> CONNETTORE_MULTIPLO_CONSEGNA_NOTIFICA_DISABILITATA = Map.newMapKey("CONNETTORE_MULTIPLO_CONSEGNA_NOTIFICA_DISABILITATA");
  941.    
  942.    
  943.     public static final MapKey<String> FILTRO_DUPLICATI_TEST = Map.newMapKey("FILTRO_DUPLICATI_TEST");
  944.    
  945.    
  946.     /* Costanti per Headers Peer */
  947.     public static final MapKey<String> EXTRA_HEADERS_RESPONSE = Map.newMapKey("MAPPA_HEADERS_EXTRA_RISPOSTA");
  948.    
  949.     /* Costante per sovrascrivere il tipo di connettore nella consegna dei contenuti */
  950.     public static final MapKey<String> KEY_OVERRIDE_CONNETTORE = Map.newMapKey("overrideConnettore");
  951. }