EsitiPropertiesSQLInitializer.java
- /*
- * GovWay - A customizable API Gateway
- * https://govway.org
- *
- * Copyright (c) 2005-2025 Link.it srl (https://link.it).
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 3, as published by
- * the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
- package org.openspcoop2.protocol.utils;
- import java.util.List;
- import org.openspcoop2.core.constants.CostantiDB;
- import org.openspcoop2.utils.LoggerWrapperFactory;
- import org.openspcoop2.utils.resources.FileSystemUtilities;
- import org.openspcoop2.utils.resources.Loader;
- import org.slf4j.Logger;
- /**
- * EsitiPropertiesSQLInitializer
- *
- * @author Poli Andrea (apoli@link.it)
- * @author $Author$
- * @version $Rev$, $Date$
- */
- public class EsitiPropertiesSQLInitializer {
- private static Logger log = LoggerWrapperFactory.getLogger(EsitiPropertiesSQLInitializer.class);
-
- public static void main(String[] args) throws Exception {
-
- String file = "/var/tmp/ArchivioTransazioni_data.sql";
- if(args.length>0) {
- file = args[0];
- }
-
- EsitiProperties.initialize(null, log, new Loader(), null);
-
- EsitiProperties esitiProperties = EsitiProperties.getInstance(log, EsitiProperties.NO_PROTOCOL_CONFIG);
-
- StringBuilder sbInit = new StringBuilder();
-
- String completateConSuccesso = "Completata con Successo";
- String faultApplicativo = "Fault Applicativo";
- String richiestaScartata = "Richiesta Scartata";
- String erroriConsegna = "Errore di Consegna";
- String autorizzazioneNegata = "Autorizzazione Negata";
- String policyViolata = "Policy Controllo Traffico Violate";
- String erroriIM = "Errori Servizio IntegrationManager/MessageBox";
- String erroriRichiesta = "Errori Processamento Richiesta";
- String erroriRisposta = "Errori Processamento Risposta";
- String erroreGenerico = "Errore Generico";
- String erroreClientNonDisponibile = "Errore Client Indisponibile";
-
- int completateConSuccesso_code = 1;
- int faultApplicativo_code = 2;
- int richiestaScartata_code = 3;
- int erroriConsegna_code = 4;
- int autorizzazioneNegata_code = 5;
- int policyViolata_code = 6;
- int erroriIM_code = 7;
- int erroriRichiesta_code = 8;
- int erroriRisposta_code = 9;
- int erroreGenerico_code = 10;
- int erroreClientNonDisponibile_code = 11;
-
- sbInit.append("-- classe esiti\n");
- sbInit.append(buildClassInsert(completateConSuccesso_code, completateConSuccesso));
- sbInit.append("\n");
- sbInit.append(buildClassInsert(faultApplicativo_code, faultApplicativo));
- sbInit.append("\n");
- sbInit.append(buildClassInsert(richiestaScartata_code, richiestaScartata));
- sbInit.append("\n");
- sbInit.append(buildClassInsert(erroriConsegna_code, erroriConsegna));
- sbInit.append("\n");
- sbInit.append(buildClassInsert(autorizzazioneNegata_code, autorizzazioneNegata));
- sbInit.append("\n");
- sbInit.append(buildClassInsert(policyViolata_code, policyViolata));
- sbInit.append("\n");
- sbInit.append(buildClassInsert(erroriIM_code, erroriIM));
- sbInit.append("\n");
- sbInit.append(buildClassInsert(erroriRichiesta_code, erroriRichiesta));
- sbInit.append("\n");
- sbInit.append(buildClassInsert(erroriRisposta_code, erroriRisposta));
- sbInit.append("\n");
- sbInit.append(buildClassInsert(erroreGenerico_code, erroreGenerico));
- sbInit.append("\n");
- sbInit.append(buildClassInsert(erroreClientNonDisponibile_code, erroreClientNonDisponibile));
- sbInit.append("\n");
-
- sbInit.append("\n");
- sbInit.append("-- esiti\n");
- List<Integer> codes = esitiProperties.getEsitiCode();
- for (Integer code : codes) {
-
- int classCode = -1;
- if(esitiProperties.getEsitiCodeOk_senzaFaultApplicativo().contains(code)) {
- classCode = completateConSuccesso_code; // Completata con Successo
- }
- else if(esitiProperties.getEsitiCodeFaultApplicativo().contains(code)) {
- classCode = faultApplicativo_code; // Fault Applicativo
- }
- else if(esitiProperties.getEsitiCodeRichiestaScartate().contains(code)) {
- classCode = richiestaScartata_code; // Richiesta Scartata
- }
- else if(esitiProperties.getEsitiCodeErroriConsegna().contains(code)) {
- classCode = erroriConsegna_code; // Errore di Consegna
- }
- else if(esitiProperties.getEsitiCodeAutorizzazioneNegata().contains(code)) {
- classCode = autorizzazioneNegata_code; // Autorizzazione Negata
- }
- else if(esitiProperties.getEsitiCodeControlloTrafficoPolicyViolate().contains(code)) {
- classCode = policyViolata_code; // Policy Controllo Traffico Violate
- }
- else if(esitiProperties.getEsitiCodeServizioIntegrationManager().contains(code)) {
- classCode = erroriIM_code; // Errori Servizio I.M. MessageBox
- }
- else if(esitiProperties.getEsitiCodeErroriProcessamentoRichiesta().contains(code)) {
- classCode = erroriRichiesta_code; // Errori Processamento Richiesta
- }
- else if(esitiProperties.getEsitiCodeErroriProcessamentoRisposta().contains(code)) {
- classCode = erroriRisposta_code; // Errori Processamento Risposta
- }
- else if(esitiProperties.getEsitiCodeErroriClientNonDisponibile().contains(code)) {
- classCode = erroreClientNonDisponibile_code; // Errore Client Indisponibile
- }
- else if(esitiProperties.getEsitiCodeErroriGenerici().contains(code)) {
- classCode = erroreGenerico_code; // Errore Generico
- }
- else {
- throw new Exception("Classificazione del codice '"+code+"' non riuscita");
- }
-
- StringBuilder sb = new StringBuilder("INSERT INTO ");
- sb.append(CostantiDB.TRANSAZIONI_ESITI);
- sb.append(" (govway_status, govway_status_key, govway_status_detail, govway_status_description, govway_status_class) VALUES ( ");
- sb.append(code);
- sb.append(" , ");
- sb.append("'").append(esitiProperties.getEsitoName(code).replaceAll("'", "''")).append("'");
- sb.append(" , ");
- sb.append("'").append(esitiProperties.getEsitoLabel(code).replaceAll("'", "''")).append("'");
- sb.append(" , ");
- sb.append("'").append(esitiProperties.getEsitoDescription(code).replaceAll("'", "''")).append("'");
- sb.append(" , ");
- sb.append("(select id from ").append(CostantiDB.TRANSAZIONI_CLASSE_ESITI).append(" WHERE govway_status="+classCode+")");
- sb.append(" );");
-
- sbInit.append(sb.toString());
- sbInit.append("\n");
- }
-
- FileSystemUtilities.writeFile(file, sbInit.toString().getBytes());
- System.out.println("Script di inizializzazione serializzato in '"+file+"'");
-
- }
-
- private static String buildClassInsert(int code, String detail) {
- StringBuilder sb = new StringBuilder("INSERT INTO ");
- sb.append(CostantiDB.TRANSAZIONI_CLASSE_ESITI);
- sb.append(" (govway_status, govway_status_detail) VALUES ( ");
- sb.append(code);
- sb.append(" , ");
- sb.append("'").append(detail).append("'");
- sb.append(" );");
- return sb.toString();
- }
- }