AccordoServizioParteComuneFetch.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.commons.search.dao.jdbc.fetch;

  21. import org.openspcoop2.generic_project.beans.IModel;
  22. import org.openspcoop2.generic_project.dao.jdbc.utils.AbstractJDBCFetch;
  23. import org.openspcoop2.generic_project.dao.jdbc.utils.GenericJDBCParameterUtilities;
  24. import org.openspcoop2.generic_project.exception.ServiceException;

  25. import java.sql.ResultSet;
  26. import java.util.Map;

  27. import org.openspcoop2.utils.TipiDatabase;
  28. import org.openspcoop2.utils.jdbc.IKeyGeneratorObject;

  29. import org.openspcoop2.core.commons.search.AccordoServizioParteComune;
  30. import org.openspcoop2.core.commons.search.Operation;
  31. import org.openspcoop2.core.commons.search.AccordoServizioParteComuneAzione;
  32. import org.openspcoop2.core.commons.search.AccordoServizioParteComuneGruppo;
  33. import org.openspcoop2.core.commons.search.PortType;
  34. import org.openspcoop2.core.commons.search.Resource;
  35. import org.openspcoop2.core.constants.CostantiDB;


  36. /**    
  37.  * AccordoServizioParteComuneFetch
  38.  *
  39.  * @author Poli Andrea (poli@link.it)
  40.  * @author $Author$
  41.  * @version $Rev$, $Date$
  42.  */
  43. public class AccordoServizioParteComuneFetch extends AbstractJDBCFetch {

  44.     @Override
  45.     public Object fetch(TipiDatabase tipoDatabase, IModel<?> model , ResultSet rs) throws ServiceException {
  46.        
  47.         try{
  48.             GenericJDBCParameterUtilities jdbcParameterUtilities =  
  49.                     new GenericJDBCParameterUtilities(tipoDatabase);

  50.             if(model.equals(AccordoServizioParteComune.model())){
  51.                 AccordoServizioParteComune object = new AccordoServizioParteComune();
  52.                 setParameter(object, "setId", Long.class,
  53.                     jdbcParameterUtilities.readParameter(rs, "id", Long.class));
  54.                 setParameter(object, "setNome", AccordoServizioParteComune.model().NOME.getFieldType(),
  55.                     jdbcParameterUtilities.readParameter(rs, "nome", AccordoServizioParteComune.model().NOME.getFieldType()));
  56.                 setParameter(object, "setVersione", AccordoServizioParteComune.model().VERSIONE.getFieldType(),
  57.                     jdbcParameterUtilities.readParameter(rs, "versione", AccordoServizioParteComune.model().VERSIONE.getFieldType()));
  58.                 setParameter(object, "setServiceBinding", AccordoServizioParteComune.model().SERVICE_BINDING.getFieldType(),
  59.                     jdbcParameterUtilities.readParameter(rs, "service_binding", AccordoServizioParteComune.model().SERVICE_BINDING.getFieldType()));
  60.                 setParameter(object, "setCanale", AccordoServizioParteComune.model().CANALE.getFieldType(),
  61.                     jdbcParameterUtilities.readParameter(rs, "canale", AccordoServizioParteComune.model().CANALE.getFieldType()));
  62.                 return object;
  63.             }
  64.             if(model.equals(AccordoServizioParteComune.model().ACCORDO_SERVIZIO_PARTE_COMUNE_AZIONE)){
  65.                 AccordoServizioParteComuneAzione object = new AccordoServizioParteComuneAzione();
  66.                 setParameter(object, "setId", Long.class,
  67.                     jdbcParameterUtilities.readParameter(rs, "id", Long.class));
  68.                 setParameter(object, "setNome", AccordoServizioParteComune.model().ACCORDO_SERVIZIO_PARTE_COMUNE_AZIONE.NOME.getFieldType(),
  69.                     jdbcParameterUtilities.readParameter(rs, "nome", AccordoServizioParteComune.model().ACCORDO_SERVIZIO_PARTE_COMUNE_AZIONE.NOME.getFieldType()));
  70.                 return object;
  71.             }
  72.             if(model.equals(AccordoServizioParteComune.model().PORT_TYPE)){
  73.                 PortType object = new PortType();
  74.                 setParameter(object, "setId", Long.class,
  75.                     jdbcParameterUtilities.readParameter(rs, "id", Long.class));
  76.                 setParameter(object, "setNome", AccordoServizioParteComune.model().PORT_TYPE.NOME.getFieldType(),
  77.                     jdbcParameterUtilities.readParameter(rs, "nome", AccordoServizioParteComune.model().PORT_TYPE.NOME.getFieldType()));
  78.                 return object;
  79.             }
  80.             if(model.equals(AccordoServizioParteComune.model().PORT_TYPE.OPERATION)){
  81.                 Operation object = new Operation();
  82.                 setParameter(object, "setId", Long.class,
  83.                     jdbcParameterUtilities.readParameter(rs, "id", Long.class));
  84.                 setParameter(object, "setNome", AccordoServizioParteComune.model().PORT_TYPE.OPERATION.NOME.getFieldType(),
  85.                     jdbcParameterUtilities.readParameter(rs, "nome", AccordoServizioParteComune.model().PORT_TYPE.OPERATION.NOME.getFieldType()));
  86.                 return object;
  87.             }
  88.             if(model.equals(AccordoServizioParteComune.model().RESOURCE)){
  89.                 Resource object = new Resource();
  90.                 setParameter(object, "setId", Long.class,
  91.                     jdbcParameterUtilities.readParameter(rs, "id", Long.class));
  92.                 setParameter(object, "setNome", AccordoServizioParteComune.model().RESOURCE.NOME.getFieldType(),
  93.                     jdbcParameterUtilities.readParameter(rs, "nome", AccordoServizioParteComune.model().RESOURCE.NOME.getFieldType()));
  94.                 setParameter(object, "setHttpMethod", AccordoServizioParteComune.model().RESOURCE.HTTP_METHOD.getFieldType(),
  95.                     jdbcParameterUtilities.readParameter(rs, "http_method", AccordoServizioParteComune.model().RESOURCE.HTTP_METHOD.getFieldType()));
  96.                 setParameter(object, "setPath", AccordoServizioParteComune.model().RESOURCE.PATH.getFieldType(),
  97.                     jdbcParameterUtilities.readParameter(rs, "path", AccordoServizioParteComune.model().RESOURCE.PATH.getFieldType()));
  98.                 return object;
  99.             }
  100.             if(model.equals(AccordoServizioParteComune.model().ACCORDO_SERVIZIO_PARTE_COMUNE_GRUPPO)){
  101.                 AccordoServizioParteComuneGruppo object = new AccordoServizioParteComuneGruppo();
  102.                 setParameter(object, "setId", Long.class,
  103.                     jdbcParameterUtilities.readParameter(rs, "id", Long.class));
  104.                 return object;
  105.             }
  106.            
  107.             else{
  108.                 throw new ServiceException("Model ["+model.toString()+"] not supported by fetch: "+this.getClass().getName());
  109.             }  
  110.                    
  111.         }catch(Exception e){
  112.             throw new ServiceException("Model ["+model.toString()+"] occurs error in fetch: "+e.getMessage(),e);
  113.         }
  114.        
  115.     }
  116.    
  117.     @Override
  118.     public Object fetch(TipiDatabase tipoDatabase, IModel<?> model , Map<String,Object> map ) throws ServiceException {
  119.        
  120.         try{

  121.             if(model.equals(AccordoServizioParteComune.model())){
  122.                 AccordoServizioParteComune object = new AccordoServizioParteComune();
  123.                 setParameter(object, "setId", Long.class,
  124.                     this.getObjectFromMap(map,"id"));
  125.                 setParameter(object, "setNome", AccordoServizioParteComune.model().NOME.getFieldType(),
  126.                     this.getObjectFromMap(map,"nome"));
  127.                 setParameter(object, "setVersione", AccordoServizioParteComune.model().VERSIONE.getFieldType(),
  128.                     this.getObjectFromMap(map,"versione"));
  129.                 setParameter(object, "setServiceBinding", AccordoServizioParteComune.model().SERVICE_BINDING.getFieldType(),
  130.                     this.getObjectFromMap(map,"service-binding"));
  131.                 setParameter(object, "setCanale", AccordoServizioParteComune.model().CANALE.getFieldType(),
  132.                     this.getObjectFromMap(map,"canale"));
  133.                 return object;
  134.             }
  135.             if(model.equals(AccordoServizioParteComune.model().ACCORDO_SERVIZIO_PARTE_COMUNE_AZIONE)){
  136.                 AccordoServizioParteComuneAzione object = new AccordoServizioParteComuneAzione();
  137.                 setParameter(object, "setId", Long.class,
  138.                     this.getObjectFromMap(map,"accordo-servizio-parte-comune-azione.id"));
  139.                 setParameter(object, "setNome", AccordoServizioParteComune.model().ACCORDO_SERVIZIO_PARTE_COMUNE_AZIONE.NOME.getFieldType(),
  140.                     this.getObjectFromMap(map,"accordo-servizio-parte-comune-azione.nome"));
  141.                 return object;
  142.             }
  143.             if(model.equals(AccordoServizioParteComune.model().PORT_TYPE)){
  144.                 PortType object = new PortType();
  145.                 setParameter(object, "setId", Long.class,
  146.                     this.getObjectFromMap(map,"port-type.id"));
  147.                 setParameter(object, "setNome", AccordoServizioParteComune.model().PORT_TYPE.NOME.getFieldType(),
  148.                     this.getObjectFromMap(map,"port-type.nome"));
  149.                 return object;
  150.             }
  151.             if(model.equals(AccordoServizioParteComune.model().PORT_TYPE.OPERATION)){
  152.                 Operation object = new Operation();
  153.                 setParameter(object, "setId", Long.class,
  154.                     this.getObjectFromMap(map,"port-type.operation.id"));
  155.                 setParameter(object, "setNome", AccordoServizioParteComune.model().PORT_TYPE.OPERATION.NOME.getFieldType(),
  156.                     this.getObjectFromMap(map,"port-type.operation.nome"));
  157.                 return object;
  158.             }
  159.             if(model.equals(AccordoServizioParteComune.model().RESOURCE)){
  160.                 Resource object = new Resource();
  161.                 setParameter(object, "setId", Long.class,
  162.                     this.getObjectFromMap(map,"resource.id"));
  163.                 setParameter(object, "setNome", AccordoServizioParteComune.model().RESOURCE.NOME.getFieldType(),
  164.                     this.getObjectFromMap(map,"resource.nome"));
  165.                 setParameter(object, "setHttpMethod", AccordoServizioParteComune.model().RESOURCE.HTTP_METHOD.getFieldType(),
  166.                     this.getObjectFromMap(map,"resource.http-method"));
  167.                 setParameter(object, "setPath", AccordoServizioParteComune.model().RESOURCE.PATH.getFieldType(),
  168.                     this.getObjectFromMap(map,"resource.path"));
  169.                 return object;
  170.             }
  171.             if(model.equals(AccordoServizioParteComune.model().ACCORDO_SERVIZIO_PARTE_COMUNE_GRUPPO)){
  172.                 AccordoServizioParteComuneGruppo object = new AccordoServizioParteComuneGruppo();
  173.                 setParameter(object, "setId", Long.class,
  174.                     this.getObjectFromMap(map,"accordo-servizio-parte-comune-gruppo.id"));
  175.                 return object;
  176.             }
  177.            
  178.             else{
  179.                 throw new ServiceException("Model ["+model.toString()+"] not supported by fetch: "+this.getClass().getName());
  180.             }  
  181.                    
  182.         }catch(Exception e){
  183.             throw new ServiceException("Model ["+model.toString()+"] occurs error in fetch: "+e.getMessage(),e);
  184.         }
  185.        
  186.     }
  187.    
  188.    
  189.     @Override
  190.     public IKeyGeneratorObject getKeyGeneratorObject( IModel<?> model )  throws ServiceException {
  191.        
  192.         try{

  193.             if(model.equals(AccordoServizioParteComune.model())){
  194.                 return new org.openspcoop2.utils.jdbc.CustomKeyGeneratorObject(CostantiDB.ACCORDI,"id","seq_"+CostantiDB.ACCORDI,CostantiDB.ACCORDI+"_init_seq");
  195.             }
  196.             if(model.equals(AccordoServizioParteComune.model().ACCORDO_SERVIZIO_PARTE_COMUNE_AZIONE)){
  197.                 return new org.openspcoop2.utils.jdbc.CustomKeyGeneratorObject(CostantiDB.ACCORDI_AZIONI,"id","seq_"+CostantiDB.ACCORDI_AZIONI,CostantiDB.ACCORDI_AZIONI+"_init_seq");
  198.             }
  199.             if(model.equals(AccordoServizioParteComune.model().PORT_TYPE)){
  200.                 return new org.openspcoop2.utils.jdbc.CustomKeyGeneratorObject(CostantiDB.PORT_TYPE,"id","seq_"+CostantiDB.PORT_TYPE,CostantiDB.PORT_TYPE+"_init_seq");
  201.             }
  202.             if(model.equals(AccordoServizioParteComune.model().PORT_TYPE.OPERATION)){
  203.                 return new org.openspcoop2.utils.jdbc.CustomKeyGeneratorObject(CostantiDB.PORT_TYPE_AZIONI,"id","seq_"+CostantiDB.PORT_TYPE_AZIONI,CostantiDB.PORT_TYPE_AZIONI+"_init_seq");
  204.             }
  205.             if(model.equals(AccordoServizioParteComune.model().RESOURCE)){
  206.                 return new org.openspcoop2.utils.jdbc.CustomKeyGeneratorObject(CostantiDB.API_RESOURCES,"id","seq_"+CostantiDB.API_RESOURCES,CostantiDB.API_RESOURCES+"_init_seq");
  207.             }
  208.             if(model.equals(AccordoServizioParteComune.model().ACCORDO_SERVIZIO_PARTE_COMUNE_GRUPPO)){
  209.                 return new org.openspcoop2.utils.jdbc.CustomKeyGeneratorObject(CostantiDB.ACCORDI_GRUPPI,"id","seq_"+CostantiDB.ACCORDI_GRUPPI,CostantiDB.ACCORDI_GRUPPI+"_init_seq");
  210.             }
  211.            
  212.             else{
  213.                 throw new ServiceException("Model ["+model.toString()+"] not supported by getKeyGeneratorObject: "+this.getClass().getName());
  214.             }

  215.         }catch(Exception e){
  216.             throw new ServiceException("Model ["+model.toString()+"] occurs error in getKeyGeneratorObject: "+e.getMessage(),e);
  217.         }
  218.        
  219.     }

  220. }