DriverRegistroServiziDB_LIB.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 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.text.MessageFormat;
- import java.util.List;
- import org.openspcoop2.core.byok.IDriverBYOK;
- import org.openspcoop2.core.commons.CoreException;
- import org.openspcoop2.core.commons.DBUtils;
- import org.openspcoop2.core.constants.CostantiDB;
- import org.openspcoop2.core.id.IDGruppo;
- import org.openspcoop2.core.id.IDRuolo;
- import org.openspcoop2.core.id.IDScope;
- import org.openspcoop2.core.mapping.DBProtocolPropertiesUtils;
- import org.openspcoop2.core.registry.Gruppo;
- import org.openspcoop2.core.registry.ProtocolProperty;
- import org.openspcoop2.core.registry.Ruolo;
- import org.openspcoop2.core.registry.Scope;
- import org.openspcoop2.core.registry.constants.BindingStyle;
- import org.openspcoop2.core.registry.constants.BindingUse;
- import org.openspcoop2.core.registry.constants.CostantiRegistroServizi;
- import org.openspcoop2.core.registry.constants.CredenzialeTipo;
- import org.openspcoop2.core.registry.constants.FormatoSpecifica;
- import org.openspcoop2.core.registry.constants.HttpMethod;
- import org.openspcoop2.core.registry.constants.MessageType;
- import org.openspcoop2.core.registry.constants.ParameterType;
- import org.openspcoop2.core.registry.constants.ProfiloCollaborazione;
- import org.openspcoop2.core.registry.constants.RepresentationType;
- import org.openspcoop2.core.registry.constants.RepresentationXmlType;
- import org.openspcoop2.core.registry.constants.RuoloContesto;
- import org.openspcoop2.core.registry.constants.RuoloTipologia;
- import org.openspcoop2.core.registry.constants.ScopeContesto;
- import org.openspcoop2.core.registry.constants.ServiceBinding;
- import org.openspcoop2.core.registry.constants.StatoFunzionalita;
- import org.openspcoop2.core.registry.driver.DriverRegistroServiziException;
- import org.openspcoop2.core.registry.driver.DriverRegistroServiziNotFound;
- import org.openspcoop2.generic_project.exception.NotFoundException;
- import org.openspcoop2.utils.LoggerWrapperFactory;
- import org.openspcoop2.utils.date.DateManager;
- import org.openspcoop2.utils.jdbc.JDBCUtilities;
- import org.openspcoop2.utils.sql.ISQLQueryObject;
- import org.openspcoop2.utils.sql.SQLObjectFactory;
- import org.slf4j.Logger;
- /**
- * Classe utilizzata per effettuare query ad un registro dei servizi openspcoop
- * formato db.
- *
- *
- * @author Sandra Giangrandi (sandra@link.it)
- * @author Stefano Corallo (corallo@link.it)
- * @author $Author$
- * @version $Rev$, $Date$
- */
- public class DriverRegistroServiziDB_LIB {
- /** Logger utilizzato per debug. */
- public static org.slf4j.Logger log = LoggerWrapperFactory.getLogger(CostantiRegistroServizi.REGISTRO_DRIVER_DB_LOGGER);
-
- static void logDebug(String msg) {
- if(log!=null) {
- log.debug(msg);
- }
- }
- static void logDebug(String msg, Exception e) {
- if(log!=null) {
- log.debug(msg,e);
- }
- }
-
- static void logError(String msg) {
- if(log!=null) {
- log.error(msg);
- }
- }
- static void logError(String msg, Exception e) {
- if(log!=null) {
- log.error(msg,e);
- }
- }
- // Tipo database ereditato da DriverRegistroServiziDB
- static String tipoDB = null;
- /** Log ereditato da DriverRegistroServiziDB
- */
- private static boolean initialize = false;
- public static void initStaticLogger(Logger aLog){
- if(!DriverRegistroServiziDB_LIB.initialize){
- if(aLog!=null){
- DriverRegistroServiziDB_LIB.log = aLog;
- }
- DriverRegistroServiziDB_LIB.initialize = true;
- }
- }
- public static boolean isStaticLoggerInitialized(){
- return DriverRegistroServiziDB_LIB.initialize;
- }
- // Setto il tipoDB
- public static void setTipoDB(String tipoDatabase) {
- DriverRegistroServiziDB_LIB.tipoDB = tipoDatabase;
- }
-
- public static String getValue(StatoFunzionalita funzionalita){
- if(funzionalita==null){
- return null;
- }
- else{
- return funzionalita.getValue();
- }
- }
- public static String getValue(ProfiloCollaborazione profilo){
- if(profilo==null){
- return null;
- }
- else{
- return profilo.getValue();
- }
- }
- public static String getValue(BindingStyle style){
- if(style==null){
- return null;
- }
- else{
- return style.getValue();
- }
- }
- public static String getValue(BindingUse use){
- if(use==null){
- return null;
- }
- else{
- return use.getValue();
- }
- }
- public static String getValue(CredenzialeTipo tipo){
- if(tipo==null){
- return null;
- }
- else{
- return tipo.getValue();
- }
- }
- public static String getValue(ServiceBinding tipo){
- if(tipo==null){
- return null;
- }
- else{
- return tipo.getValue();
- }
- }
- public static String getValue(MessageType tipo){
- if(tipo==null){
- return null;
- }
- else{
- return tipo.getValue();
- }
- }
- public static String getValue(HttpMethod tipo){
- if(tipo==null){
- return CostantiDB.API_RESOURCE_HTTP_METHOD_ALL_VALUE;
- }
- else{
- return tipo.getValue();
- }
- }
- public static String getValue(FormatoSpecifica tipo){
- if(tipo==null){
- return null;
- }
- else{
- return tipo.getValue();
- }
- }
- public static String getValue(RepresentationType tipo){
- if(tipo==null){
- return null;
- }
- else{
- return tipo.getValue();
- }
- }
- public static String getValue(RepresentationXmlType tipo){
- if(tipo==null){
- return null;
- }
- else{
- return tipo.getValue();
- }
- }
- public static String getValue(ParameterType tipo){
- if(tipo==null){
- return null;
- }
- else{
- return tipo.getValue();
- }
- }
-
- public static StatoFunzionalita getEnumStatoFunzionalita(String value){
- if(value==null){
- return null;
- }
- else{
- return StatoFunzionalita.toEnumConstant(value);
- }
- }
- public static ProfiloCollaborazione getEnumProfiloCollaborazione(String value){
- if(value==null){
- return null;
- }
- else{
- return ProfiloCollaborazione.toEnumConstant(value);
- }
- }
- public static BindingStyle getEnumBindingStyle(String value){
- if(value==null){
- return null;
- }
- else{
- return BindingStyle.toEnumConstant(value);
- }
- }
- public static BindingUse getEnumBindingUse(String value){
- if(value==null){
- return null;
- }
- else{
- return BindingUse.toEnumConstant(value);
- }
- }
- public static CredenzialeTipo getEnumCredenzialeTipo(String value){
- if(value==null){
- return null;
- }
- else{
- return CredenzialeTipo.toEnumConstant(value);
- }
- }
- public static ServiceBinding getEnumServiceBinding(String value){
- if(value==null){
- return null;
- }
- else{
- return ServiceBinding.toEnumConstant(value);
- }
- }
- public static MessageType getEnumMessageType(String value){
- if(value==null){
- return null;
- }
- else{
- return MessageType.toEnumConstant(value);
- }
- }
- public static HttpMethod getEnumHttpMethod(String value){
- if(value==null || CostantiDB.API_RESOURCE_HTTP_METHOD_ALL_VALUE.equalsIgnoreCase(value)){
- return null;
- }
- else{
- return HttpMethod.toEnumConstant(value);
- }
- }
- public static FormatoSpecifica getEnumFormatoSpecifica(String value){
- if(value==null){
- return null;
- }
- else{
- return FormatoSpecifica.toEnumConstant(value);
- }
- }
- public static RepresentationType getEnumRepresentationType(String value){
- if(value==null){
- return null;
- }
- else{
- return RepresentationType.toEnumConstant(value);
- }
- }
- public static RepresentationXmlType getEnumRepresentationXmlType(String value){
- if(value==null){
- return null;
- }
- else{
- return RepresentationXmlType.toEnumConstant(value);
- }
- }
- public static ParameterType getEnumParameterType(String value){
- if(value==null){
- return null;
- }
- else{
- return ParameterType.toEnumConstant(value);
- }
- }
- /**
- * Utility per formattare la string sql con i parametri passati, e stamparla
- * per debug
- *
- * @param sql
- * la string sql utilizzata nel prepared statement
- * @param params
- * i parametri da inserire nella stringa che sostituiranno i '?'
- * @return La stringa sql con al posto dei '?' ha i parametri passati
- */
- public static String formatSQLString(String sql, Object... params) {
- String res = sql;
- for (int i = 0; i < params.length; i++) {
- res = res.replaceFirst("\\?", "{" + i + "}");
- }
- return MessageFormat.format(res, params);
- }
-
-
- public static void CRUDGruppo(int type, Gruppo gruppo, Connection con)
- throws DriverRegistroServiziException {
- if (gruppo == null) {
- throw new DriverRegistroServiziException(
- "[DriverRegistroServiziDB_LIB::CRUDGruppo] Parametro non valido.");
- }
- /**if ((type != CostantiDB.CREATE) && (pdd.getId() <= 0)) {
- throw new DriverRegistroServiziException(
- "[DriverRegistroServiziDB_LIB::CRUDGruppo] ID Gruppo non valido.");
- }*/
- String nome = gruppo.getNome();
- String descrizione = gruppo.getDescrizione();
- ServiceBinding serviceBinding = gruppo.getServiceBinding();
- String superuser = gruppo.getSuperUser();
- PreparedStatement updateStmt = null;
- String updateQuery = "";
- PreparedStatement selectStmt = null;
- String selectQuery = "";
- ResultSet selectRS = null;
- int n = 0;
- try {
- // preparo lo statement in base al tipo di operazione
- switch (type) {
- case CREATE:
- // CREATE
-
- String utenteRichiedente = null;
- if(gruppo.getProprietaOggetto()!=null && gruppo.getProprietaOggetto().getUtenteRichiedente()!=null) {
- utenteRichiedente = gruppo.getProprietaOggetto().getUtenteRichiedente();
- }
- else {
- utenteRichiedente = superuser;
- }
-
- Timestamp dataCreazione = null;
- if(gruppo.getProprietaOggetto()!=null && gruppo.getProprietaOggetto().getDataCreazione()!=null) {
- dataCreazione = new Timestamp(gruppo.getProprietaOggetto().getDataCreazione().getTime());
- }
- else if(gruppo.getOraRegistrazione()!=null){
- dataCreazione = new Timestamp(gruppo.getOraRegistrazione().getTime());
- }
- else {
- dataCreazione = DateManager.getTimestamp();
- }
-
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
- sqlQueryObject.addInsertTable(CostantiDB.GRUPPI);
- sqlQueryObject.addInsertField("nome", "?");
- sqlQueryObject.addInsertField("descrizione", "?");
- sqlQueryObject.addInsertField("service_binding", "?");
- sqlQueryObject.addInsertField("superuser", "?");
- if(gruppo.getOraRegistrazione()!=null)
- sqlQueryObject.addInsertField("ora_registrazione", "?");
- if(utenteRichiedente!=null) {
- sqlQueryObject.addInsertField(CostantiDB.PROPRIETA_OGGETTO_UTENTE_RICHIEDENTE, "?");
- }
- if(dataCreazione!=null) {
- sqlQueryObject.addInsertField(CostantiDB.PROPRIETA_OGGETTO_DATA_CREAZIONE, "?");
- }
- updateQuery = sqlQueryObject.createSQLInsert();
- updateStmt = con.prepareStatement(updateQuery);
- int index = 1;
- updateStmt.setString(index++, nome);
- updateStmt.setString(index++, descrizione);
- updateStmt.setString(index++, serviceBinding!=null? serviceBinding.getValue() : null);
- updateStmt.setString(index++, superuser);
-
- if(gruppo.getOraRegistrazione()!=null)
- updateStmt.setTimestamp(index++, new Timestamp(gruppo.getOraRegistrazione().getTime()));
-
- if(utenteRichiedente!=null) {
- updateStmt.setString(index++, utenteRichiedente);
- }
-
- if(dataCreazione!=null) {
- updateStmt.setTimestamp(index++, dataCreazione);
- }
- // eseguo lo statement
- n = updateStmt.executeUpdate();
- updateStmt.close();
- DriverRegistroServiziDB_LIB.logDebug("CRUDGruppo type = " + type
- + " row affected =" + n);
- DriverRegistroServiziDB_LIB.logDebug("CRUDGruppo CREATE : \n"
- + DriverRegistroServiziDB_LIB.formatSQLString(
- updateQuery, nome, descrizione,(serviceBinding!=null? serviceBinding.getValue() : null),
- superuser));
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
- sqlQueryObject.addFromTable(CostantiDB.GRUPPI);
- sqlQueryObject.addSelectField("id");
- sqlQueryObject.addWhereCondition("nome = ?");
- selectQuery = sqlQueryObject.createSQLQuery();
- selectStmt = con.prepareStatement(selectQuery);
- selectStmt.setString(1, nome);
- selectRS = selectStmt.executeQuery();
- if (selectRS.next()) {
- gruppo.setId(selectRS.getLong("id"));
- }
- selectRS.close();
- selectStmt.close();
- break;
- case UPDATE:
- // UPDATE1
- String nomeGruppo = gruppo.getOldIDGruppoForUpdate()!=null ? gruppo.getOldIDGruppoForUpdate().getNome() : null;
- if(nomeGruppo==null || "".equals(nomeGruppo))
- nomeGruppo = gruppo.getNome();
-
- IDGruppo idG = new IDGruppo(nomeGruppo);
- long idGruppo = DBUtils.getIdGruppo(idG, con, DriverRegistroServiziDB_LIB.tipoDB);
- if (idGruppo <= 0)
- throw new DriverRegistroServiziException("[DriverRegistroServiziDB_LIB::CRUDGruppo(UPDATE)] Id Gruppo non valido.");
-
- String utenteUltimaModifica = null;
- if(gruppo.getProprietaOggetto()!=null && gruppo.getProprietaOggetto().getUtenteUltimaModifica()!=null) {
- utenteUltimaModifica = gruppo.getProprietaOggetto().getUtenteUltimaModifica();
- }
- else {
- utenteUltimaModifica = superuser;
- }
-
- Timestamp dataUltimaModifica = null;
- if(gruppo.getProprietaOggetto()!=null && gruppo.getProprietaOggetto().getDataUltimaModifica()!=null) {
- dataUltimaModifica = new Timestamp(gruppo.getProprietaOggetto().getDataUltimaModifica().getTime());
- }
- else {
- dataUltimaModifica = DateManager.getTimestamp();
- }
-
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
- sqlQueryObject.addUpdateTable(CostantiDB.GRUPPI);
- sqlQueryObject.addUpdateField("nome", "?");
- sqlQueryObject.addUpdateField("descrizione", "?");
- sqlQueryObject.addUpdateField("service_binding", "?");
- sqlQueryObject.addUpdateField("superuser", "?");
- if(gruppo.getOraRegistrazione()!=null)
- sqlQueryObject.addUpdateField("ora_registrazione", "?");
- if(utenteUltimaModifica!=null) {
- sqlQueryObject.addUpdateField(CostantiDB.PROPRIETA_OGGETTO_UTENTE_ULTIMA_MODIFICA, "?");
- }
- if(dataUltimaModifica!=null) {
- sqlQueryObject.addUpdateField(CostantiDB.PROPRIETA_OGGETTO_DATA_ULTIMA_MODIFICA, "?");
- }
-
- sqlQueryObject.addWhereCondition("id=?");
- updateQuery = sqlQueryObject.createSQLUpdate();
- updateStmt = con.prepareStatement(updateQuery);
- index = 1;
- updateStmt.setString(index++, nome);
- updateStmt.setString(index++, descrizione);
- updateStmt.setString(index++, serviceBinding!=null? serviceBinding.getValue() : null);
- updateStmt.setString(index++, superuser);
- if(gruppo.getOraRegistrazione()!=null)
- updateStmt.setTimestamp(index++, new Timestamp(gruppo.getOraRegistrazione().getTime()));
- if(utenteUltimaModifica!=null) {
- updateStmt.setString(index++, utenteUltimaModifica);
- }
- if(dataUltimaModifica!=null) {
- updateStmt.setTimestamp(index++, dataUltimaModifica);
- }
-
- updateStmt.setLong(index++, idGruppo);
- // eseguo lo statement
- n = updateStmt.executeUpdate();
- updateStmt.close();
- DriverRegistroServiziDB_LIB.logDebug("CRUDGruppo type = " + type
- + " row affected =" + n);
- DriverRegistroServiziDB_LIB.logDebug("CRUDGruppo UPDATE : \n"
- + DriverRegistroServiziDB_LIB.formatSQLString(
- updateQuery, nome, descrizione,(serviceBinding!=null? serviceBinding.getValue() : null),
- superuser,idGruppo));
- break;
- case DELETE:
- // DELETE
- idG = new IDGruppo(nome);
- idGruppo = DBUtils.getIdGruppo(idG, con, DriverRegistroServiziDB_LIB.tipoDB);
- if (idGruppo <= 0)
- throw new DriverRegistroServiziException("[DriverRegistroServiziDB_LIB::CRUDGruppo(DELETE)] Id Gruppo non valido.");
-
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.GRUPPI);
- sqlQueryObject.addWhereCondition("id=?");
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.setLong(1, idGruppo);
- // eseguo lo statement
- n = updateStmt.executeUpdate();
- updateStmt.close();
- DriverRegistroServiziDB_LIB.logDebug("CRUDGruppo type = " + type
- + " row affected =" + n);
- DriverRegistroServiziDB_LIB.logDebug("CRUDGruppo DELETE : \n"
- + DriverRegistroServiziDB_LIB.formatSQLString(
- updateQuery, idGruppo));
- break;
- }
- } catch (SQLException se) {
- throw new DriverRegistroServiziException(
- "[DriverControlStationDB_LIB::CRUDGruppo] SQLException ["
- + se.getMessage() + "].",se);
- } catch (Exception se) {
- throw new DriverRegistroServiziException(
- "[DriverControlStationDB_LIB::CRUDGruppo] Exception ["
- + se.getMessage() + "].",se);
- } finally {
- JDBCUtilities.closeResources(updateStmt);
- JDBCUtilities.closeResources(selectRS, selectStmt);
- }
- }
-
- public static void CRUDRuolo(int type, Ruolo ruolo, Connection con)
- throws DriverRegistroServiziException {
- if (ruolo == null) {
- throw new DriverRegistroServiziException(
- "[DriverRegistroServiziDB_LIB::CRUDRuolo] Parametro non valido.");
- }
- /**if ((type != CostantiDB.CREATE) && (pdd.getId() <= 0)) {
- throw new DriverRegistroServiziException(
- "[DriverRegistroServiziDB_LIB::CRUDRuolo] ID Ruolo non valido.");
- }*/
- String nome = ruolo.getNome();
- String descrizione = ruolo.getDescrizione();
- RuoloTipologia ruoloTipologia = ruolo.getTipologia();
- String nomeEsterno = ruolo.getNomeEsterno();
- RuoloContesto ruoloContesto = ruolo.getContestoUtilizzo();
- String superuser = ruolo.getSuperUser();
- PreparedStatement updateStmt = null;
- String updateQuery = "";
- PreparedStatement selectStmt = null;
- String selectQuery = "";
- ResultSet selectRS = null;
- int n = 0;
- try {
- // preparo lo statement in base al tipo di operazione
- switch (type) {
- case CREATE:
-
- String utenteRichiedente = null;
- if(ruolo.getProprietaOggetto()!=null && ruolo.getProprietaOggetto().getUtenteRichiedente()!=null) {
- utenteRichiedente = ruolo.getProprietaOggetto().getUtenteRichiedente();
- }
- else {
- utenteRichiedente = superuser;
- }
-
- Timestamp dataCreazione = null;
- if(ruolo.getProprietaOggetto()!=null && ruolo.getProprietaOggetto().getDataCreazione()!=null) {
- dataCreazione = new Timestamp(ruolo.getProprietaOggetto().getDataCreazione().getTime());
- }
- else if(ruolo.getOraRegistrazione()!=null){
- dataCreazione = new Timestamp(ruolo.getOraRegistrazione().getTime());
- }
- else {
- dataCreazione = DateManager.getTimestamp();
- }
-
- // CREATE
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
- sqlQueryObject.addInsertTable(CostantiDB.RUOLI);
- sqlQueryObject.addInsertField("nome", "?");
- sqlQueryObject.addInsertField("descrizione", "?");
- sqlQueryObject.addInsertField("tipologia", "?");
- sqlQueryObject.addInsertField("nome_esterno", "?");
- sqlQueryObject.addInsertField("contesto_utilizzo", "?");
- sqlQueryObject.addInsertField("superuser", "?");
- if(ruolo.getOraRegistrazione()!=null)
- sqlQueryObject.addInsertField("ora_registrazione", "?");
- if(utenteRichiedente!=null) {
- sqlQueryObject.addInsertField(CostantiDB.PROPRIETA_OGGETTO_UTENTE_RICHIEDENTE, "?");
- }
- if(dataCreazione!=null) {
- sqlQueryObject.addInsertField(CostantiDB.PROPRIETA_OGGETTO_DATA_CREAZIONE, "?");
- }
- updateQuery = sqlQueryObject.createSQLInsert();
- updateStmt = con.prepareStatement(updateQuery);
- int index = 1;
- updateStmt.setString(index++, nome);
- updateStmt.setString(index++, descrizione);
- updateStmt.setString(index++, ruoloTipologia!=null? ruoloTipologia.getValue() : null);
- updateStmt.setString(index++, nomeEsterno);
- updateStmt.setString(index++, ruoloContesto!=null? ruoloContesto.getValue() : null);
- updateStmt.setString(index++, superuser);
-
- if(ruolo.getOraRegistrazione()!=null)
- updateStmt.setTimestamp(index++, new Timestamp(ruolo.getOraRegistrazione().getTime()));
-
- if(utenteRichiedente!=null) {
- updateStmt.setString(index++, utenteRichiedente);
- }
-
- if(dataCreazione!=null) {
- updateStmt.setTimestamp(index++, dataCreazione);
- }
- // eseguo lo statement
- n = updateStmt.executeUpdate();
- updateStmt.close();
- DriverRegistroServiziDB_LIB.logDebug("CRUDRuolo type = " + type
- + " row affected =" + n);
- DriverRegistroServiziDB_LIB.logDebug("CRUDRuolo CREATE : \n"
- + DriverRegistroServiziDB_LIB.formatSQLString(
- updateQuery, nome, descrizione,(ruoloTipologia!=null? ruoloTipologia.getValue() : null),
- (ruoloContesto!=null? ruoloContesto.getValue() : null),superuser));
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
- sqlQueryObject.addFromTable(CostantiDB.RUOLI);
- sqlQueryObject.addSelectField("id");
- sqlQueryObject.addWhereCondition("nome = ?");
- selectQuery = sqlQueryObject.createSQLQuery();
- selectStmt = con.prepareStatement(selectQuery);
- selectStmt.setString(1, nome);
- selectRS = selectStmt.executeQuery();
- if (selectRS.next()) {
- ruolo.setId(selectRS.getLong("id"));
- }
- selectRS.close();
- selectStmt.close();
- break;
- case UPDATE:
- // UPDATE1
- String nomeRuolo = ruolo.getOldIDRuoloForUpdate()!=null ? ruolo.getOldIDRuoloForUpdate().getNome() : null;
- if(nomeRuolo==null || "".equals(nomeRuolo))
- nomeRuolo = ruolo.getNome();
-
- IDRuolo idR = new IDRuolo(nomeRuolo);
- long idRuolo = DBUtils.getIdRuolo(idR, con, DriverRegistroServiziDB_LIB.tipoDB);
- if (idRuolo <= 0)
- throw new DriverRegistroServiziException("[DriverRegistroServiziDB_LIB::CRUDRuolo(UPDATE)] Id Ruolo non valido.");
-
- String utenteUltimaModifica = null;
- if(ruolo.getProprietaOggetto()!=null && ruolo.getProprietaOggetto().getUtenteUltimaModifica()!=null) {
- utenteUltimaModifica = ruolo.getProprietaOggetto().getUtenteUltimaModifica();
- }
- else {
- utenteUltimaModifica = superuser;
- }
-
- Timestamp dataUltimaModifica = null;
- if(ruolo.getProprietaOggetto()!=null && ruolo.getProprietaOggetto().getDataUltimaModifica()!=null) {
- dataUltimaModifica = new Timestamp(ruolo.getProprietaOggetto().getDataUltimaModifica().getTime());
- }
- else {
- dataUltimaModifica = DateManager.getTimestamp();
- }
-
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
- sqlQueryObject.addUpdateTable(CostantiDB.RUOLI);
- sqlQueryObject.addUpdateField("nome", "?");
- sqlQueryObject.addUpdateField("descrizione", "?");
- sqlQueryObject.addUpdateField("tipologia", "?");
- sqlQueryObject.addUpdateField("nome_esterno", "?");
- sqlQueryObject.addUpdateField("contesto_utilizzo", "?");
- sqlQueryObject.addUpdateField("superuser", "?");
- if(ruolo.getOraRegistrazione()!=null)
- sqlQueryObject.addUpdateField("ora_registrazione", "?");
- if(utenteUltimaModifica!=null) {
- sqlQueryObject.addUpdateField(CostantiDB.PROPRIETA_OGGETTO_UTENTE_ULTIMA_MODIFICA, "?");
- }
- if(dataUltimaModifica!=null) {
- sqlQueryObject.addUpdateField(CostantiDB.PROPRIETA_OGGETTO_DATA_ULTIMA_MODIFICA, "?");
- }
-
- sqlQueryObject.addWhereCondition("id=?");
- updateQuery = sqlQueryObject.createSQLUpdate();
- updateStmt = con.prepareStatement(updateQuery);
- index = 1;
- updateStmt.setString(index++, nome);
- updateStmt.setString(index++, descrizione);
- updateStmt.setString(index++, ruoloTipologia!=null? ruoloTipologia.getValue() : null);
- updateStmt.setString(index++, nomeEsterno);
- updateStmt.setString(index++, ruoloContesto!=null? ruoloContesto.getValue() : null);
- updateStmt.setString(index++, superuser);
- if(ruolo.getOraRegistrazione()!=null)
- updateStmt.setTimestamp(index++, new Timestamp(ruolo.getOraRegistrazione().getTime()));
- if(utenteUltimaModifica!=null) {
- updateStmt.setString(index++, utenteUltimaModifica);
- }
- if(dataUltimaModifica!=null) {
- updateStmt.setTimestamp(index++, dataUltimaModifica);
- }
-
- updateStmt.setLong(index++, idRuolo);
- // eseguo lo statement
- n = updateStmt.executeUpdate();
- updateStmt.close();
- DriverRegistroServiziDB_LIB.logDebug("CRUDRuolo type = " + type
- + " row affected =" + n);
- DriverRegistroServiziDB_LIB.logDebug("CRUDRuolo UPDATE : \n"
- + DriverRegistroServiziDB_LIB.formatSQLString(
- updateQuery, nome, descrizione,(ruoloTipologia!=null? ruoloTipologia.getValue() : null),
- (ruoloContesto!=null? ruoloContesto.getValue() : null),superuser,idRuolo));
- break;
- case DELETE:
- // DELETE
- idR = new IDRuolo(nome);
- idRuolo = DBUtils.getIdRuolo(idR, con, DriverRegistroServiziDB_LIB.tipoDB);
- if (idRuolo <= 0)
- throw new DriverRegistroServiziException("[DriverRegistroServiziDB_LIB::CRUDRuolo(DELETE)] Id Ruolo non valido.");
-
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.RUOLI);
- sqlQueryObject.addWhereCondition("id=?");
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.setLong(1, idRuolo);
- // eseguo lo statement
- n = updateStmt.executeUpdate();
- updateStmt.close();
- DriverRegistroServiziDB_LIB.logDebug("CRUDRuolo type = " + type
- + " row affected =" + n);
- DriverRegistroServiziDB_LIB.logDebug("CRUDRuolo DELETE : \n"
- + DriverRegistroServiziDB_LIB.formatSQLString(
- updateQuery, idRuolo));
- break;
- }
- } catch (SQLException se) {
- throw new DriverRegistroServiziException(
- "[DriverControlStationDB_LIB::CRUDRuolo] SQLException ["
- + se.getMessage() + "].",se);
- } catch (Exception se) {
- throw new DriverRegistroServiziException(
- "[DriverControlStationDB_LIB::CRUDRuolo] Exception ["
- + se.getMessage() + "].",se);
- } finally {
- JDBCUtilities.closeResources(updateStmt);
- JDBCUtilities.closeResources(selectRS, selectStmt);
- }
- }
-
- public static void CRUDScope(int type, Scope scope, Connection con)
- throws DriverRegistroServiziException {
- if (scope == null) {
- throw new DriverRegistroServiziException(
- "[DriverRegistroServiziDB_LIB::CRUDScope] Parametro non valido.");
- }
- /**if ((type != CostantiDB.CREATE) && (pdd.getId() <= 0)) {
- throw new DriverRegistroServiziException(
- "[DriverRegistroServiziDB_LIB::CRUDScope] ID Scope non valido.");
- }*/
- String nome = scope.getNome();
- String descrizione = scope.getDescrizione();
- String scopeTipologia = scope.getTipologia();
- String nomeEsterno = scope.getNomeEsterno();
- ScopeContesto scopeContesto = scope.getContestoUtilizzo();
- String superuser = scope.getSuperUser();
- PreparedStatement updateStmt = null;
- String updateQuery = "";
- PreparedStatement selectStmt = null;
- String selectQuery = "";
- ResultSet selectRS = null;
- int n = 0;
- try {
- // preparo lo statement in base al tipo di operazione
- switch (type) {
- case CREATE:
-
- String utenteRichiedente = null;
- if(scope.getProprietaOggetto()!=null && scope.getProprietaOggetto().getUtenteRichiedente()!=null) {
- utenteRichiedente = scope.getProprietaOggetto().getUtenteRichiedente();
- }
- else {
- utenteRichiedente = superuser;
- }
-
- Timestamp dataCreazione = null;
- if(scope.getProprietaOggetto()!=null && scope.getProprietaOggetto().getDataCreazione()!=null) {
- dataCreazione = new Timestamp(scope.getProprietaOggetto().getDataCreazione().getTime());
- }
- else if(scope.getOraRegistrazione()!=null){
- dataCreazione = new Timestamp(scope.getOraRegistrazione().getTime());
- }
- else {
- dataCreazione = DateManager.getTimestamp();
- }
-
- // CREATE
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
- sqlQueryObject.addInsertTable(CostantiDB.SCOPE);
- sqlQueryObject.addInsertField("nome", "?");
- sqlQueryObject.addInsertField("descrizione", "?");
- sqlQueryObject.addInsertField("tipologia", "?");
- sqlQueryObject.addInsertField("nome_esterno", "?");
- sqlQueryObject.addInsertField("contesto_utilizzo", "?");
- sqlQueryObject.addInsertField("superuser", "?");
- if(scope.getOraRegistrazione()!=null)
- sqlQueryObject.addInsertField("ora_registrazione", "?");
- if(utenteRichiedente!=null) {
- sqlQueryObject.addInsertField(CostantiDB.PROPRIETA_OGGETTO_UTENTE_RICHIEDENTE, "?");
- }
- if(dataCreazione!=null) {
- sqlQueryObject.addInsertField(CostantiDB.PROPRIETA_OGGETTO_DATA_CREAZIONE, "?");
- }
- updateQuery = sqlQueryObject.createSQLInsert();
- updateStmt = con.prepareStatement(updateQuery);
- int index = 1;
- updateStmt.setString(index++, nome);
- updateStmt.setString(index++, descrizione);
- updateStmt.setString(index++, scopeTipologia);
- updateStmt.setString(index++, nomeEsterno);
- updateStmt.setString(index++, scopeContesto!=null? scopeContesto.getValue() : null);
- updateStmt.setString(index++, superuser);
-
- if(scope.getOraRegistrazione()!=null)
- updateStmt.setTimestamp(index++, new Timestamp(scope.getOraRegistrazione().getTime()));
-
- if(utenteRichiedente!=null) {
- updateStmt.setString(index++, utenteRichiedente);
- }
-
- if(dataCreazione!=null) {
- updateStmt.setTimestamp(index++, dataCreazione);
- }
- // eseguo lo statement
- n = updateStmt.executeUpdate();
- updateStmt.close();
- DriverRegistroServiziDB_LIB.logDebug("CRUDScope type = " + type
- + " row affected =" + n);
- DriverRegistroServiziDB_LIB.logDebug("CRUDScope CREATE : \n"
- + DriverRegistroServiziDB_LIB.formatSQLString(
- updateQuery, nome, descrizione,scopeTipologia,
- (scopeContesto!=null? scopeContesto.getValue() : null),superuser));
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
- sqlQueryObject.addFromTable(CostantiDB.SCOPE);
- sqlQueryObject.addSelectField("id");
- sqlQueryObject.addWhereCondition("nome = ?");
- selectQuery = sqlQueryObject.createSQLQuery();
- selectStmt = con.prepareStatement(selectQuery);
- selectStmt.setString(1, nome);
- selectRS = selectStmt.executeQuery();
- if (selectRS.next()) {
- scope.setId(selectRS.getLong("id"));
- }
- selectRS.close();
- selectStmt.close();
- break;
- case UPDATE:
- // UPDATE1
- String nomeScope = scope.getOldIDScopeForUpdate()!=null ? scope.getOldIDScopeForUpdate().getNome() : null;
- if(nomeScope==null || "".equals(nomeScope))
- nomeScope = scope.getNome();
-
- IDScope idS = new IDScope(nomeScope);
- long idScope = DBUtils.getIdScope(idS, con, DriverRegistroServiziDB_LIB.tipoDB);
- if (idScope <= 0)
- throw new DriverRegistroServiziException("[DriverRegistroServiziDB_LIB::CRUDScope(UPDATE)] Id Scope non valido.");
-
- String utenteUltimaModifica = null;
- if(scope.getProprietaOggetto()!=null && scope.getProprietaOggetto().getUtenteUltimaModifica()!=null) {
- utenteUltimaModifica = scope.getProprietaOggetto().getUtenteUltimaModifica();
- }
- else {
- utenteUltimaModifica = superuser;
- }
-
- Timestamp dataUltimaModifica = null;
- if(scope.getProprietaOggetto()!=null && scope.getProprietaOggetto().getDataUltimaModifica()!=null) {
- dataUltimaModifica = new Timestamp(scope.getProprietaOggetto().getDataUltimaModifica().getTime());
- }
- else {
- dataUltimaModifica = DateManager.getTimestamp();
- }
-
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
- sqlQueryObject.addUpdateTable(CostantiDB.SCOPE);
- sqlQueryObject.addUpdateField("nome", "?");
- sqlQueryObject.addUpdateField("descrizione", "?");
- sqlQueryObject.addUpdateField("tipologia", "?");
- sqlQueryObject.addUpdateField("nome_esterno", "?");
- sqlQueryObject.addUpdateField("contesto_utilizzo", "?");
- sqlQueryObject.addUpdateField("superuser", "?");
- if(scope.getOraRegistrazione()!=null)
- sqlQueryObject.addUpdateField("ora_registrazione", "?");
- if(utenteUltimaModifica!=null) {
- sqlQueryObject.addUpdateField(CostantiDB.PROPRIETA_OGGETTO_UTENTE_ULTIMA_MODIFICA, "?");
- }
- if(dataUltimaModifica!=null) {
- sqlQueryObject.addUpdateField(CostantiDB.PROPRIETA_OGGETTO_DATA_ULTIMA_MODIFICA, "?");
- }
-
- sqlQueryObject.addWhereCondition("id=?");
- updateQuery = sqlQueryObject.createSQLUpdate();
- updateStmt = con.prepareStatement(updateQuery);
- index = 1;
- updateStmt.setString(index++, nome);
- updateStmt.setString(index++, descrizione);
- updateStmt.setString(index++, scopeTipologia);
- updateStmt.setString(index++, nomeEsterno);
- updateStmt.setString(index++, scopeContesto!=null? scopeContesto.getValue() : null);
- updateStmt.setString(index++, superuser);
- if(scope.getOraRegistrazione()!=null)
- updateStmt.setTimestamp(index++, new Timestamp(scope.getOraRegistrazione().getTime()));
- if(utenteUltimaModifica!=null) {
- updateStmt.setString(index++, utenteUltimaModifica);
- }
- if(dataUltimaModifica!=null) {
- updateStmt.setTimestamp(index++, dataUltimaModifica);
- }
-
- updateStmt.setLong(index++, idScope);
- // eseguo lo statement
- n = updateStmt.executeUpdate();
- updateStmt.close();
- DriverRegistroServiziDB_LIB.logDebug("CRUDScope type = " + type
- + " row affected =" + n);
- DriverRegistroServiziDB_LIB.logDebug("CRUDScope UPDATE : \n"
- + DriverRegistroServiziDB_LIB.formatSQLString(
- updateQuery, nome, descrizione,scopeTipologia,
- (scopeContesto!=null? scopeContesto.getValue() : null),superuser,idScope));
- break;
- case DELETE:
- // DELETE
- idS = new IDScope(nome);
- idScope = DBUtils.getIdScope(idS, con, DriverRegistroServiziDB_LIB.tipoDB);
- if (idScope <= 0)
- throw new DriverRegistroServiziException("[DriverRegistroServiziDB_LIB::CRUDScope(DELETE)] Id Scope non valido.");
-
- sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
- sqlQueryObject.addDeleteTable(CostantiDB.SCOPE);
- sqlQueryObject.addWhereCondition("id=?");
- updateQuery = sqlQueryObject.createSQLDelete();
- updateStmt = con.prepareStatement(updateQuery);
- updateStmt.setLong(1, idScope);
- // eseguo lo statement
- n = updateStmt.executeUpdate();
- updateStmt.close();
- DriverRegistroServiziDB_LIB.logDebug("CRUDScope type = " + type
- + " row affected =" + n);
- DriverRegistroServiziDB_LIB.logDebug("CRUDScope DELETE : \n"
- + DriverRegistroServiziDB_LIB.formatSQLString(
- updateQuery, idScope));
- break;
- }
- } catch (SQLException se) {
- throw new DriverRegistroServiziException(
- "[DriverControlStationDB_LIB::CRUDScope] SQLException ["
- + se.getMessage() + "].",se);
- } catch (Exception se) {
- throw new DriverRegistroServiziException(
- "[DriverControlStationDB_LIB::CRUDScope] Exception ["
- + se.getMessage() + "].",se);
- } finally {
- JDBCUtilities.closeResources(updateStmt);
- JDBCUtilities.closeResources(selectRS, selectStmt);
- }
- }
-
-
-
- // UTILS ID
-
- /**
- * Ritorna l'id del connettore di un soggetto
- *
- * @param nomeSoggetto
- * @param tipoSoggetto
- * @param con
- * @return id del connettore del soggetto
- * @throws DriverRegistroServiziException
- */
- static long getIdConnettoreSoggetto(String nomeSoggetto, String tipoSoggetto, Connection con) throws DriverRegistroServiziException {
- PreparedStatement stm = null;
- ResultSet rs = null;
- long idConnettore = -1;
- try {
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
- sqlQueryObject.addFromTable(CostantiDB.SOGGETTI);
- sqlQueryObject.addSelectField("*");
- sqlQueryObject.addWhereCondition("tipo_soggetto = ?");
- sqlQueryObject.addWhereCondition("nome_soggetto = ?");
- sqlQueryObject.setANDLogicOperator(true);
- String query = sqlQueryObject.createSQLQuery();
- stm = con.prepareStatement(query);
- stm.setString(1, tipoSoggetto);
- stm.setString(2, nomeSoggetto);
- rs = stm.executeQuery();
- if (rs.next()) {
- idConnettore = rs.getLong("id_connettore");
- }
- return idConnettore;
- } catch (SQLException e) {
- DriverRegistroServiziDB_LIB.log.error("Errore SQL", e);
- throw new DriverRegistroServiziException(e);
- }catch (Exception e) {
- DriverRegistroServiziDB_LIB.log.error("Errore", e);
- throw new DriverRegistroServiziException(e);
- } finally {
- JDBCUtilities.closeResources(rs, stm);
- }
- }
- /**
- * Ritorna l'id del connettore del servizio fornito da un soggetto
- *
- * @param nomeServizio
- * @param tipoServizio
- * @param nomeSoggetto
- * @param tipoSoggetto
- * @param con
- * @return id del connettore del servizio
- * @throws DriverRegistroServiziException
- */
- static long getIdConnettoreServizio(String nomeServizio, String tipoServizio, Integer versioneServizio, String nomeSoggetto, String tipoSoggetto, Connection con) throws DriverRegistroServiziException {
- PreparedStatement stm = null;
- ResultSet rs = null;
- long idConnettore = -1;
- long idSoggetto;
- try {
- idSoggetto = DBUtils.getIdSoggetto(nomeSoggetto, tipoSoggetto, con, DriverRegistroServiziDB_LIB.tipoDB);
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
- sqlQueryObject.addFromTable(CostantiDB.SERVIZI);
- sqlQueryObject.addSelectField("*");
- sqlQueryObject.addWhereCondition("tipo_servizio = ?");
- sqlQueryObject.addWhereCondition("nome_servizio = ?");
- sqlQueryObject.addWhereCondition("versione_servizio = ?");
- sqlQueryObject.addWhereCondition("id_soggetto = ?");
- sqlQueryObject.setANDLogicOperator(true);
- String query = sqlQueryObject.createSQLQuery();
- stm = con.prepareStatement(query);
- int index = 1;
- stm.setString(index++, tipoServizio);
- stm.setString(index++, nomeServizio);
- stm.setInt(index++, versioneServizio);
- stm.setLong(index++, idSoggetto);
- rs = stm.executeQuery();
- if (rs.next()) {
- idConnettore = rs.getLong("id_connettore");
- }
- return idConnettore;
- } catch (CoreException e) {
- DriverRegistroServiziDB_LIB.log.error("Errore Driver.", e);
- throw new DriverRegistroServiziException(e);
- } catch (SQLException e) {
- DriverRegistroServiziDB_LIB.log.error("Errore SQL", e);
- throw new DriverRegistroServiziException(e);
- } catch (Exception e) {
- DriverRegistroServiziDB_LIB.log.error("Errore", e);
- throw new DriverRegistroServiziException(e);
- }finally {
- JDBCUtilities.closeResources(rs, stm);
- }
- }
- static long getIdFruizione(long idServizio, String nomeSoggetto, String tipoSoggetto, Connection con) throws DriverRegistroServiziException {
- PreparedStatement stm = null;
- ResultSet rs = null;
- long idFruizione = -1;
- long idSoggetto;
- try {
- idSoggetto = DBUtils.getIdSoggetto(nomeSoggetto, tipoSoggetto, con, DriverRegistroServiziDB_LIB.tipoDB);
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
- sqlQueryObject.addFromTable(CostantiDB.SERVIZI_FRUITORI);
- sqlQueryObject.addSelectField("id");
- sqlQueryObject.addWhereCondition("id_servizio = ?");
- sqlQueryObject.addWhereCondition("id_soggetto = ?");
- sqlQueryObject.setANDLogicOperator(true);
- String query = sqlQueryObject.createSQLQuery();
- stm = con.prepareStatement(query);
- stm.setLong(1, idServizio);
- stm.setLong(2, idSoggetto);
- rs = stm.executeQuery();
- if (rs.next()) {
- idFruizione = rs.getLong("id");
- }
- return idFruizione;
- } catch (CoreException e) {
- DriverRegistroServiziDB_LIB.log.error("Errore Core: "+e.getMessage(),e);
- throw new DriverRegistroServiziException(e);
- } catch (SQLException e) {
- DriverRegistroServiziDB_LIB.log.error("Errore SQL: "+e.getMessage(), e);
- throw new DriverRegistroServiziException(e);
- }catch (Exception e) {
- DriverRegistroServiziDB_LIB.log.error("Errore Generico: "+e.getMessage(), e);
- throw new DriverRegistroServiziException(e);
- } finally {
- JDBCUtilities.closeResources(rs, stm);
- }
- }
-
- static long getIdConnettoreServizioFruitore(long idServizio, String nomeSoggetto, String tipoSoggetto, Connection con) throws DriverRegistroServiziException {
- PreparedStatement stm = null;
- ResultSet rs = null;
- long idConnettore = -1;
- long idSoggetto;
- try {
- idSoggetto = DBUtils.getIdSoggetto(nomeSoggetto, tipoSoggetto, con, DriverRegistroServiziDB_LIB.tipoDB);
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
- sqlQueryObject.addFromTable(CostantiDB.SERVIZI_FRUITORI);
- sqlQueryObject.addSelectField("*");
- sqlQueryObject.addWhereCondition("id_servizio = ?");
- sqlQueryObject.addWhereCondition("id_soggetto = ?");
- sqlQueryObject.setANDLogicOperator(true);
- String query = sqlQueryObject.createSQLQuery();
- stm = con.prepareStatement(query);
- stm.setLong(1, idServizio);
- stm.setLong(2, idSoggetto);
- rs = stm.executeQuery();
- if (rs.next()) {
- idConnettore = rs.getLong("id_connettore");
- }
- return idConnettore;
- } catch (CoreException e) {
- DriverRegistroServiziDB_LIB.log.error("Errore Core: "+e.getMessage(),e);
- throw new DriverRegistroServiziException(e);
- } catch (SQLException e) {
- DriverRegistroServiziDB_LIB.log.error("Errore SQL: "+e.getMessage(), e);
- throw new DriverRegistroServiziException(e);
- }catch (Exception e) {
- DriverRegistroServiziDB_LIB.log.error("Errore Generico: "+e.getMessage(), e);
- throw new DriverRegistroServiziException(e);
- } finally {
- JDBCUtilities.closeResources(rs, stm);
- }
- }
-
- static long getIdConnettoreServizioAzione(long idServizio, String azione, Connection con) throws DriverRegistroServiziException {
- PreparedStatement stm = null;
- ResultSet rs = null;
- long idConnettore = -1;
- try {
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
- sqlQueryObject.addFromTable(CostantiDB.SERVIZI_AZIONI);
- sqlQueryObject.addFromTable(CostantiDB.SERVIZI_AZIONE);
- sqlQueryObject.addSelectField("*");
- sqlQueryObject.addWhereCondition(CostantiDB.SERVIZI_AZIONI+".id="+CostantiDB.SERVIZI_AZIONE+".id_servizio_azioni");
- sqlQueryObject.addWhereCondition(CostantiDB.SERVIZI_AZIONI+".id_servizio = ?");
- sqlQueryObject.addWhereCondition(CostantiDB.SERVIZI_AZIONE+".nome_azione = ?");
- sqlQueryObject.setANDLogicOperator(true);
- String query = sqlQueryObject.createSQLQuery();
- stm = con.prepareStatement(query);
- stm.setLong(1, idServizio);
- stm.setString(2, azione);
- rs = stm.executeQuery();
- if (rs.next()) {
- idConnettore = rs.getLong("id_connettore");
- }
- return idConnettore;
- } catch (SQLException e) {
- DriverRegistroServiziDB_LIB.log.error("Errore SQL", e);
- throw new DriverRegistroServiziException(e);
- }catch (Exception e) {
- DriverRegistroServiziDB_LIB.log.error("Errore", e);
- throw new DriverRegistroServiziException(e);
- } finally {
- JDBCUtilities.closeResources(rs, stm);
- }
- }
-
- static long getIdConnettoreFruizioneServizioAzione(long idFruizione, String azione, Connection con) throws DriverRegistroServiziException {
- PreparedStatement stm = null;
- ResultSet rs = null;
- long idConnettore = -1;
- try {
- ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
- sqlQueryObject.addFromTable(CostantiDB.SERVIZI_FRUITORI_AZIONI);
- sqlQueryObject.addFromTable(CostantiDB.SERVIZI_FRUITORI_AZIONE);
- sqlQueryObject.addSelectField("*");
- sqlQueryObject.addWhereCondition(CostantiDB.SERVIZI_FRUITORI_AZIONI+".id="+CostantiDB.SERVIZI_FRUITORI_AZIONE+".id_fruizione_azioni");
- sqlQueryObject.addWhereCondition(CostantiDB.SERVIZI_FRUITORI_AZIONI+".id_fruizione = ?");
- sqlQueryObject.addWhereCondition(CostantiDB.SERVIZI_FRUITORI_AZIONE+".nome_azione = ?");
- sqlQueryObject.setANDLogicOperator(true);
- String query = sqlQueryObject.createSQLQuery();
- stm = con.prepareStatement(query);
- stm.setLong(1, idFruizione);
- stm.setString(2, azione);
- rs = stm.executeQuery();
- if (rs.next()) {
- idConnettore = rs.getLong("id_connettore");
- }
- return idConnettore;
- } catch (SQLException e) {
- DriverRegistroServiziDB_LIB.log.error("Errore SQL", e);
- throw new DriverRegistroServiziException(e);
- }catch (Exception e) {
- DriverRegistroServiziDB_LIB.log.error("Errore", e);
- throw new DriverRegistroServiziException(e);
- } finally {
- JDBCUtilities.closeResources(rs, stm);
- }
- }
-
-
-
-
-
- public static void CRUDProtocolProperty(int type, List<ProtocolProperty> listPP, long idProprietario,
- org.openspcoop2.core.constants.ProprietariProtocolProperty tipologiaProprietarioProtocolProperty, Connection connection,
- String tipoDatabase, IDriverBYOK driverBYOK) throws DriverRegistroServiziException {
- try {
- DBProtocolPropertiesUtils.crudRegistryProtocolProperty(log, type, listPP, idProprietario, tipologiaProprietarioProtocolProperty, connection, tipoDatabase, driverBYOK);
- }catch(Exception e) {
- throw new DriverRegistroServiziException(e.getMessage(),e);
- }
- }
-
-
- public static List<ProtocolProperty> getListaProtocolProperty(long idProprietario, org.openspcoop2.core.constants.ProprietariProtocolProperty tipologiaProprietario,
- Connection connection,
- String tipoDatabase, IDriverBYOK driverBYOK) throws DriverRegistroServiziException,DriverRegistroServiziNotFound {
- try {
- return DBProtocolPropertiesUtils.getListaProtocolPropertyRegistry(idProprietario,tipologiaProprietario,connection,tipoDatabase, driverBYOK);
- }
- catch(NotFoundException e) {
- throw new DriverRegistroServiziNotFound(e.getMessage(),e);
- }
- catch(Exception e) {
- throw new DriverRegistroServiziException(e.getMessage(),e);
- }
- }
-
- public static ProtocolProperty getProtocolProperty(long id, Connection connection, String tipoDatabase, IDriverBYOK driverBYOK) throws DriverRegistroServiziException,DriverRegistroServiziNotFound {
- try {
- return DBProtocolPropertiesUtils.getProtocolPropertyRegistry(id, connection, tipoDatabase, driverBYOK);
- }
- catch(NotFoundException e) {
- throw new DriverRegistroServiziNotFound(e.getMessage(),e);
- }
- catch(Exception e) {
- throw new DriverRegistroServiziException(e.getMessage(),e);
- }
- }
-
- }