AllarmeFetch.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.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.allarmi.AllarmeFiltro;
  30. import org.openspcoop2.core.allarmi.AllarmeMail;
  31. import org.openspcoop2.core.allarmi.AllarmeParametro;
  32. import org.openspcoop2.core.allarmi.Allarme;
  33. import org.openspcoop2.core.allarmi.AllarmeScript;
  34. import org.openspcoop2.core.constants.CostantiDB;
  35. import org.openspcoop2.core.allarmi.AllarmeRaggruppamento;


  36. /**    
  37.  * AllarmeFetch
  38.  *
  39.  * @author Poli Andrea (poli@link.it)
  40.  * @author $Author$
  41.  * @version $Rev$, $Date$
  42.  */
  43. public class AllarmeFetch 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(Allarme.model())){
  51.                 Allarme object = new Allarme();
  52.                 setParameter(object, "setId", Long.class,
  53.                     jdbcParameterUtilities.readParameter(rs, "id", Long.class));
  54.                 setParameter(object, "setNome", Allarme.model().NOME.getFieldType(),
  55.                     jdbcParameterUtilities.readParameter(rs, "nome", Allarme.model().NOME.getFieldType()));
  56.                 setParameter(object, "setAlias", Allarme.model().ALIAS.getFieldType(),
  57.                     jdbcParameterUtilities.readParameter(rs, "alias", Allarme.model().ALIAS.getFieldType()));
  58.                 setParameter(object, "setDescrizione", Allarme.model().DESCRIZIONE.getFieldType(),
  59.                     jdbcParameterUtilities.readParameter(rs, "descrizione", Allarme.model().DESCRIZIONE.getFieldType()));
  60.                 setParameter(object, "setTipo", Allarme.model().TIPO.getFieldType(),
  61.                     jdbcParameterUtilities.readParameter(rs, "tipo", Allarme.model().TIPO.getFieldType()));
  62.                 setParameter(object, "setTipoAllarmeRawEnumValue", String.class,
  63.                     jdbcParameterUtilities.readParameter(rs, "tipo_allarme", Allarme.model().TIPO_ALLARME.getFieldType())+"");
  64.                 object.setMail(new AllarmeMail());
  65.                 setParameter(object.getMail(), "setInvia", Allarme.model().MAIL.INVIA.getFieldType(),
  66.                     jdbcParameterUtilities.readParameter(rs, "mail_invia", Allarme.model().MAIL.INVIA.getFieldType()));
  67.                 setParameter(object.getMail(), "setInviaWarning", Allarme.model().MAIL.INVIA_WARNING.getFieldType(),
  68.                     jdbcParameterUtilities.readParameter(rs, "mail_invia_warning", Allarme.model().MAIL.INVIA_WARNING.getFieldType()));
  69.                 setParameter(object.getMail(), "setDestinatari", Allarme.model().MAIL.DESTINATARI.getFieldType(),
  70.                     jdbcParameterUtilities.readParameter(rs, "mail_destinatari", Allarme.model().MAIL.DESTINATARI.getFieldType()));
  71.                 setParameter(object.getMail(), "setSubject", Allarme.model().MAIL.SUBJECT.getFieldType(),
  72.                     jdbcParameterUtilities.readParameter(rs, "mail_subject", Allarme.model().MAIL.SUBJECT.getFieldType()));
  73.                 setParameter(object.getMail(), "setBody", Allarme.model().MAIL.BODY.getFieldType(),
  74.                     jdbcParameterUtilities.readParameter(rs, "mail_body", Allarme.model().MAIL.BODY.getFieldType()));
  75.                 object.setScript(new AllarmeScript());
  76.                 setParameter(object.getScript(), "setInvoca", Allarme.model().SCRIPT.INVOCA.getFieldType(),
  77.                     jdbcParameterUtilities.readParameter(rs, "script_invoke", Allarme.model().SCRIPT.INVOCA.getFieldType()));
  78.                 setParameter(object.getScript(), "setInvocaWarning", Allarme.model().SCRIPT.INVOCA_WARNING.getFieldType(),
  79.                     jdbcParameterUtilities.readParameter(rs, "script_invoke_warning", Allarme.model().SCRIPT.INVOCA_WARNING.getFieldType()));
  80.                 setParameter(object.getScript(), "setCommand", Allarme.model().SCRIPT.COMMAND.getFieldType(),
  81.                     jdbcParameterUtilities.readParameter(rs, "script_command", Allarme.model().SCRIPT.COMMAND.getFieldType()));
  82.                 setParameter(object.getScript(), "setArgs", Allarme.model().SCRIPT.ARGS.getFieldType(),
  83.                     jdbcParameterUtilities.readParameter(rs, "script_args", Allarme.model().SCRIPT.ARGS.getFieldType()));
  84.                 setParameter(object, "setStatoPrecedente", Allarme.model().STATO_PRECEDENTE.getFieldType(),
  85.                     jdbcParameterUtilities.readParameter(rs, "stato_precedente", Allarme.model().STATO_PRECEDENTE.getFieldType()));
  86.                 setParameter(object, "setStato", Allarme.model().STATO.getFieldType(),
  87.                     jdbcParameterUtilities.readParameter(rs, "stato", Allarme.model().STATO.getFieldType()));
  88.                 setParameter(object, "setDettaglioStato", Allarme.model().DETTAGLIO_STATO.getFieldType(),
  89.                     jdbcParameterUtilities.readParameter(rs, "stato_dettaglio", Allarme.model().DETTAGLIO_STATO.getFieldType()));
  90.                 setParameter(object, "setLasttimestampCreate", Allarme.model().LASTTIMESTAMP_CREATE.getFieldType(),
  91.                     jdbcParameterUtilities.readParameter(rs, "lasttimestamp_create", Allarme.model().LASTTIMESTAMP_CREATE.getFieldType()));
  92.                 setParameter(object, "setLasttimestampUpdate", Allarme.model().LASTTIMESTAMP_UPDATE.getFieldType(),
  93.                     jdbcParameterUtilities.readParameter(rs, "lasttimestamp_update", Allarme.model().LASTTIMESTAMP_UPDATE.getFieldType()));
  94.                 setParameter(object, "setEnabled", Allarme.model().ENABLED.getFieldType(),
  95.                     jdbcParameterUtilities.readParameter(rs, "enabled", Allarme.model().ENABLED.getFieldType()));
  96.                 setParameter(object, "setAcknowledged", Allarme.model().ACKNOWLEDGED.getFieldType(),
  97.                     jdbcParameterUtilities.readParameter(rs, "acknowledged", Allarme.model().ACKNOWLEDGED.getFieldType()));
  98.                 setParameter(object, "setDettaglioAcknowledged", Allarme.model().DETTAGLIO_ACKNOWLEDGED.getFieldType(),
  99.                     jdbcParameterUtilities.readParameter(rs, "dettaglio_acknowledged", Allarme.model().DETTAGLIO_ACKNOWLEDGED.getFieldType()));
  100.                 setParameter(object, "setTipoPeriodo", Allarme.model().TIPO_PERIODO.getFieldType(),
  101.                     jdbcParameterUtilities.readParameter(rs, "periodo_tipo", Allarme.model().TIPO_PERIODO.getFieldType()));
  102.                 setParameter(object, "setPeriodo", Allarme.model().PERIODO.getFieldType(),
  103.                     jdbcParameterUtilities.readParameter(rs, "periodo", Allarme.model().PERIODO.getFieldType()));
  104.                 object.setFiltro(new AllarmeFiltro());
  105.                 setParameter(object.getFiltro(), "setEnabled", Allarme.model().FILTRO.ENABLED.getFieldType(),
  106.                     jdbcParameterUtilities.readParameter(rs, "filtro_enabled", Allarme.model().FILTRO.ENABLED.getFieldType()));
  107.                 setParameter(object.getFiltro(), "setProtocollo", Allarme.model().FILTRO.PROTOCOLLO.getFieldType(),
  108.                     jdbcParameterUtilities.readParameter(rs, "filtro_protocollo", Allarme.model().FILTRO.PROTOCOLLO.getFieldType()));
  109.                 setParameter(object.getFiltro(), "setRuoloPortaRawEnumValue", String.class,
  110.                     jdbcParameterUtilities.readParameter(rs, "filtro_ruolo", Allarme.model().FILTRO.RUOLO_PORTA.getFieldType())+"");
  111.                 setParameter(object.getFiltro(), "setNomePorta", Allarme.model().FILTRO.NOME_PORTA.getFieldType(),
  112.                     jdbcParameterUtilities.readParameter(rs, "filtro_porta", Allarme.model().FILTRO.NOME_PORTA.getFieldType()));
  113.                 setParameter(object.getFiltro(), "setTipoFruitore", Allarme.model().FILTRO.TIPO_FRUITORE.getFieldType(),
  114.                     jdbcParameterUtilities.readParameter(rs, "filtro_tipo_fruitore", Allarme.model().FILTRO.TIPO_FRUITORE.getFieldType()));
  115.                 setParameter(object.getFiltro(), "setNomeFruitore", Allarme.model().FILTRO.NOME_FRUITORE.getFieldType(),
  116.                     jdbcParameterUtilities.readParameter(rs, "filtro_nome_fruitore", Allarme.model().FILTRO.NOME_FRUITORE.getFieldType()));
  117.                 setParameter(object.getFiltro(), "setRuoloFruitore", Allarme.model().FILTRO.RUOLO_FRUITORE.getFieldType(),
  118.                     jdbcParameterUtilities.readParameter(rs, "filtro_ruolo_fruitore", Allarme.model().FILTRO.RUOLO_FRUITORE.getFieldType()));
  119.                 setParameter(object.getFiltro(), "setServizioApplicativoFruitore", Allarme.model().FILTRO.SERVIZIO_APPLICATIVO_FRUITORE.getFieldType(),
  120.                     jdbcParameterUtilities.readParameter(rs, "filtro_sa_fruitore", Allarme.model().FILTRO.SERVIZIO_APPLICATIVO_FRUITORE.getFieldType()));
  121.                 setParameter(object.getFiltro(), "setTipoErogatore", Allarme.model().FILTRO.TIPO_EROGATORE.getFieldType(),
  122.                     jdbcParameterUtilities.readParameter(rs, "filtro_tipo_erogatore", Allarme.model().FILTRO.TIPO_EROGATORE.getFieldType()));
  123.                 setParameter(object.getFiltro(), "setNomeErogatore", Allarme.model().FILTRO.NOME_EROGATORE.getFieldType(),
  124.                     jdbcParameterUtilities.readParameter(rs, "filtro_nome_erogatore", Allarme.model().FILTRO.NOME_EROGATORE.getFieldType()));
  125.                 setParameter(object.getFiltro(), "setRuoloErogatore", Allarme.model().FILTRO.RUOLO_EROGATORE.getFieldType(),
  126.                     jdbcParameterUtilities.readParameter(rs, "filtro_ruolo_erogatore", Allarme.model().FILTRO.RUOLO_EROGATORE.getFieldType()));
  127.                 setParameter(object.getFiltro(), "setTag", Allarme.model().FILTRO.TAG.getFieldType(),
  128.                     jdbcParameterUtilities.readParameter(rs, "filtro_tag", Allarme.model().FILTRO.TAG.getFieldType()));
  129.                 setParameter(object.getFiltro(), "setTipoServizio", Allarme.model().FILTRO.TIPO_SERVIZIO.getFieldType(),
  130.                     jdbcParameterUtilities.readParameter(rs, "filtro_tipo_servizio", Allarme.model().FILTRO.TIPO_SERVIZIO.getFieldType()));
  131.                 setParameter(object.getFiltro(), "setNomeServizio", Allarme.model().FILTRO.NOME_SERVIZIO.getFieldType(),
  132.                     jdbcParameterUtilities.readParameter(rs, "filtro_nome_servizio", Allarme.model().FILTRO.NOME_SERVIZIO.getFieldType()));
  133.                 setParameter(object.getFiltro(), "setVersioneServizio", Allarme.model().FILTRO.VERSIONE_SERVIZIO.getFieldType(),
  134.                     jdbcParameterUtilities.readParameter(rs, "filtro_versione_servizio", Allarme.model().FILTRO.VERSIONE_SERVIZIO.getFieldType()));
  135.                 setParameter(object.getFiltro(), "setAzione", Allarme.model().FILTRO.AZIONE.getFieldType(),
  136.                     jdbcParameterUtilities.readParameter(rs, "filtro_azione", Allarme.model().FILTRO.AZIONE.getFieldType()));
  137.                 object.setGroupBy(new AllarmeRaggruppamento());
  138.                 setParameter(object.getGroupBy(), "setEnabled", Allarme.model().GROUP_BY.ENABLED.getFieldType(),
  139.                     jdbcParameterUtilities.readParameter(rs, "group_enabled", Allarme.model().GROUP_BY.ENABLED.getFieldType()));
  140.                 setParameter(object.getGroupBy(), "setRuoloPorta", Allarme.model().GROUP_BY.RUOLO_PORTA.getFieldType(),
  141.                     jdbcParameterUtilities.readParameter(rs, "group_ruolo", Allarme.model().GROUP_BY.RUOLO_PORTA.getFieldType()));
  142.                 setParameter(object.getGroupBy(), "setProtocollo", Allarme.model().GROUP_BY.PROTOCOLLO.getFieldType(),
  143.                     jdbcParameterUtilities.readParameter(rs, "group_protocollo", Allarme.model().GROUP_BY.PROTOCOLLO.getFieldType()));
  144.                 setParameter(object.getGroupBy(), "setFruitore", Allarme.model().GROUP_BY.FRUITORE.getFieldType(),
  145.                     jdbcParameterUtilities.readParameter(rs, "group_fruitore", Allarme.model().GROUP_BY.FRUITORE.getFieldType()));
  146.                 setParameter(object.getGroupBy(), "setServizioApplicativoFruitore", Allarme.model().GROUP_BY.SERVIZIO_APPLICATIVO_FRUITORE.getFieldType(),
  147.                     jdbcParameterUtilities.readParameter(rs, "group_sa_fruitore", Allarme.model().GROUP_BY.SERVIZIO_APPLICATIVO_FRUITORE.getFieldType()));
  148.                 setParameter(object.getGroupBy(), "setIdentificativoAutenticato", Allarme.model().GROUP_BY.IDENTIFICATIVO_AUTENTICATO.getFieldType(),
  149.                     jdbcParameterUtilities.readParameter(rs, "group_id_autenticato", Allarme.model().GROUP_BY.IDENTIFICATIVO_AUTENTICATO.getFieldType()));
  150.                 setParameter(object.getGroupBy(), "setToken", Allarme.model().GROUP_BY.TOKEN.getFieldType(),
  151.                     jdbcParameterUtilities.readParameter(rs, "group_token", Allarme.model().GROUP_BY.TOKEN.getFieldType()));
  152.                 setParameter(object.getGroupBy(), "setErogatore", Allarme.model().GROUP_BY.EROGATORE.getFieldType(),
  153.                     jdbcParameterUtilities.readParameter(rs, "group_erogatore", Allarme.model().GROUP_BY.EROGATORE.getFieldType()));
  154.                 setParameter(object.getGroupBy(), "setServizio", Allarme.model().GROUP_BY.SERVIZIO.getFieldType(),
  155.                     jdbcParameterUtilities.readParameter(rs, "group_servizio", Allarme.model().GROUP_BY.SERVIZIO.getFieldType()));
  156.                 setParameter(object.getGroupBy(), "setAzione", Allarme.model().GROUP_BY.AZIONE.getFieldType(),
  157.                     jdbcParameterUtilities.readParameter(rs, "group_azione", Allarme.model().GROUP_BY.AZIONE.getFieldType()));
  158.                 return object;
  159.             }
  160.             if(model.equals(Allarme.model().ALLARME_PARAMETRO)){
  161.                 AllarmeParametro object = new AllarmeParametro();
  162.                 setParameter(object, "setId", Long.class,
  163.                     jdbcParameterUtilities.readParameter(rs, "chk_param_id", Long.class));
  164.                 setParameter(object, "setIdParametro", Allarme.model().ALLARME_PARAMETRO.ID_PARAMETRO.getFieldType(),
  165.                     jdbcParameterUtilities.readParameter(rs, "param_id", Allarme.model().ALLARME_PARAMETRO.ID_PARAMETRO.getFieldType()));
  166.                 setParameter(object, "setValore", Allarme.model().ALLARME_PARAMETRO.VALORE.getFieldType(),
  167.                     jdbcParameterUtilities.readParameter(rs, "param_value", Allarme.model().ALLARME_PARAMETRO.VALORE.getFieldType()));
  168.                 return object;
  169.             }
  170.            
  171.             else{
  172.                 throw new ServiceException("Model ["+model.toString()+"] not supported by fetch: "+this.getClass().getName());
  173.             }  
  174.                    
  175.         }catch(Exception e){
  176.             throw new ServiceException("Model ["+model.toString()+"] occurs error in fetch: "+e.getMessage(),e);
  177.         }
  178.        
  179.     }
  180.    
  181.     @Override
  182.     public Object fetch(TipiDatabase tipoDatabase, IModel<?> model , Map<String,Object> map ) throws ServiceException {
  183.        
  184.         try{

  185.             if(model.equals(Allarme.model())){
  186.                 Allarme object = new Allarme();
  187.                 setParameter(object, "setId", Long.class,
  188.                     this.getObjectFromMap(map,"id"));
  189.                 setParameter(object, "setNome", Allarme.model().NOME.getFieldType(),
  190.                     this.getObjectFromMap(map,"nome"));
  191.                 setParameter(object, "setAlias", Allarme.model().ALIAS.getFieldType(),
  192.                     this.getObjectFromMap(map,"alias"));
  193.                 setParameter(object, "setDescrizione", Allarme.model().DESCRIZIONE.getFieldType(),
  194.                     this.getObjectFromMap(map,"descrizione"));
  195.                 setParameter(object, "setTipo", Allarme.model().TIPO.getFieldType(),
  196.                     this.getObjectFromMap(map,"tipo"));
  197.                 setParameter(object, "setTipoAllarmeRawEnumValue", String.class,
  198.                     this.getObjectFromMap(map,"tipo-allarme"));
  199.                 object.setMail(new AllarmeMail());
  200.                 setParameter(object.getMail(), "setInvia", Allarme.model().MAIL.INVIA.getFieldType(),
  201.                     this.getObjectFromMap(map,"mail.invia"));
  202.                 setParameter(object.getMail(), "setInviaWarning", Allarme.model().MAIL.INVIA_WARNING.getFieldType(),
  203.                     this.getObjectFromMap(map,"mail.invia-warning"));
  204.                 setParameter(object.getMail(), "setDestinatari", Allarme.model().MAIL.DESTINATARI.getFieldType(),
  205.                     this.getObjectFromMap(map,"mail.destinatari"));
  206.                 setParameter(object.getMail(), "setSubject", Allarme.model().MAIL.SUBJECT.getFieldType(),
  207.                     this.getObjectFromMap(map,"mail.subject"));
  208.                 setParameter(object.getMail(), "setBody", Allarme.model().MAIL.BODY.getFieldType(),
  209.                     this.getObjectFromMap(map,"mail.body"));
  210.                 object.setScript(new AllarmeScript());
  211.                 setParameter(object.getScript(), "setInvoca", Allarme.model().SCRIPT.INVOCA.getFieldType(),
  212.                     this.getObjectFromMap(map,"script.invoca"));
  213.                 setParameter(object.getScript(), "setInvocaWarning", Allarme.model().SCRIPT.INVOCA_WARNING.getFieldType(),
  214.                     this.getObjectFromMap(map,"script.invoca-warning"));
  215.                 setParameter(object.getScript(), "setCommand", Allarme.model().SCRIPT.COMMAND.getFieldType(),
  216.                     this.getObjectFromMap(map,"script.command"));
  217.                 setParameter(object.getScript(), "setArgs", Allarme.model().SCRIPT.ARGS.getFieldType(),
  218.                     this.getObjectFromMap(map,"script.args"));
  219.                 setParameter(object, "setStatoPrecedente", Allarme.model().STATO_PRECEDENTE.getFieldType(),
  220.                     this.getObjectFromMap(map,"stato-precedente"));
  221.                 setParameter(object, "setStato", Allarme.model().STATO.getFieldType(),
  222.                     this.getObjectFromMap(map,"stato"));
  223.                 setParameter(object, "setDettaglioStato", Allarme.model().DETTAGLIO_STATO.getFieldType(),
  224.                     this.getObjectFromMap(map,"dettaglio-stato"));
  225.                 setParameter(object, "setLasttimestampCreate", Allarme.model().LASTTIMESTAMP_CREATE.getFieldType(),
  226.                     this.getObjectFromMap(map,"lasttimestamp-create"));
  227.                 setParameter(object, "setLasttimestampUpdate", Allarme.model().LASTTIMESTAMP_UPDATE.getFieldType(),
  228.                     this.getObjectFromMap(map,"lasttimestamp-update"));
  229.                 setParameter(object, "setEnabled", Allarme.model().ENABLED.getFieldType(),
  230.                     this.getObjectFromMap(map,"enabled"));
  231.                 setParameter(object, "setAcknowledged", Allarme.model().ACKNOWLEDGED.getFieldType(),
  232.                     this.getObjectFromMap(map,"acknowledged"));
  233.                 setParameter(object, "setDettaglioAcknowledged", Allarme.model().DETTAGLIO_ACKNOWLEDGED.getFieldType(),
  234.                     this.getObjectFromMap(map,"dettaglio-acknowledged"));
  235.                 setParameter(object, "setTipoPeriodo", Allarme.model().TIPO_PERIODO.getFieldType(),
  236.                     this.getObjectFromMap(map,"tipo-periodo"));
  237.                 setParameter(object, "setPeriodo", Allarme.model().PERIODO.getFieldType(),
  238.                     this.getObjectFromMap(map,"periodo"));
  239.                 object.setFiltro(new AllarmeFiltro());
  240.                 setParameter(object.getFiltro(), "setEnabled", Allarme.model().FILTRO.ENABLED.getFieldType(),
  241.                     this.getObjectFromMap(map,"filtro.enabled"));
  242.                 setParameter(object.getFiltro(), "setProtocollo", Allarme.model().FILTRO.PROTOCOLLO.getFieldType(),
  243.                     this.getObjectFromMap(map,"filtro.protocollo"));
  244.                 setParameter(object.getFiltro(), "setRuoloPortaRawEnumValue", String.class,
  245.                     this.getObjectFromMap(map,"filtro.ruolo-porta"));
  246.                 setParameter(object.getFiltro(), "setNomePorta", Allarme.model().FILTRO.NOME_PORTA.getFieldType(),
  247.                     this.getObjectFromMap(map,"filtro.nome-porta"));
  248.                 setParameter(object.getFiltro(), "setTipoFruitore", Allarme.model().FILTRO.TIPO_FRUITORE.getFieldType(),
  249.                     this.getObjectFromMap(map,"filtro.tipo-fruitore"));
  250.                 setParameter(object.getFiltro(), "setNomeFruitore", Allarme.model().FILTRO.NOME_FRUITORE.getFieldType(),
  251.                     this.getObjectFromMap(map,"filtro.nome-fruitore"));
  252.                 setParameter(object.getFiltro(), "setRuoloFruitore", Allarme.model().FILTRO.RUOLO_FRUITORE.getFieldType(),
  253.                     this.getObjectFromMap(map,"filtro.ruolo-fruitore"));
  254.                 setParameter(object.getFiltro(), "setServizioApplicativoFruitore", Allarme.model().FILTRO.SERVIZIO_APPLICATIVO_FRUITORE.getFieldType(),
  255.                     this.getObjectFromMap(map,"filtro.servizio-applicativo-fruitore"));
  256.                 setParameter(object.getFiltro(), "setTipoErogatore", Allarme.model().FILTRO.TIPO_EROGATORE.getFieldType(),
  257.                     this.getObjectFromMap(map,"filtro.tipo-erogatore"));
  258.                 setParameter(object.getFiltro(), "setNomeErogatore", Allarme.model().FILTRO.NOME_EROGATORE.getFieldType(),
  259.                     this.getObjectFromMap(map,"filtro.nome-erogatore"));
  260.                 setParameter(object.getFiltro(), "setRuoloErogatore", Allarme.model().FILTRO.RUOLO_EROGATORE.getFieldType(),
  261.                     this.getObjectFromMap(map,"filtro.ruolo-erogatore"));
  262.                 setParameter(object.getFiltro(), "setTag", Allarme.model().FILTRO.TAG.getFieldType(),
  263.                     this.getObjectFromMap(map,"filtro.tag"));
  264.                 setParameter(object.getFiltro(), "setTipoServizio", Allarme.model().FILTRO.TIPO_SERVIZIO.getFieldType(),
  265.                     this.getObjectFromMap(map,"filtro.tipo-servizio"));
  266.                 setParameter(object.getFiltro(), "setNomeServizio", Allarme.model().FILTRO.NOME_SERVIZIO.getFieldType(),
  267.                     this.getObjectFromMap(map,"filtro.nome-servizio"));
  268.                 setParameter(object.getFiltro(), "setVersioneServizio", Allarme.model().FILTRO.VERSIONE_SERVIZIO.getFieldType(),
  269.                     this.getObjectFromMap(map,"filtro.versione-servizio"));
  270.                 setParameter(object.getFiltro(), "setAzione", Allarme.model().FILTRO.AZIONE.getFieldType(),
  271.                     this.getObjectFromMap(map,"filtro.azione"));
  272.                 object.setGroupBy(new AllarmeRaggruppamento());
  273.                 setParameter(object.getGroupBy(), "setEnabled", Allarme.model().GROUP_BY.ENABLED.getFieldType(),
  274.                     this.getObjectFromMap(map,"group-by.enabled"));
  275.                 setParameter(object.getGroupBy(), "setRuoloPorta", Allarme.model().GROUP_BY.RUOLO_PORTA.getFieldType(),
  276.                     this.getObjectFromMap(map,"group-by.ruolo-porta"));
  277.                 setParameter(object.getGroupBy(), "setProtocollo", Allarme.model().GROUP_BY.PROTOCOLLO.getFieldType(),
  278.                     this.getObjectFromMap(map,"group-by.protocollo"));
  279.                 setParameter(object.getGroupBy(), "setFruitore", Allarme.model().GROUP_BY.FRUITORE.getFieldType(),
  280.                     this.getObjectFromMap(map,"group-by.fruitore"));
  281.                 setParameter(object.getGroupBy(), "setServizioApplicativoFruitore", Allarme.model().GROUP_BY.SERVIZIO_APPLICATIVO_FRUITORE.getFieldType(),
  282.                     this.getObjectFromMap(map,"group-by.servizio-applicativo-fruitore"));
  283.                 setParameter(object.getGroupBy(), "setIdentificativoAutenticato", Allarme.model().GROUP_BY.IDENTIFICATIVO_AUTENTICATO.getFieldType(),
  284.                     this.getObjectFromMap(map,"group-by.identificativo-autenticato"));
  285.                 setParameter(object.getGroupBy(), "setToken", Allarme.model().GROUP_BY.TOKEN.getFieldType(),
  286.                     this.getObjectFromMap(map,"group-by.token"));
  287.                 setParameter(object.getGroupBy(), "setErogatore", Allarme.model().GROUP_BY.EROGATORE.getFieldType(),
  288.                     this.getObjectFromMap(map,"group-by.erogatore"));
  289.                 setParameter(object.getGroupBy(), "setServizio", Allarme.model().GROUP_BY.SERVIZIO.getFieldType(),
  290.                     this.getObjectFromMap(map,"group-by.servizio"));
  291.                 setParameter(object.getGroupBy(), "setAzione", Allarme.model().GROUP_BY.AZIONE.getFieldType(),
  292.                     this.getObjectFromMap(map,"group-by.azione"));
  293.                 return object;
  294.             }
  295.             if(model.equals(Allarme.model().ALLARME_PARAMETRO)){
  296.                 AllarmeParametro object = new AllarmeParametro();
  297.                 setParameter(object, "setId", Long.class,
  298.                     this.getObjectFromMap(map,"allarme-parametro.id"));
  299.                 setParameter(object, "setIdParametro", Allarme.model().ALLARME_PARAMETRO.ID_PARAMETRO.getFieldType(),
  300.                     this.getObjectFromMap(map,"allarme-parametro.id-parametro"));
  301.                 setParameter(object, "setValore", Allarme.model().ALLARME_PARAMETRO.VALORE.getFieldType(),
  302.                     this.getObjectFromMap(map,"allarme-parametro.valore"));
  303.                 return object;
  304.             }
  305.            
  306.             else{
  307.                 throw new ServiceException("Model ["+model.toString()+"] not supported by fetch: "+this.getClass().getName());
  308.             }  
  309.                    
  310.         }catch(Exception e){
  311.             throw new ServiceException("Model ["+model.toString()+"] occurs error in fetch: "+e.getMessage(),e);
  312.         }
  313.        
  314.     }
  315.    
  316.    
  317.     @Override
  318.     public IKeyGeneratorObject getKeyGeneratorObject( IModel<?> model )  throws ServiceException {
  319.        
  320.         try{

  321.             if(model.equals(Allarme.model())){
  322.                 return new org.openspcoop2.utils.jdbc.CustomKeyGeneratorObject(CostantiDB.ALLARMI,"id","seq_allarmi","allarmi_init_seq");
  323.             }
  324.             if(model.equals(Allarme.model().ALLARME_PARAMETRO)){
  325.                 return new org.openspcoop2.utils.jdbc.CustomKeyGeneratorObject(CostantiDB.ALLARMI_PARAMETRI,"chk_param_id","seq_allarmi_parametri","allarmi_parametri_init_seq");
  326.             }
  327.            
  328.             else{
  329.                 throw new ServiceException("Model ["+model.toString()+"] not supported by getKeyGeneratorObject: "+this.getClass().getName());
  330.             }

  331.         }catch(Exception e){
  332.             throw new ServiceException("Model ["+model.toString()+"] occurs error in getKeyGeneratorObject: "+e.getMessage(),e);
  333.         }
  334.        
  335.     }

  336. }