ConfigurazionePdDManager.java
/*
* GovWay - A customizable API Gateway
* https://govway.org
*
* Copyright (c) 2005-2025 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 java.io.File;
import java.sql.Connection;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.apache.logging.log4j.Level;
import org.openspcoop2.core.allarmi.Allarme;
import org.openspcoop2.core.allarmi.utils.FiltroRicercaAllarmi;
import org.openspcoop2.core.commons.CoreException;
import org.openspcoop2.core.config.AccessoConfigurazione;
import org.openspcoop2.core.config.AccessoDatiAttributeAuthority;
import org.openspcoop2.core.config.AccessoDatiAutenticazione;
import org.openspcoop2.core.config.AccessoDatiAutorizzazione;
import org.openspcoop2.core.config.AccessoDatiGestioneToken;
import org.openspcoop2.core.config.AccessoDatiKeystore;
import org.openspcoop2.core.config.AccessoDatiRichieste;
import org.openspcoop2.core.config.AccessoRegistro;
import org.openspcoop2.core.config.Cache;
import org.openspcoop2.core.config.CanaliConfigurazione;
import org.openspcoop2.core.config.ConfigurazioneMultitenant;
import org.openspcoop2.core.config.Connettore;
import org.openspcoop2.core.config.CorrelazioneApplicativa;
import org.openspcoop2.core.config.CorrelazioneApplicativaRisposta;
import org.openspcoop2.core.config.CorsConfigurazione;
import org.openspcoop2.core.config.Dump;
import org.openspcoop2.core.config.DumpConfigurazione;
import org.openspcoop2.core.config.GenericProperties;
import org.openspcoop2.core.config.GestioneErrore;
import org.openspcoop2.core.config.MessaggiDiagnostici;
import org.openspcoop2.core.config.PortaApplicativa;
import org.openspcoop2.core.config.PortaDelegata;
import org.openspcoop2.core.config.Proprieta;
import org.openspcoop2.core.config.ResponseCachingConfigurazione;
import org.openspcoop2.core.config.ServizioApplicativo;
import org.openspcoop2.core.config.StatoServiziPdd;
import org.openspcoop2.core.config.SystemProperties;
import org.openspcoop2.core.config.TipoFiltroAbilitazioneServizi;
import org.openspcoop2.core.config.Tracciamento;
import org.openspcoop2.core.config.Transazioni;
import org.openspcoop2.core.config.TrasformazioneRegolaRichiesta;
import org.openspcoop2.core.config.TrasformazioneRegolaRisposta;
import org.openspcoop2.core.config.Trasformazioni;
import org.openspcoop2.core.config.ValidazioneContenutiApplicativi;
import org.openspcoop2.core.config.constants.RuoloContesto;
import org.openspcoop2.core.config.constants.StatoFunzionalita;
import org.openspcoop2.core.config.constants.StatoFunzionalitaConWarning;
import org.openspcoop2.core.config.driver.DriverConfigurazioneException;
import org.openspcoop2.core.config.driver.DriverConfigurazioneNotFound;
import org.openspcoop2.core.config.driver.FiltroRicercaPorteApplicative;
import org.openspcoop2.core.config.driver.FiltroRicercaPorteDelegate;
import org.openspcoop2.core.config.driver.FiltroRicercaServiziApplicativi;
import org.openspcoop2.core.constants.Costanti;
import org.openspcoop2.core.constants.TipoPdD;
import org.openspcoop2.core.controllo_traffico.AttivazionePolicy;
import org.openspcoop2.core.controllo_traffico.ConfigurazioneGenerale;
import org.openspcoop2.core.controllo_traffico.ConfigurazionePolicy;
import org.openspcoop2.core.controllo_traffico.ElencoIdPolicy;
import org.openspcoop2.core.controllo_traffico.ElencoIdPolicyAttive;
import org.openspcoop2.core.controllo_traffico.constants.TipoRisorsaPolicyAttiva;
import org.openspcoop2.core.controllo_traffico.driver.PolicyGroupByActiveThreadsType;
import org.openspcoop2.core.id.IDAccordo;
import org.openspcoop2.core.id.IDConnettore;
import org.openspcoop2.core.id.IDGenericProperties;
import org.openspcoop2.core.id.IDPortaApplicativa;
import org.openspcoop2.core.id.IDPortaDelegata;
import org.openspcoop2.core.id.IDServizio;
import org.openspcoop2.core.id.IDServizioApplicativo;
import org.openspcoop2.core.id.IDSoggetto;
import org.openspcoop2.core.id.IdentificativiErogazione;
import org.openspcoop2.core.id.IdentificativiFruizione;
import org.openspcoop2.core.mapping.MappingErogazionePortaApplicativa;
import org.openspcoop2.core.mapping.MappingFruizionePortaDelegata;
import org.openspcoop2.core.registry.AccordoServizioParteComune;
import org.openspcoop2.core.registry.Soggetto;
import org.openspcoop2.core.registry.driver.DriverRegistroServiziException;
import org.openspcoop2.core.registry.driver.IDServizioFactory;
import org.openspcoop2.message.OpenSPCoop2Message;
import org.openspcoop2.message.constants.MessageType;
import org.openspcoop2.message.constants.ServiceBinding;
import org.openspcoop2.message.soap.reader.OpenSPCoop2MessageSoapStreamReader;
import org.openspcoop2.monitor.engine.dynamic.IRegistroPluginsReader;
import org.openspcoop2.monitor.sdk.alarm.AlarmStatus;
import org.openspcoop2.monitor.sdk.alarm.IAlarm;
import org.openspcoop2.pdd.core.PdDContext;
import org.openspcoop2.pdd.core.connettori.ConnettoreMsg;
import org.openspcoop2.pdd.core.connettori.InfoConnettoreIngresso;
import org.openspcoop2.pdd.core.controllo_traffico.SogliaReadTimeout;
import org.openspcoop2.pdd.core.controllo_traffico.SoglieDimensioneMessaggi;
import org.openspcoop2.pdd.core.controllo_traffico.policy.config.PolicyConfiguration;
import org.openspcoop2.pdd.core.dynamic.DynamicUtils;
import org.openspcoop2.pdd.core.dynamic.ErrorHandler;
import org.openspcoop2.pdd.core.dynamic.InformazioniIntegrazione;
import org.openspcoop2.pdd.core.dynamic.InformazioniIntegrazioneCodifica;
import org.openspcoop2.pdd.core.dynamic.InformazioniIntegrazioneSorgente;
import org.openspcoop2.pdd.core.dynamic.MessageContent;
import org.openspcoop2.pdd.core.dynamic.Template;
import org.openspcoop2.pdd.core.integrazione.HeaderIntegrazione;
import org.openspcoop2.pdd.core.token.PolicyGestioneToken;
import org.openspcoop2.pdd.core.token.PolicyNegoziazioneToken;
import org.openspcoop2.pdd.core.token.attribute_authority.PolicyAttributeAuthority;
import org.openspcoop2.pdd.services.connector.FormUrlEncodedHttpServletRequest;
import org.openspcoop2.protocol.engine.mapping.IdentificazioneDinamicaException;
import org.openspcoop2.protocol.registry.CertificateCheck;
import org.openspcoop2.protocol.registry.RegistroServiziManager;
import org.openspcoop2.protocol.registry.RegistroServiziReader;
import org.openspcoop2.protocol.sdk.Busta;
import org.openspcoop2.protocol.sdk.Context;
import org.openspcoop2.protocol.sdk.IProtocolFactory;
import org.openspcoop2.protocol.sdk.builder.ProprietaErroreApplicativo;
import org.openspcoop2.protocol.sdk.constants.ProfiloDiCollaborazione;
import org.openspcoop2.protocol.sdk.state.IState;
import org.openspcoop2.protocol.sdk.state.RequestInfo;
import org.openspcoop2.protocol.sdk.state.StateMessage;
import org.openspcoop2.protocol.sdk.state.URLProtocolContext;
import org.openspcoop2.utils.NameValue;
import org.openspcoop2.utils.certificate.CertificateInfo;
import org.openspcoop2.utils.crypt.CryptConfig;
import org.openspcoop2.utils.transport.TransportResponseContext;
import org.openspcoop2.utils.transport.http.HttpServletTransportRequestContext;
import org.slf4j.Logger;
/**
* ConfigurazionePdDManager
*
* @author Poli Andrea (apoli@link.it)
* @author $Author$
* @version $Rev$, $Date$
*/
public class ConfigurazionePdDManager {
private static ConfigurazionePdDManager staticInstanceWithoutState = null;
private static synchronized void initStaticInstanceWithoutState(){
if(staticInstanceWithoutState == null) {
staticInstanceWithoutState = new ConfigurazionePdDManager();
staticInstanceWithoutState.singleInstance = true;
}
}
public static ConfigurazionePdDManager getInstance(){
if(staticInstanceWithoutState == null) {
if(ConfigurazionePdDReader.getInstance()==null || RegistroServiziReader.getInstance()==null) {
return new ConfigurazionePdDManager(); // succede all'avvio
}
initStaticInstanceWithoutState();
}
return staticInstanceWithoutState;
}
public static ConfigurazionePdDManager getInstance(IState state){
if(state instanceof StateMessage) {
return getInstance((StateMessage)state);
}
return getInstance();
}
public static ConfigurazionePdDManager getInstance(StateMessage state){
if(state!=null) {
return new ConfigurazionePdDManager(state);
}
return getInstance();
}
public static ConfigurazionePdDManager getInstance(IState requestStateParam, IState responseStateParam){
StateMessage requestState = null;
StateMessage responseState = null;
if(requestStateParam instanceof StateMessage) {
requestState = (StateMessage) requestStateParam;
}
if(responseStateParam instanceof StateMessage) {
responseState = (StateMessage) responseStateParam;
}
if(requestState!=null || responseState!=null) {
return new ConfigurazionePdDManager(requestState,responseState);
}
return getInstance();
}
public static ConfigurazionePdDManager getInstance(StateMessage requestState, StateMessage responseState){
if(requestState!=null || responseState!=null) {
return new ConfigurazionePdDManager(requestState,responseState);
}
return getInstance();
}
private boolean singleInstance = false;
private OpenSPCoop2Properties op2Properties = null;
private ConfigurazionePdDReader configurazionePdDReader = null;
private RegistroServiziManager registroServiziManager = null;
private StateMessage state = null;
private StateMessage responseState = null;
public RegistroServiziManager getRegistroServiziManager() {
return this.registroServiziManager;
}
public StateMessage getState() {
return this.state;
}
public StateMessage getResponseState() {
return this.responseState;
}
public boolean isInitializedConfigurazionePdDReader(){
return this.configurazionePdDReader!=null;
}
public ConfigurazionePdDManager(){
this.configurazionePdDReader = ConfigurazionePdDReader.getInstance();
this.registroServiziManager = RegistroServiziManager.getInstance();
this.op2Properties = OpenSPCoop2Properties.getInstance();
}
public ConfigurazionePdDManager(StateMessage state){
this.configurazionePdDReader = ConfigurazionePdDReader.getInstance();
this.state = state;
this.registroServiziManager = RegistroServiziManager.getInstance(this.state);
this.op2Properties = OpenSPCoop2Properties.getInstance();
}
public ConfigurazionePdDManager(StateMessage requestState, StateMessage responseState){
this.configurazionePdDReader = ConfigurazionePdDReader.getInstance();
this.state = requestState;
this.responseState = responseState;
this.registroServiziManager = RegistroServiziManager.getInstance(this.state, this.responseState);
this.op2Properties = OpenSPCoop2Properties.getInstance();
}
public ConfigurazionePdDManager refreshState(IState requestStateParam, IState responseStateParam) {
StateMessage reqState = null;
StateMessage resState = null;
if(requestStateParam instanceof StateMessage) {
reqState = (StateMessage) requestStateParam;
}
if(responseStateParam instanceof StateMessage) {
resState = (StateMessage) responseStateParam;
}
return refreshState(reqState, resState);
}
public ConfigurazionePdDManager refreshState(StateMessage requestState, StateMessage responseState) {
return refreshStateEngine(requestState, responseState, null);
}
private ConfigurazionePdDManager refreshStateEngine(StateMessage requestState, StateMessage responseState, RegistroServiziManager registroServiziManagerParam) {
if(requestState==null && responseState==null) {
return getInstance(); // senza stato
}
if(this.singleInstance) {
return ConfigurazionePdDManager.getInstance(requestState, responseState); // inizialmente era senza stato, ora serve
}
this.state = requestState;
this.responseState = responseState;
if(registroServiziManagerParam!=null) {
this.registroServiziManager = registroServiziManagerParam;
}
else {
this.registroServiziManager = this.registroServiziManager.refreshState(this.state, this.responseState);
}
return this;
}
public ConfigurazionePdDManager refreshState(RegistroServiziManager registroServiziManager) {
return this.refreshStateEngine(registroServiziManager.getState(), registroServiziManager.getResponseState(), registroServiziManager);
}
private Connection getConnection() {
if(this.state!=null) {
Connection c = StateMessage.getConnection(this.state);
if(c!=null) {
return c;
}
}
if(this.responseState!=null) {
Connection c = StateMessage.getConnection(this.responseState);
if(c!=null) {
return c;
}
}
return null;
}
/* ******** U T I L S ******** */
public void isAlive() throws CoreException{
this.configurazionePdDReader.isAlive();
}
public void validazioneSemantica(String[] tipiConnettori,String[] tipiMsgDiagnosticoAppender,String[] tipiTracciamentoAppender,String[] tipiDumpAppender,
String[]tipoAutenticazionePortaDelegata,String[]tipoAutenticazionePortaApplicativa,
String[]tipoAutorizzazionePortaDelegata,String[]tipoAutorizzazionePortaApplicativa,
String[]tipoAutorizzazioneContenutoPortaDelegata,String[]tipoAutorizzazioneContenutoPortaApplicativa,
String [] tipiIntegrazionePD, String [] tipiIntegrazionePA,
boolean validazioneSemanticaAbilitataXML,boolean validazioneSemanticaAbilitataAltreConfigurazioni,boolean validaConfigurazione,
Logger logConsole) throws CoreException{
this.configurazionePdDReader.validazioneSemantica(tipiConnettori, tipiMsgDiagnosticoAppender, tipiTracciamentoAppender, tipiDumpAppender,
tipoAutenticazionePortaDelegata, tipoAutenticazionePortaApplicativa,
tipoAutorizzazionePortaDelegata, tipoAutorizzazionePortaApplicativa,
tipoAutorizzazioneContenutoPortaDelegata, tipoAutorizzazioneContenutoPortaApplicativa,
tipiIntegrazionePD, tipiIntegrazionePA, validazioneSemanticaAbilitataXML,
validazioneSemanticaAbilitataAltreConfigurazioni, validaConfigurazione, logConsole);
}
public void setValidazioneSemanticaModificaConfigurazionePdDXML(String[] tipiConnettori,
String[]tipoMsgDiagnosticiAppender,String[]tipoTracciamentoAppender,String[] tipiDumpAppender,
String[]tipoAutenticazionePortaDelegata,String[]tipoAutenticazionePortaApplicativa,
String[]tipoAutorizzazionePortaDelegata,String[]tipoAutorizzazionePortaApplicativa,
String[]tipoAutorizzazioneContenutoPortaDelegata,String[]tipoAutorizzazioneContenutoPortaApplicativa,
String[]tipoIntegrazionePD,String[]tipoIntegrazionePA) throws CoreException{
this.configurazionePdDReader.setValidazioneSemanticaModificaConfigurazionePdDXML(tipiConnettori, tipoMsgDiagnosticiAppender, tipoTracciamentoAppender, tipiDumpAppender,
tipoAutenticazionePortaDelegata, tipoAutenticazionePortaApplicativa,
tipoAutorizzazionePortaDelegata, tipoAutorizzazionePortaApplicativa,
tipoAutorizzazioneContenutoPortaDelegata, tipoAutorizzazioneContenutoPortaApplicativa,
tipoIntegrazionePD, tipoIntegrazionePA);
}
public void verificaConsistenzaConfigurazione() throws DriverConfigurazioneException {
this.configurazionePdDReader.verificaConsistenzaConfigurazione();
}
private void resolveDynamicValue(String oggetto, MessageSecurityConfig config, Logger log, OpenSPCoop2Message message, Busta busta,
RequestInfo requestInfo, PdDContext pddContext, MessageSecurityConfig requestConfig) {
if (config != null && config.getFlowParameters() != null && !config.getFlowParameters().isEmpty()) {
ArrayList<String> valuesForReplace = new ArrayList<>();
for (String key : config.getFlowParameters().keySet()) {
Object oValue = config.getFlowParameters().get(key);
if (oValue instanceof String) {
String value = (String)oValue;
if (value.contains("$") || value.contains("?")) {
valuesForReplace.add(key);
}
}
}
if (!valuesForReplace.isEmpty()) {
Map<String, Object> dynamicMap = buildDynamicMap(log, oggetto, config,
message, busta,
requestInfo, pddContext, requestConfig);
if(dynamicMap!=null) {
resolveValues(log, oggetto, config, dynamicMap, pddContext,
valuesForReplace);
}
}
}
}
private Map<String, Object> buildDynamicMap(Logger log, String oggetto, MessageSecurityConfig config,
OpenSPCoop2Message message, Busta busta,
RequestInfo requestInfo, PdDContext pddContext, MessageSecurityConfig requestConfig) {
Map<String, Object> dynamicMap = null;
try {
MessageContent messageContent = null;
boolean bufferMessageReadOnly = OpenSPCoop2Properties.getInstance().isReadByPathBufferEnabled();
if (ServiceBinding.SOAP.equals(message.getServiceBinding())) {
messageContent = new MessageContent(message.castAsSoap(), bufferMessageReadOnly, pddContext);
} else if (MessageType.XML.equals(message.getMessageType())) {
messageContent = new MessageContent(message.castAsRestXml(), bufferMessageReadOnly, pddContext);
} else if (MessageType.JSON.equals(message.getMessageType())) {
messageContent = new MessageContent(message.castAsRestJson(), bufferMessageReadOnly, pddContext);
}
dynamicMap = getDynamicMap(messageContent,
log, config,
message, busta,
requestInfo, pddContext, requestConfig);
} catch (Exception e) {
log.error(oggetto + " errore durante l'analisi delle proprietà dinamiche (build dynamicMap): " + e.getMessage(), e);
}
return dynamicMap;
}
private Map<String, Object> getDynamicMap(MessageContent messageContent,
Logger log, MessageSecurityConfig config,
OpenSPCoop2Message message, Busta busta,
RequestInfo requestInfo, PdDContext pddContext, MessageSecurityConfig requestConfig){
Map<String, Object> dynamicMap = new HashMap<>();
ErrorHandler errorHandler = new ErrorHandler();
if(requestConfig!=null) {
Map<String, List<String>> parametriTrasportoRisposta = null;
if(message.getTransportResponseContext()!=null) {
if(message.getTransportResponseContext().getHeaders()!=null &&
!message.getTransportResponseContext().getHeaders().isEmpty()) {
parametriTrasportoRisposta = message.getTransportResponseContext().getHeaders();
}
}
else {
parametriTrasportoRisposta = new HashMap<>();
}
DynamicUtils.fillDynamicMapResponse(log, dynamicMap, requestConfig.getDynamicMap(), pddContext,
message,
messageContent,
busta,
parametriTrasportoRisposta,
errorHandler);
}
else {
Map<String, List<String>> pTrasporto = null;
String urlInvocazione = null;
Map<String, List<String>> pQuery = null;
Map<String, List<String>> pForm = null;
if (requestInfo != null && requestInfo.getProtocolContext() != null) {
pTrasporto = requestInfo.getProtocolContext().getHeaders();
urlInvocazione = requestInfo.getProtocolContext().getUrlInvocazione_formBased();
pQuery = requestInfo.getProtocolContext().getParameters();
pForm = getPForm(requestInfo);
}
DynamicUtils.fillDynamicMapRequest(log, dynamicMap, pddContext, urlInvocazione, message, messageContent, busta,
pTrasporto,
pQuery,
pForm,
errorHandler);
}
config.setDynamicMap(dynamicMap);
return dynamicMap;
}
private Map<String, List<String>> getPForm(RequestInfo requestInfo){
Map<String, List<String>> pForm = null;
if(requestInfo.getProtocolContext() instanceof HttpServletTransportRequestContext) {
HttpServletTransportRequestContext httpServletContext = requestInfo.getProtocolContext();
HttpServletRequest httpServletRequest = httpServletContext.getHttpServletRequest();
if(httpServletRequest instanceof FormUrlEncodedHttpServletRequest) {
FormUrlEncodedHttpServletRequest formServlet = (FormUrlEncodedHttpServletRequest) httpServletRequest;
if(formServlet.getFormUrlEncodedParametersValues()!=null &&
!formServlet.getFormUrlEncodedParametersValues().isEmpty()) {
pForm = formServlet.getFormUrlEncodedParametersValues();
}
}
}
return pForm;
}
private void resolveValues(Logger log, String oggetto, MessageSecurityConfig config, Map<String, Object> dynamicMap, PdDContext pddContext,
ArrayList<String> valuesForReplace) {
try {
Iterator<String> it = valuesForReplace.iterator();
while(it.hasNext()) {
String keyForReplace = it.next();
resolveValue(log, oggetto, config, keyForReplace, dynamicMap, pddContext);
}
} catch (Exception e) {
log.error(oggetto + " errore durante l'analisi delle proprietà dinamiche: " + e.getMessage(), e);
}
}
private void resolveValue(Logger log, String oggetto, MessageSecurityConfig config, String keyForReplace, Map<String, Object> dynamicMap, PdDContext pddContext) {
String value = null;
try {
value = (String)config.getFlowParameters().get(keyForReplace);
String newValue = DynamicUtils.convertDynamicPropertyValue("ConditionalMessageSecurity", value, dynamicMap, pddContext);
if (newValue != null && !"".contentEquals(newValue)) {
config.getFlowParameters().put(keyForReplace, newValue);
}
} catch (Exception e) {
log.error(oggetto + " errore durante la risoluzione della proprietà '" + keyForReplace + "' [" + value + "]: " + e.getMessage(), e);
}
}
/* ******** SOGGETTI (Interfaccia) ******** */
public String getIdentificativoPorta(IDSoggetto idSoggetto,IProtocolFactory<?> protocolFactory, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
boolean useRequestInfo = requestInfo!=null && requestInfo.getRequestConfig()!=null && idSoggetto!=null;
if(useRequestInfo) {
if( requestInfo.getRequestConfig().getSoggettoErogatoreConfig()!=null && requestInfo.getRequestConfig().getSoggettoErogatoreIdentificativoPorta()!=null &&
idSoggetto!=null && idSoggetto.getTipo()!=null && idSoggetto.getNome()!=null &&
idSoggetto.getTipo().equals(requestInfo.getRequestConfig().getSoggettoErogatoreConfig().getTipo()) &&
idSoggetto.getNome().equals(requestInfo.getRequestConfig().getSoggettoErogatoreConfig().getNome()) ) {
return requestInfo.getRequestConfig().getSoggettoErogatoreIdentificativoPorta();
}
else if( requestInfo.getRequestConfig().getSoggettoFruitoreConfig()!=null && requestInfo.getRequestConfig().getSoggettoFruitoreIdentificativoPorta()!=null &&
idSoggetto!=null && idSoggetto.getTipo()!=null && idSoggetto.getNome()!=null &&
idSoggetto.getTipo().equals(requestInfo.getRequestConfig().getSoggettoFruitoreConfig().getTipo()) &&
idSoggetto.getNome().equals(requestInfo.getRequestConfig().getSoggettoFruitoreConfig().getNome()) ) {
return requestInfo.getRequestConfig().getSoggettoFruitoreIdentificativoPorta();
}
}
if(
(requestInfo!=null && requestInfo.getRequestThreadContext()!=null && requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo()!=null)
&&
(requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getSoggettoFruitoreConfig()!=null &&
requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getSoggettoFruitoreIdentificativoPorta()!=null &&
idSoggetto!=null && idSoggetto.getTipo()!=null && idSoggetto.getNome()!=null &&
idSoggetto.getTipo().equals(requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getSoggettoFruitoreConfig().getTipo()) &&
idSoggetto.getNome().equals(requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getSoggettoFruitoreConfig().getNome()))
){
return requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getSoggettoFruitoreIdentificativoPorta();
}
if(
(requestInfo!=null && requestInfo.getRequestThreadContext()!=null && requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo()!=null)
&&
(requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo().getSoggettoFruitoreConfig()!=null &&
requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo().getSoggettoFruitoreIdentificativoPorta()!=null &&
idSoggetto!=null && idSoggetto.getTipo()!=null && idSoggetto.getNome()!=null &&
idSoggetto.getTipo().equals(requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo().getSoggettoFruitoreConfig().getTipo()) &&
idSoggetto.getNome().equals(requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo().getSoggettoFruitoreConfig().getNome()))
){
return requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo().getSoggettoFruitoreIdentificativoPorta();
}
return this.configurazionePdDReader.getIdentificativoPorta(this.getConnection(), idSoggetto, protocolFactory, requestInfo);
// il set viene effettuato nei service utils per comprendere se si tratta di fruitore o erogatore
}
public boolean isSoggettoVirtuale(IDSoggetto idSoggetto, RequestInfo requestInfo) throws DriverConfigurazioneException {
if(!this.op2Properties.isSoggettiVirtualiEnabled()) {
return false;
}
boolean useRequestInfo = requestInfo!=null && requestInfo.getRequestConfig()!=null && idSoggetto!=null;
if(useRequestInfo) {
if( requestInfo.getRequestConfig().getSoggettoErogatoreConfig()!=null && requestInfo.getRequestConfig().getSoggettoErogatoreSoggettoVirtuale()!=null &&
idSoggetto.getTipo().equals(requestInfo.getRequestConfig().getSoggettoErogatoreConfig().getTipo()) &&
idSoggetto.getNome().equals(requestInfo.getRequestConfig().getSoggettoErogatoreConfig().getNome()) ) {
return requestInfo.getRequestConfig().getSoggettoErogatoreSoggettoVirtuale();
}
else if( requestInfo.getRequestConfig().getSoggettoFruitoreConfig()!=null && requestInfo.getRequestConfig().getSoggettoFruitoreSoggettoVirtuale()!=null &&
idSoggetto.getTipo().equals(requestInfo.getRequestConfig().getSoggettoFruitoreConfig().getTipo()) &&
idSoggetto.getNome().equals(requestInfo.getRequestConfig().getSoggettoFruitoreConfig().getNome()) ) {
return requestInfo.getRequestConfig().getSoggettoFruitoreSoggettoVirtuale();
}
}
if(
(requestInfo!=null && requestInfo.getRequestThreadContext()!=null && requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo()!=null)
&&
(requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getSoggettoFruitoreConfig()!=null &&
requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getSoggettoFruitoreSoggettoVirtuale()!=null &&
idSoggetto.getTipo().equals(requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getSoggettoFruitoreConfig().getTipo()) &&
idSoggetto.getNome().equals(requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getSoggettoFruitoreConfig().getNome()))
){
return requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getSoggettoFruitoreSoggettoVirtuale();
}
if(
(requestInfo!=null && requestInfo.getRequestThreadContext()!=null && requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo()!=null)
&&
(requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo().getSoggettoFruitoreConfig()!=null &&
requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo().getSoggettoFruitoreSoggettoVirtuale()!=null &&
idSoggetto.getTipo().equals(requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo().getSoggettoFruitoreConfig().getTipo()) &&
idSoggetto.getNome().equals(requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo().getSoggettoFruitoreConfig().getNome()))
){
return requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo().getSoggettoFruitoreSoggettoVirtuale();
}
return this.configurazionePdDReader.isSoggettoVirtuale(this.getConnection(), idSoggetto);
// il set viene effettuato nei service utils per comprendere se si tratta di fruitore o erogatore
}
public org.openspcoop2.core.config.Soggetto getSoggetto(IDSoggetto idSoggetto, RequestInfo requestInfo)throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
boolean useRequestInfo = requestInfo!=null && requestInfo.getRequestConfig()!=null && idSoggetto!=null;
if(useRequestInfo) {
if( requestInfo.getRequestConfig().getSoggettoErogatoreConfig()!=null &&
idSoggetto.getTipo().equals(requestInfo.getRequestConfig().getSoggettoErogatoreConfig().getTipo()) &&
idSoggetto.getNome().equals(requestInfo.getRequestConfig().getSoggettoErogatoreConfig().getNome()) ) {
return requestInfo.getRequestConfig().getSoggettoErogatoreConfig();
}
else if( requestInfo.getRequestConfig().getSoggettoFruitoreConfig()!=null &&
idSoggetto.getTipo().equals(requestInfo.getRequestConfig().getSoggettoFruitoreConfig().getTipo()) &&
idSoggetto.getNome().equals(requestInfo.getRequestConfig().getSoggettoFruitoreConfig().getNome()) ) {
return requestInfo.getRequestConfig().getSoggettoFruitoreConfig();
}
}
if(
(requestInfo!=null && requestInfo.getRequestThreadContext()!=null && requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo()!=null)
&&
(requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getSoggettoFruitoreConfig()!=null && idSoggetto!=null &&
idSoggetto.getTipo().equals(requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getSoggettoFruitoreConfig().getTipo()) &&
idSoggetto.getNome().equals(requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getSoggettoFruitoreConfig().getNome()))
){
return requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getSoggettoFruitoreConfig();
}
if(
(requestInfo!=null && requestInfo.getRequestThreadContext()!=null && requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo()!=null)
&&
(requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo().getSoggettoFruitoreConfig()!=null && idSoggetto!=null &&
idSoggetto.getTipo().equals(requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo().getSoggettoFruitoreConfig().getTipo()) &&
idSoggetto.getNome().equals(requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo().getSoggettoFruitoreConfig().getNome()))
){
return requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo().getSoggettoFruitoreConfig();
}
return this.configurazionePdDReader.getSoggetto(this.getConnection(), idSoggetto);
// il set viene effettuato nei service utils per comprendere se si tratta di fruitore o erogatore
}
public boolean existsSoggetto(IDSoggetto idSoggetto, RequestInfo requestInfo)throws DriverConfigurazioneException{
boolean useRequestInfo = requestInfo!=null && requestInfo.getRequestConfig()!=null && idSoggetto!=null;
if(useRequestInfo &&
(
(
requestInfo.getRequestConfig().getSoggettoErogatoreConfig()!=null &&
idSoggetto.getTipo().equals(requestInfo.getRequestConfig().getSoggettoErogatoreConfig().getTipo()) &&
idSoggetto.getNome().equals(requestInfo.getRequestConfig().getSoggettoErogatoreConfig().getNome())
)
||
(
requestInfo.getRequestConfig().getSoggettoFruitoreConfig()!=null &&
idSoggetto.getTipo().equals(requestInfo.getRequestConfig().getSoggettoFruitoreConfig().getTipo()) &&
idSoggetto.getNome().equals(requestInfo.getRequestConfig().getSoggettoFruitoreConfig().getNome())
)
)
){
return true;
}
if(
(requestInfo!=null && requestInfo.getRequestThreadContext()!=null && requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo()!=null)
&&
(requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getSoggettoFruitoreConfig()!=null && idSoggetto!=null &&
idSoggetto.getTipo().equals(requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getSoggettoFruitoreConfig().getTipo()) &&
idSoggetto.getNome().equals(requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getSoggettoFruitoreConfig().getNome()))
){
return true;
}
if(
(requestInfo!=null && requestInfo.getRequestThreadContext()!=null && requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo()!=null)
&&
(requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo().getSoggettoFruitoreConfig()!=null && idSoggetto!=null &&
idSoggetto.getTipo().equals(requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo().getSoggettoFruitoreConfig().getTipo()) &&
idSoggetto.getNome().equals(requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo().getSoggettoFruitoreConfig().getNome()))
){
return true;
}
return this.configurazionePdDReader.existsSoggetto(this.getConnection(), idSoggetto);
// il set viene effettuato nei service utils per comprendere se si tratta di fruitore o erogatore
}
public List<IDServizio> getServiziSoggettiVirtuali() throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
List<IDServizio> l = null;
if(!this.op2Properties.isSoggettiVirtualiEnabled()) {
return l;
}
return this.configurazionePdDReader.getServiziSoggettiVirtuali(this.getConnection());
}
/* ************* ROUTING **************** */
public Connettore getForwardRoute(IDSoggetto idSoggettoDestinatario,boolean functionAsRouter, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getForwardRoute(this.getConnection(), this.registroServiziManager, idSoggettoDestinatario, functionAsRouter, requestInfo);
}
public Connettore getForwardRoute(IDSoggetto idSoggettoMittente, IDServizio idServizio,boolean functionAsRouter, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getForwardRoute(this.getConnection(), this.registroServiziManager, idSoggettoMittente, idServizio, functionAsRouter, requestInfo);
}
public String getRegistroForImbustamento(IDSoggetto idSoggettoMittente, IDServizio idServizio,boolean functionAsRouter, RequestInfo requestInfo)throws DriverConfigurazioneException{
return this.configurazionePdDReader.getRegistroForImbustamento(this.getConnection(), this.registroServiziManager, idSoggettoMittente, idServizio, functionAsRouter, requestInfo);
}
public boolean routerFunctionActive() throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.routerFunctionActive(this.getConnection());
}
public IDSoggetto getRouterIdentity(IProtocolFactory<?> protocolFactory, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getRouterIdentity(this.getConnection(),protocolFactory, requestInfo);
}
/* ******** URLPrefixRewriter ******** */
public void setPDUrlPrefixRewriter(org.openspcoop2.core.config.Connettore connettore, IDSoggetto idSoggettoFruitore, RequestInfo requestInfo) throws DriverConfigurazioneNotFound,DriverConfigurazioneException{
this.configurazionePdDReader.setPDUrlPrefixRewriter(this.getConnection(), connettore, idSoggettoFruitore, requestInfo);
}
public void setPAUrlPrefixRewriter(org.openspcoop2.core.config.Connettore connettore, IDSoggetto idSoggettoErogatore, RequestInfo requestInfo) throws DriverConfigurazioneNotFound,DriverConfigurazioneException{
this.configurazionePdDReader.setPAUrlPrefixRewriter(this.getConnection(), connettore, idSoggettoErogatore, requestInfo);
}
/* ******** PORTE DELEGATE (Interfaccia) ******** */
public IDPortaDelegata convertToIDPortaDelegata(PortaDelegata pd) throws DriverRegistroServiziException{
IDPortaDelegata idPD = new IDPortaDelegata();
idPD.setNome(pd.getNome());
IdentificativiFruizione idFruizione = new IdentificativiFruizione();
IDSoggetto soggettoFruitore = new IDSoggetto(pd.getTipoSoggettoProprietario(), pd.getNomeSoggettoProprietario());
idFruizione.setSoggettoFruitore(soggettoFruitore);
IDServizio idServizio = IDServizioFactory.getInstance().getIDServizioFromValues(pd.getServizio().getTipo(),pd.getServizio().getNome(),
new IDSoggetto(pd.getSoggettoErogatore().getTipo(),pd.getSoggettoErogatore().getNome()),
pd.getServizio().getVersione());
if(pd.getAzione()!=null && pd.getAzione().getNome()!=null && !"".equals(pd.getAzione().getNome())){
idServizio.setAzione(pd.getAzione().getNome());
}
idFruizione.setIdServizio(idServizio);
idPD.setIdentificativiFruizione(idFruizione);
return idPD;
}
public IDPortaDelegata getIDPortaDelegata(String nome, RequestInfo requestInfo, IProtocolFactory<?> protocolFactory) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
IDPortaDelegata idPortaDelegata = null;
if(requestInfo!=null && requestInfo.getRequestConfig()!=null && nome!=null) {
if( requestInfo.getRequestConfig().getIdPortaDelegata()!=null && nome.equals(requestInfo.getRequestConfig().getIdPortaDelegata().getNome())) {
idPortaDelegata = requestInfo.getRequestConfig().getIdPortaDelegata();
}
else if( requestInfo.getRequestConfig().getIdPortaDelegataDefault()!=null && nome.equals(requestInfo.getRequestConfig().getIdPortaDelegataDefault().getNome())) {
idPortaDelegata = requestInfo.getRequestConfig().getIdPortaDelegataDefault();
}
}
if(idPortaDelegata==null) {
idPortaDelegata = this.configurazionePdDReader.getIDPortaDelegata(this.getConnection(), nome);
}
setCodicePorta(idPortaDelegata, requestInfo, protocolFactory);
return idPortaDelegata;
}
private void setCodicePorta(IDPortaDelegata idPortaDelegata, RequestInfo requestInfo, IProtocolFactory<?> protocolFactory) throws DriverConfigurazioneException {
try{
if(idPortaDelegata!=null && idPortaDelegata.getIdentificativiFruizione()!=null){
if(idPortaDelegata.getIdentificativiFruizione().getSoggettoFruitore()!=null){
IDSoggetto soggetto = idPortaDelegata.getIdentificativiFruizione().getSoggettoFruitore();
if(soggetto.getCodicePorta()==null){
soggetto.setCodicePorta(this.registroServiziManager.getDominio(soggetto, null, protocolFactory, requestInfo));
}
}
if(idPortaDelegata.getIdentificativiFruizione().getIdServizio()!=null &&
idPortaDelegata.getIdentificativiFruizione().getIdServizio().getSoggettoErogatore()!=null){
IDSoggetto soggetto = idPortaDelegata.getIdentificativiFruizione().getIdServizio().getSoggettoErogatore();
if(soggetto.getCodicePorta()==null){
soggetto.setCodicePorta(this.registroServiziManager.getDominio(soggetto, null, protocolFactory, requestInfo));
}
}
}
}catch(Exception e){
throw new DriverConfigurazioneException(e.getMessage(),e);
}
}
public PortaDelegata getPortaDelegata(IDPortaDelegata idPD, RequestInfo requestInfo) throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
if(requestInfo!=null && requestInfo.getRequestConfig()!=null && idPD!=null && idPD.getNome()!=null) {
if( requestInfo.getRequestConfig().getPortaDelegata()!=null && idPD.getNome().equals(requestInfo.getRequestConfig().getPortaDelegata().getNome())) {
return requestInfo.getRequestConfig().getPortaDelegata();
}
else if( requestInfo.getRequestConfig().getPortaDelegataDefault()!=null && idPD.getNome().equals(requestInfo.getRequestConfig().getPortaDelegataDefault().getNome())) {
return requestInfo.getRequestConfig().getPortaDelegataDefault();
}
}
return this.configurazionePdDReader.getPortaDelegata(this.getConnection(), idPD);
}
public PortaDelegata getPortaDelegataSafeMethod(IDPortaDelegata idPD, RequestInfo requestInfo)throws DriverConfigurazioneException{
if(requestInfo!=null && requestInfo.getRequestConfig()!=null && idPD!=null && idPD.getNome()!=null) {
if( requestInfo.getRequestConfig().getPortaDelegata()!=null && idPD.getNome().equals(requestInfo.getRequestConfig().getPortaDelegata().getNome())) {
return requestInfo.getRequestConfig().getPortaDelegata();
}
else if( requestInfo.getRequestConfig().getPortaDelegataDefault()!=null && idPD.getNome().equals(requestInfo.getRequestConfig().getPortaDelegataDefault().getNome())) {
return requestInfo.getRequestConfig().getPortaDelegataDefault();
}
}
return this.configurazionePdDReader.getPortaDelegataSafeMethod(this.getConnection(), idPD);
}
public void updateStatoPortaDelegata(IDPortaDelegata idPD, StatoFunzionalita stato) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
this.configurazionePdDReader.updateStatoPortaDelegata(this.getConnection(), idPD, stato);
}
public Map<String, String> getProprietaConfigurazione(PortaDelegata pd) throws DriverConfigurazioneException {
return this.configurazionePdDReader.getProprietaConfigurazione(pd);
}
public boolean identificazioneContentBased(PortaDelegata pd) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.identificazioneContentBased(pd);
}
public boolean identificazioneInputBased(PortaDelegata pd) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.identificazioneInputBased(pd);
}
public String getAzione(PortaDelegata pd,URLProtocolContext urlProtocolContext,RequestInfo requestInfo,
OpenSPCoop2Message message, OpenSPCoop2MessageSoapStreamReader soapStreamReader, HeaderIntegrazione headerIntegrazione,boolean readFirstHeaderIntegrazione,
IProtocolFactory<?> protocolFactory) throws DriverConfigurazioneException, IdentificazioneDinamicaException {
return this.configurazionePdDReader.getAzione(this.registroServiziManager, pd, urlProtocolContext, requestInfo,
message, soapStreamReader, headerIntegrazione, readFirstHeaderIntegrazione, protocolFactory);
}
public MTOMProcessorConfig getMTOMProcessorForSender(PortaDelegata pd) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getMTOMProcessorForSender(pd);
}
public MTOMProcessorConfig getMTOMProcessorForReceiver(PortaDelegata pd) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getMTOMProcessorForReceiver(pd);
}
public MessageSecurityConfig getMessageSecurityForSender(PortaDelegata pd) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getMessageSecurityForSender(pd);
}
public MessageSecurityConfig getMessageSecurityForSender(PortaDelegata pd, Logger log, OpenSPCoop2Message message, Busta busta, RequestInfo requestInfo, PdDContext pddContext) throws DriverConfigurazioneException {
MessageSecurityConfig config = this.configurazionePdDReader.getMessageSecurityForSender(pd);
this.resolveDynamicValue("getMessageSecurityForSender[" + pd.getNome() + "]", config, log, message, busta, requestInfo, pddContext,
null);
return config;
}
public MessageSecurityConfig getMessageSecurityForReceiver(PortaDelegata pd) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getMessageSecurityForReceiver(pd);
}
public MessageSecurityConfig getMessageSecurityForReceiver(PortaDelegata pd, Logger log, OpenSPCoop2Message message, Busta busta, RequestInfo requestInfo, PdDContext pddContext,
MessageSecurityConfig requestConfig) throws DriverConfigurazioneException{
MessageSecurityConfig config = this.configurazionePdDReader.getMessageSecurityForReceiver(pd);
this.resolveDynamicValue("getMessageSecurityForReceiver[" + pd.getNome() + "]", config, log, message, busta, requestInfo, pddContext,
requestConfig);
return config;
}
public String getAutenticazione(PortaDelegata pd) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getAutenticazione(pd);
}
public boolean isAutenticazioneOpzionale(PortaDelegata pd) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.isAutenticazioneOpzionale(pd);
}
public String getGestioneToken(PortaDelegata pd) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getGestioneToken(pd);
}
public PolicyGestioneToken getPolicyGestioneToken(PortaDelegata pd, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
String nome = null;
if(pd!=null && pd.getGestioneToken()!=null && pd.getGestioneToken().getPolicy()!=null) {
nome = pd.getGestioneToken().getPolicy();
}
boolean useRequestInfo = requestInfo!=null && requestInfo.getRequestConfig()!=null && nome!=null;
if(useRequestInfo) {
Object o = requestInfo.getRequestConfig().getPolicyValidazioneToken(nome);
if(o instanceof PolicyGestioneToken) {
return (PolicyGestioneToken) o;
}
}
PolicyGestioneToken policy = this.configurazionePdDReader.getPolicyGestioneToken(this.getConnection(), pd);
if(useRequestInfo) {
requestInfo.getRequestConfig().addPolicyValidazioneToken(nome, policy,
requestInfo.getIdTransazione());
}
return policy;
}
public String getAutorizzazione(PortaDelegata pd) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getAutorizzazione(pd);
}
public String getAutorizzazioneContenuto(PortaDelegata pd) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getAutorizzazioneContenuto(pd);
}
public CorsConfigurazione getConfigurazioneCORS(PortaDelegata pd) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getConfigurazioneCORS(this.getConnection(), pd);
}
public ResponseCachingConfigurazione getConfigurazioneResponseCaching(PortaDelegata pd) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getConfigurazioneResponseCaching(this.getConnection(), pd);
}
public boolean ricevutaAsincronaSimmetricaAbilitata(PortaDelegata pd) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.ricevutaAsincronaSimmetricaAbilitata(pd);
}
public boolean ricevutaAsincronaAsimmetricaAbilitata(PortaDelegata pd) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.ricevutaAsincronaAsimmetricaAbilitata(pd);
}
public ValidazioneContenutiApplicativi getTipoValidazioneContenutoApplicativo(PortaDelegata pd,String implementazionePdDSoggetto, boolean request) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getTipoValidazioneContenutoApplicativo(this.getConnection(), pd, implementazionePdDSoggetto, request);
}
public CorrelazioneApplicativa getCorrelazioneApplicativa(PortaDelegata pd) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getCorrelazioneApplicativa(pd);
}
public CorrelazioneApplicativaRisposta getCorrelazioneApplicativaRisposta(PortaDelegata pd) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getCorrelazioneApplicativaRisposta(pd);
}
public String[] getTipiIntegrazione(PortaDelegata pd) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getTipiIntegrazione(pd);
}
public boolean isGestioneManifestAttachments(PortaDelegata pd, IProtocolFactory<?> protocolFactory) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.isGestioneManifestAttachments(this.getConnection(), pd, protocolFactory);
}
public boolean isAllegaBody(PortaDelegata pd) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.isAllegaBody(pd);
}
public boolean isScartaBody(PortaDelegata pd) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.isScartaBody(pd);
}
public boolean isModalitaStateless(PortaDelegata pd, ProfiloDiCollaborazione profiloCollaborazione) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.isModalitaStateless(pd, profiloCollaborazione);
}
public boolean isLocalForwardMode(PortaDelegata pd) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.isLocalForwardMode(pd);
}
public String getLocalForwardNomePortaApplicativa(PortaDelegata pd) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getLocalForwardNomePortaApplicativa(pd);
}
public boolean isPortaAbilitata(PortaDelegata pd) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.isPortaAbilitata(pd);
}
public DumpConfigurazione getDumpConfigurazione(PortaDelegata pd) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getDumpConfigurazione(this.getConnection(), pd);
}
public boolean isTransazioniFileTraceEnabled(PortaDelegata pd) throws DriverConfigurazioneException{
return this.configurazionePdDReader.isTransazioniFileTraceEnabled(this.getConnection(), pd);
}
public boolean isTransazioniFileTraceDumpBinarioHeadersEnabled(PortaDelegata pd) throws DriverConfigurazioneException{
return this.configurazionePdDReader.isTransazioniFileTraceDumpBinarioHeadersEnabled(this.getConnection(), pd);
}
public boolean isTransazioniFileTraceDumpBinarioPayloadEnabled(PortaDelegata pd) throws DriverConfigurazioneException{
return this.configurazionePdDReader.isTransazioniFileTraceDumpBinarioPayloadEnabled(this.getConnection(), pd);
}
public boolean isTransazioniFileTraceDumpBinarioConnettoreHeadersEnabled(PortaDelegata pd) throws DriverConfigurazioneException{
return this.configurazionePdDReader.isTransazioniFileTraceDumpBinarioConnettoreHeadersEnabled(this.getConnection(), pd);
}
public boolean isTransazioniFileTraceDumpBinarioConnettorePayloadEnabled(PortaDelegata pd) throws DriverConfigurazioneException{
return this.configurazionePdDReader.isTransazioniFileTraceDumpBinarioConnettorePayloadEnabled(this.getConnection(), pd);
}
public File getFileTraceConfig(PortaDelegata pd) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getFileTraceConfig(this.getConnection(), pd);
}
public SoglieDimensioneMessaggi getSoglieLimitedInputStream(PortaDelegata pd, String azione, String idModulo,
PdDContext pddContext, RequestInfo requestInfo,
IProtocolFactory<?> protocolFactory, Logger log) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getSoglieLimitedInputStream(this.getConnection(), pd, azione, idModulo,
pddContext, requestInfo,
protocolFactory, log);
}
public boolean isConnettoriUseTimeoutInputStream(PortaDelegata pd) throws DriverConfigurazioneException{
return this.configurazionePdDReader.isConnettoriUseTimeoutInputStream(this.getConnection(), pd);
}
public SogliaReadTimeout getRequestReadTimeout(PortaDelegata pd,
RequestInfo requestInfo, IProtocolFactory<?> protocolFactory, Context context, IState state) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getRequestReadTimeout(pd,
requestInfo, protocolFactory, context, state);
}
public Trasformazioni getTrasformazioni(PortaDelegata pd) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getTrasformazioni(pd);
}
public List<String> getPreInRequestHandlers(PortaDelegata pd) throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getPreInRequestHandlers(pd);
}
public List<String> getInRequestHandlers(PortaDelegata pd) throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getInRequestHandlers(pd);
}
public List<String> getInRequestProtocolHandlers(PortaDelegata pd) throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getInRequestProtocolHandlers(pd);
}
public List<String> getOutRequestHandlers(PortaDelegata pd) throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getOutRequestHandlers(pd);
}
public List<String> getPostOutRequestHandlers(PortaDelegata pd) throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getPostOutRequestHandlers(pd);
}
public List<String> getPreInResponseHandlers(PortaDelegata pd) throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getPreInResponseHandlers(pd);
}
public List<String> getInResponseHandlers(PortaDelegata pd) throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getInResponseHandlers(pd);
}
public List<String> getOutResponseHandlers(PortaDelegata pd) throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getOutResponseHandlers(pd);
}
public List<String> getPostOutResponseHandlers(PortaDelegata pd) throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getPostOutResponseHandlers(pd);
}
public List<Object> getExtendedInfo(PortaDelegata pd)throws DriverConfigurazioneException{
return this.configurazionePdDReader.getExtendedInfo(pd);
}
public Template getTemplateTrasformazioneRichiesta(IDPortaDelegata idPD, String nomeTrasformazione, TrasformazioneRegolaRichiesta richiesta, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getTemplateTrasformazioneRichiesta(this.getConnection(), idPD, nomeTrasformazione, richiesta, requestInfo);
}
public Template getTemplateTrasformazioneSoapRichiesta(IDPortaDelegata idPD, String nomeTrasformazione, TrasformazioneRegolaRichiesta richiesta, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getTemplateTrasformazioneSoapRichiesta(this.getConnection(), idPD, nomeTrasformazione, richiesta, requestInfo);
}
public Template getTemplateTrasformazioneRisposta(IDPortaDelegata idPD, String nomeTrasformazione, TrasformazioneRegolaRisposta risposta, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getTemplateTrasformazioneRisposta(this.getConnection(), idPD, nomeTrasformazione, risposta, requestInfo);
}
public Template getTemplateTrasformazioneSoapRisposta(IDPortaDelegata idPD, String nomeTrasformazione, TrasformazioneRegolaRisposta risposta, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getTemplateTrasformazioneSoapRisposta(this.getConnection(), idPD, nomeTrasformazione, risposta, requestInfo);
}
public Template getTemplateCorrelazioneApplicativaRichiesta(IDPortaDelegata idPD, String nomeRegola, byte[] template, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getTemplateCorrelazioneApplicativaRichiesta(this.getConnection(), idPD, nomeRegola, template, requestInfo);
}
public Template getTemplateCorrelazioneApplicativaRisposta(IDPortaDelegata idPD, String nomeRegola, byte[] template, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getTemplateCorrelazioneApplicativaRisposta(this.getConnection(), idPD, nomeRegola, template, requestInfo);
}
public Template getTemplateIntegrazione(IDPortaDelegata idPD, File file, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getTemplateIntegrazione(this.getConnection(), idPD, file, requestInfo);
}
public void setInformazioniIntegrazioneDinamiche(Logger log, HttpServletTransportRequestContext transportRequestContext, Context context, PortaDelegata pd) throws DriverConfigurazioneException {
setInformazioniIntegrazioneDinamicheEngine(log, transportRequestContext, context, pd.getProprietaList());
}
private void setInformazioniIntegrazioneDinamicheEngine(Logger log, HttpServletTransportRequestContext transportRequestContext, Context context,
List<Proprieta> proprieta) throws DriverConfigurazioneException {
try {
OpenSPCoop2Properties op2PropertiesInstance = OpenSPCoop2Properties.getInstance();
boolean isEnabled = CostantiProprieta.isInformazioniIntegrazioneEnabled(proprieta, op2PropertiesInstance.isIntegrazioneDynamicInfoEnabled());
if(isEnabled) {
InformazioniIntegrazioneSorgente sourceType = CostantiProprieta.getTipoInformazioniIntegrazione(proprieta, op2PropertiesInstance.getIntegrazioneDynamicInfoType());
String sourceName = CostantiProprieta.getNomeSorgenteInformazioniIntegrazione(proprieta, op2PropertiesInstance.getIntegrazioneDynamicInfoName());
InformazioniIntegrazioneCodifica sourceEncodeType = CostantiProprieta.getTipoCodificaInformazioniIntegrazione(proprieta, op2PropertiesInstance.getIntegrazioneDynamicInfoEncodeType());
boolean required = CostantiProprieta.isInformazioniIntegrazioneRequired(proprieta, op2PropertiesInstance.isIntegrazioneDynamicInfoRequired());
InformazioniIntegrazione infoIntegrazione = new InformazioniIntegrazione(sourceType, sourceName, sourceEncodeType, required, log, transportRequestContext);
context.addObject(Costanti.INFORMAZIONI_INTEGRAZIONE, infoIntegrazione);
}
}catch(Exception t) {
throw new DriverConfigurazioneException(t.getMessage(),t);
}
}
public void setInformazioniIntegrazioneDinamiche(Logger log, TransportResponseContext transportResponseContext, Context context, PortaDelegata pd) throws DriverConfigurazioneException {
setInformazioniIntegrazioneDinamicheEngine(log, transportResponseContext, context, pd.getProprietaList());
}
private void setInformazioniIntegrazioneDinamicheEngine(Logger log, TransportResponseContext transportResponseContext, Context context,
List<Proprieta> proprieta) throws DriverConfigurazioneException {
try {
OpenSPCoop2Properties op2PropertiesInstance = OpenSPCoop2Properties.getInstance();
boolean isEnabled = CostantiProprieta.isInformazioniIntegrazioneRispostaEnabled(proprieta, op2PropertiesInstance.isIntegrazioneResponseDynamicInfoEnabled());
if(isEnabled) {
InformazioniIntegrazioneSorgente sourceType = InformazioniIntegrazioneSorgente.http_header;
String sourceName = CostantiProprieta.getNomeSorgenteInformazioniIntegrazioneRisposta(proprieta, op2PropertiesInstance.getIntegrazioneResponseDynamicInfoName());
InformazioniIntegrazioneCodifica sourceEncodeType = CostantiProprieta.getTipoCodificaInformazioniIntegrazioneRisposta(proprieta, op2PropertiesInstance.getIntegrazioneResponseDynamicInfoEncodeType());
boolean required = CostantiProprieta.isInformazioniIntegrazioneRispostaRequired(proprieta, op2PropertiesInstance.isIntegrazioneResponseDynamicInfoRequired());
InformazioniIntegrazione infoIntegrazione = new InformazioniIntegrazione(sourceType, sourceName, sourceEncodeType, required, log, transportResponseContext);
context.addObject(Costanti.INFORMAZIONI_INTEGRAZIONE_RISPOSTA, infoIntegrazione);
}
}catch(Exception t) {
throw new DriverConfigurazioneException(t.getMessage(),t);
}
}
/* ******** PORTE APPLICATIVE (Interfaccia) ******** */
public IDPortaApplicativa convertToIDPortaApplicativa(PortaApplicativa pa) throws DriverRegistroServiziException{
IDPortaApplicativa idPA = new IDPortaApplicativa();
idPA.setNome(pa.getNome());
IdentificativiErogazione idErogazione = new IdentificativiErogazione();
if(pa.getSoggettoVirtuale()!=null){
IDSoggetto soggettoVirtuale = new IDSoggetto(pa.getSoggettoVirtuale().getTipo(),pa.getSoggettoVirtuale().getNome());
idErogazione.setSoggettoVirtuale(soggettoVirtuale);
}
IDServizio idServizio = IDServizioFactory.getInstance().getIDServizioFromValues(pa.getServizio().getTipo(),pa.getServizio().getNome(),
new IDSoggetto(pa.getTipoSoggettoProprietario(), pa.getNomeSoggettoProprietario()),
pa.getServizio().getVersione());
if(pa.getAzione()!=null && pa.getAzione().getNome()!=null && !"".equals(pa.getAzione().getNome())){
idServizio.setAzione(pa.getAzione().getNome());
}
idErogazione.setIdServizio(idServizio);
idPA.setIdentificativiErogazione(idErogazione);
return idPA;
}
public IDPortaApplicativa getIDPortaApplicativa(String nome, RequestInfo requestInfo, IProtocolFactory<?> protocolFactory) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
IDPortaApplicativa idPortaApplicativa = null;
if(requestInfo!=null && requestInfo.getRequestConfig()!=null && nome!=null) {
if( requestInfo.getRequestConfig().getIdPortaApplicativa()!=null && nome.equals(requestInfo.getRequestConfig().getIdPortaApplicativa().getNome())) {
idPortaApplicativa = requestInfo.getRequestConfig().getIdPortaApplicativa();
}
else if( requestInfo.getRequestConfig().getIdPortaApplicativaDefault()!=null && nome.equals(requestInfo.getRequestConfig().getIdPortaApplicativaDefault().getNome())) {
idPortaApplicativa = requestInfo.getRequestConfig().getIdPortaApplicativaDefault();
}
}
if(idPortaApplicativa==null) {
idPortaApplicativa = this.configurazionePdDReader.getIDPortaApplicativa(this.getConnection(), nome);
}
setCodicePorta(idPortaApplicativa, requestInfo, protocolFactory);
return idPortaApplicativa;
}
private void setCodicePorta(IDPortaApplicativa idPortaApplicativa, RequestInfo requestInfo, IProtocolFactory<?> protocolFactory) throws DriverConfigurazioneException {
try{
if(idPortaApplicativa!=null && idPortaApplicativa.getIdentificativiErogazione()!=null){
if(idPortaApplicativa.getIdentificativiErogazione().getSoggettoVirtuale()!=null){
IDSoggetto soggetto = idPortaApplicativa.getIdentificativiErogazione().getSoggettoVirtuale();
if(soggetto.getCodicePorta()==null){
soggetto.setCodicePorta(this.registroServiziManager.getDominio(soggetto, null, protocolFactory, requestInfo));
}
}
if(idPortaApplicativa.getIdentificativiErogazione().getIdServizio()!=null &&
idPortaApplicativa.getIdentificativiErogazione().getIdServizio().getSoggettoErogatore()!=null){
IDSoggetto soggetto = idPortaApplicativa.getIdentificativiErogazione().getIdServizio().getSoggettoErogatore();
if(soggetto.getCodicePorta()==null){
soggetto.setCodicePorta(this.registroServiziManager.getDominio(soggetto, null, protocolFactory, requestInfo));
}
}
}
}catch(Exception e){
throw new DriverConfigurazioneException(e.getMessage(),e);
}
}
public Map<IDSoggetto,PortaApplicativa> getPorteApplicativeSoggettiVirtuali(IDServizio idServizio)throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getPorteApplicativeSoggettiVirtuali(this.getConnection(), idServizio);
}
public boolean existsPA(RichiestaApplicativa richiestaApplicativa, RequestInfo requestInfo) throws DriverConfigurazioneException{
IDPortaApplicativa idPA = null;
if(richiestaApplicativa!=null) {
idPA = richiestaApplicativa.getIdPortaApplicativa();
}
if(
(requestInfo!=null && requestInfo.getRequestConfig()!=null && idPA!=null && idPA.getNome()!=null)
&&
(
(requestInfo.getRequestConfig().getPortaApplicativa()!=null && idPA.getNome().equals(requestInfo.getRequestConfig().getPortaApplicativa().getNome()))
||
(requestInfo.getRequestConfig().getPortaApplicativaDefault()!=null && idPA.getNome().equals(requestInfo.getRequestConfig().getPortaApplicativaDefault().getNome()))
)
){
return true;
}
return this.configurazionePdDReader.existsPA(this.getConnection(), richiestaApplicativa);
}
public PortaApplicativa getPortaApplicativa(IDPortaApplicativa idPA, RequestInfo requestInfo) throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
if(requestInfo!=null && requestInfo.getRequestConfig()!=null && idPA!=null && idPA.getNome()!=null) {
if( requestInfo.getRequestConfig().getPortaApplicativa()!=null && idPA.getNome().equals(requestInfo.getRequestConfig().getPortaApplicativa().getNome())) {
return requestInfo.getRequestConfig().getPortaApplicativa();
}
else if( requestInfo.getRequestConfig().getPortaApplicativaDefault()!=null && idPA.getNome().equals(requestInfo.getRequestConfig().getPortaApplicativaDefault().getNome())) {
return requestInfo.getRequestConfig().getPortaApplicativaDefault();
}
}
return this.configurazionePdDReader.getPortaApplicativa(this.getConnection(), idPA);
}
public PortaApplicativa getPortaApplicativaSafeMethod(IDPortaApplicativa idPA, RequestInfo requestInfo)throws DriverConfigurazioneException{
if(requestInfo!=null && requestInfo.getRequestConfig()!=null && idPA!=null && idPA.getNome()!=null) {
if( requestInfo.getRequestConfig().getPortaApplicativa()!=null && idPA.getNome().equals(requestInfo.getRequestConfig().getPortaApplicativa().getNome())) {
return requestInfo.getRequestConfig().getPortaApplicativa();
}
else if( requestInfo.getRequestConfig().getPortaApplicativaDefault()!=null && idPA.getNome().equals(requestInfo.getRequestConfig().getPortaApplicativaDefault().getNome())) {
return requestInfo.getRequestConfig().getPortaApplicativaDefault();
}
}
return this.configurazionePdDReader.getPortaApplicativaSafeMethod(this.getConnection(), idPA);
}
public void updateStatoPortaApplicativa(IDPortaApplicativa idPA, StatoFunzionalita stato) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
this.configurazionePdDReader.updateStatoPortaApplicativa(this.getConnection(), idPA, stato);
}
public String updateStatoConnettoreMultiplo(IDPortaApplicativa idPA, String nomeConnettore, StatoFunzionalita stato) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.updateStatoConnettoreMultiplo(this.getConnection(), idPA, nomeConnettore, stato);
}
public String updateStatoConnettoreMultiplo(IDPortaApplicativa idPA, String nomeConnettore, String user, StatoFunzionalita stato) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.updateStatoConnettoreMultiplo(this.getConnection(), idPA, nomeConnettore, user, stato);
}
public String updateSchedulingConnettoreMultiplo(IDPortaApplicativa idPA, String nomeConnettore, StatoFunzionalita stato) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.updateSchedulingConnettoreMultiplo(this.getConnection(), idPA, nomeConnettore, stato);
}
public String updateSchedulingConnettoreMultiplo(IDPortaApplicativa idPA, String nomeConnettore, String user, StatoFunzionalita stato) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.updateSchedulingConnettoreMultiplo(this.getConnection(), idPA, nomeConnettore, user, stato);
}
public Map<String, String> getProprietaConfigurazione(PortaApplicativa pa) throws DriverConfigurazioneException {
return this.configurazionePdDReader.getProprietaConfigurazione(pa);
}
public boolean identificazioneContentBased(PortaApplicativa pa) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.identificazioneContentBased(pa);
}
public boolean identificazioneInputBased(PortaApplicativa pa) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.identificazioneInputBased(pa);
}
public String getAzione(PortaApplicativa pa,URLProtocolContext urlProtocolContext,RequestInfo requestInfo,
OpenSPCoop2Message message, OpenSPCoop2MessageSoapStreamReader soapStreamReader, HeaderIntegrazione headerIntegrazione,boolean readFirstHeaderIntegrazione,
IProtocolFactory<?> protocolFactory) throws DriverConfigurazioneException, IdentificazioneDinamicaException {
return this.configurazionePdDReader.getAzione(this.registroServiziManager, pa, urlProtocolContext, requestInfo,
message, soapStreamReader, headerIntegrazione, readFirstHeaderIntegrazione, protocolFactory);
}
public String[] getServiziApplicativi(PortaApplicativa pa)throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getServiziApplicativi(pa);
}
public SoggettoVirtuale getServiziApplicativiSoggettiVirtuali(RichiestaApplicativa idPA)throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getServiziApplicativiSoggettiVirtuali(this.getConnection(), idPA);
}
public List<PortaApplicativa> getPorteApplicative(IDServizio idServizio, boolean ricercaPuntuale) throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getPorteApplicative(this.getConnection(), idServizio, ricercaPuntuale);
}
public List<PortaApplicativa> getPorteApplicativeVirtuali(IDSoggetto idSoggettoVirtuale, IDServizio idServizio, boolean ricercaPuntuale) throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getPorteApplicativeVirtuali(this.getConnection(), idSoggettoVirtuale, idServizio, ricercaPuntuale);
}
public MTOMProcessorConfig getMTOMProcessorForSender(PortaApplicativa pa)throws DriverConfigurazioneException{
return this.configurazionePdDReader.getMTOMProcessorForSender(pa);
}
public MTOMProcessorConfig getMTOMProcessorForReceiver(PortaApplicativa pa)throws DriverConfigurazioneException{
return this.configurazionePdDReader.getMTOMProcessorForReceiver(pa);
}
public MessageSecurityConfig getMessageSecurityForSender(PortaApplicativa pa)throws DriverConfigurazioneException{
return this.configurazionePdDReader.getMessageSecurityForSender(pa);
}
public MessageSecurityConfig getMessageSecurityForSender(PortaApplicativa pa, Logger log, OpenSPCoop2Message message, Busta busta, RequestInfo requestInfo, PdDContext pddContext,
MessageSecurityConfig requestConfig)throws DriverConfigurazioneException{
MessageSecurityConfig config = this.configurazionePdDReader.getMessageSecurityForSender(pa);
this.resolveDynamicValue("getMessageSecurityForSender[" + pa.getNome() + "]", config, log, message, busta, requestInfo, pddContext,
requestConfig);
return config;
}
public void updateMessageSecurityForSender(MessageSecurityConfig config, Logger log, OpenSPCoop2Message message, Busta busta, RequestInfo requestInfo, PdDContext pddContext,
MessageSecurityConfig requestConfig){
this.resolveDynamicValue("updateMessageSecurityForSender", config, log, message, busta, requestInfo, pddContext,
requestConfig);
}
public MessageSecurityConfig getMessageSecurityForReceiver(PortaApplicativa pa, Logger log, OpenSPCoop2Message message, Busta busta, RequestInfo requestInfo, PdDContext pddContext) throws DriverConfigurazioneException {
MessageSecurityConfig config = this.configurazionePdDReader.getMessageSecurityForReceiver(pa);
this.resolveDynamicValue("getMessageSecurityForReceiver[" + pa.getNome() + "]", config, log, message, busta, requestInfo, pddContext,
null);
return config;
}
public String getAutenticazione(PortaApplicativa pa) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getAutenticazione(pa);
}
public boolean isAutenticazioneOpzionale(PortaApplicativa pa) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.isAutenticazioneOpzionale(pa);
}
public String getGestioneToken(PortaApplicativa pa) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getGestioneToken(pa);
}
public PolicyGestioneToken getPolicyGestioneToken(PortaApplicativa pa, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
String nome = null;
if(pa!=null && pa.getGestioneToken()!=null && pa.getGestioneToken().getPolicy()!=null) {
nome = pa.getGestioneToken().getPolicy();
}
boolean useRequestInfo = requestInfo!=null && requestInfo.getRequestConfig()!=null && nome!=null;
if(useRequestInfo) {
Object o = requestInfo.getRequestConfig().getPolicyValidazioneToken(nome);
if(o instanceof PolicyGestioneToken) {
return (PolicyGestioneToken) o;
}
}
PolicyGestioneToken policy = this.configurazionePdDReader.getPolicyGestioneToken(this.getConnection(), pa);
if(useRequestInfo) {
requestInfo.getRequestConfig().addPolicyValidazioneToken(nome, policy,
requestInfo.getIdTransazione());
}
return policy;
}
public String getAutorizzazione(PortaApplicativa pa) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getAutorizzazione(pa);
}
public String getAutorizzazioneContenuto(PortaApplicativa pa) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getAutorizzazioneContenuto(pa);
}
public CorsConfigurazione getConfigurazioneCORS(PortaApplicativa pa) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getConfigurazioneCORS(this.getConnection(), pa);
}
public ResponseCachingConfigurazione getConfigurazioneResponseCaching(PortaApplicativa pa) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getConfigurazioneResponseCaching(this.getConnection(), pa);
}
public boolean ricevutaAsincronaSimmetricaAbilitata(PortaApplicativa pa) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.ricevutaAsincronaSimmetricaAbilitata(pa);
}
public boolean ricevutaAsincronaAsimmetricaAbilitata(PortaApplicativa pa) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.ricevutaAsincronaAsimmetricaAbilitata(pa);
}
public ValidazioneContenutiApplicativi getTipoValidazioneContenutoApplicativo(PortaApplicativa pa,String implementazionePdDSoggetto, boolean request) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getTipoValidazioneContenutoApplicativo(this.getConnection(), pa, implementazionePdDSoggetto, request);
}
public CorrelazioneApplicativa getCorrelazioneApplicativa(PortaApplicativa pa) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getCorrelazioneApplicativa(pa);
}
public CorrelazioneApplicativaRisposta getCorrelazioneApplicativaRisposta(PortaApplicativa pa) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getCorrelazioneApplicativaRisposta(pa);
}
public String[] getTipiIntegrazione(PortaApplicativa pa) throws DriverConfigurazioneException,DriverConfigurazioneNotFound {
return this.configurazionePdDReader.getTipiIntegrazione(pa);
}
public boolean isGestioneManifestAttachments(PortaApplicativa pa, IProtocolFactory<?> protocolFactory) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.isGestioneManifestAttachments(this.getConnection(), pa, protocolFactory);
}
public boolean isAllegaBody(PortaApplicativa pa) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.isAllegaBody(pa);
}
public boolean isScartaBody(PortaApplicativa pa) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.isScartaBody(pa);
}
public boolean isModalitaStateless(PortaApplicativa pa, ProfiloDiCollaborazione profiloCollaborazione) throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.isModalitaStateless(pa, profiloCollaborazione);
}
public boolean autorizzazione(PortaApplicativa pa, IDSoggetto soggetto) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.autorizzazione(pa, soggetto);
}
public boolean autorizzazione(PortaApplicativa pa, IDServizioApplicativo servizioApplicativo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.autorizzazione(pa, servizioApplicativo);
}
public boolean autorizzazioneTrasportoRoles(PortaApplicativa pa, Soggetto soggetto, ServizioApplicativo sa, InfoConnettoreIngresso infoConnettoreIngresso,
PdDContext pddContext, RequestInfo requestInfo,
boolean checkRuoloRegistro, boolean checkRuoloEsterno,
StringBuilder details) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.autorizzazioneTrasportoRoles(this.registroServiziManager, pa, soggetto, sa, infoConnettoreIngresso,
pddContext, requestInfo,
checkRuoloRegistro, checkRuoloEsterno, details);
}
public boolean autorizzazioneTokenRoles(PortaApplicativa pa, ServizioApplicativo sa, InfoConnettoreIngresso infoConnettoreIngresso,
PdDContext pddContext, RequestInfo requestInfo,
boolean checkRuoloRegistro, boolean checkRuoloEsterno,
StringBuilder details) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.autorizzazioneTokenRoles(this.registroServiziManager, pa, sa, infoConnettoreIngresso,
pddContext, requestInfo,
checkRuoloRegistro, checkRuoloEsterno, details);
}
public boolean isPortaAbilitata(PortaApplicativa pa) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.isPortaAbilitata(pa);
}
public DumpConfigurazione getDumpConfigurazione(PortaApplicativa pa) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getDumpConfigurazione(this.getConnection(), pa);
}
public boolean isTransazioniFileTraceEnabled(PortaApplicativa pa) throws DriverConfigurazioneException{
return this.configurazionePdDReader.isTransazioniFileTraceEnabled(this.getConnection(), pa);
}
public boolean isTransazioniFileTraceDumpBinarioHeadersEnabled(PortaApplicativa pa) throws DriverConfigurazioneException{
return this.configurazionePdDReader.isTransazioniFileTraceDumpBinarioHeadersEnabled(this.getConnection(), pa);
}
public boolean isTransazioniFileTraceDumpBinarioPayloadEnabled(PortaApplicativa pa) throws DriverConfigurazioneException{
return this.configurazionePdDReader.isTransazioniFileTraceDumpBinarioPayloadEnabled(this.getConnection(), pa);
}
public boolean isTransazioniFileTraceDumpBinarioConnettoreHeadersEnabled(PortaApplicativa pa) throws DriverConfigurazioneException{
return this.configurazionePdDReader.isTransazioniFileTraceDumpBinarioConnettoreHeadersEnabled(this.getConnection(), pa);
}
public boolean isTransazioniFileTraceDumpBinarioConnettorePayloadEnabled(PortaApplicativa pa) throws DriverConfigurazioneException{
return this.configurazionePdDReader.isTransazioniFileTraceDumpBinarioConnettorePayloadEnabled(this.getConnection(), pa);
}
public File getFileTraceConfig(PortaApplicativa pa) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getFileTraceConfig(this.getConnection(), pa);
}
public SoglieDimensioneMessaggi getSoglieLimitedInputStream(PortaApplicativa pa, String azione, String idModulo,
PdDContext pddContext, RequestInfo requestInfo,
IProtocolFactory<?> protocolFactory, Logger log) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getSoglieLimitedInputStream(this.getConnection(), pa, azione, idModulo,
pddContext, requestInfo,
protocolFactory, log);
}
public boolean isConnettoriUseTimeoutInputStream(PortaApplicativa pa) throws DriverConfigurazioneException{
return this.configurazionePdDReader.isConnettoriUseTimeoutInputStream(this.getConnection(), pa);
}
public SogliaReadTimeout getRequestReadTimeout(PortaApplicativa pa,
RequestInfo requestInfo, IProtocolFactory<?> protocolFactory, Context context, IState state) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getRequestReadTimeout(pa,
requestInfo, protocolFactory, context, state);
}
public Trasformazioni getTrasformazioni(PortaApplicativa pa) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getTrasformazioni(pa);
}
public List<String> getPreInRequestHandlers(PortaApplicativa pa) throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getPreInRequestHandlers(pa);
}
public List<String> getInRequestHandlers(PortaApplicativa pa) throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getInRequestHandlers(pa);
}
public List<String> getInRequestProtocolHandlers(PortaApplicativa pa) throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getInRequestProtocolHandlers(pa);
}
public List<String> getOutRequestHandlers(PortaApplicativa pa) throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getOutRequestHandlers(pa);
}
public List<String> getPostOutRequestHandlers(PortaApplicativa pa) throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getPostOutRequestHandlers(pa);
}
public List<String> getPreInResponseHandlers(PortaApplicativa pa) throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getPreInResponseHandlers(pa);
}
public List<String> getInResponseHandlers(PortaApplicativa pa) throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getInResponseHandlers(pa);
}
public List<String> getOutResponseHandlers(PortaApplicativa pa) throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getOutResponseHandlers(pa);
}
public List<String> getPostOutResponseHandlers(PortaApplicativa pa) throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getPostOutResponseHandlers(pa);
}
public List<Object> getExtendedInfo(PortaApplicativa pa)throws DriverConfigurazioneException{
return this.configurazionePdDReader.getExtendedInfo(pa);
}
public Template getTemplateTrasformazioneRichiesta(IDPortaApplicativa idPA, String nomeTrasformazione, TrasformazioneRegolaRichiesta richiesta, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getTemplateTrasformazioneRichiesta(this.getConnection(), idPA, nomeTrasformazione, richiesta, requestInfo);
}
public Template getTemplateTrasformazioneSoapRichiesta(IDPortaApplicativa idPA, String nomeTrasformazione, TrasformazioneRegolaRichiesta richiesta, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getTemplateTrasformazioneSoapRichiesta(this.getConnection(), idPA, nomeTrasformazione, richiesta, requestInfo);
}
public Template getTemplateTrasformazioneRisposta(IDPortaApplicativa idPA, String nomeTrasformazione, TrasformazioneRegolaRisposta risposta, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getTemplateTrasformazioneRisposta(this.getConnection(), idPA, nomeTrasformazione, risposta, requestInfo);
}
public Template getTemplateTrasformazioneSoapRisposta(IDPortaApplicativa idPA, String nomeTrasformazione, TrasformazioneRegolaRisposta risposta, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getTemplateTrasformazioneSoapRisposta(this.getConnection(), idPA, nomeTrasformazione, risposta, requestInfo);
}
public Template getTemplateConnettoreMultiploSticky(IDPortaApplicativa idPA, byte[] template, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getTemplateConnettoreMultiploSticky(this.getConnection(), idPA, template, requestInfo);
}
public Template getTemplateConnettoreMultiploCondizionale(IDPortaApplicativa idPA, String nomeRegola, byte[] template, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getTemplateConnettoreMultiploCondizionale(this.getConnection(), idPA, nomeRegola, template, requestInfo);
}
public Template getTemplateCorrelazioneApplicativaRichiesta(IDPortaApplicativa idPA, String nomeRegola, byte[] template, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getTemplateCorrelazioneApplicativaRichiesta(this.getConnection(), idPA, nomeRegola, template, requestInfo);
}
public Template getTemplateCorrelazioneApplicativaRisposta(IDPortaApplicativa idPA, String nomeRegola, byte[] template, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getTemplateCorrelazioneApplicativaRisposta(this.getConnection(), idPA, nomeRegola, template, requestInfo);
}
public Template getTemplateIntegrazione(IDPortaApplicativa idPA, File file, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getTemplateIntegrazione(this.getConnection(), idPA, file, requestInfo);
}
public void setInformazioniIntegrazioneDinamiche(Logger log, HttpServletTransportRequestContext transportRequestContext, Context context, PortaApplicativa pa) throws DriverConfigurazioneException {
setInformazioniIntegrazioneDinamicheEngine(log, transportRequestContext, context, pa.getProprietaList());
}
public void setInformazioniIntegrazioneDinamiche(Logger log, TransportResponseContext transportResponseContext, Context context, PortaApplicativa pa) throws DriverConfigurazioneException {
setInformazioniIntegrazioneDinamicheEngine(log, transportResponseContext, context, pa.getProprietaList());
}
/* ******** Servizi Applicativi (Interfaccia) ******** */
public boolean existsServizioApplicativo(IDServizioApplicativo idSA, RequestInfo requestInfo) throws DriverConfigurazioneException{
if(existsServizioApplicativoErogatoreRequestInfo(idSA, requestInfo)) {
return true;
}
if(
(requestInfo!=null && requestInfo.getRequestThreadContext()!=null && requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo()!=null)
&&
(requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getIdServizioApplicativoFruitore()!=null &&
requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getServizioApplicativoFruitore()!=null &&
idSA!=null && idSA.equals(requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getIdServizioApplicativoFruitore()))
){
return true;
}
if(
(requestInfo!=null && requestInfo.getRequestThreadContext()!=null && requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo()!=null)
&&
(requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo().getIdServizioApplicativoFruitore()!=null &&
requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo().getServizioApplicativoFruitore()!=null &&
idSA!=null && idSA.equals(requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo().getIdServizioApplicativoFruitore()))
){
return true;
}
if(requestInfo!=null && requestInfo.getRequestThreadContext()!=null && requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo()!=null) {
if(requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getServizioApplicativoFruitoreAnonimo()!=null &&
idSA!=null && idSA.getNome()!=null && idSA.getNome().equals(requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getServizioApplicativoFruitoreAnonimo())) {
/**throw new DriverConfigurazioneNotFound("Servizio applicativo anonimo");*/
return false;
}
if(requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getIdServizioApplicativoFruitore()!=null &&
requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getServizioApplicativoFruitore()!=null &&
idSA!=null && idSA.equals(requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getIdServizioApplicativoFruitore())) {
return true;
}
}
return this.configurazionePdDReader.existsServizioApplicativo(this.getConnection(), idSA);
}
private boolean existsServizioApplicativoErogatoreRequestInfo(IDServizioApplicativo idSA, RequestInfo requestInfo) {
if(requestInfo!=null && requestInfo.getRequestConfig()!=null &&
idSA!=null && idSA.getIdSoggettoProprietario()!=null &&
requestInfo.getRequestConfig().getIdServizio()!=null && requestInfo.getRequestConfig().getIdServizio().getSoggettoErogatore()!=null &&
idSA.getIdSoggettoProprietario().equals(requestInfo.getRequestConfig().getIdServizio().getSoggettoErogatore())) {
ServizioApplicativo sa = requestInfo.getRequestConfig().getServizioApplicativoErogatore(idSA.getNome());
if(sa!=null) {
return true;
}
}
return false;
}
public ServizioApplicativo getServizioApplicativo(IDServizioApplicativo idSA, RequestInfo requestInfo) throws DriverConfigurazioneNotFound,DriverConfigurazioneException{
if(requestInfo!=null && requestInfo.getRequestConfig()!=null &&
idSA!=null && idSA.getIdSoggettoProprietario()!=null &&
requestInfo.getRequestConfig().getIdServizio()!=null && requestInfo.getRequestConfig().getIdServizio().getSoggettoErogatore()!=null &&
idSA.getIdSoggettoProprietario().equals(requestInfo.getRequestConfig().getIdServizio().getSoggettoErogatore())) {
ServizioApplicativo sa = requestInfo.getRequestConfig().getServizioApplicativoErogatore(idSA.getNome());
if(sa!=null) {
return sa;
}
}
if(
(requestInfo!=null && requestInfo.getRequestThreadContext()!=null && requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo()!=null)
&&
(requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getIdServizioApplicativoFruitore()!=null &&
requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getServizioApplicativoFruitore()!=null &&
idSA!=null && idSA.equals(requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getIdServizioApplicativoFruitore()))
){
return requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getServizioApplicativoFruitore();
}
if(
(requestInfo!=null && requestInfo.getRequestThreadContext()!=null && requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo()!=null)
&&
(requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo().getIdServizioApplicativoFruitore()!=null &&
requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo().getServizioApplicativoFruitore()!=null &&
idSA!=null && idSA.equals(requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo().getIdServizioApplicativoFruitore()))
){
return requestInfo.getRequestThreadContext().getRequestFruitoreTokenInfo().getServizioApplicativoFruitore();
}
if(
(requestInfo!=null && requestInfo.getRequestThreadContext()!=null && requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo()!=null)
&&
(requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getServizioApplicativoFruitoreAnonimo()!=null &&
idSA!=null && idSA.getNome()!=null && idSA.getNome().equals(requestInfo.getRequestThreadContext().getRequestFruitoreTrasportoInfo().getServizioApplicativoFruitoreAnonimo()))
){
throw new DriverConfigurazioneNotFound("Servizio applicativo anonimo");
}
return this.configurazionePdDReader.getServizioApplicativo(this.getConnection(), idSA);
}
public IDServizioApplicativo getIdServizioApplicativoByCredenzialiBasic(String aUser,String aPassword, CryptConfig config) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getIdServizioApplicativoByCredenzialiBasic(this.getConnection(), aUser, aPassword, config);
}
public IDServizioApplicativo getIdServizioApplicativoByCredenzialiBasic(String aUser,String aPassword, CryptConfig config,
List<String> tipiSoggetto) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getIdServizioApplicativoByCredenzialiBasic(this.getConnection(), aUser, aPassword, config,
tipiSoggetto);
}
public IDServizioApplicativo getIdServizioApplicativoByCredenzialiApiKey(String aUser,String aPassword, boolean appId, CryptConfig config) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getIdServizioApplicativoByCredenzialiApiKey(this.getConnection(), aUser, aPassword, appId, config);
}
public IDServizioApplicativo getIdServizioApplicativoByCredenzialiApiKey(String aUser,String aPassword, boolean appId, CryptConfig config,
List<String> tipiSoggetto) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getIdServizioApplicativoByCredenzialiApiKey(this.getConnection(), aUser, aPassword, appId, config,
tipiSoggetto);
}
public IDServizioApplicativo getIdServizioApplicativoByCredenzialiSsl(String aSubject, String aIssuer) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getIdServizioApplicativoByCredenzialiSsl(this.getConnection(), aSubject, aIssuer);
}
public IDServizioApplicativo getIdServizioApplicativoByCredenzialiSsl(String aSubject, String aIssuer,
List<String> tipiSoggetto) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getIdServizioApplicativoByCredenzialiSsl(this.getConnection(), aSubject, aIssuer,
tipiSoggetto);
}
public IDServizioApplicativo getIdServizioApplicativoByCredenzialiSsl(String aSubject, String aIssuer,
List<String> tipiSoggetto,
boolean includiApplicativiNonModI, boolean includiApplicativiModIEsterni, boolean includiApplicativiModIInterni) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getIdServizioApplicativoByCredenzialiSsl(this.getConnection(), aSubject, aIssuer,
tipiSoggetto,
includiApplicativiNonModI, includiApplicativiModIEsterni, includiApplicativiModIInterni);
}
public IDServizioApplicativo getIdServizioApplicativoByCredenzialiSsl(CertificateInfo certificate, boolean strictVerifier) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getIdServizioApplicativoByCredenzialiSsl(this.getConnection(), certificate, strictVerifier);
}
public IDServizioApplicativo getIdServizioApplicativoByCredenzialiSsl(CertificateInfo certificate, boolean strictVerifier,
List<String> tipiSoggetto) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getIdServizioApplicativoByCredenzialiSsl(this.getConnection(), certificate, strictVerifier,
tipiSoggetto);
}
public IDServizioApplicativo getIdServizioApplicativoByCredenzialiSsl(CertificateInfo certificate, boolean strictVerifier,
List<String> tipiSoggetto,
boolean includiApplicativiNonModI, boolean includiApplicativiModIEsterni, boolean includiApplicativiModIInterni) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getIdServizioApplicativoByCredenzialiSsl(this.getConnection(), certificate, strictVerifier,
tipiSoggetto,
includiApplicativiNonModI, includiApplicativiModIEsterni, includiApplicativiModIInterni);
}
public IDServizioApplicativo getIdServizioApplicativoByCredenzialiPrincipal(String principal) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getIdServizioApplicativoByCredenzialiPrincipal(this.getConnection(), principal);
}
public IDServizioApplicativo getIdServizioApplicativoByCredenzialiPrincipal(String principal,
List<String> tipiSoggetto) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getIdServizioApplicativoByCredenzialiPrincipal(this.getConnection(), principal,
tipiSoggetto);
}
public IDServizioApplicativo getIdServizioApplicativoByCredenzialiToken(String tokenPolicy, String tokenClientId) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getIdServizioApplicativoByCredenzialiToken(this.getConnection(), tokenPolicy, tokenClientId);
}
public IDServizioApplicativo getIdServizioApplicativoByCredenzialiToken(String tokenPolicy, String tokenClientId,
List<String> tipiSoggetto) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getIdServizioApplicativoByCredenzialiToken(this.getConnection(), tokenPolicy, tokenClientId,
tipiSoggetto);
}
public boolean autorizzazione(PortaDelegata pd, String servizio) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.autorizzazione(pd, servizio);
}
public boolean autorizzazioneTrasportoRoles(PortaDelegata pd, ServizioApplicativo sa, InfoConnettoreIngresso infoConnettoreIngresso,
PdDContext pddContext, RequestInfo requestInfo,
boolean checkRuoloRegistro, boolean checkRuoloEsterno,
StringBuilder details) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.autorizzazioneTrasportoRoles(this.registroServiziManager, pd, sa, infoConnettoreIngresso,
pddContext, requestInfo,
checkRuoloRegistro, checkRuoloEsterno, details);
}
public boolean autorizzazioneTokenRoles(PortaDelegata pd, ServizioApplicativo sa, InfoConnettoreIngresso infoConnettoreIngresso,
PdDContext pddContext, RequestInfo requestInfo,
boolean checkRuoloRegistro, boolean checkRuoloEsterno,
StringBuilder details) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.autorizzazioneTokenRoles(this.registroServiziManager, pd, sa, infoConnettoreIngresso,
pddContext, requestInfo,
checkRuoloRegistro, checkRuoloEsterno, details);
}
public void aggiornaProprietaGestioneErrorePD(ProprietaErroreApplicativo gestioneErrore, ServizioApplicativo sa) throws DriverConfigurazioneException {
this.configurazionePdDReader.aggiornaProprietaGestioneErrorePD(gestioneErrore, sa);
}
public boolean invocazionePortaDelegataPerRiferimento(ServizioApplicativo sa) throws DriverConfigurazioneException{
return this.configurazionePdDReader.invocazionePortaDelegataPerRiferimento(sa);
}
public boolean invocazionePortaDelegataSbustamentoInformazioniProtocollo(ServizioApplicativo sa) throws DriverConfigurazioneException{
return this.configurazionePdDReader.invocazionePortaDelegataSbustamentoInformazioniProtocollo(sa);
}
public List<String> getServiziApplicativiConsegnaNotifichePrioritarie(String queue) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getServiziApplicativiConsegnaNotifichePrioritarie(this.getConnection(),queue);
}
public List<IDConnettore> getConnettoriConsegnaNotifichePrioritarie(String queue) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getConnettoriConsegnaNotifichePrioritarie(this.getConnection(),queue);
}
public void resetConnettoriConsegnaNotifichePrioritarie(String queue) throws DriverConfigurazioneException{
this.configurazionePdDReader.resetConnettoriConsegnaNotifichePrioritarie(this.getConnection(),queue);
}
public Map<String, String> getProprietaConfigurazione(ServizioApplicativo sa) throws DriverConfigurazioneException {
return this.configurazionePdDReader.getProprietaConfigurazione(sa);
}
/* ******** Servizi Applicativi (InvocazioneServizio) ******** */
public boolean invocazioneServizioConGetMessage(ServizioApplicativo sa)throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.invocazioneServizioConGetMessage(sa);
}
public boolean invocazioneServizioConSbustamento(ServizioApplicativo sa)throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.invocazioneServizioConSbustamento(sa);
}
public boolean invocazioneServizioConSbustamentoInformazioniProtocollo(ServizioApplicativo sa)throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.invocazioneServizioConSbustamentoInformazioniProtocollo(sa);
}
public boolean invocazioneServizioConConnettore(ServizioApplicativo sa)throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.invocazioneServizioConConnettore(sa);
}
public ConnettoreMsg getInvocazioneServizio(ServizioApplicativo sa,RichiestaApplicativa idPA, RequestInfo requestInfo)throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getInvocazioneServizio(this.getConnection(), sa, idPA, requestInfo);
}
public GestioneErrore getGestioneErroreConnettoreInvocazioneServizio(IProtocolFactory<?> protocolFactory, ServiceBinding serviceBinding, ServizioApplicativo sa)throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getGestioneErroreConnettoreInvocazioneServizio(protocolFactory, serviceBinding, this.getConnection(), sa);
}
public boolean invocazioneServizioPerRiferimento(ServizioApplicativo sa)throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.invocazioneServizioPerRiferimento(sa);
}
public boolean invocazioneServizioRispostaPerRiferimento(ServizioApplicativo sa)throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.invocazioneServizioRispostaPerRiferimento(sa);
}
/* ******** Servizi Applicativi (RispostAsincrona) ******** */
public boolean existsConsegnaRispostaAsincrona(ServizioApplicativo sa)throws DriverConfigurazioneException,DriverConfigurazioneNotFound {
return this.configurazionePdDReader.existsConsegnaRispostaAsincrona(sa);
}
public boolean consegnaRispostaAsincronaConGetMessage(ServizioApplicativo sa)throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.consegnaRispostaAsincronaConGetMessage(sa);
}
public boolean consegnaRispostaAsincronaConSbustamento(ServizioApplicativo sa)throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.consegnaRispostaAsincronaConSbustamento(sa);
}
public boolean consegnaRispostaAsincronaConSbustamentoInformazioniProtocollo(ServizioApplicativo sa)throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.consegnaRispostaAsincronaConSbustamentoInformazioniProtocollo(sa);
}
public boolean consegnaRispostaAsincronaConConnettore(ServizioApplicativo sa)throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.consegnaRispostaAsincronaConConnettore(sa);
}
public ConnettoreMsg getConsegnaRispostaAsincrona(ServizioApplicativo sa,RichiestaDelegata idPD, RequestInfo requestInfo)throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getConsegnaRispostaAsincrona(this.getConnection(), sa, idPD, requestInfo);
}
public ConnettoreMsg getConsegnaRispostaAsincrona(ServizioApplicativo sa,RichiestaApplicativa idPA, RequestInfo requestInfo)throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getConsegnaRispostaAsincrona(this.getConnection(), sa, idPA, requestInfo);
}
public GestioneErrore getGestioneErroreConnettoreRispostaAsincrona(IProtocolFactory<?> protocolFactory, ServiceBinding serviceBinding, ServizioApplicativo sa)throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getGestioneErroreConnettoreRispostaAsincrona(protocolFactory, serviceBinding, this.getConnection(), sa);
}
public boolean consegnaRispostaAsincronaPerRiferimento(ServizioApplicativo sa)throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.consegnaRispostaAsincronaPerRiferimento(sa);
}
public boolean consegnaRispostaAsincronaRispostaPerRiferimento(ServizioApplicativo sa)throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.consegnaRispostaAsincronaRispostaPerRiferimento(sa);
}
public CertificateCheck checkCertificatoApplicativoWithoutCache(long idSA, int sogliaWarningGiorni,
boolean addCertificateDetails, String separator, String newLine) throws DriverConfigurazioneException,DriverConfigurazioneNotFound {
return this.configurazionePdDReader.checkCertificatoApplicativo(null, false,
idSA, sogliaWarningGiorni,
addCertificateDetails, separator, newLine);
}
public CertificateCheck checkCertificatoApplicativoWithoutCache(IDServizioApplicativo idSA, int sogliaWarningGiorni,
boolean addCertificateDetails, String separator, String newLine) throws DriverConfigurazioneException,DriverConfigurazioneNotFound {
return this.configurazionePdDReader.checkCertificatoApplicativo(null, false,
idSA, sogliaWarningGiorni,
addCertificateDetails, separator, newLine);
}
public CertificateCheck checkCertificatoModiApplicativoWithoutCache(long idSA, int sogliaWarningGiorni,
boolean addCertificateDetails, String separator, String newLine) throws DriverConfigurazioneException,DriverConfigurazioneNotFound {
return this.configurazionePdDReader.checkCertificatoModiApplicativo(null, false,
idSA, sogliaWarningGiorni,
addCertificateDetails, separator, newLine);
}
public CertificateCheck checkCertificatoModiApplicativoWithoutCache(IDServizioApplicativo idSA, int sogliaWarningGiorni,
boolean addCertificateDetails, String separator, String newLine) throws DriverConfigurazioneException,DriverConfigurazioneNotFound {
return this.configurazionePdDReader.checkCertificatoModiApplicativo(null, false,
idSA, sogliaWarningGiorni,
addCertificateDetails, separator, newLine);
}
public CertificateCheck checkCertificatiConnettoreHttpsByIdWithoutCache(long idConnettore, int sogliaWarningGiorni,
boolean addCertificateDetails, String separator, String newLine) throws DriverConfigurazioneException,DriverConfigurazioneNotFound {
return this.configurazionePdDReader.checkCertificatiConnettoreHttpsById(null, false,
idConnettore, sogliaWarningGiorni,
addCertificateDetails, separator, newLine);
}
public CertificateCheck checkCertificatiJvm(int sogliaWarningGiorni,
boolean addCertificateDetails, String separator, String newLine) throws DriverConfigurazioneException {
return this.configurazionePdDReader.checkCertificatiJvm(sogliaWarningGiorni,
addCertificateDetails, separator, newLine);
}
public CertificateCheck checkCertificatiConnettoreHttpsTokenPolicyValidazione(String nomePolicy, int sogliaWarningGiorni,
boolean addCertificateDetails, String separator, String newLine) throws DriverConfigurazioneException,DriverConfigurazioneNotFound {
return this.configurazionePdDReader.checkCertificatiConnettoreHttpsTokenPolicyValidazione(null, false,
nomePolicy, null, sogliaWarningGiorni,
addCertificateDetails, separator, newLine);
}
public CertificateCheck checkCertificatiConnettoreHttpsTokenPolicyValidazione(String nomePolicy, String tipo, int sogliaWarningGiorni,
boolean addCertificateDetails, String separator, String newLine) throws DriverConfigurazioneException,DriverConfigurazioneNotFound {
return this.configurazionePdDReader.checkCertificatiConnettoreHttpsTokenPolicyValidazione(null, false,
nomePolicy, tipo, sogliaWarningGiorni,
addCertificateDetails, separator, newLine);
}
public CertificateCheck checkCertificatiValidazioneJwtTokenPolicyValidazione(String nomePolicy, int sogliaWarningGiorni,
boolean addCertificateDetails, String separator, String newLine) throws DriverConfigurazioneException,DriverConfigurazioneNotFound {
return this.configurazionePdDReader.checkCertificatiValidazioneJwtTokenPolicyValidazione(null, false,
nomePolicy, sogliaWarningGiorni,
addCertificateDetails, separator, newLine);
}
public CertificateCheck checkCertificatiForwardToJwtTokenPolicyValidazione(String nomePolicy, int sogliaWarningGiorni,
boolean addCertificateDetails, String separator, String newLine) throws DriverConfigurazioneException,DriverConfigurazioneNotFound {
return this.configurazionePdDReader.checkCertificatiForwardToJwtTokenPolicyValidazione(null, false,
nomePolicy, sogliaWarningGiorni,
addCertificateDetails, separator, newLine);
}
public CertificateCheck checkCertificatiConnettoreHttpsTokenPolicyNegoziazione(String nomePolicy, int sogliaWarningGiorni,
boolean addCertificateDetails, String separator, String newLine) throws DriverConfigurazioneException,DriverConfigurazioneNotFound {
return this.configurazionePdDReader.checkCertificatiConnettoreHttpsTokenPolicyNegoziazione(null, false,
nomePolicy, sogliaWarningGiorni,
addCertificateDetails, separator, newLine);
}
public CertificateCheck checkCertificatiSignedJwtTokenPolicyNegoziazione(String nomePolicy, int sogliaWarningGiorni,
boolean addCertificateDetails, String separator, String newLine) throws DriverConfigurazioneException,DriverConfigurazioneNotFound {
return this.configurazionePdDReader.checkCertificatiSignedJwtTokenPolicyNegoziazione(null, false,
nomePolicy, sogliaWarningGiorni,
addCertificateDetails, separator, newLine);
}
public CertificateCheck checkCertificatiConnettoreHttpsAttributeAuthority(String nomePolicy, int sogliaWarningGiorni,
boolean addCertificateDetails, String separator, String newLine) throws DriverConfigurazioneException,DriverConfigurazioneNotFound {
return this.configurazionePdDReader.checkCertificatiConnettoreHttpsAttributeAuthority(null, false,
nomePolicy, sogliaWarningGiorni,
addCertificateDetails, separator, newLine);
}
public CertificateCheck checkCertificatiAttributeAuthorityJwtRichiesta(String nomePolicy, int sogliaWarningGiorni,
boolean addCertificateDetails, String separator, String newLine) throws DriverConfigurazioneException,DriverConfigurazioneNotFound {
return this.configurazionePdDReader.checkCertificatiAttributeAuthorityJwtRichiesta(null, false,
nomePolicy, sogliaWarningGiorni,
addCertificateDetails, separator, newLine);
}
public CertificateCheck checkCertificatiAttributeAuthorityJwtRisposta(String nomePolicy, int sogliaWarningGiorni,
boolean addCertificateDetails, String separator, String newLine) throws DriverConfigurazioneException,DriverConfigurazioneNotFound {
return this.configurazionePdDReader.checkCertificatiAttributeAuthorityJwtRisposta(null, false,
nomePolicy, sogliaWarningGiorni,
addCertificateDetails, separator, newLine);
}
public CertificateCheck checkCertificatiMessageSecurityErogazioneById(long idErogazione, int sogliaWarningGiorni,
boolean addCertificateDetails, String separator, String newLine) throws DriverConfigurazioneException,DriverConfigurazioneNotFound {
return this.configurazionePdDReader.checkCertificatiMessageSecurityErogazioneById(null, false,
idErogazione, sogliaWarningGiorni,
addCertificateDetails, separator, newLine);
}
public CertificateCheck checkCertificatiMessageSecurityFruizioneById(long idFruizione, int sogliaWarningGiorni,
boolean addCertificateDetails, String separator, String newLine) throws DriverConfigurazioneException,DriverConfigurazioneNotFound {
return this.configurazionePdDReader.checkCertificatiMessageSecurityFruizioneById(null, false,
idFruizione, sogliaWarningGiorni,
addCertificateDetails, separator, newLine);
}
/* ******** CONFIGURAZIONE ******** */
public AccessoRegistro getAccessoRegistroServizi(){
return this.configurazionePdDReader.getAccessoRegistroServizi(this.getConnection());
}
public AccessoConfigurazione getAccessoConfigurazione(){
return this.configurazionePdDReader.getAccessoConfigurazione(this.getConnection());
}
public AccessoDatiAutorizzazione getAccessoDatiAutorizzazione(){
return this.configurazionePdDReader.getAccessoDatiAutorizzazione(this.getConnection());
}
public AccessoDatiAutenticazione getAccessoDatiAutenticazione(){
return this.configurazionePdDReader.getAccessoDatiAutenticazione(this.getConnection());
}
public AccessoDatiGestioneToken getAccessoDatiGestioneToken(){
return this.configurazionePdDReader.getAccessoDatiGestioneToken(this.getConnection());
}
public AccessoDatiAttributeAuthority getAccessoDatiAttributeAuthority(){
return this.configurazionePdDReader.getAccessoDatiAttributeAuthority(this.getConnection());
}
public AccessoDatiKeystore getAccessoDatiKeystore(){
return this.configurazionePdDReader.getAccessoDatiKeystore(this.getConnection());
}
public AccessoDatiRichieste getAccessoDatiRichieste(){
return this.configurazionePdDReader.getAccessoDatiRichieste(this.getConnection());
}
public StatoFunzionalitaConWarning getTipoValidazione(String implementazionePdDSoggetto){
return this.configurazionePdDReader.getTipoValidazione(this.getConnection(), implementazionePdDSoggetto);
}
public boolean isLivelloValidazioneNormale(String implementazionePdDSoggetto){
return this.configurazionePdDReader.isLivelloValidazioneNormale(this.getConnection(), implementazionePdDSoggetto);
}
public boolean isLivelloValidazioneRigido(String implementazionePdDSoggetto){
return this.configurazionePdDReader.isLivelloValidazioneRigido(this.getConnection(), implementazionePdDSoggetto);
}
public boolean isValidazioneProfiloCollaborazione(String implementazionePdDSoggetto){
return this.configurazionePdDReader.isValidazioneProfiloCollaborazione(this.getConnection(), implementazionePdDSoggetto);
}
public boolean isValidazioneManifestAttachments(String implementazionePdDSoggetto){
return this.configurazionePdDReader.isValidazioneManifestAttachments(this.getConnection(), implementazionePdDSoggetto);
}
public boolean newConnectionForResponse(){
return this.configurazionePdDReader.newConnectionForResponse(this.getConnection());
}
public boolean isUtilizzoIndirizzoTelematico(){
return this.configurazionePdDReader.isUtilizzoIndirizzoTelematico(this.getConnection());
}
public boolean isGestioneManifestAttachments(){
return this.configurazionePdDReader.isGestioneManifestAttachments(this.getConnection());
}
public long getTimeoutRiscontro(){
return this.configurazionePdDReader.getTimeoutRiscontro(this.getConnection());
}
public Level getLivelloMessaggiDiagnostici(){
return this.configurazionePdDReader.getLivelloMessaggiDiagnostici(this.getConnection());
}
public Level getLivelloLog4JMessaggiDiagnostici(){
return this.configurazionePdDReader.getLivelloLog4JMessaggiDiagnostici(this.getConnection());
}
public int getSeveritaMessaggiDiagnostici(){
return this.configurazionePdDReader.getSeveritaMessaggiDiagnostici(this.getConnection());
}
public int getSeveritaLog4JMessaggiDiagnostici(){
return this.configurazionePdDReader.getSeveritaLog4JMessaggiDiagnostici(this.getConnection());
}
public MessaggiDiagnostici getOpenSPCoopAppenderMessaggiDiagnostici(){
return this.configurazionePdDReader.getOpenSPCoopAppenderMessaggiDiagnostici(this.getConnection());
}
public boolean tracciamentoBuste(){
return this.configurazionePdDReader.tracciamentoBuste(this.getConnection());
}
public Tracciamento getOpenSPCoopAppenderTracciamento(){
return this.configurazionePdDReader.getOpenSPCoopAppenderTracciamento(this.getConnection());
}
public Transazioni getTransazioniConfigurazione() {
return this.configurazionePdDReader.getTransazioniConfigurazione(this.getConnection());
}
public DumpConfigurazione getDumpConfigurazionePortaApplicativa() {
return this.configurazionePdDReader.getDumpConfigurazionePortaApplicativa(this.getConnection());
}
public DumpConfigurazione getDumpConfigurazionePortaDelegata() {
return this.configurazionePdDReader.getDumpConfigurazionePortaDelegata(this.getConnection());
}
public boolean dumpBinarioPD(){
return this.configurazionePdDReader.dumpBinarioPD(this.getConnection());
}
public boolean dumpBinarioPA(){
return this.configurazionePdDReader.dumpBinarioPA(this.getConnection());
}
public Dump getOpenSPCoopAppenderDump(){
return this.configurazionePdDReader.getOpenSPCoopAppenderDump(this.getConnection());
}
public GestioneErrore getGestioneErroreConnettoreComponenteCooperazione(IProtocolFactory<?> protocolFactory, ServiceBinding serviceBinding){
return this.configurazionePdDReader.getGestioneErroreConnettoreComponenteCooperazione(protocolFactory, serviceBinding, this.getConnection());
}
public GestioneErrore getGestioneErroreConnettoreComponenteIntegrazione(IProtocolFactory<?> protocolFactory, ServiceBinding serviceBinding){
return this.configurazionePdDReader.getGestioneErroreConnettoreComponenteIntegrazione(protocolFactory, serviceBinding, this.getConnection());
}
public String[] getIntegrationManagerAuthentication(){
return this.configurazionePdDReader.getIntegrationManagerAuthentication(this.getConnection());
}
public ValidazioneContenutiApplicativi getTipoValidazioneContenutoApplicativo(String implementazionePdDSoggetto) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getTipoValidazioneContenutoApplicativo(this.getConnection(), implementazionePdDSoggetto);
}
public Boolean isPDServiceActive(){
return this.configurazionePdDReader.isPDServiceActive();
}
public List<TipoFiltroAbilitazioneServizi> getFiltriAbilitazionePDService(){
return this.configurazionePdDReader.getFiltriAbilitazionePDService();
}
public List<TipoFiltroAbilitazioneServizi> getFiltriDisabilitazionePDService(){
return this.configurazionePdDReader.getFiltriDisabilitazionePDService();
}
public Boolean isPAServiceActive(){
return this.configurazionePdDReader.isPAServiceActive();
}
public List<TipoFiltroAbilitazioneServizi> getFiltriAbilitazionePAService(){
return this.configurazionePdDReader.getFiltriAbilitazionePAService();
}
public List<TipoFiltroAbilitazioneServizi> getFiltriDisabilitazionePAService(){
return this.configurazionePdDReader.getFiltriDisabilitazionePAService();
}
public Boolean isIMServiceActive(){
return this.configurazionePdDReader.isIMServiceActive();
}
public StatoServiziPdd getStatoServiziPdD() throws DriverConfigurazioneException{
return this.configurazionePdDReader.getStatoServiziPdD();
}
public void updateStatoServiziPdD(StatoServiziPdd servizi) throws DriverConfigurazioneException{
this.configurazionePdDReader.updateStatoServiziPdD(servizi);
}
public PolicyNegoziazioneToken getPolicyNegoziazioneToken(boolean forceNoCache, String policyName, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
boolean useRequestInfo = !forceNoCache && requestInfo!=null && requestInfo.getRequestConfig()!=null && policyName!=null;
if(useRequestInfo) {
Object o = requestInfo.getRequestConfig().getPolicyNegoziazioneToken(policyName);
if(o instanceof PolicyNegoziazioneToken) {
return (PolicyNegoziazioneToken) o;
}
}
PolicyNegoziazioneToken policy = this.configurazionePdDReader.getPolicyNegoziazioneToken(this.getConnection(), forceNoCache, policyName);
if(useRequestInfo) {
requestInfo.getRequestConfig().addPolicyNegoziazioneToken(policyName, policy,
requestInfo.getIdTransazione());
}
return policy;
}
public PolicyAttributeAuthority getPolicyAttributeAuthority(boolean forceNoCache, String policyName, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
boolean useRequestInfo = !forceNoCache && requestInfo!=null && requestInfo.getRequestConfig()!=null && policyName!=null;
if(useRequestInfo) {
Object o = requestInfo.getRequestConfig().getAttributeAuthority(policyName);
if(o instanceof PolicyAttributeAuthority) {
return (PolicyAttributeAuthority) o;
}
}
PolicyAttributeAuthority policy = this.configurazionePdDReader.getPolicyAttributeAuthority(this.getConnection(), forceNoCache, policyName);
if(useRequestInfo) {
requestInfo.getRequestConfig().addAttributeAuthority(policyName, policy,
requestInfo.getIdTransazione());
}
return policy;
}
public GenericProperties getGenericProperties(String tipologia, String nome) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getGenericProperties(this.getConnection(), tipologia, nome);
}
public List<GenericProperties> getGenericProperties(String tipologia) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getGenericProperties(this.getConnection(), tipologia);
}
public SystemProperties getSystemPropertiesPdDCached(RequestInfo requestInfo) throws DriverConfigurazioneException{
if(requestInfo!=null && requestInfo.getRequestConfig()!=null && requestInfo.getRequestConfig().getSystemProperties()!=null) {
return requestInfo.getRequestConfig().getSystemProperties();
}
SystemProperties sp = this.configurazionePdDReader.getSystemPropertiesPdDCached(this.getConnection());
if(requestInfo!=null && requestInfo.getRequestConfig()!=null && requestInfo.getRequestConfig().getSystemProperties()==null) {
requestInfo.getRequestConfig().setSystemProperties(sp);
}
return sp;
}
public SystemProperties getSystemPropertiesPdDNoCached(boolean forceDisableBYOKUse) throws DriverConfigurazioneException{
return this.configurazionePdDReader.getSystemPropertiesPdD(forceDisableBYOKUse);
}
public List<String> getEncryptedSystemPropertiesPdD() throws DriverConfigurazioneException{
return this.configurazionePdDReader.getEncryptedSystemPropertiesPdD();
}
public SystemProperties getSystemPropertiesPdD() throws DriverConfigurazioneException{
return this.configurazionePdDReader.getSystemPropertiesPdD(false);
}
public void updateSystemPropertiesPdD(SystemProperties systemProperties) throws DriverConfigurazioneException{
this.configurazionePdDReader.updateSystemPropertiesPdD(systemProperties);
}
public CorsConfigurazione getConfigurazioneCORS() throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getConfigurazioneCORS(this.getConnection());
}
public ConfigurazioneMultitenant getConfigurazioneMultitenant() throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getConfigurazioneMultitenant(this.getConnection());
}
public ResponseCachingConfigurazione getConfigurazioneResponseCaching() throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getConfigurazioneResponseCaching(this.getConnection());
}
public Cache getConfigurazioneResponseCachingCache() throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getConfigurazioneResponseCachingCache(this.getConnection());
}
public Cache getConfigurazioneConsegnaApplicativiCache() throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getConfigurazioneConsegnaApplicativiCache(this.getConnection());
}
public CanaliConfigurazione getCanaliConfigurazione() throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getCanaliConfigurazione(this.getConnection());
}
public ConfigurazioneCanaliNodo getConfigurazioneCanaliNodo() throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getConfigurazioneCanaliNodo(this.getConnection());
}
public UrlInvocazioneAPI getConfigurazioneUrlInvocazione(IProtocolFactory<?> protocolFactory, RuoloContesto ruolo, ServiceBinding serviceBinding,
String interfaceName, IDSoggetto soggettoOperativo,
IDAccordo idAccordo, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
AccordoServizioParteComune aspc = null;
try {
aspc = this.registroServiziManager.getAccordoServizioParteComune(idAccordo, null, false, false, requestInfo);
}catch(Exception e) {
throw new DriverConfigurazioneException(e.getMessage(),e);
}
return this.configurazionePdDReader.getConfigurazioneUrlInvocazione(this.getConnection(),
protocolFactory, ruolo, serviceBinding, interfaceName, soggettoOperativo,
aspc,
requestInfo);
}
public UrlInvocazioneAPI getConfigurazioneUrlInvocazione(IProtocolFactory<?> protocolFactory, RuoloContesto ruolo, ServiceBinding serviceBinding,
String interfaceName, IDSoggetto soggettoOperativo,
AccordoServizioParteComune aspc, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getConfigurazioneUrlInvocazione(this.getConnection(),
protocolFactory, ruolo, serviceBinding, interfaceName, soggettoOperativo,
aspc,
requestInfo);
}
public UrlInvocazioneAPI getConfigurazioneUrlInvocazione(IProtocolFactory<?> protocolFactory, RuoloContesto ruolo, ServiceBinding serviceBinding,
String interfaceName, IDSoggetto soggettoOperativo,
List<String> tags,
String canaleApi,
RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getConfigurazioneUrlInvocazione(this.getConnection(),
protocolFactory, ruolo, serviceBinding, interfaceName, soggettoOperativo,
tags,
canaleApi,
requestInfo);
}
public List<PolicyGroupByActiveThreadsType> getTipiGestoreRateLimiting() throws DriverConfigurazioneException {
return this.configurazionePdDReader.getTipiGestoreRateLimiting(this.getConnection());
}
public List<String> getInitHandlers() throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getInitHandlers(this.getConnection());
}
public List<String> getExitHandlers() throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getExitHandlers(this.getConnection());
}
public List<String> getIntegrationManagerRequestHandlers() throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getIntegrationManagerRequestHandlers(this.getConnection());
}
public List<String> getIntegrationManagerResponseHandlers() throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getIntegrationManagerResponseHandlers(this.getConnection());
}
public List<String> getPreInRequestHandlers() throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getPreInRequestHandlers(this.getConnection());
}
public List<String> getInRequestHandlers() throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getInRequestHandlers(this.getConnection());
}
public List<String> getInRequestProtocolHandlers() throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getInRequestProtocolHandlers(this.getConnection());
}
public List<String> getOutRequestHandlers() throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getOutRequestHandlers(this.getConnection());
}
public List<String> getPostOutRequestHandlers() throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getPostOutRequestHandlers(this.getConnection());
}
public List<String> getPreInResponseHandlers() throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getPreInResponseHandlers(this.getConnection());
}
public List<String> getInResponseHandlers() throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getInResponseHandlers(this.getConnection());
}
public List<String> getOutResponseHandlers() throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getOutResponseHandlers(this.getConnection());
}
public List<String> getPostOutResponseHandlers() throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getPostOutResponseHandlers(this.getConnection());
}
public List<Object> getExtendedInfoConfigurazione() throws DriverConfigurazioneException{
return this.configurazionePdDReader.getExtendedInfoConfigurazione(this.getConnection());
}
public Object getSingleExtendedInfoConfigurazione(String id) throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getSingleExtendedInfoConfigurazione(id, this.getConnection());
}
public List<Object> getExtendedInfoConfigurazioneFromCache() throws DriverConfigurazioneException{
return this.configurazionePdDReader.getExtendedInfoConfigurazioneFromCache(this.getConnection());
}
public Object getSingleExtendedInfoConfigurazioneFromCache(String id) throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getSingleExtendedInfoConfigurazioneFromCache(id, this.getConnection());
}
public Template getTemplatePolicyNegoziazioneRequest(String policyName, byte[] template, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getTemplatePolicyNegoziazioneRequest(this.getConnection(), policyName, template, requestInfo);
}
public Template getTemplateAttributeAuthorityRequest(String attributeAuthorityName, byte[] template, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getTemplateAttributeAuthorityRequest(this.getConnection(), attributeAuthorityName, template, requestInfo);
}
public Template getTemplateIntegrazione(File file, RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getTemplateIntegrazione(this.getConnection(), file, requestInfo);
}
/* ******** R I C E R C A I D E L E M E N T I P R I M I T I V I ******** */
public List<IDPortaDelegata> getAllIdPorteDelegate(FiltroRicercaPorteDelegate filtroRicerca) throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getAllIdPorteDelegate(filtroRicerca, this.getConnection());
}
public List<IDPortaApplicativa> getAllIdPorteApplicative(FiltroRicercaPorteApplicative filtroRicerca) throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getAllIdPorteApplicative(filtroRicerca, this.getConnection());
}
public List<IDServizioApplicativo> getAllIdServiziApplicativi(FiltroRicercaServiziApplicativi filtroRicerca) throws DriverConfigurazioneException, DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getAllIdServiziApplicativi(filtroRicerca, this.getConnection());
}
/* ******** CONTROLLO TRAFFICO ******** */
public ConfigurazioneGenerale getConfigurazioneControlloTraffico(RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
boolean useRequestInfo = requestInfo!=null && requestInfo.getRequestRateLimitingConfig()!=null;
if(useRequestInfo &&
(requestInfo.getRequestRateLimitingConfig().getConfigurazioneGenerale()!=null)
){
return requestInfo.getRequestRateLimitingConfig().getConfigurazioneGenerale();
}
ConfigurazioneGenerale config = this.configurazionePdDReader.getConfigurazioneControlloTraffico(this.getConnection());
if(useRequestInfo && requestInfo.getRequestRateLimitingConfig().getConfigurazioneGenerale()==null) {
requestInfo.getRequestRateLimitingConfig().setConfigurazioneGenerale(config);
}
return config;
}
public PolicyConfiguration getConfigurazionePolicyRateLimitingGlobali(RequestInfo requestInfo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
boolean useRequestInfo = requestInfo!=null && requestInfo.getRequestRateLimitingConfig()!=null;
if(useRequestInfo &&
(requestInfo.getRequestRateLimitingConfig().getConfigurazionePolicyRateLimitingGlobali()!=null)
){
Object o = requestInfo.getRequestRateLimitingConfig().getConfigurazionePolicyRateLimitingGlobali();
if(o instanceof PolicyConfiguration) {
return (PolicyConfiguration) o;
}
}
PolicyConfiguration config = this.configurazionePdDReader.getConfigurazionePolicyRateLimitingGlobali(this.getConnection());
if(useRequestInfo && requestInfo.getRequestRateLimitingConfig().getConfigurazionePolicyRateLimitingGlobali()==null) {
requestInfo.getRequestRateLimitingConfig().setConfigurazionePolicyRateLimitingGlobali(config);
}
return config;
}
public Map<TipoRisorsaPolicyAttiva, ElencoIdPolicyAttive> getElencoIdPolicyAttiveAPI(boolean useCache, TipoPdD tipoPdD, String nomePorta) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getElencoIdPolicyAttiveAPI(this.getConnection(), useCache, tipoPdD, nomePorta);
}
public Map<TipoRisorsaPolicyAttiva, ElencoIdPolicyAttive> getElencoIdPolicyAttiveGlobali(boolean useCache) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getElencoIdPolicyAttiveGlobali(this.getConnection(), useCache);
}
public Map<TipoRisorsaPolicyAttiva, ElencoIdPolicyAttive> getElencoIdPolicyAttiveAPIDimensioneMessaggio(boolean useCache, TipoPdD tipoPdD, String nomePorta) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getElencoIdPolicyAttiveAPIDimensioneMessaggio(this.getConnection(), useCache, tipoPdD, nomePorta);
}
public Map<TipoRisorsaPolicyAttiva, ElencoIdPolicyAttive> getElencoIdPolicyAttiveGlobaliDimensioneMessaggio(boolean useCache) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getElencoIdPolicyAttiveGlobaliDimensioneMessaggio(this.getConnection(), useCache);
}
public AttivazionePolicy getAttivazionePolicy(boolean useCache, String id) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getAttivazionePolicy(this.getConnection(), useCache, id);
}
public ElencoIdPolicy getElencoIdPolicy(boolean useCache) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getElencoIdPolicy(this.getConnection(), useCache);
}
public ConfigurazionePolicy getConfigurazionePolicy(boolean useCache, String id) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getConfigurazionePolicy(this.getConnection(), useCache, id);
}
/* ******** PLUGINS ******** */
public IRegistroPluginsReader getRegistroPluginsReader() {
return this.configurazionePdDReader.getRegistroPluginsReader();
}
public String getPluginClassName(String tipoPlugin, String tipo) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getPluginClassName(this.getConnection(), tipoPlugin, tipo);
}
public String getPluginClassNameByFilter(String tipoPlugin, String tipo, NameValue ... filtri) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getPluginClassNameByFilter(this.getConnection(), tipoPlugin, tipo, filtri);
}
public String getPluginTipo(String tipoPlugin, String className) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getPluginTipo(this.getConnection(), tipoPlugin, className);
}
public String getPluginTipoByFilter(String tipoPlugin, String className, NameValue ... filtri) throws DriverConfigurazioneException,DriverConfigurazioneNotFound{
return this.configurazionePdDReader.getPluginTipoByFilter(this.getConnection(), tipoPlugin, className, filtri);
}
/* ******** ALLARMI ******** */
public Allarme getAllarme(String nomeAllarme, boolean searchInCache) throws DriverConfigurazioneException,DriverConfigurazioneNotFound {
return this.configurazionePdDReader.getAllarme(this.getConnection(), nomeAllarme, searchInCache);
}
public List<Allarme> searchAllarmi(FiltroRicercaAllarmi filtroRicerca, boolean searchInCache) throws DriverConfigurazioneException,DriverConfigurazioneNotFound {
return this.configurazionePdDReader.searchAllarmi(this.getConnection(), filtroRicerca, searchInCache);
}
public List<IAlarm> instanceAllarmi(List<Allarme> listAllarmi) throws DriverConfigurazioneException {
return this.configurazionePdDReader.instanceAllarmi(this.getConnection(), listAllarmi);
}
public void changeStatus(IAlarm alarm, AlarmStatus nuovoStatoAllarme) throws DriverConfigurazioneException {
this.configurazionePdDReader.changeStatus(this.getConnection(), alarm, nuovoStatoAllarme);
}
/* ******** MAPPING ******** */
public List<MappingErogazionePortaApplicativa> getMappingErogazionePortaApplicativaList(IDServizio idServizio, RequestInfo requestInfo) throws DriverConfigurazioneException{
if(
(requestInfo!=null && requestInfo.getRequestConfig()!=null &&
idServizio!=null && requestInfo.getRequestConfig().getIdServizio()!=null )
&&
( requestInfo.getRequestConfig().getListMappingErogazionePortaApplicativa()!=null &&
idServizio.equals(requestInfo.getRequestConfig().getIdServizio(),false))
){
return requestInfo.getRequestConfig().getListMappingErogazionePortaApplicativa();
}
List<MappingErogazionePortaApplicativa> list = this.configurazionePdDReader.getMappingErogazionePortaApplicativaList(idServizio, this.getConnection());
if(requestInfo!=null && requestInfo.getRequestConfig()!=null && requestInfo.getRequestConfig().getListMappingErogazionePortaApplicativa()==null) {
requestInfo.getRequestConfig().setListMappingErogazionePortaApplicativa(list);
}
return list;
}
public List<MappingFruizionePortaDelegata> getMappingFruizionePortaDelegataList(IDSoggetto idFruitore, IDServizio idServizio, RequestInfo requestInfo) throws DriverConfigurazioneException{
if(
(requestInfo!=null && requestInfo.getRequestConfig()!=null &&
idServizio!=null && requestInfo.getRequestConfig().getIdServizio()!=null &&
idFruitore!=null && requestInfo.getRequestConfig().getIdFruitore()!=null)
&&
( requestInfo.getRequestConfig().getListMappingFruizionePortaDelegata()!=null &&
idServizio.equals(requestInfo.getRequestConfig().getIdServizio(),false) &&
idFruitore.equals(requestInfo.getRequestConfig().getIdFruitore()))
){
return requestInfo.getRequestConfig().getListMappingFruizionePortaDelegata();
}
List<MappingFruizionePortaDelegata> list = this.configurazionePdDReader.getMappingFruizionePortaDelegataList(idFruitore, idServizio, this.getConnection());
if(requestInfo!=null && requestInfo.getRequestConfig()!=null && requestInfo.getRequestConfig().getListMappingFruizionePortaDelegata()==null) {
requestInfo.getRequestConfig().setListMappingFruizionePortaDelegata(list);
}
return list;
}
/* ******** FORWARD PROXY ******** */
public boolean isForwardProxyEnabled(RequestInfo requestInfo) {
if(requestInfo!=null && requestInfo.getRequestConfig()!=null && requestInfo.getRequestConfig().getForwardProxyEnabled()!=null) {
return requestInfo.getRequestConfig().getForwardProxyEnabled();
}
boolean b = this.configurazionePdDReader.isForwardProxyEnabled();
if(requestInfo!=null && requestInfo.getRequestConfig()!=null && requestInfo.getRequestConfig().getForwardProxyEnabled()==null) {
requestInfo.getRequestConfig().setForwardProxyEnabled(b);
}
return b;
}
public ForwardProxy getForwardProxyConfigFruizione(IDSoggetto dominio, IDServizio idServizio, IDGenericProperties policy, RequestInfo requestInfo) throws DriverConfigurazioneException{
boolean useRequestInfo = requestInfo!=null && requestInfo.getRequestConfig()!=null && requestInfo.getRequestConfig().getForwardProxyEnabled()!=null;
String key = null;
if(useRequestInfo) {
key = ConfigurazionePdD._getKey_ForwardProxyConfig(true, dominio, idServizio, policy);
Object o = requestInfo.getRequestConfig().getForwardProxy(key);
if(o instanceof ForwardProxy) {
return (ForwardProxy) o;
}
}
ForwardProxy fp = this.configurazionePdDReader.getForwardProxyConfigFruizione(dominio, idServizio, policy, requestInfo);
if(useRequestInfo) {
requestInfo.getRequestConfig().addForwardProxy(key, fp,
requestInfo.getIdTransazione());
}
return fp;
}
public ForwardProxy getForwardProxyConfigErogazione(IDSoggetto dominio, IDServizio idServizio, IDGenericProperties policy, RequestInfo requestInfo) throws DriverConfigurazioneException{
boolean useRequestInfo = requestInfo!=null && requestInfo.getRequestConfig()!=null && requestInfo.getRequestConfig().getForwardProxyEnabled()!=null;
String key = null;
if(useRequestInfo) {
key = ConfigurazionePdD._getKey_ForwardProxyConfig(false, dominio, idServizio, policy);
Object o = requestInfo.getRequestConfig().getForwardProxy(key);
if(o instanceof ForwardProxy) {
return (ForwardProxy) o;
}
}
ForwardProxy fp = this.configurazionePdDReader.getForwardProxyConfigErogazione(dominio, idServizio, policy, requestInfo);
if(useRequestInfo) {
requestInfo.getRequestConfig().addForwardProxy(key, fp,
requestInfo.getIdTransazione());
}
return fp;
}
/* ******** GENERIC FILE ******** */
public ContentFile getContentFile(File file)throws DriverConfigurazioneException{
return this.configurazionePdDReader.getContentFile(file);
}
}