Converter.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.pdd.logger.traccia;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import org.joda.time.DateTime;
import org.openspcoop2.core.constants.CostantiLabel;
import org.openspcoop2.core.id.IDServizioApplicativo;
import org.openspcoop2.core.id.IDSoggetto;
import org.openspcoop2.core.transazioni.DumpAllegato;
import org.openspcoop2.core.transazioni.DumpContenuto;
import org.openspcoop2.core.transazioni.DumpHeaderAllegato;
import org.openspcoop2.core.transazioni.DumpHeaderTrasporto;
import org.openspcoop2.core.transazioni.DumpMessaggio;
import org.openspcoop2.core.transazioni.DumpMultipartHeader;
import org.openspcoop2.core.transazioni.constants.PddRuolo;
import org.openspcoop2.core.transazioni.constants.TipoMessaggio;
import org.openspcoop2.core.transazioni.utils.CredenzialiMittente;
import org.openspcoop2.core.transazioni.utils.credenziali.CredenzialeTokenClient;
import org.openspcoop2.message.constants.MessageType;
import org.openspcoop2.pdd.logger.LogLevels;
import org.openspcoop2.protocol.engine.ProtocolFactoryManager;
import org.openspcoop2.protocol.sdk.IProtocolFactory;
import org.openspcoop2.protocol.sdk.constants.ProfiloDiCollaborazione;
import org.openspcoop2.protocol.sdk.constants.TipoSerializzazione;
import org.openspcoop2.protocol.sdk.diagnostica.MsgDiagnostico;
import org.openspcoop2.protocol.sdk.tracciamento.ITracciaSerializer;
import org.openspcoop2.protocol.sdk.tracciamento.Traccia;
import org.openspcoop2.protocol.utils.EsitiProperties;
import org.openspcoop2.utils.date.DateManager;
import org.openspcoop2.utils.service.beans.Diagnostico;
import org.openspcoop2.utils.service.beans.DiagnosticoSeveritaEnum;
import org.openspcoop2.utils.service.beans.HttpMethodEnum;
import org.openspcoop2.utils.service.beans.ProfiloCollaborazioneEnum;
import org.openspcoop2.utils.service.beans.ProfiloEnum;
import org.openspcoop2.utils.service.beans.Transazione;
import org.openspcoop2.utils.service.beans.TransazioneBase;
import org.openspcoop2.utils.service.beans.TransazioneContenutoMessaggio;
import org.openspcoop2.utils.service.beans.TransazioneContenutoMessaggioHeader;
import org.openspcoop2.utils.service.beans.TransazioneContestoEnum;
import org.openspcoop2.utils.service.beans.TransazioneDettaglioMessaggio;
import org.openspcoop2.utils.service.beans.TransazioneDettaglioRichiesta;
import org.openspcoop2.utils.service.beans.TransazioneDettaglioRisposta;
import org.openspcoop2.utils.service.beans.TransazioneEsito;
import org.openspcoop2.utils.service.beans.TransazioneExt;
import org.openspcoop2.utils.service.beans.TransazioneExtContenutoMessaggio;
import org.openspcoop2.utils.service.beans.TransazioneExtContenutoMessaggioAllegato;
import org.openspcoop2.utils.service.beans.TransazioneExtContenutoMessaggioBody;
import org.openspcoop2.utils.service.beans.TransazioneExtContenutoMessaggioBodyMultipart;
import org.openspcoop2.utils.service.beans.TransazioneExtContenutoMessaggioPorzioneBody;
import org.openspcoop2.utils.service.beans.TransazioneExtDettaglioRichiesta;
import org.openspcoop2.utils.service.beans.TransazioneExtDettaglioRisposta;
import org.openspcoop2.utils.service.beans.TransazioneExtInformazioniApi;
import org.openspcoop2.utils.service.beans.TransazioneExtInformazioniMittente;
import org.openspcoop2.utils.service.beans.TransazioneExtInformazioniMittenteApplicativoToken;
import org.openspcoop2.utils.service.beans.TransazioneExtInformazioniSoggetto;
import org.openspcoop2.utils.service.beans.TransazioneExtInformazioniToken;
import org.openspcoop2.utils.service.beans.TransazioneInformazioniApi;
import org.openspcoop2.utils.service.beans.TransazioneInformazioniMittente;
import org.openspcoop2.utils.service.beans.TransazioneMessaggioFormatoEnum;
import org.openspcoop2.utils.service.beans.TransazioneRuoloEnum;
import org.slf4j.Logger;
/**
* ConverterUtils
*
* @author Poli Andrea (apoli@link.it)
* @author $Author$
* @version $Rev$, $Date$
*/
public class Converter {
private Logger log;
private boolean throwInitProtocol= true;
// configurazione
private boolean emittente = true;
private boolean dataEmissione = true;
private boolean id = true;
private boolean idConversazione = true;
private boolean ruolo = true;
private boolean esito = true;
private boolean messaggi_id = true;
private boolean messaggi_idApplicativo = true;
private boolean messaggi_data = true;
private boolean messaggi_contenuti = true;
private boolean richiesta_tipo = true;
private boolean richiesta_urlInvocazione = true;
private boolean risposta_esito = true;
private boolean risposta_fault = true;
private boolean risposta_errori = true;
private boolean api_erogatore = true;
private boolean api_nome = true;
private boolean api_versione = true;
private boolean api_operazione = true;
private boolean mittente_fruitore = true;
private boolean mittente_principal = true;
private boolean mittente_utente = true;
private boolean mittente_client = true;
private boolean mittente_indirizzoClient = true;
private boolean mittente_indirizzoClientInoltrato = true;
// configurazione ext
private boolean profilo = true;
private boolean contesto = true;
private boolean idCluster = true;
private boolean emittenteExtraInfo = true;
private boolean stato = true;
private boolean messaggi_dimensione = true;
private boolean messaggi_dataAccettazione = true;
private boolean messaggi_duplicati = true;
private boolean messaggi_tracciaProtocollo = true;
private boolean richiesta_connettore = true;
private boolean diagnostici = true;
private boolean api_erogatoreExtraInfo = true;
private boolean api_tags = true;
private boolean api_tipo = true;
private boolean api_idAsincrono = true;
private boolean api_profiloCollaborazione = true;
private boolean mittente_fruitoreExtraInfo = true;
private boolean mittente_applicativo = true;
private boolean mittente_credenziali = true;
private boolean mittente_token = true;
private boolean mittente_tokenClaims = true;
private boolean mittente_applicativoToken = true;
public Converter(Logger log) {
this.log = log;
}
public Converter(Logger log, Properties pConf) throws TracciaException {
this.log = log;
try {
Field [] fields = Converter.class.getDeclaredFields();
for (Field field : fields) {
String fieldName = field.getName();
fieldName = fieldName.replace("_", ".");
if(pConf.containsKey(fieldName)) {
String value = pConf.getProperty(fieldName);
String bCN = boolean.class.getName()+"";
if(bCN.equals(field.getType().getName())) {
field.set(this, "true".equalsIgnoreCase(value));
}else {
field.set(this, value);
}
}
}
}catch(Exception e) {
throw new TracciaException(e.getMessage(),e);
}
}
public Transazione toTransazione(org.openspcoop2.core.transazioni.Transazione transazioneDB,
CredenzialiMittente credenzialiMittente, List<MsgDiagnostico> messaggiDiagnostici) throws Exception {
return (Transazione) this._toTransazione(transazioneDB, credenzialiMittente, null, null, messaggiDiagnostici, false);
}
public TransazioneExt toTransazioneExt(org.openspcoop2.core.transazioni.Transazione transazioneDB,
CredenzialiMittente credenzialiMittente, Traccia tracciaRichiesta, Traccia tracciaRisposta, List<MsgDiagnostico> messaggiDiagnostici) throws Exception {
return (TransazioneExt) this._toTransazione(transazioneDB, credenzialiMittente, tracciaRichiesta, tracciaRisposta, messaggiDiagnostici, true);
}
private TransazioneBase _toTransazione(org.openspcoop2.core.transazioni.Transazione transazioneDB,
CredenzialiMittente credenzialiMittente, Traccia tracciaRichiesta, Traccia tracciaRisposta, List<MsgDiagnostico> messaggiDiagnostici,
boolean extended) throws Exception {
List<String> errori = new ArrayList<>();
if((!extended || !this.diagnostici) && messaggiDiagnostici!=null && messaggiDiagnostici.size()>0) {
for (MsgDiagnostico diag : messaggiDiagnostici) {
if(diag.getSeverita() <= LogLevels.SEVERITA_ERROR_INTEGRATION) {
errori.add(diag.getMessaggio());
}
}
}
TransazioneBase transazione = null;
if(extended) {
transazione = new TransazioneExt();
}
else {
transazione = new Transazione();
}
if(this.id) {
transazione.setIdTraccia(java.util.UUID.fromString(transazioneDB.getIdTransazione()));
}
if(this.dataEmissione) {
transazione.setDataEmissione(new DateTime(DateManager.getTimeMillis()));
}
if(this.idConversazione) {
transazione.setIdConversazione(transazioneDB.getIdCollaborazione());
}
if(this.esito) {
TransazioneEsito esito = new TransazioneEsito();
esito.setCodice(transazioneDB.getEsito()+"");
try {
EsitiProperties esitiProperties = EsitiProperties.getInstanceFromProtocolName(this.log, transazioneDB.getProtocollo());
esito.setDescrizione(esitiProperties.getEsitoLabel(transazioneDB.getEsito()));
}catch(Throwable e) {
if(this.throwInitProtocol) {
throw e;
}
else {
esito.setDescrizione("ok");
}
}
transazione.setEsito(esito);
}
TransazioneRuoloEnum ruoloTraccia = null;
if(PddRuolo.DELEGATA.equals(transazioneDB.getPddRuolo())){
ruoloTraccia = TransazioneRuoloEnum.FRUIZIONE;
}
else {
ruoloTraccia = TransazioneRuoloEnum.EROGAZIONE;
}
IProtocolFactory<?> protocolFactory = null;
ITracciaSerializer tracciaSerializer = null;
if(extended) {
try {
protocolFactory = ProtocolFactoryManager.getInstance().getProtocolFactoryByName(transazioneDB.getProtocollo());
if(protocolFactory.createProtocolConfiguration().isAbilitataGenerazioneTracce()) {
tracciaSerializer = protocolFactory.createTracciaSerializer();
}
}catch(Throwable e) {
if(this.throwInitProtocol) {
throw e;
}
}
if(this.ruolo) {
((TransazioneExt)transazione).setRuolo(ruoloTraccia);
}
if(this.emittente) {
if(transazioneDB.getPddNomeSoggetto()!=null) { // liste con dati dell'indice e basta, non c'è questo campo
((TransazioneExt)transazione).setEmittente(transazioneDB.getPddNomeSoggetto());
}
else if(PddRuolo.APPLICATIVA.equals(transazioneDB.getPddRuolo()) && transazioneDB.getNomeSoggettoErogatore()!=null) {
((TransazioneExt)transazione).setEmittente(transazioneDB.getNomeSoggettoErogatore());
}
else if(PddRuolo.DELEGATA.equals(transazioneDB.getPddRuolo()) && transazioneDB.getNomeSoggettoFruitore()!=null) {
((TransazioneExt)transazione).setEmittente(transazioneDB.getNomeSoggettoFruitore());
}
else {
((TransazioneExt)transazione).setEmittente(transazioneDB.getPddCodice());
}
}
if(this.profilo) {
ProfiloEnum profilo = ProfiloEnum.APIGATEWAY;
if(transazioneDB.getProtocollo().equals(CostantiLabel.MODIPA_PROTOCOL_NAME)) {
profilo = ProfiloEnum.MODIPA;
}
else if(transazioneDB.getProtocollo().equals(CostantiLabel.SPCOOP_PROTOCOL_NAME)) {
profilo = ProfiloEnum.SPCOOP;
}
else if(transazioneDB.getProtocollo().equals(CostantiLabel.SDI_PROTOCOL_NAME)) {
profilo = ProfiloEnum.FATTURAPA;
}
else if(transazioneDB.getProtocollo().equals(CostantiLabel.AS4_PROTOCOL_NAME)) {
profilo = ProfiloEnum.EDELIVERY;
}
((TransazioneExt)transazione).setProfilo(profilo);
}
if(this.contesto) {
TransazioneContestoEnum contesto = TransazioneContestoEnum.STANDARD;
if(transazioneDB.getEsitoContesto()!=null && !TransazioneContestoEnum.STANDARD.name().equalsIgnoreCase(transazioneDB.getEsitoContesto())) {
contesto = TransazioneContestoEnum.SONDA;
}
((TransazioneExt)transazione).setContesto(contesto);
}
if(this.idCluster) {
((TransazioneExt)transazione).setIdCluster(transazioneDB.getClusterId());
}
if(this.emittenteExtraInfo) {
String tipoEmittente = transazioneDB.getPddTipoSoggetto(); // liste con dati dell'indice e basta, non c'è questo campo
if(tipoEmittente==null) {
if(PddRuolo.APPLICATIVA.equals(transazioneDB.getPddRuolo()) && transazioneDB.getTipoSoggettoErogatore()!=null) {
tipoEmittente = transazioneDB.getTipoSoggettoErogatore();
}
else if(PddRuolo.DELEGATA.equals(transazioneDB.getPddRuolo()) && transazioneDB.getTipoSoggettoFruitore()!=null) {
tipoEmittente = transazioneDB.getTipoSoggettoFruitore();
}
else {
tipoEmittente = protocolFactory.createProtocolConfiguration().getTipoSoggettoDefault();
}
}
((TransazioneExt)transazione).setInformazioniEmittente(_newTransazioneSoggetto(tipoEmittente, transazioneDB.getPddCodice(), null));
}
if(this.stato) {
((TransazioneExt)transazione).setStato(transazioneDB.getStato());
}
}
else {
if(this.ruolo) {
((Transazione)transazione).setRuolo(ruoloTraccia);
}
if(this.emittente) {
((Transazione)transazione).setEmittente(transazioneDB.getPddNomeSoggetto());
}
}
TransazioneDettaglioMessaggio richiesta = null;
if(extended) {
richiesta = new TransazioneExtDettaglioRichiesta();
}
else {
richiesta = new TransazioneDettaglioRichiesta();
}
if(extended) {
if(this.messaggi_dimensione) {
((TransazioneExtDettaglioRichiesta)richiesta).setBytesIngresso(transazioneDB.getRichiestaIngressoBytes());
((TransazioneExtDettaglioRichiesta)richiesta).setBytesUscita(transazioneDB.getRichiestaUscitaBytes());
}
if(this.messaggi_dataAccettazione && transazioneDB.getDataAccettazioneRichiesta()!=null) {
((TransazioneExtDettaglioRichiesta)richiesta).setDataAccettazione(new DateTime(transazioneDB.getDataAccettazioneRichiesta().getTime()));
}
}
if(this.messaggi_id) {
richiesta.setId(transazioneDB.getIdMessaggioRichiesta());
}
if(this.messaggi_idApplicativo) {
richiesta.setIdApplicativo(transazioneDB.getIdCorrelazioneApplicativa());
}
if(extended) {
if(this.messaggi_data) {
if(transazioneDB.getDataIngressoRichiesta()!=null) {
((TransazioneExtDettaglioRichiesta)richiesta).setDataRicezione(new DateTime(transazioneDB.getDataIngressoRichiesta().getTime()));
}
if(transazioneDB.getDataIngressoRichiestaStream()!=null) {
((TransazioneExtDettaglioRichiesta)richiesta).setDataRicezioneAcquisita(new DateTime(transazioneDB.getDataIngressoRichiestaStream().getTime()));
}
if(transazioneDB.getDataUscitaRichiesta()!=null) {
((TransazioneExtDettaglioRichiesta)richiesta).setDataConsegna(new DateTime(transazioneDB.getDataUscitaRichiesta().getTime()));
}
if(transazioneDB.getDataUscitaRichiestaStream()!=null) {
((TransazioneExtDettaglioRichiesta)richiesta).setDataConsegnaEffettuata(new DateTime(transazioneDB.getDataUscitaRichiestaStream().getTime()));
}
}
if(this.richiesta_tipo && transazioneDB.getTipoRichiesta()!=null) {
HttpMethodEnum methodEnum = HttpMethodEnum.fromValue(transazioneDB.getTipoRichiesta().toUpperCase());
((TransazioneExtDettaglioRichiesta)richiesta).setTipo(methodEnum);
}
if(this.richiesta_urlInvocazione) {
((TransazioneExtDettaglioRichiesta)richiesta).setUrlInvocazione(normalizeUrl(transazioneDB.getUrlInvocazione()));
}
if(this.richiesta_connettore) {
((TransazioneExtDettaglioRichiesta)richiesta).setConnettore(normalizeUrl(transazioneDB.getLocationConnettore()));
}
if(this.messaggi_duplicati) {
((TransazioneExtDettaglioRichiesta)richiesta).setDuplicatiMessaggio(transazioneDB.getDuplicatiRichiesta());
}
if(this.messaggi_tracciaProtocollo && tracciaSerializer!=null && tracciaRichiesta!=null) {
((TransazioneExtDettaglioRichiesta)richiesta).setTraccia(tracciaSerializer.toString(tracciaRichiesta, TipoSerializzazione.DEFAULT));
}
if(this.messaggi_contenuti) {
((TransazioneExtDettaglioRichiesta)richiesta).setContenutiIngresso(
(TransazioneExtContenutoMessaggio) newTransazioneContenutoMessaggio(transazioneDB,
TipoMessaggio.RICHIESTA_INGRESSO, TipoMessaggio.RICHIESTA_INGRESSO_DUMP_BINARIO ,true));
((TransazioneExtDettaglioRichiesta)richiesta).setContenutiUscita(
(TransazioneExtContenutoMessaggio) newTransazioneContenutoMessaggio(transazioneDB,
TipoMessaggio.RICHIESTA_USCITA, TipoMessaggio.RICHIESTA_USCITA_DUMP_BINARIO ,true));
}
((TransazioneExt)transazione).setRichiesta((TransazioneExtDettaglioRichiesta) richiesta);
}
else {
if(this.messaggi_data) {
if(transazioneDB.getDataIngressoRichiesta()!=null) {
((TransazioneDettaglioRichiesta)richiesta).setDataRicezione(new DateTime(transazioneDB.getDataIngressoRichiesta().getTime()));
}
if(transazioneDB.getDataUscitaRichiesta()!=null) {
((TransazioneDettaglioRichiesta)richiesta).setDataConsegna(new DateTime(transazioneDB.getDataUscitaRichiesta().getTime()));
}
}
if(this.richiesta_tipo && transazioneDB.getTipoRichiesta()!=null) {
HttpMethodEnum methodEnum = HttpMethodEnum.fromValue(transazioneDB.getTipoRichiesta().toUpperCase());
((TransazioneDettaglioRichiesta)richiesta).setTipo(methodEnum);
}
if(this.richiesta_urlInvocazione) {
if(TransazioneRuoloEnum.FRUIZIONE.equals(ruoloTraccia)){
((TransazioneDettaglioRichiesta)richiesta).setUrlInvocazione(normalizeUrl(transazioneDB.getLocationConnettore()));
}
else {
((TransazioneDettaglioRichiesta)richiesta).setUrlInvocazione(normalizeUrl(transazioneDB.getUrlInvocazione()));
}
}
if(this.messaggi_contenuti) {
if(TransazioneRuoloEnum.FRUIZIONE.equals(ruoloTraccia)){
((TransazioneDettaglioRichiesta)richiesta).setContenuti(
(TransazioneContenutoMessaggio) newTransazioneContenutoMessaggio(transazioneDB,
TipoMessaggio.RICHIESTA_USCITA, TipoMessaggio.RICHIESTA_USCITA_DUMP_BINARIO ,false));
}
else {
((TransazioneDettaglioRichiesta)richiesta).setContenuti(
(TransazioneContenutoMessaggio) newTransazioneContenutoMessaggio(transazioneDB,
TipoMessaggio.RICHIESTA_INGRESSO, TipoMessaggio.RICHIESTA_INGRESSO_DUMP_BINARIO ,false));
}
}
((Transazione)transazione).setRichiesta((TransazioneDettaglioRichiesta) richiesta);
}
TransazioneDettaglioMessaggio risposta = null;
if(extended) {
risposta = new TransazioneExtDettaglioRisposta();
}
else {
risposta = new TransazioneDettaglioRisposta();
}
if(extended) {
if(this.messaggi_dimensione) {
((TransazioneExtDettaglioRisposta)risposta).setBytesIngresso(transazioneDB.getRispostaIngressoBytes());
((TransazioneExtDettaglioRisposta)risposta).setBytesUscita(transazioneDB.getRispostaUscitaBytes());
}
if(this.messaggi_dataAccettazione && transazioneDB.getDataAccettazioneRisposta()!=null) {
((TransazioneExtDettaglioRisposta)risposta).setDataAccettazione(new DateTime(transazioneDB.getDataAccettazioneRisposta().getTime()));
}
}
if(this.messaggi_id) {
risposta.setId(transazioneDB.getIdMessaggioRisposta());
}
if(this.messaggi_idApplicativo) {
risposta.setIdApplicativo(transazioneDB.getIdCorrelazioneApplicativaRisposta());
}
if(extended) {
if(this.messaggi_data) {
if(transazioneDB.getDataIngressoRisposta()!=null) {
((TransazioneExtDettaglioRisposta)risposta).setDataRicezione(new DateTime(transazioneDB.getDataIngressoRisposta().getTime()));
}
if(transazioneDB.getDataIngressoRispostaStream()!=null) {
((TransazioneExtDettaglioRisposta)risposta).setDataRicezioneAcquisita(new DateTime(transazioneDB.getDataIngressoRispostaStream().getTime()));
}
// inverto
if(transazioneDB.getDataUscitaRisposta()!=null) {
((TransazioneExtDettaglioRisposta)risposta).setDataConsegnaEffettuata(new DateTime(transazioneDB.getDataUscitaRisposta().getTime()));
}
if(transazioneDB.getDataUscitaRispostaStream()!=null) {
((TransazioneExtDettaglioRisposta)risposta).setDataConsegna(new DateTime(transazioneDB.getDataUscitaRispostaStream().getTime()));
}
}
if(this.risposta_esito) {
((TransazioneExtDettaglioRisposta)risposta).setEsitoConsegna(transazioneDB.getCodiceRispostaUscita());
((TransazioneExtDettaglioRisposta)risposta).setEsitoRicezione(transazioneDB.getCodiceRispostaIngresso());
}
if(this.messaggi_duplicati) {
((TransazioneExtDettaglioRisposta)risposta).setDuplicatiMessaggio(transazioneDB.getDuplicatiRisposta());
}
if(this.messaggi_tracciaProtocollo && tracciaSerializer!=null && tracciaRisposta!=null) {
((TransazioneExtDettaglioRisposta)risposta).setTraccia(tracciaSerializer.toString(tracciaRisposta, TipoSerializzazione.DEFAULT));
}
if(this.messaggi_contenuti) {
((TransazioneExtDettaglioRisposta)risposta).setContenutiIngresso(
(TransazioneExtContenutoMessaggio) newTransazioneContenutoMessaggio(transazioneDB,
TipoMessaggio.RISPOSTA_INGRESSO, TipoMessaggio.RISPOSTA_INGRESSO_DUMP_BINARIO ,true));
((TransazioneExtDettaglioRisposta)risposta).setContenutiUscita(
(TransazioneExtContenutoMessaggio) newTransazioneContenutoMessaggio(transazioneDB,
TipoMessaggio.RISPOSTA_USCITA, TipoMessaggio.RISPOSTA_USCITA_DUMP_BINARIO ,true));
}
if(this.risposta_fault) {
if(TransazioneRuoloEnum.FRUIZIONE.equals(ruoloTraccia)){
if(transazioneDB.getFaultCooperazione()!=null) {
((TransazioneExtDettaglioRisposta)risposta).setFaultRicezione(transazioneDB.getFaultCooperazione().getBytes());
((TransazioneExtDettaglioRisposta)risposta).setFaultRicezioneFormato(_convert(transazioneDB.getFormatoFaultCooperazione()));
}
if(transazioneDB.getFaultIntegrazione()!=null) {
((TransazioneExtDettaglioRisposta)risposta).setFaultConsegna(transazioneDB.getFaultIntegrazione().getBytes());
((TransazioneExtDettaglioRisposta)risposta).setFaultConsegnaFormato(_convert(transazioneDB.getFormatoFaultIntegrazione()));
}
}
else {
if(transazioneDB.getFaultCooperazione()!=null) {
((TransazioneExtDettaglioRisposta)risposta).setFaultConsegna(transazioneDB.getFaultCooperazione().getBytes());
((TransazioneExtDettaglioRisposta)risposta).setFaultConsegnaFormato(_convert(transazioneDB.getFormatoFaultCooperazione()));
}
if(transazioneDB.getFaultIntegrazione()!=null) {
((TransazioneExtDettaglioRisposta)risposta).setFaultRicezione(transazioneDB.getFaultIntegrazione().getBytes());
((TransazioneExtDettaglioRisposta)risposta).setFaultRicezioneFormato(_convert(transazioneDB.getFormatoFaultIntegrazione()));
}
}
}
if(this.risposta_errori && !errori.isEmpty()) {
((TransazioneExtDettaglioRisposta)risposta).setDettagliErrore(new ArrayList<>());
for (String errore : errori) {
((TransazioneExtDettaglioRisposta)risposta).getDettagliErrore().add(errore);
}
}
((TransazioneExt)transazione).setRisposta(((TransazioneExtDettaglioRisposta)risposta));
}
else {
if(this.messaggi_data) {
if(transazioneDB.getDataIngressoRisposta()!=null) {
((TransazioneDettaglioRisposta)risposta).setDataRicezione(new DateTime(transazioneDB.getDataIngressoRisposta().getTime()));
}
if(transazioneDB.getDataUscitaRisposta()!=null) {
((TransazioneDettaglioRisposta)risposta).setDataConsegna(new DateTime(transazioneDB.getDataUscitaRisposta().getTime()));
}
}
if(this.risposta_esito) {
((TransazioneDettaglioRisposta)risposta).setEsitoConsegna(transazioneDB.getCodiceRispostaUscita());
((TransazioneDettaglioRisposta)risposta).setEsitoRicezione(transazioneDB.getCodiceRispostaIngresso());
}
if(this.messaggi_contenuti) {
if(TransazioneRuoloEnum.FRUIZIONE.equals(ruoloTraccia)){
((TransazioneDettaglioRisposta)risposta).setContenuti(
(TransazioneContenutoMessaggio) newTransazioneContenutoMessaggio(transazioneDB,
TipoMessaggio.RISPOSTA_INGRESSO, TipoMessaggio.RISPOSTA_INGRESSO_DUMP_BINARIO ,false));
}
else {
((TransazioneDettaglioRisposta)risposta).setContenuti(
(TransazioneContenutoMessaggio) newTransazioneContenutoMessaggio(transazioneDB,
TipoMessaggio.RISPOSTA_USCITA, TipoMessaggio.RISPOSTA_USCITA_DUMP_BINARIO ,false));
}
}
if(this.risposta_fault) {
if(TransazioneRuoloEnum.FRUIZIONE.equals(ruoloTraccia)){
if(transazioneDB.getFaultCooperazione()!=null) {
((TransazioneDettaglioRisposta)risposta).setFaultRicezione(transazioneDB.getFaultCooperazione().getBytes());
}
if(transazioneDB.getFaultIntegrazione()!=null) {
((TransazioneDettaglioRisposta)risposta).setFaultConsegna(transazioneDB.getFaultIntegrazione().getBytes());
}
}
else {
if(transazioneDB.getFaultCooperazione()!=null) {
((TransazioneDettaglioRisposta)risposta).setFaultConsegna(transazioneDB.getFaultCooperazione().getBytes());
}
if(transazioneDB.getFaultIntegrazione()!=null) {
((TransazioneDettaglioRisposta)risposta).setFaultRicezione(transazioneDB.getFaultIntegrazione().getBytes());
}
}
}
if(this.risposta_errori && !errori.isEmpty()) {
((TransazioneDettaglioRisposta)risposta).setDettagliErrore(new ArrayList<>());
for (String errore : errori) {
((TransazioneDettaglioRisposta)risposta).getDettagliErrore().add(errore);
}
}
((Transazione)transazione).setRisposta(((TransazioneDettaglioRisposta)risposta));
}
TransazioneInformazioniApi api = null;
if(extended) {
api = new TransazioneExtInformazioniApi();
}
else {
api = new TransazioneInformazioniApi();
}
if(extended) {
if(this.api_erogatoreExtraInfo) {
if(transazioneDB.getNomeSoggettoErogatore()!=null && transazioneDB.getTipoSoggettoErogatore()!=null) {
String idPorta = transazioneDB.getIdportaSoggettoErogatore();
if(idPorta==null || "".equals(idPorta)) {
idPorta = protocolFactory.createTraduttore().getIdentificativoPortaDefault(new IDSoggetto(transazioneDB.getTipoSoggettoErogatore(), transazioneDB.getNomeSoggettoErogatore()));
}
((TransazioneExtInformazioniApi)api).setInformazioniErogatore(_newTransazioneSoggetto(transazioneDB.getTipoSoggettoErogatore(),
idPorta, transazioneDB.getIndirizzoSoggettoErogatore()));
}
}
if(this.api_tipo) {
((TransazioneExtInformazioniApi)api).setTipo(transazioneDB.getTipoServizio());
}
}
if(this.api_erogatore) {
api.setErogatore(transazioneDB.getNomeSoggettoErogatore());
}
if(this.api_tags) {
if(transazioneDB.getGruppi()!=null && !"".equals(transazioneDB.getGruppi())) {
String [] tmp = transazioneDB.getGruppi().split(",");
if(tmp!=null && tmp.length>0) {
((TransazioneExtInformazioniApi)api).setTags(new ArrayList<>());
for (String tag : tmp) {
if(tag!=null && !"".equals(tag.trim())) {
((TransazioneExtInformazioniApi)api).addTagsItem(tag.trim());
}
}
}
}
}
if(this.api_nome) {
api.setNome(transazioneDB.getNomeServizio());
}
if(this.api_versione) {
api.setVersione(transazioneDB.getVersioneServizio());
}
if(this.api_operazione) {
api.setOperazione(transazioneDB.getAzione());
}
if(extended) {
if(this.api_idAsincrono) {
((TransazioneExtInformazioniApi)api).setIdAsincrono(transazioneDB.getIdAsincrono());
}
if(this.api_profiloCollaborazione && transazioneDB.getProfiloCollaborazioneOp2()!=null) {
ProfiloDiCollaborazione prof = ProfiloDiCollaborazione.toProfiloDiCollaborazione(transazioneDB.getProfiloCollaborazioneOp2());
if(prof!=null) {
switch (prof) {
case ONEWAY:
((TransazioneExtInformazioniApi)api).setProfiloCollaborazione(ProfiloCollaborazioneEnum.ONEWAY);
break;
case SINCRONO:
((TransazioneExtInformazioniApi)api).setProfiloCollaborazione(ProfiloCollaborazioneEnum.SINCRONO);
break;
case ASINCRONO_SIMMETRICO:
((TransazioneExtInformazioniApi)api).setProfiloCollaborazione(ProfiloCollaborazioneEnum.ASINCRONOSIMMETRICO);
break;
case ASINCRONO_ASIMMETRICO:
((TransazioneExtInformazioniApi)api).setProfiloCollaborazione(ProfiloCollaborazioneEnum.ASINCRONOASIMMETRICO);
break;
case UNKNOWN:
break;
}
}
}
((TransazioneExt)transazione).setApi(((TransazioneExtInformazioniApi)api));
}
else {
((Transazione)transazione).setApi(api);
}
TransazioneInformazioniMittente mittente = null;
if(extended) {
mittente = new TransazioneExtInformazioniMittente();
}
else {
mittente = new TransazioneInformazioniMittente();
}
if(extended) {
if(this.mittente_fruitoreExtraInfo) {
if(transazioneDB.getNomeSoggettoFruitore()!=null && transazioneDB.getTipoSoggettoFruitore()!=null) {
String idPorta = transazioneDB.getIdportaSoggettoFruitore();
if(idPorta==null || "".equals(idPorta)) {
idPorta = protocolFactory.createTraduttore().getIdentificativoPortaDefault(new IDSoggetto(transazioneDB.getTipoSoggettoFruitore(), transazioneDB.getNomeSoggettoFruitore()));
}
((TransazioneExtInformazioniMittente)mittente).setInformazioniFruitore(_newTransazioneSoggetto(transazioneDB.getTipoSoggettoFruitore(),
idPorta, transazioneDB.getIndirizzoSoggettoFruitore()));
}
}
if(this.mittente_applicativo) {
((TransazioneExtInformazioniMittente)mittente).setApplicativo(transazioneDB.getServizioApplicativoFruitore());
}
if(this.mittente_credenziali) {
((TransazioneExtInformazioniMittente)mittente).setCredenziali(transazioneDB.getCredenziali());
}
if(this.mittente_applicativoToken && credenzialiMittente!=null && credenzialiMittente.getTokenClientId()!=null) {
IDServizioApplicativo idSA = CredenzialeTokenClient.convertApplicationDBValueToOriginal(credenzialiMittente.getTokenClientId().getCredenziale());
if(idSA!=null) {
((TransazioneExtInformazioniMittente)mittente).setApplicativoToken(new TransazioneExtInformazioniMittenteApplicativoToken());
((TransazioneExtInformazioniMittente)mittente).getApplicativoToken().setNome(idSA.getNome());
((TransazioneExtInformazioniMittente)mittente).getApplicativoToken().setSoggetto(idSA.getIdSoggettoProprietario().getNome());
String idPorta = protocolFactory.createTraduttore().getIdentificativoPortaDefault(new IDSoggetto(idSA.getIdSoggettoProprietario().getTipo(), idSA.getIdSoggettoProprietario().getNome()));
((TransazioneExtInformazioniMittente)mittente).getApplicativoToken().setInformazioniSoggetto(_newTransazioneSoggetto(idSA.getIdSoggettoProprietario().getTipo(),
idPorta, null));
}
}
}
if(this.mittente_principal && credenzialiMittente!=null && credenzialiMittente.getTrasporto()!=null) {
mittente.setPrincipal(credenzialiMittente.getTrasporto().getCredenziale());
}
if(this.mittente_fruitore) {
mittente.setFruitore(transazioneDB.getNomeSoggettoFruitore());
}
if(this.mittente_utente && credenzialiMittente!=null && credenzialiMittente.getTokenUsername()!=null) {
mittente.setUtente(credenzialiMittente.getTokenUsername().getCredenziale());
}
if(this.mittente_client && credenzialiMittente!=null && credenzialiMittente.getTokenClientId()!=null) {
mittente.setClient(CredenzialeTokenClient.convertClientIdDBValueToOriginal(credenzialiMittente.getTokenClientId().getCredenziale()));
}
if(this.mittente_indirizzoClient) {
mittente.setIndirizzoClient(transazioneDB.getSocketClientAddress());
}
if(this.mittente_indirizzoClientInoltrato) {
mittente.setIndirizzoClientInoltrato(transazioneDB.getTransportClientAddress());
}
if(extended) {
if((this.mittente_tokenClaims && credenzialiMittente!=null) || (this.mittente_token && transazioneDB.getTokenInfo()!=null)) {
TransazioneExtInformazioniToken informazioniToken = new TransazioneExtInformazioniToken();
boolean add = false;
if(this.mittente_tokenClaims && credenzialiMittente!=null) {
if(credenzialiMittente.getTokenClientId()!=null) {
informazioniToken.setClientId(CredenzialeTokenClient.convertClientIdDBValueToOriginal(credenzialiMittente.getTokenClientId().getCredenziale()));
add=true;
}
if(credenzialiMittente.getTokenIssuer()!=null) {
informazioniToken.setIssuer(credenzialiMittente.getTokenIssuer().getCredenziale());
add=true;
}
if(credenzialiMittente.getTokenSubject()!=null) {
informazioniToken.setSubject(credenzialiMittente.getTokenSubject().getCredenziale());
add=true;
}
if(credenzialiMittente.getTokenUsername()!=null) {
informazioniToken.setUsername(credenzialiMittente.getTokenUsername().getCredenziale());
add=true;
}
if(credenzialiMittente.getTokenEMail()!=null) {
informazioniToken.setMail(credenzialiMittente.getTokenEMail().getCredenziale());
add=true;
}
}
if(add) {
((TransazioneExtInformazioniMittente)mittente).setInformazioniToken(informazioniToken);
}
if(this.mittente_token && transazioneDB.getTokenInfo()!=null) {
((TransazioneExtInformazioniMittente)mittente).setToken(transazioneDB.getTokenInfo().getBytes());
}
}
((TransazioneExt)transazione).setMittente((TransazioneExtInformazioniMittente)mittente);
}
else {
((Transazione)transazione).setMittente(mittente);
}
if(extended) {
if(messaggiDiagnostici!=null && messaggiDiagnostici.size()>0) {
((TransazioneExt)transazione).setDiagnostici(new ArrayList<>());
for (MsgDiagnostico msgDiag : messaggiDiagnostici) {
Diagnostico diag = new Diagnostico();
diag.setCodice(msgDiag.getCodice());
diag.setData(new DateTime(msgDiag.getGdo().getTime()));
diag.setFunzione(msgDiag.getIdFunzione());
diag.setMessaggio(msgDiag.getMessaggio());
DiagnosticoSeveritaEnum severita = null;
if(LogLevels.SEVERITA_FATAL == msgDiag.getSeverita()) {
severita = DiagnosticoSeveritaEnum.FATAL;
}
else if(LogLevels.SEVERITA_ERROR_INTEGRATION == msgDiag.getSeverita() || LogLevels.SEVERITA_ERROR_PROTOCOL == msgDiag.getSeverita()) {
severita = DiagnosticoSeveritaEnum.ERROR;
}
else if(LogLevels.SEVERITA_INFO_INTEGRATION == msgDiag.getSeverita() || LogLevels.SEVERITA_INFO_PROTOCOL == msgDiag.getSeverita()) {
severita = DiagnosticoSeveritaEnum.INFO;
}
else if(LogLevels.SEVERITA_DEBUG_LOW == msgDiag.getSeverita() || LogLevels.SEVERITA_DEBUG_MEDIUM == msgDiag.getSeverita()) {
severita = DiagnosticoSeveritaEnum.DEBUG;
}
else {
severita = DiagnosticoSeveritaEnum.TRACE;
}
diag.setSeverita(severita);
diag.setSeveritaCodice(msgDiag.getCodice());
((TransazioneExt)transazione).getDiagnostici().add(diag);
}
}
}
return transazione;
}
private String normalizeUrl(String url) {
if(url!=null) {
if(url.startsWith("[") && url.contains("] ") && !url.endsWith("] ")) {
return url.substring(url.indexOf("] ")+2);
}
}
return url;
}
private TransazioneExtInformazioniSoggetto _newTransazioneSoggetto(String tipo, String codice, String indirizzo) {
TransazioneExtInformazioniSoggetto soggetto = new TransazioneExtInformazioniSoggetto();
soggetto.setTipo(tipo);
soggetto.setCodice(codice);
soggetto.setIndirizzo(indirizzo);
return soggetto;
}
private TransazioneContenutoMessaggio newTransazioneContenutoMessaggio(org.openspcoop2.core.transazioni.Transazione transazioneDB,
TipoMessaggio tipoMessaggioNormale, TipoMessaggio tipoMessaggioBinario, boolean extended) {
DumpMessaggio dumpMessaggio = null;
if(transazioneDB.sizeDumpMessaggioList()>0) {
for (DumpMessaggio check : transazioneDB.getDumpMessaggioList()) {
if(tipoMessaggioBinario.equals(check.getTipoMessaggio())) {
dumpMessaggio = check;
break;
}
}
if(dumpMessaggio==null) {
for (DumpMessaggio check : transazioneDB.getDumpMessaggioList()) {
if(tipoMessaggioNormale.equals(check.getTipoMessaggio())) {
dumpMessaggio = check;
break;
}
}
}
}
if(dumpMessaggio==null) {
return null;
}
TransazioneContenutoMessaggio msg = null;
if(extended) {
msg = new TransazioneExtContenutoMessaggio();
}
else {
msg = new TransazioneContenutoMessaggio();
}
msg.setBody(dumpMessaggio.getBody());
if(dumpMessaggio.sizeHeaderTrasportoList()>0) {
msg.setHeaders(new ArrayList<>());
for (DumpHeaderTrasporto dumpHeaderTrasporto : dumpMessaggio.getHeaderTrasportoList()) {
TransazioneContenutoMessaggioHeader hdr = new TransazioneContenutoMessaggioHeader();
hdr.setNome(dumpHeaderTrasporto.getNome());
hdr.setValore(dumpHeaderTrasporto.getValore());
msg.getHeaders().add(hdr);
}
}
if(extended) {
TransazioneExtContenutoMessaggioBody body = new TransazioneExtContenutoMessaggioBody();
body.setFormato(_convert(dumpMessaggio.getFormatoMessaggio()));
body.setContentType(dumpMessaggio.getContentType());
body.setContentLength(dumpMessaggio.getContentLength());
if(dumpMessaggio.getMultipartContentId()!=null ||
dumpMessaggio.getMultipartContentLocation()!=null ||
dumpMessaggio.getMultipartContentType()!=null ||
dumpMessaggio.sizeMultipartHeaderList()>0) {
TransazioneExtContenutoMessaggioBodyMultipart multipart = new TransazioneExtContenutoMessaggioBodyMultipart();
multipart.setContentId(dumpMessaggio.getMultipartContentId());
multipart.setContentType(dumpMessaggio.getMultipartContentType());
multipart.setContentLocation(dumpMessaggio.getMultipartContentLocation());
if(dumpMessaggio.sizeMultipartHeaderList()>0) {
multipart.setHeaders(new ArrayList<>());
for (DumpMultipartHeader dumpHeaderTrasporto : dumpMessaggio.getMultipartHeaderList()) {
TransazioneContenutoMessaggioHeader hdr = new TransazioneContenutoMessaggioHeader();
hdr.setNome(dumpHeaderTrasporto.getNome());
hdr.setValore(dumpHeaderTrasporto.getValore());
multipart.getHeaders().add(hdr);
}
}
body.setMultipart(multipart);
}
if(dumpMessaggio.sizeContenutoList()>0) {
body.setContenutiBody(new ArrayList<>());
for (DumpContenuto contenuto : dumpMessaggio.getContenutoList()) {
TransazioneExtContenutoMessaggioPorzioneBody r = new TransazioneExtContenutoMessaggioPorzioneBody();
r.setNome(contenuto.getNome());
r.setValore(contenuto.getValore());
body.getContenutiBody().add(r);
}
}
((TransazioneExtContenutoMessaggio)msg).setInformazioniBody(body);
if(dumpMessaggio.sizeAllegatoList()>0) {
((TransazioneExtContenutoMessaggio)msg).setAttachments(new ArrayList<>());
for (DumpAllegato dumpAllegato : dumpMessaggio.getAllegatoList()) {
TransazioneExtContenutoMessaggioAllegato attach = new TransazioneExtContenutoMessaggioAllegato();
attach.setContentId(dumpAllegato.getContentId());
attach.setContentType(dumpAllegato.getContentType());
attach.setContentLocation(dumpAllegato.getContentLocation());
attach.setContenuto(dumpAllegato.getAllegato());
if(dumpAllegato.sizeHeaderList()>0) {
dumpAllegato.setHeaderList(new ArrayList<>());
for (DumpHeaderAllegato dumpHeaderAllegato : dumpAllegato.getHeaderList()) {
TransazioneContenutoMessaggioHeader hdr = new TransazioneContenutoMessaggioHeader();
hdr.setNome(dumpHeaderAllegato.getNome());
hdr.setValore(dumpHeaderAllegato.getValore());
attach.getHeaders().add(hdr);
}
}
((TransazioneExtContenutoMessaggio)msg).getAttachments().add(attach);
}
}
}
return msg;
}
private TransazioneMessaggioFormatoEnum _convert(String formato) {
if(formato==null) {
return null;
}
MessageType tipoMessaggio = null;
try {
tipoMessaggio = MessageType.valueOf(formato);
}catch(Throwable t) {}
if(tipoMessaggio==null) {
return null;
}
switch (tipoMessaggio) {
case SOAP_11:
return TransazioneMessaggioFormatoEnum.SOAP11;
case SOAP_12:
return TransazioneMessaggioFormatoEnum.SOAP12;
case JSON:
return TransazioneMessaggioFormatoEnum.JSON;
case XML:
return TransazioneMessaggioFormatoEnum.XML;
case BINARY:
return TransazioneMessaggioFormatoEnum.BINARY;
case MIME_MULTIPART:
return TransazioneMessaggioFormatoEnum.MULTIPART;
}
return null;
}
// SETTER
public void setLog(Logger log) {
this.log = log;
}
public void setThrowInitProtocol(boolean throwInitProtocol) {
this.throwInitProtocol = throwInitProtocol;
}
public void setEmittente(boolean emittente) {
this.emittente = emittente;
}
public void setDataEmissione(boolean dataEmissione) {
this.dataEmissione = dataEmissione;
}
public void setId(boolean id) {
this.id = id;
}
public void setIdConversazione(boolean idConversazione) {
this.idConversazione = idConversazione;
}
public void setRuolo(boolean ruolo) {
this.ruolo = ruolo;
}
public void setEsito(boolean esito) {
this.esito = esito;
}
public void setMessaggi_id(boolean messaggi_id) {
this.messaggi_id = messaggi_id;
}
public void setMessaggi_idApplicativo(boolean messaggi_idApplicativo) {
this.messaggi_idApplicativo = messaggi_idApplicativo;
}
public void setMessaggi_data(boolean messaggi_data) {
this.messaggi_data = messaggi_data;
}
public void setMessaggi_contenuti(boolean messaggi_contenuti) {
this.messaggi_contenuti = messaggi_contenuti;
}
public void setRichiesta_tipo(boolean richiesta_tipo) {
this.richiesta_tipo = richiesta_tipo;
}
public void setRichiesta_urlInvocazione(boolean richiesta_urlInvocazione) {
this.richiesta_urlInvocazione = richiesta_urlInvocazione;
}
public void setRisposta_esito(boolean risposta_esito) {
this.risposta_esito = risposta_esito;
}
public void setRisposta_fault(boolean risposta_fault) {
this.risposta_fault = risposta_fault;
}
public void setRisposta_errori(boolean risposta_errori) {
this.risposta_errori = risposta_errori;
}
public void setApi_erogatore(boolean api_erogatore) {
this.api_erogatore = api_erogatore;
}
public void setApi_nome(boolean api_nome) {
this.api_nome = api_nome;
}
public void setApi_versione(boolean api_versione) {
this.api_versione = api_versione;
}
public void setApi_operazione(boolean api_operazione) {
this.api_operazione = api_operazione;
}
public void setMittente_fruitore(boolean mittente_fruitore) {
this.mittente_fruitore = mittente_fruitore;
}
public void setMittente_principal(boolean mittente_principal) {
this.mittente_principal = mittente_principal;
}
public void setMittente_utente(boolean mittente_utente) {
this.mittente_utente = mittente_utente;
}
public void setMittente_client(boolean mittente_client) {
this.mittente_client = mittente_client;
}
public void setMittente_indirizzoClient(boolean mittente_indirizzoClient) {
this.mittente_indirizzoClient = mittente_indirizzoClient;
}
public void setMittente_indirizzoClientInoltrato(boolean mittente_indirizzoClientInoltrato) {
this.mittente_indirizzoClientInoltrato = mittente_indirizzoClientInoltrato;
}
public void setProfilo(boolean profilo) {
this.profilo = profilo;
}
public void setContesto(boolean contesto) {
this.contesto = contesto;
}
public void setIdCluster(boolean idCluster) {
this.idCluster = idCluster;
}
public void setEmittenteExtraInfo(boolean emittenteExtraInfo) {
this.emittenteExtraInfo = emittenteExtraInfo;
}
public void setStato(boolean stato) {
this.stato = stato;
}
public void setMessaggi_dimensione(boolean messaggi_dimensione) {
this.messaggi_dimensione = messaggi_dimensione;
}
public void setMessaggi_dataAccettazione(boolean messaggi_dataAccettazione) {
this.messaggi_dataAccettazione = messaggi_dataAccettazione;
}
public void setMessaggi_duplicati(boolean messaggi_duplicati) {
this.messaggi_duplicati = messaggi_duplicati;
}
public void setMessaggi_tracciaProtocollo(boolean messaggi_tracciaProtocollo) {
this.messaggi_tracciaProtocollo = messaggi_tracciaProtocollo;
}
public void setRichiesta_connettore(boolean richiesta_connettore) {
this.richiesta_connettore = richiesta_connettore;
}
public void setDiagnostici(boolean diagnostici) {
this.diagnostici = diagnostici;
}
public void setApi_erogatoreExtraInfo(boolean api_erogatoreExtraInfo) {
this.api_erogatoreExtraInfo = api_erogatoreExtraInfo;
}
public void setApi_tags(boolean api_tags) {
this.api_tags = api_tags;
}
public void setApi_tipo(boolean api_tipo) {
this.api_tipo = api_tipo;
}
public void setApi_idAsincrono(boolean api_idAsincrono) {
this.api_idAsincrono = api_idAsincrono;
}
public void setApi_profiloCollaborazione(boolean api_profiloCollaborazione) {
this.api_profiloCollaborazione = api_profiloCollaborazione;
}
public void setMittente_fruitoreExtraInfo(boolean mittente_fruitoreExtraInfo) {
this.mittente_fruitoreExtraInfo = mittente_fruitoreExtraInfo;
}
public void setMittente_applicativo(boolean mittente_applicativo) {
this.mittente_applicativo = mittente_applicativo;
}
public void setMittente_credenziali(boolean mittente_credenziali) {
this.mittente_credenziali = mittente_credenziali;
}
public void setMittente_token(boolean mittente_token) {
this.mittente_token = mittente_token;
}
public void setMittente_tokenClaims(boolean mittente_tokenClaims) {
this.mittente_tokenClaims = mittente_tokenClaims;
}
}