IntegrationContext.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.core;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import org.openspcoop2.core.config.AttributeAuthority;
import org.openspcoop2.core.id.IDPortaApplicativa;
import org.openspcoop2.core.id.IDPortaDelegata;
/**
* IntegrationContext
*
* @author Poli Andrea (apoli@link.it)
* @author $Author$
* @version $Rev$, $Date$
*/
public class IntegrationContext implements Serializable {
private static final long serialVersionUID = 1L;
/** Identificativo di correlazione applicativa */
private String idCorrelazioneApplicativa;
/** Identificativo di correlazione applicativa risposta */
private String idCorrelazioneApplicativaRisposta;
/** Identita' del servizio applicativo fruitore */
private String servizioApplicativoFruitore = null;
/** Identita' dei servizi applicativi erogatori */
private List<String> serviziApplicativiErogatori = new ArrayList<>();
/** Indicazione se la gestione e' stateless/stateful (Null se non ancora definita) */
private Boolean gestioneStateless;
/**
* Tipo di autenticazione utilizzato
*/
private String tipoAutenticazione;
/**
* Tipo di gestione token utilizzato
*/
private String tipoGestioneToken;
/**
* Autenticazione opzionale
*/
private boolean autenticazioneOpzionale = false;
/**
* Tipo di autorizzazione utilizzato
*/
private String tipoAutorizzazione;
/**
* Tipo di autorizzazione per contenuto utilizzato
*/
private String tipoAutorizzazioneContenuto;
/**
* Tipo di validazione contenuti
*/
private String tipoValidazioneContenuti;
/**
* Tipo di processamento mtom della richiesta
*/
private String tipoProcessamentoMtomXopRichiesta;
/**
* Tipo di processamento mtom della risposta
*/
private String tipoProcessamentoMtomXopRisposta;
/**
* Tipo di security message applicato alla richiesta
*/
private String tipoMessageSecurityRichiesta;
/**
* Tipo di security message applicato alla risposta
*/
private String tipoMessageSecurityRisposta;
/**
* Tipo di token policy;
*/
private String tokenPolicy;
/**
* Azioni intraprese per validare il token;
*/
private String tokenPolicyActions;
/**
* Azioni intraprese per autenticare il token;
*/
private String tokenPolicyAuthn;
/**
* Lista di AttributeAuthority utilizzate
*/
private List<String> attributeAuthorities;
/**
* Identificativo della Porta Applicativa
*/
private IDPortaApplicativa idPA;
/**
* Identificativo della Porta Delegata
*/
private IDPortaDelegata idPD;
public String getTipoAutenticazione() {
return this.tipoAutenticazione;
}
public void setTipoAutenticazione(String tipoAutenticazione) {
this.tipoAutenticazione = tipoAutenticazione;
}
public boolean isAutenticazioneOpzionale() {
return this.autenticazioneOpzionale;
}
public void setAutenticazioneOpzionale(boolean autenticazioneOpzionale) {
this.autenticazioneOpzionale = autenticazioneOpzionale;
}
public String getTipoGestioneToken() {
return this.tipoGestioneToken;
}
public void setTipoGestioneToken(String tipoGestioneToken) {
this.tipoGestioneToken = tipoGestioneToken;
}
public String getTipoAutorizzazione() {
return this.tipoAutorizzazione;
}
public void setTipoAutorizzazione(String tipoAutorizzazione) {
this.tipoAutorizzazione = tipoAutorizzazione;
}
public String getTipoAutorizzazioneContenuto() {
return this.tipoAutorizzazioneContenuto;
}
public void setTipoAutorizzazioneContenuto(String tipoAutorizzazioneContenuto) {
this.tipoAutorizzazioneContenuto = tipoAutorizzazioneContenuto;
}
public String getTipoValidazioneContenuti() {
return this.tipoValidazioneContenuti;
}
public void setTipoValidazioneContenuti(String tipoValidazioneContenuti) {
this.tipoValidazioneContenuti = tipoValidazioneContenuti;
}
public String getTipoProcessamentoMtomXopRichiesta() {
return this.tipoProcessamentoMtomXopRichiesta;
}
public void setTipoProcessamentoMtomXopRichiesta(
String tipoProcessamentoMtomXopRichiesta) {
this.tipoProcessamentoMtomXopRichiesta = tipoProcessamentoMtomXopRichiesta;
}
public String getTipoProcessamentoMtomXopRisposta() {
return this.tipoProcessamentoMtomXopRisposta;
}
public void setTipoProcessamentoMtomXopRisposta(
String tipoProcessamentoMtomXopRisposta) {
this.tipoProcessamentoMtomXopRisposta = tipoProcessamentoMtomXopRisposta;
}
public String getTipoMessageSecurityRichiesta() {
return this.tipoMessageSecurityRichiesta;
}
public void setTipoMessageSecurityRichiesta(String tipoMessageSecurityRichiesta) {
this.tipoMessageSecurityRichiesta = tipoMessageSecurityRichiesta;
}
public String getTipoMessageSecurityRisposta() {
return this.tipoMessageSecurityRisposta;
}
public void setTipoMessageSecurityRisposta(String tipoMessageSecurityRisposta) {
this.tipoMessageSecurityRisposta = tipoMessageSecurityRisposta;
}
public String getIdCorrelazioneApplicativa() {
return this.idCorrelazioneApplicativa;
}
public void setIdCorrelazioneApplicativa(String idCorrelazioneApplicativa) {
this.idCorrelazioneApplicativa = idCorrelazioneApplicativa;
}
public String getIdCorrelazioneApplicativaRisposta() {
return this.idCorrelazioneApplicativaRisposta;
}
public void setIdCorrelazioneApplicativaRisposta(
String idCorrelazioneApplicativaRisposta) {
this.idCorrelazioneApplicativaRisposta = idCorrelazioneApplicativaRisposta;
}
public void addServizioApplicativoErogatore(String servizioApplicativo){
if(!this.serviziApplicativiErogatori.contains(servizioApplicativo)) {
this.serviziApplicativiErogatori.add(servizioApplicativo);
}
}
public int sizeServiziApplicativiErogatori(){
return this.serviziApplicativiErogatori.size();
}
public String getServizioApplicativoErogatore(int index){
return this.serviziApplicativiErogatori.get(index);
}
public String removeServizioApplicativoErogatore(int index){
return this.serviziApplicativiErogatori.remove(index);
}
public String getServizioApplicativoFruitore() {
return this.servizioApplicativoFruitore;
}
public void setServizioApplicativoFruitore(String servizioApplicativoFruitore) {
this.servizioApplicativoFruitore = servizioApplicativoFruitore;
}
public Boolean isGestioneStateless() {
return this.gestioneStateless;
}
public void setGestioneStateless(Boolean gestioneStateless) {
this.gestioneStateless = gestioneStateless;
}
public IDPortaApplicativa getIdPA() {
return this.idPA;
}
public void setIdPA(IDPortaApplicativa idPA) {
this.idPA = idPA;
}
public IDPortaDelegata getIdPD() {
return this.idPD;
}
public void setIdPD(IDPortaDelegata idPD) {
this.idPD = idPD;
}
public String getTokenPolicy() {
return this.tokenPolicy;
}
public void setTokenPolicy(String tokenPolicy) {
this.tokenPolicy = tokenPolicy;
}
public String getTokenPolicyActions() {
return this.tokenPolicyActions;
}
public void setTokenPolicyActions(String tokenPolicyActions) {
this.tokenPolicyActions = tokenPolicyActions;
}
public String getTokenPolicyAuthn() {
return this.tokenPolicyAuthn;
}
public void setTokenPolicyAuthn(String tokenPolicyAuthn) {
this.tokenPolicyAuthn = tokenPolicyAuthn;
}
public List<String> getAttributeAuthorities() {
return this.attributeAuthorities;
}
public void setAttributeAuthoritiesFromObjectList(List<AttributeAuthority> attributeAuthorities) {
if(attributeAuthorities!=null) {
this.attributeAuthorities = new ArrayList<>();
if(!attributeAuthorities.isEmpty()) {
for (AttributeAuthority attributeAuthority : attributeAuthorities) {
this.attributeAuthorities.add(attributeAuthority.getNome());
}
}
}
else {
this.attributeAuthorities = null;
}
}
public void setAttributeAuthorities(List<String> attributeAuthorities) {
this.attributeAuthorities = attributeAuthorities;
}
}