IntegrationContext.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.core;

  21. import java.io.Serializable;
  22. import java.util.ArrayList;
  23. import java.util.List;

  24. import org.openspcoop2.core.config.AttributeAuthority;
  25. import org.openspcoop2.core.id.IDPortaApplicativa;
  26. import org.openspcoop2.core.id.IDPortaDelegata;

  27. /**
  28.  * IntegrationContext
  29.  *
  30.  * @author Poli Andrea (apoli@link.it)
  31.  * @author $Author$
  32.  * @version $Rev$, $Date$
  33.  */
  34. public class IntegrationContext implements Serializable {

  35.     private static final long serialVersionUID = 1L;
  36.    
  37.     /** Identificativo di correlazione applicativa */
  38.     private String idCorrelazioneApplicativa;
  39.     /** Identificativo di correlazione applicativa risposta */
  40.     private String idCorrelazioneApplicativaRisposta;
  41.    
  42.     /** Identita' del servizio applicativo fruitore */
  43.     private String servizioApplicativoFruitore = null;
  44.     /** Identita' dei servizi applicativi erogatori */
  45.     private List<String> serviziApplicativiErogatori = new ArrayList<>();
  46.    
  47.     /** Indicazione se la gestione e' stateless/stateful (Null se non ancora definita) */
  48.     private Boolean gestioneStateless;
  49.    
  50.     /**
  51.      * Tipo di autenticazione utilizzato
  52.      */
  53.     private String tipoAutenticazione;
  54.    
  55.     /**
  56.      * Tipo di gestione token utilizzato
  57.      */
  58.     private String tipoGestioneToken;
  59.        
  60.     /**
  61.      * Autenticazione opzionale
  62.      */
  63.     private boolean autenticazioneOpzionale = false;

  64.     /**
  65.      * Tipo di autorizzazione utilizzato
  66.      */
  67.     private String tipoAutorizzazione;
  68.    
  69.     /**
  70.      * Tipo di autorizzazione per contenuto utilizzato
  71.      */
  72.     private String tipoAutorizzazioneContenuto;
  73.    
  74.     /**
  75.      * Tipo di validazione contenuti
  76.      */
  77.     private String tipoValidazioneContenuti;
  78.    
  79.     /**
  80.      * Tipo di processamento mtom della richiesta
  81.      */
  82.     private String tipoProcessamentoMtomXopRichiesta;
  83.    
  84.     /**
  85.      * Tipo di processamento mtom della risposta
  86.      */
  87.     private String tipoProcessamentoMtomXopRisposta;
  88.    
  89.     /**
  90.      * Tipo di security message applicato alla richiesta
  91.      */
  92.     private String tipoMessageSecurityRichiesta;
  93.    
  94.     /**
  95.      * Tipo di security message applicato alla risposta
  96.      */
  97.     private String tipoMessageSecurityRisposta;
  98.    
  99.     /**
  100.      * Tipo di token policy;
  101.      */
  102.     private String tokenPolicy;
  103.    
  104.     /**
  105.      * Azioni intraprese per validare il token;
  106.      */
  107.     private String tokenPolicyActions;
  108.    
  109.     /**
  110.      * Azioni intraprese per autenticare il token;
  111.      */
  112.     private String tokenPolicyAuthn;
  113.    
  114.     /**
  115.      * Lista di AttributeAuthority utilizzate
  116.      */
  117.     private List<String> attributeAuthorities;
  118.    
  119.     /**
  120.      * Identificativo della Porta Applicativa
  121.      */
  122.     private IDPortaApplicativa idPA;
  123.    
  124.     /**
  125.      * Identificativo della Porta Delegata
  126.      */
  127.     private IDPortaDelegata idPD;
  128.    
  129.     public String getTipoAutenticazione() {
  130.         return this.tipoAutenticazione;
  131.     }
  132.     public void setTipoAutenticazione(String tipoAutenticazione) {
  133.         this.tipoAutenticazione = tipoAutenticazione;
  134.     }
  135.        
  136.     public boolean isAutenticazioneOpzionale() {
  137.         return this.autenticazioneOpzionale;
  138.     }
  139.     public void setAutenticazioneOpzionale(boolean autenticazioneOpzionale) {
  140.         this.autenticazioneOpzionale = autenticazioneOpzionale;
  141.     }
  142.    
  143.     public String getTipoGestioneToken() {
  144.         return this.tipoGestioneToken;
  145.     }
  146.     public void setTipoGestioneToken(String tipoGestioneToken) {
  147.         this.tipoGestioneToken = tipoGestioneToken;
  148.     }
  149.    
  150.     public String getTipoAutorizzazione() {
  151.         return this.tipoAutorizzazione;
  152.     }
  153.     public void setTipoAutorizzazione(String tipoAutorizzazione) {
  154.         this.tipoAutorizzazione = tipoAutorizzazione;
  155.     }
  156.    
  157.     public String getTipoAutorizzazioneContenuto() {
  158.         return this.tipoAutorizzazioneContenuto;
  159.     }
  160.     public void setTipoAutorizzazioneContenuto(String tipoAutorizzazioneContenuto) {
  161.         this.tipoAutorizzazioneContenuto = tipoAutorizzazioneContenuto;
  162.     }
  163.    
  164.     public String getTipoValidazioneContenuti() {
  165.         return this.tipoValidazioneContenuti;
  166.     }
  167.     public void setTipoValidazioneContenuti(String tipoValidazioneContenuti) {
  168.         this.tipoValidazioneContenuti = tipoValidazioneContenuti;
  169.     }
  170.    
  171.     public String getTipoProcessamentoMtomXopRichiesta() {
  172.         return this.tipoProcessamentoMtomXopRichiesta;
  173.     }
  174.     public void setTipoProcessamentoMtomXopRichiesta(
  175.             String tipoProcessamentoMtomXopRichiesta) {
  176.         this.tipoProcessamentoMtomXopRichiesta = tipoProcessamentoMtomXopRichiesta;
  177.     }
  178.    
  179.     public String getTipoProcessamentoMtomXopRisposta() {
  180.         return this.tipoProcessamentoMtomXopRisposta;
  181.     }
  182.     public void setTipoProcessamentoMtomXopRisposta(
  183.             String tipoProcessamentoMtomXopRisposta) {
  184.         this.tipoProcessamentoMtomXopRisposta = tipoProcessamentoMtomXopRisposta;
  185.     }
  186.    
  187.     public String getTipoMessageSecurityRichiesta() {
  188.         return this.tipoMessageSecurityRichiesta;
  189.     }
  190.     public void setTipoMessageSecurityRichiesta(String tipoMessageSecurityRichiesta) {
  191.         this.tipoMessageSecurityRichiesta = tipoMessageSecurityRichiesta;
  192.     }
  193.    
  194.     public String getTipoMessageSecurityRisposta() {
  195.         return this.tipoMessageSecurityRisposta;
  196.     }
  197.     public void setTipoMessageSecurityRisposta(String tipoMessageSecurityRisposta) {
  198.         this.tipoMessageSecurityRisposta = tipoMessageSecurityRisposta;
  199.     }
  200.    
  201.     public String getIdCorrelazioneApplicativa() {
  202.         return this.idCorrelazioneApplicativa;
  203.     }
  204.     public void setIdCorrelazioneApplicativa(String idCorrelazioneApplicativa) {
  205.         this.idCorrelazioneApplicativa = idCorrelazioneApplicativa;
  206.     }
  207.     public String getIdCorrelazioneApplicativaRisposta() {
  208.         return this.idCorrelazioneApplicativaRisposta;
  209.     }
  210.     public void setIdCorrelazioneApplicativaRisposta(
  211.             String idCorrelazioneApplicativaRisposta) {
  212.         this.idCorrelazioneApplicativaRisposta = idCorrelazioneApplicativaRisposta;
  213.     }
  214.    
  215.     public void addServizioApplicativoErogatore(String servizioApplicativo){
  216.         if(!this.serviziApplicativiErogatori.contains(servizioApplicativo)) {
  217.             this.serviziApplicativiErogatori.add(servizioApplicativo);
  218.         }
  219.     }
  220.     public int sizeServiziApplicativiErogatori(){
  221.         return this.serviziApplicativiErogatori.size();
  222.     }
  223.     public String getServizioApplicativoErogatore(int index){
  224.         return this.serviziApplicativiErogatori.get(index);
  225.     }
  226.     public String removeServizioApplicativoErogatore(int index){
  227.         return this.serviziApplicativiErogatori.remove(index);
  228.     }
  229.     public String getServizioApplicativoFruitore() {
  230.         return this.servizioApplicativoFruitore;
  231.     }
  232.     public void setServizioApplicativoFruitore(String servizioApplicativoFruitore) {
  233.         this.servizioApplicativoFruitore = servizioApplicativoFruitore;
  234.     }
  235.     public Boolean isGestioneStateless() {
  236.         return this.gestioneStateless;
  237.     }
  238.     public void setGestioneStateless(Boolean gestioneStateless) {
  239.         this.gestioneStateless = gestioneStateless;
  240.     }
  241.    
  242.     public IDPortaApplicativa getIdPA() {
  243.         return this.idPA;
  244.     }
  245.     public void setIdPA(IDPortaApplicativa idPA) {
  246.         this.idPA = idPA;
  247.     }
  248.     public IDPortaDelegata getIdPD() {
  249.         return this.idPD;
  250.     }
  251.     public void setIdPD(IDPortaDelegata idPD) {
  252.         this.idPD = idPD;
  253.     }
  254.    
  255.     public String getTokenPolicy() {
  256.         return this.tokenPolicy;
  257.     }
  258.     public void setTokenPolicy(String tokenPolicy) {
  259.         this.tokenPolicy = tokenPolicy;
  260.     }
  261.     public String getTokenPolicyActions() {
  262.         return this.tokenPolicyActions;
  263.     }
  264.     public void setTokenPolicyActions(String tokenPolicyActions) {
  265.         this.tokenPolicyActions = tokenPolicyActions;
  266.     }
  267.     public String getTokenPolicyAuthn() {
  268.         return this.tokenPolicyAuthn;
  269.     }
  270.     public void setTokenPolicyAuthn(String tokenPolicyAuthn) {
  271.         this.tokenPolicyAuthn = tokenPolicyAuthn;
  272.     }
  273.    
  274.     public List<String> getAttributeAuthorities() {
  275.         return this.attributeAuthorities;
  276.     }
  277.     public void setAttributeAuthoritiesFromObjectList(List<AttributeAuthority> attributeAuthorities) {
  278.         if(attributeAuthorities!=null) {
  279.             this.attributeAuthorities = new ArrayList<>();
  280.             if(!attributeAuthorities.isEmpty()) {
  281.                 for (AttributeAuthority attributeAuthority : attributeAuthorities) {
  282.                     this.attributeAuthorities.add(attributeAuthority.getNome());
  283.                 }
  284.             }
  285.         }
  286.         else {
  287.             this.attributeAuthorities = null;
  288.         }
  289.     }
  290.     public void setAttributeAuthorities(List<String> attributeAuthorities) {
  291.         this.attributeAuthorities = attributeAuthorities;
  292.     }
  293. }