FiltroRicercaTracce.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.tracciamento;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.xml.datatype.XMLGregorianCalendar;
import org.openspcoop2.core.constants.TipoPdD;
import org.openspcoop2.core.id.IDSoggetto;
import org.openspcoop2.protocol.sdk.constants.RuoloMessaggio;
/**
* FiltroRicercaTracce
*
* @author Poli Andrea (apoli@link.it)
* @author Nardi Lorenzo
* @author $Author$
* @version $Rev$, $Date$
*/
public class FiltroRicercaTracce implements java.io.Serializable {
/**
* serialVersionUID
*/
private static final long serialVersionUID = 1L;
protected Date maxDate;
protected Date minDate;
protected String idTransazione;
protected RuoloMessaggio tipoTraccia;
protected TipoPdD tipoPdD;
protected IDSoggetto dominio;
protected String idBusta; // utilizzabile con tipo traccia
protected String idBustaRichiesta;
protected String idBustaRisposta;
protected String riferimentoMessaggio;
protected boolean ricercaSoloBusteErrore;
protected InformazioniProtocollo informazioniProtocollo;
protected String servizioApplicativoFruitore;
protected String servizioApplicativoErogatore;
protected String idCorrelazioneApplicativa;
protected String idCorrelazioneApplicativaRisposta;
protected boolean idCorrelazioneApplicativaOrMatch = false;
protected String protocollo;
protected Map<String, String> properties;
public FiltroRicercaTracce() {
this.properties = new HashMap<>();
}
/**
* Gets the value of the idCorrelazioneApplicativa property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getIdCorrelazioneApplicativa() {
return this.idCorrelazioneApplicativa;
}
/**
* Sets the value of the idCorrelazioneApplicativa property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setIdCorrelazioneApplicativa(String value) {
this.idCorrelazioneApplicativa = value;
}
/**
* Gets the value of the idBusta property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getIdBusta() {
return this.idBusta;
}
/**
* Sets the value of the idBusta property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setIdBusta(String value) {
this.idBusta = value;
}
/**
* Gets the value of the idBustaRichiesta property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getIdBustaRichiesta() {
return this.idBustaRichiesta;
}
/**
* Sets the value of the idBustaRichiesta property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setIdBustaRichiesta(String value) {
this.idBustaRichiesta = value;
}
/**
* Gets the value of the idBustaRichiesta property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getIdBustaRisposta() {
return this.idBustaRisposta;
}
/**
* Sets the value of the idBustaRichiesta property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setIdBustaRisposta(String value) {
this.idBustaRisposta = value;
}
/**
* Gets the value of the maxDate property.
*
* @return
* possible object is
* {@link XMLGregorianCalendar }
*
*/
public Date getMaxDate() {
return this.maxDate;
}
/**
* Sets the value of the maxDate property.
*
* @param value
* allowed object is
* {@link XMLGregorianCalendar }
*
*/
public void setMaxDate(Date value) {
this.maxDate = value;
}
/**
* Gets the value of the minDate property.
*
* @return
* possible object is
* {@link XMLGregorianCalendar }
*
*/
public Date getMinDate() {
return this.minDate;
}
/**
* Sets the value of the minDate property.
*
* @param value
* allowed object is
* {@link XMLGregorianCalendar }
*
*/
public void setMinDate(Date value) {
this.minDate = value;
}
/**
* Gets the value of the property property.
*
* <p>
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a <CODE>set</CODE> method for the property property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getProperty().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link String }
*
*
*/
public Map<String, String> getProperty() {
return this.properties;
}
/**
* Gets the value of the tipoTraccia property.
*
* @return
* possible object is
* {@link String }
*
*/
public RuoloMessaggio getTipoTraccia() {
return this.tipoTraccia;
}
/**
* Sets the value of the tipoTraccia property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setTipoTraccia(RuoloMessaggio value) {
this.tipoTraccia = value;
}
public String getIdCorrelazioneApplicativaRisposta() {
return this.idCorrelazioneApplicativaRisposta;
}
public void setIdCorrelazioneApplicativaRisposta(
String idCorrelazioneApplicativaRisposta) {
this.idCorrelazioneApplicativaRisposta = idCorrelazioneApplicativaRisposta;
}
public boolean isIdCorrelazioneApplicativaOrMatch() {
return this.idCorrelazioneApplicativaOrMatch;
}
public void setIdCorrelazioneApplicativaOrMatch(
boolean correlazioneApplicativaOrMatch) {
this.idCorrelazioneApplicativaOrMatch = correlazioneApplicativaOrMatch;
}
public void addProperty(String key,String value){
this.properties.put(key,value);
}
public int sizeProperties(){
return this.properties.size();
}
public String getProperty(String key){
return this.properties.get(key);
}
public String removeProperty(String key){
return this.properties.remove(key);
}
public String[] getPropertiesValues() {
return this.properties.values().toArray(new String[this.properties.size()]);
}
public String[] getPropertiesNames() {
return this.properties.keySet().toArray(new String[this.properties.size()]);
}
public void setProperties(Map<String, String> params) {
this.properties = params;
}
public Map<String, String> getProperties() {
return this.properties;
}
public String getProtocollo() {
return this.protocollo;
}
public void setProtocollo(String protocollo) {
this.protocollo = protocollo;
}
public String getServizioApplicativoFruitore() {
return this.servizioApplicativoFruitore;
}
public void setServizioApplicativoFruitore(String servizioApplicativoFruitore) {
this.servizioApplicativoFruitore = servizioApplicativoFruitore;
}
public String getServizioApplicativoErogatore() {
return this.servizioApplicativoErogatore;
}
public void setServizioApplicativoErogatore(String servizioApplicativoErogatore) {
this.servizioApplicativoErogatore = servizioApplicativoErogatore;
}
public TipoPdD getTipoPdD() {
return this.tipoPdD;
}
public void setTipoPdD(TipoPdD tipoPdD) {
this.tipoPdD = tipoPdD;
}
public IDSoggetto getDominio() {
return this.dominio;
}
public void setDominio(IDSoggetto dominio) {
this.dominio = dominio;
}
public String getRiferimentoMessaggio() {
return this.riferimentoMessaggio;
}
public void setRiferimentoMessaggio(String riferimentoMessaggio) {
this.riferimentoMessaggio = riferimentoMessaggio;
}
public boolean isRicercaSoloBusteErrore() {
return this.ricercaSoloBusteErrore;
}
public void setRicercaSoloBusteErrore(boolean ricercaSoloBusteErrore) {
this.ricercaSoloBusteErrore = ricercaSoloBusteErrore;
}
public InformazioniProtocollo getInformazioniProtocollo() {
return this.informazioniProtocollo;
}
public void setInformazioniProtocollo(
InformazioniProtocollo informazioniProtocollo) {
this.informazioniProtocollo = informazioniProtocollo;
}
public String getIdTransazione() {
return this.idTransazione;
}
public void setIdTransazione(String idTransazione) {
this.idTransazione = idTransazione;
}
@Override
public String toString(){
StringBuilder bf = new StringBuilder();
bf.append("Filtro Ricerca traccia:");
if(this.idTransazione!=null)
bf.append(" [id-transazione:"+this.idTransazione+"]");
if(this.minDate!=null)
bf.append(" [intervallo-inferiore-data:"+this.minDate+"]");
if(this.maxDate!=null)
bf.append(" [intervallo-superiore-data:"+this.maxDate+"]");
if(this.tipoTraccia!=null)
bf.append(" [tipo-traccia:"+this.tipoTraccia+"]");
if(this.tipoPdD!=null)
bf.append(" [tipo-porta-dominio:"+this.tipoPdD.getTipo()+"]");
if(this.dominio!=null){
if(this.dominio.getCodicePorta()!=null){
bf.append(" [identificativo-porta.codice-porta:"+this.dominio.getCodicePorta()+"]");
}
if(this.dominio.getTipo()!=null){
bf.append(" [identificativo-porta.tipo:"+this.dominio.getTipo()+"]");
}
if(this.dominio.getNome()!=null){
bf.append(" [identificativo-porta.nome:"+this.dominio.getNome()+"]");
}
}
if(this.idBusta!=null)
bf.append(" [id-busta:"+this.idBusta+"]");
if(this.idBustaRichiesta!=null)
bf.append(" [id-busta-richiesta:"+this.idBustaRichiesta+"]");
if(this.idBustaRisposta!=null)
bf.append(" [id-busta-risposta:"+this.idBustaRisposta+"]");
if(this.riferimentoMessaggio!=null)
bf.append(" [riferimento-messaggio:"+this.riferimentoMessaggio+"]");
if(this.ricercaSoloBusteErrore)
bf.append(" [ricerca-solo-buste-errore]");
if(this.informazioniProtocollo!=null){
bf.append(this.informazioniProtocollo.toString());
}
if(this.servizioApplicativoFruitore!=null)
bf.append(" [saFruitore:"+this.servizioApplicativoFruitore+"]");
if(this.servizioApplicativoErogatore!=null)
bf.append(" [saErogatore:"+this.servizioApplicativoErogatore+"]");
if(this.idCorrelazioneApplicativa!=null)
bf.append(" [id-correlazione-applicativa:"+this.idCorrelazioneApplicativa+"]");
if(this.idCorrelazioneApplicativaRisposta!=null)
bf.append(" [id-correlazione-applicativa-risposta:"+this.idCorrelazioneApplicativaRisposta+"]");
if(this.idCorrelazioneApplicativa!=null && this.idCorrelazioneApplicativaRisposta!=null)
bf.append(" [id-correlazione-applicativa-or-match:"+this.idCorrelazioneApplicativaOrMatch+"]");
if(this.protocollo!=null){
bf.append(" [protocollo:"+this.protocollo+"]");
}
if(this.properties!=null)
bf.append(" [properties:"+this.properties.size()+"]");
if(bf.length()=="Filtro Ricerca traccia:".length())
bf.append(" nessun filtro presente");
return bf.toString();
}
}