DriverRegistroServiziDB_utilsDriver.java

  1. /*
  2.  * GovWay - A customizable API Gateway
  3.  * https://govway.org
  4.  *
  5.  * Copyright (c) 2005-2025 Link.it srl (https://link.it).
  6.  *
  7.  * This program is free software: you can redistribute it and/or modify
  8.  * it under the terms of the GNU General Public License version 3, as published by
  9.  * the Free Software Foundation.
  10.  *
  11.  * This program is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.  * GNU General Public License for more details.
  15.  *
  16.  * You should have received a copy of the GNU General Public License
  17.  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  18.  *
  19.  */



  20. package org.openspcoop2.core.registry.driver.db;

  21. import java.sql.Connection;
  22. import java.sql.PreparedStatement;
  23. import java.sql.ResultSet;
  24. import java.sql.SQLException;
  25. import java.sql.Statement;

  26. import org.openspcoop2.core.commons.CoreException;
  27. import org.openspcoop2.core.constants.CostantiDB;
  28. import org.openspcoop2.core.registry.ProprietaOggetto;
  29. import org.openspcoop2.core.registry.beans.ProprietaOggettoSintetico;
  30. import org.openspcoop2.core.registry.driver.DriverRegistroServiziException;
  31. import org.openspcoop2.utils.UtilsMultiException;
  32. import org.openspcoop2.utils.jdbc.JDBCUtilities;
  33. import org.openspcoop2.utils.sql.ISQLQueryObject;
  34. import org.openspcoop2.utils.sql.SQLObjectFactory;

  35. /**
  36.  * DriverRegistroServiziDB_utilsDriver
  37.  *
  38.  *
  39.  * @author Sandra Giangrandi (sandra@link.it)
  40.  * @author Stefano Corallo (corallo@link.it)
  41.  * @author $Author$
  42.  * @version $Rev$, $Date$
  43.  */
  44. public class DriverRegistroServiziDB_utilsDriver {

  45.     private DriverRegistroServiziDB driver = null;
  46.    
  47.     protected DriverRegistroServiziDB_utilsDriver(DriverRegistroServiziDB driver) {
  48.         this.driver = driver;
  49.     }
  50.    
  51.     protected void reset() throws DriverRegistroServiziException {

  52.         Connection con = null;
  53.         boolean error = false;
  54.         PreparedStatement stmt=null;
  55.         String updateString;

  56.         if (this.driver.atomica) {
  57.             try {
  58.                 con = this.driver.getConnectionFromDatasource("reset");
  59.                 con.setAutoCommit(false);
  60.             } catch (Exception e) {
  61.                 throw new DriverRegistroServiziException("[DriverRegistroServiziDB::reset] Exception accedendo al datasource :" + e.getMessage(),e);

  62.             }

  63.         } else
  64.             con = this.driver.globalConnection;

  65.         //this.driver.logDebug("operazione this.driver.atomica = " + this.driver.atomica);

  66.         try {

  67.             //Svuoto il db del registro servizi
  68.            
  69.             ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  70.             sqlQueryObject.addDeleteTable(CostantiDB.SERVIZI_FRUITORI_AZIONE);
  71.             updateString = sqlQueryObject.createSQLDelete();
  72.             stmt = con.prepareStatement(updateString);
  73.             stmt.executeUpdate();
  74.             stmt.close();
  75.            
  76.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  77.             sqlQueryObject.addDeleteTable(CostantiDB.SERVIZI_FRUITORI_AZIONI);
  78.             updateString = sqlQueryObject.createSQLDelete();
  79.             stmt = con.prepareStatement(updateString);
  80.             stmt.executeUpdate();
  81.             stmt.close();
  82.            
  83.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  84.             sqlQueryObject.addDeleteTable(CostantiDB.SERVIZI_FRUITORI);
  85.             updateString = sqlQueryObject.createSQLDelete();
  86.             stmt = con.prepareStatement(updateString);
  87.             stmt.executeUpdate();
  88.             stmt.close();

  89.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  90.             sqlQueryObject.addDeleteTable(CostantiDB.SERVIZI_AZIONE);
  91.             updateString = sqlQueryObject.createSQLDelete();
  92.             stmt = con.prepareStatement(updateString);
  93.             stmt.executeUpdate();
  94.             stmt.close();
  95.            
  96.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  97.             sqlQueryObject.addDeleteTable(CostantiDB.SERVIZI_AZIONI);
  98.             updateString = sqlQueryObject.createSQLDelete();
  99.             stmt = con.prepareStatement(updateString);
  100.             stmt.executeUpdate();
  101.             stmt.close();

  102.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  103.             sqlQueryObject.addDeleteTable(CostantiDB.PORT_TYPE_AZIONI_OPERATION_MESSAGES);
  104.             updateString = sqlQueryObject.createSQLDelete();
  105.             stmt = con.prepareStatement(updateString);
  106.             stmt.executeUpdate();
  107.             stmt.close();

  108.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  109.             sqlQueryObject.addDeleteTable(CostantiDB.PORT_TYPE_AZIONI);
  110.             updateString = sqlQueryObject.createSQLDelete();
  111.             stmt = con.prepareStatement(updateString);
  112.             stmt.executeUpdate();
  113.             stmt.close();

  114.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  115.             sqlQueryObject.addDeleteTable(CostantiDB.PORT_TYPE);
  116.             updateString = sqlQueryObject.createSQLDelete();
  117.             stmt = con.prepareStatement(updateString);
  118.             stmt.executeUpdate();
  119.             stmt.close();

  120.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  121.             sqlQueryObject.addDeleteTable(CostantiDB.ACCORDI_AZIONI);
  122.             updateString = sqlQueryObject.createSQLDelete();
  123.             stmt = con.prepareStatement(updateString);
  124.             stmt.executeUpdate();
  125.             stmt.close();
  126.            
  127.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  128.             sqlQueryObject.addDeleteTable(CostantiDB.API_RESOURCES_PARAMETER);
  129.             updateString = sqlQueryObject.createSQLDelete();
  130.             stmt = con.prepareStatement(updateString);
  131.             stmt.executeUpdate();
  132.             stmt.close();
  133.            
  134.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  135.             sqlQueryObject.addDeleteTable(CostantiDB.API_RESOURCES_MEDIA);
  136.             updateString = sqlQueryObject.createSQLDelete();
  137.             stmt = con.prepareStatement(updateString);
  138.             stmt.executeUpdate();
  139.             stmt.close();
  140.            
  141.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  142.             sqlQueryObject.addDeleteTable(CostantiDB.API_RESOURCES_RESPONSE);
  143.             updateString = sqlQueryObject.createSQLDelete();
  144.             stmt = con.prepareStatement(updateString);
  145.             stmt.executeUpdate();
  146.             stmt.close();
  147.            
  148.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  149.             sqlQueryObject.addDeleteTable(CostantiDB.API_RESOURCES);
  150.             updateString = sqlQueryObject.createSQLDelete();
  151.             stmt = con.prepareStatement(updateString);
  152.             stmt.executeUpdate();
  153.             stmt.close();

  154.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  155.             sqlQueryObject.addDeleteTable(CostantiDB.ACCORDI_COOPERAZIONE_PARTECIPANTI);
  156.             updateString = sqlQueryObject.createSQLDelete();
  157.             stmt = con.prepareStatement(updateString);
  158.             stmt.executeUpdate();
  159.             stmt.close();

  160.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  161.             sqlQueryObject.addDeleteTable(CostantiDB.ACCORDI_SERVIZI_COMPONENTI);
  162.             updateString = sqlQueryObject.createSQLDelete();
  163.             stmt = con.prepareStatement(updateString);
  164.             stmt.executeUpdate();
  165.             stmt.close();

  166.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  167.             sqlQueryObject.addDeleteTable(CostantiDB.ACCORDI_SERVIZI_COMPOSTO);
  168.             updateString = sqlQueryObject.createSQLDelete();
  169.             stmt = con.prepareStatement(updateString);
  170.             stmt.executeUpdate();
  171.             stmt.close();

  172.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  173.             sqlQueryObject.addDeleteTable(CostantiDB.SERVIZI);
  174.             updateString = sqlQueryObject.createSQLDelete();
  175.             stmt = con.prepareStatement(updateString);
  176.             stmt.executeUpdate();
  177.             stmt.close();

  178.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  179.             sqlQueryObject.addDeleteTable(CostantiDB.ACCORDI);
  180.             updateString = sqlQueryObject.createSQLDelete();
  181.             stmt = con.prepareStatement(updateString);
  182.             stmt.executeUpdate();
  183.             stmt.close();

  184.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  185.             sqlQueryObject.addDeleteTable(CostantiDB.ACCORDI_COOPERAZIONE);
  186.             updateString = sqlQueryObject.createSQLDelete();
  187.             stmt = con.prepareStatement(updateString);
  188.             stmt.executeUpdate();
  189.             stmt.close();

  190.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  191.             sqlQueryObject.addDeleteTable(CostantiDB.SOGGETTI_PROPS);
  192.             updateString = sqlQueryObject.createSQLDelete();
  193.             stmt = con.prepareStatement(updateString);
  194.             stmt.executeUpdate();
  195.             stmt.close();
  196.            
  197.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  198.             sqlQueryObject.addDeleteTable(CostantiDB.SOGGETTI_CREDENZIALI);
  199.             updateString = sqlQueryObject.createSQLDelete();
  200.             stmt = con.prepareStatement(updateString);
  201.             stmt.executeUpdate();
  202.             stmt.close();
  203.            
  204.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  205.             sqlQueryObject.addDeleteTable(CostantiDB.SOGGETTI_RUOLI);
  206.             updateString = sqlQueryObject.createSQLDelete();
  207.             stmt = con.prepareStatement(updateString);
  208.             stmt.executeUpdate();
  209.             stmt.close();
  210.            
  211.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  212.             sqlQueryObject.addDeleteTable(CostantiDB.SOGGETTI);
  213.             updateString = sqlQueryObject.createSQLDelete();
  214.             stmt = con.prepareStatement(updateString);
  215.             stmt.executeUpdate();
  216.             stmt.close();

  217.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  218.             sqlQueryObject.addDeleteTable(CostantiDB.CONNETTORI_CUSTOM);
  219.             updateString = sqlQueryObject.createSQLDelete();
  220.             stmt = con.prepareStatement(updateString);
  221.             stmt.executeUpdate();
  222.             stmt.close();

  223.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  224.             sqlQueryObject.addDeleteTable(CostantiDB.CONNETTORI);
  225.             updateString = sqlQueryObject.createSQLDelete();
  226.             stmt = con.prepareStatement(updateString);
  227.             stmt.executeUpdate();
  228.             stmt.close();

  229.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  230.             sqlQueryObject.addDeleteTable(CostantiDB.DOCUMENTI);
  231.             updateString = sqlQueryObject.createSQLDelete();
  232.             stmt = con.prepareStatement(updateString);
  233.             stmt.executeUpdate();
  234.             stmt.close();

  235.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  236.             sqlQueryObject.addDeleteTable(CostantiDB.RUOLI);
  237.             updateString = sqlQueryObject.createSQLDelete();
  238.             stmt = con.prepareStatement(updateString);
  239.             stmt.executeUpdate();
  240.             stmt.close();
  241.            
  242.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  243.             sqlQueryObject.addDeleteTable(CostantiDB.SCOPE);
  244.             updateString = sqlQueryObject.createSQLDelete();
  245.             stmt = con.prepareStatement(updateString);
  246.             stmt.executeUpdate();
  247.             stmt.close();
  248.            
  249.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  250.             sqlQueryObject.addDeleteTable(CostantiDB.PDD);
  251.             updateString = sqlQueryObject.createSQLDelete();
  252.             stmt = con.prepareStatement(updateString);
  253.             stmt.executeUpdate();
  254.             stmt.close();
  255.            
  256.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  257.             sqlQueryObject.addDeleteTable(CostantiDB.PROTOCOL_PROPERTIES);
  258.             updateString = sqlQueryObject.createSQLDelete();
  259.             stmt = con.prepareStatement(updateString);
  260.             stmt.executeUpdate();
  261.             stmt.close();

  262.         } catch (SQLException qe) {
  263.             error = true;
  264.             throw new DriverRegistroServiziException("[DriverRegistroServiziDB::reset] Errore durante il reset : " + qe.getMessage(),qe);
  265.         }catch (Exception qe) {
  266.             error = true;
  267.             throw new DriverRegistroServiziException("[DriverRegistroServiziDB::reset] Errore durante il reset : " + qe.getMessage(),qe);
  268.         } finally {

  269.             //Chiudo statement and resultset
  270.             JDBCUtilities.closeResources(stmt);

  271.             this.driver.closeConnection(error,con);
  272.         }
  273.     }

  274.     protected void resetCtrlstat() throws DriverRegistroServiziException {
  275.         Connection con = null;
  276.         boolean error = false;
  277.         PreparedStatement stmt=null;
  278.         String updateString;

  279.         if (this.driver.atomica) {
  280.             try {
  281.                 con = this.driver.getConnectionFromDatasource("resetCtrlstat");
  282.                 con.setAutoCommit(false);
  283.             } catch (Exception e) {
  284.                 throw new DriverRegistroServiziException("[DriverRegistroServiziDB::resetCtrlstat] Exception accedendo al datasource :" + e.getMessage(),e);

  285.             }

  286.         } else
  287.             con = this.driver.globalConnection;

  288.         //this.driver.logDebug("operazione this.driver.atomica = " + this.driver.atomica);

  289.         try {
  290.             ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  291.             sqlQueryObject.addDeleteTable(CostantiDB.MAPPING_EROGAZIONE_PA);
  292.             updateString = sqlQueryObject.createSQLDelete();
  293.             stmt = con.prepareStatement(updateString);
  294.             stmt.executeUpdate();
  295.             stmt.close();

  296.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  297.             sqlQueryObject.addDeleteTable(CostantiDB.MAPPING_FRUIZIONE_PD);
  298.             updateString = sqlQueryObject.createSQLDelete();
  299.             stmt = con.prepareStatement(updateString);
  300.             stmt.executeUpdate();
  301.             stmt.close();

  302.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  303.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_DELEGATE_ATTRIBUTE_AUTHORITY);
  304.             updateString = sqlQueryObject.createSQLDelete();
  305.             stmt = con.prepareStatement(updateString);
  306.             stmt.executeUpdate();
  307.             stmt.close();

  308.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  309.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_APPLICATIVE_ATTRIBUTE_AUTHORITY);
  310.             updateString = sqlQueryObject.createSQLDelete();
  311.             stmt = con.prepareStatement(updateString);
  312.             stmt.executeUpdate();
  313.             stmt.close();
  314.            
  315.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  316.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_DELEGATE_RUOLI);
  317.             updateString = sqlQueryObject.createSQLDelete();
  318.             stmt = con.prepareStatement(updateString);
  319.             stmt.executeUpdate();
  320.             stmt.close();

  321.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  322.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_APPLICATIVE_RUOLI);
  323.             updateString = sqlQueryObject.createSQLDelete();
  324.             stmt = con.prepareStatement(updateString);
  325.             stmt.executeUpdate();
  326.             stmt.close();
  327.            
  328.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  329.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_DELEGATE_TOKEN_RUOLI);
  330.             updateString = sqlQueryObject.createSQLDelete();
  331.             stmt = con.prepareStatement(updateString);
  332.             stmt.executeUpdate();
  333.             stmt.close();

  334.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  335.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_APPLICATIVE_TOKEN_RUOLI);
  336.             updateString = sqlQueryObject.createSQLDelete();
  337.             stmt = con.prepareStatement(updateString);
  338.             stmt.executeUpdate();
  339.             stmt.close();

  340.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  341.             sqlQueryObject.addDeleteTable(CostantiDB.SERVIZI_APPLICATIVI_CREDENZIALI);
  342.             updateString = sqlQueryObject.createSQLDelete();
  343.             stmt = con.prepareStatement(updateString);
  344.             stmt.executeUpdate();
  345.             stmt.close();
  346.            
  347.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  348.             sqlQueryObject.addDeleteTable(CostantiDB.SERVIZI_APPLICATIVI_PROPS);
  349.             updateString = sqlQueryObject.createSQLDelete();
  350.             stmt = con.prepareStatement(updateString);
  351.             stmt.executeUpdate();
  352.             stmt.close();
  353.            
  354.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  355.             sqlQueryObject.addDeleteTable(CostantiDB.SERVIZI_APPLICATIVI_RUOLI);
  356.             updateString = sqlQueryObject.createSQLDelete();
  357.             stmt = con.prepareStatement(updateString);
  358.             stmt.executeUpdate();
  359.             stmt.close();
  360.            
  361.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  362.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_DELEGATE_TOKEN_SA);
  363.             updateString = sqlQueryObject.createSQLDelete();
  364.             stmt = con.prepareStatement(updateString);
  365.             stmt.executeUpdate();
  366.             stmt.close();
  367.            
  368.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  369.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_DELEGATE_SA);
  370.             updateString = sqlQueryObject.createSQLDelete();
  371.             stmt = con.prepareStatement(updateString);
  372.             stmt.executeUpdate();
  373.             stmt.close();

  374.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  375.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_APPLICATIVE_SA_PROPS);
  376.             updateString = sqlQueryObject.createSQLDelete();
  377.             stmt = con.prepareStatement(updateString);
  378.             stmt.executeUpdate();
  379.             stmt.close();
  380.            
  381.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  382.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_APPLICATIVE_TOKEN_SA);
  383.             updateString = sqlQueryObject.createSQLDelete();
  384.             stmt = con.prepareStatement(updateString);
  385.             stmt.executeUpdate();
  386.             stmt.close();
  387.            
  388.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  389.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_APPLICATIVE_SA);
  390.             updateString = sqlQueryObject.createSQLDelete();
  391.             stmt = con.prepareStatement(updateString);
  392.             stmt.executeUpdate();
  393.             stmt.close();

  394.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  395.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_APPLICATIVE_BEHAVIOUR_PROPS);
  396.             updateString = sqlQueryObject.createSQLDelete();
  397.             stmt = con.prepareStatement(updateString);
  398.             stmt.executeUpdate();
  399.             stmt.close();
  400.            
  401.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  402.             sqlQueryObject.addDeleteTable(CostantiDB.SERVIZI_APPLICATIVI);
  403.             updateString = sqlQueryObject.createSQLDelete();
  404.             stmt = con.prepareStatement(updateString);
  405.             stmt.executeUpdate();
  406.             stmt.close();

  407.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  408.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_APPLICATIVE_RATE_LIMITING_PROP);
  409.             updateString = sqlQueryObject.createSQLDelete();
  410.             stmt = con.prepareStatement(updateString);
  411.             stmt.executeUpdate();
  412.             stmt.close();
  413.            
  414.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  415.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_APPLICATIVE_AUTORIZZAZIONE_CONTENUTI_PROP);
  416.             updateString = sqlQueryObject.createSQLDelete();
  417.             stmt = con.prepareStatement(updateString);
  418.             stmt.executeUpdate();
  419.             stmt.close();
  420.            
  421.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  422.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_APPLICATIVE_AUTORIZZAZIONE_PROP);
  423.             updateString = sqlQueryObject.createSQLDelete();
  424.             stmt = con.prepareStatement(updateString);
  425.             stmt.executeUpdate();
  426.             stmt.close();
  427.            
  428.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  429.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_APPLICATIVE_AUTENTICAZIONE_PROP);
  430.             updateString = sqlQueryObject.createSQLDelete();
  431.             stmt = con.prepareStatement(updateString);
  432.             stmt.executeUpdate();
  433.             stmt.close();
  434.            
  435.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  436.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_APPLICATIVE_PROP);
  437.             updateString = sqlQueryObject.createSQLDelete();
  438.             stmt = con.prepareStatement(updateString);
  439.             stmt.executeUpdate();
  440.             stmt.close();

  441.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  442.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_APPLICATIVE_MESSAGE_SECURITY_REQUEST);
  443.             updateString = sqlQueryObject.createSQLDelete();
  444.             stmt = con.prepareStatement(updateString);
  445.             stmt.executeUpdate();
  446.             stmt.close();

  447.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  448.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_APPLICATIVE_MESSAGE_SECURITY_RESPONSE);
  449.             updateString = sqlQueryObject.createSQLDelete();
  450.             stmt = con.prepareStatement(updateString);
  451.             stmt.executeUpdate();
  452.             stmt.close();

  453.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  454.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_APPLICATIVE_CORRELAZIONE);
  455.             updateString = sqlQueryObject.createSQLDelete();
  456.             stmt = con.prepareStatement(updateString);
  457.             stmt.executeUpdate();
  458.             stmt.close();

  459.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  460.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_APPLICATIVE_CORRELAZIONE_RISPOSTA);
  461.             updateString = sqlQueryObject.createSQLDelete();
  462.             stmt = con.prepareStatement(updateString);
  463.             stmt.executeUpdate();
  464.             stmt.close();

  465.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  466.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_APPLICATIVE_CACHE_REGOLE);
  467.             updateString = sqlQueryObject.createSQLDelete();
  468.             stmt = con.prepareStatement(updateString);
  469.             stmt.executeUpdate();
  470.             stmt.close();

  471.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  472.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_APPLICATIVE_TRASFORMAZIONI_RISPOSTE_HEADER);
  473.             updateString = sqlQueryObject.createSQLDelete();
  474.             stmt = con.prepareStatement(updateString);
  475.             stmt.executeUpdate();
  476.             stmt.close();
  477.            
  478.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  479.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_APPLICATIVE_TRASFORMAZIONI_RISPOSTE);
  480.             updateString = sqlQueryObject.createSQLDelete();
  481.             stmt = con.prepareStatement(updateString);
  482.             stmt.executeUpdate();
  483.             stmt.close();
  484.            
  485.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  486.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_APPLICATIVE_TRASFORMAZIONI_HEADER);
  487.             updateString = sqlQueryObject.createSQLDelete();
  488.             stmt = con.prepareStatement(updateString);
  489.             stmt.executeUpdate();
  490.             stmt.close();
  491.            
  492.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  493.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_APPLICATIVE_TRASFORMAZIONI_URL);
  494.             updateString = sqlQueryObject.createSQLDelete();
  495.             stmt = con.prepareStatement(updateString);
  496.             stmt.executeUpdate();
  497.             stmt.close();
  498.            
  499.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  500.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_APPLICATIVE_TRASFORMAZIONI);
  501.             updateString = sqlQueryObject.createSQLDelete();
  502.             stmt = con.prepareStatement(updateString);
  503.             stmt.executeUpdate();
  504.             stmt.close();
  505.            
  506.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  507.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_APPLICATIVE);
  508.             updateString = sqlQueryObject.createSQLDelete();
  509.             stmt = con.prepareStatement(updateString);
  510.             stmt.executeUpdate();
  511.             stmt.close();

  512.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  513.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_DELEGATE_RATE_LIMITING_PROP);
  514.             updateString = sqlQueryObject.createSQLDelete();
  515.             stmt = con.prepareStatement(updateString);
  516.             stmt.executeUpdate();
  517.             stmt.close();
  518.            
  519.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  520.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_DELEGATE_AUTORIZZAZIONE_CONTENUTI_PROP);
  521.             updateString = sqlQueryObject.createSQLDelete();
  522.             stmt = con.prepareStatement(updateString);
  523.             stmt.executeUpdate();
  524.             stmt.close();
  525.            
  526.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  527.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_DELEGATE_AUTORIZZAZIONE_PROP);
  528.             updateString = sqlQueryObject.createSQLDelete();
  529.             stmt = con.prepareStatement(updateString);
  530.             stmt.executeUpdate();
  531.             stmt.close();
  532.            
  533.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  534.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_DELEGATE_AUTENTICAZIONE_PROP);
  535.             updateString = sqlQueryObject.createSQLDelete();
  536.             stmt = con.prepareStatement(updateString);
  537.             stmt.executeUpdate();
  538.             stmt.close();
  539.            
  540.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  541.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_DELEGATE_AUTENTICAZIONE_PROP);
  542.             updateString = sqlQueryObject.createSQLDelete();
  543.             stmt = con.prepareStatement(updateString);
  544.             stmt.executeUpdate();
  545.             stmt.close();
  546.            
  547.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  548.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_DELEGATE_PROP);
  549.             updateString = sqlQueryObject.createSQLDelete();
  550.             stmt = con.prepareStatement(updateString);
  551.             stmt.executeUpdate();
  552.             stmt.close();
  553.            
  554.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  555.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_DELEGATE_MESSAGE_SECURITY_REQUEST);
  556.             updateString = sqlQueryObject.createSQLDelete();
  557.             stmt = con.prepareStatement(updateString);
  558.             stmt.executeUpdate();
  559.             stmt.close();

  560.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  561.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_DELEGATE_MESSAGE_SECURITY_RESPONSE);
  562.             updateString = sqlQueryObject.createSQLDelete();
  563.             stmt = con.prepareStatement(updateString);
  564.             stmt.executeUpdate();
  565.             stmt.close();

  566.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  567.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_DELEGATE_CORRELAZIONE);
  568.             updateString = sqlQueryObject.createSQLDelete();
  569.             stmt = con.prepareStatement(updateString);
  570.             stmt.executeUpdate();
  571.             stmt.close();

  572.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  573.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_DELEGATE_CORRELAZIONE_RISPOSTA);
  574.             updateString = sqlQueryObject.createSQLDelete();
  575.             stmt = con.prepareStatement(updateString);
  576.             stmt.executeUpdate();
  577.             stmt.close();

  578.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  579.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_DELEGATE_CACHE_REGOLE);
  580.             updateString = sqlQueryObject.createSQLDelete();
  581.             stmt = con.prepareStatement(updateString);
  582.             stmt.executeUpdate();
  583.             stmt.close();

  584.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  585.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_DELEGATE_TRASFORMAZIONI_RISPOSTE_HEADER);
  586.             updateString = sqlQueryObject.createSQLDelete();
  587.             stmt = con.prepareStatement(updateString);
  588.             stmt.executeUpdate();
  589.             stmt.close();
  590.            
  591.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  592.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_DELEGATE_TRASFORMAZIONI_RISPOSTE);
  593.             updateString = sqlQueryObject.createSQLDelete();
  594.             stmt = con.prepareStatement(updateString);
  595.             stmt.executeUpdate();
  596.             stmt.close();
  597.            
  598.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  599.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_DELEGATE_TRASFORMAZIONI_HEADER);
  600.             updateString = sqlQueryObject.createSQLDelete();
  601.             stmt = con.prepareStatement(updateString);
  602.             stmt.executeUpdate();
  603.             stmt.close();
  604.            
  605.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  606.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_DELEGATE_TRASFORMAZIONI_URL);
  607.             updateString = sqlQueryObject.createSQLDelete();
  608.             stmt = con.prepareStatement(updateString);
  609.             stmt.executeUpdate();
  610.             stmt.close();
  611.            
  612.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  613.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_DELEGATE_TRASFORMAZIONI);
  614.             updateString = sqlQueryObject.createSQLDelete();
  615.             stmt = con.prepareStatement(updateString);
  616.             stmt.executeUpdate();
  617.             stmt.close();
  618.            
  619.             sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  620.             sqlQueryObject.addDeleteTable(CostantiDB.PORTE_DELEGATE);
  621.             updateString = sqlQueryObject.createSQLDelete();
  622.             stmt = con.prepareStatement(updateString);
  623.             stmt.executeUpdate();
  624.             stmt.close();
  625.            
  626.         } catch (SQLException qe) {
  627.             error = true;
  628.             throw new DriverRegistroServiziException("[DriverRegistroServiziDB::resetCtrlstat] Errore durante la reset : " + qe.getMessage(),qe);
  629.         }catch (Exception qe) {
  630.             error = true;
  631.             throw new DriverRegistroServiziException("[DriverRegistroServiziDB::resetCtrlstat] Errore durante la reset : " + qe.getMessage(),qe);
  632.         }finally {

  633.             //Chiudo statement and resultset
  634.             JDBCUtilities.closeResources(stmt);

  635.             this.driver.closeConnection(error,con);
  636.         }
  637.     }
  638.    
  639.     protected void isAlive() throws CoreException{

  640.         if(this.driver.create==false)
  641.             throw new CoreException("Driver non inizializzato");

  642.         if(this.driver.atomica){
  643.             // Verifico la connessione
  644.             Connection con = null;
  645.             Statement stmtTest = null;
  646.             try {
  647.                 con = this.driver.getConnectionFromDatasource("isAlive");
  648.                 if(con == null)
  649.                     throw new Exception("Connessione is null");
  650.                 // test:
  651.                 try {
  652.                     stmtTest = con.createStatement();
  653.                     ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  654.                     sqlQueryObject.addFromTable(CostantiDB.DB_INFO_CONSOLE);
  655.                     sqlQueryObject.addSelectField("*");
  656.                     String sqlQuery = sqlQueryObject.createSQLQuery();
  657.                     stmtTest.execute(sqlQuery);
  658.                 }catch(Throwable t) {
  659.                     JDBCUtilities.closeResources(stmtTest);
  660.                     try {
  661.                         stmtTest = con.createStatement();
  662.                         ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  663.                         sqlQueryObject.addFromTable(CostantiDB.DB_INFO);
  664.                         sqlQueryObject.addSelectField("*");
  665.                         String sqlQuery = sqlQueryObject.createSQLQuery();
  666.                         stmtTest.execute(sqlQuery);
  667.                     }catch(Throwable tInternal) {
  668.                         throw new UtilsMultiException(t,tInternal);
  669.                     }
  670.                 }
  671.             } catch (Exception e) {
  672.                 throw new CoreException("Connessione al registro non disponibile: "+e.getMessage(),e);

  673.             }finally{
  674.                 JDBCUtilities.closeResources(stmtTest);
  675.                 try{
  676.                     JDBCUtilities.closeConnection(DriverRegistroServiziDB.getCheckLogger(), con, DriverRegistroServiziDB.isCheckAutocommit(), DriverRegistroServiziDB.isCheckIsClosed());
  677.                 }catch(Exception e){
  678.                     // close
  679.                 }
  680.             }
  681.         }else{
  682.             Statement stmtTest = null;
  683.             try {
  684.                 if(this.driver.globalConnection == null)
  685.                     throw new Exception("Connessione is null");
  686.                 // test:
  687.                 try {
  688.                     stmtTest = this.driver.globalConnection.createStatement();
  689.                     ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  690.                     sqlQueryObject.addFromTable(CostantiDB.DB_INFO_CONSOLE);
  691.                     sqlQueryObject.addSelectField("*");
  692.                     String sqlQuery = sqlQueryObject.createSQLQuery();
  693.                     stmtTest.execute(sqlQuery);
  694.                 }catch(Throwable t) {
  695.                     JDBCUtilities.closeResources(stmtTest);
  696.                     try {
  697.                         stmtTest = this.driver.globalConnection.createStatement();
  698.                         ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
  699.                         sqlQueryObject.addFromTable(CostantiDB.DB_INFO);
  700.                         sqlQueryObject.addSelectField("*");
  701.                         String sqlQuery = sqlQueryObject.createSQLQuery();
  702.                         stmtTest.execute(sqlQuery);
  703.                     }catch(Throwable tInternal) {
  704.                         throw new UtilsMultiException(t,tInternal);
  705.                     }
  706.                 }
  707.             } catch (Exception e) {
  708.                 throw new CoreException("Connessione al registro non disponibile: "+e.getMessage(),e);

  709.             }finally{
  710.                 JDBCUtilities.closeResources(stmtTest);
  711.             }
  712.         }
  713.     }
  714.    
  715.     public static ProprietaOggetto readProprietaOggetto(ResultSet rs, boolean useAlias) throws SQLException {
  716.         ProprietaOggetto p = null;
  717.         // Proprieta Oggetto
  718.         if(rs!=null) {
  719.             String utenteRichiedente = rs.getString(useAlias ? CostantiDB.PROPRIETA_OGGETTO_ALIAS_UTENTE_RICHIEDENTE : CostantiDB.PROPRIETA_OGGETTO_UTENTE_RICHIEDENTE);
  720.             java.util.Date dataCreazione  = rs.getTimestamp(useAlias ? CostantiDB.PROPRIETA_OGGETTO_ALIAS_DATA_CREAZIONE : CostantiDB.PROPRIETA_OGGETTO_DATA_CREAZIONE);
  721.             String utenteUltimaModifica = rs.getString(useAlias ? CostantiDB.PROPRIETA_OGGETTO_ALIAS_UTENTE_ULTIMA_MODIFICA : CostantiDB.PROPRIETA_OGGETTO_UTENTE_ULTIMA_MODIFICA);
  722.             java.util.Date dataUltimaModifica  = rs.getTimestamp(useAlias ? CostantiDB.PROPRIETA_OGGETTO_ALIAS_DATA_ULTIMA_MODIFICA : CostantiDB.PROPRIETA_OGGETTO_DATA_ULTIMA_MODIFICA);
  723.             if(utenteRichiedente!=null || dataCreazione!=null || utenteUltimaModifica!=null || dataUltimaModifica!=null) {
  724.                 p = new ProprietaOggetto();
  725.                 p.setUtenteRichiedente(utenteRichiedente);
  726.                 p.setDataCreazione(dataCreazione);
  727.                 p.setUtenteUltimaModifica(utenteUltimaModifica);
  728.                 p.setDataUltimaModifica(dataUltimaModifica);
  729.             }
  730.         }
  731.         return p;
  732.     }
  733.    
  734.     public static ProprietaOggettoSintetico readProprietaOggettoSintetico(ResultSet rs, boolean useAlias) throws SQLException {
  735.         ProprietaOggettoSintetico p = null;
  736.         // Proprieta Oggetto
  737.         if(rs!=null) {
  738.             String utenteRichiedente = rs.getString(useAlias ? CostantiDB.PROPRIETA_OGGETTO_ALIAS_UTENTE_RICHIEDENTE : CostantiDB.PROPRIETA_OGGETTO_UTENTE_RICHIEDENTE);
  739.             java.util.Date dataCreazione  = rs.getTimestamp(useAlias ? CostantiDB.PROPRIETA_OGGETTO_ALIAS_DATA_CREAZIONE : CostantiDB.PROPRIETA_OGGETTO_DATA_CREAZIONE);
  740.             String utenteUltimaModifica = rs.getString(useAlias ? CostantiDB.PROPRIETA_OGGETTO_ALIAS_UTENTE_ULTIMA_MODIFICA : CostantiDB.PROPRIETA_OGGETTO_UTENTE_ULTIMA_MODIFICA);
  741.             java.util.Date dataUltimaModifica  = rs.getTimestamp(useAlias ? CostantiDB.PROPRIETA_OGGETTO_ALIAS_DATA_ULTIMA_MODIFICA : CostantiDB.PROPRIETA_OGGETTO_DATA_ULTIMA_MODIFICA);
  742.             if(utenteRichiedente!=null || dataCreazione!=null || utenteUltimaModifica!=null || dataUltimaModifica!=null) {
  743.                 p = new ProprietaOggettoSintetico();
  744.                 p.setUtenteRichiedente(utenteRichiedente);
  745.                 p.setDataCreazione(dataCreazione);
  746.                 p.setUtenteUltimaModifica(utenteUltimaModifica);
  747.                 p.setDataUltimaModifica(dataUltimaModifica);
  748.             }
  749.         }
  750.         return p;
  751.     }
  752. }