TransazioniIndexUtils.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.core.transazioni.utils;

  21. import java.util.ArrayList;
  22. import java.util.List;

  23. import org.openspcoop2.core.commons.ExpressionUtils;
  24. import org.openspcoop2.core.transazioni.Transazione;
  25. import org.openspcoop2.generic_project.beans.IField;
  26. import org.openspcoop2.generic_project.expression.IExpression;


  27. /**    
  28.  * TransazioniIndexUtils
  29.  *
  30.  * @author Poli Andrea (poli@link.it)
  31.  * @author $Author$
  32.  * @version $Rev$, $Date$
  33.  */
  34. public class TransazioniIndexUtils {

  35.     private static final String PROP_NAME_SOLO_COLONNE_INDICIZZATE_FULL_INDEX_SEARCH = "SoloColonneIndiceFullIndexSearch";
  36.     private static final String PROP_NAME_SOLO_COLONNE_INDICIZZATE_FULL_INDEX_STATS = "SoloColonneIndiceFullIndexStats";
  37.    
  38.     public static void enableSoloColonneIndicizzateFullIndexSearch(IExpression expr) {
  39.         ExpressionUtils.enable(expr, PROP_NAME_SOLO_COLONNE_INDICIZZATE_FULL_INDEX_SEARCH);
  40.     }
  41.     public static boolean isEnabledSoloColonneIndicizzateFullIndexSearch(IExpression expr) {
  42.         return ExpressionUtils.isEnabled(expr, PROP_NAME_SOLO_COLONNE_INDICIZZATE_FULL_INDEX_SEARCH);
  43.     }
  44.    
  45.     public static void enableSoloColonneIndicizzateFullIndexStats(IExpression expr) {
  46.         ExpressionUtils.enable(expr, PROP_NAME_SOLO_COLONNE_INDICIZZATE_FULL_INDEX_STATS);
  47.     }
  48.     public static boolean isEnabledSoloColonneIndicizzateFullIndexStats(IExpression expr) {
  49.         return ExpressionUtils.isEnabled(expr, PROP_NAME_SOLO_COLONNE_INDICIZZATE_FULL_INDEX_STATS);
  50.     }
  51.    
  52.    
  53.     // -- CREATE INDEX INDEX_TR_SEARCH ON transazioni  
  54.     public static List<IField> LISTA_COLONNE_INDEX_TR_SEARCH = new ArrayList<IField>();
  55.     static {
  56.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().DATA_INGRESSO_RICHIESTA);
  57.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().ESITO);
  58.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().ESITO_CONTESTO);
  59.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().PDD_RUOLO);
  60.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().PDD_CODICE);
  61.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().TIPO_SOGGETTO_EROGATORE);
  62.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().NOME_SOGGETTO_EROGATORE);
  63.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().TIPO_SERVIZIO);
  64.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().NOME_SERVIZIO);
  65.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().VERSIONE_SERVIZIO);
  66.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().AZIONE);
  67.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().TIPO_SOGGETTO_FRUITORE);
  68.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().NOME_SOGGETTO_FRUITORE);
  69.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().SERVIZIO_APPLICATIVO_FRUITORE);
  70.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().TRASPORTO_MITTENTE);
  71.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().TOKEN_ISSUER);
  72.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().TOKEN_CLIENT_ID);
  73.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().TOKEN_SUBJECT);
  74.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().TOKEN_USERNAME);
  75.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().TOKEN_MAIL);
  76.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().ID_CORRELAZIONE_APPLICATIVA);
  77.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().ID_CORRELAZIONE_APPLICATIVA_RISPOSTA);
  78.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().PROTOCOLLO);
  79.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().CLIENT_ADDRESS);
  80.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().GRUPPI);
  81.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().URI_API);
  82.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().EVENTI_GESTIONE);
  83.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().CLUSTER_ID);
  84.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().ID_TRANSAZIONE);
  85.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().DATA_USCITA_RICHIESTA);
  86.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().DATA_INGRESSO_RISPOSTA);
  87.         LISTA_COLONNE_INDEX_TR_SEARCH.add(Transazione.model().DATA_USCITA_RISPOSTA);

  88.     }
  89.    
  90.     // -- CREATE INDEX INDEX_TR_STATS ON transazioni
  91.     public static List<IField> LISTA_COLONNE_INDEX_TR_STATS = new ArrayList<IField>();
  92.     static {
  93.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().DATA_INGRESSO_RICHIESTA);
  94.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().PDD_RUOLO);
  95.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().PDD_CODICE);
  96.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().TIPO_SOGGETTO_FRUITORE);
  97.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().NOME_SOGGETTO_FRUITORE);
  98.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().TIPO_SOGGETTO_EROGATORE);
  99.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().NOME_SOGGETTO_EROGATORE);
  100.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().TIPO_SERVIZIO);
  101.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().NOME_SERVIZIO);
  102.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().VERSIONE_SERVIZIO);
  103.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().AZIONE);
  104.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().SERVIZIO_APPLICATIVO_FRUITORE);
  105.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().TRASPORTO_MITTENTE);
  106.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().TOKEN_ISSUER);
  107.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().TOKEN_CLIENT_ID);
  108.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().TOKEN_SUBJECT);
  109.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().TOKEN_USERNAME);
  110.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().TOKEN_MAIL);
  111.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().ESITO);
  112.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().ESITO_CONTESTO);
  113.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().CLIENT_ADDRESS);
  114.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().GRUPPI);
  115.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().URI_API);
  116.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().DATA_USCITA_RICHIESTA);
  117.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().DATA_INGRESSO_RISPOSTA);
  118.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().DATA_USCITA_RISPOSTA);
  119.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().RICHIESTA_INGRESSO_BYTES);
  120.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().RICHIESTA_USCITA_BYTES);
  121.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().RISPOSTA_INGRESSO_BYTES);
  122.         LISTA_COLONNE_INDEX_TR_STATS.add(Transazione.model().RISPOSTA_USCITA_BYTES);
  123.     }
  124. }