MsgDiagnostico.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.protocol.sdk.diagnostica;

  21. import java.io.Serializable;
  22. import java.util.ArrayList;
  23. import java.util.Date;
  24. import java.util.List;

  25. import org.openspcoop2.core.diagnostica.DominioDiagnostico;
  26. import org.openspcoop2.core.diagnostica.DominioSoggetto;
  27. import org.openspcoop2.core.diagnostica.MessaggioDiagnostico;
  28. import org.openspcoop2.core.diagnostica.Proprieta;
  29. import org.openspcoop2.core.diagnostica.Protocollo;
  30. import org.openspcoop2.core.id.IDSoggetto;


  31. /**
  32.  * Bean Contenente le informazioni relative ai messaggi diagnostici
  33.  *
  34.  * @author Stefano Corallo (corallo@link.it)
  35.  * @author Lorenzo Nardi (nardi@link.it)
  36.  * @author $Author$
  37.  * @version $Rev$, $Date$
  38.  *
  39.  */
  40. public class MsgDiagnostico implements Serializable{

  41.     private static final long serialVersionUID = -3157816024001587816L;

  42.     // indicazione store
  43.     private boolean stored = false;
  44.    
  45.     // msgdiagnostico
  46.     private org.openspcoop2.core.diagnostica.MessaggioDiagnostico messaggioDiagnostico;

  47.    
  48.    
  49.     public MsgDiagnostico(){
  50.         this.messaggioDiagnostico = new MessaggioDiagnostico();
  51.     }
  52.     public MsgDiagnostico(org.openspcoop2.core.diagnostica.MessaggioDiagnostico messaggioDiagnostico) {
  53.         this.messaggioDiagnostico = messaggioDiagnostico;
  54.     }

  55.    
  56.     // stored
  57.    
  58.     public boolean isStored() {
  59.         return this.stored;
  60.     }
  61.     public void setStored(boolean stored) {
  62.         this.stored = stored;
  63.     }
  64.    
  65.    
  66.     // base
  67.    
  68.     public org.openspcoop2.core.diagnostica.MessaggioDiagnostico getMessaggioDiagnostico() {
  69.         return this.messaggioDiagnostico;
  70.     }
  71.     public void setMessaggioDiagnostico(org.openspcoop2.core.diagnostica.MessaggioDiagnostico messaggioDiagnostico) {
  72.         this.messaggioDiagnostico = messaggioDiagnostico;
  73.     }
  74.    
  75.    
  76.    
  77.     // id  [Wrapper]
  78.    
  79.     public Long getId() {
  80.         return this.messaggioDiagnostico.getId();
  81.     }
  82.     public void setId(Long id) {
  83.         this.messaggioDiagnostico.setId(id);
  84.     }
  85.    
  86.    
  87.    
  88.    
  89.    
  90.     // idTransazione [Wrapper]
  91.    
  92.     public String getIdTransazione() {
  93.         return this.messaggioDiagnostico.getIdTransazione();
  94.     }
  95.     public void setIdTransazione(String idTransazione) {
  96.         this.messaggioDiagnostico.setIdTransazione(idTransazione);
  97.     }
  98.    
  99.    
  100.    
  101.    
  102.     // gdo  [Wrapper]
  103.    
  104.     public Date getGdo() {
  105.         return this.messaggioDiagnostico.getOraRegistrazione();
  106.     }
  107.     public void setGdo(Date gdo) {
  108.         this.messaggioDiagnostico.setOraRegistrazione(gdo);
  109.     }
  110.    
  111.    
  112.    
  113.     // dominio  [Wrapper]
  114.    
  115.     public IDSoggetto getIdSoggetto() {
  116.         if(this.messaggioDiagnostico.getDominio()!=null){
  117.             IDSoggetto idSoggetto = null;
  118.             if(this.messaggioDiagnostico.getDominio().getIdentificativoPorta()!=null){
  119.                 if(idSoggetto==null){
  120.                     idSoggetto = new IDSoggetto();
  121.                 }
  122.                 idSoggetto.setCodicePorta(this.messaggioDiagnostico.getDominio().getIdentificativoPorta());
  123.             }
  124.             if(this.messaggioDiagnostico.getDominio().getSoggetto()!=null){
  125.                 if(idSoggetto==null){
  126.                     idSoggetto = new IDSoggetto();
  127.                 }
  128.                 idSoggetto.setTipo(this.messaggioDiagnostico.getDominio().getSoggetto().getTipo());
  129.                 idSoggetto.setNome(this.messaggioDiagnostico.getDominio().getSoggetto().getBase());
  130.             }
  131.             return idSoggetto;
  132.         }
  133.        
  134.         return null;
  135.     }
  136.     public void setIdSoggetto(IDSoggetto idPorta) {
  137.         if(idPorta!=null){
  138.             if(this.messaggioDiagnostico.getDominio()==null){
  139.                 this.messaggioDiagnostico.setDominio(new DominioDiagnostico());
  140.             }
  141.             this.messaggioDiagnostico.getDominio().setIdentificativoPorta(idPorta.getCodicePorta());
  142.             if(this.messaggioDiagnostico.getDominio().getSoggetto()==null){
  143.                 this.messaggioDiagnostico.getDominio().setSoggetto(new DominioSoggetto());
  144.             }
  145.             this.messaggioDiagnostico.getDominio().getSoggetto().setBase(idPorta.getNome());
  146.             this.messaggioDiagnostico.getDominio().getSoggetto().setTipo(idPorta.getTipo());
  147.         }else{
  148.             if(this.messaggioDiagnostico.getDominio()!=null){
  149.                 if(this.messaggioDiagnostico.getDominio().getModulo()!=null){
  150.                     if(this.messaggioDiagnostico.getDominio().getSoggetto()!=null){
  151.                         this.messaggioDiagnostico.getDominio().setSoggetto(null);
  152.                     }
  153.                     this.messaggioDiagnostico.getDominio().setIdentificativoPorta(null);
  154.                 }
  155.                 else{
  156.                     this.messaggioDiagnostico.setDominio(null);
  157.                 }
  158.                
  159.             }
  160.         }
  161.     }
  162.     public String getIdFunzione() {
  163.         if(this.messaggioDiagnostico.getDominio()!=null){
  164.             return this.messaggioDiagnostico.getDominio().getModulo();
  165.         }
  166.         return null;
  167.     }
  168.     public void setIdFunzione(String idFunzione) {
  169.         if(idFunzione!=null){
  170.             if(this.messaggioDiagnostico.getDominio()==null){
  171.                 this.messaggioDiagnostico.setDominio(new DominioDiagnostico());
  172.             }
  173.             this.messaggioDiagnostico.getDominio().setModulo(idFunzione);
  174.         }else{
  175.             if(this.messaggioDiagnostico.getDominio()!=null){
  176.                 if(this.messaggioDiagnostico.getDominio().getSoggetto()!=null || this.messaggioDiagnostico.getDominio().getIdentificativoPorta()!=null){
  177.                     this.messaggioDiagnostico.getDominio().setModulo(null);
  178.                 }
  179.                 else{
  180.                     this.messaggioDiagnostico.setDominio(null);
  181.                 }
  182.                
  183.             }
  184.         }
  185.     }
  186.    
  187.    
  188.    
  189.     // severita  [Wrapper]
  190.    
  191.     public int getSeverita() {
  192.         if(this.messaggioDiagnostico.getSeverita()!=null){
  193.             return this.messaggioDiagnostico.getSeverita();
  194.         }
  195.         return -1;
  196.     }
  197.     public void setSeverita(int severita) {
  198.         this.messaggioDiagnostico.setSeverita(severita);
  199.     }
  200.    
  201.    
  202.    
  203.     // messaggio  [Wrapper]
  204.    
  205.     public String getMessaggio() {
  206.         return this.messaggioDiagnostico.getMessaggio();
  207.     }
  208.     public void setMessaggio(String messaggio) {
  209.         this.messaggioDiagnostico.setMessaggio(messaggio);
  210.     }
  211.    
  212.    
  213.    
  214.     // identificativi busta [Wrapper]
  215.    
  216.     public String getIdBusta() {
  217.         return this.messaggioDiagnostico.getIdentificativoRichiesta();
  218.     }
  219.     public void setIdBusta(String idBusta) {
  220.         this.messaggioDiagnostico.setIdentificativoRichiesta(idBusta);
  221.     }
  222.     public String getIdBustaRisposta() {
  223.         return this.messaggioDiagnostico.getIdentificativoRisposta();
  224.     }
  225.     public void setIdBustaRisposta(String idBustaRisposta) {
  226.         this.messaggioDiagnostico.setIdentificativoRisposta(idBustaRisposta);
  227.     }
  228.    
  229.    
  230.     // applicativo [Wrapper]
  231.    
  232.     public String getApplicativo() {
  233.         return this.messaggioDiagnostico.getApplicativo();
  234.     }
  235.     public void setApplicativo(String applicativo) {
  236.         this.messaggioDiagnostico.setApplicativo(applicativo);
  237.     }
  238.    
  239.    
  240.    
  241.     // codice [Wrapper]
  242.    
  243.     public String getCodice() {
  244.         return this.messaggioDiagnostico.getCodice();
  245.     }
  246.     public void setCodice(String codice) {
  247.         this.messaggioDiagnostico.setCodice(codice);
  248.     }
  249.    
  250.    
  251.    
  252.    
  253.     // protocollo [wrapper]
  254.    
  255.     public String getProtocollo() {
  256.         if(this.messaggioDiagnostico.getProtocollo()!=null)
  257.             return this.messaggioDiagnostico.getProtocollo().getIdentificativo();
  258.         return null;
  259.     }

  260.     public void setProtocollo(String protocollo) {
  261.         if(protocollo!=null){
  262.             if(this.messaggioDiagnostico.getProtocollo()==null){
  263.                 this.messaggioDiagnostico.setProtocollo(new Protocollo());
  264.             }
  265.             this.messaggioDiagnostico.getProtocollo().setIdentificativo(protocollo);
  266.         }
  267.         else{
  268.             if(this.messaggioDiagnostico.getProtocollo()!=null){
  269.                 if(this.messaggioDiagnostico.getProtocollo().sizeProprietaList()<=0){
  270.                     this.messaggioDiagnostico.setProtocollo(null);
  271.                 }
  272.                 else{
  273.                     this.messaggioDiagnostico.getProtocollo().setIdentificativo(null);
  274.                 }
  275.             }
  276.         }
  277.     }
  278.    
  279.    
  280.    

  281.    
  282.    
  283.     // properties [wrapped]
  284.    
  285.     public void addProperty(String key,String value){
  286.         // Per evitare nullPointer durante la serializzazione
  287.         // Non deve essere inserito nemmeno il valore ""
  288.         if(value!=null && !"".equals(value)){
  289.             if(this.messaggioDiagnostico.getProtocollo()==null){
  290.                 this.messaggioDiagnostico.setProtocollo(new Protocollo());
  291.             }
  292.             Proprieta proprieta = new Proprieta();
  293.             proprieta.setNome(key);
  294.             proprieta.setValore(value);
  295.             this.removeProperty(key); // per evitare doppioni
  296.             this.messaggioDiagnostico.getProtocollo().addProprieta(proprieta);
  297.         }
  298.     }
  299.    
  300.     public int sizeProperties(){
  301.         if(this.messaggioDiagnostico.getProtocollo()!=null){
  302.             return this.messaggioDiagnostico.getProtocollo().sizeProprietaList();
  303.         }
  304.         return 0;
  305.     }

  306.     public String getProperty(String key){
  307.         if(this.messaggioDiagnostico.getProtocollo()!=null){
  308.             for (int i = 0; i < this.messaggioDiagnostico.getProtocollo().sizeProprietaList(); i++) {
  309.                 Proprieta proprieta = this.messaggioDiagnostico.getProtocollo().getProprieta(i);
  310.                 if(proprieta.getNome().equals(key)){
  311.                     return proprieta.getValore();
  312.                 }
  313.             }
  314.         }
  315.         return null;
  316.     }
  317.    
  318.     public String removeProperty(String key){
  319.         if(this.messaggioDiagnostico.getProtocollo()!=null){
  320.             for (int i = 0; i < this.messaggioDiagnostico.getProtocollo().sizeProprietaList(); i++) {
  321.                 Proprieta proprieta = this.messaggioDiagnostico.getProtocollo().getProprieta(i);
  322.                 if(proprieta.getNome().equals(key)){
  323.                     this.messaggioDiagnostico.getProtocollo().removeProprieta(i);
  324.                     return proprieta.getValore();
  325.                 }
  326.             }
  327.         }
  328.         return null;
  329.     }
  330.    
  331.     public String[] getPropertiesValues() {
  332.         List<String> propertiesValues = new ArrayList<>();
  333.         if(this.messaggioDiagnostico.getProtocollo()!=null){
  334.             for (int i = 0; i < this.messaggioDiagnostico.getProtocollo().sizeProprietaList(); i++) {
  335.                 Proprieta proprieta = this.messaggioDiagnostico.getProtocollo().getProprieta(i);
  336.                 propertiesValues.add(proprieta.getValore());
  337.             }
  338.         }
  339.         if(propertiesValues.size()>0){
  340.             return propertiesValues.toArray(new String[1]);
  341.         }
  342.         else{
  343.             return null;
  344.         }
  345.     }
  346.    
  347.     public String[] getPropertiesNames() {
  348.         List<String> propertiesValues = new ArrayList<>();
  349.         if(this.messaggioDiagnostico.getProtocollo()!=null){
  350.             for (int i = 0; i < this.messaggioDiagnostico.getProtocollo().sizeProprietaList(); i++) {
  351.                 Proprieta proprieta = this.messaggioDiagnostico.getProtocollo().getProprieta(i);
  352.                 propertiesValues.add(proprieta.getNome());
  353.             }
  354.         }
  355.         if(propertiesValues.size()>0){
  356.             return propertiesValues.toArray(new String[1]);
  357.         }
  358.         else{
  359.             return null;
  360.         }
  361.     }
  362.    
  363.     // Non devono essere usati.
  364.     // Altrimenti poi se viene effettuato una add o remove sulla lista o hashtable ritornata, la modifica non ha effetto
  365. //    public void setProperties(Map<String, String> params) {
  366. //      Enumeration<String> keys = params.keys();
  367. //      while (keys.hasMoreElements()) {
  368. //          String key = (String) keys.nextElement();
  369. //          this.addProperty(key, params.get(key));
  370. //      }
  371. //    }
  372. //    
  373. //    public Map<String, String> getProperties() {
  374. //      Map<String, String> map = new HashMap<>();
  375. //      if(this.messaggioDiagnostico.getProtocollo()!=null){
  376. //          for (int i = 0; i < this.messaggioDiagnostico.getProtocollo().sizeProprietaList(); i++) {
  377. //              Proprieta proprieta = this.messaggioDiagnostico.getProtocollo().getProprieta(i);
  378. //              map.put(proprieta.getNome(), proprieta.getValore());
  379. //          }
  380. //      }
  381. //      return map;
  382. //    }



  383. }