DumpMessaggioFetch.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.transazioni.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.transazioni.DumpMultipartHeader;
  30. import org.openspcoop2.core.transazioni.utils.DumpUtils;
  31. import org.openspcoop2.core.transazioni.DumpHeaderAllegato;
  32. import org.openspcoop2.core.transazioni.DumpMessaggio;
  33. import org.openspcoop2.core.transazioni.DumpHeaderTrasporto;
  34. import org.openspcoop2.core.transazioni.DumpAllegato;
  35. import org.openspcoop2.core.transazioni.DumpContenuto;


  36. /**    
  37.  * DumpMessaggioFetch
  38.  *
  39.  * @author Poli Andrea (poli@link.it)
  40.  * @author $Author$
  41.  * @version $Rev$, $Date$
  42.  */
  43. public class DumpMessaggioFetch 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(DumpMessaggio.model())){
  51.                 DumpMessaggio object = new DumpMessaggio();
  52.                 setParameter(object, "setId", Long.class,
  53.                     jdbcParameterUtilities.readParameter(rs, "id", Long.class));
  54.                 setParameter(object, "setIdTransazione", DumpMessaggio.model().ID_TRANSAZIONE.getFieldType(),
  55.                     jdbcParameterUtilities.readParameter(rs, "id_transazione", DumpMessaggio.model().ID_TRANSAZIONE.getFieldType()));
  56.                 setParameter(object, "setProtocollo", DumpMessaggio.model().PROTOCOLLO.getFieldType(),
  57.                     jdbcParameterUtilities.readParameter(rs, "protocollo", DumpMessaggio.model().PROTOCOLLO.getFieldType()));
  58.                 setParameter(object, "setServizioApplicativoErogatore", DumpMessaggio.model().SERVIZIO_APPLICATIVO_EROGATORE.getFieldType(),
  59.                     jdbcParameterUtilities.readParameter(rs, "servizio_applicativo_erogatore", DumpMessaggio.model().SERVIZIO_APPLICATIVO_EROGATORE.getFieldType()));
  60.                 setParameter(object, "setDataConsegnaErogatore", DumpMessaggio.model().DATA_CONSEGNA_EROGATORE.getFieldType(),
  61.                     jdbcParameterUtilities.readParameter(rs, "data_consegna_erogatore", DumpMessaggio.model().DATA_CONSEGNA_EROGATORE.getFieldType()));
  62.                 setParameter(object, "setTipoMessaggioRawEnumValue", String.class,
  63.                     jdbcParameterUtilities.readParameter(rs, "tipo_messaggio", DumpMessaggio.model().TIPO_MESSAGGIO.getFieldType())+"");
  64.                 setParameter(object, "setFormatoMessaggio", DumpMessaggio.model().FORMATO_MESSAGGIO.getFieldType(),
  65.                     jdbcParameterUtilities.readParameter(rs, "formato_messaggio", DumpMessaggio.model().FORMATO_MESSAGGIO.getFieldType()));
  66.                 setParameter(object, "setContentType", DumpMessaggio.model().CONTENT_TYPE.getFieldType(),
  67.                     jdbcParameterUtilities.readParameter(rs, "content_type", DumpMessaggio.model().CONTENT_TYPE.getFieldType()));
  68.                 setParameter(object, "setContentLength", DumpMessaggio.model().CONTENT_LENGTH.getFieldType(),
  69.                     jdbcParameterUtilities.readParameter(rs, "content_length", DumpMessaggio.model().CONTENT_LENGTH.getFieldType()));
  70.                 setParameter(object, "setMultipartContentType", DumpMessaggio.model().MULTIPART_CONTENT_TYPE.getFieldType(),
  71.                     jdbcParameterUtilities.readParameter(rs, "multipart_content_type", DumpMessaggio.model().MULTIPART_CONTENT_TYPE.getFieldType()));
  72.                 setParameter(object, "setMultipartContentId", DumpMessaggio.model().MULTIPART_CONTENT_ID.getFieldType(),
  73.                     jdbcParameterUtilities.readParameter(rs, "multipart_content_id", DumpMessaggio.model().MULTIPART_CONTENT_ID.getFieldType()));
  74.                 setParameter(object, "setMultipartContentLocation", DumpMessaggio.model().MULTIPART_CONTENT_LOCATION.getFieldType(),
  75.                     jdbcParameterUtilities.readParameter(rs, "multipart_content_location", DumpMessaggio.model().MULTIPART_CONTENT_LOCATION.getFieldType()));
  76.                 setParameter(object, "setBody", DumpMessaggio.model().BODY.getFieldType(),
  77.                     jdbcParameterUtilities.readParameter(rs, DumpUtils.ALIAS_BODY, DumpMessaggio.model().BODY.getFieldType()));
  78.                 setParameter(object, "setDumpTimestamp", DumpMessaggio.model().DUMP_TIMESTAMP.getFieldType(),
  79.                     jdbcParameterUtilities.readParameter(rs, "dump_timestamp", DumpMessaggio.model().DUMP_TIMESTAMP.getFieldType()));
  80.                 setParameter(object, "setPostProcessHeader", DumpMessaggio.model().POST_PROCESS_HEADER.getFieldType(),
  81.                     jdbcParameterUtilities.readParameter(rs, "post_process_header", DumpMessaggio.model().POST_PROCESS_HEADER.getFieldType()));
  82.                 setParameter(object, "setPostProcessFilename", DumpMessaggio.model().POST_PROCESS_FILENAME.getFieldType(),
  83.                     jdbcParameterUtilities.readParameter(rs, "post_process_filename", DumpMessaggio.model().POST_PROCESS_FILENAME.getFieldType()));
  84.                 setParameter(object, "setPostProcessContent", DumpMessaggio.model().POST_PROCESS_CONTENT.getFieldType(),
  85.                     jdbcParameterUtilities.readParameter(rs, "post_process_content", DumpMessaggio.model().POST_PROCESS_CONTENT.getFieldType()));
  86.                 setParameter(object, "setPostProcessConfigId", DumpMessaggio.model().POST_PROCESS_CONFIG_ID.getFieldType(),
  87.                     jdbcParameterUtilities.readParameter(rs, "post_process_config_id", DumpMessaggio.model().POST_PROCESS_CONFIG_ID.getFieldType()));
  88.                 setParameter(object, "setPostProcessTimestamp", DumpMessaggio.model().POST_PROCESS_TIMESTAMP.getFieldType(),
  89.                     jdbcParameterUtilities.readParameter(rs, "post_process_timestamp", DumpMessaggio.model().POST_PROCESS_TIMESTAMP.getFieldType()));
  90.                 setParameter(object, "setPostProcessed", DumpMessaggio.model().POST_PROCESSED.getFieldType(),
  91.                     jdbcParameterUtilities.readParameter(rs, "post_processed", DumpMessaggio.model().POST_PROCESSED.getFieldType()));
  92.                 setParameter(object, "setMultipartHeaderExt", DumpMessaggio.model().MULTIPART_HEADER_EXT.getFieldType(),
  93.                     jdbcParameterUtilities.readParameter(rs, "multipart_header_ext", DumpMessaggio.model().MULTIPART_HEADER_EXT.getFieldType()));
  94.                 setParameter(object, "setHeaderExt", DumpMessaggio.model().HEADER_EXT.getFieldType(),
  95.                     jdbcParameterUtilities.readParameter(rs, "header_ext", DumpMessaggio.model().HEADER_EXT.getFieldType()));
  96.                 return object;
  97.             }
  98.             if(model.equals(DumpMessaggio.model().MULTIPART_HEADER)){
  99.                 DumpMultipartHeader object = new DumpMultipartHeader();
  100.                 setParameter(object, "setId", Long.class,
  101.                     jdbcParameterUtilities.readParameter(rs, "id", Long.class));
  102.                 setParameter(object, "setNome", DumpMessaggio.model().MULTIPART_HEADER.NOME.getFieldType(),
  103.                     jdbcParameterUtilities.readParameter(rs, "nome", DumpMessaggio.model().MULTIPART_HEADER.NOME.getFieldType()));
  104.                 setParameter(object, "setValore", DumpMessaggio.model().MULTIPART_HEADER.VALORE.getFieldType(),
  105.                     jdbcParameterUtilities.readParameter(rs, "valore", DumpMessaggio.model().MULTIPART_HEADER.VALORE.getFieldType()));
  106.                 setParameter(object, "setDumpTimestamp", DumpMessaggio.model().MULTIPART_HEADER.DUMP_TIMESTAMP.getFieldType(),
  107.                     jdbcParameterUtilities.readParameter(rs, "dump_timestamp", DumpMessaggio.model().MULTIPART_HEADER.DUMP_TIMESTAMP.getFieldType()));
  108.                 return object;
  109.             }
  110.             if(model.equals(DumpMessaggio.model().HEADER_TRASPORTO)){
  111.                 DumpHeaderTrasporto object = new DumpHeaderTrasporto();
  112.                 setParameter(object, "setId", Long.class,
  113.                     jdbcParameterUtilities.readParameter(rs, "id", Long.class));
  114.                 setParameter(object, "setNome", DumpMessaggio.model().HEADER_TRASPORTO.NOME.getFieldType(),
  115.                     jdbcParameterUtilities.readParameter(rs, "nome", DumpMessaggio.model().HEADER_TRASPORTO.NOME.getFieldType()));
  116.                 setParameter(object, "setValore", DumpMessaggio.model().HEADER_TRASPORTO.VALORE.getFieldType(),
  117.                     jdbcParameterUtilities.readParameter(rs, "valore", DumpMessaggio.model().HEADER_TRASPORTO.VALORE.getFieldType()));
  118.                 setParameter(object, "setDumpTimestamp", DumpMessaggio.model().HEADER_TRASPORTO.DUMP_TIMESTAMP.getFieldType(),
  119.                     jdbcParameterUtilities.readParameter(rs, "dump_timestamp", DumpMessaggio.model().HEADER_TRASPORTO.DUMP_TIMESTAMP.getFieldType()));
  120.                 return object;
  121.             }
  122.             if(model.equals(DumpMessaggio.model().ALLEGATO)){
  123.                 DumpAllegato object = new DumpAllegato();
  124.                 setParameter(object, "setId", Long.class,
  125.                     jdbcParameterUtilities.readParameter(rs, "id", Long.class));
  126.                 setParameter(object, "setContentType", DumpMessaggio.model().ALLEGATO.CONTENT_TYPE.getFieldType(),
  127.                     jdbcParameterUtilities.readParameter(rs, "content_type", DumpMessaggio.model().ALLEGATO.CONTENT_TYPE.getFieldType()));
  128.                 setParameter(object, "setContentId", DumpMessaggio.model().ALLEGATO.CONTENT_ID.getFieldType(),
  129.                     jdbcParameterUtilities.readParameter(rs, "content_id", DumpMessaggio.model().ALLEGATO.CONTENT_ID.getFieldType()));
  130.                 setParameter(object, "setContentLocation", DumpMessaggio.model().ALLEGATO.CONTENT_LOCATION.getFieldType(),
  131.                     jdbcParameterUtilities.readParameter(rs, "content_location", DumpMessaggio.model().ALLEGATO.CONTENT_LOCATION.getFieldType()));
  132.                 setParameter(object, "setAllegato", DumpMessaggio.model().ALLEGATO.ALLEGATO.getFieldType(),
  133.                     jdbcParameterUtilities.readParameter(rs, "allegato", DumpMessaggio.model().ALLEGATO.ALLEGATO.getFieldType()));
  134.                 setParameter(object, "setDumpTimestamp", DumpMessaggio.model().ALLEGATO.DUMP_TIMESTAMP.getFieldType(),
  135.                     jdbcParameterUtilities.readParameter(rs, "dump_timestamp", DumpMessaggio.model().ALLEGATO.DUMP_TIMESTAMP.getFieldType()));
  136.                 setParameter(object, "setHeaderExt", DumpMessaggio.model().ALLEGATO.HEADER_EXT.getFieldType(),
  137.                     jdbcParameterUtilities.readParameter(rs, "header_ext", DumpMessaggio.model().ALLEGATO.HEADER_EXT.getFieldType()));
  138.                 return object;
  139.             }
  140.             if(model.equals(DumpMessaggio.model().ALLEGATO.HEADER)){
  141.                 DumpHeaderAllegato object = new DumpHeaderAllegato();
  142.                 setParameter(object, "setId", Long.class,
  143.                     jdbcParameterUtilities.readParameter(rs, "id", Long.class));
  144.                 setParameter(object, "setNome", DumpMessaggio.model().ALLEGATO.HEADER.NOME.getFieldType(),
  145.                     jdbcParameterUtilities.readParameter(rs, "nome", DumpMessaggio.model().ALLEGATO.HEADER.NOME.getFieldType()));
  146.                 setParameter(object, "setValore", DumpMessaggio.model().ALLEGATO.HEADER.VALORE.getFieldType(),
  147.                     jdbcParameterUtilities.readParameter(rs, "valore", DumpMessaggio.model().ALLEGATO.HEADER.VALORE.getFieldType()));
  148.                 setParameter(object, "setDumpTimestamp", DumpMessaggio.model().ALLEGATO.HEADER.DUMP_TIMESTAMP.getFieldType(),
  149.                     jdbcParameterUtilities.readParameter(rs, "dump_timestamp", DumpMessaggio.model().ALLEGATO.HEADER.DUMP_TIMESTAMP.getFieldType()));
  150.                 return object;
  151.             }
  152.             if(model.equals(DumpMessaggio.model().CONTENUTO)){
  153.                 DumpContenuto object = new DumpContenuto();
  154.                 setParameter(object, "setId", Long.class,
  155.                     jdbcParameterUtilities.readParameter(rs, "id", Long.class));
  156.                 setParameter(object, "setNome", DumpMessaggio.model().CONTENUTO.NOME.getFieldType(),
  157.                     jdbcParameterUtilities.readParameter(rs, "nome", DumpMessaggio.model().CONTENUTO.NOME.getFieldType()));
  158.                 setParameter(object, "setValore", DumpMessaggio.model().CONTENUTO.VALORE.getFieldType(),
  159.                     jdbcParameterUtilities.readParameter(rs, "valore", DumpMessaggio.model().CONTENUTO.VALORE.getFieldType()));
  160.                 setParameter(object, "setValoreAsBytes", DumpMessaggio.model().CONTENUTO.VALORE_AS_BYTES.getFieldType(),
  161.                     jdbcParameterUtilities.readParameter(rs, "valore_as_bytes", DumpMessaggio.model().CONTENUTO.VALORE_AS_BYTES.getFieldType()));
  162.                 setParameter(object, "setDumpTimestamp", DumpMessaggio.model().CONTENUTO.DUMP_TIMESTAMP.getFieldType(),
  163.                     jdbcParameterUtilities.readParameter(rs, "dump_timestamp", DumpMessaggio.model().CONTENUTO.DUMP_TIMESTAMP.getFieldType()));
  164.                 return object;
  165.             }
  166.            
  167.             else{
  168.                 throw new ServiceException("Model ["+model.toString()+"] not supported by fetch: "+this.getClass().getName());
  169.             }  
  170.                    
  171.         }catch(Exception e){
  172.             throw new ServiceException("Model ["+model.toString()+"] occurs error in fetch: "+e.getMessage(),e);
  173.         }
  174.        
  175.     }
  176.    
  177.     @Override
  178.     public Object fetch(TipiDatabase tipoDatabase, IModel<?> model , Map<String,Object> map ) throws ServiceException {
  179.        
  180.         try{

  181.             if(model.equals(DumpMessaggio.model())){
  182.                 DumpMessaggio object = new DumpMessaggio();
  183.                 setParameter(object, "setId", Long.class,
  184.                     this.getObjectFromMap(map,"id"));
  185.                 setParameter(object, "setIdTransazione", DumpMessaggio.model().ID_TRANSAZIONE.getFieldType(),
  186.                     this.getObjectFromMap(map,"id-transazione"));
  187.                 setParameter(object, "setProtocollo", DumpMessaggio.model().PROTOCOLLO.getFieldType(),
  188.                     this.getObjectFromMap(map,"protocollo"));
  189.                 setParameter(object, "setServizioApplicativoErogatore", DumpMessaggio.model().SERVIZIO_APPLICATIVO_EROGATORE.getFieldType(),
  190.                     this.getObjectFromMap(map,"servizio-applicativo-erogatore"));
  191.                 setParameter(object, "setDataConsegnaErogatore", DumpMessaggio.model().DATA_CONSEGNA_EROGATORE.getFieldType(),
  192.                     this.getObjectFromMap(map,"data-consegna-erogatore"));
  193.                 setParameter(object, "setTipoMessaggioRawEnumValue", String.class,
  194.                     this.getObjectFromMap(map,"tipo-messaggio"));
  195.                 setParameter(object, "setFormatoMessaggio", DumpMessaggio.model().FORMATO_MESSAGGIO.getFieldType(),
  196.                     this.getObjectFromMap(map,"formato-messaggio"));
  197.                 setParameter(object, "setContentType", DumpMessaggio.model().CONTENT_TYPE.getFieldType(),
  198.                     this.getObjectFromMap(map,"content-type"));
  199.                 setParameter(object, "setContentLength", DumpMessaggio.model().CONTENT_LENGTH.getFieldType(),
  200.                     this.getObjectFromMap(map,"content-length"));
  201.                 setParameter(object, "setMultipartContentType", DumpMessaggio.model().MULTIPART_CONTENT_TYPE.getFieldType(),
  202.                     this.getObjectFromMap(map,"multipart-content-type"));
  203.                 setParameter(object, "setMultipartContentId", DumpMessaggio.model().MULTIPART_CONTENT_ID.getFieldType(),
  204.                     this.getObjectFromMap(map,"multipart-content-id"));
  205.                 setParameter(object, "setMultipartContentLocation", DumpMessaggio.model().MULTIPART_CONTENT_LOCATION.getFieldType(),
  206.                     this.getObjectFromMap(map,"multipart-content-location"));
  207.                 setParameter(object, "setBody", DumpMessaggio.model().BODY.getFieldType(),
  208.                     this.getObjectFromMap(map,DumpUtils.ALIAS_BODY));
  209.                 setParameter(object, "setDumpTimestamp", DumpMessaggio.model().DUMP_TIMESTAMP.getFieldType(),
  210.                     this.getObjectFromMap(map,"dump-timestamp"));
  211.                 setParameter(object, "setPostProcessHeader", DumpMessaggio.model().POST_PROCESS_HEADER.getFieldType(),
  212.                     this.getObjectFromMap(map,"post-process-header"));
  213.                 setParameter(object, "setPostProcessFilename", DumpMessaggio.model().POST_PROCESS_FILENAME.getFieldType(),
  214.                     this.getObjectFromMap(map,"post-process-filename"));
  215.                 setParameter(object, "setPostProcessContent", DumpMessaggio.model().POST_PROCESS_CONTENT.getFieldType(),
  216.                     this.getObjectFromMap(map,"post-process-content"));
  217.                 setParameter(object, "setPostProcessConfigId", DumpMessaggio.model().POST_PROCESS_CONFIG_ID.getFieldType(),
  218.                     this.getObjectFromMap(map,"post-process-config-id"));
  219.                 setParameter(object, "setPostProcessTimestamp", DumpMessaggio.model().POST_PROCESS_TIMESTAMP.getFieldType(),
  220.                     this.getObjectFromMap(map,"post-process-timestamp"));
  221.                 setParameter(object, "setPostProcessed", DumpMessaggio.model().POST_PROCESSED.getFieldType(),
  222.                     this.getObjectFromMap(map,"post-processed"));
  223.                 setParameter(object, "setMultipartHeaderExt", DumpMessaggio.model().MULTIPART_HEADER_EXT.getFieldType(),
  224.                     this.getObjectFromMap(map,"multipart-header-ext"));
  225.                 setParameter(object, "setHeaderExt", DumpMessaggio.model().HEADER_EXT.getFieldType(),
  226.                     this.getObjectFromMap(map,"header-ext"));
  227.                 return object;
  228.             }
  229.             if(model.equals(DumpMessaggio.model().MULTIPART_HEADER)){
  230.                 DumpMultipartHeader object = new DumpMultipartHeader();
  231.                 setParameter(object, "setId", Long.class,
  232.                     this.getObjectFromMap(map,"multipart-header.id"));
  233.                 setParameter(object, "setNome", DumpMessaggio.model().MULTIPART_HEADER.NOME.getFieldType(),
  234.                     this.getObjectFromMap(map,"multipart-header.nome"));
  235.                 setParameter(object, "setValore", DumpMessaggio.model().MULTIPART_HEADER.VALORE.getFieldType(),
  236.                     this.getObjectFromMap(map,"multipart-header.valore"));
  237.                 setParameter(object, "setDumpTimestamp", DumpMessaggio.model().MULTIPART_HEADER.DUMP_TIMESTAMP.getFieldType(),
  238.                     this.getObjectFromMap(map,"multipart-header.dump-timestamp"));
  239.                 return object;
  240.             }
  241.             if(model.equals(DumpMessaggio.model().HEADER_TRASPORTO)){
  242.                 DumpHeaderTrasporto object = new DumpHeaderTrasporto();
  243.                 setParameter(object, "setId", Long.class,
  244.                     this.getObjectFromMap(map,"header-trasporto.id"));
  245.                 setParameter(object, "setNome", DumpMessaggio.model().HEADER_TRASPORTO.NOME.getFieldType(),
  246.                     this.getObjectFromMap(map,"header-trasporto.nome"));
  247.                 setParameter(object, "setValore", DumpMessaggio.model().HEADER_TRASPORTO.VALORE.getFieldType(),
  248.                     this.getObjectFromMap(map,"header-trasporto.valore"));
  249.                 setParameter(object, "setDumpTimestamp", DumpMessaggio.model().HEADER_TRASPORTO.DUMP_TIMESTAMP.getFieldType(),
  250.                     this.getObjectFromMap(map,"header-trasporto.dump-timestamp"));
  251.                 return object;
  252.             }
  253.             if(model.equals(DumpMessaggio.model().ALLEGATO)){
  254.                 DumpAllegato object = new DumpAllegato();
  255.                 setParameter(object, "setId", Long.class,
  256.                     this.getObjectFromMap(map,"allegato.id"));
  257.                 setParameter(object, "setContentType", DumpMessaggio.model().ALLEGATO.CONTENT_TYPE.getFieldType(),
  258.                     this.getObjectFromMap(map,"allegato.content-type"));
  259.                 setParameter(object, "setContentId", DumpMessaggio.model().ALLEGATO.CONTENT_ID.getFieldType(),
  260.                     this.getObjectFromMap(map,"allegato.content-id"));
  261.                 setParameter(object, "setContentLocation", DumpMessaggio.model().ALLEGATO.CONTENT_LOCATION.getFieldType(),
  262.                     this.getObjectFromMap(map,"allegato.content-location"));
  263.                 setParameter(object, "setAllegato", DumpMessaggio.model().ALLEGATO.ALLEGATO.getFieldType(),
  264.                     this.getObjectFromMap(map,"allegato.allegato"));
  265.                 setParameter(object, "setDumpTimestamp", DumpMessaggio.model().ALLEGATO.DUMP_TIMESTAMP.getFieldType(),
  266.                     this.getObjectFromMap(map,"allegato.dump-timestamp"));
  267.                 setParameter(object, "setHeaderExt", DumpMessaggio.model().ALLEGATO.HEADER_EXT.getFieldType(),
  268.                     this.getObjectFromMap(map,"allegato.header-ext"));
  269.                 return object;
  270.             }
  271.             if(model.equals(DumpMessaggio.model().ALLEGATO.HEADER)){
  272.                 DumpHeaderAllegato object = new DumpHeaderAllegato();
  273.                 setParameter(object, "setId", Long.class,
  274.                     this.getObjectFromMap(map,"allegato.header.id"));
  275.                 setParameter(object, "setNome", DumpMessaggio.model().ALLEGATO.HEADER.NOME.getFieldType(),
  276.                     this.getObjectFromMap(map,"allegato.header.nome"));
  277.                 setParameter(object, "setValore", DumpMessaggio.model().ALLEGATO.HEADER.VALORE.getFieldType(),
  278.                     this.getObjectFromMap(map,"allegato.header.valore"));
  279.                 setParameter(object, "setDumpTimestamp", DumpMessaggio.model().ALLEGATO.HEADER.DUMP_TIMESTAMP.getFieldType(),
  280.                     this.getObjectFromMap(map,"allegato.header.dump-timestamp"));
  281.                 return object;
  282.             }
  283.             if(model.equals(DumpMessaggio.model().CONTENUTO)){
  284.                 DumpContenuto object = new DumpContenuto();
  285.                 setParameter(object, "setId", Long.class,
  286.                     this.getObjectFromMap(map,"contenuto.id"));
  287.                 setParameter(object, "setNome", DumpMessaggio.model().CONTENUTO.NOME.getFieldType(),
  288.                     this.getObjectFromMap(map,"contenuto.nome"));
  289.                 setParameter(object, "setValore", DumpMessaggio.model().CONTENUTO.VALORE.getFieldType(),
  290.                     this.getObjectFromMap(map,"contenuto.valore"));
  291.                 setParameter(object, "setValoreAsBytes", DumpMessaggio.model().CONTENUTO.VALORE_AS_BYTES.getFieldType(),
  292.                     this.getObjectFromMap(map,"contenuto.valore-as-bytes"));
  293.                 setParameter(object, "setDumpTimestamp", DumpMessaggio.model().CONTENUTO.DUMP_TIMESTAMP.getFieldType(),
  294.                     this.getObjectFromMap(map,"contenuto.dump-timestamp"));
  295.                 return object;
  296.             }
  297.            
  298.             else{
  299.                 throw new ServiceException("Model ["+model.toString()+"] not supported by fetch: "+this.getClass().getName());
  300.             }  
  301.                    
  302.         }catch(Exception e){
  303.             throw new ServiceException("Model ["+model.toString()+"] occurs error in fetch: "+e.getMessage(),e);
  304.         }
  305.        
  306.     }
  307.    
  308.    
  309.     @Override
  310.     public IKeyGeneratorObject getKeyGeneratorObject( IModel<?> model )  throws ServiceException {
  311.        
  312.         try{

  313.             if(model.equals(DumpMessaggio.model())){
  314.                 return new org.openspcoop2.utils.jdbc.CustomKeyGeneratorObject("dump_messaggi","id","seq_dump_messaggi","dump_messaggi_init_seq");
  315.             }
  316.             if(model.equals(DumpMessaggio.model().MULTIPART_HEADER)){
  317.                 return new org.openspcoop2.utils.jdbc.CustomKeyGeneratorObject("dump_multipart_header","id","seq_dump_multipart_header","dump_multipart_header_init_seq");
  318.             }
  319.             if(model.equals(DumpMessaggio.model().HEADER_TRASPORTO)){
  320.                 return new org.openspcoop2.utils.jdbc.CustomKeyGeneratorObject("dump_header_trasporto","id","seq_dump_header_trasporto","dump_header_trasporto_init_seq");
  321.             }
  322.             if(model.equals(DumpMessaggio.model().ALLEGATO)){
  323.                 return new org.openspcoop2.utils.jdbc.CustomKeyGeneratorObject("dump_allegati","id","seq_dump_allegati","dump_allegati_init_seq");
  324.             }
  325.             if(model.equals(DumpMessaggio.model().ALLEGATO.HEADER)){
  326.                 return new org.openspcoop2.utils.jdbc.CustomKeyGeneratorObject("dump_header_allegato","id","seq_dump_header_allegato","dump_header_allegato_init_seq");
  327.             }
  328.             if(model.equals(DumpMessaggio.model().CONTENUTO)){
  329.                 return new org.openspcoop2.utils.jdbc.CustomKeyGeneratorObject("dump_contenuti","id","seq_dump_contenuti","dump_contenuti_init_seq");
  330.             }
  331.            
  332.             else{
  333.                 throw new ServiceException("Model ["+model.toString()+"] not supported by getKeyGeneratorObject: "+this.getClass().getName());
  334.             }

  335.         }catch(Exception e){
  336.             throw new ServiceException("Model ["+model.toString()+"] occurs error in getKeyGeneratorObject: "+e.getMessage(),e);
  337.         }
  338.        
  339.     }

  340. }