AllarmeFieldConverter.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.converter;

  21. import org.openspcoop2.generic_project.beans.IField;
  22. import org.openspcoop2.generic_project.beans.IModel;
  23. import org.openspcoop2.generic_project.exception.ExpressionException;
  24. import org.openspcoop2.generic_project.expression.impl.sql.AbstractSQLFieldConverter;
  25. import org.openspcoop2.utils.TipiDatabase;

  26. import org.openspcoop2.core.allarmi.Allarme;
  27. import org.openspcoop2.core.constants.CostantiDB;


  28. /**    
  29.  * AllarmeFieldConverter
  30.  *
  31.  * @author Poli Andrea (poli@link.it)
  32.  * @author $Author$
  33.  * @version $Rev$, $Date$
  34.  */
  35. public class AllarmeFieldConverter extends AbstractSQLFieldConverter {

  36.     private TipiDatabase databaseType;
  37.    
  38.     public AllarmeFieldConverter(String databaseType){
  39.         this.databaseType = TipiDatabase.toEnumConstant(databaseType);
  40.     }
  41.     public AllarmeFieldConverter(TipiDatabase databaseType){
  42.         this.databaseType = databaseType;
  43.     }


  44.     @Override
  45.     public IModel<?> getRootModel() throws ExpressionException {
  46.         return Allarme.model();
  47.     }
  48.    
  49.     @Override
  50.     public TipiDatabase getDatabaseType() throws ExpressionException {
  51.         return this.databaseType;
  52.     }
  53.    


  54.     @Override
  55.     public String toColumn(IField field,boolean returnAlias,boolean appendTablePrefix) throws ExpressionException {
  56.        
  57.         // In the case of columns with alias, using parameter returnAlias​​,
  58.         // it is possible to drive the choice whether to return only the alias or
  59.         // the full definition of the column containing the alias
  60.        
  61.         if(field.equals(Allarme.model().NOME)){
  62.             if(appendTablePrefix){
  63.                 return this.toAliasTable(field)+".nome";
  64.             }else{
  65.                 return "nome";
  66.             }
  67.         }
  68.         if(field.equals(Allarme.model().ALIAS)){
  69.             if(appendTablePrefix){
  70.                 return this.toAliasTable(field)+".alias";
  71.             }else{
  72.                 return "alias";
  73.             }
  74.         }
  75.         if(field.equals(Allarme.model().DESCRIZIONE)){
  76.             if(appendTablePrefix){
  77.                 return this.toAliasTable(field)+".descrizione";
  78.             }else{
  79.                 return "descrizione";
  80.             }
  81.         }
  82.         if(field.equals(Allarme.model().TIPO)){
  83.             if(appendTablePrefix){
  84.                 return this.toAliasTable(field)+".tipo";
  85.             }else{
  86.                 return "tipo";
  87.             }
  88.         }
  89.         if(field.equals(Allarme.model().TIPO_ALLARME)){
  90.             if(appendTablePrefix){
  91.                 return this.toAliasTable(field)+".tipo_allarme";
  92.             }else{
  93.                 return "tipo_allarme";
  94.             }
  95.         }
  96.         if(field.equals(Allarme.model().MAIL.INVIA)){
  97.             if(appendTablePrefix){
  98.                 return this.toAliasTable(field)+".mail_invia";
  99.             }else{
  100.                 return "mail_invia";
  101.             }
  102.         }
  103.         if(field.equals(Allarme.model().MAIL.INVIA_WARNING)){
  104.             if(appendTablePrefix){
  105.                 return this.toAliasTable(field)+".mail_invia_warning";
  106.             }else{
  107.                 return "mail_invia_warning";
  108.             }
  109.         }
  110.         if(field.equals(Allarme.model().MAIL.DESTINATARI)){
  111.             if(appendTablePrefix){
  112.                 return this.toAliasTable(field)+".mail_destinatari";
  113.             }else{
  114.                 return "mail_destinatari";
  115.             }
  116.         }
  117.         if(field.equals(Allarme.model().MAIL.SUBJECT)){
  118.             if(appendTablePrefix){
  119.                 return this.toAliasTable(field)+".mail_subject";
  120.             }else{
  121.                 return "mail_subject";
  122.             }
  123.         }
  124.         if(field.equals(Allarme.model().MAIL.BODY)){
  125.             if(appendTablePrefix){
  126.                 return this.toAliasTable(field)+".mail_body";
  127.             }else{
  128.                 return "mail_body";
  129.             }
  130.         }
  131.         if(field.equals(Allarme.model().SCRIPT.INVOCA)){
  132.             if(appendTablePrefix){
  133.                 return this.toAliasTable(field)+".script_invoke";
  134.             }else{
  135.                 return "script_invoke";
  136.             }
  137.         }
  138.         if(field.equals(Allarme.model().SCRIPT.INVOCA_WARNING)){
  139.             if(appendTablePrefix){
  140.                 return this.toAliasTable(field)+".script_invoke_warning";
  141.             }else{
  142.                 return "script_invoke_warning";
  143.             }
  144.         }
  145.         if(field.equals(Allarme.model().SCRIPT.COMMAND)){
  146.             if(appendTablePrefix){
  147.                 return this.toAliasTable(field)+".script_command";
  148.             }else{
  149.                 return "script_command";
  150.             }
  151.         }
  152.         if(field.equals(Allarme.model().SCRIPT.ARGS)){
  153.             if(appendTablePrefix){
  154.                 return this.toAliasTable(field)+".script_args";
  155.             }else{
  156.                 return "script_args";
  157.             }
  158.         }
  159.         if(field.equals(Allarme.model().STATO_PRECEDENTE)){
  160.             if(appendTablePrefix){
  161.                 return this.toAliasTable(field)+".stato_precedente";
  162.             }else{
  163.                 return "stato_precedente";
  164.             }
  165.         }
  166.         if(field.equals(Allarme.model().STATO)){
  167.             if(appendTablePrefix){
  168.                 return this.toAliasTable(field)+".stato";
  169.             }else{
  170.                 return "stato";
  171.             }
  172.         }
  173.         if(field.equals(Allarme.model().DETTAGLIO_STATO)){
  174.             if(appendTablePrefix){
  175.                 return this.toAliasTable(field)+".stato_dettaglio";
  176.             }else{
  177.                 return "stato_dettaglio";
  178.             }
  179.         }
  180.         if(field.equals(Allarme.model().LASTTIMESTAMP_CREATE)){
  181.             if(appendTablePrefix){
  182.                 return this.toAliasTable(field)+".lasttimestamp_create";
  183.             }else{
  184.                 return "lasttimestamp_create";
  185.             }
  186.         }
  187.         if(field.equals(Allarme.model().LASTTIMESTAMP_UPDATE)){
  188.             if(appendTablePrefix){
  189.                 return this.toAliasTable(field)+".lasttimestamp_update";
  190.             }else{
  191.                 return "lasttimestamp_update";
  192.             }
  193.         }
  194.         if(field.equals(Allarme.model().ENABLED)){
  195.             if(appendTablePrefix){
  196.                 return this.toAliasTable(field)+".enabled";
  197.             }else{
  198.                 return "enabled";
  199.             }
  200.         }
  201.         if(field.equals(Allarme.model().ACKNOWLEDGED)){
  202.             if(appendTablePrefix){
  203.                 return this.toAliasTable(field)+".acknowledged";
  204.             }else{
  205.                 return "acknowledged";
  206.             }
  207.         }
  208.         if(field.equals(Allarme.model().DETTAGLIO_ACKNOWLEDGED)){
  209.             if(appendTablePrefix){
  210.                 return this.toAliasTable(field)+".dettaglio_acknowledged";
  211.             }else{
  212.                 return "dettaglio_acknowledged";
  213.             }
  214.         }
  215.         if(field.equals(Allarme.model().TIPO_PERIODO)){
  216.             if(appendTablePrefix){
  217.                 return this.toAliasTable(field)+".periodo_tipo";
  218.             }else{
  219.                 return "periodo_tipo";
  220.             }
  221.         }
  222.         if(field.equals(Allarme.model().PERIODO)){
  223.             if(appendTablePrefix){
  224.                 return this.toAliasTable(field)+".periodo";
  225.             }else{
  226.                 return "periodo";
  227.             }
  228.         }
  229.         if(field.equals(Allarme.model().FILTRO.ENABLED)){
  230.             if(appendTablePrefix){
  231.                 return this.toAliasTable(field)+".filtro_enabled";
  232.             }else{
  233.                 return "filtro_enabled";
  234.             }
  235.         }
  236.         if(field.equals(Allarme.model().FILTRO.PROTOCOLLO)){
  237.             if(appendTablePrefix){
  238.                 return this.toAliasTable(field)+".filtro_protocollo";
  239.             }else{
  240.                 return "filtro_protocollo";
  241.             }
  242.         }
  243.         if(field.equals(Allarme.model().FILTRO.RUOLO_PORTA)){
  244.             if(appendTablePrefix){
  245.                 return this.toAliasTable(field)+".filtro_ruolo";
  246.             }else{
  247.                 return "filtro_ruolo";
  248.             }
  249.         }
  250.         if(field.equals(Allarme.model().FILTRO.NOME_PORTA)){
  251.             if(appendTablePrefix){
  252.                 return this.toAliasTable(field)+".filtro_porta";
  253.             }else{
  254.                 return "filtro_porta";
  255.             }
  256.         }
  257.         if(field.equals(Allarme.model().FILTRO.TIPO_FRUITORE)){
  258.             if(appendTablePrefix){
  259.                 return this.toAliasTable(field)+".filtro_tipo_fruitore";
  260.             }else{
  261.                 return "filtro_tipo_fruitore";
  262.             }
  263.         }
  264.         if(field.equals(Allarme.model().FILTRO.NOME_FRUITORE)){
  265.             if(appendTablePrefix){
  266.                 return this.toAliasTable(field)+".filtro_nome_fruitore";
  267.             }else{
  268.                 return "filtro_nome_fruitore";
  269.             }
  270.         }
  271.         if(field.equals(Allarme.model().FILTRO.RUOLO_FRUITORE)){
  272.             if(appendTablePrefix){
  273.                 return this.toAliasTable(field)+".filtro_ruolo_fruitore";
  274.             }else{
  275.                 return "filtro_ruolo_fruitore";
  276.             }
  277.         }
  278.         if(field.equals(Allarme.model().FILTRO.SERVIZIO_APPLICATIVO_FRUITORE)){
  279.             if(appendTablePrefix){
  280.                 return this.toAliasTable(field)+".filtro_sa_fruitore";
  281.             }else{
  282.                 return "filtro_sa_fruitore";
  283.             }
  284.         }
  285.         if(field.equals(Allarme.model().FILTRO.TIPO_EROGATORE)){
  286.             if(appendTablePrefix){
  287.                 return this.toAliasTable(field)+".filtro_tipo_erogatore";
  288.             }else{
  289.                 return "filtro_tipo_erogatore";
  290.             }
  291.         }
  292.         if(field.equals(Allarme.model().FILTRO.NOME_EROGATORE)){
  293.             if(appendTablePrefix){
  294.                 return this.toAliasTable(field)+".filtro_nome_erogatore";
  295.             }else{
  296.                 return "filtro_nome_erogatore";
  297.             }
  298.         }
  299.         if(field.equals(Allarme.model().FILTRO.RUOLO_EROGATORE)){
  300.             if(appendTablePrefix){
  301.                 return this.toAliasTable(field)+".filtro_ruolo_erogatore";
  302.             }else{
  303.                 return "filtro_ruolo_erogatore";
  304.             }
  305.         }
  306.         if(field.equals(Allarme.model().FILTRO.TAG)){
  307.             if(appendTablePrefix){
  308.                 return this.toAliasTable(field)+".filtro_tag";
  309.             }else{
  310.                 return "filtro_tag";
  311.             }
  312.         }
  313.         if(field.equals(Allarme.model().FILTRO.TIPO_SERVIZIO)){
  314.             if(appendTablePrefix){
  315.                 return this.toAliasTable(field)+".filtro_tipo_servizio";
  316.             }else{
  317.                 return "filtro_tipo_servizio";
  318.             }
  319.         }
  320.         if(field.equals(Allarme.model().FILTRO.NOME_SERVIZIO)){
  321.             if(appendTablePrefix){
  322.                 return this.toAliasTable(field)+".filtro_nome_servizio";
  323.             }else{
  324.                 return "filtro_nome_servizio";
  325.             }
  326.         }
  327.         if(field.equals(Allarme.model().FILTRO.VERSIONE_SERVIZIO)){
  328.             if(appendTablePrefix){
  329.                 return this.toAliasTable(field)+".filtro_versione_servizio";
  330.             }else{
  331.                 return "filtro_versione_servizio";
  332.             }
  333.         }
  334.         if(field.equals(Allarme.model().FILTRO.AZIONE)){
  335.             if(appendTablePrefix){
  336.                 return this.toAliasTable(field)+".filtro_azione";
  337.             }else{
  338.                 return "filtro_azione";
  339.             }
  340.         }
  341.         if(field.equals(Allarme.model().GROUP_BY.ENABLED)){
  342.             if(appendTablePrefix){
  343.                 return this.toAliasTable(field)+".group_enabled";
  344.             }else{
  345.                 return "group_enabled";
  346.             }
  347.         }
  348.         if(field.equals(Allarme.model().GROUP_BY.RUOLO_PORTA)){
  349.             if(appendTablePrefix){
  350.                 return this.toAliasTable(field)+".group_ruolo";
  351.             }else{
  352.                 return "group_ruolo";
  353.             }
  354.         }
  355.         if(field.equals(Allarme.model().GROUP_BY.PROTOCOLLO)){
  356.             if(appendTablePrefix){
  357.                 return this.toAliasTable(field)+".group_protocollo";
  358.             }else{
  359.                 return "group_protocollo";
  360.             }
  361.         }
  362.         if(field.equals(Allarme.model().GROUP_BY.FRUITORE)){
  363.             if(appendTablePrefix){
  364.                 return this.toAliasTable(field)+".group_fruitore";
  365.             }else{
  366.                 return "group_fruitore";
  367.             }
  368.         }
  369.         if(field.equals(Allarme.model().GROUP_BY.SERVIZIO_APPLICATIVO_FRUITORE)){
  370.             if(appendTablePrefix){
  371.                 return this.toAliasTable(field)+".group_sa_fruitore";
  372.             }else{
  373.                 return "group_sa_fruitore";
  374.             }
  375.         }
  376.         if(field.equals(Allarme.model().GROUP_BY.IDENTIFICATIVO_AUTENTICATO)){
  377.             if(appendTablePrefix){
  378.                 return this.toAliasTable(field)+".group_id_autenticato";
  379.             }else{
  380.                 return "group_id_autenticato";
  381.             }
  382.         }
  383.         if(field.equals(Allarme.model().GROUP_BY.TOKEN)){
  384.             if(appendTablePrefix){
  385.                 return this.toAliasTable(field)+".group_token";
  386.             }else{
  387.                 return "group_token";
  388.             }
  389.         }
  390.         if(field.equals(Allarme.model().GROUP_BY.EROGATORE)){
  391.             if(appendTablePrefix){
  392.                 return this.toAliasTable(field)+".group_erogatore";
  393.             }else{
  394.                 return "group_erogatore";
  395.             }
  396.         }
  397.         if(field.equals(Allarme.model().GROUP_BY.SERVIZIO)){
  398.             if(appendTablePrefix){
  399.                 return this.toAliasTable(field)+".group_servizio";
  400.             }else{
  401.                 return "group_servizio";
  402.             }
  403.         }
  404.         if(field.equals(Allarme.model().GROUP_BY.AZIONE)){
  405.             if(appendTablePrefix){
  406.                 return this.toAliasTable(field)+".group_azione";
  407.             }else{
  408.                 return "group_azione";
  409.             }
  410.         }
  411.         if(field.equals(Allarme.model().ALLARME_PARAMETRO.ID_PARAMETRO)){
  412.             if(appendTablePrefix){
  413.                 return this.toAliasTable(field)+".param_id";
  414.             }else{
  415.                 return "param_id";
  416.             }
  417.         }
  418.         if(field.equals(Allarme.model().ALLARME_PARAMETRO.VALORE)){
  419.             if(appendTablePrefix){
  420.                 return this.toAliasTable(field)+".param_value";
  421.             }else{
  422.                 return "param_value";
  423.             }
  424.         }


  425.         return super.toColumn(field,returnAlias,appendTablePrefix);
  426.        
  427.     }
  428.    
  429.     @Override
  430.     public String toTable(IField field,boolean returnAlias) throws ExpressionException {
  431.        
  432.         // In the case of table with alias, using parameter returnAlias​​,
  433.         // it is possible to drive the choice whether to return only the alias or
  434.         // the full definition of the table containing the alias
  435.        
  436.         if(field.equals(Allarme.model().NOME)){
  437.             return this.toTable(Allarme.model(), returnAlias);
  438.         }
  439.         if(field.equals(Allarme.model().ALIAS)){
  440.             return this.toTable(Allarme.model(), returnAlias);
  441.         }
  442.         if(field.equals(Allarme.model().DESCRIZIONE)){
  443.             return this.toTable(Allarme.model(), returnAlias);
  444.         }
  445.         if(field.equals(Allarme.model().TIPO)){
  446.             return this.toTable(Allarme.model(), returnAlias);
  447.         }
  448.         if(field.equals(Allarme.model().TIPO_ALLARME)){
  449.             return this.toTable(Allarme.model(), returnAlias);
  450.         }
  451.         if(field.equals(Allarme.model().MAIL.INVIA)){
  452.             return this.toTable(Allarme.model().MAIL, returnAlias);
  453.         }
  454.         if(field.equals(Allarme.model().MAIL.INVIA_WARNING)){
  455.             return this.toTable(Allarme.model().MAIL, returnAlias);
  456.         }
  457.         if(field.equals(Allarme.model().MAIL.DESTINATARI)){
  458.             return this.toTable(Allarme.model().MAIL, returnAlias);
  459.         }
  460.         if(field.equals(Allarme.model().MAIL.SUBJECT)){
  461.             return this.toTable(Allarme.model().MAIL, returnAlias);
  462.         }
  463.         if(field.equals(Allarme.model().MAIL.BODY)){
  464.             return this.toTable(Allarme.model().MAIL, returnAlias);
  465.         }
  466.         if(field.equals(Allarme.model().SCRIPT.INVOCA)){
  467.             return this.toTable(Allarme.model().SCRIPT, returnAlias);
  468.         }
  469.         if(field.equals(Allarme.model().SCRIPT.INVOCA_WARNING)){
  470.             return this.toTable(Allarme.model().SCRIPT, returnAlias);
  471.         }
  472.         if(field.equals(Allarme.model().SCRIPT.COMMAND)){
  473.             return this.toTable(Allarme.model().SCRIPT, returnAlias);
  474.         }
  475.         if(field.equals(Allarme.model().SCRIPT.ARGS)){
  476.             return this.toTable(Allarme.model().SCRIPT, returnAlias);
  477.         }
  478.         if(field.equals(Allarme.model().STATO_PRECEDENTE)){
  479.             return this.toTable(Allarme.model(), returnAlias);
  480.         }
  481.         if(field.equals(Allarme.model().STATO)){
  482.             return this.toTable(Allarme.model(), returnAlias);
  483.         }
  484.         if(field.equals(Allarme.model().DETTAGLIO_STATO)){
  485.             return this.toTable(Allarme.model(), returnAlias);
  486.         }
  487.         if(field.equals(Allarme.model().LASTTIMESTAMP_CREATE)){
  488.             return this.toTable(Allarme.model(), returnAlias);
  489.         }
  490.         if(field.equals(Allarme.model().LASTTIMESTAMP_UPDATE)){
  491.             return this.toTable(Allarme.model(), returnAlias);
  492.         }
  493.         if(field.equals(Allarme.model().ENABLED)){
  494.             return this.toTable(Allarme.model(), returnAlias);
  495.         }
  496.         if(field.equals(Allarme.model().ACKNOWLEDGED)){
  497.             return this.toTable(Allarme.model(), returnAlias);
  498.         }
  499.         if(field.equals(Allarme.model().DETTAGLIO_ACKNOWLEDGED)){
  500.             return this.toTable(Allarme.model(), returnAlias);
  501.         }
  502.         if(field.equals(Allarme.model().TIPO_PERIODO)){
  503.             return this.toTable(Allarme.model(), returnAlias);
  504.         }
  505.         if(field.equals(Allarme.model().PERIODO)){
  506.             return this.toTable(Allarme.model(), returnAlias);
  507.         }
  508.         if(field.equals(Allarme.model().FILTRO.ENABLED)){
  509.             return this.toTable(Allarme.model().FILTRO, returnAlias);
  510.         }
  511.         if(field.equals(Allarme.model().FILTRO.PROTOCOLLO)){
  512.             return this.toTable(Allarme.model().FILTRO, returnAlias);
  513.         }
  514.         if(field.equals(Allarme.model().FILTRO.RUOLO_PORTA)){
  515.             return this.toTable(Allarme.model().FILTRO, returnAlias);
  516.         }
  517.         if(field.equals(Allarme.model().FILTRO.NOME_PORTA)){
  518.             return this.toTable(Allarme.model().FILTRO, returnAlias);
  519.         }
  520.         if(field.equals(Allarme.model().FILTRO.TIPO_FRUITORE)){
  521.             return this.toTable(Allarme.model().FILTRO, returnAlias);
  522.         }
  523.         if(field.equals(Allarme.model().FILTRO.NOME_FRUITORE)){
  524.             return this.toTable(Allarme.model().FILTRO, returnAlias);
  525.         }
  526.         if(field.equals(Allarme.model().FILTRO.RUOLO_FRUITORE)){
  527.             return this.toTable(Allarme.model().FILTRO, returnAlias);
  528.         }
  529.         if(field.equals(Allarme.model().FILTRO.SERVIZIO_APPLICATIVO_FRUITORE)){
  530.             return this.toTable(Allarme.model().FILTRO, returnAlias);
  531.         }
  532.         if(field.equals(Allarme.model().FILTRO.TIPO_EROGATORE)){
  533.             return this.toTable(Allarme.model().FILTRO, returnAlias);
  534.         }
  535.         if(field.equals(Allarme.model().FILTRO.NOME_EROGATORE)){
  536.             return this.toTable(Allarme.model().FILTRO, returnAlias);
  537.         }
  538.         if(field.equals(Allarme.model().FILTRO.RUOLO_EROGATORE)){
  539.             return this.toTable(Allarme.model().FILTRO, returnAlias);
  540.         }
  541.         if(field.equals(Allarme.model().FILTRO.TAG)){
  542.             return this.toTable(Allarme.model().FILTRO, returnAlias);
  543.         }
  544.         if(field.equals(Allarme.model().FILTRO.TIPO_SERVIZIO)){
  545.             return this.toTable(Allarme.model().FILTRO, returnAlias);
  546.         }
  547.         if(field.equals(Allarme.model().FILTRO.NOME_SERVIZIO)){
  548.             return this.toTable(Allarme.model().FILTRO, returnAlias);
  549.         }
  550.         if(field.equals(Allarme.model().FILTRO.VERSIONE_SERVIZIO)){
  551.             return this.toTable(Allarme.model().FILTRO, returnAlias);
  552.         }
  553.         if(field.equals(Allarme.model().FILTRO.AZIONE)){
  554.             return this.toTable(Allarme.model().FILTRO, returnAlias);
  555.         }
  556.         if(field.equals(Allarme.model().GROUP_BY.ENABLED)){
  557.             return this.toTable(Allarme.model().GROUP_BY, returnAlias);
  558.         }
  559.         if(field.equals(Allarme.model().GROUP_BY.RUOLO_PORTA)){
  560.             return this.toTable(Allarme.model().GROUP_BY, returnAlias);
  561.         }
  562.         if(field.equals(Allarme.model().GROUP_BY.PROTOCOLLO)){
  563.             return this.toTable(Allarme.model().GROUP_BY, returnAlias);
  564.         }
  565.         if(field.equals(Allarme.model().GROUP_BY.FRUITORE)){
  566.             return this.toTable(Allarme.model().GROUP_BY, returnAlias);
  567.         }
  568.         if(field.equals(Allarme.model().GROUP_BY.SERVIZIO_APPLICATIVO_FRUITORE)){
  569.             return this.toTable(Allarme.model().GROUP_BY, returnAlias);
  570.         }
  571.         if(field.equals(Allarme.model().GROUP_BY.IDENTIFICATIVO_AUTENTICATO)){
  572.             return this.toTable(Allarme.model().GROUP_BY, returnAlias);
  573.         }
  574.         if(field.equals(Allarme.model().GROUP_BY.TOKEN)){
  575.             return this.toTable(Allarme.model().GROUP_BY, returnAlias);
  576.         }
  577.         if(field.equals(Allarme.model().GROUP_BY.EROGATORE)){
  578.             return this.toTable(Allarme.model().GROUP_BY, returnAlias);
  579.         }
  580.         if(field.equals(Allarme.model().GROUP_BY.SERVIZIO)){
  581.             return this.toTable(Allarme.model().GROUP_BY, returnAlias);
  582.         }
  583.         if(field.equals(Allarme.model().GROUP_BY.AZIONE)){
  584.             return this.toTable(Allarme.model().GROUP_BY, returnAlias);
  585.         }
  586.         if(field.equals(Allarme.model().ALLARME_PARAMETRO.ID_PARAMETRO)){
  587.             return this.toTable(Allarme.model().ALLARME_PARAMETRO, returnAlias);
  588.         }
  589.         if(field.equals(Allarme.model().ALLARME_PARAMETRO.VALORE)){
  590.             return this.toTable(Allarme.model().ALLARME_PARAMETRO, returnAlias);
  591.         }


  592.         return super.toTable(field,returnAlias);
  593.        
  594.     }

  595.     @Override
  596.     public String toTable(IModel<?> model,boolean returnAlias) throws ExpressionException {
  597.        
  598.         // In the case of table with alias, using parameter returnAlias​​,
  599.         // it is possible to drive the choice whether to return only the alias or
  600.         // the full definition of the table containing the alias
  601.        
  602.         if(model.equals(Allarme.model())){
  603.             return CostantiDB.ALLARMI;
  604.         }
  605.         if(model.equals(Allarme.model().MAIL)){
  606.             return CostantiDB.ALLARMI;
  607.         }
  608.         if(model.equals(Allarme.model().SCRIPT)){
  609.             return CostantiDB.ALLARMI;
  610.         }
  611.         if(model.equals(Allarme.model().FILTRO)){
  612.             return CostantiDB.ALLARMI;
  613.         }
  614.         if(model.equals(Allarme.model().GROUP_BY)){
  615.             return CostantiDB.ALLARMI;
  616.         }
  617.         if(model.equals(Allarme.model().ALLARME_PARAMETRO)){
  618.             return CostantiDB.ALLARMI_PARAMETRI;
  619.         }


  620.         return super.toTable(model,returnAlias);
  621.        
  622.     }

  623. }