RichiestaDelegata.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.config;
import org.openspcoop2.core.id.IDAccordo;
import org.openspcoop2.core.id.IDPortaDelegata;
import org.openspcoop2.core.id.IDServizio;
import org.openspcoop2.core.id.IDSoggetto;
import org.openspcoop2.pdd.core.IntegrationContext;
import org.openspcoop2.pdd.core.ProtocolContext;
import org.openspcoop2.protocol.sdk.builder.ProprietaErroreApplicativo;
import org.openspcoop2.protocol.sdk.constants.ProfiloDiCollaborazione;
import org.openspcoop2.utils.beans.BaseBean;
/**
* Classe contenente i dati di una richiesta delegata.
*
*
* @author Poli Andrea (apoli@link.it)
* @author $Author$
* @version $Rev$, $Date$
*/
public class RichiestaDelegata extends BaseBean implements java.io.Serializable, Cloneable {
/**
* serialVersionUID
*/
private static final long serialVersionUID = 1L;
/* ******** F I E L D S P R I V A T I ******** */
/** Identificatore della porta delegata */
private IDPortaDelegata idPortaDelegata;
/** Nome del Servizio Applicativo che sta' richiedendo il servizio */
private String servizioApplicativo;
/** IDAccordo */
private IDAccordo idAccordo;
/** Identificativo del Soggetto Fruitore */
private IDSoggetto idSoggettoFruitore;
/** Identificatore del ServizioRichiesto */
private IDServizio idServizio;
/** Identificatore del modulo OpenSPCoop che ha gestito la richiesta, e che sta aspettando una risposta */
private String idModuloInAttesa;
/** Indicazione sulla modalita' di costruzione di un eventuale msg di errore */
private ProprietaErroreApplicativo fault;
/** Dominio di gestione */
private IDSoggetto dominio;
/** Indica il tipo di scenario di cooperazione da intraprendere. */
private String scenario;
/** Indica il profilo di collaborazione utilizzato */
private ProfiloDiCollaborazione profiloCollaborazione;
private String profiloCollaborazioneValue;
/** Utilizzo Consegna Asincrona */
private boolean utilizzoConsegnaAsincrona;
/** Indica se deve essere attesa o meno una ricevuta asincrona, in caso di profili asincroni */
private boolean ricevutaAsincrona;
/** Indicazione sulla eventuale collaborazione intrapresa */
private String idCollaborazione;
/** ID di CorrelazioneApplicativa */
private String idCorrelazioneApplicativa;
/** ID di CorrelazioneApplicativaRisposta */
private String idCorrelazioneApplicativaRisposta;
/** Profilo di Gestione */
private String profiloGestione = null;
/** Informazioni protocollo */
private ProtocolContext protocol;
/** Informazioni di integrazione */
private IntegrationContext integrazione;
/* ******** C O S T R U T T O R E ******** */
public RichiestaDelegata(IDSoggetto idSoggettoFruitore){
this.idSoggettoFruitore = idSoggettoFruitore;
}
public RichiestaDelegata(IDPortaDelegata idPD){
this(idPD, null, null, null, null);
}
public RichiestaDelegata(IDPortaDelegata idPD,
String aServizioApplicativo,
String idModulo,ProprietaErroreApplicativo fault,IDSoggetto dominio){
this.idPortaDelegata = idPD;
this.servizioApplicativo = aServizioApplicativo;
if(idPD!=null && idPD.getIdentificativiFruizione()!=null) {
this.idSoggettoFruitore = idPD.getIdentificativiFruizione().getSoggettoFruitore();
this.idServizio = idPD.getIdentificativiFruizione().getIdServizio();
}
this.idModuloInAttesa = idModulo;
this.fault = fault;
this.dominio = dominio;
}
public RichiestaDelegata(){}
/* ******** S E T T E R ******** */
/**
* Imposta il nome del Servizio Applicativo che sta' richiedendo il servizio
*
* @param idServizio Nome del Servizio Applicativo.
*
*/
public void setServizioApplicativo(String idServizio){
this.servizioApplicativo = idServizio;
}
/**
* Imposta l'identificatore del servizio richiesto all'interno del registro dei servizi.
*
* @param idservice Identificatore del servizio all'interno del registro.
*
*/
public void setIdServizio(IDServizio idservice){
this.idServizio = idservice;
}
/**
* Identificatore del modulo OpenSPCoop che ha gestito la richiesta,
* e che sta aspettando una risposta.
*
* @param idModulo Identificatore del modulo OpenSPCoop che sta aspettando una risposta.
*
*/
public void setIdModuloInAttesa(String idModulo){
this.idModuloInAttesa = idModulo;
}
/**
* Imposta l'indicazione sulla modalita' di costruzione di un eventuale msg di errore.
*
* @param fault Proprieta' di un eventuale fault
*
*/
public void setFault(ProprietaErroreApplicativo fault) {
this.fault = fault;
}
/**
* Imposta il dominio di gestione
*
* @param dominio Dominio di gestione
*
*/
public void setDominio(IDSoggetto dominio) {
this.dominio = dominio;
}
/**
* Imposta il tipo di scenario di cooperazione da intraprendere
*
* @param scenario tipo di scenario di cooperazione da intraprendere
*
*/
public void setScenario(String scenario) {
this.scenario = scenario;
}
/**
* Indicazione sull'utilizzo della consegna asincrona
*
* @param utilizzoConsegnaAsincrona Indicazione sull'utilizzo della consegna asincrona
*/
public void setUtilizzoConsegnaAsincrona(boolean utilizzoConsegnaAsincrona) {
this.utilizzoConsegnaAsincrona = utilizzoConsegnaAsincrona;
}
/**
* Indicazione sull'attesa di una ricevuta asincrona
*
* @param ricevutaAsincrona Indicazione sull'attesa di una ricevuta asincrona
*/
public void setRicevutaAsincrona(boolean ricevutaAsincrona) {
this.ricevutaAsincrona = ricevutaAsincrona;
}
/**
* Identificatore della porta delegata
*
* @param idPortaDelegata Identificatore della porta delegata
*/
public void setIdPortaDelegata(IDPortaDelegata idPortaDelegata) {
this.idPortaDelegata = idPortaDelegata;
}
public void setProfiloGestione(String profiloGestione) {
this.profiloGestione = profiloGestione;
}
public void setIdSoggettoFruitore(IDSoggetto idSoggettoFruitore) {
this.idSoggettoFruitore = idSoggettoFruitore;
}
/* ******** G E T T E R ******** */
/**
* Ritorna il nome del Servizio Applicativo che sta' richiedendo il servizio
*
* @return Nome del Servizio Applicativo.
*
*/
public String getServizioApplicativo(){
return this.servizioApplicativo;
}
/**
* Ritorna l'identificatore del servizio richiesto all'interno del registro dei servizi.
*
* @return Identificatore del servizio all'interno del registro.
*
*/
public IDServizio getIdServizio(){
return this.idServizio;
}
/**
* Ritorna l'identificatore del modulo OpenSPCoop che ha gestito la richiesta,
* e che sta aspettando una risposta.
*
* @return Identificatore del modulo OpenSPCoop che sta aspettando una risposta.
*
*/
public String getIdModuloInAttesa(){
return this.idModuloInAttesa;
}
/**
* Ritorna l'indicazione sulla modalita' di costruzione di un eventuale msg di errore.
*
* @return Proprieta' di un eventuale fault
*
*/
public ProprietaErroreApplicativo getFault() {
return this.fault;
}
/**
* Ritorna il dominio di gestione
*
* @return dominio di gestione.
*
*/
public IDSoggetto getDominio() {
return this.dominio;
}
/**
* Ritorna il tipo di scenario di cooperazione da intraprendere
*
* @return tipo di scenario di cooperazione da intraprendere
*
*/
public String getScenario() {
return this.scenario;
}
/**
* Indicazione sull'utilizzo della consegna asincrona
*
* @return Indicazione sull'utilizzo della consegna asincrona
*/
public boolean getUtilizzoConsegnaAsincrona() {
return this.utilizzoConsegnaAsincrona;
}
/**
* Indicazione sull'attesa di una ricevuta asincrona
*
* @return Indicazione sull'attesa di una ricevuta asincrona
*/
public boolean isRicevutaAsincrona() {
return this.ricevutaAsincrona;
}
// metodo che serve per il clone
public boolean getRicevutaAsincrona() {
return this.ricevutaAsincrona;
}
/**
* Ritorna l'identificatore della porta delegata
*
* @return identificatore della porta delegata
*/
public IDPortaDelegata getIdPortaDelegata() {
return this.idPortaDelegata;
}
/**
* @return the idCollaborazione
*/
public String getIdCollaborazione() {
return this.idCollaborazione;
}
/**
* @param idCollaborazione the idCollaborazione to set
*/
public void setIdCollaborazione(String idCollaborazione) {
this.idCollaborazione = idCollaborazione;
}
/**
* @return the profiloCollaborazione
*/
public ProfiloDiCollaborazione getProfiloCollaborazione() {
return this.profiloCollaborazione;
}
/**
* @param profiloCollaborazione the profiloCollaborazione to set
*/
public void setProfiloCollaborazione(ProfiloDiCollaborazione profiloCollaborazione, String profiloCollaborazioneValue) {
this.profiloCollaborazione = profiloCollaborazione;
this.profiloCollaborazioneValue = profiloCollaborazioneValue;
}
// metodi che servono per il clone
public void setProfiloCollaborazione(ProfiloDiCollaborazione profiloCollaborazione) {
this.profiloCollaborazione = profiloCollaborazione;
}
public void setProfiloCollaborazioneValue(String profiloCollaborazioneValue) {
this.profiloCollaborazioneValue = profiloCollaborazioneValue;
}
public String getProfiloCollaborazioneValue() {
return this.profiloCollaborazioneValue;
}
public String getIdCorrelazioneApplicativa() {
return this.idCorrelazioneApplicativa;
}
public String getProfiloGestione() {
return this.profiloGestione;
}
public void setIdCorrelazioneApplicativa(String idCorrelazioneApplicativa) {
this.idCorrelazioneApplicativa = idCorrelazioneApplicativa;
}
public IDAccordo getIdAccordo() {
return this.idAccordo;
}
public void setIdAccordo(IDAccordo idAccordo) {
this.idAccordo = idAccordo;
}
public String getIdCorrelazioneApplicativaRisposta() {
return this.idCorrelazioneApplicativaRisposta;
}
public void setIdCorrelazioneApplicativaRisposta(
String idCorrelazioneApplicativaRisposta) {
this.idCorrelazioneApplicativaRisposta = idCorrelazioneApplicativaRisposta;
}
public IDSoggetto getIdSoggettoFruitore() {
return this.idSoggettoFruitore;
}
public ProtocolContext getProtocol() {
return this.protocol;
}
public void setProtocol(ProtocolContext protocol) {
this.protocol = protocol;
}
public IntegrationContext getIntegrazione() {
return this.integrazione;
}
public void setIntegrazione(IntegrationContext integrazione) {
this.integrazione = integrazione;
}
}