RichiestaApplicativa.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 java.util.Map;

  22. import org.openspcoop2.core.id.IDAccordo;
  23. import org.openspcoop2.core.id.IDPortaApplicativa;
  24. import org.openspcoop2.core.id.IDServizio;
  25. import org.openspcoop2.core.id.IDSoggetto;
  26. import org.openspcoop2.pdd.core.IntegrationContext;
  27. import org.openspcoop2.pdd.core.ProtocolContext;
  28. import org.openspcoop2.utils.beans.BaseBean;

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

  37. public class RichiestaApplicativa extends BaseBean implements java.io.Serializable, Cloneable {

  38.      /**
  39.      * serialVersionUID
  40.      */
  41.     private static final long serialVersionUID = 1L;

  42.     /* ********  F I E L D S  P R I V A T I  ******** */

  43.     /** Identificatore del Soggetto che sta' richiedendo il servizio */
  44.     private IDSoggetto soggettoFruitore;
  45.     /** IDAccordo */
  46.     private IDAccordo idAccordo;
  47.     /** IDServizio */
  48.     private IDServizio idServizio;
  49.     /** Identificatore della PortaApplicativa */
  50.     private IDPortaApplicativa idPortaApplicativa;
  51.     /** Nome del Servizio Applicativo che eroga il servizio */
  52.     private String servizioApplicativo;
  53.     /** Identificatore del modulo OpenSPCoop che ha gestito la richiesta, e che sta aspettando una risposta */
  54.     private String idModuloInAttesa;
  55.     /** Dominio di gestione */
  56.     private IDSoggetto dominio;
  57.     /** Indica il tipo di scenario di cooperazione da intraprendere. */
  58.     private String scenario;
  59.     /** Indica se deve essere attesa o meno una ricevuta asincrona, in caso di profili asincroni */
  60.     private boolean ricevutaAsincrona;
  61.     /** Filtri per identificazione PA */
  62.     private Map<String, String> filtroProprietaPorteApplicative;
  63.      /** Profilo di Gestione */
  64.     private String profiloGestione = null;
  65.     /** Nome del Servizio Applicativo che sta' richiedendo il servizio */
  66.     private String identitaServizioApplicativoFruitore;
  67.     /** ID di CorrelazioneApplicativa */
  68.     private String idCorrelazioneApplicativa;
  69.     /** ID di CorrelazioneApplicativaRisposta */
  70.     private String idCorrelazioneApplicativaRisposta;
  71.     /** LocalForward */
  72.     private boolean localForward;
  73.    
  74.     /** Informazioni protocollo */
  75.     private ProtocolContext protocol;
  76.     /** Informazioni di integrazione */
  77.     private IntegrationContext integrazione;



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

  79.     public RichiestaApplicativa(IDSoggetto sog,String idModulo, IDSoggetto dominio, IDPortaApplicativa idPA){
  80.         this(sog, idModulo, dominio, idPA.getIdentificativiErogazione().getIdServizio());
  81.         this.idPortaApplicativa = idPA;
  82.     }
  83.     public RichiestaApplicativa(IDSoggetto sog,IDSoggetto dominio, IDPortaApplicativa idPA){
  84.         this(sog, null, dominio, idPA.getIdentificativiErogazione().getIdServizio());
  85.         this.idPortaApplicativa = idPA;
  86.     }
  87.     public RichiestaApplicativa(IDSoggetto sog,String idModulo,IDSoggetto dominio, IDServizio idServizio){
  88.         this.soggettoFruitore = sog;
  89.         this.idServizio = idServizio;
  90.         this.idModuloInAttesa = idModulo;
  91.         this.dominio = dominio;
  92.     }




  93.     /* ********  S E T T E R   ******** */
  94.     /**
  95.      * Imposta l'identificatore del Soggetto che sta' richiedendo il servizio
  96.      *
  97.      * @param idSoggetto Identificatore del Soggetto.
  98.      *
  99.      */
  100.     public void setSoggettoFruitore(IDSoggetto idSoggetto){
  101.         this.soggettoFruitore = idSoggetto;
  102.     }
  103.     /**
  104.      * Imposta il nome del Servizio Applicativo che eroga il servizio
  105.      *
  106.      * @param idServizio Nome del Servizio Applicativo.
  107.      *
  108.      */
  109.     public void setServizioApplicativo(String idServizio){
  110.         this.servizioApplicativo = idServizio;
  111.     }
  112.     /**
  113.      * Identificatore del modulo OpenSPCoop che ha gestito la richiesta,
  114.      * e che sta aspettando una risposta.
  115.      *
  116.      * @param idModulo Identificatore del modulo OpenSPCoop che sta aspettando una risposta.
  117.      *
  118.      */
  119.     public void setIdModuloInAttesa(String idModulo){
  120.         this.idModuloInAttesa = idModulo;
  121.     }
  122.     /**
  123.      * Imposta il dominio di gestione
  124.      *
  125.      * @param dominio Dominio di gestione
  126.      *
  127.      */
  128.     public void setDominio(IDSoggetto dominio) {
  129.         this.dominio = dominio;
  130.     }
  131.     /**
  132.      * Imposta il tipo di scenario di cooperazione da intraprendere
  133.      *
  134.      * @param scenario tipo di scenario di cooperazione da intraprendere
  135.      *
  136.      */
  137.     public void setScenario(String scenario) {
  138.         this.scenario = scenario;
  139.     }
  140.     /**
  141.      * Indicazione sull'attesa di una ricevuta asincrona
  142.      *
  143.      * @param ricevutaAsincrona Indicazione  sull'attesa di una ricevuta asincrona
  144.      */
  145.     public void setRicevutaAsincrona(boolean ricevutaAsincrona) {
  146.         this.ricevutaAsincrona = ricevutaAsincrona;
  147.     }
  148.    
  149.     public void setProfiloGestione(String profiloGestione) {
  150.         this.profiloGestione = profiloGestione;
  151.     }
  152.    
  153.    

  154.     /* ********  G E T T E R   ******** */
  155.     /**
  156.      * Ritorna l'identificatore del Soggetto che sta' richiedendo il servizio
  157.      *
  158.      * @return Identificatore del Soggetto.
  159.      *
  160.      */
  161.     public IDSoggetto getSoggettoFruitore(){
  162.         return this.soggettoFruitore;
  163.     }
  164.     /**
  165.      * Ritorna l'identificativo del servizio all'interno del registro dei servizi.
  166.      *
  167.      * @return Identificativo del servizio
  168.      *
  169.      */
  170.     public IDServizio getIDServizio(){
  171.         return this.idServizio;
  172.     }

  173.     public void updateIDServizio(IDServizio idServizio) {
  174.         this.idServizio = idServizio;
  175.     }
  176.    
  177.     // Metodi che servono per il clone
  178.     public IDServizio getIdServizio() {
  179.         return this.idServizio;
  180.     }
  181.     public void setIdServizio(IDServizio idServizio) {
  182.         this.idServizio = idServizio;
  183.     }
  184.    
  185.     /**
  186.      * Ritorna il nome del Servizio Applicativo che eroga il servizio
  187.      *
  188.      * @return Nome del Servizio Applicativo.
  189.      *
  190.      */
  191.     public String getServizioApplicativo(){
  192.         return this.servizioApplicativo;
  193.     }
  194.     /**
  195.      * Ritorna l'identificatore del modulo OpenSPCoop che ha gestito la richiesta,
  196.      * e che sta aspettando una risposta.
  197.      *
  198.      * @return Identificatore del modulo OpenSPCoop che sta aspettando una risposta.
  199.      *
  200.      */
  201.     public String getIdModuloInAttesa(){
  202.         return this.idModuloInAttesa;
  203.     }
  204.     /**
  205.      *  Ritorna il dominio di gestione
  206.      *  
  207.      * @return dominio di gestione.
  208.      *
  209.      */
  210.     public IDSoggetto getDominio() {
  211.         return this.dominio;
  212.     }
  213.     /**
  214.      * Ritorna il tipo di scenario di cooperazione da intraprendere
  215.      *
  216.      * @return tipo di scenario di cooperazione da intraprendere
  217.      *
  218.      */
  219.     public String getScenario() {
  220.         return this.scenario;
  221.     }
  222.     /**
  223.      * Indicazione sull'attesa di una ricevuta asincrona
  224.      *
  225.      * @return Indicazione  sull'attesa di una ricevuta asincrona
  226.      */
  227.     public boolean isRicevutaAsincrona() {
  228.         return this.ricevutaAsincrona;
  229.     }

  230.     // Metodo che serve per clone
  231.     public boolean getRicevutaAsincrona() {
  232.         return this.ricevutaAsincrona;
  233.     }
  234.    
  235.     public Map<String, String> getFiltroProprietaPorteApplicative() {
  236.         return this.filtroProprietaPorteApplicative;
  237.     }
  238.     public void setFiltroProprietaPorteApplicative(
  239.             Map<String, String> filtroProprietaPorteApplicative) {
  240.         this.filtroProprietaPorteApplicative = filtroProprietaPorteApplicative;
  241.     }
  242.    
  243.     public String getProfiloGestione() {
  244.         return this.profiloGestione;
  245.     }
  246.     public String getIdentitaServizioApplicativoFruitore() {
  247.         return this.identitaServizioApplicativoFruitore;
  248.     }
  249.     public void setIdentitaServizioApplicativoFruitore(
  250.             String identitaServizioApplicativoFruitore) {
  251.         this.identitaServizioApplicativoFruitore = identitaServizioApplicativoFruitore;
  252.     }
  253.     public String getIdCorrelazioneApplicativa() {
  254.         return this.idCorrelazioneApplicativa;
  255.     }
  256.     public void setIdCorrelazioneApplicativa(String idCorrelazioneApplicativa) {
  257.         this.idCorrelazioneApplicativa = idCorrelazioneApplicativa;
  258.     }
  259.    

  260.     public IDAccordo getIdAccordo() {
  261.         return this.idAccordo;
  262.     }

  263.     public void setIdAccordo(IDAccordo idAccordo) {
  264.         this.idAccordo = idAccordo;
  265.     }
  266.    
  267.     public String getIdCorrelazioneApplicativaRisposta() {
  268.         return this.idCorrelazioneApplicativaRisposta;
  269.     }
  270.     public void setIdCorrelazioneApplicativaRisposta(
  271.             String idCorrelazioneApplicativaRisposta) {
  272.         this.idCorrelazioneApplicativaRisposta = idCorrelazioneApplicativaRisposta;
  273.     }
  274.    
  275.     public boolean isLocalForward() {
  276.         return this.localForward;
  277.     }
  278.     public void setLocalForward(boolean localForward) {
  279.         this.localForward = localForward;
  280.     }
  281.     // metodo che serve per clone
  282.     public boolean getLocalForward() {
  283.         return this.localForward;
  284.     }
  285.    
  286.     public IDPortaApplicativa getIdPortaApplicativa() {
  287.         return this.idPortaApplicativa;
  288.     }
  289.     public void setIdPortaApplicativa(IDPortaApplicativa idPortaApplicativa) {
  290.         this.idPortaApplicativa = idPortaApplicativa;
  291.     }

  292.     public ProtocolContext getProtocol() {
  293.         return this.protocol;
  294.     }
  295.     public void setProtocol(ProtocolContext protocol) {
  296.         this.protocol = protocol;
  297.     }
  298.    
  299.     public IntegrationContext getIntegrazione() {
  300.         return this.integrazione;
  301.     }
  302.     public void setIntegrazione(IntegrationContext integrazione) {
  303.         this.integrazione = integrazione;
  304.     }
  305. }