JDBCAllarmeHistoryServiceImpl.java

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

  21. import java.sql.Connection;

  22. import org.openspcoop2.utils.sql.ISQLQueryObject;

  23. import org.slf4j.Logger;

  24. import org.openspcoop2.generic_project.dao.jdbc.IJDBCServiceCRUDWithoutId;
  25. import org.openspcoop2.generic_project.beans.NonNegativeNumber;
  26. import org.openspcoop2.generic_project.beans.UpdateField;
  27. import org.openspcoop2.generic_project.beans.UpdateModel;

  28. import org.openspcoop2.generic_project.dao.jdbc.utils.GenericJDBCUtilities;
  29. import org.openspcoop2.generic_project.dao.jdbc.utils.JDBCObject;
  30. import org.openspcoop2.generic_project.exception.NotFoundException;
  31. import org.openspcoop2.generic_project.exception.NotImplementedException;
  32. import org.openspcoop2.generic_project.exception.ServiceException;
  33. import org.openspcoop2.generic_project.expression.IExpression;
  34. import org.openspcoop2.generic_project.dao.jdbc.JDBCExpression;
  35. import org.openspcoop2.generic_project.dao.jdbc.JDBCPaginatedExpression;

  36. import org.openspcoop2.generic_project.dao.jdbc.JDBCServiceManagerProperties;

  37. import org.openspcoop2.core.allarmi.AllarmeHistory;

  38. /**    
  39.  * JDBCAllarmeHistoryServiceImpl
  40.  *
  41.  * @author Poli Andrea (poli@link.it)
  42.  * @author $Author$
  43.  * @version $Rev$, $Date$
  44.  */
  45. public class JDBCAllarmeHistoryServiceImpl extends JDBCAllarmeHistoryServiceSearchImpl
  46.     implements IJDBCServiceCRUDWithoutId<AllarmeHistory, JDBCServiceManager> {

  47.     @Override
  48.     public void create(JDBCServiceManagerProperties jdbcProperties, Logger log, Connection connection, ISQLQueryObject sqlQueryObject, AllarmeHistory allarmeHistory, org.openspcoop2.generic_project.beans.IDMappingBehaviour idMappingResolutionBehaviour) throws NotImplementedException,ServiceException,Exception {

  49.         org.openspcoop2.generic_project.dao.jdbc.utils.JDBCPreparedStatementUtilities jdbcUtilities =
  50.                 new org.openspcoop2.generic_project.dao.jdbc.utils.JDBCPreparedStatementUtilities(sqlQueryObject.getTipoDatabaseOpenSPCoop2(), log, connection);
  51.        
  52.         ISQLQueryObject sqlQueryObjectInsert = sqlQueryObject.newSQLQueryObject();
  53.                

  54.         // Object _allarme
  55.         Long idAllarme = null;
  56.         org.openspcoop2.core.allarmi.IdAllarme idLogicAllarme = null;
  57.         idLogicAllarme = allarmeHistory.getIdAllarme();
  58.         if(idLogicAllarme!=null){
  59.             if(idMappingResolutionBehaviour==null ||
  60.                 (org.openspcoop2.generic_project.beans.IDMappingBehaviour.ENABLED.equals(idMappingResolutionBehaviour))){
  61.                 idAllarme = ((JDBCAllarmeServiceSearch)(this.getServiceManager().getAllarmeServiceSearch())).findTableId(idLogicAllarme, false);
  62.             }
  63.             else if(org.openspcoop2.generic_project.beans.IDMappingBehaviour.USE_TABLE_ID.equals(idMappingResolutionBehaviour)){
  64.                 idAllarme = idLogicAllarme.getId();
  65.                 if(idAllarme==null || idAllarme<=0){
  66.                     throw new ServiceException("Logic id not contains table id");
  67.                 }
  68.             }
  69.         }
  70.         else {
  71.             throw new ServiceException("IdAllarme not defined");
  72.         }


  73.         // Object allarmeHistory
  74.         sqlQueryObjectInsert.addInsertTable(this.getAllarmeHistoryFieldConverter().toTable(AllarmeHistory.model()));
  75.         sqlQueryObjectInsert.addInsertField(this.getAllarmeHistoryFieldConverter().toColumn(AllarmeHistory.model().ENABLED,false),"?");
  76.         sqlQueryObjectInsert.addInsertField(this.getAllarmeHistoryFieldConverter().toColumn(AllarmeHistory.model().STATO,false),"?");
  77.         sqlQueryObjectInsert.addInsertField(this.getAllarmeHistoryFieldConverter().toColumn(AllarmeHistory.model().DETTAGLIO_STATO,false),"?");
  78.         sqlQueryObjectInsert.addInsertField(this.getAllarmeHistoryFieldConverter().toColumn(AllarmeHistory.model().ACKNOWLEDGED,false),"?");
  79.         sqlQueryObjectInsert.addInsertField(this.getAllarmeHistoryFieldConverter().toColumn(AllarmeHistory.model().TIMESTAMP_UPDATE,false),"?");
  80.         sqlQueryObjectInsert.addInsertField(this.getAllarmeHistoryFieldConverter().toColumn(AllarmeHistory.model().UTENTE,false),"?");
  81.         sqlQueryObjectInsert.addInsertField("id_allarme","?");

  82.         // Insert allarmeHistory
  83.         org.openspcoop2.utils.jdbc.IKeyGeneratorObject keyGenerator = this.getAllarmeHistoryFetch().getKeyGeneratorObject(AllarmeHistory.model());
  84.         long id = jdbcUtilities.insertAndReturnGeneratedKey(sqlQueryObjectInsert, keyGenerator, jdbcProperties.isShowSql(),
  85.             new org.openspcoop2.generic_project.dao.jdbc.utils.JDBCObject(allarmeHistory.getEnabled(),AllarmeHistory.model().ENABLED.getFieldType()),
  86.             new org.openspcoop2.generic_project.dao.jdbc.utils.JDBCObject(allarmeHistory.getStato(),AllarmeHistory.model().STATO.getFieldType()),
  87.             new org.openspcoop2.generic_project.dao.jdbc.utils.JDBCObject(allarmeHistory.getDettaglioStato(),AllarmeHistory.model().DETTAGLIO_STATO.getFieldType()),
  88.             new org.openspcoop2.generic_project.dao.jdbc.utils.JDBCObject(allarmeHistory.getAcknowledged(),AllarmeHistory.model().ACKNOWLEDGED.getFieldType()),
  89.             new org.openspcoop2.generic_project.dao.jdbc.utils.JDBCObject(allarmeHistory.getTimestampUpdate(),AllarmeHistory.model().TIMESTAMP_UPDATE.getFieldType()),
  90.             new org.openspcoop2.generic_project.dao.jdbc.utils.JDBCObject(allarmeHistory.getUtente(),AllarmeHistory.model().UTENTE.getFieldType()),
  91.             new org.openspcoop2.generic_project.dao.jdbc.utils.JDBCObject(idAllarme,Long.class)
  92.         );
  93.         allarmeHistory.setId(id);

  94.     }

  95.     @Override
  96.     public void update(JDBCServiceManagerProperties jdbcProperties, Logger log, Connection connection, ISQLQueryObject sqlQueryObject, AllarmeHistory allarmeHistory, org.openspcoop2.generic_project.beans.IDMappingBehaviour idMappingResolutionBehaviour) throws NotFoundException, NotImplementedException, ServiceException, Exception {
  97.        
  98.         Long tableId = allarmeHistory.getId();
  99.         if(tableId==null || tableId<=0){
  100.             throw new ServiceException("Retrieve tableId failed");
  101.         }

  102.         this.update(jdbcProperties, log, connection, sqlQueryObject, tableId, allarmeHistory, idMappingResolutionBehaviour);
  103.     }
  104.     @Override
  105.     public void update(JDBCServiceManagerProperties jdbcProperties, Logger log, Connection connection, ISQLQueryObject sqlQueryObject, long tableId, AllarmeHistory allarmeHistory, org.openspcoop2.generic_project.beans.IDMappingBehaviour idMappingResolutionBehaviour) throws NotFoundException, NotImplementedException, ServiceException, Exception {
  106.    
  107.         org.openspcoop2.generic_project.dao.jdbc.utils.JDBCPreparedStatementUtilities jdbcUtilities =
  108.                 new org.openspcoop2.generic_project.dao.jdbc.utils.JDBCPreparedStatementUtilities(sqlQueryObject.getTipoDatabaseOpenSPCoop2(), log, connection);
  109.        
  110.         ISQLQueryObject sqlQueryObjectInsert = sqlQueryObject.newSQLQueryObject();
  111.         ISQLQueryObject sqlQueryObjectDelete = sqlQueryObjectInsert.newSQLQueryObject();
  112.         ISQLQueryObject sqlQueryObjectGet = sqlQueryObjectDelete.newSQLQueryObject();
  113.         ISQLQueryObject sqlQueryObjectUpdate = sqlQueryObjectGet.newSQLQueryObject();
  114.        
  115.         boolean setIdMappingResolutionBehaviour =
  116.             (idMappingResolutionBehaviour==null) ||
  117.             org.openspcoop2.generic_project.beans.IDMappingBehaviour.ENABLED.equals(idMappingResolutionBehaviour) ||
  118.             org.openspcoop2.generic_project.beans.IDMappingBehaviour.USE_TABLE_ID.equals(idMappingResolutionBehaviour);
  119.            

  120.         // Object _allarme
  121.         Long idAllarme = null;
  122.         org.openspcoop2.core.allarmi.IdAllarme idLogicAllarme = null;
  123.         idLogicAllarme = allarmeHistory.getIdAllarme();
  124.         if(idLogicAllarme!=null){
  125.             if(idMappingResolutionBehaviour==null ||
  126.                 (org.openspcoop2.generic_project.beans.IDMappingBehaviour.ENABLED.equals(idMappingResolutionBehaviour))){
  127.                 idAllarme = ((JDBCAllarmeServiceSearch)(this.getServiceManager().getAllarmeServiceSearch())).findTableId(idLogicAllarme, false);
  128.             }
  129.             else if(org.openspcoop2.generic_project.beans.IDMappingBehaviour.USE_TABLE_ID.equals(idMappingResolutionBehaviour)){
  130.                 idAllarme = idLogicAllarme.getId();
  131.                 if(idAllarme==null || idAllarme<=0){
  132.                     throw new ServiceException("Logic id not contains table id");
  133.                 }
  134.             }
  135.         }
  136.         else {
  137.             throw new ServiceException("IdAllarme not defined");
  138.         }


  139.         // Object allarmeHistory
  140.         sqlQueryObjectUpdate.setANDLogicOperator(true);
  141.         sqlQueryObjectUpdate.addUpdateTable(this.getAllarmeHistoryFieldConverter().toTable(AllarmeHistory.model()));
  142.         boolean isUpdate = true;
  143.         java.util.List<JDBCObject> lstObjects = new java.util.ArrayList<>();
  144.         sqlQueryObjectUpdate.addUpdateField(this.getAllarmeHistoryFieldConverter().toColumn(AllarmeHistory.model().ENABLED,false), "?");
  145.         lstObjects.add(new JDBCObject(allarmeHistory.getEnabled(), AllarmeHistory.model().ENABLED.getFieldType()));
  146.         sqlQueryObjectUpdate.addUpdateField(this.getAllarmeHistoryFieldConverter().toColumn(AllarmeHistory.model().STATO,false), "?");
  147.         lstObjects.add(new JDBCObject(allarmeHistory.getStato(), AllarmeHistory.model().STATO.getFieldType()));
  148.         sqlQueryObjectUpdate.addUpdateField(this.getAllarmeHistoryFieldConverter().toColumn(AllarmeHistory.model().DETTAGLIO_STATO,false), "?");
  149.         lstObjects.add(new JDBCObject(allarmeHistory.getDettaglioStato(), AllarmeHistory.model().DETTAGLIO_STATO.getFieldType()));
  150.         sqlQueryObjectUpdate.addUpdateField(this.getAllarmeHistoryFieldConverter().toColumn(AllarmeHistory.model().ACKNOWLEDGED,false), "?");
  151.         lstObjects.add(new JDBCObject(allarmeHistory.getAcknowledged(), AllarmeHistory.model().ACKNOWLEDGED.getFieldType()));
  152.         sqlQueryObjectUpdate.addUpdateField(this.getAllarmeHistoryFieldConverter().toColumn(AllarmeHistory.model().TIMESTAMP_UPDATE,false), "?");
  153.         lstObjects.add(new JDBCObject(allarmeHistory.getTimestampUpdate(), AllarmeHistory.model().TIMESTAMP_UPDATE.getFieldType()));
  154.         sqlQueryObjectUpdate.addUpdateField(this.getAllarmeHistoryFieldConverter().toColumn(AllarmeHistory.model().UTENTE,false), "?");
  155.         lstObjects.add(new JDBCObject(allarmeHistory.getUtente(), AllarmeHistory.model().UTENTE.getFieldType()));
  156.         if(setIdMappingResolutionBehaviour){
  157.             sqlQueryObjectUpdate.addUpdateField("id_allarme","?");
  158.         }
  159.         if(setIdMappingResolutionBehaviour){
  160.             lstObjects.add(new JDBCObject(idAllarme, Long.class));
  161.         }
  162.         sqlQueryObjectUpdate.addWhereCondition("id=?");
  163.         lstObjects.add(new JDBCObject(tableId, Long.class));

  164.         if(isUpdate) {
  165.             // Update allarmeHistory
  166.             jdbcUtilities.executeUpdate(sqlQueryObjectUpdate.createSQLUpdate(), jdbcProperties.isShowSql(),
  167.                 lstObjects.toArray(new JDBCObject[]{}));
  168.         }

  169.     }
  170.    
  171.     @Override
  172.     public void updateFields(JDBCServiceManagerProperties jdbcProperties, Logger log, Connection connection, ISQLQueryObject sqlQueryObject, AllarmeHistory allarmeHistory, UpdateField ... updateFields) throws NotFoundException, NotImplementedException, ServiceException, Exception {
  173.        
  174.         GenericJDBCUtilities.updateFields(jdbcProperties, log, connection, sqlQueryObject,
  175.                 this.getAllarmeHistoryFieldConverter().toTable(AllarmeHistory.model()),
  176.                 this.getMapTableToPKColumnEngine(),
  177.                 this.getRootTablePrimaryKeyValuesEngine(log, connection, sqlQueryObject, allarmeHistory),
  178.                 this.getAllarmeHistoryFieldConverter(), this, null, updateFields);
  179.     }
  180.    
  181.     @Override
  182.     public void updateFields(JDBCServiceManagerProperties jdbcProperties, Logger log, Connection connection, ISQLQueryObject sqlQueryObject, AllarmeHistory allarmeHistory, IExpression condition, UpdateField ... updateFields) throws NotFoundException, NotImplementedException, ServiceException, Exception {
  183.        
  184.         GenericJDBCUtilities.updateFields(jdbcProperties, log, connection, sqlQueryObject,
  185.                 this.getAllarmeHistoryFieldConverter().toTable(AllarmeHistory.model()),
  186.                 this.getMapTableToPKColumnEngine(),
  187.                 this.getRootTablePrimaryKeyValuesEngine(log, connection, sqlQueryObject, allarmeHistory),
  188.                 this.getAllarmeHistoryFieldConverter(), this, condition, updateFields);
  189.     }
  190.    
  191.     @Override
  192.     public void updateFields(JDBCServiceManagerProperties jdbcProperties, Logger log, Connection connection, ISQLQueryObject sqlQueryObject, AllarmeHistory allarmeHistory, UpdateModel ... updateModels) throws NotFoundException, NotImplementedException, ServiceException, Exception {
  193.        
  194.         GenericJDBCUtilities.updateFields(jdbcProperties, log, connection, sqlQueryObject,
  195.                 this.getAllarmeHistoryFieldConverter().toTable(AllarmeHistory.model()),
  196.                 this.getMapTableToPKColumnEngine(),
  197.                 this.getRootTablePrimaryKeyValuesEngine(log, connection, sqlQueryObject, allarmeHistory),
  198.                 this.getAllarmeHistoryFieldConverter(), this, updateModels);
  199.     }  
  200.    
  201.     @Override
  202.     public void updateFields(JDBCServiceManagerProperties jdbcProperties, Logger log, Connection connection, ISQLQueryObject sqlQueryObject, long tableId, UpdateField ... updateFields) throws NotFoundException, NotImplementedException, ServiceException, Exception {
  203.         java.util.List<Object> ids = new java.util.ArrayList<>();
  204.         ids.add(tableId);
  205.         GenericJDBCUtilities.updateFields(jdbcProperties, log, connection, sqlQueryObject,
  206.                 this.getAllarmeHistoryFieldConverter().toTable(AllarmeHistory.model()),
  207.                 this.getMapTableToPKColumnEngine(),
  208.                 ids,
  209.                 this.getAllarmeHistoryFieldConverter(), this, null, updateFields);
  210.     }
  211.    
  212.     @Override
  213.     public void updateFields(JDBCServiceManagerProperties jdbcProperties, Logger log, Connection connection, ISQLQueryObject sqlQueryObject, long tableId, IExpression condition, UpdateField ... updateFields) throws NotFoundException, NotImplementedException, ServiceException, Exception {
  214.         java.util.List<Object> ids = new java.util.ArrayList<>();
  215.         ids.add(tableId);
  216.         GenericJDBCUtilities.updateFields(jdbcProperties, log, connection, sqlQueryObject,
  217.                 this.getAllarmeHistoryFieldConverter().toTable(AllarmeHistory.model()),
  218.                 this.getMapTableToPKColumnEngine(),
  219.                 ids,
  220.                 this.getAllarmeHistoryFieldConverter(), this, condition, updateFields);
  221.     }
  222.    
  223.     @Override
  224.     public void updateFields(JDBCServiceManagerProperties jdbcProperties, Logger log, Connection connection, ISQLQueryObject sqlQueryObject, long tableId, UpdateModel ... updateModels) throws NotFoundException, NotImplementedException, ServiceException, Exception {
  225.         java.util.List<Object> ids = new java.util.ArrayList<>();
  226.         ids.add(tableId);
  227.         GenericJDBCUtilities.updateFields(jdbcProperties, log, connection, sqlQueryObject,
  228.                 this.getAllarmeHistoryFieldConverter().toTable(AllarmeHistory.model()),
  229.                 this.getMapTableToPKColumnEngine(),
  230.                 ids,
  231.                 this.getAllarmeHistoryFieldConverter(), this, updateModels);
  232.     }
  233.    
  234.     @Override
  235.     public void updateOrCreate(JDBCServiceManagerProperties jdbcProperties, Logger log, Connection connection, ISQLQueryObject sqlQueryObject, AllarmeHistory allarmeHistory, org.openspcoop2.generic_project.beans.IDMappingBehaviour idMappingResolutionBehaviour) throws NotImplementedException,ServiceException,Exception {
  236.    
  237.         Long id = allarmeHistory.getId();
  238.         if(id != null && this.exists(jdbcProperties, log, connection, sqlQueryObject, id)) {
  239.             this.update(jdbcProperties, log, connection, sqlQueryObject, allarmeHistory,idMappingResolutionBehaviour);      
  240.         } else {
  241.             this.create(jdbcProperties, log, connection, sqlQueryObject, allarmeHistory,idMappingResolutionBehaviour);
  242.         }
  243.        
  244.     }
  245.    
  246.     @Override
  247.     public void updateOrCreate(JDBCServiceManagerProperties jdbcProperties, Logger log, Connection connection, ISQLQueryObject sqlQueryObject, long tableId, AllarmeHistory allarmeHistory, org.openspcoop2.generic_project.beans.IDMappingBehaviour idMappingResolutionBehaviour) throws NotImplementedException,ServiceException,Exception {
  248.         if(this.exists(jdbcProperties, log, connection, sqlQueryObject, tableId)) {
  249.             this.update(jdbcProperties, log, connection, sqlQueryObject, tableId, allarmeHistory,idMappingResolutionBehaviour);
  250.         } else {
  251.             this.create(jdbcProperties, log, connection, sqlQueryObject, allarmeHistory,idMappingResolutionBehaviour);
  252.         }
  253.     }
  254.    
  255.     @Override
  256.     public void delete(JDBCServiceManagerProperties jdbcProperties, Logger log, Connection connection, ISQLQueryObject sqlQueryObject, AllarmeHistory allarmeHistory) throws NotImplementedException,ServiceException,Exception {
  257.        
  258.        
  259.         Long longId = null;
  260.         if(allarmeHistory.getId()==null){
  261.             throw new ServiceException("Parameter "+allarmeHistory.getClass().getName()+".id is null");
  262.         }
  263.         if(allarmeHistory.getId()<=0){
  264.             throw new ServiceException("Parameter "+allarmeHistory.getClass().getName()+".id is less equals 0");
  265.         }
  266.         longId = allarmeHistory.getId();
  267.        
  268.         this.deleteEngine(jdbcProperties, log, connection, sqlQueryObject, longId);
  269.        
  270.     }

  271.     private void deleteEngine(JDBCServiceManagerProperties jdbcProperties, Logger log, Connection connection, ISQLQueryObject sqlQueryObject, Long id) throws NotImplementedException,ServiceException,Exception {
  272.    
  273.         if(id!=null && id.longValue()<=0){
  274.             throw new ServiceException("Id is less equals 0");
  275.         }
  276.        
  277.         org.openspcoop2.generic_project.dao.jdbc.utils.JDBCPreparedStatementUtilities jdbcUtilities =
  278.                 new org.openspcoop2.generic_project.dao.jdbc.utils.JDBCPreparedStatementUtilities(sqlQueryObject.getTipoDatabaseOpenSPCoop2(), log, connection);
  279.        
  280.         ISQLQueryObject sqlQueryObjectDelete = sqlQueryObject.newSQLQueryObject();
  281.        

  282.         // Object allarmeHistory
  283.         sqlQueryObjectDelete.setANDLogicOperator(true);
  284.         sqlQueryObjectDelete.addDeleteTable(this.getAllarmeHistoryFieldConverter().toTable(AllarmeHistory.model()));
  285.         if(id != null)
  286.             sqlQueryObjectDelete.addWhereCondition("id=?");

  287.         // Delete allarmeHistory
  288.         jdbcUtilities.execute(sqlQueryObjectDelete.createSQLDelete(), jdbcProperties.isShowSql(),
  289.             new JDBCObject(id,Long.class));

  290.     }

  291.    
  292.     @Override
  293.     public NonNegativeNumber deleteAll(JDBCServiceManagerProperties jdbcProperties, Logger log, Connection connection, ISQLQueryObject sqlQueryObject) throws NotImplementedException,ServiceException,Exception {
  294.        
  295.         return this.deleteAll(jdbcProperties, log, connection, sqlQueryObject, new JDBCExpression(this.getAllarmeHistoryFieldConverter()));

  296.     }

  297.     @Override
  298.     public NonNegativeNumber deleteAll(JDBCServiceManagerProperties jdbcProperties, Logger log, Connection connection, ISQLQueryObject sqlQueryObject, JDBCExpression expression) throws NotImplementedException, ServiceException,Exception {

  299.         java.util.List<Long> lst = this.findAllTableIds(jdbcProperties, log, connection, sqlQueryObject, new JDBCPaginatedExpression(expression));
  300.        
  301.         for(Long id : lst) {
  302.             this.deleteEngine(jdbcProperties, log, connection, sqlQueryObject, id);
  303.         }
  304.        
  305.         return new NonNegativeNumber(lst.size());
  306.    
  307.     }



  308.     // -- DB
  309.    
  310.     @Override
  311.     public void deleteById(JDBCServiceManagerProperties jdbcProperties, Logger log, Connection connection, ISQLQueryObject sqlQueryObject, long tableId) throws ServiceException, NotImplementedException, Exception {
  312.         this.deleteEngine(jdbcProperties, log, connection, sqlQueryObject, Long.valueOf(tableId));
  313.     }
  314.    
  315.     @Override
  316.     public int nativeUpdate(JDBCServiceManagerProperties jdbcProperties, Logger log,Connection connection,ISQLQueryObject sqlObject, String sql,Object ... param) throws ServiceException,NotImplementedException, Exception {
  317.    
  318.         return org.openspcoop2.generic_project.dao.jdbc.utils.GenericJDBCUtilities.nativeUpdate(jdbcProperties, log, connection, sqlObject,
  319.                                                                                             sql,param);
  320.    
  321.     }
  322. }