DriverConfigurazioneDB_configLIB.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.core.config.driver.db;
- import static org.openspcoop2.core.constants.CostantiDB.CREATE;
- import static org.openspcoop2.core.constants.CostantiDB.DELETE;
- import static org.openspcoop2.core.constants.CostantiDB.UPDATE;
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Timestamp;
- import java.util.ArrayList;
- import java.util.List;
- import org.openspcoop2.core.byok.BYOKUtilities;
- import org.openspcoop2.core.byok.BYOKWrappedValue;
- import org.openspcoop2.core.byok.IDriverBYOK;
- import org.openspcoop2.core.commons.DBUtils;
- import org.openspcoop2.core.commons.IExtendedInfo;
- import org.openspcoop2.core.config.AccessoConfigurazione;
- import org.openspcoop2.core.config.AccessoDatiAttributeAuthority;
- import org.openspcoop2.core.config.AccessoDatiAutenticazione;
- import org.openspcoop2.core.config.AccessoDatiAutorizzazione;
- import org.openspcoop2.core.config.AccessoDatiGestioneToken;
- import org.openspcoop2.core.config.AccessoDatiKeystore;
- import org.openspcoop2.core.config.AccessoDatiRichieste;
- import org.openspcoop2.core.config.AccessoRegistro;
- import org.openspcoop2.core.config.AccessoRegistroRegistro;
- import org.openspcoop2.core.config.Attachments;
- import org.openspcoop2.core.config.Cache;
- import org.openspcoop2.core.config.CanaliConfigurazione;
- import org.openspcoop2.core.config.Configurazione;
- import org.openspcoop2.core.config.ConfigurazioneGeneraleHandler;
- import org.openspcoop2.core.config.ConfigurazioneMultitenant;
- import org.openspcoop2.core.config.ConfigurazioneTracciamentoPorta;
- import org.openspcoop2.core.config.ConfigurazioneUrlInvocazioneRegola;
- import org.openspcoop2.core.config.CorsConfigurazione;
- import org.openspcoop2.core.config.Dump;
- import org.openspcoop2.core.config.DumpConfigurazione;
- import org.openspcoop2.core.config.GenericProperties;
- import org.openspcoop2.core.config.IndirizzoRisposta;
- import org.openspcoop2.core.config.InoltroBusteNonRiscontrate;
- import org.openspcoop2.core.config.IntegrationManager;
- import org.openspcoop2.core.config.MessaggiDiagnostici;
- import org.openspcoop2.core.config.OpenspcoopAppender;
- import org.openspcoop2.core.config.OpenspcoopSorgenteDati;
- import org.openspcoop2.core.config.Property;
- import org.openspcoop2.core.config.ResponseCachingConfigurazioneGenerale;
- import org.openspcoop2.core.config.ResponseCachingConfigurazioneRegola;
- import org.openspcoop2.core.config.Risposte;
- import org.openspcoop2.core.config.StatoServiziPdd;
- import org.openspcoop2.core.config.StatoServiziPddIntegrationManager;
- import org.openspcoop2.core.config.StatoServiziPddPortaApplicativa;
- import org.openspcoop2.core.config.StatoServiziPddPortaDelegata;
- import org.openspcoop2.core.config.SystemProperties;
- import org.openspcoop2.core.config.TipoFiltroAbilitazioneServizi;
- import org.openspcoop2.core.config.Tracciamento;
- import org.openspcoop2.core.config.TracciamentoConfigurazione;
- import org.openspcoop2.core.config.TracciamentoConfigurazioneFiletrace;
- import org.openspcoop2.core.config.Transazioni;
- import org.openspcoop2.core.config.ValidazioneBuste;
- import org.openspcoop2.core.config.constants.CostantiConfigurazione;
- import org.openspcoop2.core.config.constants.StatoFunzionalita;
- import org.openspcoop2.core.config.constants.StatoFunzionalitaCacheDigestQueryParameter;
- import org.openspcoop2.core.config.driver.DriverConfigurazioneException;
- import org.openspcoop2.core.config.driver.ExtendedInfoManager;
- import org.openspcoop2.core.constants.CRUDType;
- import org.openspcoop2.core.constants.CostantiDB;
- import org.openspcoop2.utils.TipiDatabase;
- import org.openspcoop2.utils.date.DateManager;
- import org.openspcoop2.utils.jdbc.CustomKeyGeneratorObject;
- import org.openspcoop2.utils.jdbc.InsertAndGeneratedKey;
- import org.openspcoop2.utils.jdbc.InsertAndGeneratedKeyJDBCType;
- import org.openspcoop2.utils.jdbc.InsertAndGeneratedKeyObject;
- import org.openspcoop2.utils.jdbc.JDBCUtilities;
- import org.openspcoop2.utils.sql.ISQLQueryObject;
- import org.openspcoop2.utils.sql.SQLObjectFactory;
- import org.openspcoop2.utils.sql.SQLQueryObjectException;
- /**
- * DriverConfigurazioneDB_configLIB
- *
- * @author Stefano Corallo - corallo@link.it
- * @author $Author$
- * @version $Rev$, $Date$
- */
- public class DriverConfigurazioneDB_configLIB {
- public static long CRUDAccessoRegistro(int type, AccessoRegistroRegistro registro, Connection con) throws DriverConfigurazioneException {
- if (registro == null)
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDAccessoRegistro] Il servizio non puo essere NULL");
- PreparedStatement updateStmt = null;
- String updateQuery = "";
- PreparedStatement selectStmt = null;
- String selectQuery = "";
- ResultSet selectRS = null;
- long idRegistro = 0;
- int n = 0;
- String nome = registro.getNome();
- String location = registro.getLocation();
- String tipo = registro.getTipo().toString();
- String user = registro.getUser();
- String password = registro.getPassword();
- try {
- switch (type) {
- case CREATE:
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addInsertTable(CostantiDB.REGISTRI);
- sqlQueryObject.addInsertField("nome", "?");
- sqlQueryObject.addInsertField("location", "?");
- sqlQueryObject.addInsertField("tipo", "?");
- sqlQueryObject.addInsertField("utente", "?");
- sqlQueryObject.addInsertField("password", "?");
- updateQuery = sqlQueryObject.createSQLInsert();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.setString(1, nome);
- updateStmt.setString(2, location);
- updateStmt.setString(3, tipo);
- updateStmt.setString(4, user);
- updateStmt.setString(5, password);
- DriverConfigurazioneDBLib.logDebug("eseguo query: " + DBUtils.formatSQLString(updateQuery, nome, location, tipo, user, password));
- n = updateStmt.executeUpdate();
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addFromTable(CostantiDB.REGISTRI);
- sqlQueryObject.addSelectField("id");
- sqlQueryObject.addWhereCondition("nome = ?");
- sqlQueryObject.addWhereCondition("location = ?");
- sqlQueryObject.setANDLogicOperator(true);
- selectQuery = sqlQueryObject.createSQLQuery();
- selectStmt = con.prepareStatement(selectQuery);
- selectStmt.setString(1, nome);
- selectStmt.setString(2, location);
- selectRS = selectStmt.executeQuery();
- if (selectRS.next()) {
- idRegistro = selectRS.getLong("id");
- registro.setId(idRegistro);
- }
- break;
- case UPDATE:
- if (registro.getId() == null || registro.getId() <= 0)
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDAccessoRegistro(UPDATE)] L'id del Servizio e' necessario.");
- idRegistro = registro.getId();
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addUpdateTable(CostantiDB.ROUTING);
- sqlQueryObject.addUpdateField("nome", "?");
- sqlQueryObject.addUpdateField("location", "?");
- sqlQueryObject.addUpdateField("tipo", "?");
- sqlQueryObject.addUpdateField("utente", "?");
- sqlQueryObject.addUpdateField("password", "?");
- sqlQueryObject.addWhereCondition("id=?");
- updateQuery = sqlQueryObject.createSQLUpdate();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.setString(1, registro.getNome());
- updateStmt.setString(2, registro.getLocation());
- updateStmt.setString(3, registro.getTipo().toString());
- updateStmt.setString(4, registro.getUser());
- updateStmt.setString(5, registro.getPassword());
- updateStmt.setLong(6, idRegistro);
- DriverConfigurazioneDBLib.logDebug("eseguo query: " + DBUtils.formatSQLString(updateQuery, nome, location, tipo, user, password, idRegistro));
- n = updateStmt.executeUpdate();
- break;
- case DELETE:
- if (registro.getId() == null || registro.getId() <= 0)
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDAccessoRegistro(DELETE)] L'id del Servizio e' necessario.");
- idRegistro = registro.getId();
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.REGISTRI);
- sqlQueryObject.addWhereCondition("id=?");
- String sqlQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(sqlQuery);
- updateStmt.setLong(1, idRegistro);
- DriverConfigurazioneDBLib.logDebug("eseguo query: " + DBUtils.formatSQLString(updateQuery, idRegistro));
- n=updateStmt.executeUpdate();
- updateStmt.close();
- break;
- }
- if (type == CostantiDB.CREATE)
- return idRegistro;
- else
- return n;
- } catch (SQLException se) {
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDAccessoRegistro] SQLException [" + se.getMessage() + "].",se);
- }catch (Exception se) {
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDAccessoRegistro] Exception [" + se.getMessage() + "].",se);
- } finally {
- JDBCUtilities.closeResources(selectRS, selectStmt);
- JDBCUtilities.closeResources(updateStmt);
- }
- }
- public static long CRUDAccessoRegistro(int type, AccessoRegistro registro, Connection con) throws DriverConfigurazioneException {
- if (registro == null)
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDAccessoRegistro] Il registro non può essere NULL");
- PreparedStatement updateStmt = null;
- String updateQuery = "";
- PreparedStatement selectStmt = null;
- ResultSet selectRS = null;
- long idRegistro = 0;
- int n = 0;
- Cache arc = registro.getCache();
- String statoCache = "disabilitato";
- String dimensionecache = null;
- String algoritmocache = null;
- String idlecache = null;
- String lifecache = null;
- if (arc != null) {
- statoCache = "abilitato";
- dimensionecache = arc.getDimensione();
- if(arc.getAlgoritmo()!=null){
- algoritmocache = arc.getAlgoritmo().toString();
- }
- idlecache = arc.getItemIdleTime();
- lifecache = arc.getItemLifeSecond();
- }
- try {
- switch (type) {
- case CREATE:
- case UPDATE:
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addUpdateTable(CostantiDB.CONFIGURAZIONE);
- sqlQueryObject.addUpdateField("statocache", "?");
- sqlQueryObject.addUpdateField("dimensionecache", "?");
- sqlQueryObject.addUpdateField("algoritmocache", "?");
- sqlQueryObject.addUpdateField("idlecache", "?");
- sqlQueryObject.addUpdateField("lifecache", "?");
- updateQuery = sqlQueryObject.createSQLUpdate();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.setString(1, statoCache);
- updateStmt.setString(2, dimensionecache);
- updateStmt.setString(3, algoritmocache);
- updateStmt.setString(4, idlecache);
- updateStmt.setString(5, lifecache);
- DriverConfigurazioneDBLib.logDebug("eseguo query :" + DBUtils.formatSQLString(updateQuery, statoCache, dimensionecache, algoritmocache, idlecache, lifecache));
- n = updateStmt.executeUpdate();
- updateStmt.close();
- // Elimino i registri e li ricreo
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.REGISTRI);
- String sqlQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(sqlQuery);
- DriverConfigurazioneDBLib.logDebug("eseguo query: " + DBUtils.formatSQLString(updateQuery));
- int risultato = updateStmt.executeUpdate();
- DriverConfigurazioneDBLib.logDebug("eseguo query risultato["+risultato+"]: " + DBUtils.formatSQLString(updateQuery));
- updateStmt.close();
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addInsertTable(CostantiDB.REGISTRI);
- sqlQueryObject.addInsertField("nome", "?");
- sqlQueryObject.addInsertField("location", "?");
- sqlQueryObject.addInsertField("tipo", "?");
- sqlQueryObject.addInsertField("utente", "?");
- sqlQueryObject.addInsertField("password", "?");
- updateQuery = sqlQueryObject.createSQLInsert();
- for (int i = 0; i < registro.sizeRegistroList(); i++) {
- updateStmt = con.prepareStatement(updateQuery);
- AccessoRegistroRegistro arr = registro.getRegistro(i);
- String nome = arr.getNome();
- String location = arr.getLocation();
- String tipo = arr.getTipo().toString();
- String utente = arr.getUser();
- String password = arr.getPassword();
- updateStmt.setString(1, nome);
- updateStmt.setString(2, location);
- updateStmt.setString(3, tipo);
- updateStmt.setString(4, utente);
- updateStmt.setString(5, password);
- DriverConfigurazioneDBLib.logDebug("eseguo query INSERT INTO " + CostantiDB.REGISTRI + "(nome, location, tipo, utente, password) VALUES ("+
- nome+", "+location+", "+tipo+", "+utente+", "+password+")");
- updateStmt.executeUpdate();
- updateStmt.close();
- }
- break;
- case DELETE:
- // non rimuovo nulla in quanto la tabella configurazione
- // contiene solo una riga con i valori
- // che vanno modificati con la update
- break;
- }
- if (type == CostantiDB.CREATE)
- return idRegistro;
- else
- return n;
- } catch (SQLException se) {
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDAccessoRegistro] SQLException [" + se.getMessage() + "].",se);
- }catch (Exception se) {
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDAccessoRegistro] Exception [" + se.getMessage() + "].",se);
- } finally {
- JDBCUtilities.closeResources(selectRS, selectStmt);
- JDBCUtilities.closeResources(updateStmt);
-
- }
- }
-
-
-
- public static long CRUDAccessoConfigurazione(int type, AccessoConfigurazione accessoConfigurazione, Connection con) throws DriverConfigurazioneException {
- if (accessoConfigurazione == null)
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDAccessoConfigurazione] Parametro accessoConfigurazione non può essere NULL");
- PreparedStatement updateStmt = null;
- String updateQuery = "";
- int n = 0;
- Cache cache = accessoConfigurazione.getCache();
- String statoCache = "disabilitato";
- String dimensionecache = null;
- String algoritmocache = null;
- String idlecache = null;
- String lifecache = null;
- if (cache != null) {
- statoCache = "abilitato";
- dimensionecache = cache.getDimensione();
- if(cache.getAlgoritmo()!=null){
- algoritmocache = cache.getAlgoritmo().toString();
- }
- idlecache = cache.getItemIdleTime();
- lifecache = cache.getItemLifeSecond();
- }
- try {
- switch (type) {
- case CREATE:
- case UPDATE:
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addUpdateTable(CostantiDB.CONFIGURAZIONE);
- sqlQueryObject.addUpdateField("config_statocache", "?");
- sqlQueryObject.addUpdateField("config_dimensionecache", "?");
- sqlQueryObject.addUpdateField("config_algoritmocache", "?");
- sqlQueryObject.addUpdateField("config_idlecache", "?");
- sqlQueryObject.addUpdateField("config_lifecache", "?");
- updateQuery = sqlQueryObject.createSQLUpdate();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.setString(1, statoCache);
- updateStmt.setString(2, dimensionecache);
- updateStmt.setString(3, algoritmocache);
- updateStmt.setString(4, idlecache);
- updateStmt.setString(5, lifecache);
- DriverConfigurazioneDBLib.logDebug("eseguo query :" + DBUtils.formatSQLString(updateQuery, statoCache, dimensionecache, algoritmocache, idlecache, lifecache));
- n = updateStmt.executeUpdate();
- updateStmt.close();
- break;
- case DELETE:
- // non rimuovo nulla in quanto la tabella configurazione
- // contiene solo una riga con i valori
- // che vanno modificati con la update
- break;
- }
- return n;
- } catch (SQLException se) {
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDAccessoConfigurazione] SQLException [" + se.getMessage() + "].",se);
- }catch (Exception se) {
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDAccessoConfigurazione] Exception [" + se.getMessage() + "].",se);
- } finally {
- JDBCUtilities.closeResources(updateStmt);
- }
- }
-
-
-
- public static long CRUDAccessoDatiAutorizzazione(int type, AccessoDatiAutorizzazione accessoDatiAutorizzazione, Connection con) throws DriverConfigurazioneException {
- if (accessoDatiAutorizzazione == null)
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDAccessoDatiAutorizzazione] Parametro accessoDatiAutorizzazione non può essere NULL");
- PreparedStatement updateStmt = null;
- String updateQuery = "";
- int n = 0;
- Cache cache = accessoDatiAutorizzazione.getCache();
- String statoCache = "disabilitato";
- String dimensionecache = null;
- String algoritmocache = null;
- String idlecache = null;
- String lifecache = null;
- if (cache != null) {
- statoCache = "abilitato";
- dimensionecache = cache.getDimensione();
- if(cache.getAlgoritmo()!=null){
- algoritmocache = cache.getAlgoritmo().toString();
- }
- idlecache = cache.getItemIdleTime();
- lifecache = cache.getItemLifeSecond();
- }
- try {
- switch (type) {
- case CREATE:
- case UPDATE:
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addUpdateTable(CostantiDB.CONFIGURAZIONE);
- sqlQueryObject.addUpdateField("auth_statocache", "?");
- sqlQueryObject.addUpdateField("auth_dimensionecache", "?");
- sqlQueryObject.addUpdateField("auth_algoritmocache", "?");
- sqlQueryObject.addUpdateField("auth_idlecache", "?");
- sqlQueryObject.addUpdateField("auth_lifecache", "?");
- updateQuery = sqlQueryObject.createSQLUpdate();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.setString(1, statoCache);
- updateStmt.setString(2, dimensionecache);
- updateStmt.setString(3, algoritmocache);
- updateStmt.setString(4, idlecache);
- updateStmt.setString(5, lifecache);
- DriverConfigurazioneDBLib.logDebug("eseguo query :" + DBUtils.formatSQLString(updateQuery, statoCache, dimensionecache, algoritmocache, idlecache, lifecache));
- n = updateStmt.executeUpdate();
- updateStmt.close();
- break;
- case DELETE:
- // non rimuovo nulla in quanto la tabella configurazione
- // contiene solo una riga con i valori
- // che vanno modificati con la update
- break;
- }
- return n;
- } catch (SQLException se) {
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDAccessoDatiAutorizzazione] SQLException [" + se.getMessage() + "].",se);
- }catch (Exception se) {
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDAccessoDatiAutorizzazione] Exception [" + se.getMessage() + "].",se);
- } finally {
- JDBCUtilities.closeResources(updateStmt);
- }
- }
-
-
- public static void CRUDServiziPdD(int type, StatoServiziPdd statoServiziPdD, Connection con) throws DriverConfigurazioneException {
- if (statoServiziPdD == null)
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDServiziPdD] Le configurazioni del servizio non possono essere NULL");
- PreparedStatement updateStmt = null;
- String updateQuery = "";
- PreparedStatement selectStmt = null;
- ResultSet selectRS = null;
-
- try {
- switch (type) {
- case CREATE:
- case UPDATE:
- // Elimino le configurazioni e le ricreo
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.SERVIZI_PDD_FILTRI);
- String sqlQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(sqlQuery);
- DriverConfigurazioneDBLib.logDebug("eseguo query: " + DBUtils.formatSQLString(updateQuery));
- int risultato = updateStmt.executeUpdate();
- DriverConfigurazioneDBLib.logDebug("eseguo query risultato["+risultato+"]: " + DBUtils.formatSQLString(updateQuery));
- updateStmt.close();
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.SERVIZI_PDD);
- sqlQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(sqlQuery);
- DriverConfigurazioneDBLib.logDebug("eseguo query: " + DBUtils.formatSQLString(updateQuery));
- risultato = updateStmt.executeUpdate();
- DriverConfigurazioneDBLib.logDebug("eseguo query risultato["+risultato+"]: " + DBUtils.formatSQLString(updateQuery));
- updateStmt.close();
-
- // Ricreo
- if(statoServiziPdD.getPortaDelegata()!=null){
-
- StatoServiziPddPortaDelegata sPD = statoServiziPdD.getPortaDelegata();
-
- int stato = CostantiDB.TRUE;
- if(sPD.getStato()!=null){
- stato = CostantiConfigurazione.DISABILITATO.equals(sPD.getStato()) ? CostantiDB.FALSE : CostantiDB.TRUE;
- }
-
- DriverConfigurazioneDB_configLIB.registraComponentePdD(CostantiDB.COMPONENTE_SERVIZIO_PD, stato, con, sPD.getFiltroAbilitazioneList(), sPD.getFiltroDisabilitazioneList());
-
- }
- if(statoServiziPdD.getPortaApplicativa()!=null){
-
- StatoServiziPddPortaApplicativa sPA = statoServiziPdD.getPortaApplicativa();
-
- int stato = CostantiDB.TRUE;
- if(sPA.getStato()!=null){
- stato = CostantiConfigurazione.DISABILITATO.equals(sPA.getStato()) ? CostantiDB.FALSE : CostantiDB.TRUE;
- }
-
- DriverConfigurazioneDB_configLIB.registraComponentePdD(CostantiDB.COMPONENTE_SERVIZIO_PA, stato, con, sPA.getFiltroAbilitazioneList(), sPA.getFiltroDisabilitazioneList());
-
- }
- if(statoServiziPdD.getIntegrationManager()!=null){
-
- StatoServiziPddIntegrationManager sIM = statoServiziPdD.getIntegrationManager();
-
- int stato = CostantiDB.TRUE;
- if(sIM.getStato()!=null){
- stato = CostantiConfigurazione.DISABILITATO.equals(sIM.getStato()) ? CostantiDB.FALSE : CostantiDB.TRUE;
- }
-
- DriverConfigurazioneDB_configLIB.registraComponentePdD(CostantiDB.COMPONENTE_SERVIZIO_IM, stato, con, null, null);
-
- }
-
- break;
- case DELETE:
- // non rimuovo nulla in quanto la tabella configurazione
- // contiene solo una riga con i valori
- // che vanno modificati con la update
- break;
- }
- } catch (SQLException se) {
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDAccessoRegistro] SQLException [" + se.getMessage() + "].",se);
- }catch (Exception se) {
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDAccessoRegistro] Exception [" + se.getMessage() + "].",se);
- } finally {
- JDBCUtilities.closeResources(selectRS, selectStmt);
- JDBCUtilities.closeResources(updateStmt);
-
- }
- }
- private static void registraComponentePdD(String componente,int stato,Connection con,
- List<TipoFiltroAbilitazioneServizi> abilitazioni,
- List<TipoFiltroAbilitazioneServizi> disabilitazioni) throws Exception{
- PreparedStatement updateStmt = null;
- String updateQuery = "";
- PreparedStatement selectStmt = null;
- ResultSet selectRS = null;
-
- try {
-
- // registro componente
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addInsertTable(CostantiDB.SERVIZI_PDD);
- sqlQueryObject.addInsertField("componente", "?");
- sqlQueryObject.addInsertField("stato", "?");
- updateQuery = sqlQueryObject.createSQLInsert();
- updateStmt = con.prepareStatement(updateQuery);
- DriverConfigurazioneDBLib.logDebug("eseguo query INSERT INTO " + CostantiDB.SERVIZI_PDD + "(componente, stato) VALUES ('"+
- componente+"', "+stato+")");
- updateStmt.setString(1, componente);
- updateStmt.setInt(2, stato);
- updateStmt.executeUpdate();
- updateStmt.close();
-
- // recuper id del componente
- long idComponente = -1;
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addFromTable(CostantiDB.SERVIZI_PDD);
- sqlQueryObject.addSelectField("id");
- sqlQueryObject.addWhereCondition("componente=?");
- updateQuery = sqlQueryObject.createSQLQuery();
- selectStmt = con.prepareStatement(updateQuery);
- DriverConfigurazioneDBLib.logDebug("eseguo query ["+updateQuery+"] per il componente ["+componente+"]");
- selectStmt.setString(1, componente);
- selectRS = selectStmt.executeQuery();
- if(selectRS.next()){
- idComponente = selectRS.getLong("id");
- }else{
- throw new Exception("Query ["+updateQuery+"] per il componente ["+componente+"] non ha ritornato risultati");
- }
- selectRS.close();
- selectStmt.close();
-
- // registro i filtri
-
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addInsertTable(CostantiDB.SERVIZI_PDD_FILTRI);
- sqlQueryObject.addInsertField("id_servizio_pdd", "?");
- sqlQueryObject.addInsertField("tipo_filtro", "?");
- sqlQueryObject.addInsertField("tipo_soggetto_fruitore", "?");
- sqlQueryObject.addInsertField("soggetto_fruitore", "?");
- sqlQueryObject.addInsertField("identificativo_porta_fruitore", "?");
- sqlQueryObject.addInsertField("tipo_soggetto_erogatore", "?");
- sqlQueryObject.addInsertField("soggetto_erogatore", "?");
- sqlQueryObject.addInsertField("identificativo_porta_erogatore", "?");
- sqlQueryObject.addInsertField("tipo_servizio", "?");
- sqlQueryObject.addInsertField("servizio", "?");
- sqlQueryObject.addInsertField("versione_servizio", "?");
- sqlQueryObject.addInsertField("azione", "?");
- updateQuery = sqlQueryObject.createSQLInsert();
-
- if(abilitazioni!=null){
- for (TipoFiltroAbilitazioneServizi filtro : abilitazioni) {
-
- updateStmt = con.prepareStatement(updateQuery);
- int index = 1;
-
- updateStmt.setLong(index++, idComponente);
- updateStmt.setString(index++,CostantiDB.TIPO_FILTRO_ABILITAZIONE_SERVIZIO_PDD);
-
- updateStmt.setString(index++,filtro.getTipoSoggettoFruitore());
- updateStmt.setString(index++,filtro.getSoggettoFruitore());
- updateStmt.setString(index++,filtro.getIdentificativoPortaFruitore());
-
- updateStmt.setString(index++,filtro.getTipoSoggettoErogatore());
- updateStmt.setString(index++,filtro.getSoggettoErogatore());
- updateStmt.setString(index++,filtro.getIdentificativoPortaErogatore());
-
- updateStmt.setString(index++,filtro.getTipoServizio());
- updateStmt.setString(index++,filtro.getServizio());
- if(filtro.getVersioneServizio()!=null){
- updateStmt.setInt(index++,filtro.getVersioneServizio());
- }
- else{
- updateStmt.setNull(index++, java.sql.Types.INTEGER);
- }
-
- updateStmt.setString(index++,filtro.getAzione());
-
- updateStmt.executeUpdate();
- updateStmt.close();
-
- }
- }
-
- if(disabilitazioni!=null){
- for (TipoFiltroAbilitazioneServizi filtro : disabilitazioni) {
-
- updateStmt = con.prepareStatement(updateQuery);
- int index = 1;
-
- updateStmt.setLong(index++, idComponente);
- updateStmt.setString(index++,CostantiDB.TIPO_FILTRO_DISABILITAZIONE_SERVIZIO_PDD);
-
- updateStmt.setString(index++,filtro.getTipoSoggettoFruitore());
- updateStmt.setString(index++,filtro.getSoggettoFruitore());
- updateStmt.setString(index++,filtro.getIdentificativoPortaFruitore());
-
- updateStmt.setString(index++,filtro.getTipoSoggettoErogatore());
- updateStmt.setString(index++,filtro.getSoggettoErogatore());
- updateStmt.setString(index++,filtro.getIdentificativoPortaErogatore());
-
- updateStmt.setString(index++,filtro.getTipoServizio());
- updateStmt.setString(index++,filtro.getServizio());
- if(filtro.getVersioneServizio()!=null){
- updateStmt.setInt(index++,filtro.getVersioneServizio());
- }
- else{
- updateStmt.setNull(index++, java.sql.Types.INTEGER);
- }
-
- updateStmt.setString(index++,filtro.getAzione());
-
- updateStmt.executeUpdate();
- updateStmt.close();
-
- }
- }
-
- } finally {
- JDBCUtilities.closeResources(selectRS, selectStmt);
- JDBCUtilities.closeResources(updateStmt);
-
- }
- }
-
-
-
- public static void CRUDSystemPropertiesPdD(int type, SystemProperties systemProperties, Connection con, IDriverBYOK driverBYOK) throws DriverConfigurazioneException {
- if (systemProperties == null)
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDSystemPropertiesPdD] Le configurazioni per le system properties non possono essere NULL");
- PreparedStatement updateStmt = null;
- String updateQuery = "";
- PreparedStatement selectStmt = null;
- ResultSet selectRS = null;
-
- try {
-
- // Elimino le configurazioni e le ricreo per insert e update
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.SYSTEM_PROPERTIES_PDD);
- String sqlQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(sqlQuery);
- DriverConfigurazioneDBLib.logDebug("eseguo query: " + DBUtils.formatSQLString(updateQuery));
- int risultato = updateStmt.executeUpdate();
- DriverConfigurazioneDBLib.logDebug("eseguo query risultato["+risultato+"]: " + DBUtils.formatSQLString(updateQuery));
- updateStmt.close();
-
- switch (type) {
- case CREATE:
- case UPDATE:
-
- for (int i = 0; i < systemProperties.sizeSystemPropertyList(); i++) {
-
- Property sp = systemProperties.getSystemProperty(i);
- String nome = sp.getNome();
-
- // Riga
- // registro componente
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addInsertTable(CostantiDB.SYSTEM_PROPERTIES_PDD);
- sqlQueryObject.addInsertField("nome", "?");
- sqlQueryObject.addInsertField("valore", "?");
- sqlQueryObject.addInsertField("enc_value", "?");
- updateQuery = sqlQueryObject.createSQLInsert();
- updateStmt = con.prepareStatement(updateQuery);
- int index = 1;
- updateStmt.setString(index++, nome);
-
- String plainValue = sp.getValore();
- String encValue = null;
- if(driverBYOK!=null && BYOKUtilities.isWrappedValue(plainValue) ) {
- BYOKWrappedValue byokValue = driverBYOK.wrap(plainValue);
- if(byokValue!=null) {
- encValue = byokValue.getWrappedValue();
- plainValue = byokValue.getWrappedPlainValue();
- }
- }
-
- updateStmt.setString(index++, plainValue);
- updateStmt.setString(index++, encValue);
-
- DriverConfigurazioneDBLib.logDebug("eseguo query INSERT INTO " + CostantiDB.SYSTEM_PROPERTIES_PDD + "(nome, valore) VALUES ('"+
- nome+"', "+plainValue+")");
- updateStmt.executeUpdate();
- updateStmt.close();
-
- // recuper id del componente
- long idComponente = -1;
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addFromTable(CostantiDB.SYSTEM_PROPERTIES_PDD);
- sqlQueryObject.addSelectField("id");
- sqlQueryObject.setANDLogicOperator(true);
- sqlQueryObject.addWhereCondition("nome=?");
- sqlQueryObject.addWhereCondition("valore=?");
- updateQuery = sqlQueryObject.createSQLQuery();
- selectStmt = con.prepareStatement(updateQuery);
- DriverConfigurazioneDBLib.logDebug("eseguo query ["+updateQuery+"] per la prop nome["+nome+"] valore["+plainValue+"]");
- selectStmt.setString(1, nome);
- selectStmt.setString(2, plainValue);
- selectRS = selectStmt.executeQuery();
- if(selectRS.next()){
- idComponente = selectRS.getLong("id");
- }else{
- throw new DriverConfigurazioneException("Query ["+updateQuery+"] per la prop nome["+nome+"] valore["+plainValue+"] non ha ritornato risultati");
- }
- selectRS.close();
- selectStmt.close();
-
- sp.setId(idComponente);
- }
- break;
- case DELETE:
- // non rimuovo in quanto gia fatto sopra.
- break;
- }
- } catch (SQLException se) {
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDAccessoRegistro] SQLException [" + se.getMessage() + "].",se);
- }catch (Exception se) {
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDAccessoRegistro] Exception [" + se.getMessage() + "].",se);
- } finally {
- JDBCUtilities.closeResources(selectRS, selectStmt);
- JDBCUtilities.closeResources(updateStmt);
-
- }
- }
-
-
-
-
- public static void CRUDGenericProperties(int type, GenericProperties genericProperties, Connection con, IDriverBYOK driverBYOK) throws DriverConfigurazioneException {
- if (genericProperties == null)
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDGenericProperties] Le configurazioni per le generic properties non possono essere NULL");
- PreparedStatement updateStmt = null;
- String updateQuery = "";
- PreparedStatement selectStmt = null;
- ResultSet selectRS = null;
-
- try {
-
- if(genericProperties.getNome()==null) {
- throw new DriverConfigurazioneException("Nome non fornito");
- }
- if(genericProperties.getTipologia()==null) {
- throw new DriverConfigurazioneException("Tipologia non fornita");
- }
-
- // Recupero id generic properties
- long idParent = -1;
- if(type == CostantiDB.UPDATE || type == CostantiDB.DELETE) {
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addFromTable(CostantiDB.CONFIG_GENERIC_PROPERTIES);
- sqlQueryObject.addSelectField("*");
- sqlQueryObject.addWhereCondition("nome=?");
- sqlQueryObject.addWhereCondition("tipologia=?");
- sqlQueryObject.setANDLogicOperator(true);
- String sqlQuery = sqlQueryObject.createSQLQuery();
- selectStmt = con.prepareStatement(sqlQuery);
- selectStmt.setString(1, genericProperties.getNome());
- selectStmt.setString(2, genericProperties.getTipologia());
- selectRS = selectStmt.executeQuery();
-
- if(selectRS.next()) {
- idParent = selectRS.getLong("id");
- }
- selectRS.close();
- selectStmt.close();
-
- if(idParent<=0) {
- throw new DriverConfigurazioneException("Configuration Property non trovato con nome ["+genericProperties.getNome()+"] e tipologia ["+genericProperties.getTipologia()+"]");
- }
-
- // Elimino anche le configurazioni (nell'update le ricreo)
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.CONFIG_GENERIC_PROPERTY);
- sqlQueryObject.addWhereCondition("id_props=?");
- sqlQueryObject.setANDLogicOperator(true);
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.setLong(1, idParent);
- updateStmt.executeUpdate();
- updateStmt.close();
- // delete
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.CONFIG_GENERIC_PROPERTIES);
- sqlQueryObject.addWhereCondition("id=?");
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.setLong(1, idParent);
- updateStmt.executeUpdate();
- updateStmt.close();
- }
- String utenteRichiedente = null;
- Timestamp dataCreazione = null;
- if(type == CostantiDB.CREATE || type == CostantiDB.UPDATE) {
- if(genericProperties.getProprietaOggetto()!=null && genericProperties.getProprietaOggetto().getUtenteRichiedente()!=null) {
- utenteRichiedente = genericProperties.getProprietaOggetto().getUtenteRichiedente();
- }
-
- if(genericProperties.getProprietaOggetto()!=null && genericProperties.getProprietaOggetto().getDataCreazione()!=null) {
- dataCreazione = new Timestamp(genericProperties.getProprietaOggetto().getDataCreazione().getTime());
- }
- else {
- dataCreazione = DateManager.getTimestamp();
- }
- }
-
- String utenteUltimaModifica = null;
- Timestamp dataUltimaModifica = null;
- if(type == CostantiDB.UPDATE) {
- if(genericProperties.getProprietaOggetto()!=null && genericProperties.getProprietaOggetto().getUtenteUltimaModifica()!=null) {
- utenteUltimaModifica = genericProperties.getProprietaOggetto().getUtenteUltimaModifica();
- }
-
- if(genericProperties.getProprietaOggetto()!=null && genericProperties.getProprietaOggetto().getDataUltimaModifica()!=null) {
- dataUltimaModifica = new Timestamp(genericProperties.getProprietaOggetto().getDataUltimaModifica().getTime());
- }
- else {
- dataUltimaModifica = DateManager.getTimestamp();
- }
- }
- switch (type) {
- case CREATE:
- case UPDATE:
-
- // insert
- List<InsertAndGeneratedKeyObject> listInsertAndGeneratedKeyObject = new ArrayList<>();
- listInsertAndGeneratedKeyObject.add( new InsertAndGeneratedKeyObject("nome", genericProperties.getNome() , InsertAndGeneratedKeyJDBCType.STRING) );
- listInsertAndGeneratedKeyObject.add( new InsertAndGeneratedKeyObject("descrizione", genericProperties.getDescrizione() , InsertAndGeneratedKeyJDBCType.STRING) );
- listInsertAndGeneratedKeyObject.add( new InsertAndGeneratedKeyObject("tipologia", genericProperties.getTipologia() , InsertAndGeneratedKeyJDBCType.STRING) );
- listInsertAndGeneratedKeyObject.add( new InsertAndGeneratedKeyObject("tipo", genericProperties.getTipo() , InsertAndGeneratedKeyJDBCType.STRING) );
-
- if(type == CostantiDB.CREATE || type == CostantiDB.UPDATE) {
- if(utenteRichiedente!=null) {
- listInsertAndGeneratedKeyObject.add( new InsertAndGeneratedKeyObject(CostantiDB.PROPRIETA_OGGETTO_UTENTE_RICHIEDENTE, utenteRichiedente , InsertAndGeneratedKeyJDBCType.STRING) );
- }
- if(dataCreazione!=null) {
- listInsertAndGeneratedKeyObject.add( new InsertAndGeneratedKeyObject(CostantiDB.PROPRIETA_OGGETTO_DATA_CREAZIONE, dataCreazione , InsertAndGeneratedKeyJDBCType.TIMESTAMP) );
- }
- }
- if(type == CostantiDB.UPDATE) {
- if(utenteUltimaModifica!=null) {
- listInsertAndGeneratedKeyObject.add( new InsertAndGeneratedKeyObject(CostantiDB.PROPRIETA_OGGETTO_UTENTE_ULTIMA_MODIFICA, utenteUltimaModifica , InsertAndGeneratedKeyJDBCType.STRING) );
- }
- if(dataUltimaModifica!=null) {
- listInsertAndGeneratedKeyObject.add( new InsertAndGeneratedKeyObject(CostantiDB.PROPRIETA_OGGETTO_DATA_ULTIMA_MODIFICA, dataUltimaModifica , InsertAndGeneratedKeyJDBCType.TIMESTAMP) );
- }
- }
-
- long idProperties = InsertAndGeneratedKey.insertAndReturnGeneratedKey(con, TipiDatabase.toEnumConstant(DriverConfigurazioneDBLib.tipoDB),
- new CustomKeyGeneratorObject(CostantiDB.CONFIG_GENERIC_PROPERTIES, CostantiDB.CONFIG_GENERIC_PROPERTIES_COLUMN_ID,
- CostantiDB.CONFIG_GENERIC_PROPERTIES_SEQUENCE, CostantiDB.CONFIG_GENERIC_PROPERTIES_TABLE_FOR_ID),
- listInsertAndGeneratedKeyObject.toArray(new InsertAndGeneratedKeyObject[1]));
- if(idProperties<=0){
- throw new DriverConfigurazioneException("ID (Generic Properties) autoincrementale non ottenuto");
- }
- for(int l=0; l<genericProperties.sizePropertyList();l++){
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addInsertTable(CostantiDB.CONFIG_GENERIC_PROPERTY);
- sqlQueryObject.addInsertField("id_props", "?");
- sqlQueryObject.addInsertField("nome", "?");
- sqlQueryObject.addInsertField("valore", "?");
- sqlQueryObject.addInsertField("enc_value", "?");
- updateQuery = sqlQueryObject.createSQLInsert();
- updateStmt = con.prepareStatement(updateQuery);
- int index = 1;
- updateStmt.setLong(index++, idProperties);
- updateStmt.setString(index++, genericProperties.getProperty(l).getNome());
-
- String plainValue = genericProperties.getProperty(l).getValore();
- String encValue = null;
- if(driverBYOK!=null && DriverConfigurazioneDB_genericPropertiesDriver.isConfidentialProperty(genericProperties.getTipo(), genericProperties.getProperty(l).getNome())) {
- BYOKWrappedValue byokValue = driverBYOK.wrap(plainValue);
- if(byokValue!=null) {
- encValue = byokValue.getWrappedValue();
- plainValue = byokValue.getWrappedPlainValue();
- }
- }
-
- updateStmt.setString(index++, plainValue);
- updateStmt.setString(index++, encValue);
-
- updateStmt.executeUpdate();
- updateStmt.close();
- }
- break;
- case DELETE:
- // non rimuovo in quanto gia fatto sopra.
- break;
- }
- } catch (SQLException se) {
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDGenericProperties] SQLException [" + se.getMessage() + "].",se);
- }catch (Exception se) {
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDGenericProperties] Exception [" + se.getMessage() + "].",se);
- } finally {
- JDBCUtilities.closeResources(selectRS, selectStmt);
- JDBCUtilities.closeResources(updateStmt);
-
- }
- }
-
- private static void createUrlInvocazioneRegolaEngine(ConfigurazioneUrlInvocazioneRegola regola, Connection con) throws SQLQueryObjectException, SQLException {
- PreparedStatement updateStmt = null;
-
- try {
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addInsertTable(CostantiDB.CONFIG_URL_REGOLE);
- sqlQueryObject.addInsertField("nome", "?");
- sqlQueryObject.addInsertField("posizione", "?");
- sqlQueryObject.addInsertField("stato", "?");
- sqlQueryObject.addInsertField("descrizione", "?");
- sqlQueryObject.addInsertField("regexpr", "?");
- sqlQueryObject.addInsertField("regola", "?");
- sqlQueryObject.addInsertField("contesto_esterno", "?");
- sqlQueryObject.addInsertField("base_url", "?");
- sqlQueryObject.addInsertField("protocollo", "?");
- sqlQueryObject.addInsertField("ruolo", "?");
- sqlQueryObject.addInsertField("service_binding", "?");
- sqlQueryObject.addInsertField("tipo_soggetto", "?");
- sqlQueryObject.addInsertField("nome_soggetto", "?");
- String updateQuery = sqlQueryObject.createSQLInsert();
- updateStmt = con.prepareStatement(updateQuery);
- int indexP = 1;
- updateStmt.setString(indexP++, regola.getNome());
- updateStmt.setInt(indexP++, regola.getPosizione());
- updateStmt.setString(indexP++, DriverConfigurazioneDBLib.getValue(regola.getStato()));
- updateStmt.setString(indexP++, regola.getDescrizione());
- updateStmt.setInt(indexP++, regola.isRegexpr() ? CostantiDB.TRUE : CostantiDB.FALSE);
- updateStmt.setString(indexP++, regola.getRegola());
- // Fix stringa vuota in Oracle, impostato dalla console e non accettato da Oracle che lo traduce in null e fa schiantare per via del NOT NULL sul db
- String s = regola.getContestoEsterno();
- if("".equals(s)) {
- s = CostantiConfigurazione.REGOLA_PROXY_PASS_CONTESTO_VUOTO;
- }
- updateStmt.setString(indexP++, s);
- updateStmt.setString(indexP++, regola.getBaseUrl());
- updateStmt.setString(indexP++, regola.getProtocollo());
- updateStmt.setString(indexP++, DriverConfigurazioneDBLib.getValue(regola.getRuolo()));
- updateStmt.setString(indexP++, DriverConfigurazioneDBLib.getValue(regola.getServiceBinding()));
- updateStmt.setString(indexP++, regola.getSoggetto()!=null ? regola.getSoggetto().getTipo() : null);
- updateStmt.setString(indexP++, regola.getSoggetto()!=null ? regola.getSoggetto().getNome() : null);
- updateStmt.executeUpdate();
- updateStmt.close();
-
- } finally {
- JDBCUtilities.closeResources(updateStmt);
- }
- }
-
- public static void CRUDUrlInvocazioneRegola(int type, ConfigurazioneUrlInvocazioneRegola regola, Connection con) throws DriverConfigurazioneException {
- if (regola == null)
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDUrlInvocazioneRegola] La regola non può essere NULL");
- PreparedStatement updateStmt = null;
- String updateQuery = "";
-
- try {
-
- if(regola.getNome()==null) {
- throw new DriverConfigurazioneException("Nome non fornito");
- }
-
- // Recupero id generic properties
- long idParent = -1;
- if(type == CostantiDB.UPDATE || type == CostantiDB.DELETE) {
-
- String oldNome = regola.getNome();
- if(type == CostantiDB.UPDATE && regola.getOldNome()!=null) {
- oldNome = regola.getOldNome();
- }
-
- idParent = DBUtils.getUrlInvocazioneRegola(oldNome, con, DriverConfigurazioneDBLib.tipoDB);
- if(idParent<=0) {
- throw new DriverConfigurazioneException("Regola con nome '"+regola.getNome()+"' non trovata");
- }
- // delete
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.CONFIG_URL_REGOLE);
- sqlQueryObject.addWhereCondition("id=?");
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.setLong(1, idParent);
- updateStmt.executeUpdate();
- updateStmt.close();
- }
-
- switch (type) {
- case CREATE:
- case UPDATE:
-
- // insert
- createUrlInvocazioneRegolaEngine(regola, con);
- break;
- case DELETE:
- // non rimuovo in quanto gia fatto sopra.
- break;
- default:
- break;
- }
- } catch (SQLException se) {
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDRegistroPlugin] SQLException [" + se.getMessage() + "].",se);
- }catch (Exception se) {
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDRegistroPlugin] Exception [" + se.getMessage() + "].",se);
- } finally {
- JDBCUtilities.closeResources(updateStmt);
- }
- }
-
-
-
-
- public static long CRUDConfigurazioneGenerale(int type, Configurazione config, Connection con) throws DriverConfigurazioneException {
-
- if(config.sizeExtendedInfoList()>0 &&
- config.getRoutingTable()==null &&
- config.getAccessoRegistro()==null &&
- config.getAccessoConfigurazione()==null &&
- config.getAccessoDatiAutorizzazione()==null &&
- config.getAccessoDatiAutenticazione()==null &&
- config.getMultitenant()==null &&
- config.getUrlInvocazione()==null &&
- config.getValidazioneBuste()==null &&
- config.getValidazioneContenutiApplicativi()==null &&
- config.getIndirizzoRisposta()==null &&
- config.getAttachments()==null &&
- config.getRisposte()==null &&
- config.getInoltroBusteNonRiscontrate()==null &&
- config.getMessaggiDiagnostici()==null &&
- config.getTracciamento()==null &&
- config.getTransazioni()==null &&
- config.getDump()==null &&
- config.getGestioneErrore()==null &&
- config.getIntegrationManager()==null &&
- config.getStatoServiziPdd()==null &&
- config.getSystemProperties()==null &&
- (config.getGenericPropertiesList()==null || config.getGenericPropertiesList().isEmpty()) &&
- config.getGestioneCors()==null &&
- config.getResponseCaching()==null &&
- config.getGestioneCanali()==null &&
- config.getRegistroPlugins()==null &&
- config.getConfigurazioneHandler()==null) {
-
- // caso speciale extended info
- ExtendedInfoManager extInfoManager = ExtendedInfoManager.getInstance();
- IExtendedInfo extInfoConfigurazioneDriver = extInfoManager.newInstanceExtendedInfoConfigurazione();
- if(extInfoConfigurazioneDriver!=null){
-
- try{
- CRUDType crudType = null;
- switch (type) {
- case CREATE:
- crudType = CRUDType.CREATE;
- break;
- case UPDATE:
- crudType = CRUDType.UPDATE;
- break;
- case DELETE:
- crudType = CRUDType.DELETE;
- break;
- default:
- break;
- }
-
- switch (type) {
- case CREATE:
- case UPDATE:
- if(config.sizeExtendedInfoList()>0){
- for(int l=0; l<config.sizeExtendedInfoList();l++){
- extInfoConfigurazioneDriver.deleteExtendedInfo(con, DriverConfigurazioneDBLib.log, config, config.getExtendedInfo(l), crudType);
- extInfoConfigurazioneDriver.createExtendedInfo(con, DriverConfigurazioneDBLib.log, config, config.getExtendedInfo(l), crudType);
- }
- }
- break;
- case DELETE:
- if(config.sizeExtendedInfoList()>0){
- for(int l=0; l<config.sizeExtendedInfoList();l++){
- extInfoConfigurazioneDriver.deleteExtendedInfo(con, DriverConfigurazioneDBLib.log, config, config.getExtendedInfo(l), crudType);
- }
- }
- break;
- default:
- break;
- }
- }catch (Exception se) {
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDConfigurazioneGenerale-Extended] Exception [" + se.getMessage() + "].",se);
- }
-
- }
-
- return -1;
-
- }
- else{
-
- return engineCRUDConfigurazioneGenerale(type, config, con);
-
- }
-
- }
- @SuppressWarnings("deprecation")
- private static DumpConfigurazione getDumpConfigurazioneDeprecated(Dump dump) {
- return dump.getConfigurazione();
- }
-
- private static long engineCRUDConfigurazioneGenerale(int type, Configurazione config, Connection con) throws DriverConfigurazioneException {
- PreparedStatement updateStmt = null;
- String updateQuery = "";
- PreparedStatement selectStmt = null;
- ResultSet selectRS = null;
- int n = 0;
- long idConfigurazione = 0;
- IndirizzoRisposta indirizzoPerRisposta = config.getIndirizzoRisposta();
- InoltroBusteNonRiscontrate inoltroBusteNonRiscontrate = config.getInoltroBusteNonRiscontrate();
- IntegrationManager integrationManager = config.getIntegrationManager();
- MessaggiDiagnostici messaggiDiagnostici = config.getMessaggiDiagnostici();
- Risposte risposte = config.getRisposte();
- ValidazioneBuste validazioneBuste = config.getValidazioneBuste();
- AccessoRegistro car = config.getAccessoRegistro();
- AccessoConfigurazione aConfig = config.getAccessoConfigurazione();
- AccessoDatiAutorizzazione aDatiAuthz = config.getAccessoDatiAutorizzazione();
- AccessoDatiAutenticazione aDatiAuthn = config.getAccessoDatiAutenticazione();
- AccessoDatiGestioneToken aDatiGestioneToken = config.getAccessoDatiGestioneToken();
- AccessoDatiAttributeAuthority aDatiAttributeAuthority = config.getAccessoDatiAttributeAuthority();
- AccessoDatiKeystore aDatiKeystore = config.getAccessoDatiKeystore();
- AccessoDatiRichieste aDatiRichieste = config.getAccessoDatiRichieste();
- Attachments att = config.getAttachments();
- ConfigurazioneMultitenant multitenant = config.getMultitenant();
-
- CorsConfigurazione corsConfigurazione = config.getGestioneCors();
- String corsStato = null;
- String corsTipo = null;
- String corsAllAllowOrigins = null;
- String corsAllAllowMethods = null;
- String corsAllAllowHeaders = null;
- String corsAllowCredentials = null;
- int corsAllowMaxAge = CostantiDB.FALSE;
- Integer corsAllowMaxAgeSeconds = null;
- String corsAllowOrigins = null;
- String corsAllowHeaders = null;
- String corsAllowMethods = null;
- String corsAllowExposeHeaders = null;
- if(corsConfigurazione!=null) {
- corsStato = DriverConfigurazioneDBLib.getValue(corsConfigurazione.getStato());
- corsTipo = DriverConfigurazioneDBLib.getValue(corsConfigurazione.getTipo());
- corsAllAllowOrigins = DriverConfigurazioneDBLib.getValue(corsConfigurazione.getAccessControlAllAllowOrigins());
- corsAllAllowMethods = DriverConfigurazioneDBLib.getValue(corsConfigurazione.getAccessControlAllAllowMethods());
- corsAllAllowHeaders = DriverConfigurazioneDBLib.getValue(corsConfigurazione.getAccessControlAllAllowHeaders());
- corsAllowCredentials = DriverConfigurazioneDBLib.getValue(corsConfigurazione.getAccessControlAllowCredentials());
- if(corsConfigurazione.getAccessControlMaxAge()!=null) {
- corsAllowMaxAge = CostantiDB.TRUE;
- corsAllowMaxAgeSeconds = corsConfigurazione.getAccessControlMaxAge();
- }
- if(corsConfigurazione.getAccessControlAllowOrigins()!=null && corsConfigurazione.getAccessControlAllowOrigins().sizeOriginList()>0) {
- StringBuilder bf = new StringBuilder();
- for (int i = 0; i < corsConfigurazione.getAccessControlAllowOrigins().sizeOriginList(); i++) {
- if(i>0) {
- bf.append(",");
- }
- bf.append(corsConfigurazione.getAccessControlAllowOrigins().getOrigin(i));
- }
- corsAllowOrigins = bf.toString();
- }
- if(corsConfigurazione.getAccessControlAllowHeaders()!=null && corsConfigurazione.getAccessControlAllowHeaders().sizeHeaderList()>0) {
- StringBuilder bf = new StringBuilder();
- for (int i = 0; i < corsConfigurazione.getAccessControlAllowHeaders().sizeHeaderList(); i++) {
- if(i>0) {
- bf.append(",");
- }
- bf.append(corsConfigurazione.getAccessControlAllowHeaders().getHeader(i));
- }
- corsAllowHeaders = bf.toString();
- }
- if(corsConfigurazione.getAccessControlAllowMethods()!=null && corsConfigurazione.getAccessControlAllowMethods().sizeMethodList()>0) {
- StringBuilder bf = new StringBuilder();
- for (int i = 0; i < corsConfigurazione.getAccessControlAllowMethods().sizeMethodList(); i++) {
- if(i>0) {
- bf.append(",");
- }
- bf.append(corsConfigurazione.getAccessControlAllowMethods().getMethod(i));
- }
- corsAllowMethods = bf.toString();
- }
- if(corsConfigurazione.getAccessControlExposeHeaders()!=null && corsConfigurazione.getAccessControlExposeHeaders().sizeHeaderList()>0) {
- StringBuilder bf = new StringBuilder();
- for (int i = 0; i < corsConfigurazione.getAccessControlExposeHeaders().sizeHeaderList(); i++) {
- if(i>0) {
- bf.append(",");
- }
- bf.append(corsConfigurazione.getAccessControlExposeHeaders().getHeader(i));
- }
- corsAllowExposeHeaders = bf.toString();
- }
- }
-
- ResponseCachingConfigurazioneGenerale responseCachingConfigurazione = config.getResponseCaching();
-
- String responseCacheStato = null;
- Integer responseCacheSeconds = null;
- Long responseCacheMaxMsgSize = null;
- String responseCacheHashUrl = null;
- String responseCacheHashQuery = null;
- String responseCacheHashQueryList = null;
- String responseCacheHashHeaders = null;
- String responseCacheHashHeadersList = null;
- String responseCacheHashPayload = null;
- boolean responseCacheNoCache = true;
- boolean responseCacheMaxAge = true;
- boolean responseCacheNoStore = true;
- List<ResponseCachingConfigurazioneRegola> responseCacheRegole = null;
- if(responseCachingConfigurazione!=null && responseCachingConfigurazione.getConfigurazione()!=null) {
- responseCacheStato = DriverConfigurazioneDBLib.getValue(responseCachingConfigurazione.getConfigurazione().getStato());
- responseCacheSeconds = responseCachingConfigurazione.getConfigurazione().getCacheTimeoutSeconds();
- responseCacheMaxMsgSize = responseCachingConfigurazione.getConfigurazione().getMaxMessageSize();
- if(responseCachingConfigurazione.getConfigurazione().getControl()!=null) {
- responseCacheNoCache = responseCachingConfigurazione.getConfigurazione().getControl().getNoCache();
- responseCacheMaxAge = responseCachingConfigurazione.getConfigurazione().getControl().getMaxAge();
- responseCacheNoStore = responseCachingConfigurazione.getConfigurazione().getControl().getNoStore();
- }
- if(responseCachingConfigurazione.getConfigurazione().getHashGenerator()!=null) {
- responseCacheHashUrl = DriverConfigurazioneDBLib.getValue(responseCachingConfigurazione.getConfigurazione().getHashGenerator().getRequestUri());
-
- responseCacheHashQuery = DriverConfigurazioneDBLib.getValue(responseCachingConfigurazione.getConfigurazione().getHashGenerator().getQueryParameters());
- if(StatoFunzionalitaCacheDigestQueryParameter.SELEZIONE_PUNTUALE.equals(responseCachingConfigurazione.getConfigurazione().getHashGenerator().getQueryParameters()) &&
- (responseCachingConfigurazione.getConfigurazione().getHashGenerator().getQueryParameterList()!=null && responseCachingConfigurazione.getConfigurazione().getHashGenerator().sizeQueryParameterList()>0)
- ){
- StringBuilder bf = new StringBuilder();
- for (int i = 0; i < responseCachingConfigurazione.getConfigurazione().getHashGenerator().sizeQueryParameterList(); i++) {
- if(i>0) {
- bf.append(",");
- }
- bf.append(responseCachingConfigurazione.getConfigurazione().getHashGenerator().getQueryParameter(i));
- }
- responseCacheHashQueryList = bf.toString();
- }
-
- responseCacheHashHeaders = DriverConfigurazioneDBLib.getValue(responseCachingConfigurazione.getConfigurazione().getHashGenerator().getHeaders());
- if(StatoFunzionalita.ABILITATO.equals(responseCachingConfigurazione.getConfigurazione().getHashGenerator().getHeaders()) &&
- (responseCachingConfigurazione.getConfigurazione().getHashGenerator().getHeaderList()!=null && responseCachingConfigurazione.getConfigurazione().getHashGenerator().sizeHeaderList()>0)
- ){
- StringBuilder bf = new StringBuilder();
- for (int i = 0; i < responseCachingConfigurazione.getConfigurazione().getHashGenerator().sizeHeaderList(); i++) {
- if(i>0) {
- bf.append(",");
- }
- bf.append(responseCachingConfigurazione.getConfigurazione().getHashGenerator().getHeader(i));
- }
- responseCacheHashHeadersList = bf.toString();
- }
-
- responseCacheHashPayload = DriverConfigurazioneDBLib.getValue(responseCachingConfigurazione.getConfigurazione().getHashGenerator().getPayload());
- }
- responseCacheRegole = responseCachingConfigurazione.getConfigurazione().getRegolaList();
- }
-
- Cache responseCachingCache = null;
- String responseCachingDimensioneCache = null;
- String responseCachingAlgoritmoCache = null;
- String responseCachingIdleCache = null;
- String responseCachingLifeCache = null;
- String responseCachingStatoCache = null;
- if(responseCachingConfigurazione !=null){
- responseCachingCache = responseCachingConfigurazione.getCache();
- }
- responseCachingStatoCache = (responseCachingCache != null ? CostantiConfigurazione.ABILITATO.toString() : CostantiConfigurazione.DISABILITATO.toString());
- if (responseCachingStatoCache.equals(CostantiConfigurazione.ABILITATO.toString())) {
- responseCachingDimensioneCache = responseCachingCache.getDimensione();
- responseCachingAlgoritmoCache = DriverConfigurazioneDBLib.getValue(responseCachingCache.getAlgoritmo());
- responseCachingIdleCache = responseCachingCache.getItemIdleTime();
- responseCachingLifeCache = responseCachingCache.getItemLifeSecond();
- }
-
-
- Cache consegnaCache = null;
- String consegnaDimensioneCache = null;
- String consegnaAlgoritmoCache = null;
- String consegnaIdleCache = null;
- String consegnaLifeCache = null;
- String consegnaStatoCache = null;
- if(config.getAccessoDatiConsegnaApplicativi() !=null){
- consegnaCache = config.getAccessoDatiConsegnaApplicativi().getCache();
- }
- consegnaStatoCache = (consegnaCache != null ? CostantiConfigurazione.ABILITATO.toString() : CostantiConfigurazione.DISABILITATO.toString());
- if (consegnaStatoCache.equals(CostantiConfigurazione.ABILITATO.toString())) {
- consegnaDimensioneCache = consegnaCache.getDimensione();
- consegnaAlgoritmoCache = DriverConfigurazioneDBLib.getValue(consegnaCache.getAlgoritmo());
- consegnaIdleCache = consegnaCache.getItemIdleTime();
- consegnaLifeCache = consegnaCache.getItemLifeSecond();
- }
-
- String utilizzoIndTelematico = null;
- if(indirizzoPerRisposta!=null){
- utilizzoIndTelematico = DriverConfigurazioneDBLib.getValue(indirizzoPerRisposta.getUtilizzo());
- }
- String cadenzaInoltro = null;
- if(inoltroBusteNonRiscontrate!=null){
- cadenzaInoltro = inoltroBusteNonRiscontrate.getCadenza();
- }
- String autenticazione = null;
- if(integrationManager!=null){
- autenticazione = integrationManager.getAutenticazione();
- }
- String msgDiagSeverita = null;
- String msgDiagSeveritaLog4j = null;
- if(messaggiDiagnostici!=null){
- msgDiagSeverita = DriverConfigurazioneDBLib.getValue(messaggiDiagnostici.getSeverita());
- msgDiagSeveritaLog4j = DriverConfigurazioneDBLib.getValue(messaggiDiagnostici.getSeveritaLog4j());
- }
- String valControllo = null;
- String valStato = null;
- String valManifest = null;
- String valProfiloCollaborazione = null;
- if(validazioneBuste!=null){
- valControllo = DriverConfigurazioneDBLib.getValue(validazioneBuste.getControllo());
- valStato = DriverConfigurazioneDBLib.getValue(validazioneBuste.getStato());
- valManifest = DriverConfigurazioneDBLib.getValue(validazioneBuste.getManifestAttachments());
- valProfiloCollaborazione = DriverConfigurazioneDBLib.getValue(validazioneBuste.getProfiloCollaborazione());
- }
- String gestioneManifest = null;
- if(att!=null){
- gestioneManifest = DriverConfigurazioneDBLib.getValue(att.getGestioneManifest());
- }
- Cache registroCache = null;
- String registroDimensioneCache = null;
- String registroAlgoritmoCache = null;
- String registroIdleCache = null;
- String registroLifeCache = null;
- String registroStatoCache = null;
- if(car !=null){
- registroCache = car.getCache();
- }
- registroStatoCache = (registroCache != null ? CostantiConfigurazione.ABILITATO.toString() : CostantiConfigurazione.DISABILITATO.toString());
- if (registroStatoCache.equals(CostantiConfigurazione.ABILITATO.toString())) {
- registroDimensioneCache = registroCache.getDimensione();
- registroAlgoritmoCache = DriverConfigurazioneDBLib.getValue(registroCache.getAlgoritmo());
- registroIdleCache = registroCache.getItemIdleTime();
- registroLifeCache = registroCache.getItemLifeSecond();
- }
-
- Cache configCache = null;
- String configDimensioneCache = null;
- String configAlgoritmoCache = null;
- String configIdleCache = null;
- String configLifeCache = null;
- String configStatoCache = null;
- if(aConfig !=null){
- configCache = aConfig.getCache();
- }
- configStatoCache = (configCache != null ? CostantiConfigurazione.ABILITATO.toString() : CostantiConfigurazione.DISABILITATO.toString());
- if (configStatoCache.equals(CostantiConfigurazione.ABILITATO.toString())) {
- configDimensioneCache = configCache.getDimensione();
- configAlgoritmoCache = DriverConfigurazioneDBLib.getValue(configCache.getAlgoritmo());
- configIdleCache = configCache.getItemIdleTime();
- configLifeCache = configCache.getItemLifeSecond();
- }
-
- Cache authzCache = null;
- String authzDimensioneCache = null;
- String authzAlgoritmoCache = null;
- String authzIdleCache = null;
- String authzLifeCache = null;
- String authzStatoCache = null;
- if(aDatiAuthz !=null){
- authzCache = aDatiAuthz.getCache();
- }
- authzStatoCache = (authzCache != null ? CostantiConfigurazione.ABILITATO.toString() : CostantiConfigurazione.DISABILITATO.toString());
- if (authzStatoCache.equals(CostantiConfigurazione.ABILITATO.toString())) {
- authzDimensioneCache = authzCache.getDimensione();
- authzAlgoritmoCache = DriverConfigurazioneDBLib.getValue(authzCache.getAlgoritmo());
- authzIdleCache = authzCache.getItemIdleTime();
- authzLifeCache = authzCache.getItemLifeSecond();
- }
-
- Cache authnCache = null;
- String authnDimensioneCache = null;
- String authnAlgoritmoCache = null;
- String authnIdleCache = null;
- String authnLifeCache = null;
- String authnStatoCache = null;
- if(aDatiAuthn !=null){
- authnCache = aDatiAuthn.getCache();
- }
- authnStatoCache = (authnCache != null ? CostantiConfigurazione.ABILITATO.toString() : CostantiConfigurazione.DISABILITATO.toString());
- if (authnStatoCache.equals(CostantiConfigurazione.ABILITATO.toString())) {
- authnDimensioneCache = authnCache.getDimensione();
- authnAlgoritmoCache = DriverConfigurazioneDBLib.getValue(authnCache.getAlgoritmo());
- authnIdleCache = authnCache.getItemIdleTime();
- authnLifeCache = authnCache.getItemLifeSecond();
- }
-
- Cache tokenCache = null;
- String tokenDimensioneCache = null;
- String tokenAlgoritmoCache = null;
- String tokenIdleCache = null;
- String tokenLifeCache = null;
- String tokenStatoCache = null;
- if(aDatiGestioneToken !=null){
- tokenCache = aDatiGestioneToken.getCache();
- }
- tokenStatoCache = (tokenCache != null ? CostantiConfigurazione.ABILITATO.toString() : CostantiConfigurazione.DISABILITATO.toString());
- if (tokenStatoCache.equals(CostantiConfigurazione.ABILITATO.toString())) {
- tokenDimensioneCache = tokenCache.getDimensione();
- tokenAlgoritmoCache = DriverConfigurazioneDBLib.getValue(tokenCache.getAlgoritmo());
- tokenIdleCache = tokenCache.getItemIdleTime();
- tokenLifeCache = tokenCache.getItemLifeSecond();
- }
-
- Cache aaCache = null;
- String aaDimensioneCache = null;
- String aaAlgoritmoCache = null;
- String aaIdleCache = null;
- String aaLifeCache = null;
- String aaStatoCache = null;
- if(aDatiAttributeAuthority !=null){
- aaCache = aDatiAttributeAuthority.getCache();
- }
- aaStatoCache = (aaCache != null ? CostantiConfigurazione.ABILITATO.toString() : CostantiConfigurazione.DISABILITATO.toString());
- if (aaStatoCache.equals(CostantiConfigurazione.ABILITATO.toString())) {
- aaDimensioneCache = aaCache.getDimensione();
- aaAlgoritmoCache = DriverConfigurazioneDBLib.getValue(aaCache.getAlgoritmo());
- aaIdleCache = aaCache.getItemIdleTime();
- aaLifeCache = aaCache.getItemLifeSecond();
- }
-
- Cache keystoreCache = null;
- String keystoreDimensioneCache = null;
- String keystoreAlgoritmoCache = null;
- String keystoreIdleCache = null;
- String keystoreLifeCache = null;
- String keystoreStatoCache = null;
- String keystoreCrlLifeCache = null;
- if(aDatiKeystore !=null){
- keystoreCache = aDatiKeystore.getCache();
- keystoreCrlLifeCache = aDatiKeystore.getCrlItemLifeSecond();
- }
- keystoreStatoCache = (keystoreCache != null ? CostantiConfigurazione.ABILITATO.toString() : CostantiConfigurazione.DISABILITATO.toString());
- if (keystoreStatoCache.equals(CostantiConfigurazione.ABILITATO.toString())) {
- keystoreDimensioneCache = keystoreCache.getDimensione();
- keystoreAlgoritmoCache = DriverConfigurazioneDBLib.getValue(keystoreCache.getAlgoritmo());
- keystoreIdleCache = keystoreCache.getItemIdleTime();
- keystoreLifeCache = keystoreCache.getItemLifeSecond();
- }
-
- Cache datiRichiesteCache = null;
- String datiRichiesteDimensioneCache = null;
- String datiRichiesteAlgoritmoCache = null;
- String datiRichiesteIdleCache = null;
- String datiRichiesteLifeCache = null;
- String datiRichiesteStatoCache = null;
- if(aDatiRichieste !=null){
- datiRichiesteCache = aDatiRichieste.getCache();
- }
- datiRichiesteStatoCache = (datiRichiesteCache != null ? CostantiConfigurazione.ABILITATO.toString() : CostantiConfigurazione.DISABILITATO.toString());
- if (datiRichiesteStatoCache.equals(CostantiConfigurazione.ABILITATO.toString())) {
- datiRichiesteDimensioneCache = datiRichiesteCache.getDimensione();
- datiRichiesteAlgoritmoCache = DriverConfigurazioneDBLib.getValue(datiRichiesteCache.getAlgoritmo());
- datiRichiesteIdleCache = datiRichiesteCache.getItemIdleTime();
- datiRichiesteLifeCache = datiRichiesteCache.getItemLifeSecond();
- }
- Tracciamento t = config.getTracciamento();
- String tracciamentoBuste = null;
- if (t != null) {
- tracciamentoBuste = DriverConfigurazioneDBLib.getValue(t.getStato());
- }
-
- String tracciamentoEsitiPD = null;
- String transazioniTempiElaborazionePD = null;
- String transazioniTokenPD = null;
- ConfigurazioneTracciamentoPorta tracciamentoPD = null;
- if (t != null) {
- tracciamentoPD =t.getPortaDelegata();
- }
- TracciamentoConfigurazione tracciamentoConfigurazioneDatabasePD = null;
- TracciamentoConfigurazione tracciamentoConfigurazioneFiletracePD = null;
- TracciamentoConfigurazioneFiletrace tracciamentoConfigurazioneFiletraceDetailsPD = null;
- if(tracciamentoPD!=null) {
- tracciamentoEsitiPD = tracciamentoPD.getEsiti();
- if(tracciamentoPD.getTransazioni()!=null) {
- transazioniTempiElaborazionePD = DriverConfigurazioneDBLib.getValue(tracciamentoPD.getTransazioni().getTempiElaborazione());
- transazioniTokenPD = DriverConfigurazioneDBLib.getValue(tracciamentoPD.getTransazioni().getToken());
- }
- tracciamentoConfigurazioneDatabasePD = tracciamentoPD.getDatabase();
- tracciamentoConfigurazioneFiletracePD = tracciamentoPD.getFiletrace();
- tracciamentoConfigurazioneFiletraceDetailsPD = tracciamentoPD.getFiletraceConfig();
- }
- else {
- // backward compatibility, lo uso sia per erogazione che per fruizione (per import package)
-
- if (t != null) {
- tracciamentoEsitiPD = t.getEsiti();
- }
-
- Transazioni transazioni = config.getTransazioni();
- if(transazioni!=null) {
- transazioniTempiElaborazionePD = DriverConfigurazioneDBLib.getValue(transazioni.getTempiElaborazione());
- transazioniTokenPD = DriverConfigurazioneDBLib.getValue(transazioni.getToken());
- }
- }
-
- String tracciamentoEsitiPA = null;
- String transazioniTempiElaborazionePA = null;
- String transazioniTokenPA = null;
- ConfigurazioneTracciamentoPorta tracciamentoPA = null;
- if (t != null) {
- tracciamentoPA = t.getPortaApplicativa();
- }
- TracciamentoConfigurazione tracciamentoConfigurazioneDatabasePA = null;
- TracciamentoConfigurazione tracciamentoConfigurazioneFiletracePA = null;
- TracciamentoConfigurazioneFiletrace tracciamentoConfigurazioneFiletraceDetailsPA = null;
- if(tracciamentoPA!=null) {
- tracciamentoEsitiPA = tracciamentoPA.getEsiti();
- if(tracciamentoPA.getTransazioni()!=null) {
- transazioniTempiElaborazionePA = DriverConfigurazioneDBLib.getValue(tracciamentoPA.getTransazioni().getTempiElaborazione());
- transazioniTokenPA = DriverConfigurazioneDBLib.getValue(tracciamentoPA.getTransazioni().getToken());
- }
- tracciamentoConfigurazioneDatabasePA = tracciamentoPA.getDatabase();
- tracciamentoConfigurazioneFiletracePA = tracciamentoPA.getFiletrace();
- tracciamentoConfigurazioneFiletraceDetailsPA = tracciamentoPA.getFiletraceConfig();
- }
- else {
- // backward compatibility, lo uso sia per erogazione che per fruizione (per import package)
-
- if (t != null) {
- tracciamentoEsitiPA = t.getEsiti();
- }
-
- Transazioni transazioni = config.getTransazioni();
- if(transazioni!=null) {
- transazioniTempiElaborazionePA = DriverConfigurazioneDBLib.getValue(transazioni.getTempiElaborazione());
- transazioniTokenPA = DriverConfigurazioneDBLib.getValue(transazioni.getToken());
- }
- }
-
-
- Dump d = config.getDump();
- String dumpApplicativo = null;
- String dumpPD = null;
- String dumpPA = null;
- DumpConfigurazione dumpConfigPA = null;
- DumpConfigurazione dumpConfigPD = null;
- if (d != null) {
- dumpApplicativo = DriverConfigurazioneDBLib.getValue(d.getStato());
- dumpPD = DriverConfigurazioneDBLib.getValue(d.getDumpBinarioPortaDelegata());
- dumpPA = DriverConfigurazioneDBLib.getValue(d.getDumpBinarioPortaApplicativa());
-
- DumpConfigurazione dumpConfig = getDumpConfigurazioneDeprecated(d);
- if(dumpConfig!=null) {
- // backward compatibility, lo uso sia per erogazione che per fruizione (per import package)
- dumpConfigPA = dumpConfig;
- dumpConfigPD = dumpConfig;
- }
- else {
- dumpConfigPA = d.getConfigurazionePortaApplicativa();
- dumpConfigPD = d.getConfigurazionePortaDelegata();
- }
- }
-
- String modRisposta = CostantiConfigurazione.CONNECTION_REPLY.toString();
- if(risposte!=null){
- modRisposta = (risposte.getConnessione().equals(CostantiConfigurazione.CONNECTION_REPLY) ?
- CostantiConfigurazione.CONNECTION_REPLY.toString() : CostantiConfigurazione.NEW_CONNECTION.toString());
- }
- String routingEnabled = CostantiConfigurazione.DISABILITATO.toString();
- if(config.getRoutingTable()!=null &&
- (config.getRoutingTable().getAbilitata()!=null && config.getRoutingTable().getAbilitata())
- ){
- routingEnabled = CostantiConfigurazione.ABILITATO.toString();
- }
-
- String validazioneContenutiStato = null;
- String validazioneContenutiTipo = null;
- String validazioneContenutiAcceptMtomMessage = null;
- if(config.getValidazioneContenutiApplicativi()!=null){
- validazioneContenutiStato = DriverConfigurazioneDBLib.getValue(config.getValidazioneContenutiApplicativi().getStato());
- validazioneContenutiTipo = DriverConfigurazioneDBLib.getValue(config.getValidazioneContenutiApplicativi().getTipo());
- validazioneContenutiAcceptMtomMessage = DriverConfigurazioneDBLib.getValue(config.getValidazioneContenutiApplicativi().getAcceptMtomMessage());
- }
- CanaliConfigurazione configurazioneCanali = config.getGestioneCanali();
- String configurazioneCanaliStato = null;
- if(configurazioneCanali!=null) {
- configurazioneCanaliStato = DriverConfigurazioneDBLib.getValue(configurazioneCanali.getStato());
- }
-
- ConfigurazioneGeneraleHandler configHandlers = config.getConfigurazioneHandler();
-
- ExtendedInfoManager extInfoManager = ExtendedInfoManager.getInstance();
- IExtendedInfo extInfoConfigurazioneDriver = extInfoManager.newInstanceExtendedInfoConfigurazione();
-
- try {
- switch (type) {
- case CREATE:
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addInsertTable(CostantiDB.CONFIGURAZIONE);
- sqlQueryObject.addInsertField("cadenza_inoltro", "?");
-
- sqlQueryObject.addInsertField("validazione_stato", "?");
- sqlQueryObject.addInsertField("validazione_controllo", "?");
-
- sqlQueryObject.addInsertField("msg_diag_severita", "?");
- sqlQueryObject.addInsertField("msg_diag_severita_log4j", "?");
- sqlQueryObject.addInsertField("auth_integration_manager", "?");
- sqlQueryObject.addInsertField("validazione_profilo", "?");
- sqlQueryObject.addInsertField("mod_risposta", "?");
- sqlQueryObject.addInsertField("indirizzo_telematico", "?");
- sqlQueryObject.addInsertField("routing_enabled", "?");
- sqlQueryObject.addInsertField("gestione_manifest", "?");
- sqlQueryObject.addInsertField("validazione_manifest", "?");
- sqlQueryObject.addInsertField("tracciamento_buste", "?");
- // tracciamento
- sqlQueryObject.addInsertField("tracciamento_esiti", "?");
- sqlQueryObject.addInsertField("tracciamento_esiti_pd", "?");
- sqlQueryObject.addInsertField("transazioni_tempi", "?");
- sqlQueryObject.addInsertField("transazioni_tempi_pd", "?");
- sqlQueryObject.addInsertField("transazioni_token", "?");
- sqlQueryObject.addInsertField("transazioni_token_pd", "?");
- // dump
- sqlQueryObject.addInsertField("dump", "?");
- sqlQueryObject.addInsertField("dump_bin_pd", "?");
- sqlQueryObject.addInsertField("dump_bin_pa", "?");
- // validazione
- sqlQueryObject.addInsertField("validazione_contenuti_stato", "?");
- sqlQueryObject.addInsertField("validazione_contenuti_tipo", "?");
- sqlQueryObject.addInsertField("validazione_contenuti_mtom", "?");
- // registro cache
- sqlQueryObject.addInsertField("statocache", "?");
- sqlQueryObject.addInsertField("dimensionecache", "?");
- sqlQueryObject.addInsertField("algoritmocache", "?");
- sqlQueryObject.addInsertField("idlecache", "?");
- sqlQueryObject.addInsertField("lifecache", "?");
- // config cache
- sqlQueryObject.addInsertField("config_statocache", "?");
- sqlQueryObject.addInsertField("config_dimensionecache", "?");
- sqlQueryObject.addInsertField("config_algoritmocache", "?");
- sqlQueryObject.addInsertField("config_idlecache", "?");
- sqlQueryObject.addInsertField("config_lifecache", "?");
- // authz cache
- sqlQueryObject.addInsertField("auth_statocache", "?");
- sqlQueryObject.addInsertField("auth_dimensionecache", "?");
- sqlQueryObject.addInsertField("auth_algoritmocache", "?");
- sqlQueryObject.addInsertField("auth_idlecache", "?");
- sqlQueryObject.addInsertField("auth_lifecache", "?");
- // authn cache
- sqlQueryObject.addInsertField("authn_statocache", "?");
- sqlQueryObject.addInsertField("authn_dimensionecache", "?");
- sqlQueryObject.addInsertField("authn_algoritmocache", "?");
- sqlQueryObject.addInsertField("authn_idlecache", "?");
- sqlQueryObject.addInsertField("authn_lifecache", "?");
- // gestione token cache
- sqlQueryObject.addInsertField("token_statocache", "?");
- sqlQueryObject.addInsertField("token_dimensionecache", "?");
- sqlQueryObject.addInsertField("token_algoritmocache", "?");
- sqlQueryObject.addInsertField("token_idlecache", "?");
- sqlQueryObject.addInsertField("token_lifecache", "?");
- // gestione aa cache
- sqlQueryObject.addInsertField("aa_statocache", "?");
- sqlQueryObject.addInsertField("aa_dimensionecache", "?");
- sqlQueryObject.addInsertField("aa_algoritmocache", "?");
- sqlQueryObject.addInsertField("aa_idlecache", "?");
- sqlQueryObject.addInsertField("aa_lifecache", "?");
- // keystore cache
- sqlQueryObject.addInsertField("keystore_statocache", "?");
- sqlQueryObject.addInsertField("keystore_dimensionecache", "?");
- sqlQueryObject.addInsertField("keystore_algoritmocache", "?");
- sqlQueryObject.addInsertField("keystore_idlecache", "?");
- sqlQueryObject.addInsertField("keystore_lifecache", "?");
- sqlQueryObject.addInsertField("keystore_crl_lifecache", "?");
- // multitenant
- sqlQueryObject.addInsertField("multitenant_stato", "?");
- sqlQueryObject.addInsertField("multitenant_fruizioni", "?");
- sqlQueryObject.addInsertField("multitenant_erogazioni", "?");
- // cors
- sqlQueryObject.addInsertField("cors_stato", "?");
- sqlQueryObject.addInsertField("cors_tipo", "?");
- sqlQueryObject.addInsertField("cors_all_allow_origins", "?");
- sqlQueryObject.addInsertField("cors_all_allow_methods", "?");
- sqlQueryObject.addInsertField("cors_all_allow_headers", "?");
- sqlQueryObject.addInsertField("cors_allow_credentials", "?");
- sqlQueryObject.addInsertField("cors_allow_max_age", "?");
- sqlQueryObject.addInsertField("cors_allow_max_age_seconds", "?");
- sqlQueryObject.addInsertField("cors_allow_origins", "?");
- sqlQueryObject.addInsertField("cors_allow_headers", "?");
- sqlQueryObject.addInsertField("cors_allow_methods", "?");
- sqlQueryObject.addInsertField("cors_allow_expose_headers", "?");
- // responseCaching
- sqlQueryObject.addInsertField("response_cache_stato", "?");
- sqlQueryObject.addInsertField("response_cache_seconds", "?");
- sqlQueryObject.addInsertField("response_cache_max_msg_size", "?");
- sqlQueryObject.addInsertField("response_cache_control_nocache", "?");
- sqlQueryObject.addInsertField("response_cache_control_maxage", "?");
- sqlQueryObject.addInsertField("response_cache_control_nostore", "?");
- sqlQueryObject.addInsertField("response_cache_hash_url", "?");
- sqlQueryObject.addInsertField("response_cache_hash_query", "?");
- sqlQueryObject.addInsertField("response_cache_hash_query_list", "?");
- sqlQueryObject.addInsertField("response_cache_hash_headers", "?");
- sqlQueryObject.addInsertField("response_cache_hash_hdr_list", "?");
- sqlQueryObject.addInsertField("response_cache_hash_payload", "?");
- // responseCaching cache
- sqlQueryObject.addInsertField("response_cache_statocache", "?");
- sqlQueryObject.addInsertField("response_cache_dimensionecache", "?");
- sqlQueryObject.addInsertField("response_cache_algoritmocache", "?");
- sqlQueryObject.addInsertField("response_cache_idlecache", "?");
- sqlQueryObject.addInsertField("response_cache_lifecache", "?");
- // consegna applicativi cache
- sqlQueryObject.addInsertField("consegna_statocache", "?");
- sqlQueryObject.addInsertField("consegna_dimensionecache", "?");
- sqlQueryObject.addInsertField("consegna_algoritmocache", "?");
- sqlQueryObject.addInsertField("consegna_idlecache", "?");
- sqlQueryObject.addInsertField("consegna_lifecache", "?");
- // canali
- sqlQueryObject.addInsertField("canali_stato", "?");
- // dati richieste cache
- sqlQueryObject.addInsertField("dati_richieste_statocache", "?");
- sqlQueryObject.addInsertField("dati_richieste_dimensionecache", "?");
- sqlQueryObject.addInsertField("dati_richieste_algoritmocache", "?");
- sqlQueryObject.addInsertField("dati_richieste_idlecache", "?");
- sqlQueryObject.addInsertField("dati_richieste_lifecache", "?");
- updateQuery = sqlQueryObject.createSQLInsert();
- updateStmt = con.prepareStatement(updateQuery);
- int index = 1;
-
- updateStmt.setString(index++, cadenzaInoltro);
- updateStmt.setString(index++, valStato);
- updateStmt.setString(index++, valControllo);
- updateStmt.setString(index++, msgDiagSeverita);
- updateStmt.setString(index++, msgDiagSeveritaLog4j);
- updateStmt.setString(index++, autenticazione);
- updateStmt.setString(index++, valProfiloCollaborazione);
- updateStmt.setString(index++, modRisposta);
- updateStmt.setString(index++, utilizzoIndTelematico);
- updateStmt.setString(index++, routingEnabled);
- updateStmt.setString(index++, gestioneManifest);
- updateStmt.setString(index++, valManifest);
- updateStmt.setString(index++, tracciamentoBuste);
- // tracciamento
- updateStmt.setString(index++, tracciamentoEsitiPA);
- updateStmt.setString(index++, tracciamentoEsitiPD);
- updateStmt.setString(index++, transazioniTempiElaborazionePA);
- updateStmt.setString(index++, transazioniTempiElaborazionePD);
- updateStmt.setString(index++, transazioniTokenPA);
- updateStmt.setString(index++, transazioniTokenPD);
- // dump
- updateStmt.setString(index++, dumpApplicativo);
- updateStmt.setString(index++, dumpPD);
- updateStmt.setString(index++, dumpPA);
- // validazione
- updateStmt.setString(index++, validazioneContenutiStato);
- updateStmt.setString(index++, validazioneContenutiTipo);
- updateStmt.setString(index++, validazioneContenutiAcceptMtomMessage);
- // registro cache
- updateStmt.setString(index++, registroStatoCache);
- updateStmt.setString(index++, registroDimensioneCache);
- updateStmt.setString(index++, registroAlgoritmoCache);
- updateStmt.setString(index++, registroIdleCache);
- updateStmt.setString(index++, registroLifeCache);
- // config cache
- updateStmt.setString(index++, configStatoCache);
- updateStmt.setString(index++, configDimensioneCache);
- updateStmt.setString(index++, configAlgoritmoCache);
- updateStmt.setString(index++, configIdleCache);
- updateStmt.setString(index++, configLifeCache);
- // authz cache
- updateStmt.setString(index++, authzStatoCache);
- updateStmt.setString(index++, authzDimensioneCache);
- updateStmt.setString(index++, authzAlgoritmoCache);
- updateStmt.setString(index++, authzIdleCache);
- updateStmt.setString(index++, authzLifeCache);
- // authn cache
- updateStmt.setString(index++, authnStatoCache);
- updateStmt.setString(index++, authnDimensioneCache);
- updateStmt.setString(index++, authnAlgoritmoCache);
- updateStmt.setString(index++, authnIdleCache);
- updateStmt.setString(index++, authnLifeCache);
- // token cache
- updateStmt.setString(index++, tokenStatoCache);
- updateStmt.setString(index++, tokenDimensioneCache);
- updateStmt.setString(index++, tokenAlgoritmoCache);
- updateStmt.setString(index++, tokenIdleCache);
- updateStmt.setString(index++, tokenLifeCache);
- // aa cache
- updateStmt.setString(index++, aaStatoCache);
- updateStmt.setString(index++, aaDimensioneCache);
- updateStmt.setString(index++, aaAlgoritmoCache);
- updateStmt.setString(index++, aaIdleCache);
- updateStmt.setString(index++, aaLifeCache);
- // keystore cache
- updateStmt.setString(index++, keystoreStatoCache);
- updateStmt.setString(index++, keystoreDimensioneCache);
- updateStmt.setString(index++, keystoreAlgoritmoCache);
- updateStmt.setString(index++, keystoreIdleCache);
- updateStmt.setString(index++, keystoreLifeCache);
- updateStmt.setString(index++, keystoreCrlLifeCache);
- // multitenant
- updateStmt.setString(index++, multitenant!=null ? DriverConfigurazioneDBLib.getValue(multitenant.getStato()) : null);
- updateStmt.setString(index++, multitenant!=null ? DriverConfigurazioneDBLib.getValue(multitenant.getFruizioneSceltaSoggettiErogatori()) : null);
- updateStmt.setString(index++, multitenant!=null ? DriverConfigurazioneDBLib.getValue(multitenant.getErogazioneSceltaSoggettiFruitori()) : null);
- // cors
- updateStmt.setString(index++, corsStato);
- updateStmt.setString(index++, corsTipo);
- updateStmt.setString(index++, corsAllAllowOrigins);
- updateStmt.setString(index++, corsAllAllowMethods);
- updateStmt.setString(index++, corsAllAllowHeaders);
- updateStmt.setString(index++, corsAllowCredentials);
- updateStmt.setInt(index++, corsAllowMaxAge);
- if(corsAllowMaxAgeSeconds!=null) {
- updateStmt.setInt(index++, corsAllowMaxAgeSeconds);
- }
- else {
- updateStmt.setNull(index++, java.sql.Types.INTEGER);
- }
- updateStmt.setString(index++, corsAllowOrigins);
- updateStmt.setString(index++, corsAllowHeaders);
- updateStmt.setString(index++, corsAllowMethods);
- updateStmt.setString(index++, corsAllowExposeHeaders);
- // responseCaching
- updateStmt.setString(index++, responseCacheStato);
- if(responseCacheSeconds!=null) {
- updateStmt.setInt(index++, responseCacheSeconds);
- }
- else {
- updateStmt.setNull(index++, java.sql.Types.INTEGER);
- }
- if(responseCacheMaxMsgSize!=null) {
- updateStmt.setLong(index++, responseCacheMaxMsgSize);
- }
- else {
- updateStmt.setNull(index++, java.sql.Types.BIGINT);
- }
- updateStmt.setInt(index++, responseCacheNoCache ? CostantiDB.TRUE : CostantiDB.FALSE);
- updateStmt.setInt(index++, responseCacheMaxAge ? CostantiDB.TRUE : CostantiDB.FALSE);
- updateStmt.setInt(index++, responseCacheNoStore ? CostantiDB.TRUE : CostantiDB.FALSE);
- updateStmt.setString(index++, responseCacheHashUrl);
- updateStmt.setString(index++, responseCacheHashQuery);
- updateStmt.setString(index++, responseCacheHashQueryList);
- updateStmt.setString(index++, responseCacheHashHeaders);
- updateStmt.setString(index++, responseCacheHashHeadersList);
- updateStmt.setString(index++, responseCacheHashPayload);
- // responseCaching cache
- updateStmt.setString(index++, responseCachingStatoCache);
- updateStmt.setString(index++, responseCachingDimensioneCache);
- updateStmt.setString(index++, responseCachingAlgoritmoCache);
- updateStmt.setString(index++, responseCachingIdleCache);
- updateStmt.setString(index++, responseCachingLifeCache);
- // consegna applicativi cache
- updateStmt.setString(index++, consegnaStatoCache);
- updateStmt.setString(index++, consegnaDimensioneCache);
- updateStmt.setString(index++, consegnaAlgoritmoCache);
- updateStmt.setString(index++, consegnaIdleCache);
- updateStmt.setString(index++, consegnaLifeCache);
- // canali
- updateStmt.setString(index++, configurazioneCanaliStato);
- // dati richieste cache
- updateStmt.setString(index++, datiRichiesteStatoCache);
- updateStmt.setString(index++, datiRichiesteDimensioneCache);
- updateStmt.setString(index++, datiRichiesteAlgoritmoCache);
- updateStmt.setString(index++, datiRichiesteIdleCache);
- updateStmt.setString(index++, datiRichiesteLifeCache);
- String msgDebug = "eseguo query :" +
- DBUtils.formatSQLString(updateQuery,
- cadenzaInoltro,
- valStato, valControllo,
- msgDiagSeverita, msgDiagSeveritaLog4j,
- autenticazione,
- valProfiloCollaborazione,
- modRisposta, utilizzoIndTelematico,
- routingEnabled, gestioneManifest,
- valManifest,
- tracciamentoBuste,
- tracciamentoEsitiPA, tracciamentoEsitiPD,
- transazioniTempiElaborazionePA, transazioniTempiElaborazionePD,
- transazioniTokenPA, transazioniTokenPD,
- dumpApplicativo, dumpPD, dumpPA,
- validazioneContenutiStato,validazioneContenutiTipo,validazioneContenutiAcceptMtomMessage,
- registroStatoCache, registroDimensioneCache, registroAlgoritmoCache, registroIdleCache, registroLifeCache,
- configStatoCache, configDimensioneCache, configAlgoritmoCache, configIdleCache, configLifeCache,
- authzStatoCache, authzDimensioneCache, authzAlgoritmoCache, authzIdleCache, authzLifeCache,
- authnStatoCache, authnDimensioneCache, authnAlgoritmoCache, authnIdleCache, authnLifeCache,
- tokenStatoCache, tokenDimensioneCache, tokenAlgoritmoCache, tokenIdleCache, tokenLifeCache,
- aaStatoCache, aaDimensioneCache, aaAlgoritmoCache, aaIdleCache, aaLifeCache,
- keystoreStatoCache, keystoreDimensioneCache, keystoreAlgoritmoCache, keystoreIdleCache, keystoreLifeCache, keystoreCrlLifeCache,
- (multitenant!=null ? DriverConfigurazioneDBLib.getValue(multitenant.getStato()) : null),
- (multitenant!=null ? DriverConfigurazioneDBLib.getValue(multitenant.getFruizioneSceltaSoggettiErogatori()) : null),
- (multitenant!=null ? DriverConfigurazioneDBLib.getValue(multitenant.getErogazioneSceltaSoggettiFruitori()) : null),
- corsStato, corsTipo, corsAllAllowOrigins, corsAllAllowMethods, corsAllAllowHeaders, corsAllowCredentials, corsAllowMaxAge, corsAllowMaxAgeSeconds,
- corsAllowOrigins, corsAllowHeaders, corsAllowMethods, corsAllowExposeHeaders,
- responseCacheStato, responseCacheSeconds, responseCacheMaxMsgSize,
- (responseCacheNoCache ? CostantiDB.TRUE : CostantiDB.FALSE),
- (responseCacheMaxAge ? CostantiDB.TRUE : CostantiDB.FALSE),
- (responseCacheNoStore ? CostantiDB.TRUE : CostantiDB.FALSE),
- responseCacheHashUrl, responseCacheHashQuery, responseCacheHashQueryList, responseCacheHashHeaders, responseCacheHashHeadersList, responseCacheHashPayload,
- responseCachingStatoCache, responseCachingDimensioneCache, responseCachingAlgoritmoCache, responseCachingIdleCache, responseCachingLifeCache,
- consegnaStatoCache, consegnaDimensioneCache, consegnaAlgoritmoCache, consegnaIdleCache, consegnaLifeCache,
- configurazioneCanaliStato,
- datiRichiesteStatoCache, datiRichiesteDimensioneCache, datiRichiesteAlgoritmoCache, datiRichiesteIdleCache, datiRichiesteLifeCache
- );
- DriverConfigurazioneDBLib.logDebug(msgDebug);
- n = updateStmt.executeUpdate();
- updateStmt.close();
- // delete from config_url_invocazione
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.CONFIG_URL_REGOLE);
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.executeUpdate();
- updateStmt.close();
-
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.CONFIG_URL_INVOCAZIONE);
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.executeUpdate();
- updateStmt.close();
-
- // insert into config_protocolli
- if(config.getUrlInvocazione()!=null){
-
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addInsertTable(CostantiDB.CONFIG_URL_INVOCAZIONE);
- sqlQueryObject.addInsertField("base_url", "?");
- sqlQueryObject.addInsertField("base_url_fruizione", "?");
- updateQuery = sqlQueryObject.createSQLInsert();
- updateStmt = con.prepareStatement(updateQuery);
- int indexP = 1;
- updateStmt.setString(indexP++, config.getUrlInvocazione().getBaseUrl());
- updateStmt.setString(indexP++, config.getUrlInvocazione().getBaseUrlFruizione());
- updateStmt.executeUpdate();
- updateStmt.close();
-
- if(config.getUrlInvocazione().sizeRegolaList()>0){
- for(int k=0; k<config.getUrlInvocazione().sizeRegolaList();k++){
- ConfigurazioneUrlInvocazioneRegola configUrlInvocazioneRegola = config.getUrlInvocazione().getRegola(k);
- createUrlInvocazioneRegolaEngine(configUrlInvocazioneRegola, con);
- }
- }
- }
-
- // delete from msg diag appender
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.MSG_DIAGN_APPENDER_PROP);
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.executeUpdate();
- updateStmt.close();
- // delete from msg diag appender
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.MSG_DIAGN_APPENDER);
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.executeUpdate();
- updateStmt.close();
- // insert into msg diag appender
- if(config.getMessaggiDiagnostici()!=null){
- for(int k=0; k<config.getMessaggiDiagnostici().sizeOpenspcoopAppenderList();k++){
- OpenspcoopAppender appender = config.getMessaggiDiagnostici().getOpenspcoopAppender(k);
-
- List<InsertAndGeneratedKeyObject> listInsertAndGeneratedKeyObject = new ArrayList<>();
- listInsertAndGeneratedKeyObject.add( new InsertAndGeneratedKeyObject("tipo", appender.getTipo() , InsertAndGeneratedKeyJDBCType.STRING) );
-
- long idMsgDiagAppender = InsertAndGeneratedKey.insertAndReturnGeneratedKey(con, TipiDatabase.toEnumConstant(DriverConfigurazioneDBLib.tipoDB),
- new CustomKeyGeneratorObject(CostantiDB.MSG_DIAGN_APPENDER, CostantiDB.MSG_DIAGN_APPENDER_COLUMN_ID,
- CostantiDB.MSG_DIAGN_APPENDER_SEQUENCE, CostantiDB.MSG_DIAGN_APPENDER_TABLE_FOR_ID),
- listInsertAndGeneratedKeyObject.toArray(new InsertAndGeneratedKeyObject[1]));
- if(idMsgDiagAppender<=0){
- throw new DriverConfigurazioneException("ID (msg diag appender) autoincrementale non ottenuto");
- }
-
- for(int l=0; l<appender.sizePropertyList();l++){
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addInsertTable(CostantiDB.MSG_DIAGN_APPENDER_PROP);
- sqlQueryObject.addInsertField("id_appender", "?");
- sqlQueryObject.addInsertField("nome", "?");
- sqlQueryObject.addInsertField("valore", "?");
- updateQuery = sqlQueryObject.createSQLInsert();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.setLong(1, idMsgDiagAppender);
- updateStmt.setString(2, appender.getProperty(l).getNome());
- updateStmt.setString(3, appender.getProperty(l).getValore());
- updateStmt.executeUpdate();
- updateStmt.close();
- }
- }
- }
- // delete from tracciamento appender
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.TRACCIAMENTO_APPENDER_PROP);
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.executeUpdate();
- updateStmt.close();
- // delete from tracciamento appender
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.TRACCIAMENTO_APPENDER);
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.executeUpdate();
- updateStmt.close();
- // insert into tracciamento appender
- if(config.getTracciamento()!=null){
- for(int k=0; k<config.getTracciamento().sizeOpenspcoopAppenderList();k++){
- OpenspcoopAppender appender = config.getTracciamento().getOpenspcoopAppender(k);
-
- List<InsertAndGeneratedKeyObject> listInsertAndGeneratedKeyObject = new ArrayList<>();
- listInsertAndGeneratedKeyObject.add( new InsertAndGeneratedKeyObject("tipo", appender.getTipo() , InsertAndGeneratedKeyJDBCType.STRING) );
-
- long idTracceAppender = InsertAndGeneratedKey.insertAndReturnGeneratedKey(con, TipiDatabase.toEnumConstant(DriverConfigurazioneDBLib.tipoDB),
- new CustomKeyGeneratorObject(CostantiDB.TRACCIAMENTO_APPENDER, CostantiDB.TRACCIAMENTO_APPENDER_COLUMN_ID,
- CostantiDB.TRACCIAMENTO_APPENDER_SEQUENCE, CostantiDB.TRACCIAMENTO_APPENDER_TABLE_FOR_ID),
- listInsertAndGeneratedKeyObject.toArray(new InsertAndGeneratedKeyObject[1]));
- if(idTracceAppender<=0){
- throw new DriverConfigurazioneException("ID (tracce appender) autoincrementale non ottenuto");
- }
- for(int l=0; l<appender.sizePropertyList();l++){
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addInsertTable(CostantiDB.TRACCIAMENTO_APPENDER_PROP);
- sqlQueryObject.addInsertField("id_appender", "?");
- sqlQueryObject.addInsertField("nome", "?");
- sqlQueryObject.addInsertField("valore", "?");
- updateQuery = sqlQueryObject.createSQLInsert();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.setLong(1, idTracceAppender);
- updateStmt.setString(2, appender.getProperty(l).getNome());
- updateStmt.setString(3, appender.getProperty(l).getValore());
- updateStmt.executeUpdate();
- updateStmt.close();
- }
- }
- }
-
-
- // tracciamentoConfigurazione
-
- DriverConfigurazioneDBTracciamentoLIB.crudTracciamentoConfigurazione(type, con, tracciamentoConfigurazioneDatabasePA, null,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_PROPRIETARIO_CONFIG_PA,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_TIPO_DB);
- DriverConfigurazioneDBTracciamentoLIB.crudTracciamentoConfigurazione(type, con, tracciamentoConfigurazioneDatabasePD, null,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_PROPRIETARIO_CONFIG_PD,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_TIPO_DB);
-
- DriverConfigurazioneDBTracciamentoLIB.crudTracciamentoConfigurazione(type, con, tracciamentoConfigurazioneFiletracePA, null,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_PROPRIETARIO_CONFIG_PA,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_TIPO_FILETRACE);
- DriverConfigurazioneDBTracciamentoLIB.crudTracciamentoConfigurazione(type, con, tracciamentoConfigurazioneFiletracePD, null,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_PROPRIETARIO_CONFIG_PD,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_TIPO_FILETRACE);
-
- DriverConfigurazioneDBTracciamentoLIB.crudTracciamentoConfigurazioneFiletrace(type, con, tracciamentoConfigurazioneFiletraceDetailsPA, null,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_PROPRIETARIO_CONFIG_PA);
- DriverConfigurazioneDBTracciamentoLIB.crudTracciamentoConfigurazioneFiletrace(type, con, tracciamentoConfigurazioneFiletraceDetailsPD, null,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_PROPRIETARIO_CONFIG_PD);
-
-
-
-
-
- // delete from dump appender_prop
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.DUMP_APPENDER_PROP);
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.executeUpdate();
- updateStmt.close();
- // delete from dump appender
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.DUMP_APPENDER);
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.executeUpdate();
- updateStmt.close();
- // insert into dump appender
- if(config.getDump()!=null){
- for(int k=0; k<config.getDump().sizeOpenspcoopAppenderList();k++){
- OpenspcoopAppender appender = config.getDump().getOpenspcoopAppender(k);
-
- List<InsertAndGeneratedKeyObject> listInsertAndGeneratedKeyObject = new ArrayList<>();
- listInsertAndGeneratedKeyObject.add( new InsertAndGeneratedKeyObject("tipo", appender.getTipo() , InsertAndGeneratedKeyJDBCType.STRING) );
-
- long idDumpAppender = InsertAndGeneratedKey.insertAndReturnGeneratedKey(con, TipiDatabase.toEnumConstant(DriverConfigurazioneDBLib.tipoDB),
- new CustomKeyGeneratorObject(CostantiDB.DUMP_APPENDER, CostantiDB.DUMP_APPENDER_COLUMN_ID,
- CostantiDB.DUMP_APPENDER_SEQUENCE, CostantiDB.DUMP_APPENDER_TABLE_FOR_ID),
- listInsertAndGeneratedKeyObject.toArray(new InsertAndGeneratedKeyObject[1]));
- if(idDumpAppender<=0){
- throw new DriverConfigurazioneException("ID (dump appender) autoincrementale non ottenuto");
- }
- for(int l=0; l<appender.sizePropertyList();l++){
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addInsertTable(CostantiDB.DUMP_APPENDER_PROP);
- sqlQueryObject.addInsertField("id_appender", "?");
- sqlQueryObject.addInsertField("nome", "?");
- sqlQueryObject.addInsertField("valore", "?");
- updateQuery = sqlQueryObject.createSQLInsert();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.setLong(1, idDumpAppender);
- updateStmt.setString(2, appender.getProperty(l).getNome());
- updateStmt.setString(3, appender.getProperty(l).getValore());
- updateStmt.executeUpdate();
- updateStmt.close();
- }
- }
- }
-
-
- // Cache Regole
- n=0;
- if(responseCacheRegole!=null && !responseCacheRegole.isEmpty()){
- for (int j = 0; j < responseCacheRegole.size(); j++) {
- ResponseCachingConfigurazioneRegola regola = responseCacheRegole.get(j);
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addInsertTable(CostantiDB.CONFIGURAZIONE_CACHE_REGOLE);
- if(regola.getReturnCodeMin()!=null && regola.getReturnCodeMin()>0) {
- sqlQueryObject.addInsertField("status_min", "?");
- }
- if(regola.getReturnCodeMax()!=null && regola.getReturnCodeMax()>0) {
- sqlQueryObject.addInsertField("status_max", "?");
- }
- sqlQueryObject.addInsertField("fault", "?");
- if(regola.getCacheTimeoutSeconds()!=null && regola.getCacheTimeoutSeconds()>0) {
- sqlQueryObject.addInsertField("cache_seconds", "?");
- }
- String sqlQuery = sqlQueryObject.createSQLInsert();
- updateStmt = con.prepareStatement(sqlQuery);
- int indexCR = 1;
- if(regola.getReturnCodeMin()!=null && regola.getReturnCodeMin()>0) {
- updateStmt.setInt(indexCR++, regola.getReturnCodeMin());
- }
- if(regola.getReturnCodeMax()!=null && regola.getReturnCodeMax()>0) {
- updateStmt.setInt(indexCR++, regola.getReturnCodeMax());
- }
- updateStmt.setInt(indexCR++, regola.getFault() ? CostantiDB.TRUE : CostantiDB.FALSE);
- if(regola.getCacheTimeoutSeconds()!=null && regola.getCacheTimeoutSeconds()>0) {
- updateStmt.setInt(indexCR++, regola.getCacheTimeoutSeconds());
- }
- updateStmt.executeUpdate();
- updateStmt.close();
- n++;
- DriverConfigurazioneDBLib.logDebug("Aggiunta regola di cache");
- }
- }
-
- DriverConfigurazioneDBLib.logDebug("Aggiunte " + n + " regole di cache");
-
- // dumpConfigurazione
-
- // per backward compatibility elimino una config esistente
- DumpConfigurazione dumpConfigOldBackwardCompatibility = DriverConfigurazioneDB_dumpLIB.readDumpConfigurazione(con, null, CostantiDB.OLD_BACKWARD_COMPATIBILITY_DUMP_CONFIGURAZIONE_PROPRIETARIO_CONFIG);
- if(dumpConfigOldBackwardCompatibility!=null) {
- DriverConfigurazioneDB_dumpLIB.CRUDDumpConfigurazione(DELETE, con, dumpConfigOldBackwardCompatibility, null, CostantiDB.OLD_BACKWARD_COMPATIBILITY_DUMP_CONFIGURAZIONE_PROPRIETARIO_CONFIG);
- }
-
- DriverConfigurazioneDB_dumpLIB.CRUDDumpConfigurazione(type, con, dumpConfigPA, null, CostantiDB.DUMP_CONFIGURAZIONE_PROPRIETARIO_CONFIG_PA);
- DriverConfigurazioneDB_dumpLIB.CRUDDumpConfigurazione(type, con, dumpConfigPD, null, CostantiDB.DUMP_CONFIGURAZIONE_PROPRIETARIO_CONFIG_PD);
-
- // delete from msgdiag ds prop
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.MSG_DIAGN_DS_PROP);
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.executeUpdate();
- updateStmt.close();
- // delete from msgdiag ds
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.MSG_DIAGN_DS);
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.executeUpdate();
- updateStmt.close();
- // insert into msgdiag ds
- if(config.getMessaggiDiagnostici()!=null){
- for(int k=0; k<config.getMessaggiDiagnostici().sizeOpenspcoopSorgenteDatiList();k++){
- OpenspcoopSorgenteDati ds = config.getMessaggiDiagnostici().getOpenspcoopSorgenteDati(k);
-
- List<InsertAndGeneratedKeyObject> listInsertAndGeneratedKeyObject = new ArrayList<>();
- listInsertAndGeneratedKeyObject.add( new InsertAndGeneratedKeyObject("nome", ds.getNome() , InsertAndGeneratedKeyJDBCType.STRING) );
- listInsertAndGeneratedKeyObject.add( new InsertAndGeneratedKeyObject("nome_jndi", ds.getNomeJndi() , InsertAndGeneratedKeyJDBCType.STRING) );
- listInsertAndGeneratedKeyObject.add( new InsertAndGeneratedKeyObject("tipo_database", ds.getTipoDatabase() , InsertAndGeneratedKeyJDBCType.STRING) );
-
- long idMsgDsAppender = InsertAndGeneratedKey.insertAndReturnGeneratedKey(con, TipiDatabase.toEnumConstant(DriverConfigurazioneDBLib.tipoDB),
- new CustomKeyGeneratorObject(CostantiDB.MSG_DIAGN_DS, CostantiDB.MSG_DIAGN_DS_COLUMN_ID,
- CostantiDB.MSG_DIAGN_DS_SEQUENCE, CostantiDB.MSG_DIAGN_DS_TABLE_FOR_ID),
- listInsertAndGeneratedKeyObject.toArray(new InsertAndGeneratedKeyObject[1]));
- if(idMsgDsAppender<=0){
- throw new DriverConfigurazioneException("ID (msgdiag ds appender) autoincrementale non ottenuto");
- }
- for(int l=0; l<ds.sizePropertyList();l++){
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addInsertTable(CostantiDB.MSG_DIAGN_DS_PROP);
- sqlQueryObject.addInsertField("id_prop", "?");
- sqlQueryObject.addInsertField("nome", "?");
- sqlQueryObject.addInsertField("valore", "?");
- updateQuery = sqlQueryObject.createSQLInsert();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.setLong(1, idMsgDsAppender);
- updateStmt.setString(2, ds.getProperty(l).getNome());
- updateStmt.setString(3, ds.getProperty(l).getValore());
- updateStmt.executeUpdate();
- updateStmt.close();
- }
- }
- }
- // delete from tracce ds prop
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.TRACCIAMENTO_DS_PROP);
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.executeUpdate();
- updateStmt.close();
- // delete from tracce ds
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.TRACCIAMENTO_DS);
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.executeUpdate();
- updateStmt.close();
- // insert into tracce ds
- if(config.getTracciamento()!=null){
- for(int k=0; k<config.getTracciamento().sizeOpenspcoopSorgenteDatiList();k++){
- OpenspcoopSorgenteDati ds = config.getTracciamento().getOpenspcoopSorgenteDati(k);
-
- List<InsertAndGeneratedKeyObject> listInsertAndGeneratedKeyObject = new ArrayList<>();
- listInsertAndGeneratedKeyObject.add( new InsertAndGeneratedKeyObject("nome", ds.getNome() , InsertAndGeneratedKeyJDBCType.STRING) );
- listInsertAndGeneratedKeyObject.add( new InsertAndGeneratedKeyObject("nome_jndi", ds.getNomeJndi() , InsertAndGeneratedKeyJDBCType.STRING) );
- listInsertAndGeneratedKeyObject.add( new InsertAndGeneratedKeyObject("tipo_database", ds.getTipoDatabase() , InsertAndGeneratedKeyJDBCType.STRING) );
-
- long idTracceDsAppender = InsertAndGeneratedKey.insertAndReturnGeneratedKey(con, TipiDatabase.toEnumConstant(DriverConfigurazioneDBLib.tipoDB),
- new CustomKeyGeneratorObject(CostantiDB.TRACCIAMENTO_DS, CostantiDB.TRACCIAMENTO_DS_COLUMN_ID,
- CostantiDB.TRACCIAMENTO_DS_SEQUENCE, CostantiDB.TRACCIAMENTO_DS_TABLE_FOR_ID),
- listInsertAndGeneratedKeyObject.toArray(new InsertAndGeneratedKeyObject[1]));
- if(idTracceDsAppender<=0){
- throw new DriverConfigurazioneException("ID (tracciamento ds appender) autoincrementale non ottenuto");
- }
- for(int l=0; l<ds.sizePropertyList();l++){
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addInsertTable(CostantiDB.TRACCIAMENTO_DS_PROP);
- sqlQueryObject.addInsertField("id_prop", "?");
- sqlQueryObject.addInsertField("nome", "?");
- sqlQueryObject.addInsertField("valore", "?");
- updateQuery = sqlQueryObject.createSQLInsert();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.setLong(1, idTracceDsAppender);
- updateStmt.setString(2, ds.getProperty(l).getNome());
- updateStmt.setString(3, ds.getProperty(l).getValore());
- updateStmt.executeUpdate();
- updateStmt.close();
- }
- }
- }
-
- // canali
- if(configurazioneCanali!=null) {
- DriverConfigurazioneDB_canaliLIB.CRUDCanaliConfigurazione(type, con, configurazioneCanali);
- }
-
- // handlers
- if(configHandlers!=null) {
- if(configHandlers.getRequest()!=null) {
- DriverConfigurazioneDB_handlerLIB.CRUDConfigurazioneMessageHandlers(type, con, null, null, true, configHandlers.getRequest());
- }
- if(configHandlers.getResponse()!=null) {
- DriverConfigurazioneDB_handlerLIB.CRUDConfigurazioneMessageHandlers(type, con, null, null, false, configHandlers.getResponse());
- }
- if(configHandlers.getService()!=null) {
- DriverConfigurazioneDB_handlerLIB.CRUDConfigurazioneServiceHandlers(type, con, null, null, false, configHandlers.getService());
- }
- }
-
- // ExtendedInfo
- if(extInfoConfigurazioneDriver!=null &&
- config.sizeExtendedInfoList()>0){
- for(int l=0; l<config.sizeExtendedInfoList();l++){
- extInfoConfigurazioneDriver.deleteExtendedInfo(con, DriverConfigurazioneDBLib.log, config, config.getExtendedInfo(l), CRUDType.CREATE);
- extInfoConfigurazioneDriver.createExtendedInfo(con, DriverConfigurazioneDBLib.log, config, config.getExtendedInfo(l), CRUDType.CREATE);
- }
- }
- break;
- case UPDATE:
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addUpdateTable(CostantiDB.CONFIGURAZIONE);
- sqlQueryObject.addUpdateField("cadenza_inoltro", "?");
- sqlQueryObject.addUpdateField("validazione_stato", "?");
- sqlQueryObject.addUpdateField("validazione_controllo", "?");
- sqlQueryObject.addUpdateField("msg_diag_severita", "?");
- sqlQueryObject.addUpdateField("msg_diag_severita_log4j", "?");
- sqlQueryObject.addUpdateField("auth_integration_manager", "?");
- sqlQueryObject.addUpdateField("validazione_profilo", "?");
- sqlQueryObject.addUpdateField("mod_risposta", "?");
- sqlQueryObject.addUpdateField("indirizzo_telematico", "?");
- sqlQueryObject.addUpdateField("routing_enabled", "?");
- sqlQueryObject.addUpdateField("gestione_manifest", "?");
- sqlQueryObject.addUpdateField("validazione_manifest", "?");
- sqlQueryObject.addUpdateField("tracciamento_buste", "?");
- // tracciamento
- sqlQueryObject.addUpdateField("tracciamento_esiti", "?");
- sqlQueryObject.addUpdateField("tracciamento_esiti_pd", "?");
- sqlQueryObject.addUpdateField("transazioni_tempi", "?");
- sqlQueryObject.addUpdateField("transazioni_tempi_pd", "?");
- sqlQueryObject.addUpdateField("transazioni_token", "?");
- sqlQueryObject.addUpdateField("transazioni_token_pd", "?");
- // dump
- sqlQueryObject.addUpdateField("dump", "?");
- sqlQueryObject.addUpdateField("dump_bin_pd", "?");
- sqlQueryObject.addUpdateField("dump_bin_pa", "?");
- // validazione
- sqlQueryObject.addUpdateField("validazione_contenuti_stato", "?");
- sqlQueryObject.addUpdateField("validazione_contenuti_tipo", "?");
- sqlQueryObject.addUpdateField("validazione_contenuti_mtom", "?");
- // registro cache
- sqlQueryObject.addUpdateField("statocache", "?");
- sqlQueryObject.addUpdateField("dimensionecache", "?");
- sqlQueryObject.addUpdateField("algoritmocache", "?");
- sqlQueryObject.addUpdateField("idlecache", "?");
- sqlQueryObject.addUpdateField("lifecache", "?");
- // config cache
- sqlQueryObject.addUpdateField("config_statocache", "?");
- sqlQueryObject.addUpdateField("config_dimensionecache", "?");
- sqlQueryObject.addUpdateField("config_algoritmocache", "?");
- sqlQueryObject.addUpdateField("config_idlecache", "?");
- sqlQueryObject.addUpdateField("config_lifecache", "?");
- // authz cache
- sqlQueryObject.addUpdateField("auth_statocache", "?");
- sqlQueryObject.addUpdateField("auth_dimensionecache", "?");
- sqlQueryObject.addUpdateField("auth_algoritmocache", "?");
- sqlQueryObject.addUpdateField("auth_idlecache", "?");
- sqlQueryObject.addUpdateField("auth_lifecache", "?");
- // authn cache
- sqlQueryObject.addUpdateField("authn_statocache", "?");
- sqlQueryObject.addUpdateField("authn_dimensionecache", "?");
- sqlQueryObject.addUpdateField("authn_algoritmocache", "?");
- sqlQueryObject.addUpdateField("authn_idlecache", "?");
- sqlQueryObject.addUpdateField("authn_lifecache", "?");
- // token cache
- sqlQueryObject.addUpdateField("token_statocache", "?");
- sqlQueryObject.addUpdateField("token_dimensionecache", "?");
- sqlQueryObject.addUpdateField("token_algoritmocache", "?");
- sqlQueryObject.addUpdateField("token_idlecache", "?");
- sqlQueryObject.addUpdateField("token_lifecache", "?");
- // aa cache
- sqlQueryObject.addUpdateField("aa_statocache", "?");
- sqlQueryObject.addUpdateField("aa_dimensionecache", "?");
- sqlQueryObject.addUpdateField("aa_algoritmocache", "?");
- sqlQueryObject.addUpdateField("aa_idlecache", "?");
- sqlQueryObject.addUpdateField("aa_lifecache", "?");
- // keystore cache
- sqlQueryObject.addUpdateField("keystore_statocache", "?");
- sqlQueryObject.addUpdateField("keystore_dimensionecache", "?");
- sqlQueryObject.addUpdateField("keystore_algoritmocache", "?");
- sqlQueryObject.addUpdateField("keystore_idlecache", "?");
- sqlQueryObject.addUpdateField("keystore_lifecache", "?");
- sqlQueryObject.addUpdateField("keystore_crl_lifecache", "?");
- // multitenant
- sqlQueryObject.addUpdateField("multitenant_stato", "?");
- sqlQueryObject.addUpdateField("multitenant_fruizioni", "?");
- sqlQueryObject.addUpdateField("multitenant_erogazioni", "?");
- // cors
- sqlQueryObject.addUpdateField("cors_stato", "?");
- sqlQueryObject.addUpdateField("cors_tipo", "?");
- sqlQueryObject.addUpdateField("cors_all_allow_origins", "?");
- sqlQueryObject.addUpdateField("cors_all_allow_methods", "?");
- sqlQueryObject.addUpdateField("cors_all_allow_headers", "?");
- sqlQueryObject.addUpdateField("cors_allow_credentials", "?");
- sqlQueryObject.addUpdateField("cors_allow_max_age", "?");
- sqlQueryObject.addUpdateField("cors_allow_max_age_seconds", "?");
- sqlQueryObject.addUpdateField("cors_allow_origins", "?");
- sqlQueryObject.addUpdateField("cors_allow_headers", "?");
- sqlQueryObject.addUpdateField("cors_allow_methods", "?");
- sqlQueryObject.addUpdateField("cors_allow_expose_headers", "?");
- // responseCaching
- sqlQueryObject.addUpdateField("response_cache_stato", "?");
- sqlQueryObject.addUpdateField("response_cache_seconds", "?");
- sqlQueryObject.addUpdateField("response_cache_max_msg_size", "?");
- sqlQueryObject.addUpdateField("response_cache_control_nocache", "?");
- sqlQueryObject.addUpdateField("response_cache_control_maxage", "?");
- sqlQueryObject.addUpdateField("response_cache_control_nostore", "?");
- sqlQueryObject.addUpdateField("response_cache_hash_url", "?");
- sqlQueryObject.addUpdateField("response_cache_hash_query", "?");
- sqlQueryObject.addUpdateField("response_cache_hash_query_list", "?");
- sqlQueryObject.addUpdateField("response_cache_hash_headers", "?");
- sqlQueryObject.addUpdateField("response_cache_hash_hdr_list", "?");
- sqlQueryObject.addUpdateField("response_cache_hash_payload", "?");
- // responseCaching cache
- sqlQueryObject.addUpdateField("response_cache_statocache", "?");
- sqlQueryObject.addUpdateField("response_cache_dimensionecache", "?");
- sqlQueryObject.addUpdateField("response_cache_algoritmocache", "?");
- sqlQueryObject.addUpdateField("response_cache_idlecache", "?");
- sqlQueryObject.addUpdateField("response_cache_lifecache", "?");
- // consegna applicativi cache
- sqlQueryObject.addUpdateField("consegna_statocache", "?");
- sqlQueryObject.addUpdateField("consegna_dimensionecache", "?");
- sqlQueryObject.addUpdateField("consegna_algoritmocache", "?");
- sqlQueryObject.addUpdateField("consegna_idlecache", "?");
- sqlQueryObject.addUpdateField("consegna_lifecache", "?");
- // canali
- sqlQueryObject.addUpdateField("canali_stato", "?");
- // dati richieste cache
- sqlQueryObject.addUpdateField("dati_richieste_statocache", "?");
- sqlQueryObject.addUpdateField("dati_richieste_dimensionecache", "?");
- sqlQueryObject.addUpdateField("dati_richieste_algoritmocache", "?");
- sqlQueryObject.addUpdateField("dati_richieste_idlecache", "?");
- sqlQueryObject.addUpdateField("dati_richieste_lifecache", "?");
- updateQuery = sqlQueryObject.createSQLUpdate();
- updateStmt = con.prepareStatement(updateQuery);
-
- index = 1;
-
- updateStmt.setString(index++, cadenzaInoltro);
- updateStmt.setString(index++, valStato);
- updateStmt.setString(index++, valControllo);
- updateStmt.setString(index++, msgDiagSeverita);
- updateStmt.setString(index++, msgDiagSeveritaLog4j);
- updateStmt.setString(index++, autenticazione);
- updateStmt.setString(index++, valProfiloCollaborazione);
- updateStmt.setString(index++, modRisposta);
- updateStmt.setString(index++, utilizzoIndTelematico);
- updateStmt.setString(index++, routingEnabled);
- updateStmt.setString(index++, gestioneManifest);
- updateStmt.setString(index++, valManifest);
- updateStmt.setString(index++, tracciamentoBuste);
- // tracciamento
- updateStmt.setString(index++, tracciamentoEsitiPA);
- updateStmt.setString(index++, tracciamentoEsitiPD);
- updateStmt.setString(index++, transazioniTempiElaborazionePA);
- updateStmt.setString(index++, transazioniTempiElaborazionePD);
- updateStmt.setString(index++, transazioniTokenPA);
- updateStmt.setString(index++, transazioniTokenPD);
- // dump
- updateStmt.setString(index++, dumpApplicativo);
- updateStmt.setString(index++, dumpPD);
- updateStmt.setString(index++, dumpPA);
- // validazione
- updateStmt.setString(index++, validazioneContenutiStato);
- updateStmt.setString(index++, validazioneContenutiTipo);
- updateStmt.setString(index++, validazioneContenutiAcceptMtomMessage);
- // registro cache
- updateStmt.setString(index++, registroStatoCache);
- updateStmt.setString(index++, registroDimensioneCache);
- updateStmt.setString(index++, registroAlgoritmoCache);
- updateStmt.setString(index++, registroIdleCache);
- updateStmt.setString(index++, registroLifeCache);
- // config cache
- updateStmt.setString(index++, configStatoCache);
- updateStmt.setString(index++, configDimensioneCache);
- updateStmt.setString(index++, configAlgoritmoCache);
- updateStmt.setString(index++, configIdleCache);
- updateStmt.setString(index++, configLifeCache);
- // authz cache
- updateStmt.setString(index++, authzStatoCache);
- updateStmt.setString(index++, authzDimensioneCache);
- updateStmt.setString(index++, authzAlgoritmoCache);
- updateStmt.setString(index++, authzIdleCache);
- updateStmt.setString(index++, authzLifeCache);
- // authn cache
- updateStmt.setString(index++, authnStatoCache);
- updateStmt.setString(index++, authnDimensioneCache);
- updateStmt.setString(index++, authnAlgoritmoCache);
- updateStmt.setString(index++, authnIdleCache);
- updateStmt.setString(index++, authnLifeCache);
- // token cache
- updateStmt.setString(index++, tokenStatoCache);
- updateStmt.setString(index++, tokenDimensioneCache);
- updateStmt.setString(index++, tokenAlgoritmoCache);
- updateStmt.setString(index++, tokenIdleCache);
- updateStmt.setString(index++, tokenLifeCache);
- // aa cache
- updateStmt.setString(index++, aaStatoCache);
- updateStmt.setString(index++, aaDimensioneCache);
- updateStmt.setString(index++, aaAlgoritmoCache);
- updateStmt.setString(index++, aaIdleCache);
- updateStmt.setString(index++, aaLifeCache);
- // keystore cache
- updateStmt.setString(index++, keystoreStatoCache);
- updateStmt.setString(index++, keystoreDimensioneCache);
- updateStmt.setString(index++, keystoreAlgoritmoCache);
- updateStmt.setString(index++, keystoreIdleCache);
- updateStmt.setString(index++, keystoreLifeCache);
- updateStmt.setString(index++, keystoreCrlLifeCache);
- // multitenant
- updateStmt.setString(index++, multitenant!=null ? DriverConfigurazioneDBLib.getValue(multitenant.getStato()) : null);
- updateStmt.setString(index++, multitenant!=null ? DriverConfigurazioneDBLib.getValue(multitenant.getFruizioneSceltaSoggettiErogatori()) : null);
- updateStmt.setString(index++, multitenant!=null ? DriverConfigurazioneDBLib.getValue(multitenant.getErogazioneSceltaSoggettiFruitori()) : null);
- // cors
- updateStmt.setString(index++, corsStato);
- updateStmt.setString(index++, corsTipo);
- updateStmt.setString(index++, corsAllAllowOrigins);
- updateStmt.setString(index++, corsAllAllowMethods);
- updateStmt.setString(index++, corsAllAllowHeaders);
- updateStmt.setString(index++, corsAllowCredentials);
- updateStmt.setInt(index++, corsAllowMaxAge);
- if(corsAllowMaxAgeSeconds!=null) {
- updateStmt.setInt(index++, corsAllowMaxAgeSeconds);
- }
- else {
- updateStmt.setNull(index++, java.sql.Types.INTEGER);
- }
- updateStmt.setString(index++, corsAllowOrigins);
- updateStmt.setString(index++, corsAllowHeaders);
- updateStmt.setString(index++, corsAllowMethods);
- updateStmt.setString(index++, corsAllowExposeHeaders);
- // responseCaching
- updateStmt.setString(index++, responseCacheStato);
- if(responseCacheSeconds!=null) {
- updateStmt.setInt(index++, responseCacheSeconds);
- }
- else {
- updateStmt.setNull(index++, java.sql.Types.INTEGER);
- }
- if(responseCacheMaxMsgSize!=null) {
- updateStmt.setLong(index++, responseCacheMaxMsgSize);
- }
- else {
- updateStmt.setNull(index++, java.sql.Types.BIGINT);
- }
- updateStmt.setInt(index++, responseCacheNoCache ? CostantiDB.TRUE : CostantiDB.FALSE);
- updateStmt.setInt(index++, responseCacheMaxAge ? CostantiDB.TRUE : CostantiDB.FALSE);
- updateStmt.setInt(index++, responseCacheNoStore ? CostantiDB.TRUE : CostantiDB.FALSE);
- updateStmt.setString(index++, responseCacheHashUrl);
- updateStmt.setString(index++, responseCacheHashQuery);
- updateStmt.setString(index++, responseCacheHashQueryList);
- updateStmt.setString(index++, responseCacheHashHeaders);
- updateStmt.setString(index++, responseCacheHashHeadersList);
- updateStmt.setString(index++, responseCacheHashPayload);
- // responseCaching cache
- updateStmt.setString(index++, responseCachingStatoCache);
- updateStmt.setString(index++, responseCachingDimensioneCache);
- updateStmt.setString(index++, responseCachingAlgoritmoCache);
- updateStmt.setString(index++, responseCachingIdleCache);
- updateStmt.setString(index++, responseCachingLifeCache);
- // consegna applicativi cache
- updateStmt.setString(index++, consegnaStatoCache);
- updateStmt.setString(index++, consegnaDimensioneCache);
- updateStmt.setString(index++, consegnaAlgoritmoCache);
- updateStmt.setString(index++, consegnaIdleCache);
- updateStmt.setString(index++, consegnaLifeCache);
- // canali
- updateStmt.setString(index++, configurazioneCanaliStato);
- // dati richieste cache
- updateStmt.setString(index++, datiRichiesteStatoCache);
- updateStmt.setString(index++, datiRichiesteDimensioneCache);
- updateStmt.setString(index++, datiRichiesteAlgoritmoCache);
- updateStmt.setString(index++, datiRichiesteIdleCache);
- updateStmt.setString(index++, datiRichiesteLifeCache);
-
- DriverConfigurazioneDBLib.logDebug("eseguo query :" +
- DBUtils.formatSQLString(updateQuery,
- cadenzaInoltro,
- valStato, valControllo,
- msgDiagSeverita, msgDiagSeveritaLog4j,
- autenticazione,
- valProfiloCollaborazione,
- modRisposta, utilizzoIndTelematico,
- routingEnabled, gestioneManifest,
- valManifest,
- tracciamentoBuste,
- tracciamentoEsitiPA, tracciamentoEsitiPD,
- transazioniTempiElaborazionePA, transazioniTempiElaborazionePD,
- transazioniTokenPA, transazioniTokenPD,
- dumpApplicativo, dumpPD, dumpPA,
- validazioneContenutiStato,validazioneContenutiTipo,
- registroStatoCache, registroDimensioneCache, registroAlgoritmoCache, registroIdleCache, registroLifeCache,
- configStatoCache, configDimensioneCache, configAlgoritmoCache, configIdleCache, configLifeCache,
- authzStatoCache, authzDimensioneCache, authzAlgoritmoCache, authzIdleCache, authzLifeCache,
- authnStatoCache, authnDimensioneCache, authnAlgoritmoCache, authnIdleCache, authnLifeCache,
- tokenStatoCache, tokenDimensioneCache, tokenAlgoritmoCache, tokenIdleCache, tokenLifeCache,
- keystoreStatoCache, keystoreDimensioneCache, keystoreAlgoritmoCache, keystoreIdleCache, keystoreLifeCache, keystoreCrlLifeCache,
- (multitenant!=null ? DriverConfigurazioneDBLib.getValue(multitenant.getStato()) : null),
- (multitenant!=null ? DriverConfigurazioneDBLib.getValue(multitenant.getFruizioneSceltaSoggettiErogatori()) : null),
- (multitenant!=null ? DriverConfigurazioneDBLib.getValue(multitenant.getErogazioneSceltaSoggettiFruitori()) : null),
- corsStato, corsTipo, corsAllAllowOrigins, corsAllAllowMethods, corsAllAllowHeaders, corsAllowCredentials, corsAllowMaxAge, corsAllowMaxAgeSeconds,
- corsAllowOrigins, corsAllowHeaders, corsAllowMethods, corsAllowExposeHeaders,
- responseCacheStato, responseCacheSeconds, responseCacheMaxMsgSize,
- responseCacheHashUrl, responseCacheHashQuery, responseCacheHashQueryList, responseCacheHashHeaders, responseCacheHashHeadersList, responseCacheHashPayload,
- responseCachingStatoCache, responseCachingDimensioneCache, responseCachingAlgoritmoCache, responseCachingIdleCache, responseCachingLifeCache,
- consegnaStatoCache, consegnaDimensioneCache, consegnaAlgoritmoCache, consegnaIdleCache, consegnaLifeCache,
- configurazioneCanaliStato,
- datiRichiesteStatoCache, datiRichiesteDimensioneCache, datiRichiesteAlgoritmoCache, datiRichiesteIdleCache, datiRichiesteLifeCache
- ));
- n = updateStmt.executeUpdate();
- updateStmt.close();
- // delete from config_url_invocazione
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.CONFIG_URL_REGOLE);
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.executeUpdate();
- updateStmt.close();
-
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.CONFIG_URL_INVOCAZIONE);
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.executeUpdate();
- updateStmt.close();
-
- // insert into config_protocolli
- if(config.getUrlInvocazione()!=null){
-
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addInsertTable(CostantiDB.CONFIG_URL_INVOCAZIONE);
- sqlQueryObject.addInsertField("base_url", "?");
- sqlQueryObject.addInsertField("base_url_fruizione", "?");
- updateQuery = sqlQueryObject.createSQLInsert();
- updateStmt = con.prepareStatement(updateQuery);
- int indexP = 1;
- updateStmt.setString(indexP++, config.getUrlInvocazione().getBaseUrl());
- updateStmt.setString(indexP++, config.getUrlInvocazione().getBaseUrlFruizione());
- updateStmt.executeUpdate();
- updateStmt.close();
-
- if(config.getUrlInvocazione().sizeRegolaList()>0){
- for(int k=0; k<config.getUrlInvocazione().sizeRegolaList();k++){
- ConfigurazioneUrlInvocazioneRegola configUrlInvocazioneRegola = config.getUrlInvocazione().getRegola(k);
- createUrlInvocazioneRegolaEngine(configUrlInvocazioneRegola, con);
- }
- }
- }
-
- // delete from msg diag appender
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.MSG_DIAGN_APPENDER_PROP);
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.executeUpdate();
- updateStmt.close();
- // delete from msg diag appender
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.MSG_DIAGN_APPENDER);
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.executeUpdate();
- updateStmt.close();
- // insert into msg diag appender
- if(config.getMessaggiDiagnostici()!=null){
- for(int k=0; k<config.getMessaggiDiagnostici().sizeOpenspcoopAppenderList();k++){
- OpenspcoopAppender appender = config.getMessaggiDiagnostici().getOpenspcoopAppender(k);
-
- List<InsertAndGeneratedKeyObject> listInsertAndGeneratedKeyObject = new ArrayList<>();
- listInsertAndGeneratedKeyObject.add( new InsertAndGeneratedKeyObject("tipo", appender.getTipo() , InsertAndGeneratedKeyJDBCType.STRING) );
-
- long idMsgDiagAppender = InsertAndGeneratedKey.insertAndReturnGeneratedKey(con, TipiDatabase.toEnumConstant(DriverConfigurazioneDBLib.tipoDB),
- new CustomKeyGeneratorObject(CostantiDB.MSG_DIAGN_APPENDER, CostantiDB.MSG_DIAGN_APPENDER_COLUMN_ID,
- CostantiDB.MSG_DIAGN_APPENDER_SEQUENCE, CostantiDB.MSG_DIAGN_APPENDER_TABLE_FOR_ID),
- listInsertAndGeneratedKeyObject.toArray(new InsertAndGeneratedKeyObject[1]));
- if(idMsgDiagAppender<=0){
- throw new DriverConfigurazioneException("ID (msg diag appender) autoincrementale non ottenuto");
- }
- for(int l=0; l<appender.sizePropertyList();l++){
- DriverConfigurazioneDBLib.logDebug("INSERT INTO "+CostantiDB.MSG_DIAGN_APPENDER_PROP+" (id_appender,nome,valore) VALUES ("+idMsgDiagAppender+","+appender.getProperty(l).getNome()+","+appender.getProperty(l).getValore()+")");
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addInsertTable(CostantiDB.MSG_DIAGN_APPENDER_PROP);
- sqlQueryObject.addInsertField("id_appender", "?");
- sqlQueryObject.addInsertField("nome", "?");
- sqlQueryObject.addInsertField("valore", "?");
- updateQuery = sqlQueryObject.createSQLInsert();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.setLong(1, idMsgDiagAppender);
- updateStmt.setString(2, appender.getProperty(l).getNome());
- updateStmt.setString(3, appender.getProperty(l).getValore());
- updateStmt.executeUpdate();
- updateStmt.close();
- }
- }
- }
- // delete from tracciamento appender
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.TRACCIAMENTO_APPENDER_PROP);
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.executeUpdate();
- updateStmt.close();
- // delete from tracciamento appender
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.TRACCIAMENTO_APPENDER);
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.executeUpdate();
- updateStmt.close();
- // insert into tracciamento appender
- if(config.getTracciamento()!=null){
- for(int k=0; k<config.getTracciamento().sizeOpenspcoopAppenderList();k++){
- OpenspcoopAppender appender = config.getTracciamento().getOpenspcoopAppender(k);
-
- List<InsertAndGeneratedKeyObject> listInsertAndGeneratedKeyObject = new ArrayList<>();
- listInsertAndGeneratedKeyObject.add( new InsertAndGeneratedKeyObject("tipo", appender.getTipo() , InsertAndGeneratedKeyJDBCType.STRING) );
-
- long idTracceAppender = InsertAndGeneratedKey.insertAndReturnGeneratedKey(con, TipiDatabase.toEnumConstant(DriverConfigurazioneDBLib.tipoDB),
- new CustomKeyGeneratorObject(CostantiDB.TRACCIAMENTO_APPENDER, CostantiDB.TRACCIAMENTO_APPENDER_COLUMN_ID,
- CostantiDB.TRACCIAMENTO_APPENDER_SEQUENCE, CostantiDB.TRACCIAMENTO_APPENDER_TABLE_FOR_ID),
- listInsertAndGeneratedKeyObject.toArray(new InsertAndGeneratedKeyObject[1]));
- if(idTracceAppender<=0){
- throw new DriverConfigurazioneException("ID (tracce appender) autoincrementale non ottenuto");
- }
- for(int l=0; l<appender.sizePropertyList();l++){
- DriverConfigurazioneDBLib.logDebug("INSERT INTO "+CostantiDB.TRACCIAMENTO_APPENDER_PROP+" (id_appender,nome,valore) VALUES ("+idTracceAppender+","+appender.getProperty(l).getNome()+","+appender.getProperty(l).getValore()+")");
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addInsertTable(CostantiDB.TRACCIAMENTO_APPENDER_PROP);
- sqlQueryObject.addInsertField("id_appender", "?");
- sqlQueryObject.addInsertField("nome", "?");
- sqlQueryObject.addInsertField("valore", "?");
- updateQuery = sqlQueryObject.createSQLInsert();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.setLong(1, idTracceAppender);
- updateStmt.setString(2, appender.getProperty(l).getNome());
- updateStmt.setString(3, appender.getProperty(l).getValore());
- updateStmt.executeUpdate();
- updateStmt.close();
- }
- }
- }
-
-
- // tracciamentoConfigurazione
-
- DriverConfigurazioneDBTracciamentoLIB.crudTracciamentoConfigurazione(type, con, tracciamentoConfigurazioneDatabasePA, null,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_PROPRIETARIO_CONFIG_PA,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_TIPO_DB);
- DriverConfigurazioneDBTracciamentoLIB.crudTracciamentoConfigurazione(type, con, tracciamentoConfigurazioneDatabasePD, null,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_PROPRIETARIO_CONFIG_PD,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_TIPO_DB);
-
- DriverConfigurazioneDBTracciamentoLIB.crudTracciamentoConfigurazione(type, con, tracciamentoConfigurazioneFiletracePA, null,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_PROPRIETARIO_CONFIG_PA,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_TIPO_FILETRACE);
- DriverConfigurazioneDBTracciamentoLIB.crudTracciamentoConfigurazione(type, con, tracciamentoConfigurazioneFiletracePD, null,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_PROPRIETARIO_CONFIG_PD,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_TIPO_FILETRACE);
-
- DriverConfigurazioneDBTracciamentoLIB.crudTracciamentoConfigurazioneFiletrace(type, con, tracciamentoConfigurazioneFiletraceDetailsPA, null,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_PROPRIETARIO_CONFIG_PA);
- DriverConfigurazioneDBTracciamentoLIB.crudTracciamentoConfigurazioneFiletrace(type, con, tracciamentoConfigurazioneFiletraceDetailsPD, null,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_PROPRIETARIO_CONFIG_PD);
-
-
- // delete from dump appender_prop
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.DUMP_APPENDER_PROP);
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.executeUpdate();
- updateStmt.close();
- // delete from dump appender
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.DUMP_APPENDER);
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.executeUpdate();
- updateStmt.close();
- // insert into dump appender
- if(config.getDump()!=null){
- for(int k=0; k<config.getDump().sizeOpenspcoopAppenderList();k++){
- OpenspcoopAppender appender = config.getDump().getOpenspcoopAppender(k);
-
- List<InsertAndGeneratedKeyObject> listInsertAndGeneratedKeyObject = new ArrayList<>();
- listInsertAndGeneratedKeyObject.add( new InsertAndGeneratedKeyObject("tipo", appender.getTipo() , InsertAndGeneratedKeyJDBCType.STRING) );
-
- long idDumpAppender = InsertAndGeneratedKey.insertAndReturnGeneratedKey(con, TipiDatabase.toEnumConstant(DriverConfigurazioneDBLib.tipoDB),
- new CustomKeyGeneratorObject(CostantiDB.DUMP_APPENDER, CostantiDB.DUMP_APPENDER_COLUMN_ID,
- CostantiDB.DUMP_APPENDER_SEQUENCE, CostantiDB.DUMP_APPENDER_TABLE_FOR_ID),
- listInsertAndGeneratedKeyObject.toArray(new InsertAndGeneratedKeyObject[1]));
- if(idDumpAppender<=0){
- throw new DriverConfigurazioneException("ID (dump appender) autoincrementale non ottenuto");
- }
- for(int l=0; l<appender.sizePropertyList();l++){
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addInsertTable(CostantiDB.DUMP_APPENDER_PROP);
- sqlQueryObject.addInsertField("id_appender", "?");
- sqlQueryObject.addInsertField("nome", "?");
- sqlQueryObject.addInsertField("valore", "?");
- updateQuery = sqlQueryObject.createSQLInsert();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.setLong(1, idDumpAppender);
- updateStmt.setString(2, appender.getProperty(l).getNome());
- updateStmt.setString(3, appender.getProperty(l).getValore());
- updateStmt.executeUpdate();
- updateStmt.close();
- }
- }
- }
-
- // Cache Regole
-
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.CONFIGURAZIONE_CACHE_REGOLE);
- String sqlQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(sqlQuery);
- n=updateStmt.executeUpdate();
- updateStmt.close();
- DriverConfigurazioneDBLib.logDebug("Cancellati "+n+" regole di cache");
-
- n=0;
- if(responseCacheRegole!=null && !responseCacheRegole.isEmpty()){
- for (int j = 0; j < responseCacheRegole.size(); j++) {
- ResponseCachingConfigurazioneRegola regola = responseCacheRegole.get(j);
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addInsertTable(CostantiDB.CONFIGURAZIONE_CACHE_REGOLE);
- if(regola.getReturnCodeMin()!=null && regola.getReturnCodeMin()>0) {
- sqlQueryObject.addInsertField("status_min", "?");
- }
- if(regola.getReturnCodeMax()!=null && regola.getReturnCodeMax()>0) {
- sqlQueryObject.addInsertField("status_max", "?");
- }
- sqlQueryObject.addInsertField("fault", "?");
- if(regola.getCacheTimeoutSeconds()!=null && regola.getCacheTimeoutSeconds()>0) {
- sqlQueryObject.addInsertField("cache_seconds", "?");
- }
- sqlQuery = sqlQueryObject.createSQLInsert();
- updateStmt = con.prepareStatement(sqlQuery);
- int indexCR = 1;
- if(regola.getReturnCodeMin()!=null && regola.getReturnCodeMin()>0) {
- updateStmt.setInt(indexCR++, regola.getReturnCodeMin());
- }
- if(regola.getReturnCodeMax()!=null && regola.getReturnCodeMax()>0) {
- updateStmt.setInt(indexCR++, regola.getReturnCodeMax());
- }
- updateStmt.setInt(indexCR++, regola.getFault() ? CostantiDB.TRUE : CostantiDB.FALSE);
- if(regola.getCacheTimeoutSeconds()!=null && regola.getCacheTimeoutSeconds()>0) {
- updateStmt.setInt(indexCR++, regola.getCacheTimeoutSeconds());
- }
- updateStmt.executeUpdate();
- updateStmt.close();
- n++;
- DriverConfigurazioneDBLib.logDebug("Aggiunta regola di cache");
- }
- }
-
- DriverConfigurazioneDBLib.logDebug("Aggiunte " + n + " regole di cache");
-
- // dumpConfigurazione
-
- // per backward compatibility elimino una config esistente
- dumpConfigOldBackwardCompatibility = DriverConfigurazioneDB_dumpLIB.readDumpConfigurazione(con, null, CostantiDB.OLD_BACKWARD_COMPATIBILITY_DUMP_CONFIGURAZIONE_PROPRIETARIO_CONFIG);
- if(dumpConfigOldBackwardCompatibility!=null) {
- DriverConfigurazioneDB_dumpLIB.CRUDDumpConfigurazione(DELETE, con, dumpConfigOldBackwardCompatibility, null, CostantiDB.OLD_BACKWARD_COMPATIBILITY_DUMP_CONFIGURAZIONE_PROPRIETARIO_CONFIG);
- }
-
- DriverConfigurazioneDB_dumpLIB.CRUDDumpConfigurazione(type, con, dumpConfigPA, null, CostantiDB.DUMP_CONFIGURAZIONE_PROPRIETARIO_CONFIG_PA);
- DriverConfigurazioneDB_dumpLIB.CRUDDumpConfigurazione(type, con, dumpConfigPD, null, CostantiDB.DUMP_CONFIGURAZIONE_PROPRIETARIO_CONFIG_PD);
-
- // delete from msgdiag ds prop
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.MSG_DIAGN_DS_PROP);
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.executeUpdate();
- updateStmt.close();
- // delete from msgdiag ds
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.MSG_DIAGN_DS);
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.executeUpdate();
- updateStmt.close();
- // insert into msgdiag ds
- if(config.getMessaggiDiagnostici()!=null){
- for(int k=0; k<config.getMessaggiDiagnostici().sizeOpenspcoopSorgenteDatiList();k++){
- OpenspcoopSorgenteDati ds = config.getMessaggiDiagnostici().getOpenspcoopSorgenteDati(k);
-
- List<InsertAndGeneratedKeyObject> listInsertAndGeneratedKeyObject = new ArrayList<>();
- listInsertAndGeneratedKeyObject.add( new InsertAndGeneratedKeyObject("nome", ds.getNome() , InsertAndGeneratedKeyJDBCType.STRING) );
- listInsertAndGeneratedKeyObject.add( new InsertAndGeneratedKeyObject("nome_jndi", ds.getNomeJndi() , InsertAndGeneratedKeyJDBCType.STRING) );
- listInsertAndGeneratedKeyObject.add( new InsertAndGeneratedKeyObject("tipo_database", ds.getTipoDatabase() , InsertAndGeneratedKeyJDBCType.STRING) );
-
- long idMsgDsAppender = InsertAndGeneratedKey.insertAndReturnGeneratedKey(con, TipiDatabase.toEnumConstant(DriverConfigurazioneDBLib.tipoDB),
- new CustomKeyGeneratorObject(CostantiDB.MSG_DIAGN_DS, CostantiDB.MSG_DIAGN_DS_COLUMN_ID,
- CostantiDB.MSG_DIAGN_DS_SEQUENCE, CostantiDB.MSG_DIAGN_DS_TABLE_FOR_ID),
- listInsertAndGeneratedKeyObject.toArray(new InsertAndGeneratedKeyObject[1]));
- if(idMsgDsAppender<=0){
- throw new DriverConfigurazioneException("ID (msgdiag ds appender) autoincrementale non ottenuto");
- }
- for(int l=0; l<ds.sizePropertyList();l++){
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addInsertTable(CostantiDB.MSG_DIAGN_DS_PROP);
- sqlQueryObject.addInsertField("id_prop", "?");
- sqlQueryObject.addInsertField("nome", "?");
- sqlQueryObject.addInsertField("valore", "?");
- updateQuery = sqlQueryObject.createSQLInsert();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.setLong(1, idMsgDsAppender);
- updateStmt.setString(2, ds.getProperty(l).getNome());
- updateStmt.setString(3, ds.getProperty(l).getValore());
- updateStmt.executeUpdate();
- updateStmt.close();
- }
- }
- }
- // delete from tracce ds prop
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.TRACCIAMENTO_DS_PROP);
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.executeUpdate();
- updateStmt.close();
- // delete from tracce ds
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.TRACCIAMENTO_DS);
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.executeUpdate();
- updateStmt.close();
- // insert into tracce ds
- if(config.getTracciamento()!=null){
- for(int k=0; k<config.getTracciamento().sizeOpenspcoopSorgenteDatiList();k++){
- OpenspcoopSorgenteDati ds = config.getTracciamento().getOpenspcoopSorgenteDati(k);
-
- List<InsertAndGeneratedKeyObject> listInsertAndGeneratedKeyObject = new ArrayList<>();
- listInsertAndGeneratedKeyObject.add( new InsertAndGeneratedKeyObject("nome", ds.getNome() , InsertAndGeneratedKeyJDBCType.STRING) );
- listInsertAndGeneratedKeyObject.add( new InsertAndGeneratedKeyObject("nome_jndi", ds.getNomeJndi() , InsertAndGeneratedKeyJDBCType.STRING) );
- listInsertAndGeneratedKeyObject.add( new InsertAndGeneratedKeyObject("tipo_database", ds.getTipoDatabase() , InsertAndGeneratedKeyJDBCType.STRING) );
-
- long idTracceDsAppender = InsertAndGeneratedKey.insertAndReturnGeneratedKey(con, TipiDatabase.toEnumConstant(DriverConfigurazioneDBLib.tipoDB),
- new CustomKeyGeneratorObject(CostantiDB.TRACCIAMENTO_DS, CostantiDB.TRACCIAMENTO_DS_COLUMN_ID,
- CostantiDB.TRACCIAMENTO_DS_SEQUENCE, CostantiDB.TRACCIAMENTO_DS_TABLE_FOR_ID),
- listInsertAndGeneratedKeyObject.toArray(new InsertAndGeneratedKeyObject[1]));
- if(idTracceDsAppender<=0){
- throw new DriverConfigurazioneException("ID (tracciamento ds appender) autoincrementale non ottenuto");
- }
- for(int l=0; l<ds.sizePropertyList();l++){
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addInsertTable(CostantiDB.TRACCIAMENTO_DS_PROP);
- sqlQueryObject.addInsertField("id_prop", "?");
- sqlQueryObject.addInsertField("nome", "?");
- sqlQueryObject.addInsertField("valore", "?");
- updateQuery = sqlQueryObject.createSQLInsert();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.setLong(1, idTracceDsAppender);
- updateStmt.setString(2, ds.getProperty(l).getNome());
- updateStmt.setString(3, ds.getProperty(l).getValore());
- updateStmt.executeUpdate();
- updateStmt.close();
- }
- }
- }
- // Canali
- DriverConfigurazioneDB_canaliLIB.CRUDCanaliConfigurazione(type, con, configurazioneCanali);
-
-
- // Handlers
- DriverConfigurazioneDB_handlerLIB.CRUDConfigurazioneMessageHandlers(type, con, null, null, true, (configHandlers!=null) ? configHandlers.getRequest() : null);
- DriverConfigurazioneDB_handlerLIB.CRUDConfigurazioneMessageHandlers(type, con, null, null, false, (configHandlers!=null) ? configHandlers.getResponse() : null);
- DriverConfigurazioneDB_handlerLIB.CRUDConfigurazioneServiceHandlers(type, con, null, null, false, (configHandlers!=null) ? configHandlers.getService() : null);
-
- // ExtendedInfo
- if(extInfoConfigurazioneDriver!=null &&
- config.sizeExtendedInfoList()>0){
- for(int l=0; l<config.sizeExtendedInfoList();l++){
- extInfoConfigurazioneDriver.deleteExtendedInfo(con, DriverConfigurazioneDBLib.log, config, config.getExtendedInfo(l), CRUDType.UPDATE);
- extInfoConfigurazioneDriver.createExtendedInfo(con, DriverConfigurazioneDBLib.log, config, config.getExtendedInfo(l), CRUDType.UPDATE);
- }
- }
-
- break;
- case DELETE:
-
- if(config.sizeExtendedInfoList()>0){
- for(int l=0; l<config.sizeExtendedInfoList();l++){
- extInfoConfigurazioneDriver.deleteExtendedInfo(con, DriverConfigurazioneDBLib.log, config, config.getExtendedInfo(l), CRUDType.UPDATE);
- extInfoConfigurazioneDriver.createExtendedInfo(con, DriverConfigurazioneDBLib.log, config, config.getExtendedInfo(l), CRUDType.UPDATE);
- }
- }
-
- // Canali
- DriverConfigurazioneDB_canaliLIB.CRUDCanaliConfigurazione(type, con, configurazioneCanali);
-
- // Handlers
- DriverConfigurazioneDB_handlerLIB.CRUDConfigurazioneMessageHandlers(type, con, null, null, true, (configHandlers!=null) ? configHandlers.getRequest() : null);
- DriverConfigurazioneDB_handlerLIB.CRUDConfigurazioneMessageHandlers(type, con, null, null, false, (configHandlers!=null) ? configHandlers.getResponse() : null);
- DriverConfigurazioneDB_handlerLIB.CRUDConfigurazioneServiceHandlers(type, con, null, null, false, (configHandlers!=null) ? configHandlers.getService() : null);
-
- // Tracciamento
- DriverConfigurazioneDBTracciamentoLIB.crudTracciamentoConfigurazione(type, con, tracciamentoConfigurazioneDatabasePA, null,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_PROPRIETARIO_CONFIG_PA,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_TIPO_DB);
- DriverConfigurazioneDBTracciamentoLIB.crudTracciamentoConfigurazione(type, con, tracciamentoConfigurazioneDatabasePD, null,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_PROPRIETARIO_CONFIG_PD,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_TIPO_DB);
-
- DriverConfigurazioneDBTracciamentoLIB.crudTracciamentoConfigurazione(type, con, tracciamentoConfigurazioneFiletracePA, null,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_PROPRIETARIO_CONFIG_PA,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_TIPO_FILETRACE);
- DriverConfigurazioneDBTracciamentoLIB.crudTracciamentoConfigurazione(type, con, tracciamentoConfigurazioneFiletracePD, null,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_PROPRIETARIO_CONFIG_PD,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_TIPO_FILETRACE);
-
- DriverConfigurazioneDBTracciamentoLIB.crudTracciamentoConfigurazioneFiletrace(type, con, tracciamentoConfigurazioneFiletraceDetailsPA, null,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_PROPRIETARIO_CONFIG_PA);
- DriverConfigurazioneDBTracciamentoLIB.crudTracciamentoConfigurazioneFiletrace(type, con, tracciamentoConfigurazioneFiletraceDetailsPD, null,
- CostantiDB.TRACCIAMENTO_CONFIGURAZIONE_PROPRIETARIO_CONFIG_PD);
-
- // Dump
- if(config.getDump()!=null) {
- if(config.getDump().getConfigurazionePortaApplicativa()!=null) {
- DriverConfigurazioneDB_dumpLIB.CRUDDumpConfigurazione(DELETE, con, config.getDump().getConfigurazionePortaApplicativa(), null, CostantiDB.DUMP_CONFIGURAZIONE_PROPRIETARIO_CONFIG_PA);
- }
- if(config.getDump().getConfigurazionePortaDelegata()!=null) {
- DriverConfigurazioneDB_dumpLIB.CRUDDumpConfigurazione(DELETE, con, config.getDump().getConfigurazionePortaApplicativa(), null, CostantiDB.DUMP_CONFIGURAZIONE_PROPRIETARIO_CONFIG_PD);
- }
- }
-
- // Cache
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.CONFIGURAZIONE_CACHE_REGOLE);
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.executeUpdate();
- updateStmt.close();
-
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverConfigurazioneDBLib.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.CONFIGURAZIONE);
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.executeUpdate();
- updateStmt.close();
- break;
- }
- if (type == CostantiDB.CREATE)
- return idConfigurazione;
- else
- return n;
- } catch (SQLException se) {
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDConfigurazioneGenerale] SQLException [" + se.getMessage() + "].",se);
- }catch (Exception se) {
- throw new DriverConfigurazioneException("[DriverConfigurazioneDB_LIB::CRUDConfigurazioneGenerale] Exception [" + se.getMessage() + "].",se);
- } finally {
- JDBCUtilities.closeResources(selectRS, selectStmt);
- JDBCUtilities.closeResources(updateStmt);
- }
- }
-
- }