MsgDiagnostico.java
/*
* GovWay - A customizable API Gateway
* https://govway.org
*
* Copyright (c) 2005-2024 Link.it srl (https://link.it).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3, as published by
* the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
package org.openspcoop2.protocol.sdk.diagnostica;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.openspcoop2.core.diagnostica.DominioDiagnostico;
import org.openspcoop2.core.diagnostica.DominioSoggetto;
import org.openspcoop2.core.diagnostica.MessaggioDiagnostico;
import org.openspcoop2.core.diagnostica.Proprieta;
import org.openspcoop2.core.diagnostica.Protocollo;
import org.openspcoop2.core.id.IDSoggetto;
/**
* Bean Contenente le informazioni relative ai messaggi diagnostici
*
* @author Stefano Corallo (corallo@link.it)
* @author Lorenzo Nardi (nardi@link.it)
* @author $Author$
* @version $Rev$, $Date$
*
*/
public class MsgDiagnostico implements Serializable{
private static final long serialVersionUID = -3157816024001587816L;
// indicazione store
private boolean stored = false;
// msgdiagnostico
private org.openspcoop2.core.diagnostica.MessaggioDiagnostico messaggioDiagnostico;
public MsgDiagnostico(){
this.messaggioDiagnostico = new MessaggioDiagnostico();
}
public MsgDiagnostico(org.openspcoop2.core.diagnostica.MessaggioDiagnostico messaggioDiagnostico) {
this.messaggioDiagnostico = messaggioDiagnostico;
}
// stored
public boolean isStored() {
return this.stored;
}
public void setStored(boolean stored) {
this.stored = stored;
}
// base
public org.openspcoop2.core.diagnostica.MessaggioDiagnostico getMessaggioDiagnostico() {
return this.messaggioDiagnostico;
}
public void setMessaggioDiagnostico(org.openspcoop2.core.diagnostica.MessaggioDiagnostico messaggioDiagnostico) {
this.messaggioDiagnostico = messaggioDiagnostico;
}
// id [Wrapper]
public Long getId() {
return this.messaggioDiagnostico.getId();
}
public void setId(Long id) {
this.messaggioDiagnostico.setId(id);
}
// idTransazione [Wrapper]
public String getIdTransazione() {
return this.messaggioDiagnostico.getIdTransazione();
}
public void setIdTransazione(String idTransazione) {
this.messaggioDiagnostico.setIdTransazione(idTransazione);
}
// gdo [Wrapper]
public Date getGdo() {
return this.messaggioDiagnostico.getOraRegistrazione();
}
public void setGdo(Date gdo) {
this.messaggioDiagnostico.setOraRegistrazione(gdo);
}
// dominio [Wrapper]
public IDSoggetto getIdSoggetto() {
if(this.messaggioDiagnostico.getDominio()!=null){
IDSoggetto idSoggetto = null;
if(this.messaggioDiagnostico.getDominio().getIdentificativoPorta()!=null){
if(idSoggetto==null){
idSoggetto = new IDSoggetto();
}
idSoggetto.setCodicePorta(this.messaggioDiagnostico.getDominio().getIdentificativoPorta());
}
if(this.messaggioDiagnostico.getDominio().getSoggetto()!=null){
if(idSoggetto==null){
idSoggetto = new IDSoggetto();
}
idSoggetto.setTipo(this.messaggioDiagnostico.getDominio().getSoggetto().getTipo());
idSoggetto.setNome(this.messaggioDiagnostico.getDominio().getSoggetto().getBase());
}
return idSoggetto;
}
return null;
}
public void setIdSoggetto(IDSoggetto idPorta) {
if(idPorta!=null){
if(this.messaggioDiagnostico.getDominio()==null){
this.messaggioDiagnostico.setDominio(new DominioDiagnostico());
}
this.messaggioDiagnostico.getDominio().setIdentificativoPorta(idPorta.getCodicePorta());
if(this.messaggioDiagnostico.getDominio().getSoggetto()==null){
this.messaggioDiagnostico.getDominio().setSoggetto(new DominioSoggetto());
}
this.messaggioDiagnostico.getDominio().getSoggetto().setBase(idPorta.getNome());
this.messaggioDiagnostico.getDominio().getSoggetto().setTipo(idPorta.getTipo());
}else{
if(this.messaggioDiagnostico.getDominio()!=null){
if(this.messaggioDiagnostico.getDominio().getModulo()!=null){
if(this.messaggioDiagnostico.getDominio().getSoggetto()!=null){
this.messaggioDiagnostico.getDominio().setSoggetto(null);
}
this.messaggioDiagnostico.getDominio().setIdentificativoPorta(null);
}
else{
this.messaggioDiagnostico.setDominio(null);
}
}
}
}
public String getIdFunzione() {
if(this.messaggioDiagnostico.getDominio()!=null){
return this.messaggioDiagnostico.getDominio().getModulo();
}
return null;
}
public void setIdFunzione(String idFunzione) {
if(idFunzione!=null){
if(this.messaggioDiagnostico.getDominio()==null){
this.messaggioDiagnostico.setDominio(new DominioDiagnostico());
}
this.messaggioDiagnostico.getDominio().setModulo(idFunzione);
}else{
if(this.messaggioDiagnostico.getDominio()!=null){
if(this.messaggioDiagnostico.getDominio().getSoggetto()!=null || this.messaggioDiagnostico.getDominio().getIdentificativoPorta()!=null){
this.messaggioDiagnostico.getDominio().setModulo(null);
}
else{
this.messaggioDiagnostico.setDominio(null);
}
}
}
}
// severita [Wrapper]
public int getSeverita() {
if(this.messaggioDiagnostico.getSeverita()!=null){
return this.messaggioDiagnostico.getSeverita();
}
return -1;
}
public void setSeverita(int severita) {
this.messaggioDiagnostico.setSeverita(severita);
}
// messaggio [Wrapper]
public String getMessaggio() {
return this.messaggioDiagnostico.getMessaggio();
}
public void setMessaggio(String messaggio) {
this.messaggioDiagnostico.setMessaggio(messaggio);
}
// identificativi busta [Wrapper]
public String getIdBusta() {
return this.messaggioDiagnostico.getIdentificativoRichiesta();
}
public void setIdBusta(String idBusta) {
this.messaggioDiagnostico.setIdentificativoRichiesta(idBusta);
}
public String getIdBustaRisposta() {
return this.messaggioDiagnostico.getIdentificativoRisposta();
}
public void setIdBustaRisposta(String idBustaRisposta) {
this.messaggioDiagnostico.setIdentificativoRisposta(idBustaRisposta);
}
// applicativo [Wrapper]
public String getApplicativo() {
return this.messaggioDiagnostico.getApplicativo();
}
public void setApplicativo(String applicativo) {
this.messaggioDiagnostico.setApplicativo(applicativo);
}
// codice [Wrapper]
public String getCodice() {
return this.messaggioDiagnostico.getCodice();
}
public void setCodice(String codice) {
this.messaggioDiagnostico.setCodice(codice);
}
// protocollo [wrapper]
public String getProtocollo() {
if(this.messaggioDiagnostico.getProtocollo()!=null)
return this.messaggioDiagnostico.getProtocollo().getIdentificativo();
return null;
}
public void setProtocollo(String protocollo) {
if(protocollo!=null){
if(this.messaggioDiagnostico.getProtocollo()==null){
this.messaggioDiagnostico.setProtocollo(new Protocollo());
}
this.messaggioDiagnostico.getProtocollo().setIdentificativo(protocollo);
}
else{
if(this.messaggioDiagnostico.getProtocollo()!=null){
if(this.messaggioDiagnostico.getProtocollo().sizeProprietaList()<=0){
this.messaggioDiagnostico.setProtocollo(null);
}
else{
this.messaggioDiagnostico.getProtocollo().setIdentificativo(null);
}
}
}
}
// properties [wrapped]
public void addProperty(String key,String value){
// Per evitare nullPointer durante la serializzazione
// Non deve essere inserito nemmeno il valore ""
if(value!=null && !"".equals(value)){
if(this.messaggioDiagnostico.getProtocollo()==null){
this.messaggioDiagnostico.setProtocollo(new Protocollo());
}
Proprieta proprieta = new Proprieta();
proprieta.setNome(key);
proprieta.setValore(value);
this.removeProperty(key); // per evitare doppioni
this.messaggioDiagnostico.getProtocollo().addProprieta(proprieta);
}
}
public int sizeProperties(){
if(this.messaggioDiagnostico.getProtocollo()!=null){
return this.messaggioDiagnostico.getProtocollo().sizeProprietaList();
}
return 0;
}
public String getProperty(String key){
if(this.messaggioDiagnostico.getProtocollo()!=null){
for (int i = 0; i < this.messaggioDiagnostico.getProtocollo().sizeProprietaList(); i++) {
Proprieta proprieta = this.messaggioDiagnostico.getProtocollo().getProprieta(i);
if(proprieta.getNome().equals(key)){
return proprieta.getValore();
}
}
}
return null;
}
public String removeProperty(String key){
if(this.messaggioDiagnostico.getProtocollo()!=null){
for (int i = 0; i < this.messaggioDiagnostico.getProtocollo().sizeProprietaList(); i++) {
Proprieta proprieta = this.messaggioDiagnostico.getProtocollo().getProprieta(i);
if(proprieta.getNome().equals(key)){
this.messaggioDiagnostico.getProtocollo().removeProprieta(i);
return proprieta.getValore();
}
}
}
return null;
}
public String[] getPropertiesValues() {
List<String> propertiesValues = new ArrayList<>();
if(this.messaggioDiagnostico.getProtocollo()!=null){
for (int i = 0; i < this.messaggioDiagnostico.getProtocollo().sizeProprietaList(); i++) {
Proprieta proprieta = this.messaggioDiagnostico.getProtocollo().getProprieta(i);
propertiesValues.add(proprieta.getValore());
}
}
if(propertiesValues.size()>0){
return propertiesValues.toArray(new String[1]);
}
else{
return null;
}
}
public String[] getPropertiesNames() {
List<String> propertiesValues = new ArrayList<>();
if(this.messaggioDiagnostico.getProtocollo()!=null){
for (int i = 0; i < this.messaggioDiagnostico.getProtocollo().sizeProprietaList(); i++) {
Proprieta proprieta = this.messaggioDiagnostico.getProtocollo().getProprieta(i);
propertiesValues.add(proprieta.getNome());
}
}
if(propertiesValues.size()>0){
return propertiesValues.toArray(new String[1]);
}
else{
return null;
}
}
// Non devono essere usati.
// Altrimenti poi se viene effettuato una add o remove sulla lista o hashtable ritornata, la modifica non ha effetto
// public void setProperties(Map<String, String> params) {
// Enumeration<String> keys = params.keys();
// while (keys.hasMoreElements()) {
// String key = (String) keys.nextElement();
// this.addProperty(key, params.get(key));
// }
// }
//
// public Map<String, String> getProperties() {
// Map<String, String> map = new HashMap<>();
// if(this.messaggioDiagnostico.getProtocollo()!=null){
// for (int i = 0; i < this.messaggioDiagnostico.getProtocollo().sizeProprietaList(); i++) {
// Proprieta proprieta = this.messaggioDiagnostico.getProtocollo().getProprieta(i);
// map.put(proprieta.getNome(), proprieta.getValore());
// }
// }
// return map;
// }
}