CostantiMappingDiagnostici.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.logger.diagnostica;

  21. import java.util.HashMap;
  22. import java.util.Map;

  23. import org.openspcoop2.pdd.core.trasformazioni.TipoTrasformazione;
  24. import org.openspcoop2.pdd.logger.MsgDiagnosticiProperties;
  25. import org.openspcoop2.security.message.constants.SecurityConstants;

  26. import org.openspcoop2.pdd.logger.record.CostantiDati;
  27. import org.openspcoop2.pdd.logger.record.InfoDato;

  28. /**    
  29.  * CostantiMappingDiagnostici
  30.  *
  31.  * @author Poli Andrea (poli@link.it)
  32.  * @author $Author$
  33.  * @version $Rev$, $Date$
  34.  */
  35. public class CostantiMappingDiagnostici {
  36.    
  37.     private CostantiMappingDiagnostici() {}

  38.     public static final int MAX_DIAGNOSTIC_LIST_ROW_1 = 15;
  39.     public static final int MAX_DIAGNOSTIC_LIST_ROW_2 = 30; // è un TEXT questa colonna
  40.     public static final int MAX_DIAGNOSTIC_LIST_SUM = MAX_DIAGNOSTIC_LIST_ROW_1+MAX_DIAGNOSTIC_LIST_ROW_2;
  41.    
  42.     /**public static void setMAX_DIAGNOSTIC_LIST_ROW_2(int p) {
  43.         CostantiMappingDiagnostici.MAX_DIAGNOSTIC_LIST_ROW_2 = p;
  44.         CostantiMappingDiagnostici.MAX_DIAGNOSTIC_LIST_SUM =  MAX_DIAGNOSTIC_LIST_ROW_1+MAX_DIAGNOSTIC_LIST_ROW_2;
  45.     }*/
  46.    
  47.     public static final String DIAGNOSTIC_ORIGINAL_POSITION = "DIAGNOSTIC_ORIGINAL_POSITION";
  48.    
  49.     public static final String DIAGNOSTIC_WITH_DYNAMIC_INFO_TYPE = MsgDiagnosticiProperties.DIAGNOSTIC_WITH_DYNAMIC_INFO_TYPE;
  50.    
  51.     public static final String DIAGNOSTIC_WITH_DYNAMIC_INFO_VALUE = MsgDiagnosticiProperties.DIAGNOSTIC_WITH_DYNAMIC_INFO_VALUE;
  52.    
  53.     public static final String DIAGNOSTIC_WITH_DYNAMIC_INFO_SEPARATOR = MsgDiagnosticiProperties.DIAGNOSTIC_WITH_DYNAMIC_INFO_SEPARATOR;
  54.    
  55.     public static final String DIAGNOSTIC_WITH_DYNAMIC_INFO_DIAG_SEPARATOR = MsgDiagnosticiProperties.DIAGNOSTIC_WITH_DYNAMIC_INFO_DIAG_SEPARATOR;
  56.    
  57.     public static final String DIAGNOSTIC_WITH_DYNAMIC_INFO_TYPE_SEPARATOR = MsgDiagnosticiProperties.DIAGNOSTIC_WITH_DYNAMIC_INFO_TYPE_SEPARATOR;
  58.    
  59.     public static final char NON_PRESENTE = CostantiDati.NON_PRESENTE.charAt(0);
  60.    
  61.     public static final String SEPARATOR = CostantiDati.SEPARATOR;
  62.    
  63.     /**
  64.      * Posizione 1 (1 carattere):
  65.         - (-) Non presente
  66.         - (N) indica che la transazione ha emesso diagnostici non ricostruibili
  67.         - (R) indica che la transazione ha emesso diagnostici non ricostruibili
  68.      **/
  69.     public static final InfoDato DIAGNOSTICI_EMESSI = new InfoDato(0,
  70.             "Indicazione se la transazione ha emesso diagnostici ricostruibili (R), non ricostruibile (N) o non ha emesso alcuna traccia (-)");
  71.     public static final char DIAGNOSTICI_EMESSI_RICOSTRUIBILI = 'R';
  72.     public static final char DIAGNOSTICI_EMESSI_NON_RICOSTRUIBILI = 'N';
  73.    
  74.     public static final InfoDato DIAGNOSTICI_EMESSI_NON_RICOSTRUIBILI_MOTIVO = new InfoDato(1,
  75.             "Motivo che indica come mai i diagnostici non sono ricostruibili");
  76.    
  77.     /**
  78.      *  Posizione 2 (8 caratteri)
  79.       - Data del primo diagnostico nel formato 'AAAAMMDD'
  80.      */
  81.     public static final InfoDato DIAGNOSTICI_EMISSIONE_FIRST_DATE = new InfoDato(1,
  82.             "Indica la data del primo messaggio diagnostico emesso nel formato AAAAMMDD");
  83.    
  84.     /**
  85.      *  Posizione 3 (max 30 caratteri o -)
  86.       - tipoAutorizzazioneBusta
  87.      */
  88.     public static final InfoDato TIPO_AUTORIZZAZIONE = new InfoDato(2,
  89.             "Indica il tipo di autorizzazione utilizzato dalla PdD");
  90.    
  91.     /**
  92.      *  Posizione 4 (max 20 caratteri o -)
  93.       - codice di trasporto della richiesta
  94.      */
  95.     public static final InfoDato CODICE_TRASPORTO_RICHIESTA = new InfoDato(3,
  96.             "Indica il codice di trasporto ottenuto durante la fase di consegna della richiesta");
  97.    
  98.     /**
  99.      *  Posizione 5 (max 20 caratteri o -)
  100.       - codice di trasporto della risposta
  101.      */
  102.     public static final InfoDato CODICE_TRASPORTO_RISPOSTA = new InfoDato(4,
  103.             "Indica il codice di trasporto ottenuto durante la fase di consegna della risposta");
  104.    
  105.     /**
  106.      *  Posizione 6 (max 20 caratteri o -)
  107.       - tipo di connettore
  108.      */
  109.     public static final InfoDato TIPO_CONNETTORE = new InfoDato(5,
  110.             "Indica il tipo di connettore utilizzato per la consegna del messaggio di richiesta");
  111.        
  112.     /**
  113.      *  Posizione 7 (max 10 caratteri o -)
  114.       - max threads threshold
  115.      */
  116.     public static final InfoDato MAX_THREADS_THRESHOLD = new InfoDato(6,
  117.             "Indica il numero massimo di richieste simultanee");
  118.    
  119.     /**
  120.      *  Posizione 8 (max 2 caratteri o -)
  121.       - threshold che attiva il controllo del traffico (in percentuale)
  122.      */
  123.     public static final InfoDato CONTROLLO_TRAFFICO_THRESHOLD = new InfoDato(7,
  124.             "Indica la % di richieste simultanee rispetto al numero massimo, per attivare il controllo del traffico");
  125.    
  126.     /**
  127.      *  Posizione 9 (max 10 caratteri o -)
  128.       - active max threads
  129.      */
  130.     public static final InfoDato ACTIVE_THREADS = new InfoDato(8,
  131.             "Indica il numero di threads attivi");
  132.    
  133.     /**
  134.      *  Posizione 10 (max 4 caratteri o -)
  135.       - numero di policy configurate
  136.      */
  137.     public static final InfoDato NUMERO_POLICY_CONFIGURATE = new InfoDato(9,
  138.             "Indica il numero di policy attivate");
  139.    
  140.     /**
  141.      *  Posizione 11 (max 4 caratteri o -)
  142.       - numero di policy configurate però disabilitate
  143.      */
  144.     public static final InfoDato NUMERO_POLICY_DISABILITATE = new InfoDato(10,
  145.             "Indica il numero di policy attivate con stato disabilitate");
  146.    
  147.     /**
  148.      *  Posizione 12 (max 4 caratteri o -)
  149.       - numero di policy configurate però che non rispettano il filtro per i dati della transazione in essere
  150.      */
  151.     public static final InfoDato NUMERO_POLICY_FILTRATE = new InfoDato(11,
  152.             "Indica il numero di policy configurate però che non rispettano il filtro per i dati della transazione in essere");
  153.    
  154.     /**
  155.      *  Posizione 13 (max 4 caratteri o -)
  156.       - numero di policy configurate che non possono essere applicate per le condizioni del sistema
  157.      */
  158.     public static final InfoDato NUMERO_POLICY_NON_APPLICATE = new InfoDato(12,
  159.             "Indica il numero di policy configurate che non possono essere applicate per le condizioni del sistema");
  160.    
  161.     /**
  162.      *  Posizione 14 (max 4 caratteri o -)
  163.       - numero di policy configurate che soddisfano i valori di soglia
  164.      */
  165.     public static final InfoDato NUMERO_POLICY_RISPETTATE= new InfoDato(13,
  166.             "Indica il numero di policy configurate che soddisfano i valori di soglia");
  167.    
  168.     /**
  169.      *  Posizione 15 (max 4 caratteri o -)
  170.       - numero di policy configurate che violano i valori di soglia
  171.      */
  172.     public static final InfoDato NUMERO_POLICY_VIOLATE= new InfoDato(14,
  173.             "Indica il numero di policy configurate che violano i valori di soglia");
  174.    
  175.     /**
  176.      *  Posizione 16 (max 4 caratteri o -)
  177.       - numero di policy configurate che violano i valori di soglia (warningOnly)
  178.      */
  179.     public static final InfoDato NUMERO_POLICY_VIOLATE_WARNING_ONLY= new InfoDato(15,
  180.             "Indica il numero di policy configurate che violano i valori di soglia (warningOnly)");
  181.    
  182.     /**
  183.      *  Posizione 17 (max 4 caratteri o -)
  184.       - numero di policy configurate la cui verifica ha provocato un errore
  185.      */
  186.     public static final InfoDato NUMERO_POLICY_IN_ERRORE= new InfoDato(16,
  187.             "Indica il numero di policy configurate la cui verifica ha provocato un errore");
  188.    
  189.     /**
  190.      *  Posizione 18 (max 20 caratteri o -)
  191.       - tipoAutenticazione
  192.      */
  193.     public static final InfoDato TIPO_AUTENTICAZIONE = new InfoDato(17,
  194.             "Indica il tipo di autenticazione utilizzato dalla PdD");
  195.    
  196.     /**
  197.      *  Posizione 19 (max 20 caratteri o -)
  198.       - tipoAutorizzazioneContenuti
  199.      */
  200.     public static final InfoDato TIPO_AUTORIZZAZIONE_CONTENUTI = new InfoDato(18,
  201.             "Indica il tipo di autorizzazione contenuti utilizzato dalla PdD");
  202.    
  203.     /**
  204.      *  Posizione 20 (max 3 caratteri o -)
  205.       - tipoValidazioneContenuti
  206.      */
  207.    
  208.     public static final char TIPO_VALIDAZIONE_CONTENUTI_OPENSPCOOP = 'O';
  209.     public static final char TIPO_VALIDAZIONE_CONTENUTI_INTERFACE = 'I';
  210.     public static final char TIPO_VALIDAZIONE_CONTENUTI_XSD = 'X';
  211.     public static final char TIPO_VALIDAZIONE_CONTENUTI_WARN = 'W';
  212.     public static final char TIPO_VALIDAZIONE_CONTENUTI_MTOM = 'M';
  213.    
  214.     public static final InfoDato TIPO_VALIDAZIONE_CONTENUTI = new InfoDato(19,
  215.             "Indica il tipo di validazione contenuti utilizzato dalla PdD");
  216.    
  217.     /**
  218.      *  Posizione 21 (max 1 caratteri o -)
  219.       - tipoProcessamentoMtomRichiesta
  220.      */
  221.    
  222.     public static final char TIPO_MTOM_PROCESSAMENTO_DISABLE = 'D';
  223.     public static final char TIPO_MTOM_PROCESSAMENTO_PACKAGING = 'P';
  224.     public static final char TIPO_MTOM_PROCESSAMENTO_UNPACKAGING = 'U';
  225.     public static final char TIPO_MTOM_PROCESSAMENTO_VERIFY = 'V';
  226.    
  227.     public static final InfoDato TIPO_PROCESSAMENTO_MTOM_RICHIESTA = new InfoDato(20,
  228.             "Indica il tipo di processamento mtom della richiesta utilizzato dalla PdD");
  229.    
  230.     /**
  231.      *  Posizione 22 (max 1 caratteri o -)
  232.       - tipoProcessamentoMtomRisposta
  233.      */
  234.    
  235.     public static final InfoDato TIPO_PROCESSAMENTO_MTOM_RISPOSTA = new InfoDato(21,
  236.             "Indica il tipo di processamento mtom della risposta utilizzato dalla PdD");
  237.    
  238.     /**
  239.      *  Posizione 23 (max 6 caratteri o -)
  240.       - tipoProcessamentoMessageSecurityRichiesta
  241.      */
  242.    
  243.     public static final char TIPO_SECURITY_ENGINE_WSS4J = 'W';
  244.     public static final char TIPO_SECURITY_ENGINE_SOAPBOX = 'S';
  245.     public static final char TIPO_SECURITY_ENGINE_DSS = 'D';
  246.     public static final char TIPO_SECURITY_ENGINE_JOSE = 'J';
  247.     public static final char TIPO_SECURITY_ENGINE_XML = 'X';
  248.    
  249.     private static final Map<String, String> MAP_SECURITY_ACTION = new HashMap<>();
  250.     public static Map<String, String> getMapSecurityAction() {
  251.         return MAP_SECURITY_ACTION;
  252.     }
  253.     static {
  254.         // deve essere 1 carattere
  255.         MAP_SECURITY_ACTION.put(SecurityConstants.ACTION_NO_SECURITY, "1");
  256.         MAP_SECURITY_ACTION.put(SecurityConstants.ACTION_USERNAME_TOKEN_SIGNATURE, "2");
  257.         MAP_SECURITY_ACTION.put(SecurityConstants.ACTION_USERNAME_TOKEN, "3");
  258.         MAP_SECURITY_ACTION.put(SecurityConstants.ACTION_USERNAME_TOKEN_NO_PASSWORD, "4");
  259.         MAP_SECURITY_ACTION.put(SecurityConstants.ACTION_SAML_TOKEN_UNSIGNED, "5");
  260.         MAP_SECURITY_ACTION.put(SecurityConstants.ACTION_SAML_TOKEN_SIGNED, "6");
  261.         MAP_SECURITY_ACTION.put(SecurityConstants.ACTION_SIGNATURE, "7");
  262.         MAP_SECURITY_ACTION.put(SecurityConstants.ACTION_ENCRYPTION, "8");
  263.         MAP_SECURITY_ACTION.put(SecurityConstants.ACTION_TIMESTAMP, "9");
  264.         MAP_SECURITY_ACTION.put(SecurityConstants.ACTION_SIGNATURE_DERIVED, "a");
  265.         MAP_SECURITY_ACTION.put(SecurityConstants.ACTION_ENCRYPTION_DERIVED, "b");
  266.         MAP_SECURITY_ACTION.put(SecurityConstants.ACTION_SIGNATURE_WITH_KERBEROS_TOKEN, "c");
  267.         MAP_SECURITY_ACTION.put(SecurityConstants.ACTION_ENCRYPTION_WITH_KERBEROS_TOKEN, "d");
  268.         MAP_SECURITY_ACTION.put(SecurityConstants.ACTION_KERBEROS_TOKEN, "e");
  269.         MAP_SECURITY_ACTION.put(SecurityConstants.ACTION_CUSTOM_TOKEN, "f");
  270.         MAP_SECURITY_ACTION.put(SecurityConstants.ACTION_ENCRYPT_OLD, "g");
  271.         MAP_SECURITY_ACTION.put(SecurityConstants.ACTION_DECRYPTION, "h");
  272.         MAP_SECURITY_ACTION.put(SecurityConstants.ACTION_DECRYPT_OLD, "i");
  273.     }
  274.    
  275.     public static final InfoDato TIPO_PROCESSAMENTO_MESSAGE_SECURITY_RICHIESTA = new InfoDato(22,
  276.             "Indica il tipo di processamento message security della richiesta utilizzato dalla PdD");
  277.    
  278.     /**
  279.      *  Posizione 24 (max 6 caratteri o -)
  280.       - tipoProcessamentoMessageSecurityRisposta
  281.      */
  282.     public static final InfoDato TIPO_PROCESSAMENTO_MESSAGE_SECURITY_RISPOSTA = new InfoDato(23,
  283.             "Indica il tipo di processamento message security della risposta utilizzato dalla PdD");
  284.    
  285.     /**
  286.      *  Posizione 25 (max 1 caratteri o -)
  287.       - autenticazioneInCache
  288.      */
  289.     public static final InfoDato AUTENTICAZIONE_IN_CACHE = new InfoDato(24,
  290.             "Indica se il risultato dell'autenticazione è stato prelevato dalla cache o meno");
  291.    
  292.     /**
  293.      *  Posizione 26 (max 1 caratteri o -)
  294.       - autenticazioneInCache
  295.      */
  296.     public static final InfoDato AUTORIZZAZIONE_IN_CACHE = new InfoDato(25,
  297.             "Indica se il risultato dell'autorizzazione è stato prelevato dalla cache o meno");
  298.    
  299.     /**
  300.      *  Posizione 27 (max 1 caratteri o -)
  301.       - autenticazioneInCache
  302.      */
  303.    
  304.     public static final InfoDato AUTORIZZAZIONE_CONTENUTI_IN_CACHE = new InfoDato(26,
  305.             "Indica se il risultato dell'autorizzazione dei contenuti è stato prelevato dalla cache o meno");
  306.    
  307.     /**
  308.      *  Posizione 28 (max 40 caratteri o -)
  309.       - nome della token policy
  310.      */
  311.     public static final InfoDato TOKEN_POLICY = new InfoDato(27,
  312.             "Indica il nome della token policy");
  313.    
  314.     /**
  315.      *  Posizione 29 (max 3 caratteri o -)
  316.       - tipo di operazioni sul token
  317.      */
  318.     public static final char GESTIONE_TOKEN_VALIDATION_ACTION_NONE = 'N';
  319.     public static final char GESTIONE_TOKEN_VALIDATION_ACTION_JWT = 'J';
  320.     public static final char GESTIONE_TOKEN_VALIDATION_ACTION_INTROSPECTION = 'I';
  321.     public static final char GESTIONE_TOKEN_VALIDATION_ACTION_USER_INFO = 'U';
  322.     public static final InfoDato TOKEN_POLICY_ACTIONS = new InfoDato(28,
  323.             "Azioni effettuate sul token");
  324.    
  325.     /**
  326.      *  Posizione 30 (max 5 caratteri o -)
  327.       - tipo di operazioni sul token
  328.      */
  329.     public static final char AUTENTICAZIONE_TOKEN_ISSUER = 'I';
  330.     public static final char AUTENTICAZIONE_TOKEN_SUBJECT = 'S';
  331.     public static final char AUTENTICAZIONE_TOKEN_CLIENTID = 'C';
  332.     public static final char AUTENTICAZIONE_TOKEN_USERNAME = 'U';
  333.     public static final char AUTENTICAZIONE_TOKEN_EMAIL = 'E';
  334.     public static final InfoDato TOKEN_POLICY_AUTENTCAZIONE = new InfoDato(29,
  335.             "Azioni di autenticazione effettuate sul token");
  336.    
  337.     /**
  338.      *  Posizione 31 (max 1 caratteri o -)
  339.       - responseFromCache
  340.      */
  341.     public static final InfoDato RESPONSE_FROM_CACHE = new InfoDato(30,
  342.             "Indica se la risposta e' stata prelevata dalla cache delle risposte");

  343.     /**
  344.      *  Posizione 32 (max 6 caratteri o -)
  345.       - tipoTrasformazioneRichiesta
  346.      */
  347.    
  348.     public static final String TIPO_TRASFORMAZIONE_CONVERSIONE_SOAP = "S";
  349.     public static final String TIPO_TRASFORMAZIONE_CONVERSIONE_REST = "R";
  350.     public static final String TIPO_TRASFORMAZIONE_CONVERSIONE_METHOD = "M";
  351.     public static final String TIPO_TRASFORMAZIONE_CONVERSIONE_PATH = "P";
  352.     public static final String TIPO_TRASFORMAZIONE_CONVERSIONE_HEADERS = "H";
  353.     public static final String TIPO_TRASFORMAZIONE_CONVERSIONE_QUERY_PARAMETERS = "Q";
  354.     public static final String TIPO_TRASFORMAZIONE_CONVERSIONE_RETURN_CODE = "C";
  355.     public static final String TIPO_TRASFORMAZIONE_NESSUNA = "N";
  356.    
  357.     private static final Map<String, String> MAP_TIPI_CONVERSIONE = new HashMap<>();
  358.     public static Map<String, String> getMapTipiConversione() {
  359.         return MAP_TIPI_CONVERSIONE;
  360.     }
  361.     static {
  362.         // Deve essere un carattere (diverso da quelli sopra S,R,M,P,H,Q,C,N)
  363.         MAP_TIPI_CONVERSIONE.put(TipoTrasformazione.EMPTY.getValue(), "1");
  364.         MAP_TIPI_CONVERSIONE.put(TipoTrasformazione.TEMPLATE.getValue(), "2");
  365.         MAP_TIPI_CONVERSIONE.put(TipoTrasformazione.FREEMARKER_TEMPLATE.getValue(), "3");
  366.         MAP_TIPI_CONVERSIONE.put(TipoTrasformazione.FREEMARKER_TEMPLATE_ZIP.getValue(), "4");
  367.         MAP_TIPI_CONVERSIONE.put(TipoTrasformazione.VELOCITY_TEMPLATE.getValue(), "5");
  368.         MAP_TIPI_CONVERSIONE.put(TipoTrasformazione.VELOCITY_TEMPLATE_ZIP.getValue(), "6");
  369.         MAP_TIPI_CONVERSIONE.put(TipoTrasformazione.XSLT.getValue(), "7");
  370.         MAP_TIPI_CONVERSIONE.put(TipoTrasformazione.ZIP.getValue(), "8");
  371.         MAP_TIPI_CONVERSIONE.put(TipoTrasformazione.TGZ.getValue(), "9");
  372.         MAP_TIPI_CONVERSIONE.put(TipoTrasformazione.TAR.getValue(), "0");
  373.         MAP_TIPI_CONVERSIONE.put(TipoTrasformazione.CONTEXT_FREEMARKER_TEMPLATE.getValue(), "F");
  374.         MAP_TIPI_CONVERSIONE.put(TipoTrasformazione.CONTEXT_VELOCITY_TEMPLATE.getValue(), "V");
  375.     }
  376.    
  377.     public static final InfoDato TIPO_TRASFORMAZIONE_RICHIESTA = new InfoDato(31,
  378.             "Indica il tipo di trasformazione della richiesta utilizzato dalla PdD");
  379.    
  380.     /**
  381.      *  Posizione 33 (max 6 caratteri o -)
  382.       - tipoTrasformazioneRichiesta
  383.      */
  384.     public static final InfoDato TIPO_TRASFORMAZIONE_RISPOSTA = new InfoDato(32,
  385.             "Indica il tipo di trasformazione della risposta utilizzato dalla PdD");
  386.    
  387.    
  388.     /**
  389.      *  Posizione 34 (max 1 caratteri o -)
  390.       - autenticazioneTokenInCache
  391.      */
  392.     public static final InfoDato AUTENTICAZIONE_TOKEN_IN_CACHE = new InfoDato(33,
  393.             "Indica se il risultato dell'autenticazione token è stato prelevato dalla cache o meno");
  394.    
  395.     /**
  396.      *  Posizione 35 (max 1 caratteri o -)
  397.       - dettaglioAutenticazioneFallita
  398.      */
  399.    
  400.     public static final String TIPO_AUTENTICAZIONE_FALLITA_MOTIVAZIONE_CREDENZIALI_NON_FORNITE = "N";
  401.     public static final String TIPO_AUTENTICAZIONE_FALLITA_MOTIVAZIONE_CREDENZIALI_FORNITE_NON_CORRETE = "E";
  402.        
  403.     public static final InfoDato AUTENTICAZIONE_FALLITA_MOTIVAZIONE = new InfoDato(34,
  404.             "Indica la tipologia di errore di autenticazione");
  405.    
  406.     /**
  407.      *  Posizione 36 (max 1 caratteri o -)
  408.       - modiTokenAuthorizationInCache
  409.      */
  410.     public static final InfoDato MODI_TOKEN_AUTHORIZATION_IN_CACHE = new InfoDato(35,
  411.             "Indica se il token ModI Authorization è stato prelevato dalla cache o meno");
  412.    
  413.     /**
  414.      *  Posizione 37 (max 1 caratteri o -)
  415.       - modiTokenIntegrityInCache
  416.      */
  417.     public static final InfoDato MODI_TOKEN_INTEGRITY_IN_CACHE = new InfoDato(36,
  418.             "Indica se il token ModI Integrity è stato prelevato dalla cache o meno");
  419.    
  420.     /**
  421.      *  Posizione 38 (max 1 caratteri o -)
  422.       - modiTokenAuditInCache
  423.      */
  424.     public static final InfoDato MODI_TOKEN_AUDIT_IN_CACHE = new InfoDato(37,
  425.             "Indica se il token ModI Audit è stato prelevato dalla cache o meno");
  426.    
  427.    
  428.    
  429.     // Costanti condivise
  430.    
  431.     public static final String IN_CACHE_TRUE = "T";
  432.     public static final String IN_CACHE_FALSE = "F";
  433.    
  434.     // Attuale somma dei caratteri:
  435.     // (1-3)     1 +  8 + 30 +
  436.     // (4-6)    20 + 20 + 20 +
  437.     // (7-9)    10 +  2 + 10 +
  438.     // (10-12)   4 +  4 +  4 +
  439.     // (13-15)   4 +  4 +  4 +
  440.     // (16-18)   4 +  4 + 10 +
  441.     // (19-20)  20 + 3 +
  442.     // (21-23)   1 +  1 + 6 +
  443.     // (24)      6 +
  444.     // (25-27)   1 + 1 + 1 +
  445.     // (28-31)  40 + 3 + 5 + 1 +
  446.     // (32-33)   6 + 6 +
  447.     // (34)      1 +
  448.     // (35)      1
  449.     // (36-38)   3
  450.     // risultato: 269 + LENGHT_DATI_SIMULATI_VERSIONE_ATTUALE spazi = 307
  451.    
  452.     public static final int LENGHT_DATI_SIMULATI_VERSIONE_ATTUALE_PRECEDENTE_INTRODOTTO_33_34 = 33;
  453.     public static final int LENGHT_DATI_SIMULATI_VERSIONE_ATTUALE_PRECEDENTE_INTRODOTTO_35_36_37 = 35;
  454.     public static final int LENGHT_DATI_SIMULATI_VERSIONE_ATTUALE = 38; // incrementare ogni volta si aggiunge una nuova info

  455. }