DriverRegistroServiziDB_accordiExistsDriver.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.registry.driver.db;
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import org.openspcoop2.core.commons.DBUtils;
- import org.openspcoop2.core.constants.CostantiDB;
- import org.openspcoop2.core.id.IDAccordo;
- import org.openspcoop2.core.id.IDPortType;
- import org.openspcoop2.core.registry.constants.ParameterType;
- import org.openspcoop2.core.registry.driver.DriverRegistroServiziException;
- import org.openspcoop2.utils.jdbc.JDBCUtilities;
- import org.openspcoop2.utils.sql.ISQLQueryObject;
- import org.openspcoop2.utils.sql.SQLObjectFactory;
- /**
- * DriverRegistroServiziDB_accordiExistsDriver
- *
- *
- * @author Sandra Giangrandi (sandra@link.it)
- * @author Stefano Corallo (corallo@link.it)
- * @author $Author$
- * @version $Rev$, $Date$
- */
- public class DriverRegistroServiziDB_accordiExistsDriver {
- private DriverRegistroServiziDB driver = null;
-
- protected DriverRegistroServiziDB_accordiExistsDriver(DriverRegistroServiziDB driver) {
- this.driver = driver;
- }
-
- protected boolean existsAccordoServizioParteComune(IDAccordo idAccordo) throws DriverRegistroServiziException {
- Connection connection;
- if (this.driver.atomica) {
- try {
- connection = this.driver.getConnectionFromDatasource("existsAccordoServizioParteComune(idAccordo)");
- } catch (Exception e) {
- throw new DriverRegistroServiziException("DriverRegistroServiziDB::existsAccordoServizioParteComune] Exception accedendo al datasource :" + e.getMessage(),e);
- }
- } else
- connection = this.driver.globalConnection;
- this.driver.logDebug("operazione atomica = " + this.driver.atomica);
- try {
- // Check soggetto referente se esiste.
- if(idAccordo.getSoggettoReferente()!=null){
- if(this.driver.existsSoggetto(connection, idAccordo.getSoggettoReferente())==false){
- return false;
- }
- }
- long idAccordoLong = DBUtils.getIdAccordoServizioParteComune(idAccordo, connection, this.driver.tipoDB);
- if (idAccordoLong <= 0)
- return false;
- else
- return true;
- } catch (Exception e) {
- throw new DriverRegistroServiziException(e.getMessage(),e);
- } finally {
- this.driver.closeConnection(connection);
- }
- }
- /**
- * Verifica l'esistenza di un accordo registrato.
- *
- * @param idAccordo
- * dell'accordo da verificare
- * @return true se l'accordo esiste, false altrimenti
- */
- protected boolean existsAccordoServizioParteComune(long idAccordo) throws DriverRegistroServiziException {
- Connection connection = null;
- this.driver.logDebug("operazione atomica = " + this.driver.atomica);
- PreparedStatement stm=null;
- ResultSet rs=null;
- try {
- if (this.driver.atomica) {
- try {
- connection = this.driver.getConnectionFromDatasource("existsAccordoServizioParteComune(longId)");
- } catch (Exception e) {
- throw new DriverRegistroServiziException("DriverRegistroServiziDB::existsAccordoServizioParteComune] Exception accedendo al datasource :" + e.getMessage(),e);
- }
- } else
- connection = this.driver.globalConnection;
-
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
- sqlQueryObject.addFromTable(CostantiDB.ACCORDI);
- sqlQueryObject.addSelectField("*");
- sqlQueryObject.addWhereCondition("id = ?");
- String sqlQuery = sqlQueryObject.createSQLQuery();
- stm=connection.prepareStatement(sqlQuery);
- stm.setLong(1, idAccordo);
- rs=stm.executeQuery();
- if (rs.next())
- return true;
- else
- return false;
- } catch (Exception e) {
- throw new DriverRegistroServiziException(e.getMessage(),e);
- } finally {
- JDBCUtilities.closeResources(rs, stm);
- this.driver.closeConnection(connection);
- }
- }
- /**
- * Verifica l'esistenza di un'azione in un accordo
- *
- * @param nome
- * dell'azione da verificare
- * @param idAccordo Identificativo dell'accordi di servizio
- *
- * @return true se l'azione esiste, false altrimenti
- */
- protected boolean existsAccordoServizioParteComuneAzione(String nome, IDAccordo idAccordo) throws DriverRegistroServiziException {
- Connection connection;
- if (this.driver.atomica) {
- try {
- connection = this.driver.getConnectionFromDatasource("existsAccordoServizioParteComuneAzione(nome,idAccordo)");
- } catch (Exception e) {
- throw new DriverRegistroServiziException("DriverRegistroServiziDB::existsAccordoServizioParteComuneAzione] Exception accedendo al datasource :" + e.getMessage(),e);
- }
- } else
- connection = this.driver.globalConnection;
- try {
- return existsAccordoServizioParteComuneAzione(nome, DBUtils.getIdAccordoServizioParteComune(idAccordo, connection, this.driver.tipoDB));
- }catch (Exception e) {
- throw new DriverRegistroServiziException(e.getMessage(),e);
- } finally {
- this.driver.closeConnection(connection);
- }
- }
- /**
- * Verifica l'esistenza di un'azione in un accordo
- *
- * @param nome
- * dell'azione da verificare
- * @param idAccordo
- * dell'accordo
- * @return true se l'azione esiste, false altrimenti
- */
- protected boolean existsAccordoServizioParteComuneAzione(String nome, long idAccordo) throws DriverRegistroServiziException {
- boolean exist = false;
- Connection connection;
- PreparedStatement stm = null;
- ResultSet rs = null;
- if (this.driver.atomica) {
- try {
- connection = this.driver.getConnectionFromDatasource("existsAccordoServizioParteComuneAzione(nome,longId)");
- } catch (Exception e) {
- throw new DriverRegistroServiziException("DriverRegistroServiziDB::existsAccordoServizioParteComuneAzione] Exception accedendo al datasource :" + e.getMessage(),e);
- }
- } else
- connection = this.driver.globalConnection;
- this.driver.logDebug("operazione atomica = " + this.driver.atomica);
- try {
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
- sqlQueryObject.addFromTable(CostantiDB.ACCORDI_AZIONI);
- sqlQueryObject.addSelectField("*");
- sqlQueryObject.addWhereCondition("id_accordo = ?");
- sqlQueryObject.addWhereCondition("nome = ?");
- sqlQueryObject.setANDLogicOperator(true);
- String sqlQuery = sqlQueryObject.createSQLQuery();
- stm = connection.prepareStatement(sqlQuery);
- stm.setLong(1, idAccordo);
- stm.setString(2, nome);
- rs = stm.executeQuery();
- if (rs.next())
- exist = true;
- rs.close();
- stm.close();
- } catch (Exception e) {
- exist = false;
- throw new DriverRegistroServiziException(e.getMessage(),e);
- } finally {
- //Chiudo statement and resultset
- JDBCUtilities.closeResources(rs, stm);
- this.driver.closeConnection(connection);
- }
- return exist;
- }
- /**
- * Verifica l'esistenza di un'azione in un accordo
- *
- * @param idAzione dell'azione
- * @return true se l'azione esiste, false altrimenti
- */
- protected boolean existsAccordoServizioParteComuneAzione(long idAzione) throws DriverRegistroServiziException {
- boolean exist = false;
- Connection connection;
- PreparedStatement stm = null;
- ResultSet rs = null;
- if (this.driver.atomica) {
- try {
- connection = this.driver.getConnectionFromDatasource("existsAccordoServizioParteComuneAzione(longId)");
- } catch (Exception e) {
- throw new DriverRegistroServiziException("DriverRegistroServiziDB::existsAccordoServizioParteComuneAzione] Exception accedendo al datasource :" + e.getMessage(),e);
- }
- } else
- connection = this.driver.globalConnection;
- this.driver.logDebug("operazione atomica = " + this.driver.atomica);
- try {
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
- sqlQueryObject.addFromTable(CostantiDB.ACCORDI_AZIONI);
- sqlQueryObject.addSelectField("*");
- sqlQueryObject.addWhereCondition("id = ?");
- String sqlQuery = sqlQueryObject.createSQLQuery();
- stm = connection.prepareStatement(sqlQuery);
- stm.setLong(1, idAzione);
- rs = stm.executeQuery();
- if (rs.next())
- exist = true;
- rs.close();
- stm.close();
- } catch (Exception e) {
- exist = false;
- throw new DriverRegistroServiziException(e.getMessage(),e);
- } finally {
- //Chiudo statement and resultset
- JDBCUtilities.closeResources(rs, stm);
- this.driver.closeConnection(connection);
- }
- return exist;
- }
- protected boolean existsAccordoServizioParteComunePorttype(String nome, IDAccordo idAccordo) throws DriverRegistroServiziException {
- Connection connection;
- if (this.driver.atomica) {
- try {
- connection = this.driver.getConnectionFromDatasource("existsAccordoServizioParteComunePorttype(nome,idAccordo)");
- } catch (Exception e) {
- throw new DriverRegistroServiziException("DriverRegistroServiziDB::existsAccordoServizioParteComunePorttype] Exception accedendo al datasource :" + e.getMessage(),e);
- }
- } else
- connection = this.driver.globalConnection;
- try {
- return existsAccordoServizioParteComunePorttype(nome, DBUtils.getIdAccordoServizioParteComune(idAccordo, connection, this.driver.tipoDB));
- }catch (Exception e) {
- throw new DriverRegistroServiziException(e.getMessage(),e);
- } finally {
- this.driver.closeConnection(connection);
- }
- }
- /**
- * Verifica l'esistenza di un'operation in un accordo
- *
- * @param idAzione dell'azione
- * @return true se l'azione esiste, false altrimenti
- */
- protected boolean existsAccordoServizioParteComuneOperation(long idAzione) throws DriverRegistroServiziException {
- boolean exist = false;
- Connection connection;
- PreparedStatement stm = null;
- ResultSet rs = null;
- if (this.driver.atomica) {
- try {
- connection = this.driver.getConnectionFromDatasource("existsAccordoServizioParteComuneOperation(longId)");
- } catch (Exception e) {
- throw new DriverRegistroServiziException("DriverRegistroServiziDB::existsAccordoServizioParteComuneOperation] Exception accedendo al datasource :" + e.getMessage(),e);
- }
- } else
- connection = this.driver.globalConnection;
- this.driver.logDebug("operazione atomica = " + this.driver.atomica);
- try {
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
- sqlQueryObject.addFromTable(CostantiDB.PORT_TYPE_AZIONI);
- sqlQueryObject.addSelectField("*");
- sqlQueryObject.addWhereCondition("id = ?");
- String sqlQuery = sqlQueryObject.createSQLQuery();
- stm = connection.prepareStatement(sqlQuery);
- stm.setLong(1, idAzione);
- rs = stm.executeQuery();
- if (rs.next())
- exist = true;
- rs.close();
- stm.close();
- } catch (Exception e) {
- exist = false;
- throw new DriverRegistroServiziException(e.getMessage(),e);
- } finally {
- //Chiudo statement and resultset
- JDBCUtilities.closeResources(rs, stm);
- this.driver.closeConnection(connection);
- }
- return exist;
- }
- /**
- * Verifica l'esistenza di un port-type in un accordo
- *
- * @param nome
- * del port-type da verificare
- * @param idAccordo
- * dell'accordo
- * @return true se il port-type esiste, false altrimenti
- */
- protected boolean existsAccordoServizioParteComunePorttype(String nome, long idAccordo) throws DriverRegistroServiziException {
- boolean exist = false;
- Connection connection;
- PreparedStatement stm = null;
- ResultSet rs = null;
- if (this.driver.atomica) {
- try {
- connection = this.driver.getConnectionFromDatasource("existsAccordoServizioParteComunePorttype(nome,longId)");
- } catch (Exception e) {
- throw new DriverRegistroServiziException("DriverRegistroServiziDB::existsAccordoServizioParteComunePorttype] Exception accedendo al datasource :" + e.getMessage(),e);
- }
- } else
- connection = this.driver.globalConnection;
- this.driver.logDebug("operazione atomica = " + this.driver.atomica);
- try {
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
- sqlQueryObject.addFromTable(CostantiDB.PORT_TYPE);
- sqlQueryObject.addSelectField("*");
- sqlQueryObject.addWhereCondition("id_accordo = ?");
- sqlQueryObject.addWhereCondition("nome = ?");
- sqlQueryObject.setANDLogicOperator(true);
- String sqlQuery = sqlQueryObject.createSQLQuery();
- stm = connection.prepareStatement(sqlQuery);
- stm.setLong(1, idAccordo);
- stm.setString(2, nome);
- rs = stm.executeQuery();
- if (rs.next())
- exist = true;
- rs.close();
- stm.close();
- } catch (Exception e) {
- exist = false;
- throw new DriverRegistroServiziException(e.getMessage(),e);
- } finally {
- //Chiudo statement and resultset
- JDBCUtilities.closeResources(rs, stm);
- this.driver.closeConnection(connection);
- }
- return exist;
- }
- /**
- *
- * @param nome Nome dell'operation
- * @param idPortType L'identificativo del PortType
- * @return true se esiste, false altrimenti.
- * @throws DriverRegistroServiziException
- */
- protected boolean existsAccordoServizioParteComunePorttypeOperation(String nome, IDPortType idPortType) throws DriverRegistroServiziException {
- Connection connection;
- if (this.driver.atomica) {
- try {
- connection = this.driver.getConnectionFromDatasource("existsAccordoServizioParteComunePorttypeOperation(nome,idPortType)");
- } catch (Exception e) {
- throw new DriverRegistroServiziException("DriverRegistroServiziDB::existsAccordoServizioParteComunePorttypeOperation] Exception accedendo al datasource :" + e.getMessage(),e);
- }
- } else
- connection = this.driver.globalConnection;
- try {
- long idAccordo = DBUtils.getIdAccordoServizioParteComune(idPortType.getIdAccordo(), connection, this.driver.tipoDB);
- return existsAccordoServizioParteComunePorttypeOperation(nome, DBUtils.getIdPortType(idAccordo,idPortType.getNome(), connection));
- }catch (Exception e) {
- throw new DriverRegistroServiziException(e.getMessage(),e);
- } finally {
- this.driver.closeConnection(connection);
- }
- }
- /**
- * Verifica l'esistenza di un operation in un port-type
- *
- * @param nome
- * dell'operation da verificare
- * @param idPortType
- * del port-type
- * @return true se l'operation esiste, false altrimenti
- */
- protected boolean existsAccordoServizioParteComunePorttypeOperation(String nome, long idPortType) throws DriverRegistroServiziException {
- boolean exist = false;
- Connection connection;
- PreparedStatement stm = null;
- ResultSet rs = null;
- if (this.driver.atomica) {
- try {
- connection = this.driver.getConnectionFromDatasource("existsAccordoServizioParteComunePorttypeOperation(nome,longId)");
- } catch (Exception e) {
- throw new DriverRegistroServiziException("DriverRegistroServiziDB::existsAccordoServizioParteComunePorttypeOperation] Exception accedendo al datasource :" + e.getMessage(),e);
- }
- } else
- connection = this.driver.globalConnection;
- this.driver.logDebug("operazione atomica = " + this.driver.atomica);
- try {
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
- sqlQueryObject.addFromTable(CostantiDB.PORT_TYPE_AZIONI);
- sqlQueryObject.addSelectField("*");
- sqlQueryObject.addWhereCondition("id_port_type = ?");
- sqlQueryObject.addWhereCondition("nome = ?");
- sqlQueryObject.setANDLogicOperator(true);
- String sqlQuery = sqlQueryObject.createSQLQuery();
- stm = connection.prepareStatement(sqlQuery);
- stm.setLong(1, idPortType);
- stm.setString(2, nome);
- rs = stm.executeQuery();
- if (rs.next())
- exist = true;
- rs.close();
- stm.close();
- } catch (Exception e) {
- exist = false;
- throw new DriverRegistroServiziException(e.getMessage(),e);
- } finally {
- //Chiudo statement and resultset
- JDBCUtilities.closeResources(rs, stm);
- this.driver.closeConnection(connection);
- }
- return exist;
- }
-
-
- /**
- * Verifica l'esistenza di un risorsa con determinato nome in un accordo
- *
- * @param nome
- * del port-type da verificare
- * @param idAccordo
- * dell'accordo
- * @return true se il port-type esiste, false altrimenti
- */
- protected boolean existsAccordoServizioParteComuneResource(String nome, long idAccordo) throws DriverRegistroServiziException {
- boolean exist = false;
- Connection connection;
- PreparedStatement stm = null;
- ResultSet rs = null;
- if (this.driver.atomica) {
- try {
- connection = this.driver.getConnectionFromDatasource("existsAccordoServizioParteComuneResource(nome,idAccordo)");
- } catch (Exception e) {
- throw new DriverRegistroServiziException("DriverRegistroServiziDB::existsAccordoServizioParteComuneResource] Exception accedendo al datasource :" + e.getMessage(),e);
- }
- } else
- connection = this.driver.globalConnection;
- this.driver.logDebug("operazione atomica = " + this.driver.atomica);
- try {
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
- sqlQueryObject.addFromTable(CostantiDB.API_RESOURCES);
- sqlQueryObject.addSelectField("*");
- sqlQueryObject.addWhereCondition("id_accordo = ?");
- sqlQueryObject.addWhereCondition("nome = ?");
- sqlQueryObject.setANDLogicOperator(true);
- String sqlQuery = sqlQueryObject.createSQLQuery();
- stm = connection.prepareStatement(sqlQuery);
- stm.setLong(1, idAccordo);
- stm.setString(2, nome);
- rs = stm.executeQuery();
- if (rs.next())
- exist = true;
- rs.close();
- stm.close();
- } catch (Exception e) {
- exist = false;
- throw new DriverRegistroServiziException(e.getMessage(),e);
- } finally {
- //Chiudo statement and resultset
- JDBCUtilities.closeResources(rs, stm);
- this.driver.closeConnection(connection);
- }
- return exist;
- }
-
- protected boolean existsAccordoServizioParteComuneResource(String httpMethod, String path, long idAccordo, String excludeResourceWithName) throws DriverRegistroServiziException {
- boolean exist = false;
- Connection connection;
- PreparedStatement stm = null;
- ResultSet rs = null;
- if (this.driver.atomica) {
- try {
- connection = this.driver.getConnectionFromDatasource("existsAccordoServizioParteComuneResource(httpMethod,path,idAccordo)");
- } catch (Exception e) {
- throw new DriverRegistroServiziException("DriverRegistroServiziDB::existsAccordoServizioParteComuneResource] Exception accedendo al datasource :" + e.getMessage(),e);
- }
- } else
- connection = this.driver.globalConnection;
- this.driver.logDebug("operazione atomica = " + this.driver.atomica);
- try {
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
- sqlQueryObject.addFromTable(CostantiDB.API_RESOURCES);
- sqlQueryObject.addSelectField("*");
- sqlQueryObject.addWhereCondition("id_accordo = ?");
- sqlQueryObject.addWhereCondition("http_method = ?");
- sqlQueryObject.addWhereCondition("path = ?");
- if(excludeResourceWithName!=null && !"".equals(excludeResourceWithName)) {
- sqlQueryObject.addWhereCondition("nome <> ?");
- }
- sqlQueryObject.setANDLogicOperator(true);
- String sqlQuery = sqlQueryObject.createSQLQuery();
- stm = connection.prepareStatement(sqlQuery);
- stm.setLong(1, idAccordo);
- if(httpMethod==null || "".equals(httpMethod)) {
- stm.setString(2, CostantiDB.API_RESOURCE_HTTP_METHOD_ALL_VALUE);
- }
- else {
- stm.setString(2, httpMethod);
- }
- if(path==null || "".equals(path)) {
- stm.setString(3, CostantiDB.API_RESOURCE_PATH_ALL_VALUE);
- }
- else {
- stm.setString(3, path);
- }
- if(excludeResourceWithName!=null && !"".equals(excludeResourceWithName)) {
- stm.setString(4, excludeResourceWithName);
- }
- rs = stm.executeQuery();
- if (rs.next())
- exist = true;
- rs.close();
- stm.close();
- } catch (Exception e) {
- exist = false;
- throw new DriverRegistroServiziException(e.getMessage(),e);
- } finally {
- //Chiudo statement and resultset
- JDBCUtilities.closeResources(rs, stm);
- this.driver.closeConnection(connection);
- }
- return exist;
- }
-
- /**
- * Verifica l'esistenza di un response con Status in una Resource
- *
- * @param httpStatus
- * della response da verificare
- * @param idRisorsa
- * della resource
- * @return true se la risposta esiste, false altrimenti
- */
- protected boolean existsAccordoServizioResourceResponse(long idRisorsa, int httpStatus) throws DriverRegistroServiziException {
- boolean exist = false;
- Connection connection;
- PreparedStatement stm = null;
- ResultSet rs = null;
- if (this.driver.atomica) {
- try {
- connection = this.driver.getConnectionFromDatasource("existsAccordoServizioResourceResponse(idRisorsa,httpStatus)");
- } catch (Exception e) {
- throw new DriverRegistroServiziException("DriverRegistroServiziDB::existsAccordoServizioResourceResponse] Exception accedendo al datasource :" + e.getMessage(),e);
- }
- } else
- connection = this.driver.globalConnection;
- this.driver.logDebug("operazione atomica = " + this.driver.atomica);
- try {
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
- sqlQueryObject.addFromTable(CostantiDB.API_RESOURCES_RESPONSE);
- sqlQueryObject.addSelectField("*");
- sqlQueryObject.addWhereCondition("id_resource = ?");
- sqlQueryObject.addWhereCondition("status = ?");
- sqlQueryObject.setANDLogicOperator(true);
- String sqlQuery = sqlQueryObject.createSQLQuery();
- stm = connection.prepareStatement(sqlQuery);
- stm.setLong(1, idRisorsa);
- stm.setInt(2, httpStatus);
- rs = stm.executeQuery();
- if (rs.next())
- exist = true;
- rs.close();
- stm.close();
- } catch (Exception e) {
- exist = false;
- throw new DriverRegistroServiziException(e.getMessage(),e);
- } finally {
- //Chiudo statement and resultset
- JDBCUtilities.closeResources(rs, stm);
- this.driver.closeConnection(connection);
- }
- return exist;
- }
-
- protected boolean existsAccordoServizioResourceRepresentation(Long idRisorsa, boolean isRequest, Long idResponse, String mediaType) throws DriverRegistroServiziException {
- boolean exist = false;
- Connection connection;
- PreparedStatement stm = null;
- ResultSet rs = null;
- if (this.driver.atomica) {
- try {
- connection = this.driver.getConnectionFromDatasource("existsAccordoServizioResourceRepresentation(idRisorsa,isRequest,idResponse,mediaType)");
- } catch (Exception e) {
- throw new DriverRegistroServiziException("DriverRegistroServiziDB::existsAccordoServizioResourceRepresentation] Exception accedendo al datasource :" + e.getMessage(),e);
- }
- } else
- connection = this.driver.globalConnection;
- this.driver.logDebug("operazione atomica = " + this.driver.atomica);
- try {
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
- sqlQueryObject.addFromTable(CostantiDB.API_RESOURCES_MEDIA);
- sqlQueryObject.addSelectField("*");
- if(isRequest)
- sqlQueryObject.addWhereCondition("id_resource_media = ?");
- else
- sqlQueryObject.addWhereCondition("id_resource_response_media = ?");
- sqlQueryObject.addWhereCondition("media_type = ?");
- sqlQueryObject.setANDLogicOperator(true);
- String sqlQuery = sqlQueryObject.createSQLQuery();
- stm = connection.prepareStatement(sqlQuery);
- if(isRequest)
- stm.setLong(1, idRisorsa);
- else
- stm.setLong(1, idResponse);
- stm.setString(2, mediaType);
- rs = stm.executeQuery();
- if (rs.next())
- exist = true;
- rs.close();
- stm.close();
- } catch (Exception e) {
- exist = false;
- throw new DriverRegistroServiziException(e.getMessage(),e);
- } finally {
- //Chiudo statement and resultset
- JDBCUtilities.closeResources(rs, stm);
- this.driver.closeConnection(connection);
- }
- return exist;
- }
-
- protected boolean existsAccordoServizioResourceParameter(Long idRisorsa, boolean isRequest, Long idResponse, ParameterType tipo, String nome) throws DriverRegistroServiziException {
- boolean exist = false;
- Connection connection;
- PreparedStatement stm = null;
- ResultSet rs = null;
- if (this.driver.atomica) {
- try {
- connection = this.driver.getConnectionFromDatasource("existsAccordoServizioResourceRepresentation(idRisorsa,isRequest,idResponse,tipo,nome)");
- } catch (Exception e) {
- throw new DriverRegistroServiziException("DriverRegistroServiziDB::existsAccordoServizioResourceRepresentation] Exception accedendo al datasource :" + e.getMessage(),e);
- }
- } else
- connection = this.driver.globalConnection;
- this.driver.logDebug("operazione atomica = " + this.driver.atomica);
- try {
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(this.driver.tipoDB);
- sqlQueryObject.addFromTable(CostantiDB.API_RESOURCES_PARAMETER);
- sqlQueryObject.addSelectField("*");
- if(isRequest)
- sqlQueryObject.addWhereCondition("id_resource_parameter = ?");
- else
- sqlQueryObject.addWhereCondition("id_resource_response_par = ?");
- sqlQueryObject.addWhereCondition("tipo_parametro = ?");
- sqlQueryObject.addWhereCondition("nome = ?");
- sqlQueryObject.setANDLogicOperator(true);
- String sqlQuery = sqlQueryObject.createSQLQuery();
- stm = connection.prepareStatement(sqlQuery);
- if(isRequest)
- stm.setLong(1, idRisorsa);
- else
- stm.setLong(1, idResponse);
- stm.setString(2, tipo.toString());
- stm.setString(3, nome);
- rs = stm.executeQuery();
- if (rs.next())
- exist = true;
- rs.close();
- stm.close();
- } catch (Exception e) {
- exist = false;
- throw new DriverRegistroServiziException(e.getMessage(),e);
- } finally {
- //Chiudo statement and resultset
- JDBCUtilities.closeResources(rs, stm);
- this.driver.closeConnection(connection);
- }
- return exist;
- }
- }