RichiestaDelegata.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.pdd.config;


  21. import org.openspcoop2.core.id.IDAccordo;
  22. import org.openspcoop2.core.id.IDPortaDelegata;
  23. import org.openspcoop2.core.id.IDServizio;
  24. import org.openspcoop2.core.id.IDSoggetto;
  25. import org.openspcoop2.pdd.core.IntegrationContext;
  26. import org.openspcoop2.pdd.core.ProtocolContext;
  27. import org.openspcoop2.protocol.sdk.builder.ProprietaErroreApplicativo;
  28. import org.openspcoop2.protocol.sdk.constants.ProfiloDiCollaborazione;
  29. import org.openspcoop2.utils.beans.BaseBean;


  30. /**
  31.  * Classe contenente i dati di una richiesta delegata.
  32.  *
  33.  *
  34.  * @author Poli Andrea (apoli@link.it)
  35.  * @author $Author$
  36.  * @version $Rev$, $Date$
  37.  */

  38. public class RichiestaDelegata extends BaseBean implements java.io.Serializable, Cloneable {

  39.      /**
  40.      * serialVersionUID
  41.      */
  42.     private static final long serialVersionUID = 1L;
  43.    
  44.     /* ********  F I E L D S  P R I V A T I  ******** */

  45.     /** Identificatore della porta delegata */
  46.     private IDPortaDelegata idPortaDelegata;
  47.     /** Nome del Servizio Applicativo che sta' richiedendo il servizio */
  48.     private String servizioApplicativo;
  49.     /** IDAccordo */
  50.     private IDAccordo idAccordo;
  51.     /** Identificativo del Soggetto Fruitore */
  52.     private IDSoggetto idSoggettoFruitore;
  53.     /** Identificatore del ServizioRichiesto */
  54.     private IDServizio idServizio;
  55.     /** Identificatore del modulo OpenSPCoop che ha gestito la richiesta, e che sta aspettando una risposta */
  56.     private String idModuloInAttesa;
  57.     /** Indicazione sulla modalita' di costruzione di un eventuale msg di errore */
  58.     private ProprietaErroreApplicativo fault;
  59.     /** Dominio di gestione */
  60.     private IDSoggetto dominio;
  61.     /** Indica il tipo di scenario di cooperazione da intraprendere. */
  62.     private String scenario;
  63.     /** Indica il profilo di collaborazione utilizzato */
  64.     private ProfiloDiCollaborazione profiloCollaborazione;
  65.     private String profiloCollaborazioneValue;
  66.     /** Utilizzo Consegna Asincrona */
  67.     private boolean utilizzoConsegnaAsincrona;
  68.     /** Indica se deve essere attesa o meno una ricevuta asincrona, in caso di profili asincroni */
  69.     private boolean ricevutaAsincrona;
  70.     /** Indicazione sulla eventuale collaborazione intrapresa */
  71.     private String idCollaborazione;
  72.     /** ID di CorrelazioneApplicativa */
  73.     private String idCorrelazioneApplicativa;
  74.     /** ID di CorrelazioneApplicativaRisposta */
  75.     private String idCorrelazioneApplicativaRisposta;
  76.      /** Profilo di Gestione */
  77.     private String profiloGestione = null;
  78.    
  79.     /** Informazioni protocollo */
  80.     private ProtocolContext protocol;
  81.     /** Informazioni di integrazione */
  82.     private IntegrationContext integrazione;



  83.     /* ********  C O S T R U T T O R E  ******** */

  84.     public RichiestaDelegata(IDSoggetto idSoggettoFruitore){
  85.         this.idSoggettoFruitore = idSoggettoFruitore;
  86.     }
  87.     public RichiestaDelegata(IDPortaDelegata idPD){
  88.         this(idPD, null, null, null, null);
  89.     }
  90.     public RichiestaDelegata(IDPortaDelegata idPD,
  91.             String aServizioApplicativo,
  92.             String idModulo,ProprietaErroreApplicativo fault,IDSoggetto dominio){
  93.         this.idPortaDelegata = idPD;
  94.         this.servizioApplicativo = aServizioApplicativo;
  95.         if(idPD!=null && idPD.getIdentificativiFruizione()!=null) {
  96.             this.idSoggettoFruitore = idPD.getIdentificativiFruizione().getSoggettoFruitore();
  97.             this.idServizio = idPD.getIdentificativiFruizione().getIdServizio();
  98.         }
  99.         this.idModuloInAttesa = idModulo;
  100.         this.fault = fault;
  101.         this.dominio = dominio;
  102.     }

  103.     public RichiestaDelegata(){}




  104.     /* ********  S E T T E R   ******** */


  105.     /**
  106.      * Imposta il nome del Servizio Applicativo che sta' richiedendo il servizio
  107.      *
  108.      * @param idServizio Nome del Servizio Applicativo.
  109.      *
  110.      */
  111.     public void setServizioApplicativo(String idServizio){
  112.         this.servizioApplicativo = idServizio;
  113.     }
  114.     /**
  115.      * Imposta l'identificatore del servizio richiesto all'interno del registro dei servizi.
  116.      *
  117.      * @param idservice Identificatore del servizio all'interno del registro.
  118.      *
  119.      */
  120.     public void setIdServizio(IDServizio idservice){
  121.         this.idServizio = idservice;
  122.     }
  123.     /**
  124.      * Identificatore del modulo OpenSPCoop che ha gestito la richiesta,
  125.      * e che sta aspettando una risposta.
  126.      *
  127.      * @param idModulo Identificatore del modulo OpenSPCoop che sta aspettando una risposta.
  128.      *
  129.      */
  130.     public void setIdModuloInAttesa(String idModulo){
  131.         this.idModuloInAttesa = idModulo;
  132.     }
  133.     /**
  134.      * Imposta l'indicazione sulla modalita' di costruzione di un eventuale msg di errore.
  135.      *
  136.      * @param fault Proprieta' di un eventuale fault
  137.      *
  138.      */
  139.     public void setFault(ProprietaErroreApplicativo fault) {
  140.         this.fault = fault;
  141.     }

  142.     /**
  143.      * Imposta il dominio di gestione
  144.      *
  145.      * @param dominio Dominio di gestione
  146.      *
  147.      */
  148.     public void setDominio(IDSoggetto dominio) {
  149.         this.dominio = dominio;
  150.     }
  151.     /**
  152.      * Imposta il tipo di scenario di cooperazione da intraprendere
  153.      *
  154.      * @param scenario tipo di scenario di cooperazione da intraprendere
  155.      *
  156.      */
  157.     public void setScenario(String scenario) {
  158.         this.scenario = scenario;
  159.     }
  160.     /**
  161.      * Indicazione sull'utilizzo della consegna asincrona
  162.      *
  163.      * @param utilizzoConsegnaAsincrona Indicazione sull'utilizzo della consegna asincrona
  164.      */
  165.     public void setUtilizzoConsegnaAsincrona(boolean utilizzoConsegnaAsincrona) {
  166.         this.utilizzoConsegnaAsincrona = utilizzoConsegnaAsincrona;
  167.     }

  168.     /**
  169.      * Indicazione sull'attesa di una ricevuta asincrona
  170.      *
  171.      * @param ricevutaAsincrona Indicazione  sull'attesa di una ricevuta asincrona
  172.      */
  173.     public void setRicevutaAsincrona(boolean ricevutaAsincrona) {
  174.         this.ricevutaAsincrona = ricevutaAsincrona;
  175.     }
  176.    
  177.     /**
  178.      * Identificatore della porta delegata
  179.      *
  180.      * @param idPortaDelegata Identificatore della porta delegata
  181.      */
  182.     public void setIdPortaDelegata(IDPortaDelegata idPortaDelegata) {
  183.         this.idPortaDelegata = idPortaDelegata;
  184.     }
  185.    
  186.     public void setProfiloGestione(String profiloGestione) {
  187.         this.profiloGestione = profiloGestione;
  188.     }
  189.    
  190.     public void setIdSoggettoFruitore(IDSoggetto idSoggettoFruitore) {
  191.         this.idSoggettoFruitore = idSoggettoFruitore;
  192.     }
  193.    

  194.     /* ********  G E T T E R   ******** */

  195.     /**
  196.      * Ritorna il nome del Servizio Applicativo che sta' richiedendo il servizio
  197.      *
  198.      * @return Nome del Servizio Applicativo.
  199.      *
  200.      */
  201.     public String getServizioApplicativo(){
  202.         return this.servizioApplicativo;
  203.     }
  204.     /**
  205.      * Ritorna l'identificatore del servizio richiesto all'interno del registro dei servizi.
  206.      *
  207.      * @return Identificatore del servizio all'interno del registro.
  208.      *
  209.      */
  210.     public IDServizio getIdServizio(){
  211.         return this.idServizio;
  212.     }
  213.     /**
  214.      * Ritorna l'identificatore del modulo OpenSPCoop che ha gestito la richiesta,
  215.      * e che sta aspettando una risposta.
  216.      *
  217.      * @return Identificatore del modulo OpenSPCoop che sta aspettando una risposta.
  218.      *
  219.      */
  220.     public String getIdModuloInAttesa(){
  221.         return this.idModuloInAttesa;
  222.     }

  223.     /**
  224.      * Ritorna l'indicazione sulla modalita' di costruzione di un eventuale msg di errore.
  225.      *
  226.      * @return Proprieta' di un eventuale fault
  227.      *
  228.      */
  229.     public ProprietaErroreApplicativo getFault() {
  230.         return this.fault;
  231.     }
  232.    
  233.     /**
  234.      *  Ritorna il dominio di gestione
  235.      *  
  236.      * @return dominio di gestione.
  237.      *
  238.      */
  239.     public IDSoggetto getDominio() {
  240.         return this.dominio;
  241.     }
  242.     /**
  243.      * Ritorna il tipo di scenario di cooperazione da intraprendere
  244.      *
  245.      * @return tipo di scenario di cooperazione da intraprendere
  246.      *
  247.      */
  248.     public String getScenario() {
  249.         return this.scenario;
  250.     }
  251.     /**
  252.      * Indicazione sull'utilizzo della consegna asincrona
  253.      *
  254.      * @return Indicazione sull'utilizzo della consegna asincrona
  255.      */
  256.     public boolean getUtilizzoConsegnaAsincrona() {
  257.         return this.utilizzoConsegnaAsincrona;
  258.     }
  259.     /**
  260.      * Indicazione sull'attesa di una ricevuta asincrona
  261.      *
  262.      * @return Indicazione  sull'attesa di una ricevuta asincrona
  263.      */
  264.     public boolean isRicevutaAsincrona() {
  265.         return this.ricevutaAsincrona;
  266.     }
  267.     // metodo che serve per il clone
  268.     public boolean getRicevutaAsincrona() {
  269.         return this.ricevutaAsincrona;
  270.     }
  271.     /**
  272.      * Ritorna l'identificatore della porta delegata
  273.      *
  274.      * @return identificatore della porta delegata
  275.      */
  276.     public IDPortaDelegata getIdPortaDelegata() {
  277.         return this.idPortaDelegata;
  278.     }

  279.     /**
  280.      * @return the idCollaborazione
  281.      */
  282.     public String getIdCollaborazione() {
  283.         return this.idCollaborazione;
  284.     }

  285.     /**
  286.      * @param idCollaborazione the idCollaborazione to set
  287.      */
  288.     public void setIdCollaborazione(String idCollaborazione) {
  289.         this.idCollaborazione = idCollaborazione;
  290.     }

  291.     /**
  292.      * @return the profiloCollaborazione
  293.      */
  294.     public ProfiloDiCollaborazione getProfiloCollaborazione() {
  295.         return this.profiloCollaborazione;
  296.     }

  297.     /**
  298.      * @param profiloCollaborazione the profiloCollaborazione to set
  299.      */
  300.     public void setProfiloCollaborazione(ProfiloDiCollaborazione profiloCollaborazione, String profiloCollaborazioneValue) {
  301.         this.profiloCollaborazione = profiloCollaborazione;
  302.         this.profiloCollaborazioneValue = profiloCollaborazioneValue;
  303.     }
  304.    
  305.     // metodi che servono per il clone
  306.     public void setProfiloCollaborazione(ProfiloDiCollaborazione profiloCollaborazione) {
  307.         this.profiloCollaborazione = profiloCollaborazione;
  308.     }
  309.     public void setProfiloCollaborazioneValue(String profiloCollaborazioneValue) {
  310.         this.profiloCollaborazioneValue = profiloCollaborazioneValue;
  311.     }
  312.    
  313.    
  314.     public String getProfiloCollaborazioneValue() {
  315.         return this.profiloCollaborazioneValue;
  316.     }

  317.     public String getIdCorrelazioneApplicativa() {
  318.         return this.idCorrelazioneApplicativa;
  319.     }

  320.     public String getProfiloGestione() {
  321.         return this.profiloGestione;
  322.     }
  323.     public void setIdCorrelazioneApplicativa(String idCorrelazioneApplicativa) {
  324.         this.idCorrelazioneApplicativa = idCorrelazioneApplicativa;
  325.     }

  326.     public IDAccordo getIdAccordo() {
  327.         return this.idAccordo;
  328.     }

  329.     public void setIdAccordo(IDAccordo idAccordo) {
  330.         this.idAccordo = idAccordo;
  331.     }

  332.     public String getIdCorrelazioneApplicativaRisposta() {
  333.         return this.idCorrelazioneApplicativaRisposta;
  334.     }

  335.     public void setIdCorrelazioneApplicativaRisposta(
  336.             String idCorrelazioneApplicativaRisposta) {
  337.         this.idCorrelazioneApplicativaRisposta = idCorrelazioneApplicativaRisposta;
  338.     }
  339.    
  340.     public IDSoggetto getIdSoggettoFruitore() {
  341.         return this.idSoggettoFruitore;
  342.     }

  343.     public ProtocolContext getProtocol() {
  344.         return this.protocol;
  345.     }
  346.     public void setProtocol(ProtocolContext protocol) {
  347.         this.protocol = protocol;
  348.     }
  349.    
  350.     public IntegrationContext getIntegrazione() {
  351.         return this.integrazione;
  352.     }
  353.     public void setIntegrazione(IntegrationContext integrazione) {
  354.         this.integrazione = integrazione;
  355.     }
  356. }