ErogazioniDetailsUtilities.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.web.ctrlstat.servlet.aps.erogazioni;
- import java.text.MessageFormat;
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.List;
- import java.util.Map;
- import java.util.Properties;
- import org.apache.commons.lang.StringUtils;
- import org.openspcoop2.core.allarmi.constants.RuoloPorta;
- import org.openspcoop2.core.config.AttributeAuthority;
- import org.openspcoop2.core.config.CanaleConfigurazione;
- import org.openspcoop2.core.config.CanaliConfigurazione;
- import org.openspcoop2.core.config.ConfigurazionePortaHandler;
- import org.openspcoop2.core.config.CorrelazioneApplicativa;
- import org.openspcoop2.core.config.CorrelazioneApplicativaRisposta;
- import org.openspcoop2.core.config.DumpConfigurazione;
- import org.openspcoop2.core.config.GestioneToken;
- import org.openspcoop2.core.config.GestioneTokenAutenticazione;
- import org.openspcoop2.core.config.InvocazioneServizio;
- import org.openspcoop2.core.config.MessageSecurity;
- import org.openspcoop2.core.config.MtomProcessor;
- import org.openspcoop2.core.config.PortaApplicativa;
- import org.openspcoop2.core.config.PortaApplicativaAutorizzazioneServizioApplicativo;
- import org.openspcoop2.core.config.PortaApplicativaAutorizzazioneSoggetto;
- import org.openspcoop2.core.config.PortaApplicativaServizioApplicativo;
- import org.openspcoop2.core.config.PortaDelegata;
- import org.openspcoop2.core.config.PortaDelegataLocalForward;
- import org.openspcoop2.core.config.PortaDelegataServizioApplicativo;
- import org.openspcoop2.core.config.PortaTracciamento;
- import org.openspcoop2.core.config.Proprieta;
- import org.openspcoop2.core.config.ResponseCachingConfigurazione;
- import org.openspcoop2.core.config.Ruolo;
- import org.openspcoop2.core.config.Scope;
- import org.openspcoop2.core.config.ServizioApplicativo;
- import org.openspcoop2.core.config.TrasformazioneRegola;
- import org.openspcoop2.core.config.Trasformazioni;
- import org.openspcoop2.core.config.ValidazioneContenutiApplicativi;
- import org.openspcoop2.core.config.constants.CostantiConfigurazione;
- import org.openspcoop2.core.config.constants.MTOMProcessorType;
- import org.openspcoop2.core.config.constants.RuoloContesto;
- import org.openspcoop2.core.config.constants.RuoloTipoMatch;
- import org.openspcoop2.core.config.constants.ScopeTipoMatch;
- import org.openspcoop2.core.config.constants.StatoFunzionalita;
- import org.openspcoop2.core.config.constants.StatoFunzionalitaConWarning;
- import org.openspcoop2.core.config.constants.TipoAutenticazione;
- import org.openspcoop2.core.config.constants.TipoAutenticazionePrincipal;
- import org.openspcoop2.core.config.constants.TipoAutorizzazione;
- import org.openspcoop2.core.constants.CostantiDB;
- import org.openspcoop2.core.constants.CostantiLabel;
- import org.openspcoop2.core.constants.TipiConnettore;
- import org.openspcoop2.core.controllo_traffico.AttivazionePolicy;
- import org.openspcoop2.core.controllo_traffico.constants.RuoloPolicy;
- 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.mapping.MappingErogazionePortaApplicativa;
- import org.openspcoop2.core.mapping.MappingFruizionePortaDelegata;
- import org.openspcoop2.core.mvc.properties.utils.ConfigManager;
- import org.openspcoop2.core.mvc.properties.utils.PropertiesSourceConfiguration;
- import org.openspcoop2.core.plugins.Plugin;
- import org.openspcoop2.core.plugins.constants.TipoPlugin;
- import org.openspcoop2.core.registry.AccordoServizioParteComune;
- import org.openspcoop2.core.registry.AccordoServizioParteSpecifica;
- import org.openspcoop2.core.registry.ConfigurazioneServizioAzione;
- import org.openspcoop2.core.registry.Connettore;
- import org.openspcoop2.core.registry.Fruitore;
- import org.openspcoop2.core.registry.Property;
- import org.openspcoop2.core.registry.Soggetto;
- import org.openspcoop2.core.registry.beans.AccordoServizioParteComuneSintetico;
- import org.openspcoop2.core.registry.beans.GruppoSintetico;
- import org.openspcoop2.core.registry.driver.DriverRegistroServiziException;
- import org.openspcoop2.core.registry.driver.DriverRegistroServiziNotFound;
- import org.openspcoop2.message.constants.ServiceBinding;
- import org.openspcoop2.monitor.engine.alarm.wrapper.ConfigurazioneAllarmeBean;
- import org.openspcoop2.pdd.config.UrlInvocazioneAPI;
- import org.openspcoop2.pdd.core.autenticazione.ParametriAutenticazioneApiKey;
- import org.openspcoop2.pdd.core.autorizzazione.CostantiAutorizzazione;
- import org.openspcoop2.pdd.core.connettori.ConnettoreUtils;
- import org.openspcoop2.pdd.logger.LogLevels;
- import org.openspcoop2.protocol.engine.constants.Costanti;
- import org.openspcoop2.protocol.utils.EsitiConfigUtils;
- import org.openspcoop2.protocol.utils.ModIUtils;
- import org.openspcoop2.utils.certificate.ocsp.OCSPManager;
- import org.openspcoop2.utils.properties.PropertiesUtilities;
- import org.openspcoop2.web.ctrlstat.core.ControlStationCore;
- import org.openspcoop2.web.ctrlstat.core.ConsoleSearch;
- import org.openspcoop2.web.ctrlstat.costanti.CostantiControlStation;
- import org.openspcoop2.web.ctrlstat.plugins.IExtendedListServlet;
- import org.openspcoop2.web.ctrlstat.servlet.ConsoleHelper;
- import org.openspcoop2.web.ctrlstat.servlet.apc.AccordiServizioParteComuneCore;
- import org.openspcoop2.web.ctrlstat.servlet.aps.AccordiServizioParteSpecificaCore;
- import org.openspcoop2.web.ctrlstat.servlet.aps.AccordiServizioParteSpecificaCostanti;
- import org.openspcoop2.web.ctrlstat.servlet.config.ConfigurazioneCore;
- import org.openspcoop2.web.ctrlstat.servlet.config.ConfigurazioneCostanti;
- import org.openspcoop2.web.ctrlstat.servlet.gruppi.GruppiCostanti;
- import org.openspcoop2.web.ctrlstat.servlet.pa.PorteApplicativeCore;
- import org.openspcoop2.web.ctrlstat.servlet.pa.PorteApplicativeCostanti;
- import org.openspcoop2.web.ctrlstat.servlet.pd.PorteDelegateCore;
- import org.openspcoop2.web.ctrlstat.servlet.pd.PorteDelegateCostanti;
- import org.openspcoop2.web.ctrlstat.servlet.pdd.PddCore;
- import org.openspcoop2.web.ctrlstat.servlet.ruoli.RuoliCostanti;
- import org.openspcoop2.web.ctrlstat.servlet.sa.ServiziApplicativiCore;
- import org.openspcoop2.web.ctrlstat.servlet.scope.ScopeCostanti;
- import org.openspcoop2.web.ctrlstat.servlet.soggetti.SoggettiCore;
- import org.openspcoop2.web.lib.mvc.DataElement;
- import org.openspcoop2.web.lib.mvc.ServletUtils;
- /**
- * ErogazioniDetailsUtilities
- *
- * @author Andrea Poli (poli@link.it)
- * @author $Author$
- * @version $Rev$, $Date$
- *
- */
- public class ErogazioniDetailsUtilities {
-
- public static String getDetailsErogazione(IDServizio idServizio,
- SoggettiCore soggettiCore, ConsoleHelper consoleHelper) throws Exception {
- return _getDetails(idServizio, null,
- soggettiCore, consoleHelper,
- null, null);
- }
- public static String getDetailsErogazione(IDServizio idServizio,
- SoggettiCore soggettiCore, ConsoleHelper consoleHelper,
- String separator, String newLine) throws Exception {
- return _getDetails(idServizio, null,
- soggettiCore, consoleHelper,
- separator, newLine);
- }
- public static String getDetailsFruizione(IDServizio idServizio, IDSoggetto idSoggettoFruitore,
- SoggettiCore soggettiCore, ConsoleHelper consoleHelper) throws Exception {
- return _getDetails(idServizio, idSoggettoFruitore,
- soggettiCore, consoleHelper,
- null, null);
- }
- public static String getDetailsFruizione(IDServizio idServizio, IDSoggetto idSoggettoFruitore,
- SoggettiCore soggettiCore, ConsoleHelper consoleHelper,
- String separator, String newLine) throws Exception {
- return _getDetails(idServizio, idSoggettoFruitore,
- soggettiCore, consoleHelper,
- separator, newLine);
- }
- private static String _getDetails(IDServizio idServizio, IDSoggetto idSoggettoFruitore,
- SoggettiCore soggettiCore, ConsoleHelper consoleHelper,
- String separator, String newLine) throws Exception {
-
- if(separator == null) {
- separator = ": ";
- }
- if(newLine == null) {
- newLine = "\n";
- }
-
- StringBuilder sb = new StringBuilder();
-
- boolean gestioneFruitori = idSoggettoFruitore!=null;
- boolean gestioneErogatori = !gestioneFruitori;
-
- PddCore pddCore = new PddCore(soggettiCore);
- AccordiServizioParteComuneCore apcCore = new AccordiServizioParteComuneCore(soggettiCore);
- AccordiServizioParteSpecificaCore apsCore = new AccordiServizioParteSpecificaCore(soggettiCore);
- ConfigurazioneCore confCore = new ConfigurazioneCore(soggettiCore);
- PorteApplicativeCore porteApplicativeCore = null;
- PorteDelegateCore porteDelegateCore = null;
- ServiziApplicativiCore saCore = null;
- if(gestioneErogatori) {
- porteApplicativeCore = new PorteApplicativeCore(soggettiCore);
- saCore = new ServiziApplicativiCore(soggettiCore);
- }
- else {
- porteDelegateCore = new PorteDelegateCore(soggettiCore);
- }
-
- boolean showSoggettoErogatoreInErogazioni = false;
- boolean showSoggettoFruitoreInFruizioni = false;
- if(gestioneErogatori) {
- showSoggettoErogatoreInErogazioni = soggettiCore.isMultitenant() &&
- !consoleHelper.isSoggettoMultitenantSelezionato();
- }
- else {
- showSoggettoFruitoreInFruizioni = gestioneFruitori && soggettiCore.isMultitenant() &&
- !consoleHelper.isSoggettoMultitenantSelezionato();
- }
-
-
- // *** inizializzo oggetti ***
-
- String protocollo = soggettiCore.getProtocolloAssociatoTipoSoggetto(idServizio.getSoggettoErogatore().getTipo());
- //org.openspcoop2.protocol.sdk.IProtocolFactory<?> protocolFactory = org.openspcoop2.protocol.engine.ProtocolFactoryManager.getInstance().getProtocolFactoryByName(protocollo);
- String labelProtocollo = consoleHelper.getLabelProtocollo(protocollo);
- boolean showProtocolli = consoleHelper.getSession()!=null ? (soggettiCore.countProtocolli(consoleHelper.getRequest(), consoleHelper.getSession())>1) : true;
-
- AccordoServizioParteSpecifica asps = apsCore.getServizio(idServizio);
- AccordoServizioParteComuneSintetico as = apcCore.getAccordoServizioSintetico(asps.getIdAccordo());
- AccordoServizioParteComune asFull = apcCore.getAccordoServizioFull(asps.getIdAccordo());
- ServiceBinding serviceBinding = apcCore.toMessageServiceBinding(as.getServiceBinding());
-
- idServizio.setPortType(asps.getPortType());
- idServizio.setUriAccordoServizioParteComune(asps.getAccordoServizioParteComune());
-
- Soggetto sog = soggettiCore.getSoggettoRegistro(asps.getIdSoggetto());
- boolean isPddEsterna = pddCore.isPddEsterna(sog.getPortaDominio());
-
- List<MappingErogazionePortaApplicativa> listaMappingErogazionePortaApplicativa = new ArrayList<>();
- List<PortaApplicativa> listaPorteApplicativeAssociate = new ArrayList<>();
- if(gestioneErogatori) {
- // lettura delle configurazioni associate
- listaMappingErogazionePortaApplicativa = apsCore.mappingServiziPorteAppList(idServizio,asps.getId(), null);
- for(MappingErogazionePortaApplicativa mappinErogazione : listaMappingErogazionePortaApplicativa) {
- listaPorteApplicativeAssociate.add(porteApplicativeCore.getPortaApplicativa(mappinErogazione.getIdPortaApplicativa()));
- }
- }
- List<MappingFruizionePortaDelegata> listaMappingFruzionePortaDelegata = new ArrayList<>();
- List<PortaDelegata> listaPorteDelegateAssociate = new ArrayList<>();
- Fruitore fruitore = null;
- if(gestioneFruitori) {
- // In questa modalità ci deve essere un fruitore indirizzato
- for (Fruitore check : asps.getFruitoreList()) {
- if(check.getTipo().equals(idSoggettoFruitore.getTipo()) && check.getNome().equals(idSoggettoFruitore.getNome())) {
- fruitore = check;
- break;
- }
- }
- if(fruitore!=null) {
- listaMappingFruzionePortaDelegata = apsCore.serviziFruitoriMappingList(fruitore.getId(), idSoggettoFruitore, idServizio, null);
- for(MappingFruizionePortaDelegata mappingFruizione : listaMappingFruzionePortaDelegata) {
- listaPorteDelegateAssociate.add(porteDelegateCore.getPortaDelegata(mappingFruizione.getIdPortaDelegata()));
- }
- }
- }
-
-
- // *** maschera principale ***
-
- sb.append("=== Informazioni Generali ===");
-
- // Nome
- //String labelServizio = gestioneFruitori ? consoleHelper.getLabelIdServizioSenzaErogatore(idServizio) : consoleHelper.getLabelIdServizioSenzaErogatore(idServizio);
- String labelServizio = consoleHelper.getLabelIdServizioSenzaErogatore(idServizio);
- String labelServizioConPortType = labelServizio;
- if(asps.getPortType()!=null && !"".equals(asps.getPortType()) && !asps.getNome().equals(asps.getPortType())) {
- labelServizioConPortType = labelServizioConPortType +" ("+asps.getPortType()+")";
- }
- sb.append(newLine);
- sb.append(ErogazioniCostanti.LABEL_ASPS_MODIFICA_SERVIZIO_NOME);
- sb.append(separator);
- sb.append(labelServizioConPortType);
-
- // Stato
- if(gestioneErogatori && listaMappingErogazionePortaApplicativa.size()==1) {
- PortaApplicativa pa = porteApplicativeCore.getPortaApplicativa(listaMappingErogazionePortaApplicativa.get(0).getIdPortaApplicativa());
- boolean statoPA = pa.getStato().equals(StatoFunzionalita.ABILITATO);
- String statoMapping = statoPA ? CostantiControlStation.LABEL_STATO_ABILITATO : CostantiControlStation.LABEL_STATO_DISABILITATO;
- sb.append(newLine);
- sb.append(PorteApplicativeCostanti.LABEL_PARAMETRO_PORTE_APPLICATIVE_STATO_PORTA);
- sb.append(separator);
- sb.append(statoMapping);
- }
- else if(gestioneFruitori && listaPorteDelegateAssociate.size()==1) {
- PortaDelegata pd = porteDelegateCore.getPortaDelegata(listaMappingFruzionePortaDelegata.get(0).getIdPortaDelegata());
- boolean statoPD = pd.getStato().equals(StatoFunzionalita.ABILITATO);
- String statoMapping = statoPD ? CostantiControlStation.LABEL_STATO_ABILITATO : CostantiControlStation.LABEL_STATO_DISABILITATO;
- sb.append(newLine);
- sb.append(PorteDelegateCostanti.LABEL_PARAMETRO_PORTE_DELEGATE_STATO_PORTA);
- sb.append(separator);
- sb.append(statoMapping);
- }
-
- // soggetto erogatore
- if(gestioneFruitori || showSoggettoErogatoreInErogazioni) {
- String labelSoggetto = consoleHelper.getLabelNomeSoggetto(protocollo,asps.getTipoSoggettoErogatore(),asps.getNomeSoggettoErogatore());
- sb.append(newLine);
- sb.append(AccordiServizioParteSpecificaCostanti.LABEL_APS_SOGGETTO_EROGATORE);
- sb.append(separator);
- sb.append(labelSoggetto);
- }
-
- // API
- String labelAPI = consoleHelper.getLabelIdAccordo(as);
- String labelServiceBinding = null;
- switch (serviceBinding) {
- case REST:
- labelServiceBinding= CostantiControlStation.LABEL_PARAMETRO_SERVICE_BINDING_REST;
- break;
- case SOAP:
- default:
- labelServiceBinding= CostantiControlStation.LABEL_PARAMETRO_SERVICE_BINDING_SOAP;
- break;
- }
- sb.append(newLine);
- sb.append(AccordiServizioParteSpecificaCostanti.LABEL_PARAMETRO_APS_ACCORDO);
- sb.append(separator);
- sb.append(MessageFormat.format(ErogazioniCostanti.MESSAGE_METADATI_SERVIZIO_EROGAZIONI_EDIT, labelServiceBinding, labelAPI));
-
- // Tag
- List<GruppoSintetico> gruppi = as.getGruppo();
- if(gruppi != null && !gruppi.isEmpty()) {
- StringBuilder sbTags = new StringBuilder();
- for (int i = 0; i < gruppi.size(); i++) {
- GruppoSintetico gruppo = gruppi.get(i);
- if(sbTags.length()>0) {
- sbTags.append(",");
- }
- sbTags.append(gruppo.getNome());
- }
- sb.append(newLine);
- sb.append(GruppiCostanti.LABEL_GRUPPI);
- sb.append(separator);
- sb.append(sbTags.toString());
- }
-
- // Profilo InteroperabilitÃ
- if(showProtocolli) {
- sb.append(newLine);
- sb.append(AccordiServizioParteSpecificaCostanti.LABEL_PARAMETRO_APS_PROTOCOLLO);
- sb.append(separator);
- sb.append(labelProtocollo);
- }
-
- // Fruitore
- if(showSoggettoFruitoreInFruizioni) {
- sb.append(newLine);
- sb.append(AccordiServizioParteSpecificaCostanti.LABEL_APS_SOGGETTO_FRUITORE);
- sb.append(separator);
- sb.append(consoleHelper.getLabelNomeSoggetto(protocollo,fruitore.getTipo(),fruitore.getNome()));
- }
-
- boolean connettoreStatic = false;
- if(gestioneFruitori) {
- connettoreStatic = apsCore.isConnettoreStatic(protocollo);
- }
-
- String urlInvocazione = null;
- String urlConnettoreFruitoreModI = null;
- if(gestioneErogatori) {
-
- IDPortaApplicativa idPA = null;
- PortaApplicativa paDefault = null;
- String canalePorta = null;
-
- // Url Invocazione
- if(!isPddEsterna){
- idPA = porteApplicativeCore.getIDPortaApplicativaAssociataDefault(idServizio);
- paDefault = porteApplicativeCore.getPortaApplicativa(idPA);
- canalePorta = paDefault.getCanale();
- boolean analizeProxyPassRules = true;
- UrlInvocazioneAPI urlInvocazioneConfig = confCore.getConfigurazioneUrlInvocazione(protocollo, RuoloContesto.PORTA_APPLICATIVA, serviceBinding, paDefault.getNome(),
- new IDSoggetto(paDefault.getTipoSoggettoProprietario(), paDefault.getNomeSoggettoProprietario()),
- as, paDefault.getCanale(),
- analizeProxyPassRules);
- urlInvocazione = urlInvocazioneConfig.getUrl();
- } else {
- urlInvocazione = "-";
- }
- sb.append(newLine);
- sb.append(PorteApplicativeCostanti.LABEL_PARAMETRO_TITOLO_PORTE_APPLICATIVE_DATI_INVOCAZIONE);
- sb.append(separator);
- sb.append(urlInvocazione);
-
- // CORS
- sb.append(newLine);
- sb.append(ConfigurazioneCostanti.LABEL_CONFIGURAZIONE_CORS);
- sb.append(separator);
- sb.append(consoleHelper.getStatoGestioneCorsPortaApplicativa(paDefault, false));
-
- // Canale
- for (int i = 0; i < listaPorteApplicativeAssociate.size(); i++) {
- PortaApplicativa paAssociata = listaPorteApplicativeAssociate.get(i);
- MappingErogazionePortaApplicativa mapping = listaMappingErogazionePortaApplicativa.get(i);
- if(mapping.isDefault()) {
- canalePorta = paAssociata.getCanale();
- break;
- }
- }
- CanaliConfigurazione gestioneCanali = confCore.getCanaliConfigurazione(false);
- boolean gestioneCanaliEnabled = gestioneCanali != null && org.openspcoop2.core.config.constants.StatoFunzionalita.ABILITATO.equals(gestioneCanali.getStato());
- if(gestioneCanaliEnabled) {
- sb.append(newLine);
- sb.append(ConfigurazioneCostanti.LABEL_CONFIGURAZIONE_CANALE);
- sb.append(separator);
- String canaleNome = canalePorta;
- if(canaleNome == null) { // default
- String canaleAPINome = as.getCanale();
- if(canaleAPINome == null) { // default sistema
- List<CanaleConfigurazione> canaleList = gestioneCanali != null ? gestioneCanali.getCanaleList() : new ArrayList<>();
- CanaleConfigurazione canaleConfigurazioneDefault = consoleHelper.getCanaleDefault(canaleList);
- canaleNome = canaleConfigurazioneDefault.getNome();
- }
- else { // default API
- canaleNome = canaleAPINome;
- }
- }
- sb.append(canaleNome);
- }
-
- // Opzioni Avanzate
- if(!consoleHelper.isModalitaStandard() && apsCore.getMessageEngines()!=null && !apsCore.getMessageEngines().isEmpty()) {
- sb.append(newLine);
- sb.append(PorteApplicativeCostanti.LABEL_PARAMETRO_PORTE_APPLICATIVE_OPZIONI_AVANZATE);
- sb.append(separator);
- sb.append(consoleHelper.getStatoOpzioniAvanzatePortaApplicativaDefault(paDefault));
- }
-
-
- // Connettore
- // Quello di default si visualizza sempre in questa posizione.
- // Eventuali altri connettori redefiniti, vengono visualizzati dopo la configurazione del gruppo
-
- sb.append(newLine);
- sb.append(newLine);
- sb.append("=== Connettore ===");
-
- printConnettoreErogazione(paDefault, paDefault,
- saCore, consoleHelper,
- sb,
- separator, newLine);
-
- }
- else {
-
- IDPortaDelegata idPD = porteDelegateCore.getIDPortaDelegataAssociataDefault(idServizio, idSoggettoFruitore);
- PortaDelegata pdDefault = porteDelegateCore.getPortaDelegata(idPD);
- String canalePorta = pdDefault.getCanale();
-
- // Url Invocazione
- boolean analizeProxyPassRules = true;
- UrlInvocazioneAPI urlInvocazioneConf = confCore.getConfigurazioneUrlInvocazione(protocollo, RuoloContesto.PORTA_DELEGATA, serviceBinding, pdDefault.getNome(), idSoggettoFruitore,
- as, pdDefault.getCanale(),
- analizeProxyPassRules);
- urlInvocazione = urlInvocazioneConf.getUrl();
- sb.append(newLine);
- sb.append(PorteDelegateCostanti.LABEL_PARAMETRO_TITOLO_PORTE_DELEGATE_DATI_INVOCAZIONE);
- sb.append(separator);
- sb.append(urlInvocazione);
-
- // CORS
- sb.append(newLine);
- sb.append(ConfigurazioneCostanti.LABEL_CONFIGURAZIONE_CORS);
- sb.append(separator);
- sb.append(consoleHelper.getStatoGestioneCorsPortaDelegata(pdDefault, false));
-
- // Canale
- CanaliConfigurazione gestioneCanali = confCore.getCanaliConfigurazione(false);
- boolean gestioneCanaliEnabled = gestioneCanali != null && org.openspcoop2.core.config.constants.StatoFunzionalita.ABILITATO.equals(gestioneCanali.getStato());
- if(gestioneCanaliEnabled) {
- sb.append(newLine);
- sb.append(ConfigurazioneCostanti.LABEL_CONFIGURAZIONE_CANALE);
- sb.append(separator);
- String canaleNome = canalePorta;
- if(canaleNome == null) { // default
- String canaleAPINome = as.getCanale();
- if(canaleAPINome == null) { // default sistema
- List<CanaleConfigurazione> canaleList = gestioneCanali != null ? gestioneCanali.getCanaleList() : new ArrayList<>();
- CanaleConfigurazione canaleConfigurazioneDefault = canaleList.stream().filter((c) -> c.isCanaleDefault()).findFirst().get();
- canaleNome = canaleConfigurazioneDefault.getNome();
- }
- else { // default API
- canaleNome = canaleAPINome;
- }
- }
- sb.append(canaleNome);
- }
-
- // Opzioni Avanzate
- if(!consoleHelper.isModalitaStandard() && apsCore.getMessageEngines()!=null && !apsCore.getMessageEngines().isEmpty()) {
- sb.append(newLine);
- sb.append(PorteDelegateCostanti.LABEL_PARAMETRO_PORTE_DELEGATE_OPZIONI_AVANZATE);
- sb.append(separator);
- sb.append(consoleHelper.getStatoOpzioniAvanzatePortaDelegataDefault(pdDefault));
- }
-
- // Connettore
- // Quello di default si visualizza sempre in questa posizione.
- // Eventuali altri connettori redefiniti, vengono visualizzati dopo la configurazione del gruppo
-
- org.openspcoop2.core.registry.Connettore connettore = null;
- if(fruitore!=null) {
- connettore = fruitore.getConnettore();
- }
- if(connettore!=null && connettore.sizePropertyList()>0) {
- for (Property p : connettore.getPropertyList()) {
- if(CostantiDB.CONNETTORE_HTTP_LOCATION.equals(p.getNome())) {
- urlConnettoreFruitoreModI = p.getValore();
- }
- }
- }
-
- sb.append(newLine);
- sb.append(newLine);
- sb.append("=== Connettore ===");
-
- printConnettoreFruizione(consoleHelper,
- connettore, null,
- connettoreStatic,
- sb,
- separator, newLine);
-
- }
-
-
-
- // Configurazioni (+ connetori ridefiniti)
-
- if(gestioneErogatori) {
- PortaApplicativa paDefault = null;
- PortaApplicativaServizioApplicativo paSADefault=null;
- for (int i = 0; i < listaPorteApplicativeAssociate.size(); i++) {
- MappingErogazionePortaApplicativa mapping = listaMappingErogazionePortaApplicativa.get(i);
- if(mapping.isDefault()) {
- paDefault = listaPorteApplicativeAssociate.get(i);
- paSADefault = paDefault.getServizioApplicativoList().get(0);
- break;
- }
- }
- for (int i = 0; i < listaPorteApplicativeAssociate.size(); i++) {
-
- PortaApplicativa paAssociata = listaPorteApplicativeAssociate.get(i);
- MappingErogazionePortaApplicativa mapping = listaMappingErogazionePortaApplicativa.get(i);
-
- sb.append(newLine);
- sb.append(newLine);
- String labelGruppo = null;
- if(listaPorteApplicativeAssociate.size()==1) {
- sb.append("=== Configurazione ===");
- }
- else {
- labelGruppo = mapping.getDescrizione();
- if(mapping.isDefault()) {
- if(labelGruppo==null || StringUtils.isEmpty(labelGruppo)) {
- labelGruppo = org.openspcoop2.core.constants.Costanti.MAPPING_DESCRIZIONE_DEFAULT;
- }
- }
- sb.append("=== Configurazione Gruppo '"+labelGruppo+"' ===");
- }
-
- printConfigurazioneControlloAccessiErogazione(consoleHelper, soggettiCore, protocollo,
- paAssociata,
- sb,
- separator, newLine);
-
- printConfigurazioneRateLimiting(consoleHelper, soggettiCore,
- false, paAssociata.getNome(),
- sb,
- separator, newLine);
-
- printConfigurazioneValidazioneContenutiApplicativi(consoleHelper, soggettiCore,
- asFull, paAssociata.getValidazioneContenutiApplicativi(),
- sb,
- separator, newLine);
-
- printConfigurazioneResponseCaching(consoleHelper, soggettiCore,
- paAssociata.getResponseCaching(),
- sb,
- separator, newLine);
-
- printConfigurazioneMessageSecurity(consoleHelper, soggettiCore,
- paAssociata.getMessageSecurity(),
- sb,
- separator, newLine);
-
- printConfigurazioneMTOM(consoleHelper, soggettiCore,
- paAssociata.getMtomProcessor(),
- sb,
- separator, newLine);
-
- printConfigurazioneTrasformazioni(consoleHelper, soggettiCore,
- asFull, paAssociata.getTrasformazioni(),
- sb,
- separator, newLine);
-
- printConfigurazioneTracciamento(consoleHelper, soggettiCore,
- paAssociata.getCorrelazioneApplicativa(),
- paAssociata.getCorrelazioneApplicativaRisposta(),
- paAssociata.getTracciamento(),
- sb,
- separator, newLine);
-
- printConfigurazioneRegistrazioneMessaggi(consoleHelper, soggettiCore,
- paAssociata.getDump(),
- sb,
- separator, newLine);
-
- printConfigurazioneAllarmi(consoleHelper, soggettiCore,
- false, paAssociata.getNome(),
- sb,
- separator, newLine);
-
- printConfigurazioneProperties(consoleHelper, soggettiCore,
- paAssociata.getProprietaList(),
- sb,
- separator, newLine);
-
- printConfigurazionePortaApplicativaExtended(consoleHelper, soggettiCore,
- protocollo, paAssociata, mapping,
- sb,
- separator, newLine);
-
- String behaviour = (!soggettiCore.isConnettoriMultipliEnabled() && paAssociata.getBehaviour()!=null) ? paAssociata.getBehaviour().getNome() : null;
- printConfigurazioneAltro(consoleHelper, soggettiCore,
- protocollo, asFull,
- paAssociata.getAllegaBody(), paAssociata.getScartaBody(),
- paAssociata.getIntegrazione(), behaviour,
- paAssociata.getProprietaRateLimitingList(),
- paAssociata.getStateless(), null,
- paAssociata.getRicevutaAsincronaSimmetrica(), paAssociata.getRicevutaAsincronaAsimmetrica(),
- paAssociata.getGestioneManifest(), paAssociata.getConfigurazioneHandler(),
- sb,
- separator, newLine);
-
- PortaApplicativaServizioApplicativo portaApplicativaAssociataServizioApplicativo = paAssociata.getServizioApplicativoList().get(0);
- boolean connettoreConfigurazioneRidefinito = consoleHelper.isConnettoreRidefinito(paDefault, paSADefault, paAssociata, portaApplicativaAssociataServizioApplicativo, paAssociata.getServizioApplicativoList());
- if(!mapping.isDefault() && connettoreConfigurazioneRidefinito) {
-
- sb.append(newLine);
- sb.append(newLine);
- sb.append("=== Connettore Gruppo '"+labelGruppo+"' ===");
-
- printConnettoreErogazione(paDefault, paAssociata,
- saCore, consoleHelper,
- sb,
- separator, newLine);
- }
- }
- }
- else {
- for (int i = 0; i < listaPorteDelegateAssociate.size(); i++) {
- PortaDelegata pdAssociata = listaPorteDelegateAssociate.get(i);
- MappingFruizionePortaDelegata mapping = listaMappingFruzionePortaDelegata.get(i);
-
- sb.append(newLine);
- sb.append(newLine);
- String labelGruppo = null;
- if(listaPorteDelegateAssociate.size()==1) {
- sb.append("=== Configurazione ===");
- }
- else {
- labelGruppo = mapping.getDescrizione();
- if(mapping.isDefault()) {
- if(labelGruppo==null || StringUtils.isEmpty(labelGruppo)) {
- labelGruppo = org.openspcoop2.core.constants.Costanti.MAPPING_DESCRIZIONE_DEFAULT;
- }
- }
- sb.append("=== Configurazione Gruppo '"+labelGruppo+"' ===");
- }
-
- printConfigurazioneControlloAccessiFruizione(consoleHelper, soggettiCore, protocollo,
- pdAssociata,
- sb,
- separator, newLine);
-
- printConfigurazioneRateLimiting(consoleHelper, soggettiCore,
- true, pdAssociata.getNome(),
- sb,
- separator, newLine);
-
- printConfigurazioneValidazioneContenutiApplicativi(consoleHelper, soggettiCore,
- asFull, pdAssociata.getValidazioneContenutiApplicativi(),
- sb,
- separator, newLine);
-
- printConfigurazioneResponseCaching(consoleHelper, soggettiCore,
- pdAssociata.getResponseCaching(),
- sb,
- separator, newLine);
-
- printConfigurazioneMessageSecurity(consoleHelper, soggettiCore,
- pdAssociata.getMessageSecurity(),
- sb,
- separator, newLine);
-
- printConfigurazioneMTOM(consoleHelper, soggettiCore,
- pdAssociata.getMtomProcessor(),
- sb,
- separator, newLine);
-
- printConfigurazioneTrasformazioni(consoleHelper, soggettiCore,
- asFull, pdAssociata.getTrasformazioni(),
- sb,
- separator, newLine);
-
- printConfigurazioneTracciamento(consoleHelper, soggettiCore,
- pdAssociata.getCorrelazioneApplicativa(),
- pdAssociata.getCorrelazioneApplicativaRisposta(),
- pdAssociata.getTracciamento(),
- sb,
- separator, newLine);
-
- printConfigurazioneRegistrazioneMessaggi(consoleHelper, soggettiCore,
- pdAssociata.getDump(),
- sb,
- separator, newLine);
-
- printConfigurazioneAllarmi(consoleHelper, soggettiCore,
- true, pdAssociata.getNome(),
- sb,
- separator, newLine);
-
- printConfigurazioneProperties(consoleHelper, soggettiCore,
- pdAssociata.getProprietaList(),
- sb,
- separator, newLine);
- printConfigurazioneAltro(consoleHelper, soggettiCore,
- protocollo, asFull,
- pdAssociata.getAllegaBody(), pdAssociata.getScartaBody(),
- pdAssociata.getIntegrazione(), null,
- pdAssociata.getProprietaRateLimitingList(),
- pdAssociata.getStateless(), pdAssociata.getLocalForward(),
- pdAssociata.getRicevutaAsincronaSimmetrica(), pdAssociata.getRicevutaAsincronaAsimmetrica(),
- pdAssociata.getGestioneManifest(), pdAssociata.getConfigurazioneHandler(),
- sb,
- separator, newLine);
-
- printConfigurazionePortaDelegataExtended(consoleHelper, soggettiCore,
- protocollo, pdAssociata, mapping,
- sb,
- separator, newLine);
-
- boolean connettoreConfigurazioneRidefinito = false;
- Connettore connettore = fruitore.getConnettore();
- if(!mapping.isDefault()) {
- List<String> listaAzioni = pdAssociata.getAzione().getAzioneDelegataList();
-
- String azioneConnettore = null;
- if(listaAzioni!=null && listaAzioni.size()>0) {
- azioneConnettore = listaAzioni.get(0);
- }
-
- if(azioneConnettore!=null && !"".equals(azioneConnettore)) {
- for (ConfigurazioneServizioAzione check : fruitore.getConfigurazioneAzioneList()) {
- if(check.getAzioneList().contains(azioneConnettore)) {
- connettore = check.getConnettore();
- connettoreConfigurazioneRidefinito = true;
- break;
- }
- }
- }
- }
- if(!mapping.isDefault() && connettoreConfigurazioneRidefinito) {
-
- sb.append(newLine);
- sb.append(newLine);
- sb.append("=== Connettore Gruppo '"+labelGruppo+"' ===");
-
- printConnettoreFruizione(consoleHelper,
- connettore, labelGruppo,
- connettoreStatic,
- sb,
- separator, newLine);
-
- }
- }
- }
-
-
- // Altra sezione dedicata a ModI
- /**org.openspcoop2.protocol.sdk.properties.IConsoleDynamicConfiguration consoleDynamicConfiguration = protocolFactory.createDynamicConfigurationConsole();
- org.openspcoop2.protocol.sdk.registry.IRegistryReader registryReader = apcCore.getRegistryReader(protocolFactory);
- org.openspcoop2.protocol.sdk.registry.IConfigIntegrationReader configRegistryReader = apcCore.getConfigIntegrationReader(protocolFactory);
- org.openspcoop2.protocol.sdk.properties.ConsoleConfiguration consoleConfiguration = null;
- if(gestioneErogatori) {
- consoleConfiguration = consoleDynamicConfiguration.getDynamicConfigAccordoServizioParteSpecifica(org.openspcoop2.protocol.sdk.constants.ConsoleOperationType.CHANGE, consoleHelper,
- registryReader, configRegistryReader, idServizio );
- }
- else {
- org.openspcoop2.core.id.IDFruizione idFruizione = new org.openspcoop2.core.id.IDFruizione();
- idFruizione.setIdServizio(idServizio);
- idFruizione.setIdFruitore(idSoggettoFruitore);
- consoleConfiguration = consoleDynamicConfiguration.getDynamicConfigFruizioneAccordoServizioParteSpecifica(org.openspcoop2.protocol.sdk.constants.ConsoleOperationType.CHANGE, consoleHelper,
- registryReader, configRegistryReader, idFruizione);
- }
- boolean modificaDatiProfilo = false;
- if(consoleConfiguration!=null && consoleConfiguration.getConsoleItem()!=null && !consoleConfiguration.getConsoleItem().isEmpty()) {
- modificaDatiProfilo = true;
- }*/
- boolean modificaDatiProfilo = true; // va sempre controllato, anche solo per visualizzare la sicurezza canale
- if(modificaDatiProfilo && Costanti.MODIPA_PROTOCOL_NAME.equals(protocollo)) {
-
- Map<String, String> map = ModIUtils.configToMap(asFull, asps, urlInvocazione, fruitore, urlConnettoreFruitoreModI);
-
- boolean rest = org.openspcoop2.core.registry.constants.ServiceBinding.REST.equals(as.getServiceBinding());
-
- boolean digest = "true".equals(map.get(ModIUtils.INTEGRITY));
- boolean corniceSicurezza = "true".equals(map.get(ModIUtils.CORNICE_SICUREZZA));
- String patternDatiCorniceSicurezza = null;
- String schemaDatiCorniceSicurezza = null;
- if(corniceSicurezza) {
- patternDatiCorniceSicurezza = map.get(ModIUtils.CORNICE_SICUREZZA_PATTERN);
- schemaDatiCorniceSicurezza = map.get(ModIUtils.CORNICE_SICUREZZA_SCHEMA);
- }
- boolean headerDuplicati = "true".equals(map.get(ModIUtils.HEADER_DUPLICATI));
-
- sb.append(newLine);
- sb.append(newLine);
- sb.append("=== "+labelProtocollo+" ===");
-
- // sicurezza canale
- sb.append(newLine);
- sb.append(CostantiLabel.MODIPA_API_PROFILO_CANALE_LABEL);
- sb.append(separator);
- String v = map.get(ModIUtils.API_SICUREZZA_CANALE_PATTERN);
- if(StringUtils.isNotEmpty(v)) {
- sb.append(v);
- }
- else {
- sb.append("-");
- }
-
- // sicurezza messaggio
- boolean sicurezzaMessaggio = false;
- sb.append(newLine);
- sb.append(CostantiLabel.MODIPA_API_PROFILO_SICUREZZA_MESSAGGIO_LABEL);
- sb.append(separator);
- v = map.get(ModIUtils.API_SICUREZZA_MESSAGGIO_PATTERN);
- if(StringUtils.isNotEmpty(v)) {
- sb.append(v);
- sicurezzaMessaggio = true;
- }
- else {
- sb.append("-");
- }
-
- if(sicurezzaMessaggio) {
-
- // Sorgente Token
- v = map.get(ModIUtils.API_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_ID_AUTH);
- if(StringUtils.isNotEmpty(v)) {
- sb.append(newLine);
- sb.append(CostantiLabel.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH);
- sb.append(separator);
- sb.append(v);
- }
-
- if(rest) {
-
- // Header
- v = map.get(ModIUtils.API_SICUREZZA_MESSAGGIO_HTTP_HEADER);
- if(StringUtils.isNotEmpty(v)) {
- sb.append(newLine);
- sb.append(CostantiLabel.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_LABEL);
- sb.append(separator);
- sb.append(v);
- }
-
- }
-
- // Applicabilita
- v = map.get(ModIUtils.API_SICUREZZA_MESSAGGIO_APPLICABILITA);
- if(StringUtils.isNotEmpty(v)) {
- sb.append(newLine);
- sb.append(CostantiLabel.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_LABEL);
- sb.append(separator);
- sb.append(v);
- }
-
- // Request Digest
- sb.append(newLine);
- sb.append(CostantiLabel.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_REQUEST_DIGEST_LABEL);
- sb.append(separator);
- sb.append(map.get(ModIUtils.API_SICUREZZA_MESSAGGIO_REQUEST_DIGEST));
-
- // CorniceSicurezza
- sb.append(newLine);
- sb.append(CostantiLabel.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_LABEL);
- sb.append(separator);
- sb.append(map.get(ModIUtils.API_SICUREZZA_MESSAGGIO_USER_INFO));
-
- boolean request = true;
- addProfiloModISicurezza(sb,
- map,
- labelProtocollo, rest, gestioneFruitori, request,
- digest,
- patternDatiCorniceSicurezza, schemaDatiCorniceSicurezza,
- headerDuplicati,
- separator, newLine);
- addProfiloModISicurezza(sb,
- map,
- labelProtocollo, rest, gestioneFruitori, !request,
- digest,
- patternDatiCorniceSicurezza, schemaDatiCorniceSicurezza,
- headerDuplicati,
- separator, newLine);
- }
- else {
-
- // Sicurezza OAuth
-
- if( gestioneFruitori ) {
-
- v = map.get(ModIUtils.API_IMPL_SICUREZZA_OAUTH_IDENTIFICATIVO);
- if(StringUtils.isNotEmpty(v)) {
- sb.append(newLine);
- /**sb.append(CostantiLabel.LABEL_CREDENZIALI_AUTENTICAZIONE_TOKEN_CLIENT_ID);*/
- sb.append(CostantiLabel.LABEL_CREDENZIALI_AUTENTICAZIONE_TOKEN_CLIENT_ID_SEARCH);
- sb.append(separator);
- sb.append(v);
- }
-
- v = map.get(ModIUtils.API_IMPL_SICUREZZA_OAUTH_KID);
- if(StringUtils.isNotEmpty(v)) {
- sb.append(newLine);
- sb.append(CostantiLabel.LABEL_CREDENZIALI_AUTENTICAZIONE_TOKEN_KID);
- sb.append(separator);
- sb.append(v);
- }
-
- addStore(sb, map,
- "", false, false,
- separator, newLine);
- }
-
- }
- }
- return sb.toString();
- }
-
-
- private static void printConfigurazioneControlloAccessiErogazione(ConsoleHelper consoleHelper, SoggettiCore soggettiCore, String protocollo,
- PortaApplicativa paAssociata,
- StringBuilder sb,
- String separator, String newLine) throws DriverRegistroServiziNotFound, DriverRegistroServiziException {
- // Controllo Accessi
-
- List<IDSoggetto> authzSoggetti = null;
- List<IDServizioApplicativo> authzApplicativi = null;
- List<String> authzRuoli = null;
- boolean allRuoli = false;
- boolean authzApplicativiTokenEnabled = false;
- List<IDServizioApplicativo> authzApplicativiToken = null;
- boolean authzRuoliTokenEnabled = false;
- List<String> authzRuoliToken = null;
- boolean allRuoliToken = false;
- boolean authzScopeTokenEnabled = false;
- List<String> authzScope = null;
- boolean allScope = false;
- List<String> authzTokenClaims = null;
- if(paAssociata.getSoggetti()!=null && paAssociata.getSoggetti().sizeSoggettoList()>0) {
- authzSoggetti = new ArrayList<>();
- for (PortaApplicativaAutorizzazioneSoggetto soggetto : paAssociata.getSoggetti().getSoggettoList()) {
- authzSoggetti.add(new IDSoggetto(soggetto.getTipo(), soggetto.getNome()));
- }
- }
- if(paAssociata.getServiziApplicativiAutorizzati()!=null && paAssociata.getServiziApplicativiAutorizzati().sizeServizioApplicativoList()>0) {
- authzApplicativi = new ArrayList<>();
- for (PortaApplicativaAutorizzazioneServizioApplicativo sa : paAssociata.getServiziApplicativiAutorizzati().getServizioApplicativoList()) {
- IDServizioApplicativo idSA = new IDServizioApplicativo();
- idSA.setIdSoggettoProprietario(new IDSoggetto(sa.getTipoSoggettoProprietario(), sa.getNomeSoggettoProprietario()));
- idSA.setNome(sa.getNome());
- authzApplicativi.add(idSA);
- }
- }
- if(paAssociata.getRuoli()!=null) {
- allRuoli = paAssociata.getRuoli().getMatch()==null || RuoloTipoMatch.ALL.equals(paAssociata.getRuoli().getMatch());
- }
- if(paAssociata.getRuoli()!=null && paAssociata.getRuoli().sizeRuoloList()>0) {
- authzRuoli = new ArrayList<>();
- for (Ruolo ruolo: paAssociata.getRuoli().getRuoloList()) {
- authzRuoli.add(ruolo.getNome());
- }
- }
- if(paAssociata.getAutorizzazioneToken()!=null) {
- authzApplicativiTokenEnabled = StatoFunzionalita.ABILITATO.equals(paAssociata.getAutorizzazioneToken().getAutorizzazioneApplicativi());
- if(authzApplicativiTokenEnabled) {
- if(paAssociata.getAutorizzazioneToken().getServiziApplicativi()!=null && paAssociata.getAutorizzazioneToken().getServiziApplicativi().sizeServizioApplicativoList()>0) {
- authzApplicativiToken = new ArrayList<>();
- for (PortaApplicativaAutorizzazioneServizioApplicativo sa : paAssociata.getAutorizzazioneToken().getServiziApplicativi().getServizioApplicativoList()) {
- IDServizioApplicativo idSA = new IDServizioApplicativo();
- idSA.setIdSoggettoProprietario(new IDSoggetto(sa.getTipoSoggettoProprietario(), sa.getNomeSoggettoProprietario()));
- idSA.setNome(sa.getNome());
- authzApplicativiToken.add(idSA);
- }
- }
- }
- authzRuoliTokenEnabled = StatoFunzionalita.ABILITATO.equals(paAssociata.getAutorizzazioneToken().getAutorizzazioneRuoli());
- if(authzRuoliTokenEnabled) {
- if(paAssociata.getAutorizzazioneToken().getRuoli()!=null) {
- allRuoliToken = paAssociata.getAutorizzazioneToken().getRuoli().getMatch()==null || RuoloTipoMatch.ALL.equals(paAssociata.getAutorizzazioneToken().getRuoli().getMatch());
- }
- if(paAssociata.getAutorizzazioneToken().getRuoli()!=null && paAssociata.getAutorizzazioneToken().getRuoli().sizeRuoloList()>0) {
- authzRuoliToken = new ArrayList<>();
- for (Ruolo ruolo: paAssociata.getAutorizzazioneToken().getRuoli().getRuoloList()) {
- authzRuoliToken.add(ruolo.getNome());
- }
- }
- }
- }
- if(paAssociata.getScope()!=null) {
- authzScopeTokenEnabled = StatoFunzionalita.ABILITATO.equals(paAssociata.getScope().getStato());
- if(authzScopeTokenEnabled) {
- allScope = paAssociata.getScope().getMatch()==null || ScopeTipoMatch.ALL.equals(paAssociata.getScope().getMatch());
- if(paAssociata.getScope().sizeScopeList()>0) {
- authzScope = new ArrayList<>();
- for (Scope scope: paAssociata.getScope().getScopeList()) {
- authzScope.add(scope.getNome());
- }
- }
- }
- }
- if(paAssociata.getGestioneToken()!=null && paAssociata.getGestioneToken().getOptions()!=null) {
- Properties properties = PropertiesUtilities.convertTextToProperties(paAssociata.getGestioneToken().getOptions());
- if(properties!=null && properties.size()>0) {
- authzTokenClaims = new ArrayList<>();
- for (Object key : properties.keySet()) {
- if(key instanceof String) {
- authzTokenClaims.add((String)key);
- }
- }
- Collections.sort(authzTokenClaims);
- }
- }
-
- printConfigurazioneControlloAccessi(consoleHelper, soggettiCore, false,
- protocollo,
- paAssociata.getGestioneToken(),
- paAssociata.getAutenticazione(), paAssociata.getAutenticazioneOpzionale(), paAssociata.getProprietaAutenticazioneList(),
- paAssociata.getAttributeAuthorityList(),
- paAssociata.getAutorizzazione(), authzSoggetti, authzApplicativi,
- authzRuoli, allRuoli,
- authzApplicativiTokenEnabled, authzApplicativiToken,
- authzRuoliTokenEnabled, authzRuoliToken, allRuoliToken,
- authzScopeTokenEnabled, authzScope, allScope,
- authzTokenClaims,
- paAssociata.getAutorizzazioneContenuto(),
- sb,
- separator, newLine);
- }
-
- private static void printConfigurazioneControlloAccessiFruizione(ConsoleHelper consoleHelper, SoggettiCore soggettiCore, String protocollo,
- PortaDelegata pdAssociata,
- StringBuilder sb,
- String separator, String newLine) {
- // Controllo Accessi
- List<IDSoggetto> authzSoggetti = null;
- List<IDServizioApplicativo> authzApplicativi = null;
- List<String> authzRuoli = null;
- boolean allRuoli = false;
- boolean authzApplicativiTokenEnabled = false;
- List<IDServizioApplicativo> authzApplicativiToken = null;
- boolean authzRuoliTokenEnabled = false;
- List<String> authzRuoliToken = null;
- boolean allRuoliToken = false;
- boolean authzScopeTokenEnabled = false;
- List<String> authzScope = null;
- boolean allScope = false;
- List<String> authzTokenClaims = null;
- if(pdAssociata.getServizioApplicativoList()!=null && pdAssociata.sizeServizioApplicativoList()>0) {
- authzApplicativi = new ArrayList<IDServizioApplicativo>();
- for (PortaDelegataServizioApplicativo sa : pdAssociata.getServizioApplicativoList()) {
- IDServizioApplicativo idSA = new IDServizioApplicativo();
- idSA.setIdSoggettoProprietario(new IDSoggetto(pdAssociata.getTipoSoggettoProprietario(), pdAssociata.getNomeSoggettoProprietario()));
- idSA.setNome(sa.getNome());
- authzApplicativi.add(idSA);
- }
- }
- if(pdAssociata.getRuoli()!=null) {
- allRuoli = pdAssociata.getRuoli().getMatch()==null || RuoloTipoMatch.ALL.equals(pdAssociata.getRuoli().getMatch());
- }
- if(pdAssociata.getRuoli()!=null && pdAssociata.getRuoli().sizeRuoloList()>0) {
- authzRuoli = new ArrayList<>();
- for (Ruolo ruolo: pdAssociata.getRuoli().getRuoloList()) {
- authzRuoli.add(ruolo.getNome());
- }
- }
- if(pdAssociata.getAutorizzazioneToken()!=null) {
- authzApplicativiTokenEnabled = StatoFunzionalita.ABILITATO.equals(pdAssociata.getAutorizzazioneToken().getAutorizzazioneApplicativi());
- if(authzApplicativiTokenEnabled) {
- if(pdAssociata.getAutorizzazioneToken().getServiziApplicativi()!=null && pdAssociata.getAutorizzazioneToken().getServiziApplicativi().sizeServizioApplicativoList()>0) {
- authzApplicativiToken = new ArrayList<IDServizioApplicativo>();
- for (PortaDelegataServizioApplicativo sa : pdAssociata.getAutorizzazioneToken().getServiziApplicativi().getServizioApplicativoList()) {
- IDServizioApplicativo idSA = new IDServizioApplicativo();
- idSA.setIdSoggettoProprietario(new IDSoggetto(pdAssociata.getTipoSoggettoProprietario(), pdAssociata.getNomeSoggettoProprietario()));
- idSA.setNome(sa.getNome());
- authzApplicativiToken.add(idSA);
- }
- }
- }
- authzRuoliTokenEnabled = StatoFunzionalita.ABILITATO.equals(pdAssociata.getAutorizzazioneToken().getAutorizzazioneRuoli());
- if(authzRuoliTokenEnabled) {
- if(pdAssociata.getAutorizzazioneToken().getRuoli()!=null) {
- allRuoliToken = pdAssociata.getAutorizzazioneToken().getRuoli().getMatch()==null || RuoloTipoMatch.ALL.equals(pdAssociata.getAutorizzazioneToken().getRuoli().getMatch());
- }
- if(pdAssociata.getAutorizzazioneToken().getRuoli()!=null && pdAssociata.getAutorizzazioneToken().getRuoli().sizeRuoloList()>0) {
- authzRuoliToken = new ArrayList<>();
- for (Ruolo ruolo: pdAssociata.getAutorizzazioneToken().getRuoli().getRuoloList()) {
- authzRuoliToken.add(ruolo.getNome());
- }
- }
- }
- }
- if(pdAssociata.getScope()!=null) {
- authzScopeTokenEnabled = StatoFunzionalita.ABILITATO.equals(pdAssociata.getScope().getStato());
- if(authzScopeTokenEnabled) {
- allScope = pdAssociata.getScope().getMatch()==null || ScopeTipoMatch.ALL.equals(pdAssociata.getScope().getMatch());
- if(pdAssociata.getScope().sizeScopeList()>0) {
- authzScope = new ArrayList<>();
- for (Scope scope: pdAssociata.getScope().getScopeList()) {
- authzScope.add(scope.getNome());
- }
- }
- }
- }
- if(pdAssociata.getGestioneToken()!=null && pdAssociata.getGestioneToken().getOptions()!=null) {
- Properties properties = PropertiesUtilities.convertTextToProperties(pdAssociata.getGestioneToken().getOptions());
- if(properties!=null && properties.size()>0) {
- authzTokenClaims = new ArrayList<>();
- for (Object key : properties.keySet()) {
- if(key!=null && key instanceof String) {
- authzTokenClaims.add((String)key);
- }
- }
- Collections.sort(authzTokenClaims);
- }
- }
-
- printConfigurazioneControlloAccessi(consoleHelper, soggettiCore, true,
- protocollo,
- pdAssociata.getGestioneToken(),
- pdAssociata.getAutenticazione(), pdAssociata.getAutenticazioneOpzionale(), pdAssociata.getProprietaAutenticazioneList(),
- pdAssociata.getAttributeAuthorityList(),
- pdAssociata.getAutorizzazione(), authzSoggetti, authzApplicativi,
- authzRuoli, allRuoli,
- authzApplicativiTokenEnabled, authzApplicativiToken,
- authzRuoliTokenEnabled, authzRuoliToken, allRuoliToken,
- authzScopeTokenEnabled, authzScope, allScope,
- authzTokenClaims,
- pdAssociata.getAutorizzazioneContenuto(),
- sb,
- separator, newLine);
- }
-
- private static void printConfigurazioneControlloAccessi(ConsoleHelper consoleHelper, SoggettiCore soggettiCore, boolean gestioneFruitore,
- String protocollo,
- GestioneToken gestioneToken,
- String autenticazioneTrasporto, StatoFunzionalita autenticazioneTrasportoOpzionale, List<Proprieta> autenticazioneProprieta,
- List<AttributeAuthority> listAA,
- String autorizzazione, List<IDSoggetto> authzSoggetti, List<IDServizioApplicativo> authzApplicativi,
- List<String> authzRuoli, boolean allRuoli,
- boolean authzApplicativiTokenEnabled, List<IDServizioApplicativo> authzApplicativiToken,
- boolean authzRuoliTokenEnabled, List<String> authzRuoliToken, boolean allRuoliToken,
- boolean authzScopeTokenEnabled, List<String> authzScope, boolean allScope,
- List<String> authzTokenClaims,
- String autorizzazioneContenuti,
- StringBuilder sb,
- String separator, String newLine) {
-
- boolean modipa = consoleHelper.isProfiloModIPA(protocollo);
-
- // Token
-
- if(gestioneToken!=null && gestioneToken.getPolicy()!=null) {
- String policy = gestioneToken.getPolicy();
-
- //sb.append(newLine);
- //sb.append("- "+CostantiControlStation.LABEL_PARAMETRO_PORTE_CONTROLLO_ACCESSI_GESTIONE_TOKEN+" -");
-
- sb.append(newLine);
- //sb.append(CostantiControlStation.LABEL_PARAMETRO_PORTE_GESTIONE_TOKEN_POLICY);
- sb.append(CostantiControlStation.LABEL_PARAMETRO_PORTE_GESTIONE_TOKEN_POLICY_LABEL_COMPLETA);
- sb.append(separator);
- sb.append(policy);
-
- if(StatoFunzionalita.ABILITATO.equals(gestioneToken.getTokenOpzionale())) {
- sb.append(newLine);
- sb.append(CostantiControlStation.LABEL_PARAMETRO_PORTE_GESTIONE_TOKEN_OPZIONALE);
- sb.append(separator);
- sb.append(gestioneToken.getTokenOpzionale());
- }
-
- StringBuilder bf = new StringBuilder();
- if(StatoFunzionalitaConWarning.ABILITATO.equals(gestioneToken.getValidazione()) || StatoFunzionalitaConWarning.WARNING_ONLY.equals(gestioneToken.getValidazione())) {
- if(bf.length()>0) {
- bf.append(", ");
- }
- bf.append(CostantiControlStation.LABEL_PARAMETRO_PORTE_GESTIONE_TOKEN_VALIDAZIONE_INPUT);
- if(StatoFunzionalitaConWarning.WARNING_ONLY.equals(gestioneToken.getValidazione())) {
- bf.append(" [WarningOnly]");
- }
- }
- if(StatoFunzionalitaConWarning.ABILITATO.equals(gestioneToken.getIntrospection()) || StatoFunzionalitaConWarning.WARNING_ONLY.equals(gestioneToken.getIntrospection())) {
- if(bf.length()>0) {
- bf.append(", ");
- }
- bf.append(CostantiControlStation.LABEL_PARAMETRO_PORTE_GESTIONE_TOKEN_INTROSPECTION);
- if(StatoFunzionalitaConWarning.WARNING_ONLY.equals(gestioneToken.getIntrospection())) {
- bf.append(" [WarningOnly]");
- }
- }
- if(StatoFunzionalitaConWarning.ABILITATO.equals(gestioneToken.getUserInfo()) || StatoFunzionalitaConWarning.WARNING_ONLY.equals(gestioneToken.getUserInfo())) {
- if(bf.length()>0) {
- bf.append(", ");
- }
- bf.append(CostantiControlStation.LABEL_PARAMETRO_PORTE_GESTIONE_TOKEN_USERINFO);
- if(StatoFunzionalitaConWarning.WARNING_ONLY.equals(gestioneToken.getUserInfo())) {
- bf.append(" [WarningOnly]");
- }
- }
- if(StatoFunzionalita.ABILITATO.equals(gestioneToken.getForward())) {
- if(bf.length()>0) {
- bf.append(", ");
- }
- bf.append(CostantiControlStation.LABEL_PARAMETRO_PORTE_GESTIONE_TOKEN_TOKEN_FORWARD);
- }
-
- if(bf.length()>0) {
- sb.append(newLine);
- //sb.append("Configurazione");
- sb.append(CostantiControlStation.LABEL_PARAMETRO_PORTE_CONTROLLO_ACCESSI_MODALITA_GESTIONE_TOKEN);
- sb.append(separator);
- sb.append(bf.toString());
- }
-
- GestioneTokenAutenticazione gestioneTokenAutenticazione = gestioneToken.getAutenticazione();
- if(gestioneTokenAutenticazione!=null) {
- StringBuilder bfAuth = new StringBuilder();
- if(StatoFunzionalita.ABILITATO.equals(gestioneTokenAutenticazione.getIssuer())) {
- if(bfAuth.length()>0) {
- bfAuth.append(", ");
- }
- bfAuth.append(CostantiControlStation.LABEL_PARAMETRO_PORTE_AUTENTICAZIONE_TOKEN_ISSUER);
- }
- if(StatoFunzionalita.ABILITATO.equals(gestioneTokenAutenticazione.getSubject())) {
- if(bfAuth.length()>0) {
- bfAuth.append(", ");
- }
- bfAuth.append(CostantiControlStation.LABEL_PARAMETRO_PORTE_AUTENTICAZIONE_TOKEN_SUBJECT);
- }
- if(StatoFunzionalita.ABILITATO.equals(gestioneTokenAutenticazione.getClientId())) {
- if(bfAuth.length()>0) {
- bfAuth.append(", ");
- }
- bfAuth.append(CostantiControlStation.LABEL_PARAMETRO_PORTE_AUTENTICAZIONE_TOKEN_CLIENT_ID);
- }
- if(StatoFunzionalita.ABILITATO.equals(gestioneTokenAutenticazione.getUsername())) {
- if(bfAuth.length()>0) {
- bfAuth.append(", ");
- }
- bfAuth.append(CostantiControlStation.LABEL_PARAMETRO_PORTE_AUTENTICAZIONE_TOKEN_USERNAME);
- }
- if(StatoFunzionalita.ABILITATO.equals(gestioneTokenAutenticazione.getEmail())) {
- if(bfAuth.length()>0) {
- bfAuth.append(", ");
- }
- bfAuth.append(CostantiControlStation.LABEL_PARAMETRO_PORTE_AUTENTICAZIONE_TOKEN_MAIL);
- }
-
- if(bfAuth.length()>0) {
- sb.append(newLine);
- //sb.append(CostantiControlStation.LABEL_PARAMETRO_PORTE_CONTROLLO_ACCESSI_AUTENTICAZIONE);
- sb.append(CostantiControlStation.LABEL_PARAMETRO_PORTE_CONTROLLO_ACCESSI_GESTIONE_TOKEN);
- sb.append(separator);
- sb.append(bfAuth.toString());
- }
- }
- }
-
- // Autenticazione Trasporto
- if(autenticazioneTrasporto!=null) {
-
- //sb.append(newLine);
- String label = null;
- if(modipa && !gestioneFruitore) {
- label = CostantiControlStation.LABEL_PARAMETRO_PORTE_CONTROLLO_ACCESSI_AUTENTICAZIONE+" "+CostantiControlStation.LABEL_PARAMETRO_PORTE_CONTROLLO_ACCESSI_AUTENTICAZIONE_CANALE;
- }
- else {
- label = CostantiControlStation.LABEL_PARAMETRO_PORTE_CONTROLLO_ACCESSI_AUTENTICAZIONE+" "+CostantiControlStation.LABEL_PARAMETRO_PORTE_CONTROLLO_ACCESSI_AUTENTICAZIONE_TRASPORTO;
- }
- //sb.append("- "+label+" -");
-
- sb.append(newLine);
- //sb.append(CostantiControlStation.LABEL_PARAMETRO_PORTE_AUTENTICAZIONE);
- sb.append(label);
- sb.append(separator);
- TipoAutenticazione tipoAutenticazione = TipoAutenticazione.toEnumConstant(autenticazioneTrasporto);
- if(TipoAutenticazione.PRINCIPAL.equals(tipoAutenticazione)) {
- TipoAutenticazionePrincipal autenticazionePrincipal = consoleHelper.getCore().getTipoAutenticazionePrincipal(autenticazioneProprieta);
- sb.append(tipoAutenticazione.getLabel()).append(" - ").append(autenticazionePrincipal.getLabel());
- }
- else if(TipoAutenticazione.APIKEY.equals(tipoAutenticazione)) {
- String appIdV = getProprieta(ParametriAutenticazioneApiKey.APP_ID, autenticazioneProprieta);
- boolean appId = ServletUtils.isCheckBoxEnabled(appIdV);
- if(appId) {
- sb.append(tipoAutenticazione.getLabel()).append(" + ").append("app-id");
- }
- else {
- sb.append(tipoAutenticazione.getLabel());
- }
- }
- else {
- if(tipoAutenticazione!=null) {
- sb.append(tipoAutenticazione.getLabel());
- }
- else {
- try {
- ConfigurazioneCore confCore = new ConfigurazioneCore(consoleHelper.getCore());
- Plugin p = confCore.getPlugin(TipoPlugin.AUTENTICAZIONE, autenticazioneTrasporto, false);
- if(p!=null) {
- sb.append(p.getLabel());
- }
- else {
- sb.append(autenticazioneTrasporto);
- }
- }catch(Throwable t) {
- sb.append(autenticazioneTrasporto);
- }
- }
- }
-
- if(StatoFunzionalita.ABILITATO.equals(autenticazioneTrasportoOpzionale)) {
- sb.append(newLine);
- sb.append(CostantiControlStation.LABEL_PARAMETRO_PORTE_CONTROLLO_ACCESSI_AUTENTICAZIONE+" "+CostantiControlStation.LABEL_PARAMETRO_PORTE_AUTENTICAZIONE_OPZIONALE);
- sb.append(separator);
- sb.append(autenticazioneTrasportoOpzionale);
- }
- }
-
- // AttributeAuthority (attributi)
-
- if(listAA!=null && listAA.size()>0) {
- StringBuilder sbAA = new StringBuilder();
- for (AttributeAuthority aa : listAA) {
- if(sbAA.length()>0) {
- sbAA.append(", ");
- }
- sbAA.append(aa.getNome());
- }
- if(sbAA.length()>0) {
-
- //sb.append(newLine);
- //sb.append("- "+CostantiControlStation.LABEL_PARAMETRO_PORTE_ATTRIBUTI_TITLE+" -");
-
- sb.append(newLine);
- sb.append(CostantiControlStation.LABEL_PARAMETRO_PORTE_ATTRIBUTI_AUTHORITY);
- sb.append(separator);
- sb.append(sbAA.toString());
- }
- }
-
- // Autorizzazione Trasporto
- if(autorizzazione!=null) {
-
- //sb.append(newLine);
- String label = null;
- if(modipa && !gestioneFruitore) {
- label = CostantiControlStation.LABEL_PARAMETRO_PORTE_CONTROLLO_ACCESSI_AUTORIZZAZIONE_CANALE;
- }
- else {
- if(autorizzazione.toLowerCase().contains(TipoAutorizzazione.ROLES.getValue().toLowerCase())
- ||
- autorizzazione.toLowerCase().contains(TipoAutorizzazione.AUTHENTICATED.getValue().toLowerCase())){
- label = CostantiControlStation.LABEL_PARAMETRO_PORTE_CONTROLLO_ACCESSI_AUTORIZZAZIONE_TRASPORTO;
- }
- else {
- label = CostantiControlStation.LABEL_PARAMETRO_PORTE_CONTROLLO_ACCESSI_AUTORIZZAZIONE_DIFFERENTE_DA_TRASPORTO_E_TOKEN;
- }
- }
- //sb.append("- "+label+" -");
-
- String value = null;
- if(CostantiConfigurazione.AUTORIZZAZIONE_NONE.equals(autorizzazione)){
- value = CostantiConfigurazione.DISABILITATO.getValue();
- }
- else if(autorizzazione.toLowerCase().contains(TipoAutorizzazione.XACML_POLICY.getValue().toLowerCase())){
- value = TipoAutorizzazione.XACML_POLICY.getValue();
- }
- else if(autorizzazione.toLowerCase().contains(TipoAutorizzazione.ROLES.getValue().toLowerCase())
- ||
- autorizzazione.toLowerCase().contains(TipoAutorizzazione.AUTHENTICATED.getValue().toLowerCase())){
- value = CostantiConfigurazione.ABILITATO.getValue();
- value = value + " (";
- if(autorizzazione.toLowerCase().contains(TipoAutorizzazione.AUTHENTICATED.getValue().toLowerCase())) {
- value = value + CostantiControlStation.LABEL_PARAMETRO_PORTE_AUTORIZZAZIONE_SERVIZI_APPLICATIVI_SUFFIX;
- if(autorizzazione.toLowerCase().contains(TipoAutorizzazione.ROLES.getValue().toLowerCase())) {
- value = value + ", ";
- }
- }
- if(autorizzazione.toLowerCase().contains(TipoAutorizzazione.ROLES.getValue().toLowerCase())) {
- value = value + CostantiControlStation.LABEL_PARAMETRO_PORTE_AUTORIZZAZIONE_RUOLI_SUFFIX;
- }
- value = value + ")";
- }
- else{
- try {
- ConfigurazioneCore confCore = new ConfigurazioneCore(consoleHelper.getCore());
- Plugin p = confCore.getPlugin(TipoPlugin.AUTORIZZAZIONE, autorizzazione, false);
- if(p!=null) {
- value = p.getLabel();
- }
- else {
- value = autorizzazione;
- }
- }catch(Throwable t) {
- value = autorizzazione;
- }
- }
- sb.append(newLine);
- //sb.append(CostantiControlStation.LABEL_PARAMETRO_PORTE_AUTORIZZAZIONE);
- sb.append(label);
- sb.append(separator);
- sb.append(value);
-
- //if(autorizzazione.toLowerCase().contains(TipoAutorizzazione.AUTHENTICATED.getValue().toLowerCase())){
- // servono anche in custom auth
- // basta che siano definiti
-
- boolean richiedentiDefiniti = false;
-
- // devo elencare i soggetti autorizzati
- if(authzSoggetti!=null && !authzSoggetti.isEmpty()) {
- StringBuilder sbSog = new StringBuilder();
- for (IDSoggetto soggetto : authzSoggetti) {
- if(sbSog.length()>0) sb.append(", ");
- try {
- sbSog.append(consoleHelper.getLabelNomeSoggetto(protocollo, soggetto.getTipo(), soggetto.getNome()));
- }catch(Throwable t) {
- sbSog.append(soggetto.getTipo() +"/" +soggetto.getNome());
- }
- }
- if(sbSog.toString().length()>0) {
- sb.append(newLine);
- sb.append(CostantiControlStation.LABEL_PARAMETRO_SOGGETTI).append(" autorizzati");
- sb.append(separator);
- sb.append(sbSog.toString());
- richiedentiDefiniti=true;
- }
- }
- // devo elencare gli applicativi autorizzati
- if(!modipa || gestioneFruitore) {
- if(authzApplicativi!=null && !authzApplicativi.isEmpty()) {
- StringBuilder sbApp = new StringBuilder();
- for (IDServizioApplicativo sa : authzApplicativi) {
- if(sbApp.length()>0) sbApp.append(", ");
- if(gestioneFruitore) {
- sbApp.append(sa.getNome());
- }
- else {
- String sog = null;
- try {
- sog = consoleHelper.getLabelNomeSoggetto(protocollo, sa.getIdSoggettoProprietario().getTipo(), sa.getIdSoggettoProprietario().getNome());
- }catch(Throwable t) {
- sog = sa.getIdSoggettoProprietario().getTipo()+"/"+sa.getIdSoggettoProprietario().getNome();
- }
- sbApp.append(sa.getNome() + "@"+sog+"");
- }
- }
- if(sbApp.toString().length()>0) {
- sb.append(newLine);
- sb.append(CostantiControlStation.LABEL_APPLICATIVI).append(" autorizzati");
- sb.append(separator);
- sb.append(sbApp.toString());
- richiedentiDefiniti=true;
- }
- }
- }
-
- if(autorizzazione.toLowerCase().contains(TipoAutorizzazione.AUTHENTICATED.getValue().toLowerCase()) && !richiedentiDefiniti) {
- sb.append(newLine);
- sb.append(CostantiControlStation.LABEL_PARAMETRO_PORTE_AUTORIZZAZIONE_RICHIEDENTI).append(" autorizzati");
- sb.append(separator);
- sb.append("-");
- }
-
- //if(autorizzazione.toLowerCase().contains(TipoAutorizzazione.ROLES.getValue().toLowerCase())){
- // servono anche in xacml policy.
- // comunque basta che siano definiti
- if(autorizzazione.toLowerCase().contains(TipoAutorizzazione.ROLES.getValue().toLowerCase())
- ||
- autorizzazione.toLowerCase().contains(TipoAutorizzazione.XACML_POLICY.getValue().toLowerCase())) {
- StringBuilder sbRuoli = new StringBuilder();
- if(authzRuoli!=null && !authzRuoli.isEmpty()){
- for (String ruolo : authzRuoli) {
- if(sbRuoli.length()>0) sbRuoli.append(", ");
- sbRuoli.append(ruolo);
- }
- }
- else {
- if(autorizzazione.toLowerCase().contains(TipoAutorizzazione.ROLES.getValue().toLowerCase())) {
- sbRuoli.append("-");
- }
- }
- if(sbRuoli.toString().length()>0) {
- sb.append(newLine);
- sb.append(RuoliCostanti.LABEL_RUOLI).append(" (").
- append(allRuoli ? CostantiControlStation.LABEL_PARAMETRO_RUOLO_MATCH_ALL : CostantiControlStation.LABEL_PARAMETRO_RUOLO_MATCH_ANY).
- append(")");
- sb.append(separator);
- sb.append(sbRuoli.toString());
- }
- }
- //}
-
- if(modipa && !gestioneFruitore) {
-
- // backwardCompatibility
- if(!authzApplicativiTokenEnabled &&
- authzApplicativi!=null && !authzApplicativi.isEmpty()) {
- authzApplicativiTokenEnabled = true;
- }
-
- boolean autorizzazioneMessaggio = (authzApplicativiTokenEnabled)
- ||
- (authzRuoliTokenEnabled);
-
- if(autorizzazioneMessaggio) {
- label = CostantiControlStation.LABEL_PARAMETRO_PORTE_CONTROLLO_ACCESSI_AUTORIZZAZIONE_MESSAGGIO;
- value = CostantiConfigurazione.ABILITATO.getValue();
- value = value + " (";
- boolean first = true;
- if(authzApplicativiTokenEnabled) {
- if(!first) {
- value = value + ", ";
- }
- value = value + CostantiControlStation.LABEL_PARAMETRO_PORTE_AUTORIZZAZIONE_SERVIZI_APPLICATIVI_SUFFIX;
- first=false;
- }
- if(authzRuoliTokenEnabled) {
- if(!first) {
- value = value + ", ";
- }
- value = value + CostantiControlStation.LABEL_PARAMETRO_PORTE_AUTORIZZAZIONE_RUOLI_SUFFIX;
- first=false;
- }
- value = value + ")";
- sb.append(newLine);
- //sb.append(CostantiControlStation.LABEL_PARAMETRO_PORTE_AUTORIZZAZIONE);
- sb.append(label);
- sb.append(separator);
- sb.append(value);
- }
- }
- else {
-
- boolean autorizzazioneToken = (authzApplicativiTokenEnabled)
- ||
- (authzRuoliTokenEnabled)
- ||
- (authzScopeTokenEnabled)
- ||
- (authzTokenClaims!=null && !authzTokenClaims.isEmpty());
-
- if(autorizzazioneToken) {
- label = CostantiControlStation.LABEL_PARAMETRO_PORTE_CONTROLLO_ACCESSI_AUTORIZZAZIONE_TOKEN;
- value = CostantiConfigurazione.ABILITATO.getValue();
- value = value + " (";
- boolean first = true;
- if(authzApplicativiTokenEnabled) {
- if(!first) {
- value = value + ", ";
- }
- value = value + CostantiControlStation.LABEL_PARAMETRO_PORTE_AUTORIZZAZIONE_SERVIZI_APPLICATIVI_SUFFIX;
- first=false;
- }
- if(authzRuoliTokenEnabled) {
- if(!first) {
- value = value + ", ";
- }
- value = value + CostantiControlStation.LABEL_PARAMETRO_PORTE_AUTORIZZAZIONE_RUOLI_SUFFIX;
- first=false;
- }
- if(authzScopeTokenEnabled) {
- if(!first) {
- value = value + ", ";
- }
- value = value + ScopeCostanti.LABEL_SCOPE;
- first=false;
- }
- if(authzTokenClaims!=null && !authzTokenClaims.isEmpty()) {
- if(!first) {
- value = value + ", ";
- }
- value = value + CostantiControlStation.LABEL_PARAMETRO_PORTE_AUTORIZZAZIONE_TOKEN_CLAIMS_SUBTITLE_SUFFIX;
- first=false;
- }
- value = value + ")";
- sb.append(newLine);
- //sb.append(CostantiControlStation.LABEL_PARAMETRO_PORTE_AUTORIZZAZIONE);
- sb.append(label);
- sb.append(separator);
- sb.append(value);
- }
- }
-
- if(authzApplicativiTokenEnabled) {
- StringBuilder sbApp = new StringBuilder();
- List<IDServizioApplicativo> ll = authzApplicativiToken;
- if(modipa && !gestioneFruitore) {
- ll = authzApplicativi;
- }
- if(ll!=null && !ll.isEmpty()) {
- for (IDServizioApplicativo sa : ll) {
- if(sbApp.length()>0) sbApp.append(", ");
- if(gestioneFruitore) {
- sbApp.append(sa.getNome());
- }
- else {
- String sog = null;
- try {
- sog = consoleHelper.getLabelNomeSoggetto(protocollo, sa.getIdSoggettoProprietario().getTipo(), sa.getIdSoggettoProprietario().getNome());
- }catch(Throwable t) {
- sog = sa.getIdSoggettoProprietario().getTipo()+"/"+sa.getIdSoggettoProprietario().getNome();
- }
- sbApp.append(sa.getNome() + "@"+sog+"");
- }
- }
- }
- else {
- sbApp.append("-");
- }
- if(sbApp.toString().length()>0) {
- sb.append(newLine);
- sb.append(CostantiControlStation.LABEL_APPLICATIVI).append(" autorizzati");
- sb.append(separator);
- sb.append(sbApp.toString());
- }
- }
-
- if(authzRuoliTokenEnabled){
- StringBuilder sbRuoli = new StringBuilder();
- if(authzRuoliToken!=null && !authzRuoliToken.isEmpty()){
- for (String ruolo : authzRuoliToken) {
- if(sbRuoli.length()>0) sbRuoli.append(", ");
- sbRuoli.append(ruolo);
- }
- }
- else {
- sbRuoli.append("-");
- }
- if(sbRuoli.toString().length()>0) {
- sb.append(newLine);
- sb.append(RuoliCostanti.LABEL_RUOLI).append(" (").
- append(allRuoliToken ? CostantiControlStation.LABEL_PARAMETRO_RUOLO_MATCH_ALL : CostantiControlStation.LABEL_PARAMETRO_RUOLO_MATCH_ANY).
- append(")");
- sb.append(separator);
- sb.append(sbRuoli.toString());
- }
- }
-
- if(modipa && !gestioneFruitore) {
- boolean autorizzazioneToken = (authzScopeTokenEnabled)
- ||
- (authzTokenClaims!=null && !authzTokenClaims.isEmpty());
-
- if(autorizzazioneToken) {
- label = CostantiControlStation.LABEL_PARAMETRO_PORTE_CONTROLLO_ACCESSI_AUTORIZZAZIONE_TOKEN;
- value = CostantiConfigurazione.ABILITATO.getValue();
- value = value + " (";
- boolean first = true;
- if(authzScopeTokenEnabled) {
- if(!first) {
- value = value + ", ";
- }
- value = value + ScopeCostanti.LABEL_SCOPE;
- first=false;
- }
- if(authzTokenClaims!=null && !authzTokenClaims.isEmpty()) {
- if(!first) {
- value = value + ", ";
- }
- value = value + CostantiControlStation.LABEL_PARAMETRO_PORTE_AUTORIZZAZIONE_TOKEN_CLAIMS_SUBTITLE_SUFFIX;
- first=false;
- }
- value = value + ")";
- sb.append(newLine);
- //sb.append(CostantiControlStation.LABEL_PARAMETRO_PORTE_AUTORIZZAZIONE);
- sb.append(label);
- sb.append(separator);
- sb.append(value);
- }
- }
-
- if(authzScopeTokenEnabled){
- StringBuilder sbScope = new StringBuilder();
- if(authzScope!=null && !authzScope.isEmpty()){
- for (String scope : authzScope) {
- if(sbScope.length()>0) sbScope.append(", ");
- sbScope.append(scope);
- }
- }
- else {
- sbScope.append("-");
- }
- if(sbScope.toString().length()>0) {
- sb.append(newLine);
- sb.append(ScopeCostanti.LABEL_SCOPE).append(" (").
- append(allScope ? CostantiControlStation.LABEL_PARAMETRO_SCOPE_MATCH_ALL : CostantiControlStation.LABEL_PARAMETRO_SCOPE_MATCH_ANY).
- append(")");
- sb.append(separator);
- sb.append(sbScope.toString());
- }
- }
-
- if(authzTokenClaims!=null && !authzTokenClaims.isEmpty()){
- StringBuilder sbTokenClaims = new StringBuilder();
- for (String claim : authzTokenClaims) {
- if(sbTokenClaims.length()>0) sbTokenClaims.append(", ");
- sbTokenClaims.append(claim);
- }
- if(sbTokenClaims.toString().length()>0) {
- sb.append(newLine);
- sb.append(CostantiControlStation.LABEL_PARAMETRO_PORTE_AUTORIZZAZIONE_TOKEN_CLAIMS_SUBTITLE_SUFFIX);
- sb.append(separator);
- sb.append(sbTokenClaims.toString());
- }
- }
- }
-
- // Autorizzazione Contenuti
- if(autorizzazioneContenuti!=null && !CostantiConfigurazione.AUTORIZZAZIONE_NONE.equals(autorizzazioneContenuti)){
-
- //sb.append(newLine);
- String label = CostantiControlStation.LABEL_PARAMETRO_PORTE_CONTROLLO_ACCESSI_AUTORIZZAZIONE_CONTENUTI;
- //sb.append("- "+label+" -");
-
- sb.append(newLine);
- //sb.append(CostantiControlStation.LABEL_PARAMETRO_PORTE_AUTORIZZAZIONE);
- sb.append(label);
- sb.append(separator);
- if(CostantiAutorizzazione.AUTORIZZAZIONE_CONTENUTO_BUILT_IN.equals(autorizzazioneContenuti)){
- sb.append(CostantiConfigurazione.ABILITATO.getValue());
- }
- else {
- try {
- ConfigurazioneCore confCore = new ConfigurazioneCore(consoleHelper.getCore());
- Plugin p = confCore.getPlugin(TipoPlugin.AUTORIZZAZIONE_CONTENUTI, autorizzazioneContenuti, false);
- if(p!=null) {
- sb.append(p.getLabel());
- }
- else {
- sb.append(autorizzazioneContenuti);
- }
- }catch(Throwable t) {
- sb.append(autorizzazioneContenuti);
- }
- }
- }
- }
-
- private static void printConfigurazioneRateLimiting(ConsoleHelper consoleHelper, SoggettiCore soggettiCore,
- boolean gestioneFruitore, String nomePorta,
- StringBuilder sb,
- String separator, String newLine) throws Exception {
- ConsoleSearch searchPolicy = new ConsoleSearch(true);
- ConfigurazioneCore confCore = new ConfigurazioneCore(soggettiCore);
- List<AttivazionePolicy> listaPolicy = confCore.attivazionePolicyList(searchPolicy,
- gestioneFruitore ? RuoloPolicy.DELEGATA : RuoloPolicy.APPLICATIVA, nomePorta);
- if(listaPolicy!=null && !listaPolicy.isEmpty()) {
- DataElement de = new DataElement();
- consoleHelper.setStatoRateLimiting(de, listaPolicy, false);
- printConfigurazioneFromStatusValues(de, ConfigurazioneCostanti.LABEL_CONFIGURAZIONE_RATE_LIMITING,
- sb,
- separator, newLine);
- }
- }
-
- private static void printConfigurazioneValidazioneContenutiApplicativi(ConsoleHelper consoleHelper, SoggettiCore soggettiCore,
- AccordoServizioParteComune aspc, ValidazioneContenutiApplicativi validazioneContenutiApplicativi,
- StringBuilder sb,
- String separator, String newLine) throws Exception {
- if(validazioneContenutiApplicativi!=null) {
- if(StatoFunzionalitaConWarning.ABILITATO.equals(validazioneContenutiApplicativi.getStato()) || StatoFunzionalitaConWarning.WARNING_ONLY.equals(validazioneContenutiApplicativi.getStato())) {
- String value = null;
- switch (validazioneContenutiApplicativi.getTipo()) {
- case INTERFACE:
- switch (aspc.getFormatoSpecifica()) {
- case OPEN_API_3:
- value=CostantiControlStation.LABEL_PARAMETRO_INTERFACE_TYPE_OPEN_API_3;
- break;
- case SWAGGER_2:
- value=CostantiControlStation.LABEL_PARAMETRO_INTERFACE_TYPE_SWAGGER_2;
- break;
- case WADL:
- value=CostantiControlStation.LABEL_PARAMETRO_INTERFACE_TYPE_WADL;
- break;
- case WSDL_11:
- value=CostantiControlStation.LABEL_PARAMETRO_INTERFACE_TYPE_WSDL_11;
- break;
- }
- break;
- case XSD:
- value=CostantiControlStation.LABEL_PARAMETRO_SCHEMI_XSD;
- break;
- case OPENSPCOOP:
- value=CostantiControlStation.LABEL_PARAMETRO_REGISTRO_OPENSPCOOP;
- break;
- }
- if(StatoFunzionalitaConWarning.WARNING_ONLY.equals(validazioneContenutiApplicativi.getStato())) {
- value = value + " [WarningOnly]";
- }
-
- if(org.openspcoop2.core.registry.constants.ServiceBinding.SOAP.equals(aspc.getServiceBinding()) &&
- validazioneContenutiApplicativi.getAcceptMtomMessage()!=null && StatoFunzionalita.ABILITATO.equals(validazioneContenutiApplicativi.getAcceptMtomMessage())) {
- value = value + " [Accept-MTOM]";
- }
-
- sb.append(newLine);
- sb.append(ConfigurazioneCostanti.LABEL_CONFIGURAZIONE_VALIDAZIONE_CONTENUTI_APPLICATIVI);
- sb.append(separator);
- sb.append(value);
- }
- }
- }
-
- private static void printConfigurazioneResponseCaching(ConsoleHelper consoleHelper, SoggettiCore soggettiCore,
- ResponseCachingConfigurazione responseCachingConfigurazione,
- StringBuilder sb,
- String separator, String newLine) throws Exception {
- if(responseCachingConfigurazione!=null) {
- if(StatoFunzionalita.ABILITATO.equals(responseCachingConfigurazione.getStato())){
- sb.append(newLine);
- sb.append(ConfigurazioneCostanti.LABEL_CONFIGURAZIONE_RESPONSE_CACHING);
- sb.append(separator);
- sb.append(StatoFunzionalitaConWarning.ABILITATO.getValue());
- }
- }
- }
-
- private static void printConfigurazioneMessageSecurity(ConsoleHelper consoleHelper, SoggettiCore soggettiCore,
- MessageSecurity messageSecurity,
- StringBuilder sb,
- String separator, String newLine) throws Exception {
-
- if(messageSecurity!=null && (
- (messageSecurity.getRequestFlow()!=null && messageSecurity.getRequestFlow().getMode()!=null)
- ||
- (messageSecurity.getResponseFlow()!=null && messageSecurity.getResponseFlow().getMode()!=null)
- )
- ) {
- AccordiServizioParteSpecificaCore apsCore = new AccordiServizioParteSpecificaCore(soggettiCore);
- PropertiesSourceConfiguration propertiesSourceConfiguration = apsCore.getMessageSecurityPropertiesSourceConfiguration();
- ConfigManager configManager = ConfigManager.getinstance(ControlStationCore.getLog());
- configManager.leggiConfigurazioni(propertiesSourceConfiguration, true);
- DataElement de = new DataElement();
- consoleHelper.setStatoSicurezzaMessaggio(de, messageSecurity, configManager, propertiesSourceConfiguration, false);
- printConfigurazioneFromStatusValues(de, PorteApplicativeCostanti.LABEL_PARAMETRO_PORTE_APPLICATIVE_MESSAGE_SECURITY,
- sb,
- separator, newLine);
- }
- }
-
- private static void printConfigurazioneMTOM(ConsoleHelper consoleHelper, SoggettiCore soggettiCore,
- MtomProcessor mtomProcessor,
- StringBuilder sb,
- String separator, String newLine) throws Exception {
-
- if(mtomProcessor!=null && (
- (mtomProcessor.getRequestFlow()!=null && mtomProcessor.getRequestFlow().getMode()!=null && !MTOMProcessorType.DISABLE.equals(mtomProcessor.getRequestFlow().getMode()))
- ||
- (mtomProcessor.getResponseFlow()!=null && mtomProcessor.getResponseFlow().getMode()!=null && !MTOMProcessorType.DISABLE.equals(mtomProcessor.getResponseFlow().getMode()))
- )
- ) {
- DataElement de = new DataElement();
- consoleHelper.setStatoMTOM(de, mtomProcessor, false);
- printConfigurazioneFromStatusValues(de, PorteApplicativeCostanti.LABEL_PARAMETRO_PORTE_APPLICATIVE_MTOM_CONFIG,
- sb,
- separator, newLine);
- }
- }
-
- private static void printConfigurazioneTrasformazioni(ConsoleHelper consoleHelper, SoggettiCore soggettiCore,
- AccordoServizioParteComune aspc, Trasformazioni trasformazioni,
- StringBuilder sb,
- String separator, String newLine) throws Exception {
-
- if(trasformazioni!=null && trasformazioni.sizeRegolaList()>0) {
-
- boolean almostOneEnable = false;
- for (TrasformazioneRegola tRegola : trasformazioni.getRegolaList()) {
- if(StatoFunzionalita.ABILITATO.equals(tRegola.getStato())){
- almostOneEnable = true;
- break;
- }
- }
-
- if(almostOneEnable) {
- DataElement de = new DataElement();
- consoleHelper.setStatoTrasformazioni(de, trasformazioni, ServiceBinding.valueOf(aspc.getServiceBinding().name()), false);
- printConfigurazioneFromStatusValues(de, CostantiControlStation.LABEL_CONFIGURAZIONE_TRASFORMAZIONI,
- sb,
- separator, newLine);
- }
- }
- }
-
- private static void printConfigurazioneTracciamento(ConsoleHelper consoleHelper, SoggettiCore soggettiCore,
- CorrelazioneApplicativa correlazioneApplicativa,
- CorrelazioneApplicativaRisposta correlazioneApplicativaRisposta,
- PortaTracciamento tracciamentoConfig,
- //Configurazione configurazioneGenerale,
- StringBuilder sb,
- String separator, String newLine) throws Exception {
-
- // Transazioni
- boolean ridefinito = false;
- boolean enable = false;
- if(tracciamentoConfig!=null && tracciamentoConfig.getEsiti()!=null) {
- ridefinito = true;
- enable = !(EsitiConfigUtils.TUTTI_ESITI_DISABILITATI+"").equals(tracciamentoConfig.getEsiti());
- }
- else {
- /*ridefinito = false;
- String esitiTransazioni = consoleHelper.readConfigurazioneRegistrazioneEsitiFromHttpParameters((configurazioneGenerale!=null && configurazioneGenerale.getTracciamento()!=null) ? configurazioneGenerale.getTracciamento().getEsiti() : null , true);
- enable = (
- esitiTransazioni!=null
- &&
- !(EsitiConfigUtils.TUTTI_ESITI_DISABILITATI+"").equals(esitiTransazioni)
- );*/
- }
- if(ridefinito) {
- sb.append(newLine);
- sb.append(ConfigurazioneCostanti.LABEL_CONFIGURAZIONE_REGISTRAZIONE_TRANSAZIONI);
- sb.append(separator);
- sb.append(enable ? StatoFunzionalita.ABILITATO.getValue() : StatoFunzionalita.DISABILITATO.getValue());
- }
-
- // Diagnostici
- ridefinito = false;
- enable = false;
- String labelDiagnostici = null;
- if(tracciamentoConfig!=null && tracciamentoConfig.getSeverita()!=null) {
- ridefinito = true;
- labelDiagnostici = ConfigurazioneCostanti.LABEL_SEVERITA+" "+tracciamentoConfig.getSeverita().getValue();
- enable = (!LogLevels.LIVELLO_OFF.equals(tracciamentoConfig.getSeverita().getValue()));
- }
- else {
- /*ridefinito = false;
- if(configurazioneGenerale!=null && configurazioneGenerale.getMessaggiDiagnostici()!=null && configurazioneGenerale.getMessaggiDiagnostici().getSeverita()!=null) {
- labelDiagnostici = ConfigurazioneCostanti.LABEL_SEVERITA+" "+configurazioneGenerale.getMessaggiDiagnostici().getSeverita().getValue();
- }
- enable = (
- configurazioneGenerale!=null && configurazioneGenerale.getMessaggiDiagnostici()!=null &&
- configurazioneGenerale.getMessaggiDiagnostici().getSeverita()!=null
- &&
- !(LogLevels.LIVELLO_OFF.equals(configurazioneGenerale.getMessaggiDiagnostici().getSeverita().getValue()))
- );*/
- }
- if(ridefinito) {
- sb.append(newLine);
- sb.append(ConfigurazioneCostanti.LABEL_CONFIGURAZIONE_DIAGNOSTICI);
- sb.append(separator);
- sb.append(enable ? StatoFunzionalita.ABILITATO.getValue() + " ["+labelDiagnostici+"]" : StatoFunzionalita.DISABILITATO.getValue());
- }
- // Correlazione
- boolean isCorrelazioneApplicativaAbilitataReq = false;
- if (correlazioneApplicativa != null) {
- isCorrelazioneApplicativaAbilitataReq = correlazioneApplicativa.sizeElementoList() > 0;
- }
- boolean isCorrelazioneApplicativaAbilitataRes = false;
- if (correlazioneApplicativaRisposta != null) {
- isCorrelazioneApplicativaAbilitataRes = correlazioneApplicativaRisposta.sizeElementoList() > 0;
- }
- if(isCorrelazioneApplicativaAbilitataReq || isCorrelazioneApplicativaAbilitataRes) {
- sb.append(newLine);
- sb.append(CostantiControlStation.LABEL_PARAMETRO_CORRELAZIONE_APPLICATIVA);
- sb.append(separator);
- StringBuilder sbCor = new StringBuilder();
- if(isCorrelazioneApplicativaAbilitataReq) {
- sb.append(CostantiControlStation.LABEL_PARAMETRO_RICHIESTA.toLowerCase());
- if(correlazioneApplicativa.sizeElementoList()>1) {
- sb.append(" (").append(correlazioneApplicativa.sizeElementoList()).append(")");
- }
- }
- if(isCorrelazioneApplicativaAbilitataRes) {
- if(isCorrelazioneApplicativaAbilitataReq) {
- sb.append(", ");
- }
- sb.append(CostantiControlStation.LABEL_PARAMETRO_RISPOSTA.toLowerCase());
- if(correlazioneApplicativaRisposta.sizeElementoList()>1) {
- sb.append(" (").append(correlazioneApplicativaRisposta.sizeElementoList()).append(")");
- }
- }
- sb.append(sbCor.toString());
- }
-
- }
-
- private static void printConfigurazioneRegistrazioneMessaggi(ConsoleHelper consoleHelper, SoggettiCore soggettiCore,
- DumpConfigurazione dumpConfigurazione,
- //Configurazione configurazioneGenerale = null; // non viene usato, poiche' il metodo viene chiamato solo con dumpConfigurazione diverso da null
- StringBuilder sb,
- String separator, String newLine) throws Exception {
-
- if(dumpConfigurazione!=null) {
- DataElement de = new DataElement();
- consoleHelper.setStatoDump(de, dumpConfigurazione,
- null, //configurazioneGenerale,
- false, false);
- printConfigurazioneFromStatusValues(de, CostantiControlStation.LABEL_REGISTRAZIONE_MESSAGGI,
- sb,
- separator, newLine);
- }
- }
-
- private static void printConfigurazioneAllarmi(ConsoleHelper consoleHelper, SoggettiCore soggettiCore,
- boolean gestioneFruitore, String nomePorta,
- StringBuilder sb,
- String separator, String newLine) throws Exception {
- boolean visualizzaAllarmi = soggettiCore.isConfigurazioneAllarmiEnabled();
- if(visualizzaAllarmi) {
- List<ConfigurazioneAllarmeBean> listaAllarmi = null;
- ConsoleSearch searchPolicy = new ConsoleSearch(true);
- ConfigurazioneCore confCore = new ConfigurazioneCore(soggettiCore);
- listaAllarmi = confCore.allarmiList(searchPolicy, gestioneFruitore ? RuoloPorta.DELEGATA : RuoloPorta.APPLICATIVA , nomePorta);
- if(listaAllarmi!=null && !listaAllarmi.isEmpty()) {
- DataElement de = new DataElement();
- consoleHelper.setStatoAllarmi(de, listaAllarmi);
- printConfigurazioneFromStatusValues(de, ConfigurazioneCostanti.LABEL_CONFIGURAZIONE_ALLARMI,
- sb,
- separator, newLine);
- }
- }
- }
-
- private static void printConfigurazioneProperties(ConsoleHelper consoleHelper, SoggettiCore soggettiCore,
- List<Proprieta> list,
- StringBuilder sb,
- String separator, String newLine) throws Exception {
- if(list!=null && list.size()>0) {
- StringBuilder sbProp = new StringBuilder();
- if(list.size()<=5) {
- for (Proprieta proprieta : list) {
- if(sbProp.length()>0) {
- sbProp.append(", ");
- }
- sbProp.append(proprieta.getNome());
- sbProp.append("=");
- int limitValore = 30;
- if(proprieta.getValore().length()<limitValore) {
- sbProp.append(proprieta.getValore());
- }
- else {
- sbProp.append(proprieta.getValore().substring(0, limitValore-3)+"...");
- }
- }
- }
- else if(list.size()<=10) {
- for (Proprieta proprieta : list) {
- if(sbProp.length()>0) {
- sbProp.append(", ");
- }
- sbProp.append(proprieta.getNome());
- }
- }
- else {
- sbProp.append(StatoFunzionalita.ABILITATO.getValue()).append(" (").append(list.size()).append(")");
- }
- sb.append(newLine);
- sb.append(ConfigurazioneCostanti.LABEL_CONFIGURAZIONE_PROPRIETA_LABEL2);
- sb.append(separator);
- sb.append(sbProp.toString());
- }
- }
-
- private static void printConfigurazioneAltro(ConsoleHelper consoleHelper, SoggettiCore soggettiCore,
- String protocollo, AccordoServizioParteComune aspc,
- StatoFunzionalita allegaBody, StatoFunzionalita scartaBody,
- String integrazione, String behaviour,
- List<Proprieta> proprietaRateLimiting,
- StatoFunzionalita stateless, PortaDelegataLocalForward localForward,
- StatoFunzionalita ricevutaAsincronaSimmetrica, StatoFunzionalita ricevutaAsincronaAsimmetrica,
- StatoFunzionalita gestioneManifest, ConfigurazionePortaHandler configPortaHandler,
- StringBuilder sb,
- String separator, String newLine) throws Exception {
- DataElement de = new DataElement();
- consoleHelper.setStatoOpzioniAvanzate(de,
- protocollo, ServiceBinding.valueOf(aspc.getServiceBinding().name()),
- allegaBody, scartaBody,
- integrazione, behaviour,
- proprietaRateLimiting,
- stateless, localForward,
- ricevutaAsincronaSimmetrica, ricevutaAsincronaAsimmetrica,
- gestioneManifest, configPortaHandler,
- false);
- List<String> l = de.getStatusValuesAsList();
- boolean print = false;
- if(l!=null && !l.isEmpty()) {
- if(l.size()>1) {
- print = true;
- }
- else {
- String s = l.get(0);
- if(s!=null && !"".equalsIgnoreCase(s)) {
- print = !CostantiConfigurazione.DISABILITATO.getValue().toLowerCase().equals(s.toLowerCase());
- }
- }
- }
- if(print) {
- printConfigurazioneFromStatusValues(de, PorteDelegateCostanti.LABEL_PARAMETRO_PORTE_DELEGATE_OPZIONI_AVANZATE,
- sb,
- separator, newLine);
- }
- }
-
- private static void printConfigurazionePortaDelegataExtended(ConsoleHelper consoleHelper, SoggettiCore soggettiCore,
- String protocollo, PortaDelegata portaDelegata, MappingFruizionePortaDelegata mapping,
- StringBuilder sb,
- String separator, String newLine) throws Exception {
- IExtendedListServlet extendedServletList = soggettiCore.getExtendedServletPortaDelegata();
- if(extendedServletList!=null && extendedServletList.showExtendedInfo(consoleHelper,protocollo)){
- String stato = extendedServletList.getStatoTab(consoleHelper,portaDelegata,mapping.isDefault());
- String statoTooltip = extendedServletList.getStatoTab(consoleHelper,portaDelegata,mapping.isDefault());
- int numExtended = extendedServletList.sizeList(portaDelegata);
- DataElement de = new DataElement();
- consoleHelper.setStatoExtendedList(de, numExtended, stato, statoTooltip, false);
- String label = extendedServletList.getListTitle(consoleHelper);
- printConfigurazioneFromStatusValues(de, label,
- sb,
- separator, newLine);
- }
- }
- private static void printConfigurazionePortaApplicativaExtended(ConsoleHelper consoleHelper, SoggettiCore soggettiCore,
- String protocollo, PortaApplicativa portaApplicativa, MappingErogazionePortaApplicativa mapping,
- StringBuilder sb,
- String separator, String newLine) throws Exception {
- IExtendedListServlet extendedServletList = soggettiCore.getExtendedServletPortaApplicativa();
- if(extendedServletList!=null && extendedServletList.showExtendedInfo(consoleHelper,protocollo)){
- String stato = extendedServletList.getStatoTab(consoleHelper,portaApplicativa,mapping.isDefault());
- String statoTooltip = extendedServletList.getStatoTab(consoleHelper,portaApplicativa,mapping.isDefault());
- int numExtended = extendedServletList.sizeList(portaApplicativa);
- DataElement de = new DataElement();
- consoleHelper.setStatoExtendedList(de, numExtended, stato, statoTooltip, false);
- String label = extendedServletList.getListTitle(consoleHelper);
- printConfigurazioneFromStatusValues(de, label,
- sb,
- separator, newLine);
- }
- }
-
- private static void printConfigurazioneFromStatusValues(DataElement de, String label,
- StringBuilder sb,
- String separator, String newLine) {
- List<String> l = de.getStatusValuesAsList();
- if(l!=null && !l.isEmpty()) {
- StringBuilder sbRT = new StringBuilder();
- for (String s : l) {
- if(sbRT.length()>0) {
- sbRT.append(", ");
- }
- sbRT.append(s);
- }
- if(sbRT.length()>0) {
- sb.append(newLine);
- sb.append(label);
- sb.append(separator);
- sb.append(sbRT.toString());
- }
- }
- }
-
- private static void printConnettoreErogazione(PortaApplicativa paDefault, PortaApplicativa paAssociata,
- ServiziApplicativiCore saCore, ConsoleHelper consoleHelper,
- StringBuilder sb,
- String separator, String newLine) throws Exception {
-
- if(paDefault==null) {
- throw new Exception("Param paDefault is null");
- }
- if(paAssociata==null) {
- throw new Exception("Param paAssociata is null");
- }
- if(saCore==null) {
- throw new Exception("Param saCore is null");
- }
-
- boolean connettoreMultiploEnabled = paAssociata.getBehaviour() != null;
-
- if(connettoreMultiploEnabled) {
-
- //sb.append(newLine);
- //sb.append("- "+PorteApplicativeCostanti.LABEL_PARAMETRO_PORTE_APPLICATIVE_CONNETTORI+" -");
-
- sb.append(newLine);
- //sb.append("Tipo");
- //sb.append(PorteApplicativeCostanti.LABEL_PARAMETRO_PORTE_APPLICATIVE_CONNETTORI);
- //sb.append(separator);
- sb.append(consoleHelper.getNomiConnettoriMultipliPortaApplicativa(paAssociata));
-
- /*
- sb.append(newLine);
- sb.append("Elenco "+PorteApplicativeCostanti.LABEL_PARAMETRO_PORTE_APPLICATIVE_CONNETTORI);
- sb.append(separator);
- sb.append(consoleHelper.getToolTipConnettoriMultipliPortaApplicativa(paAssociata));
- */
-
- for (PortaApplicativaServizioApplicativo paSA : paAssociata.getServizioApplicativoList()) {
- String nomeConnettore = CostantiConfigurazione.NOME_CONNETTORE_DEFAULT;
- if(paSA.getDatiConnettore() != null && paSA.getDatiConnettore().getNome() != null) {
- nomeConnettore = paSA.getDatiConnettore().getNome();
- }
-
- IDServizioApplicativo idServizioApplicativo = new IDServizioApplicativo();
- idServizioApplicativo.setIdSoggettoProprietario(new IDSoggetto(paDefault.getTipoSoggettoProprietario(), paDefault.getNomeSoggettoProprietario()));
- idServizioApplicativo.setNome(paSA.getNome());
- ServizioApplicativo sa = saCore.getServizioApplicativo(idServizioApplicativo);
- InvocazioneServizio is = sa.getInvocazioneServizio();
- org.openspcoop2.core.config.Connettore connettore = is.getConnettore();
-
- printConnettoreErogazione(consoleHelper,
- connettore, nomeConnettore,
- sa,
- sb,
- separator, newLine,
- true);
- }
- }
- else {
- IDServizioApplicativo idServizioApplicativo = new IDServizioApplicativo();
- idServizioApplicativo.setIdSoggettoProprietario(new IDSoggetto(paDefault.getTipoSoggettoProprietario(), paDefault.getNomeSoggettoProprietario()));
- idServizioApplicativo.setNome(paAssociata.getServizioApplicativo(0).getNome());
- ServizioApplicativo sa = saCore.getServizioApplicativo(idServizioApplicativo);
- InvocazioneServizio is = sa.getInvocazioneServizio();
- org.openspcoop2.core.config.Connettore connettore = is.getConnettore();
-
- printConnettoreErogazione(consoleHelper,
- connettore, null,
- sa,
- sb,
- separator, newLine,
- false);
- }
-
- }
- private static void printConnettoreFruizione(ConsoleHelper consoleHelper,
- Connettore connettore, String labelNomeConnettore,
- boolean connettoreStatic,
- StringBuilder sb,
- String separator, String newLine) throws Exception {
-
- if(connettore==null) {
- throw new Exception("Param connettore is null");
- }
-
- _printConnettore(consoleHelper,
- connettore.mappingIntoConnettoreConfigurazione(), labelNomeConnettore,
- null,
- connettoreStatic,
- sb,
- separator, newLine,
- false);
- }
- private static void printConnettoreErogazione(ConsoleHelper consoleHelper,
- org.openspcoop2.core.config.Connettore connettore, String labelNomeConnettore,
- ServizioApplicativo sa,
- StringBuilder sb,
- String separator, String newLine,
- boolean printIntestazione) throws Exception {
- _printConnettore(consoleHelper,
- connettore, labelNomeConnettore,
- sa,
- false,
- sb,
- separator, newLine,
- printIntestazione);
- }
- private static void _printConnettore(ConsoleHelper consoleHelper,
- org.openspcoop2.core.config.Connettore connettore, String labelNomeConnettore,
- ServizioApplicativo sa,
- boolean connettoreStatic,
- StringBuilder sb,
- String separator, String newLine,
- boolean printIntestazione) throws Exception {
- if(connettore==null) {
- throw new Exception("Param connettore is null");
- }
-
- TipiConnettore tipo = TipiConnettore.toEnumFromName(connettore.getTipo());
- if(tipo==null) {
- tipo = TipiConnettore.CUSTOM;
- }
- String labelTipoConnettore = tipo.getLabel();
- if(TipiConnettore.CUSTOM.equals(tipo)){
- try {
- ConfigurazioneCore confCore = new ConfigurazioneCore(consoleHelper.getCore());
- Plugin p = confCore.getPlugin(TipoPlugin.CONNETTORE, connettore.getTipo(), false);
- if(p!=null) {
- labelTipoConnettore = p.getLabel();
- }
- else {
- labelTipoConnettore = connettore.getTipo();
- }
- }catch(Throwable t) {
- labelTipoConnettore = connettore.getTipo();
- }
- }
-
- ConnettoreUtils.printDatiConnettore(connettore, labelTipoConnettore, labelNomeConnettore,
- sa,
- connettoreStatic,
- sb,
- separator, newLine,
- printIntestazione);
- }
- private static String getProprieta(String nome,List<org.openspcoop2.core.config.Proprieta> list){
- if(list!=null && !list.isEmpty()){
- for (org.openspcoop2.core.config.Proprieta property : list) {
- if(property.getNome().equals(nome)){
- return property.getValore();
- }
- }
- }
- return null;
- }
-
- private static void addProfiloModISicurezza(StringBuilder sbParam, Map<String, String> map,
- String labelProtocollo, boolean rest, boolean fruizione, boolean request,
- boolean digest,
- String patternDatiCorniceSicurezza, String schemaDatiCorniceSicurezza,
- boolean headerDuplicati,
- String separator, String newLine) {
-
- String prefixKey = ModIUtils.getPrefixKey(fruizione, request);
-
- StringBuilder sb = new StringBuilder();
-
- // Ttl (Iat / Expiration)
- String ttlV = map.get(prefixKey+ModIUtils.API_IMPL_SICUREZZA_MESSAGGIO_TTL);
- if(StringUtils.isNotEmpty(ttlV)) {
- sb.append(newLine);
- sb.append(CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_TTL_LABEL);
- sb.append(separator);
- sb.append(ttlV);
- }
-
- // Audit
- boolean audit = false;
- if(request) {
- sb.append(newLine);
- String label = rest ? CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_AUDIENCE_RICHIESTA_REST_LABEL : CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_AUDIENCE_RICHIESTA_SOAP_LABEL;
- sb.append(label);
- sb.append(separator);
- sb.append(map.get(prefixKey+ModIUtils.API_IMPL_SICUREZZA_MESSAGGIO_AUDIENCE));
- audit = true;
- }
- else {
- if(fruizione) {
-
- audit = true;
- String verificaAud = map.get(prefixKey+ModIUtils.API_IMPL_SICUREZZA_MESSAGGIO_VERIFICA_AUDIENCE);
- if(StringUtils.isNotEmpty(verificaAud)) {
- sb.append(newLine);
- String label = rest ? CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_AUDIENCE_RISPOSTA_REST_LABEL : CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_AUDIENCE_RISPOSTA_SOAP_LABEL;
- sb.append(label);
- sb.append(separator);
- sb.append(verificaAud);
- }
-
- String vAud = map.get(prefixKey+ModIUtils.API_IMPL_SICUREZZA_MESSAGGIO_AUDIENCE);
- if(StringUtils.isNotEmpty(vAud)) {
- String label = rest ? CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_AUDIENCE_RICHIESTA_REST_LABEL : CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_AUDIENCE_RICHIESTA_SOAP_LABEL;
- sb.append(newLine);
- sb.append(label);
- sb.append(separator);
- sb.append(vAud);
- }
- }
- }
- if(audit) {
- String label = rest ? CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_AUDIENCE_RICHIESTA_REST_LABEL : CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_AUDIENCE_RICHIESTA_SOAP_LABEL;
- label = CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_AUDIENCE_INTEGRITY_REST_LABEL + " " +label;
- String vAud = map.get(prefixKey+ModIUtils.API_IMPL_SICUREZZA_MESSAGGIO_INTEGRITY_AUDIENCE);
- if(StringUtils.isNotEmpty(vAud)) {
- sb.append(newLine);
- sb.append(label);
- sb.append(separator);
- sb.append(vAud);
- }
- }
-
- // TrustStore
- if( (fruizione && !request) || (!fruizione && request) ) {
-
- // truststore per i certificati
- addStore(sb, map,
- prefixKey, false, true,
- separator, newLine);
-
- if(rest) {
- // ssl per le url (x5u)
- addStore(sb, map,
- prefixKey, true, false,
- separator, newLine);
- }
-
- }
-
- // KeyStore
- if(!fruizione && !request) {
- addStore(sb, map,
- prefixKey, false, false,
- separator, newLine);
- }
-
- if(fruizione && request) {
- String v = map.get(prefixKey+ModIUtils.API_IMPL_SICUREZZA_MESSAGGIO_FRUIZIONE_KEYSTORE_MODE);
- if(StringUtils.isNotEmpty(v)) {
- sb.append(newLine);
- sb.append(CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_FRUIZIONE_KEYSTORE_MODE_LABEL);
- sb.append(separator);
- sb.append(v);
-
- if(CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_FRUIZIONE_KEYSTORE_MODE_LABEL_FRUIZIONE.equals(v)) {
- addStore(sb, map,
- prefixKey, false, false,
- separator, newLine);
- }
- }
- }
-
- // Firma
- if(rest) {
-
- // Algoritmo
- String v = map.get(prefixKey+ModIUtils.API_IMPL_SICUREZZA_MESSAGGIO_SIGNATURE_ALGORITHM);
- if(StringUtils.isNotEmpty(v)) {
- sb.append(newLine);
- sb.append(CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_REST_ALG_LABEL);
- sb.append(separator);
- sb.append(v);
- }
-
- // Codifica Digest
- v = map.get(prefixKey+ModIUtils.API_IMPL_SICUREZZA_MESSAGGIO_DIGEST_ENCODING);
- if(StringUtils.isNotEmpty(v)) {
- sb.append(newLine);
- sb.append(CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_REST_DIGEST_ENCODING_LABEL);
- sb.append(separator);
- sb.append(v);
- }
-
- // Header Firmati
- v = map.get(prefixKey+ModIUtils.API_IMPL_SICUREZZA_MESSAGGIO_HTTP_HEADER_FIRMATI);
- if(StringUtils.isNotEmpty(v)) {
- sb.append(newLine);
- sb.append(CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_HTTP_HEADERS_REST_LABEL);
- sb.append(separator);
- sb.append(v);
- }
-
- // Posizione Certificato
- v = map.get(prefixKey+ModIUtils.API_IMPL_SICUREZZA_MESSAGGIO_RIFERIMENTO_X509);
- if(StringUtils.isNotEmpty(v)) {
- sb.append(newLine);
- sb.append(CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_REST_RIFERIMENTO_X509_LABEL);
- sb.append(separator);
- sb.append(v);
- }
-
- // Certificate Chain
- v = map.get(prefixKey+ModIUtils.API_IMPL_SICUREZZA_MESSAGGIO_CATENA_CERTIFICATI_X509);
- if(StringUtils.isNotEmpty(v)) {
- sb.append(newLine);
- sb.append(CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_REST_RIFERIMENTO_X509_X5C_USE_CERTIFICATE_CHAIN_LABEL);
- sb.append(separator);
- sb.append(v);
- }
-
- // X5U Certificate URL
- v = map.get(prefixKey+ModIUtils.API_IMPL_SICUREZZA_MESSAGGIO_X5U_CERTIFICATE_URL);
- if(StringUtils.isNotEmpty(v)) {
- sb.append(newLine);
- sb.append(CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_REST_X5U_URL_LABEL);
- sb.append(separator);
- sb.append(v);
- }
-
- }
- else {
-
- // Algoritmo
- String v = map.get(prefixKey+ModIUtils.API_IMPL_SICUREZZA_MESSAGGIO_SIGNATURE_ALGORITHM);
- if(StringUtils.isNotEmpty(v)) {
- sb.append(newLine);
- sb.append(CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_SOAP_ALG_LABEL);
- sb.append(separator);
- sb.append(v);
- }
-
- // Algoritmo C14N
- v = map.get(prefixKey+ModIUtils.API_IMPL_SICUREZZA_MESSAGGIO_CANONICALIZATION_ALGORITHM);
- if(StringUtils.isNotEmpty(v)) {
- sb.append(newLine);
- sb.append(CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_SOAP_CANONICALIZATION_ALG_LABEL);
- sb.append(separator);
- sb.append(v);
- }
-
- // Header Firmati
- v = map.get(prefixKey+ModIUtils.API_IMPL_SICUREZZA_MESSAGGIO_SOAP_HEADER_FIRMATI);
- if(StringUtils.isNotEmpty(v)) {
- sb.append(newLine);
- sb.append(CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_SOAP_HEADERS_SOAP_LABEL);
- sb.append(separator);
- sb.append(v);
- }
-
- // Posizione Certificato
- v = map.get(prefixKey+ModIUtils.API_IMPL_SICUREZZA_MESSAGGIO_RIFERIMENTO_X509);
- if(StringUtils.isNotEmpty(v)) {
- sb.append(newLine);
- sb.append(CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_SOAP_RIFERIMENTO_X509_LABEL);
- sb.append(separator);
- sb.append(v);
- }
-
- // Certificate Chain
- v = map.get(prefixKey+ModIUtils.API_IMPL_SICUREZZA_MESSAGGIO_CATENA_CERTIFICATI_X509);
- if(StringUtils.isNotEmpty(v)) {
- sb.append(newLine);
- sb.append(CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_SOAP_RIFERIMENTO_X509_BINARY_SECURITY_TOKEN_USE_CERTIFICATE_CHAIN_LABEL);
- sb.append(separator);
- sb.append(v);
- }
-
- // Signature Token
- v = map.get(prefixKey+ModIUtils.API_IMPL_SICUREZZA_MESSAGGIO_INCLUDE_SIGNATURE_TOKEN);
- if(StringUtils.isNotEmpty(v)) {
- sb.append(newLine);
- sb.append(CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_SOAP_RIFERIMENTO_X509_BINARY_SECURITY_TOKEN_INCLUDE_SIGNATURE_TOKEN_LABEL);
- sb.append(separator);
- sb.append(v);
- }
-
- }
-
- // Info Audit
-
- if(patternDatiCorniceSicurezza!=null) {
-
- if(!CostantiDB.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_PATTERN_OLD.equals(patternDatiCorniceSicurezza) && schemaDatiCorniceSicurezza!=null) {
- String label = CostantiLabel.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_AUDIT_AUDIENCE_LABEL;
- String vAud = map.get(prefixKey+ModIUtils.API_IMPL_SICUREZZA_MESSAGGIO_AUDIT_AUDIENCE);
- if(StringUtils.isNotEmpty(vAud)) {
- sb.append(newLine);
- sb.append(label);
- sb.append(separator);
- sb.append(vAud);
- }
- }
-
-
- for (Map.Entry<String,String> entry : map.entrySet()) {
- String key = entry.getKey();
- String sKey = prefixKey+ModIUtils.API_IMPL_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_PREFIX;
- if(key.startsWith(sKey)) {
- String claim = key.substring(sKey.length());
- sb.append(newLine);
- sb.append(claim);
- sb.append(separator);
- String v = entry.getValue();
- sb.append(v);
- }
- }
- }
-
- // Sicurezza OAuth
-
- if( fruizione && request ) {
-
- String v = map.get(prefixKey+ModIUtils.API_IMPL_SICUREZZA_OAUTH_IDENTIFICATIVO);
- if(StringUtils.isNotEmpty(v)) {
- sb.append(newLine);
- //sb.append(CostantiLabel.LABEL_CREDENZIALI_AUTENTICAZIONE_TOKEN_CLIENT_ID);
- sb.append(CostantiLabel.LABEL_CREDENZIALI_AUTENTICAZIONE_TOKEN_CLIENT_ID_SEARCH);
- sb.append(separator);
- sb.append(v);
- }
-
- v = map.get(prefixKey+ModIUtils.API_IMPL_SICUREZZA_OAUTH_KID);
- if(StringUtils.isNotEmpty(v)) {
- sb.append(newLine);
- sb.append(CostantiLabel.LABEL_CREDENZIALI_AUTENTICAZIONE_TOKEN_KID);
- sb.append(separator);
- sb.append(v);
- }
-
- }
-
- // Intestazione e fine
- if(sb.length()>0) {
- sbParam.append(newLine);
- sbParam.append("- "+(request? "Request" : "Response")+" -");
-
- sbParam.append(sb.toString());
- }
- }
-
- private static void addStore(StringBuilder sb,Map<String, String> map,
- String prefixKeyParam, boolean ssl, boolean truststore,
- String separator, String newLine) {
-
- String label = null;
- if(ssl) {
- label = CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_SSL_TRUSTSTORE_MODE_LABEL;
- }
- else if(truststore) {
- label = CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_CERTIFICATI_TRUSTSTORE_MODE_LABEL;
- }
- else {
- label = CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_CERTIFICATI_KEYSTORE_MODE_LABEL;
- }
-
- String store = ModIUtils.getPrefixKeyStore(false, prefixKeyParam, ssl, truststore);
- String mode = map.get(store);
- if(CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_STORE_MODE_LABEL_DEFAULT.equals(mode)) {
- sb.append(newLine);
- sb.append(label);
- sb.append(separator);
- sb.append(CostantiLabel.MODIPA_API_IMPL_PROFILO_SICUREZZA_MESSAGGIO_STORE_MODE_LABEL_DEFAULT);
- }
- else {
-
- String prefixKey = ModIUtils.getPrefixKeyStore(true, prefixKeyParam, ssl, truststore);
-
- String type = map.get(prefixKey+ModIUtils.API_IMPL_SICUREZZA_MESSAGGIO_STORE_TYPE);
- String path = map.get(prefixKey+ModIUtils.API_IMPL_SICUREZZA_MESSAGGIO_STORE_PATH);
- if(StringUtils.isNotEmpty(type)) {
-
- sb.append(newLine);
- sb.append(label);
- sb.append(separator);
- sb.append("(").append(type).append(")");
- if(StringUtils.isNotEmpty(path)) {
- sb.append(" ").append(path);
- }
-
- // OCSP
- String ocsp = map.get(prefixKey+ModIUtils.API_IMPL_SICUREZZA_MESSAGGIO_STORE_OCSP_POLICY);
- if(StringUtils.isNotEmpty(ocsp)) {
- sb.append(newLine);
- sb.append(label).append(" ").append(CostantiLabel.MODIPA_TRUSTSTORE_OCSP_LABEL);
- sb.append(separator);
- try {
- String labelOcsp = OCSPManager.getInstance().getOCSPConfig(ocsp).getLabel();
- sb.append((labelOcsp!=null && StringUtils.isNotEmpty(labelOcsp)) ? labelOcsp : ocsp);
- }catch(Throwable t) {
- sb.append(ocsp);
- }
- }
-
- // CRL
- String crl = map.get(prefixKey+ModIUtils.API_IMPL_SICUREZZA_MESSAGGIO_STORE_CRLS);
- if(StringUtils.isNotEmpty(crl)) {
- sb.append(newLine);
- sb.append(label).append(" ").append(CostantiLabel.MODIPA_TRUSTSTORE_CRLS_LABEL);
- sb.append(separator);
- sb.append(crl);
- }
-
- // AliasKey
- String aliasKey = map.get(prefixKey+ModIUtils.API_IMPL_SICUREZZA_MESSAGGIO_KEY_ALIAS);
- if(StringUtils.isNotEmpty(aliasKey)) {
- sb.append(newLine);
- sb.append(CostantiLabel.MODIPA_KEY_ALIAS_LABEL);
- sb.append(separator);
- sb.append(aliasKey);
- }
- }
- }
- }
- }