DriverRegistroServiziDB_accordiSoapLIB.java
/*
* GovWay - A customizable API Gateway
* https://govway.org
*
* Copyright (c) 2005-2024 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 org.openspcoop2.core.byok.IDriverBYOK;
import org.openspcoop2.core.commons.DBUtils;
import org.openspcoop2.core.constants.CostantiDB;
import org.openspcoop2.core.constants.ProprietariProtocolProperty;
import org.openspcoop2.core.registry.AccordoServizioParteComune;
import org.openspcoop2.core.registry.Azione;
import org.openspcoop2.core.registry.MessagePart;
import org.openspcoop2.core.registry.Operation;
import org.openspcoop2.core.registry.PortType;
import org.openspcoop2.core.registry.constants.CostantiRegistroServizi;
import org.openspcoop2.core.registry.driver.DriverRegistroServiziException;
import org.openspcoop2.core.registry.driver.IDAccordoFactory;
import org.openspcoop2.utils.jdbc.JDBCUtilities;
import org.openspcoop2.utils.sql.ISQLQueryObject;
import org.openspcoop2.utils.sql.SQLObjectFactory;
/**
* 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_accordiSoapLIB {
public static long CRUDAzione(int type, AccordoServizioParteComune as,Azione azione, Connection con, long idAccordo, IDriverBYOK driverBYOK) throws DriverRegistroServiziException {
PreparedStatement updateStmt = null;
String updateQuery;
PreparedStatement selectStmt = null;
String selectQuery = "";
ResultSet selectRS = null;
long n = 0;
if (idAccordo <= 0)
throw new DriverRegistroServiziException("[DriverRegistroServiziDB_LIB::CRUDAzione] ID Accordo non valido.");
try {
switch (type) {
case CREATE:
// create
ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
sqlQueryObject.addInsertTable(CostantiDB.ACCORDI_AZIONI);
sqlQueryObject.addInsertField("id_accordo", "?");
sqlQueryObject.addInsertField("nome", "?");
sqlQueryObject.addInsertField("profilo_azione", "?");
sqlQueryObject.addInsertField("filtro_duplicati", "?");
sqlQueryObject.addInsertField("conferma_ricezione", "?");
sqlQueryObject.addInsertField("identificativo_collaborazione", "?");
sqlQueryObject.addInsertField("id_riferimento_richiesta", "?");
sqlQueryObject.addInsertField("consegna_in_ordine", "?");
sqlQueryObject.addInsertField("scadenza", "?");
sqlQueryObject.addInsertField("profilo_collaborazione", "?");
sqlQueryObject.addInsertField("correlata", "?");
updateQuery = sqlQueryObject.createSQLInsert();
updateStmt = con.prepareStatement(updateQuery);
int index = 1;
updateStmt.setLong(index++, idAccordo);
updateStmt.setString(index++, azione.getNome());
updateStmt.setString(index++, azione.getProfAzione());
DriverRegistroServiziDB_LIB.log.debug("Aggiungo azione ["+azione.getNome()+"] con profilo ["+azione.getProfAzione()+"]");
if(CostantiRegistroServizi.PROFILO_AZIONE_RIDEFINITO.equals(azione.getProfAzione())){
DriverRegistroServiziDB_LIB.log.debug("ridefinizione...");
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getFiltroDuplicati()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getConfermaRicezione()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getIdCollaborazione()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getIdRiferimentoRichiesta()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getConsegnaInOrdine()));
updateStmt.setString(index++, azione.getScadenza());
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getProfiloCollaborazione()));
}else{
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getFiltroDuplicati()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getConfermaRicezione()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getIdCollaborazione()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getIdRiferimentoRichiesta()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getConsegnaInOrdine()));
updateStmt.setString(index++, as.getScadenza());
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getProfiloCollaborazione()));
}
updateStmt.setString(index++, azione.getCorrelata());
DriverRegistroServiziDB_LIB.log.debug("CRUDAzione CREATE :\n"+DriverRegistroServiziDB_LIB.formatSQLString(updateQuery,idAccordo,azione.getNome(),azione.getProfAzione()));
n = updateStmt.executeUpdate();
DriverRegistroServiziDB_LIB.log.debug("CRUDAzione type = " + type + " row affected =" + n);
sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
sqlQueryObject.addFromTable(CostantiDB.ACCORDI_AZIONI);
sqlQueryObject.addSelectField("id");
sqlQueryObject.addWhereCondition("id_accordo = ?");
sqlQueryObject.addWhereCondition("nome = ?");
sqlQueryObject.setANDLogicOperator(true);
selectQuery = sqlQueryObject.createSQLQuery();
selectStmt = con.prepareStatement(selectQuery);
selectStmt.setLong(1, idAccordo);
selectStmt.setString(2, azione.getNome());
break;
case UPDATE:
// update
//
sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
sqlQueryObject.addUpdateTable(CostantiDB.ACCORDI_AZIONI);
sqlQueryObject.addUpdateField("profilo_azione", "?");
sqlQueryObject.addUpdateField("filtro_duplicati", "?");
sqlQueryObject.addUpdateField("conferma_ricezione", "?");
sqlQueryObject.addUpdateField("identificativo_collaborazione", "?");
sqlQueryObject.addUpdateField("id_riferimento_richiesta", "?");
sqlQueryObject.addUpdateField("consegna_in_ordine", "?");
sqlQueryObject.addUpdateField("scadenza", "?");
sqlQueryObject.addUpdateField("profilo_collaborazione", "?");
sqlQueryObject.addUpdateField("correlata", "?");
sqlQueryObject.addWhereCondition("id_accordo=?");
sqlQueryObject.addWhereCondition("nome=?");
sqlQueryObject.setANDLogicOperator(true);
updateQuery = sqlQueryObject.createSQLUpdate();
updateStmt = con.prepareStatement(updateQuery);
index = 1;
updateStmt.setString(1, azione.getProfAzione());
if(CostantiRegistroServizi.PROFILO_AZIONE_RIDEFINITO.equals(azione.getProfAzione())){
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getFiltroDuplicati()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getConfermaRicezione()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getIdCollaborazione()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getIdRiferimentoRichiesta()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getConsegnaInOrdine()));
updateStmt.setString(index++, azione.getScadenza());
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getProfiloCollaborazione()));
}else{
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getFiltroDuplicati()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getConfermaRicezione()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getIdCollaborazione()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getIdRiferimentoRichiesta()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getConsegnaInOrdine()));
updateStmt.setString(index++, as.getScadenza());
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getProfiloCollaborazione()));
}
updateStmt.setString(index++, azione.getCorrelata());
updateStmt.setLong(index++, idAccordo);
updateStmt.setString(index++, azione.getNome());
n = updateStmt.executeUpdate();
DriverRegistroServiziDB_LIB.log.debug("CRUDAzione type = " + type + " row affected =" + n);
// log.debug("CRUDAzione UPDATE :
// \n"+formatSQLString(updateQuery,wsdlImplementativoErogatore,wsdlImplementativoFruitore,
// idServizio,idSoggettoFruitore,idConnettore));
break;
case DELETE:
// delete
// ProtocolProperties
DriverRegistroServiziDB_LIB.CRUDProtocolProperty(CostantiDB.DELETE, null,
azione.getId(), ProprietariProtocolProperty.AZIONE_ACCORDO, con, DriverRegistroServiziDB_LIB.tipoDB, driverBYOK);
sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
sqlQueryObject.addDeleteTable(CostantiDB.ACCORDI_AZIONI);
sqlQueryObject.addWhereCondition("id_accordo=?");
sqlQueryObject.addWhereCondition("nome=?");
sqlQueryObject.setANDLogicOperator(true);
String sqlQuery = sqlQueryObject.createSQLDelete();
updateStmt = con.prepareStatement(sqlQuery);
updateStmt.setLong(1, idAccordo);
updateStmt.setString(2, azione.getNome());
n=updateStmt.executeUpdate();
updateStmt.close();
DriverRegistroServiziDB_LIB.log.debug("CRUDAzione type = " + type + " row affected =" + n);
// log.debug("CRUDAzione DELETE :
// \n"+formatSQLString(updateQuery,idServizio,idSoggettoFruitore,idConnettore));
break;
}
if (CostantiDB.CREATE == type) {
if(selectStmt!=null) {
selectRS = selectStmt.executeQuery();
if (selectRS.next()) {
azione.setId(selectRS.getLong("id"));
// ProtocolProperties
DriverRegistroServiziDB_LIB.CRUDProtocolProperty(type, azione.getProtocolPropertyList(),
azione.getId(), ProprietariProtocolProperty.AZIONE_ACCORDO, con, DriverRegistroServiziDB_LIB.tipoDB, driverBYOK);
return azione.getId();
}
}
}
return n;
} catch (SQLException se) {
throw new DriverRegistroServiziException("[DriverRegistroServiziDB_LIB::CRUDAzione] SQLException : " + se.getMessage(),se);
} catch (Exception se) {
throw new DriverRegistroServiziException("[DriverRegistroServiziDB_LIB::CRUDAzione] Exception : " + se.getMessage(),se);
} finally {
JDBCUtilities.closeResources(selectRS, selectStmt);
JDBCUtilities.closeResources(updateStmt);
}
}
public static long CRUDPortType(int type, AccordoServizioParteComune as,PortType pt, Connection con, long idAccordo, IDriverBYOK driverBYOK) throws DriverRegistroServiziException {
PreparedStatement updateStmt = null;
String updateQuery;
PreparedStatement selectStmt = null;
ResultSet selectRS = null;
long n = 0;
if (idAccordo <= 0)
throw new DriverRegistroServiziException("[DriverRegistroServiziDB_LIB::CRUDPortType] ID Accordo non valido.");
try {
switch (type) {
case CREATE:
// create
ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
sqlQueryObject.addInsertTable(CostantiDB.PORT_TYPE);
sqlQueryObject.addInsertField("id_accordo", "?");
sqlQueryObject.addInsertField("nome", "?");
sqlQueryObject.addInsertField("descrizione", "?");
sqlQueryObject.addInsertField("message_type", "?");
sqlQueryObject.addInsertField("profilo_pt", "?");
sqlQueryObject.addInsertField("filtro_duplicati", "?");
sqlQueryObject.addInsertField("conferma_ricezione", "?");
sqlQueryObject.addInsertField("identificativo_collaborazione", "?");
sqlQueryObject.addInsertField("id_riferimento_richiesta", "?");
sqlQueryObject.addInsertField("consegna_in_ordine", "?");
sqlQueryObject.addInsertField("scadenza", "?");
sqlQueryObject.addInsertField("profilo_collaborazione", "?");
sqlQueryObject.addInsertField("soap_style", "?");
updateQuery = sqlQueryObject.createSQLInsert();
updateStmt = con.prepareStatement(updateQuery);
int index = 1;
updateStmt.setLong(index++, idAccordo);
updateStmt.setString(index++, pt.getNome());
updateStmt.setString(index++, pt.getDescrizione());
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getMessageType()));
updateStmt.setString(index++, pt.getProfiloPT());
DriverRegistroServiziDB_LIB.log.debug("Aggiungo port-type ["+pt.getNome()+"] con profilo ["+pt.getProfiloPT()+"]");
if(CostantiRegistroServizi.PROFILO_AZIONE_RIDEFINITO.equals(pt.getProfiloPT())){
DriverRegistroServiziDB_LIB.log.debug("ridefinizione...");
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getFiltroDuplicati()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getConfermaRicezione()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getIdCollaborazione()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getIdRiferimentoRichiesta()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getConsegnaInOrdine()));
updateStmt.setString(index++, pt.getScadenza());
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getProfiloCollaborazione()));
}else{
if(pt.getFiltroDuplicati()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getFiltroDuplicati()));
else
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getFiltroDuplicati()));
if(pt.getConfermaRicezione()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getConfermaRicezione()));
else
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getConfermaRicezione()));
if(pt.getIdCollaborazione()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getIdCollaborazione()));
else
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getIdCollaborazione()));
if(pt.getIdRiferimentoRichiesta()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getIdRiferimentoRichiesta()));
else
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getIdRiferimentoRichiesta()));
if(pt.getConsegnaInOrdine()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getConsegnaInOrdine()));
else
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getConsegnaInOrdine()));
if(pt.getScadenza()!=null)
updateStmt.setString(index++, pt.getScadenza());
else
updateStmt.setString(index++, as.getScadenza());
if(pt.getProfiloCollaborazione()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getProfiloCollaborazione()));
else
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getProfiloCollaborazione()));
}
updateStmt.setString(index++,DriverRegistroServiziDB_LIB.getValue(pt.getStyle()));
// log.debug("CRUDAzione CREATE :
// \n"+formatSQLString(updateQuery,idAccordo,idSoggettoFruitore,idConnettore,wsdlImplementativoErogatore,wsdlImplementativoFruitore));
n = updateStmt.executeUpdate();
DriverRegistroServiziDB_LIB.log.debug("CRUDPortType type = " + type + " row affected =" + n);
break;
case UPDATE:
// update
//
sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
sqlQueryObject.addUpdateTable(CostantiDB.PORT_TYPE);
sqlQueryObject.addUpdateField("descrizione", "?");
sqlQueryObject.addUpdateField("message_type", "?");
sqlQueryObject.addUpdateField("profilo_pt", "?");
sqlQueryObject.addUpdateField("filtro_duplicati", "?");
sqlQueryObject.addUpdateField("conferma_ricezione", "?");
sqlQueryObject.addUpdateField("identificativo_collaborazione", "?");
sqlQueryObject.addUpdateField("id_riferimento_richiesta", "?");
sqlQueryObject.addUpdateField("consegna_in_ordine", "?");
sqlQueryObject.addUpdateField("scadenza", "?");
sqlQueryObject.addUpdateField("profilo_collaborazione", "?");
sqlQueryObject.addUpdateField("soap_style", "?");
sqlQueryObject.addWhereCondition("id_accordo=?");
sqlQueryObject.addWhereCondition("nome=?");
sqlQueryObject.setANDLogicOperator(true);
updateQuery = sqlQueryObject.createSQLUpdate();
updateStmt = con.prepareStatement(updateQuery);
index = 1;
updateStmt.setString(index++, pt.getDescrizione());
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getMessageType()));
updateStmt.setString(index++, pt.getProfiloPT());
if(CostantiRegistroServizi.PROFILO_AZIONE_RIDEFINITO.equals(pt.getProfiloPT())){
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getFiltroDuplicati()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getConfermaRicezione()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getIdCollaborazione()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getIdRiferimentoRichiesta()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getConsegnaInOrdine()));
updateStmt.setString(index++, pt.getScadenza());
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getProfiloCollaborazione()));
}else{
if(pt.getFiltroDuplicati()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getFiltroDuplicati()));
else
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getFiltroDuplicati()));
if(pt.getConfermaRicezione()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getConfermaRicezione()));
else
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getConfermaRicezione()));
if(pt.getIdCollaborazione()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getIdCollaborazione()));
else
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getIdCollaborazione()));
if(pt.getIdRiferimentoRichiesta()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getIdRiferimentoRichiesta()));
else
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getIdRiferimentoRichiesta()));
if(pt.getConsegnaInOrdine()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getConsegnaInOrdine()));
else
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getConsegnaInOrdine()));
if(pt.getScadenza()!=null)
updateStmt.setString(index++, pt.getScadenza());
else
updateStmt.setString(index++, as.getScadenza());
if(pt.getProfiloCollaborazione()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getProfiloCollaborazione()));
else
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getProfiloCollaborazione()));
}
updateStmt.setString(index++,DriverRegistroServiziDB_LIB.getValue(pt.getStyle()));
updateStmt.setLong(index++, idAccordo);
updateStmt.setString(index++, pt.getNome());
n = updateStmt.executeUpdate();
DriverRegistroServiziDB_LIB.log.debug("CRUDPortType type = " + type + " row affected =" + n);
// log.debug("CRUDAzione UPDATE :
// \n"+formatSQLString(updateQuery,wsdlImplementativoErogatore,wsdlImplementativoFruitore,
// idServizio,idSoggettoFruitore,idConnettore));
break;
case DELETE:
// delete
Long idPT = 0l;
if(pt.getId()==null || pt.getId()<=0){
idPT = DBUtils.getIdPortType(idAccordo, pt.getNome(), con);
if(idPT==null || idPT<=0)
throw new Exception("ID del porttype["+pt.getNome()+"] idAccordo["+idAccordo+"] non trovato");
}
else {
idPT = pt.getId();
}
// Operations
for(int i=0;i<pt.sizeAzioneList();i++){
DriverRegistroServiziDB_accordiSoapLIB.CRUDAzionePortType(CostantiDB.DELETE, as, pt, pt.getAzione(i), con, idPT, driverBYOK);
}
// ProtocolProperties
DriverRegistroServiziDB_LIB.CRUDProtocolProperty(CostantiDB.DELETE, null,
idPT, ProprietariProtocolProperty.PORT_TYPE, con, DriverRegistroServiziDB_LIB.tipoDB, driverBYOK);
sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
sqlQueryObject.addDeleteTable(CostantiDB.PORT_TYPE);
sqlQueryObject.addWhereCondition("id_accordo=?");
sqlQueryObject.addWhereCondition("nome=?");
sqlQueryObject.setANDLogicOperator(true);
updateQuery = sqlQueryObject.createSQLDelete();
updateStmt = con.prepareStatement(updateQuery);
updateStmt.setLong(1, idAccordo);
updateStmt.setString(2, pt.getNome());
n = updateStmt.executeUpdate();
DriverRegistroServiziDB_LIB.log.debug("CRUDPortType type = " + type + " row affected =" + n);
// log.debug("CRUDAzione DELETE :
// \n"+formatSQLString(updateQuery,idServizio,idSoggettoFruitore,idConnettore));
break;
}
if ( (CostantiDB.CREATE == type) || (CostantiDB.UPDATE == type)) {
Long idPT = DBUtils.getIdPortType(idAccordo, pt.getNome(), con);
if(idPT==null || idPT<=0)
throw new Exception("ID del porttype["+pt.getNome()+"] idAccordo["+idAccordo+"] non trovato");
DriverRegistroServiziDB_LIB.log.debug("ID port type: "+idPT);
if ( CostantiDB.UPDATE == type ){
n = 0;
for(int i=0;i<pt.sizeAzioneList();i++){
n += DriverRegistroServiziDB_accordiSoapLIB.CRUDAzionePortType(CostantiDB.DELETE, as, pt, pt.getAzione(i), con, idPT, driverBYOK);
}
// ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
// sqlQueryObject.addDeleteTable(CostantiDB.PORT_TYPE_AZIONI);
// sqlQueryObject.addWhereCondition("id_port_type=?");
// sqlQueryObject.setANDLogicOperator(true);
// String sqlQuery = sqlQueryObject.createSQLDelete();
// updateStmt=con.prepareStatement(sqlQuery);
// updateStmt.setLong(1, idPT);
// n=updateStmt.executeUpdate();
// updateStmt.close();
DriverRegistroServiziDB_LIB.log.info("Cancellate "+n+" azioni del port type ["+idPT+"] associate all'accordo "+idAccordo);
}
// Azioni PortType
Operation azione = null;
for (int i = 0; i < pt.sizeAzioneList(); i++) {
azione = pt.getAzione(i);
DriverRegistroServiziDB_accordiSoapLIB.CRUDAzionePortType(CostantiDB.CREATE,as,pt, azione, con, idPT, driverBYOK);
}
DriverRegistroServiziDB_LIB.log.debug("inserite " + pt.sizeAzioneList() + " azioni relative al port type["+pt.getNome()+"] id-porttype["+pt.getId()+"] dell'accordo :" + IDAccordoFactory.getInstance().getUriFromAccordo(as) + " id-accordo :" + idAccordo);
// ProtocolProperties
DriverRegistroServiziDB_LIB.CRUDProtocolProperty(type, pt.getProtocolPropertyList(),
idPT, ProprietariProtocolProperty.PORT_TYPE, con, DriverRegistroServiziDB_LIB.tipoDB, driverBYOK);
}
return n;
} catch (SQLException se) {
throw new DriverRegistroServiziException("[DriverRegistroServiziDB_LIB::CRUDPortType] SQLException : " + se.getMessage(),se);
} catch (Exception se) {
throw new DriverRegistroServiziException("[DriverRegistroServiziDB_LIB::CRUDPortType] Exception : " + se.getMessage(),se);
} finally {
JDBCUtilities.closeResources(selectRS, selectStmt);
JDBCUtilities.closeResources(updateStmt);
}
}
public static long CRUDAzionePortType(int type, AccordoServizioParteComune as,PortType pt,Operation azione, Connection con, long idPortType, IDriverBYOK driverBYOK) throws DriverRegistroServiziException {
PreparedStatement updateStmt = null;
String updateQuery;
PreparedStatement selectStmt = null;
String selectQuery = "";
ResultSet selectRS = null;
long n = 0;
if (idPortType <= 0)
throw new DriverRegistroServiziException("[DriverRegistroServiziDB_LIB::CRUDAzionePortType] ID Port Type non valido.");
try {
switch (type) {
case CREATE:
// create
ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
sqlQueryObject.addInsertTable(CostantiDB.PORT_TYPE_AZIONI);
sqlQueryObject.addInsertField("id_port_type", "?");
sqlQueryObject.addInsertField("nome", "?");
sqlQueryObject.addInsertField("profilo_pt_azione", "?");
sqlQueryObject.addInsertField("filtro_duplicati", "?");
sqlQueryObject.addInsertField("conferma_ricezione", "?");
sqlQueryObject.addInsertField("identificativo_collaborazione", "?");
sqlQueryObject.addInsertField("id_riferimento_richiesta", "?");
sqlQueryObject.addInsertField("consegna_in_ordine", "?");
sqlQueryObject.addInsertField("scadenza", "?");
sqlQueryObject.addInsertField("profilo_collaborazione", "?");
sqlQueryObject.addInsertField("soap_style", "?");
sqlQueryObject.addInsertField("soap_action", "?");
sqlQueryObject.addInsertField("soap_use_msg_input", "?");
sqlQueryObject.addInsertField("soap_namespace_msg_input", "?");
sqlQueryObject.addInsertField("soap_use_msg_output", "?");
sqlQueryObject.addInsertField("soap_namespace_msg_output", "?");
sqlQueryObject.addInsertField("correlata_servizio", "?");
sqlQueryObject.addInsertField("correlata", "?");
updateQuery = sqlQueryObject.createSQLInsert();
updateStmt = con.prepareStatement(updateQuery);
int index = 1;
updateStmt.setLong(index++, idPortType);
updateStmt.setString(index++, azione.getNome());
updateStmt.setString(index++, azione.getProfAzione());
DriverRegistroServiziDB_LIB.log.debug("Aggiungo azione ["+azione.getNome()+"] pt ["+pt.getNome()+"] con profilo ["+azione.getProfAzione()+"]");
if(CostantiRegistroServizi.PROFILO_AZIONE_RIDEFINITO.equals(azione.getProfAzione())){
DriverRegistroServiziDB_LIB.log.debug("ridefinizione...");
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getFiltroDuplicati()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getConfermaRicezione()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getIdCollaborazione()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getIdRiferimentoRichiesta()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getConsegnaInOrdine()));
updateStmt.setString(index++, azione.getScadenza());
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getProfiloCollaborazione()));
}else{
if(azione.getFiltroDuplicati()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getFiltroDuplicati()));
else if(pt.getFiltroDuplicati()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getFiltroDuplicati()));
else
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getFiltroDuplicati()));
if(azione.getConfermaRicezione()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getConfermaRicezione()));
else if(pt.getConfermaRicezione()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getConfermaRicezione()));
else
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getConfermaRicezione()));
if(azione.getIdCollaborazione()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getIdCollaborazione()));
else if(pt.getIdCollaborazione()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getIdCollaborazione()));
else
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getIdCollaborazione()));
if(azione.getIdRiferimentoRichiesta()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getIdRiferimentoRichiesta()));
else if(pt.getIdRiferimentoRichiesta()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getIdRiferimentoRichiesta()));
else
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getIdRiferimentoRichiesta()));
if(azione.getConsegnaInOrdine()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getConsegnaInOrdine()));
else if(pt.getConsegnaInOrdine()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getConsegnaInOrdine()));
else
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getConsegnaInOrdine()));
if(azione.getScadenza()!=null)
updateStmt.setString(index++, azione.getScadenza());
else if(pt.getScadenza()!=null)
updateStmt.setString(index++, pt.getScadenza());
else
updateStmt.setString(index++, as.getScadenza());
if(azione.getProfiloCollaborazione()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getProfiloCollaborazione()));
else if(pt.getProfiloCollaborazione()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getProfiloCollaborazione()));
else
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getProfiloCollaborazione()));
}
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getStyle()));
updateStmt.setString(index++, azione.getSoapAction());
if(azione.getMessageInput()!=null){
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getMessageInput().getUse()));
updateStmt.setString(index++, azione.getMessageInput().getSoapNamespace());
}else{
updateStmt.setString(index++, null);
updateStmt.setString(index++, null);
}
if(azione.getMessageOutput()!=null){
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getMessageOutput().getUse()));
updateStmt.setString(index++, azione.getMessageOutput().getSoapNamespace());
}else{
updateStmt.setString(index++, null);
updateStmt.setString(index++, null);
}
updateStmt.setString(index++, azione.getCorrelataServizio());
updateStmt.setString(index++, azione.getCorrelata());
DriverRegistroServiziDB_LIB.log.debug("CRUDPortTypeAzione CREATE :\n"+updateQuery);
n = updateStmt.executeUpdate();
DriverRegistroServiziDB_LIB.log.debug("CRUDAzionePortType type = " + type + " row affected =" + n);
sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
sqlQueryObject.addFromTable(CostantiDB.PORT_TYPE_AZIONI);
sqlQueryObject.addSelectField("id");
sqlQueryObject.addWhereCondition("id_port_type = ?");
sqlQueryObject.addWhereCondition("nome = ?");
sqlQueryObject.setANDLogicOperator(true);
selectQuery = sqlQueryObject.createSQLQuery();
selectStmt = con.prepareStatement(selectQuery);
selectStmt.setLong(1, idPortType);
selectStmt.setString(2, azione.getNome());
break;
case UPDATE:
// update
//
sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
sqlQueryObject.addUpdateTable(CostantiDB.PORT_TYPE_AZIONI);
sqlQueryObject.addUpdateField("profilo_azione", "?");
sqlQueryObject.addUpdateField("filtro_duplicati", "?");
sqlQueryObject.addUpdateField("conferma_ricezione", "?");
sqlQueryObject.addUpdateField("identificativo_collaborazione", "?");
sqlQueryObject.addUpdateField("id_riferimento_richiesta", "?");
sqlQueryObject.addUpdateField("consegna_in_ordine", "?");
sqlQueryObject.addUpdateField("scadenza", "?");
sqlQueryObject.addUpdateField("profilo_collaborazione", "?");
sqlQueryObject.addUpdateField("soap_style", "?");
sqlQueryObject.addUpdateField("soap_action", "?");
sqlQueryObject.addUpdateField("soap_use_msg_input", "?");
sqlQueryObject.addUpdateField("soap_namespace_msg_input", "?");
sqlQueryObject.addUpdateField("soap_use_msg_output", "?");
sqlQueryObject.addUpdateField("soap_namespace_msg_output", "?");
sqlQueryObject.addUpdateField("correlata_servizio", "?");
sqlQueryObject.addUpdateField("correlata", "?");
sqlQueryObject.addWhereCondition("id_port_type=?");
sqlQueryObject.addWhereCondition("nome=?");
sqlQueryObject.setANDLogicOperator(true);
updateQuery = sqlQueryObject.createSQLUpdate();
updateStmt = con.prepareStatement(updateQuery);
index = 1;
updateStmt.setString(1, azione.getProfAzione());
if(CostantiRegistroServizi.PROFILO_AZIONE_RIDEFINITO.equals(azione.getProfAzione())){
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getFiltroDuplicati()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getConfermaRicezione()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getIdCollaborazione()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getIdRiferimentoRichiesta()));
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getConsegnaInOrdine()));
updateStmt.setString(index++, azione.getScadenza());
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getProfiloCollaborazione()));
}else{
if(azione.getFiltroDuplicati()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getFiltroDuplicati()));
else if(pt.getFiltroDuplicati()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getFiltroDuplicati()));
else
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getFiltroDuplicati()));
if(azione.getConfermaRicezione()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getConfermaRicezione()));
else if(pt.getConfermaRicezione()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getConfermaRicezione()));
else
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getConfermaRicezione()));
if(azione.getIdCollaborazione()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getIdCollaborazione()));
else if(pt.getIdCollaborazione()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getIdCollaborazione()));
else
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getIdCollaborazione()));
if(azione.getIdRiferimentoRichiesta()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getIdRiferimentoRichiesta()));
else if(pt.getIdRiferimentoRichiesta()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getIdRiferimentoRichiesta()));
else
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getIdRiferimentoRichiesta()));
if(azione.getConsegnaInOrdine()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getConsegnaInOrdine()));
else if(pt.getConsegnaInOrdine()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getConsegnaInOrdine()));
else
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getConsegnaInOrdine()));
if(azione.getScadenza()!=null)
updateStmt.setString(index++, azione.getScadenza());
else if(pt.getScadenza()!=null)
updateStmt.setString(index++, pt.getScadenza());
else
updateStmt.setString(index++, as.getScadenza());
if(azione.getProfiloCollaborazione()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getProfiloCollaborazione()));
else if(pt.getProfiloCollaborazione()!=null)
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(pt.getProfiloCollaborazione()));
else
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(as.getProfiloCollaborazione()));
}
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getStyle()));
updateStmt.setString(index++, azione.getSoapAction());
if(azione.getMessageInput()!=null){
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getMessageInput().getUse()));
updateStmt.setString(index++, azione.getMessageInput().getSoapNamespace());
}else{
updateStmt.setString(index++, null);
updateStmt.setString(index++, null);
}
if(azione.getMessageOutput()!=null){
updateStmt.setString(index++, DriverRegistroServiziDB_LIB.getValue(azione.getMessageOutput().getUse()));
updateStmt.setString(index++, azione.getMessageOutput().getSoapNamespace());
}else{
updateStmt.setString(index++, null);
updateStmt.setString(index++, null);
}
updateStmt.setString(index++, azione.getCorrelataServizio());
updateStmt.setString(index++, azione.getCorrelata());
updateStmt.setLong(index++, idPortType);
updateStmt.setString(index++, azione.getNome());
n = updateStmt.executeUpdate();
DriverRegistroServiziDB_LIB.log.debug("CRUDAzionePortType type = " + type + " row affected =" + n);
// log.debug("CRUDAzione UPDATE :
// \n"+formatSQLString(updateQuery,wsdlImplementativoErogatore,wsdlImplementativoFruitore,
// idServizio,idSoggettoFruitore,idConnettore));
break;
case DELETE:
// delete
// message-part
sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
sqlQueryObject.addDeleteTable(CostantiDB.PORT_TYPE_AZIONI_OPERATION_MESSAGES);
sqlQueryObject.addWhereCondition("id_port_type_azione=?");
sqlQueryObject.setANDLogicOperator(true);
updateQuery = sqlQueryObject.createSQLDelete();
DriverRegistroServiziDB_LIB.log.debug("CRUDAzione DELETE MESSAGES:\n"+DriverRegistroServiziDB_LIB.formatSQLString(updateQuery,azione.getId()));
updateStmt = con.prepareStatement(updateQuery);
updateStmt.setLong(1, azione.getId());
n = updateStmt.executeUpdate();
updateStmt.close();
// ProtocolProperties
DriverRegistroServiziDB_LIB.CRUDProtocolProperty(CostantiDB.DELETE, null,
azione.getId(), ProprietariProtocolProperty.OPERATION, con, DriverRegistroServiziDB_LIB.tipoDB, driverBYOK);
// azioni
sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
sqlQueryObject.addDeleteTable(CostantiDB.PORT_TYPE_AZIONI);
sqlQueryObject.addWhereCondition("id_port_type=?");
sqlQueryObject.addWhereCondition("nome=?");
sqlQueryObject.setANDLogicOperator(true);
updateQuery = sqlQueryObject.createSQLDelete();
DriverRegistroServiziDB_LIB.log.debug("CRUDAzione DELETE AZIONI:\n"+DriverRegistroServiziDB_LIB.formatSQLString(updateQuery,idPortType,azione.getNome()));
updateStmt = con.prepareStatement(updateQuery);
updateStmt.setLong(1, idPortType);
updateStmt.setString(2, azione.getNome());
n = updateStmt.executeUpdate();
DriverRegistroServiziDB_LIB.log.debug("CRUDAzionePortType type = " + type + " row affected =" + n);
break;
}
if (CostantiDB.CREATE == type) {
selectRS = selectStmt.executeQuery();
if (selectRS.next()) {
azione.setId(selectRS.getLong("id"));
azione.setIdPortType(idPortType);
// creo message-part
DriverRegistroServiziDB_accordiSoapLIB.CRUDMessageAzionePortType(CostantiDB.CREATE, azione, con);
// ProtocolProperties
DriverRegistroServiziDB_LIB.CRUDProtocolProperty(type, azione.getProtocolPropertyList(),
azione.getId(), ProprietariProtocolProperty.OPERATION, con, DriverRegistroServiziDB_LIB.tipoDB, driverBYOK);
return azione.getId();
}
}
return n;
} catch (SQLException se) {
throw new DriverRegistroServiziException("[DriverRegistroServiziDB_LIB::CRUDAzionePortType] SQLException : " + se.getMessage(),se);
} catch (Exception se) {
throw new DriverRegistroServiziException("[DriverRegistroServiziDB_LIB::CRUDAzionePortType] Exception : " + se.getMessage(),se);
} finally {
JDBCUtilities.closeResources(selectRS, selectStmt);
JDBCUtilities.closeResources(updateStmt);
}
}
public static void CRUDMessageAzionePortType(int type, Operation azione, Connection con) throws DriverRegistroServiziException {
PreparedStatement updateStmt = null;
String updateQuery;
PreparedStatement selectStmt = null;
ResultSet selectRS = null;
if (azione.getId() <= 0)
throw new DriverRegistroServiziException("[DriverRegistroServiziDB_LIB::CRUDMessageAzionePortType] ID Operation Port Type non valida.");
try {
switch (type) {
case CREATE:
// create
ISQLQueryObject sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
sqlQueryObject.addInsertTable(CostantiDB.PORT_TYPE_AZIONI_OPERATION_MESSAGES);
sqlQueryObject.addInsertField("id_port_type_azione", "?");
sqlQueryObject.addInsertField("input_message", "?");
sqlQueryObject.addInsertField("name", "?");
sqlQueryObject.addInsertField("element_name", "?");
sqlQueryObject.addInsertField("element_namespace", "?");
sqlQueryObject.addInsertField("type_name", "?");
sqlQueryObject.addInsertField("type_namespace", "?");
updateQuery = sqlQueryObject.createSQLInsert();
// message input
if(azione.getMessageInput()!=null){
for(int i=0; i<azione.getMessageInput().sizePartList(); i++){
updateStmt = con.prepareStatement(updateQuery);
MessagePart part = azione.getMessageInput().getPart(i);
updateStmt.setLong(1, azione.getId());
updateStmt.setInt(2, 1);
updateStmt.setString(3, part.getName());
updateStmt.setString(4, part.getElementName());
updateStmt.setString(5, part.getElementNamespace());
updateStmt.setString(6, part.getTypeName());
updateStmt.setString(7, part.getTypeNamespace());
DriverRegistroServiziDB_LIB.log.debug("Aggiungo part element input ["+part.getName()+"] per azione ["+azione.getNome()+"]");
DriverRegistroServiziDB_LIB.log.debug("CRUDMessageAzionePortType CREATE :\n"+updateQuery);
updateStmt.executeUpdate();
updateStmt.close();
}
}
// message output
if(azione.getMessageOutput()!=null){
for(int i=0; i<azione.getMessageOutput().sizePartList(); i++){
updateStmt = con.prepareStatement(updateQuery);
MessagePart part = azione.getMessageOutput().getPart(i);
updateStmt.setLong(1, azione.getId());
updateStmt.setInt(2, 0);
updateStmt.setString(3, part.getName());
updateStmt.setString(4, part.getElementName());
updateStmt.setString(5, part.getElementNamespace());
updateStmt.setString(6, part.getTypeName());
updateStmt.setString(7, part.getTypeNamespace());
DriverRegistroServiziDB_LIB.log.debug("Aggiungo part element output ["+part.getName()+"] per azione ["+azione.getNome()+"]");
DriverRegistroServiziDB_LIB.log.debug("CRUDMessageAzionePortType CREATE :\n"+updateQuery);
updateStmt.executeUpdate();
updateStmt.close();
}
}
break;
case UPDATE:
// update
//
throw new Exception("Non implementato");
case DELETE:
// delete
sqlQueryObject = SQLObjectFactory.createSQLQueryObject(DriverRegistroServiziDB_LIB.tipoDB);
sqlQueryObject.addDeleteTable(CostantiDB.PORT_TYPE_AZIONI_OPERATION_MESSAGES);
sqlQueryObject.addWhereCondition("id_port_type_azione=?");
sqlQueryObject.setANDLogicOperator(true);
updateQuery = sqlQueryObject.createSQLDelete();
updateStmt = con.prepareStatement(updateQuery);
updateStmt.setLong(1, azione.getId());
long n = updateStmt.executeUpdate();
updateStmt.close();
DriverRegistroServiziDB_LIB.log.debug("CRUDMessageAzionePortType type = " + type + " row affected =" + n);
// log.debug("CRUDAzione DELETE :
// \n"+formatSQLString(updateQuery,idServizio,idSoggettoFruitore,idConnettore));
break;
}
} catch (SQLException se) {
throw new DriverRegistroServiziException("[DriverRegistroServiziDB_LIB::CRUDMessageAzionePortType] SQLException : " + se.getMessage(),se);
} catch (Exception se) {
throw new DriverRegistroServiziException("[DriverRegistroServiziDB_LIB::CRUDMessageAzionePortType] Exception : " + se.getMessage(),se);
} finally {
JDBCUtilities.closeResources(selectRS, selectStmt);
JDBCUtilities.closeResources(updateStmt);
}
}
}