PorteApplicativeChange.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.pa;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Collections;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.servlet.http.HttpSession;
- import org.apache.commons.lang.StringUtils;
- import org.apache.struts.action.Action;
- import org.apache.struts.action.ActionForm;
- import org.apache.struts.action.ActionForward;
- import org.apache.struts.action.ActionMapping;
- import org.openspcoop2.core.commons.Filtri;
- import org.openspcoop2.core.commons.Liste;
- import org.openspcoop2.core.config.CorrelazioneApplicativa;
- import org.openspcoop2.core.config.PortaApplicativa;
- import org.openspcoop2.core.config.PortaApplicativaAzione;
- import org.openspcoop2.core.config.PortaApplicativaBehaviour;
- import org.openspcoop2.core.config.PortaApplicativaServizio;
- import org.openspcoop2.core.config.PortaApplicativaServizioApplicativo;
- import org.openspcoop2.core.config.PortaApplicativaSoggettoVirtuale;
- import org.openspcoop2.core.config.Proprieta;
- 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.PortaApplicativaAzioneIdentificazione;
- 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.id.IDAccordo;
- import org.openspcoop2.core.id.IDPortaApplicativa;
- import org.openspcoop2.core.id.IDServizio;
- import org.openspcoop2.core.id.IDSoggetto;
- import org.openspcoop2.core.mapping.MappingErogazionePortaApplicativa;
- import org.openspcoop2.core.registry.AccordoServizioParteSpecifica;
- import org.openspcoop2.core.registry.beans.AccordoServizioParteComuneSintetico;
- import org.openspcoop2.core.registry.driver.DriverRegistroServiziNotFound;
- import org.openspcoop2.core.registry.driver.FiltroRicercaServizi;
- import org.openspcoop2.core.registry.driver.IDAccordoFactory;
- import org.openspcoop2.core.registry.driver.IDServizioFactory;
- import org.openspcoop2.core.transazioni.utils.PropertiesSerializator;
- import org.openspcoop2.message.constants.ServiceBinding;
- import org.openspcoop2.pdd.core.CostantiPdD;
- import org.openspcoop2.pdd.core.autorizzazione.CostantiAutorizzazione;
- import org.openspcoop2.pdd.core.controllo_traffico.policy.config.PolicyConfiguration;
- import org.openspcoop2.pdd.core.integrazione.GruppoIntegrazione;
- import org.openspcoop2.pdd.core.integrazione.TipoIntegrazione;
- import org.openspcoop2.protocol.basic.config.ImplementationConfiguration;
- import org.openspcoop2.utils.date.DateManager;
- import org.openspcoop2.utils.transport.TransportUtils;
- import org.openspcoop2.web.ctrlstat.core.AutorizzazioneUtilities;
- import org.openspcoop2.web.ctrlstat.core.ConsoleSearch;
- import org.openspcoop2.web.ctrlstat.core.ControlStationCore;
- import org.openspcoop2.web.ctrlstat.costanti.CostantiControlStation;
- import org.openspcoop2.web.ctrlstat.servlet.GeneralHelper;
- 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.aps.AccordiServizioParteSpecificaHelper;
- import org.openspcoop2.web.ctrlstat.servlet.aps.erogazioni.ErogazioniCostanti;
- import org.openspcoop2.web.ctrlstat.servlet.aps.erogazioni.ErogazioniHelper;
- import org.openspcoop2.web.ctrlstat.servlet.pd.PorteDelegateCostanti;
- import org.openspcoop2.web.ctrlstat.servlet.sa.ServiziApplicativiCore;
- import org.openspcoop2.web.ctrlstat.servlet.soggetti.SoggettiCore;
- import org.openspcoop2.web.ctrlstat.servlet.soggetti.SoggettiCostanti;
- import org.openspcoop2.web.lib.mvc.BinaryParameter;
- import org.openspcoop2.web.lib.mvc.Costanti;
- import org.openspcoop2.web.lib.mvc.DataElement;
- import org.openspcoop2.web.lib.mvc.ForwardParams;
- import org.openspcoop2.web.lib.mvc.GeneralData;
- import org.openspcoop2.web.lib.mvc.PageData;
- import org.openspcoop2.web.lib.mvc.Parameter;
- import org.openspcoop2.web.lib.mvc.ServletUtils;
- import org.openspcoop2.web.lib.mvc.TipoOperazione;
- import org.openspcoop2.web.lib.users.dao.PermessiUtente;
- /**
- * porteAppChange
- *
- * @author Andrea Poli (apoli@link.it)
- * @author Stefano Corallo (corallo@link.it)
- * @author Sandra Giangrandi (sandra@link.it)
- * @author $Author$
- * @version $Rev$, $Date$
- *
- */
- public final class PorteApplicativeChange extends Action {
- @Override
- public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
- HttpSession session = request.getSession(true);
- // Inizializzo PageData
- PageData pd = new PageData();
- GeneralHelper generalHelper = new GeneralHelper(session);
- // Inizializzo GeneralData
- GeneralData gd = generalHelper.initGeneralData(request);
- try {
- PorteApplicativeHelper porteApplicativeHelper = new PorteApplicativeHelper(request, pd, session);
- // prelevo il flag che mi dice da quale pagina ho acceduto la sezione delle porte applicative
- Integer parentPA = ServletUtils.getIntegerAttributeFromSession(PorteApplicativeCostanti.ATTRIBUTO_PORTE_APPLICATIVE_PARENT, session, request);
- if(parentPA == null) parentPA = PorteApplicativeCostanti.ATTRIBUTO_PORTE_APPLICATIVE_PARENT_NONE;
-
- String nomePorta = porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_NOME_PORTA);
- String idPorta = porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_ID);
- String idsogg = porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_ID_SOGGETTO);
- int soggInt = Integer.parseInt(idsogg);
- String descr = porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_DESCRIZIONE);
- String statoPorta = porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_STATO_PORTA);
- String soggvirt = porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_SOGGETTO_VIRTUALE);
- IDSoggetto idSoggettoVirtuale = null;
- if ((soggvirt != null) && !soggvirt.equals("") && !soggvirt.equals("-")) {
- idSoggettoVirtuale = new IDSoggetto(soggvirt.split("/")[0],soggvirt.split("/")[1]);
- }
- String servizio = porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_SERVIZIO);
- String azione = porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_AZIONE);
- String stateless = porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_STATELESS);
- String behaviour = porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_BEHAVIOUR);
- String gestBody = porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_GESTIONE_BODY);
- String gestManifest = porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_GESTIONE_MANIFEST);
- String ricsim = porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_RICEVUTA_ASINCRONA_SIMMETRICA);
- String ricasim = porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_RICEVUTA_ASINCRONA_ASIMMETRICA);
- String scadcorr = porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_SCADENZA_CORRELAZIONE_APPLICATIVA);
- String servizioApplicativo = porteApplicativeHelper.getParameter(CostantiControlStation.PARAMETRO_SERVIZIO_APPLICATIVO);
- String azid = porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_AZIONE_ID);
- String modeaz = porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_MODE_AZIONE);
- String forceWsdlBased = porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_FORCE_INTERFACE_BASED);
-
- String messageEngine = porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_GESTIONE_MESSAGE_ENGINE);
-
- BinaryParameter allegatoXacmlPolicy = porteApplicativeHelper.getBinaryParameter(CostantiControlStation.PARAMETRO_DOCUMENTO_SICUREZZA_XACML_POLICY);
-
- String idAsps = porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_ID_ASPS);
- if(idAsps == null)
- idAsps = "";
-
- String idTab = porteApplicativeHelper.getParameter(CostantiControlStation.PARAMETRO_ID_TAB);
- if(!porteApplicativeHelper.isModalitaCompleta() && StringUtils.isNotEmpty(idTab)) {
- ServletUtils.setObjectIntoSession(request, session, idTab, CostantiControlStation.PARAMETRO_ID_TAB);
- }
-
- String serviceBindingS = porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_SERVICE_BINDING);
- ServiceBinding serviceBinding = null;
- if(StringUtils.isNotEmpty(serviceBindingS))
- serviceBinding = ServiceBinding.valueOf(serviceBindingS);
-
- String integrazioneStato = porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_INTEGRAZIONE_STATO);
- String integrazione = porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_INTEGRAZIONE);
- String[] integrazioneGruppi = porteApplicativeHelper.getParameterValues(CostantiControlStation.PARAMETRO_PORTE_METADATI_GRUPPO);
-
- List<GruppoIntegrazione> integrazioneGruppiDaVisualizzare = new ArrayList<>();
- Map<String, List<String>> integrazioneGruppiValoriDeiGruppi = new HashMap<>();
- boolean isConfigurazione =false;
- if(parentPA!=null) {
- isConfigurazione = (parentPA.intValue() == PorteApplicativeCostanti.ATTRIBUTO_PORTE_APPLICATIVE_PARENT_CONFIGURAZIONE);
- }
- boolean modificaDescrizione=false;
- if(isConfigurazione) {
- modificaDescrizione = ServletUtils.isCheckBoxEnabled(porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_CONFIGURAZIONE_DESCRIZIONE));
- }
- boolean datiAltroPorta =false;
- if(isConfigurazione) {
- datiAltroPorta = ServletUtils.isCheckBoxEnabled(porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_CONFIGURAZIONE_ALTRO_PORTA));
- }
- boolean visualizzaSezioneOpzioniAvanzate = !(porteApplicativeHelper.isModalitaStandard() || (isConfigurazione && !datiAltroPorta));
- // dal secondo accesso in poi il calcolo dei gruppi da visualizzare avviene leggendo i parametri dalla richiesta
- if(integrazioneStato != null && visualizzaSezioneOpzioniAvanzate) {
- if(integrazioneStato.equals(CostantiControlStation.VALUE_PARAMETRO_PORTE_INTEGRAZIONE_STATO_RIDEFINITO)) {
- if(integrazioneGruppi != null) {
- for (String gruppoSelezionato : integrazioneGruppi) {
- integrazioneGruppiDaVisualizzare.add(GruppoIntegrazione.toEnumConstant(gruppoSelezionato));
- }
-
- // leggere i valori selezionati per ogni gruppo selezionato
- for (GruppoIntegrazione group : integrazioneGruppiDaVisualizzare) {
- List<String> valoriGruppoList = new ArrayList<>();
- if(group.isMulti()) {
- String[] valoriGruppo = porteApplicativeHelper.getParameterValues(CostantiControlStation.PARAMETRO_PORTE_METADATI_GRUPPO_SINGOLO+group.getValue());
- if(valoriGruppo != null) {
- valoriGruppoList.addAll(Arrays.asList(valoriGruppo));
- }
- } else {
- String valoreGruppo = porteApplicativeHelper.getParameter(CostantiControlStation.PARAMETRO_PORTE_METADATI_GRUPPO_SINGOLO+group.getValue());
- if(valoreGruppo != null) {
- valoriGruppoList.add(valoreGruppo);
- }
- }
-
- integrazioneGruppiValoriDeiGruppi.put(group.getValue(), valoriGruppoList);
- }
- }
- }
- }
-
- // RateLimiting
- String ctModalitaSincronizzazione = porteApplicativeHelper.getParameter(org.openspcoop2.core.controllo_traffico.constants.Costanti.MODALITA_SINCRONIZZAZIONE);
- String ctImplementazione = porteApplicativeHelper.getParameter(org.openspcoop2.core.controllo_traffico.constants.Costanti.MODALITA_IMPLEMENTAZIONE);
- String ctContatori = porteApplicativeHelper.getParameter(org.openspcoop2.core.controllo_traffico.constants.Costanti.MODALITA_CONTATORI);
- String ctTipologia = porteApplicativeHelper.getParameter(org.openspcoop2.core.controllo_traffico.constants.Costanti.MODALITA_TIPOLOGIA);
- String ctHeaderHttp = porteApplicativeHelper.getParameter(org.openspcoop2.core.controllo_traffico.constants.Costanti.MODALITA_GENERAZIONE_HEADER_HTTP);
- String ctHeaderHttpLimit = porteApplicativeHelper.getParameter(org.openspcoop2.core.controllo_traffico.constants.Costanti.MODALITA_GENERAZIONE_HEADER_HTTP_LIMIT);
- String ctHeaderHttpRemaining = porteApplicativeHelper.getParameter(org.openspcoop2.core.controllo_traffico.constants.Costanti.MODALITA_GENERAZIONE_HEADER_HTTP_REMAINING);
- String ctHeaderHttpReset = porteApplicativeHelper.getParameter(org.openspcoop2.core.controllo_traffico.constants.Costanti.MODALITA_GENERAZIONE_HEADER_HTTP_RESET);
- String ctHeaderHttpRetryAfter = porteApplicativeHelper.getParameter(org.openspcoop2.core.controllo_traffico.constants.Costanti.MODALITA_GENERAZIONE_HEADER_HTTP_RETRY_AFTER);
- String ctHeaderHttpRetryAfterBackoff = porteApplicativeHelper.getParameter(org.openspcoop2.core.controllo_traffico.constants.Costanti.MODALITA_GENERAZIONE_HEADER_HTTP_RETRY_AFTER_BACKOFF_SECONDS);
-
- // check su oldNomePD
- PageData pdOld = ServletUtils.getPageDataFromSession(request, session);
- String oldNomePA = pdOld.getHidden(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_OLD_NOME_PA);
- oldNomePA = (((oldNomePA != null) && !oldNomePA.equals("")) ? oldNomePA : nomePorta);
-
- // Preparo il menu
- porteApplicativeHelper.makeMenu();
- String postBackElementName = porteApplicativeHelper.getPostBackElementName();
- if(postBackElementName!=null && PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_MODE_AZIONE.equals(postBackElementName)) {
- // ho cambiato modalita', elimino il valore
- azione = null;
- }
-
- PorteApplicativeCore porteApplicativeCore = new PorteApplicativeCore();
- SoggettiCore soggettiCore = new SoggettiCore(porteApplicativeCore);
- AccordiServizioParteComuneCore apcCore = new AccordiServizioParteComuneCore(porteApplicativeCore);
- AccordiServizioParteSpecificaCore apsCore = new AccordiServizioParteSpecificaCore(porteApplicativeCore);
- ServiziApplicativiCore saCore = new ServiziApplicativiCore(porteApplicativeCore);
-
- boolean usataInConfigurazioni = false;
- boolean usataInConfigurazioneDefault = false;
- boolean addTrattinoSelezioneNonEffettuata = false;
- // Prendo la porta applicativa
- PortaApplicativa pa = porteApplicativeCore.getPortaApplicativa(Integer.parseInt(idPorta));
- // Prendo nome, tipo e pdd del soggetto
- String tipoNomeSoggettoProprietario = null;
- String tipoSoggettoProprietario = null;
- String nomeSoggettoProprietario = null;
- if(porteApplicativeCore.isRegistroServiziLocale()){
- org.openspcoop2.core.registry.Soggetto soggetto = soggettiCore.getSoggettoRegistro(soggInt);
- tipoNomeSoggettoProprietario = soggetto.getTipo() + "/" + soggetto.getNome();
- tipoSoggettoProprietario = soggetto.getTipo();
- nomeSoggettoProprietario = soggetto.getNome();
- }else{
- org.openspcoop2.core.config.Soggetto soggetto = soggettiCore.getSoggetto(soggInt);
- tipoNomeSoggettoProprietario = soggetto.getTipo() + "/" + soggetto.getNome();
- tipoSoggettoProprietario = soggetto.getTipo();
- nomeSoggettoProprietario = soggetto.getNome();
- }
- String protocollo = soggettiCore.getProtocolloAssociatoTipoSoggetto(tipoSoggettoProprietario);
- boolean isSupportatoAutenticazioneSoggetti = soggettiCore.isSupportatoAutenticazioneSoggetti(protocollo);
-
- Long idAspsLong;
- if(idAsps.equals("")) {
- PortaApplicativaServizio servizio2 = pa.getServizio();
- idAspsLong = servizio2.getId();
- } else {
- idAspsLong = Long.parseLong(idAsps);
- }
-
- // controllo se la porta e' usata in qualche configurazione e se e' usata nella configurazione di default
- MappingErogazionePortaApplicativa mappingErogazione = new MappingErogazionePortaApplicativa();
- AccordoServizioParteSpecifica asps = apsCore.getAccordoServizioParteSpecifica(idAspsLong);
- IDServizio idServizioCheck = IDServizioFactory.getInstance().getIDServizioFromAccordo(asps);
- mappingErogazione.setIdServizio(idServizioCheck);
- IDPortaApplicativa idPa = new IDPortaApplicativa();
- idPa.setNome(oldNomePA);
- mappingErogazione.setIdPortaApplicativa(idPa);
- usataInConfigurazioni = porteApplicativeCore.existsMappingErogazionePortaApplicativa(mappingErogazione);
- IDPortaApplicativa idPortaApplicativaAssociataDefault = porteApplicativeCore.getIDPortaApplicativaAssociataDefault(idServizioCheck);
- usataInConfigurazioneDefault = (idPortaApplicativaAssociataDefault != null && idPortaApplicativaAssociataDefault.getNome().equals(idPa.getNome()));
-
- // Informazioni sul numero di ServiziApplicativi, Correlazione Applicativa e stato Message-Security
- int numSA =pa.sizeServizioApplicativoList();
- int numRuoli = 0;
- if(pa.getRuoli()!=null){
- numRuoli = pa.getRuoli().sizeRuoloList();
- }
- int numScope = 0;
- if(pa.getScope()!=null){
- numScope = pa.getScope().sizeScopeList();
- }
-
- int numAutenticatiToken = 0;
- if(pa.getAutorizzazioneToken()!=null && pa.getAutorizzazioneToken().getServiziApplicativi()!=null){
- numAutenticatiToken = pa.getAutorizzazioneToken().getServiziApplicativi().sizeServizioApplicativoList();
- }
-
- int numRuoliToken = 0;
- if(pa.getAutorizzazioneToken()!=null && pa.getAutorizzazioneToken().getRuoli()!=null){
- numRuoliToken = pa.getAutorizzazioneToken().getRuoli().sizeRuoloList();
- }
-
- String[] servizioApplicativoList = null;
- Long idSa = null;
- if(numSA<=1){
- if(servizioApplicativo==null || "".equals(servizioApplicativo)){
- if(numSA==1){
- servizioApplicativo = pa.getServizioApplicativo(0).getNome();
- idSa = pa.getServizioApplicativo(0).getIdServizioApplicativo();
- }
- else{
- servizioApplicativo = "-";
- }
- }
- String[] servizioApplicativoListTmp = PorteApplicativeServizioApplicativoAdd.loadSAErogatori(pa, saCore, soggInt, false);
- servizioApplicativoList = new String[servizioApplicativoListTmp.length+1];
- servizioApplicativoList[0] = "-";
- for (int i = 0; i < servizioApplicativoListTmp.length; i++) {
- servizioApplicativoList[(i+1)] = servizioApplicativoListTmp[i];
- }
- }
- else{
- servizioApplicativo = null;
- }
-
- String statoMessageSecurity = pa.getStatoMessageSecurity() ;
- int numCorrelazioneReq =0;
- if(pa.getCorrelazioneApplicativa() != null)
- numCorrelazioneReq = pa.getCorrelazioneApplicativa().sizeElementoList();
- int numCorrelazioneRes =0;
- if(pa.getCorrelazioneApplicativaRisposta() != null)
- numCorrelazioneRes = pa.getCorrelazioneApplicativaRisposta().sizeElementoList();
- int numProprProt = pa.sizeProprietaList();
- // Stato MTOM
- boolean isMTOMAbilitatoReq = false;
- boolean isMTOMAbilitatoRes= false;
- if(pa.getMtomProcessor()!= null){
- if(pa.getMtomProcessor().getRequestFlow() != null &&
- pa.getMtomProcessor().getRequestFlow().getMode() != null){
- MTOMProcessorType mode = pa.getMtomProcessor().getRequestFlow().getMode();
- if(!mode.equals(MTOMProcessorType.DISABLE))
- isMTOMAbilitatoReq = true;
- }
- if(pa.getMtomProcessor().getResponseFlow() != null &&
- pa.getMtomProcessor().getResponseFlow().getMode() != null){
- MTOMProcessorType mode = pa.getMtomProcessor().getResponseFlow().getMode();
- if(!mode.equals(MTOMProcessorType.DISABLE))
- isMTOMAbilitatoRes = true;
- }
- }
- String statoMTOM = PorteApplicativeCostanti.LABEL_PARAMETRO_PORTE_APPLICATIVE_MTOM_DISABILITATO;
- if(isMTOMAbilitatoReq || isMTOMAbilitatoRes)
- statoMTOM = PorteApplicativeCostanti.LABEL_PARAMETRO_PORTE_APPLICATIVE_MTOM_ABILITATO;
- // Prendo il numero di correlazioni applicative
- CorrelazioneApplicativa ca = pa.getCorrelazioneApplicativa();
- int numCorrApp = 0;
- if (ca != null) {
- numCorrApp = ca.sizeElementoList();
- }
-
- String statoValidazione = null;
- String tipoValidazione = null;
- String applicaMTOM = "";
- ValidazioneContenutiApplicativi vx = pa.getValidazioneContenutiApplicativi();
- if (vx == null) {
- statoValidazione = PorteApplicativeCostanti.DEFAULT_VALUE_PARAMETRO_PORTE_APPLICATIVE_VALIDAZIONE_DISABILITATO;
- tipoValidazione = PorteApplicativeCostanti.DEFAULT_VALUE_PARAMETRO_PORTE_APPLICATIVE_TIPO_VALIDAZIONE_INTERFACE;
- } else {
- if(vx.getStato()!=null)
- statoValidazione = vx.getStato().toString();
- if ((statoValidazione == null) || "".equals(statoValidazione)) {
- statoValidazione = PorteApplicativeCostanti.DEFAULT_VALUE_PARAMETRO_PORTE_APPLICATIVE_VALIDAZIONE_DISABILITATO;
- }
-
- if(vx.getTipo()!=null)
- tipoValidazione = vx.getTipo().toString();
- if (tipoValidazione == null || "".equals(tipoValidazione)) {
- tipoValidazione = PorteApplicativeCostanti.DEFAULT_VALUE_PARAMETRO_PORTE_APPLICATIVE_TIPO_VALIDAZIONE_INTERFACE ;
- }
-
- if(vx.getAcceptMtomMessage()!=null &&
- vx.getAcceptMtomMessage().equals(StatoFunzionalita.ABILITATO)) {
- applicaMTOM = Costanti.CHECK_BOX_ENABLED;
- }
- }
- String autenticazione = pa.getAutenticazione();
- String autenticazioneCustom = null;
- if (autenticazione != null &&
- !TipoAutenticazione.getValues().contains(autenticazione)) {
- autenticazioneCustom = autenticazione;
- autenticazione = CostantiControlStation.DEFAULT_VALUE_PARAMETRO_PORTE_AUTENTICAZIONE_CUSTOM;
- }
- String autenticazioneOpzionale = "";
- if(pa.getAutenticazioneOpzionale()!=null &&
- pa.getAutenticazioneOpzionale().equals(StatoFunzionalita.ABILITATO)) {
- autenticazioneOpzionale = Costanti.CHECK_BOX_ENABLED;
- }
-
- TipoAutenticazionePrincipal autenticazionePrincipal = porteApplicativeCore.getTipoAutenticazionePrincipal(pa.getProprietaAutenticazioneList());
- List<String> autenticazioneParametroList = porteApplicativeCore.getParametroAutenticazione(autenticazione, pa.getProprietaAutenticazioneList());
- String autorizzazione = null;
- String autorizzazioneCustom = null;
- String autorizzazioneAutenticati = null;
- String autorizzazioneRuoli = null;
- String autorizzazioneRuoliTipologia = null;
- String ruoloMatch = null;
- String autorizzazioneContenuti = pa.getAutorizzazioneContenuto();
- String autorizzazioneContenutiProperties = null;
- String autorizzazioneContenutiStato = null;
-
- if(autorizzazioneContenuti == null) {
- autorizzazioneContenutiStato = StatoFunzionalita.DISABILITATO.getValue();
- } else if(autorizzazioneContenuti.equals(CostantiAutorizzazione.AUTORIZZAZIONE_CONTENUTO_BUILT_IN)) {
- autorizzazioneContenutiStato = StatoFunzionalita.ABILITATO.getValue();
- List<Proprieta> proprietaAutorizzazioneContenutoList = pa.getProprietaAutorizzazioneContenutoList();
- StringBuilder sb = new StringBuilder();
- for (Proprieta proprieta : proprietaAutorizzazioneContenutoList) {
- if(sb.length() >0)
- sb.append("\n");
-
- sb.append(proprieta.getNome()).append("=").append(proprieta.getValore());
- }
-
- autorizzazioneContenutiProperties = sb.toString();
- } else { // custom
- autorizzazioneContenutiStato = CostantiControlStation.VALUE_PARAMETRO_PORTE_CONTROLLO_ACCESSI_AUTORIZZAZIONE_CONTENUTI_STATO_CUSTOM;
- }
-
- if (pa.getAutorizzazione() != null &&
- !TipoAutorizzazione.getAllValues().contains(pa.getAutorizzazione())) {
- autorizzazioneCustom = pa.getAutorizzazione();
- autorizzazione = CostantiControlStation.DEFAULT_VALUE_PARAMETRO_PORTE_AUTORIZZAZIONE_CUSTOM;
- }
- else{
- autorizzazione = AutorizzazioneUtilities.convertToStato(pa.getAutorizzazione());
- if(TipoAutorizzazione.isAuthenticationRequired(pa.getAutorizzazione()))
- autorizzazioneAutenticati = Costanti.CHECK_BOX_ENABLED;
- if(TipoAutorizzazione.isRolesRequired(pa.getAutorizzazione()))
- autorizzazioneRuoli = Costanti.CHECK_BOX_ENABLED;
- autorizzazioneRuoliTipologia = AutorizzazioneUtilities.convertToRuoloTipologia(pa.getAutorizzazione()).getValue();
- }
-
-
- if (ruoloMatch == null &&
- pa.getRuoli()!=null && pa.getRuoli().getMatch()!=null){
- ruoloMatch = pa.getRuoli().getMatch().getValue();
- }
-
- String gestioneToken = null;
- String gestioneTokenPolicy = null;
- String gestioneTokenOpzionale = null;
- String gestioneTokenValidazioneInput = null;
- String gestioneTokenIntrospection = null;
- String gestioneTokenUserInfo = null;
- String gestioneTokenTokenForward = null;
-
- String autenticazioneTokenIssuer = null;
- String autenticazioneTokenClientId = null;
- String autenticazioneTokenSubject = null;
- String autenticazioneTokenUsername = null;
- String autenticazioneTokenEMail = null;
-
- String autorizzazioneAutenticatiToken = null;
- String autorizzazioneRuoliToken = null;
- String autorizzazioneRuoliTipologiaToken = null;
- String autorizzazioneRuoliMatchToken = null;
-
- String autorizzazioneTokenOptions = null;
- String autorizzazioneToken = null;
-
- String identificazioneAttributiStato = null;
- String [] attributeAuthoritySelezionate = null;
- String attributeAuthorityAttributi = null;
-
- if(pa.getGestioneToken() != null) {
- gestioneTokenPolicy = pa.getGestioneToken().getPolicy();
- if(gestioneTokenPolicy == null) {
- gestioneToken = StatoFunzionalita.DISABILITATO.getValue();
- gestioneTokenPolicy = CostantiControlStation.DEFAULT_VALUE_NON_SELEZIONATO;
- } else {
- gestioneToken = StatoFunzionalita.ABILITATO.getValue();
- }
-
- StatoFunzionalita tokenOpzionale = pa.getGestioneToken().getTokenOpzionale();
- if(tokenOpzionale == null) {
- gestioneTokenOpzionale = CostantiControlStation.DEFAULT_VALUE_PARAMETRO_CONFIGURAZIONE_GESTORE_POLICY_TOKEN_OPZIONALE;
- }else {
- gestioneTokenOpzionale = tokenOpzionale.getValue();
- }
-
- StatoFunzionalitaConWarning validazione = pa.getGestioneToken().getValidazione();
- if(validazione == null) {
- gestioneTokenValidazioneInput = CostantiControlStation.DEFAULT_VALUE_PARAMETRO_CONFIGURAZIONE_GESTORE_POLICY_TOKEN_VALIDAZIONE_INPUT;
- }else {
- gestioneTokenValidazioneInput = validazione.getValue();
- }
-
- StatoFunzionalitaConWarning introspection = pa.getGestioneToken().getIntrospection();
- if(introspection == null) {
- gestioneTokenIntrospection = CostantiControlStation.DEFAULT_VALUE_PARAMETRO_CONFIGURAZIONE_GESTORE_POLICY_TOKEN_INTROSPECTION;
- }else {
- gestioneTokenIntrospection = introspection.getValue();
- }
-
- StatoFunzionalitaConWarning userinfo = pa.getGestioneToken().getUserInfo();
- if(userinfo == null) {
- gestioneTokenUserInfo = CostantiControlStation.DEFAULT_VALUE_PARAMETRO_CONFIGURAZIONE_GESTORE_POLICY_TOKEN_USER_INFO;
- }else {
- gestioneTokenUserInfo = userinfo.getValue();
- }
-
- StatoFunzionalita tokenForward = pa.getGestioneToken().getForward();
- if(tokenForward == null) {
- gestioneTokenTokenForward = CostantiControlStation.DEFAULT_VALUE_PARAMETRO_CONFIGURAZIONE_GESTORE_POLICY_TOKEN_TOKEN_FORWARD;
- }else {
- gestioneTokenTokenForward = tokenForward.getValue();
- }
-
- autorizzazioneTokenOptions = pa.getGestioneToken().getOptions();
- if((autorizzazioneTokenOptions!=null && !"".equals(autorizzazioneTokenOptions))) {
- autorizzazioneToken = Costanti.CHECK_BOX_ENABLED;
- }
- else {
- autorizzazioneToken = Costanti.CHECK_BOX_DISABLED;
- }
-
- if(pa.getGestioneToken().getAutenticazione() != null) {
-
- StatoFunzionalita issuer = pa.getGestioneToken().getAutenticazione().getIssuer();
- if(issuer == null) {
- autenticazioneTokenIssuer = CostantiControlStation.DEFAULT_VALUE_PARAMETRO_CONFIGURAZIONE_GESTORE_POLICY_TOKEN_AUTENTICAZIONE_ISSUER;
- }else {
- autenticazioneTokenIssuer = issuer.getValue();
- }
-
- StatoFunzionalita clientId = pa.getGestioneToken().getAutenticazione().getClientId();
- if(clientId == null) {
- autenticazioneTokenClientId = CostantiControlStation.DEFAULT_VALUE_PARAMETRO_CONFIGURAZIONE_GESTORE_POLICY_TOKEN_AUTENTICAZIONE_CLIENT_ID;
- }else {
- autenticazioneTokenClientId = clientId.getValue();
- }
-
- StatoFunzionalita subject = pa.getGestioneToken().getAutenticazione().getSubject();
- if(subject == null) {
- autenticazioneTokenSubject = CostantiControlStation.DEFAULT_VALUE_PARAMETRO_CONFIGURAZIONE_GESTORE_POLICY_TOKEN_AUTENTICAZIONE_SUBJECT;
- }else {
- autenticazioneTokenSubject = subject.getValue();
- }
-
- StatoFunzionalita username = pa.getGestioneToken().getAutenticazione().getUsername();
- if(username == null) {
- autenticazioneTokenUsername = CostantiControlStation.DEFAULT_VALUE_PARAMETRO_CONFIGURAZIONE_GESTORE_POLICY_TOKEN_AUTENTICAZIONE_USERNAME;
- }else {
- autenticazioneTokenUsername = username.getValue();
- }
-
- StatoFunzionalita mailTmp = pa.getGestioneToken().getAutenticazione().getEmail();
- if(mailTmp == null) {
- autenticazioneTokenEMail = CostantiControlStation.DEFAULT_VALUE_PARAMETRO_CONFIGURAZIONE_GESTORE_POLICY_TOKEN_AUTENTICAZIONE_EMAIL;
- }else {
- autenticazioneTokenEMail = mailTmp.getValue();
- }
-
- }
- else {
- autenticazioneTokenIssuer = CostantiControlStation.DEFAULT_VALUE_PARAMETRO_CONFIGURAZIONE_GESTORE_POLICY_TOKEN_AUTENTICAZIONE_ISSUER;
- autenticazioneTokenClientId = CostantiControlStation.DEFAULT_VALUE_PARAMETRO_CONFIGURAZIONE_GESTORE_POLICY_TOKEN_AUTENTICAZIONE_CLIENT_ID;
- autenticazioneTokenSubject = CostantiControlStation.DEFAULT_VALUE_PARAMETRO_CONFIGURAZIONE_GESTORE_POLICY_TOKEN_AUTENTICAZIONE_SUBJECT;
- autenticazioneTokenUsername = CostantiControlStation.DEFAULT_VALUE_PARAMETRO_CONFIGURAZIONE_GESTORE_POLICY_TOKEN_AUTENTICAZIONE_USERNAME;
- autenticazioneTokenEMail = CostantiControlStation.DEFAULT_VALUE_PARAMETRO_CONFIGURAZIONE_GESTORE_POLICY_TOKEN_AUTENTICAZIONE_EMAIL;
- }
- }
- else {
- gestioneToken = StatoFunzionalita.DISABILITATO.getValue();
- gestioneTokenPolicy = CostantiControlStation.DEFAULT_VALUE_NON_SELEZIONATO;
- gestioneTokenOpzionale = CostantiControlStation.DEFAULT_VALUE_PARAMETRO_CONFIGURAZIONE_GESTORE_POLICY_TOKEN_OPZIONALE;
-
- gestioneTokenValidazioneInput = CostantiControlStation.DEFAULT_VALUE_PARAMETRO_CONFIGURAZIONE_GESTORE_POLICY_TOKEN_VALIDAZIONE_INPUT;
- gestioneTokenIntrospection = CostantiControlStation.DEFAULT_VALUE_PARAMETRO_CONFIGURAZIONE_GESTORE_POLICY_TOKEN_INTROSPECTION;
- gestioneTokenUserInfo = CostantiControlStation.DEFAULT_VALUE_PARAMETRO_CONFIGURAZIONE_GESTORE_POLICY_TOKEN_USER_INFO;
- gestioneTokenTokenForward = CostantiControlStation.DEFAULT_VALUE_PARAMETRO_CONFIGURAZIONE_GESTORE_POLICY_TOKEN_TOKEN_FORWARD;
-
- autenticazioneTokenIssuer = CostantiControlStation.DEFAULT_VALUE_PARAMETRO_CONFIGURAZIONE_GESTORE_POLICY_TOKEN_AUTENTICAZIONE_ISSUER;
- autenticazioneTokenClientId = CostantiControlStation.DEFAULT_VALUE_PARAMETRO_CONFIGURAZIONE_GESTORE_POLICY_TOKEN_AUTENTICAZIONE_CLIENT_ID;
- autenticazioneTokenSubject = CostantiControlStation.DEFAULT_VALUE_PARAMETRO_CONFIGURAZIONE_GESTORE_POLICY_TOKEN_AUTENTICAZIONE_SUBJECT;
- autenticazioneTokenUsername = CostantiControlStation.DEFAULT_VALUE_PARAMETRO_CONFIGURAZIONE_GESTORE_POLICY_TOKEN_AUTENTICAZIONE_USERNAME;
- autenticazioneTokenEMail = CostantiControlStation.DEFAULT_VALUE_PARAMETRO_CONFIGURAZIONE_GESTORE_POLICY_TOKEN_AUTENTICAZIONE_EMAIL;
- }
-
- if(pa.getAutorizzazioneToken()!=null && pa.getAutorizzazioneToken().getAutorizzazioneApplicativi()!=null) {
- autorizzazioneAutenticatiToken = StatoFunzionalita.ABILITATO.equals(pa.getAutorizzazioneToken().getAutorizzazioneApplicativi()) ? Costanti.CHECK_BOX_ENABLED : Costanti.CHECK_BOX_DISABLED;
- }
-
- if(pa.getAutorizzazioneToken()!=null && pa.getAutorizzazioneToken().getAutorizzazioneRuoli()!=null) {
- autorizzazioneRuoliToken = StatoFunzionalita.ABILITATO.equals(pa.getAutorizzazioneToken().getAutorizzazioneRuoli()) ? Costanti.CHECK_BOX_ENABLED : Costanti.CHECK_BOX_DISABLED;
- }
-
- if(pa.getAutorizzazioneToken()!=null && pa.getAutorizzazioneToken().getTipologiaRuoli()!=null) {
- autorizzazioneRuoliTipologiaToken = pa.getAutorizzazioneToken().getTipologiaRuoli().getValue();
- }
-
- if(pa.getAutorizzazioneToken()!=null && pa.getAutorizzazioneToken().getRuoli()!=null && pa.getAutorizzazioneToken().getRuoli().getMatch()!=null){
- autorizzazioneRuoliMatchToken = pa.getAutorizzazioneToken().getRuoli().getMatch().getValue();
- }
-
- String autorizzazioneScope = null;
- String autorizzazioneScopeMatch = null;
-
- if(pa.getScope() != null) {
- autorizzazioneScope = pa.getScope().getStato().equals(StatoFunzionalita.ABILITATO) ? Costanti.CHECK_BOX_ENABLED : "";
-
- if(pa.getScope()!=null && pa.getScope().getMatch()!=null){
- autorizzazioneScopeMatch = pa.getScope().getMatch().getValue();
- }
- } else {
- autorizzazioneScope = "";
- }
-
- if(identificazioneAttributiStato==null) {
- identificazioneAttributiStato = pa.sizeAttributeAuthorityList()>0 ? StatoFunzionalita.ABILITATO.getValue() : StatoFunzionalita.DISABILITATO.getValue();
- if(pa.sizeAttributeAuthorityList()>0) {
- attributeAuthoritySelezionate = porteApplicativeCore.buildAuthorityArrayString(pa.getAttributeAuthorityList());
- attributeAuthorityAttributi = porteApplicativeCore.buildAttributesStringFromAuthority(pa.getAttributeAuthorityList());
- }
- }
-
- // se ho modificato il soggetto ricalcolo il servizio e il service binding
- if (postBackElementName != null) {
- if(postBackElementName.equals(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_SOGGETTO_VIRTUALE)) {
- servizio = null;
- serviceBinding = null;
- } else if(postBackElementName.equals(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_SERVIZIO)) {
- serviceBinding = null;
- }
- }
-
- List<String> tipiServizioCompatibiliAccordo = new ArrayList<>();
- if(serviceBinding == null) {
- List<ServiceBinding> serviceBindingListProtocollo = apsCore.getServiceBindingListProtocollo(protocollo);
-
- if(serviceBindingListProtocollo != null && !serviceBindingListProtocollo.isEmpty()) {
- for (ServiceBinding serviceBinding2 : serviceBindingListProtocollo) {
- List<String> tipiServizioCompatibiliAccordoTmp = apsCore.getTipiServiziGestitiProtocollo(protocollo,serviceBinding2);
-
- for (String tipoTmp : tipiServizioCompatibiliAccordoTmp) {
- if(!tipiServizioCompatibiliAccordo.contains(tipoTmp))
- tipiServizioCompatibiliAccordo.add(tipoTmp);
- }
- }
- }
- } else {
- tipiServizioCompatibiliAccordo = apsCore.getTipiServiziGestitiProtocollo(protocollo,serviceBinding);
- }
-
- List<Parameter> lstParm = porteApplicativeHelper.getTitoloPA(parentPA, idsogg, idAsps);
-
- Boolean vistaErogazioni = ServletUtils.getBooleanAttributeFromSession(ErogazioniCostanti.ASPS_EROGAZIONI_ATTRIBUTO_VISTA_EROGAZIONI, session, request).getValue();
- boolean datiAltroApi = ServletUtils.isCheckBoxEnabled(porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_CONFIGURAZIONE_ALTRO_API));
- boolean datiInvocazione = ServletUtils.isCheckBoxEnabled(porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_CONFIGURAZIONE_DATI_INVOCAZIONE));
-
- String nomeBreadCrumb = oldNomePA;
- if( parentPA!=null && (parentPA.intValue() == PorteApplicativeCostanti.ATTRIBUTO_PORTE_APPLICATIVE_PARENT_CONFIGURAZIONE) ) {
- /** List<MappingErogazionePortaApplicativa> mappingServiziPorteAppList = apsCore.mappingServiziPorteAppList(idServizioCheck, idAspsLong, null);
- // MappingErogazionePortaApplicativa mappingErogazionePortaApplicativa = null;
- // for (MappingErogazionePortaApplicativa mappingErogazionePortaApplicativaTmp : mappingServiziPorteAppList) {
- // if(mappingErogazionePortaApplicativaTmp.getIdPortaApplicativa().getNome().equals(oldNomePA)) {
- // mappingErogazionePortaApplicativa = mappingErogazionePortaApplicativaTmp;
- // break;
- // }
- // }
- //
- // if(mappingErogazionePortaApplicativa.isDefault()) {
- // nomeBreadCrumb = PorteApplicativeCostanti.LABEL_PARAMETRO_PORTE_APPLICATIVE_MAPPING_EROGAZIONE_PA_NOME_DEFAULT;
- // } else {
- // nomeBreadCrumb = mappingErogazionePortaApplicativa.getNome();
- // }*/
-
- if(datiInvocazione) {
- lstParm.remove(lstParm.size()-1);
- if(vistaErogazioni != null && vistaErogazioni.booleanValue()) {
- lstParm.add(new Parameter(ErogazioniCostanti.LABEL_ASPS_PORTE_APPLICATIVE_MODIFICA_DATI_INVOCAZIONE,null));
- } else {
- lstParm.add(new Parameter(AccordiServizioParteSpecificaCostanti.LABEL_APS_DATI_INVOCAZIONE_DI + porteApplicativeHelper.getLabelIdServizio(asps),null));
- }
- nomeBreadCrumb=null;
- }
- else if(modificaDescrizione) {
- String labelPerPorta = null;
- if(parentPA!=null && (parentPA.intValue() == PorteApplicativeCostanti.ATTRIBUTO_PORTE_APPLICATIVE_PARENT_CONFIGURAZIONE)) {
- labelPerPorta = porteApplicativeCore.getLabelRegolaMappingErogazionePortaApplicativa(
- PorteApplicativeCostanti.LABEL_PARAMETRO_PORTE_APPLICATIVE_DESCRIZIONE_DI,
- PorteApplicativeCostanti.LABEL_PARAMETRO_PORTE_APPLICATIVE_DESCRIZIONE,
- pa);
- }
- else {
- lstParm.remove(lstParm.size()-1);
- labelPerPorta = PorteApplicativeCostanti.LABEL_PARAMETRO_PORTE_APPLICATIVE_DESCRIZIONE_DI+pa.getNome();
- }
-
- lstParm.add(new Parameter(labelPerPorta, null));
- nomeBreadCrumb=null;
- }
- else if(datiAltroPorta) {
- String labelPerPorta = null;
- if(parentPA!=null && (parentPA.intValue() == PorteApplicativeCostanti.ATTRIBUTO_PORTE_APPLICATIVE_PARENT_CONFIGURAZIONE)) {
- labelPerPorta = porteApplicativeCore.getLabelRegolaMappingErogazionePortaApplicativa(
- PorteApplicativeCostanti.LABEL_PARAMETRO_PORTE_APPLICATIVE_OPZIONI_AVANZATE_DI,
- PorteApplicativeCostanti.LABEL_PARAMETRO_PORTE_APPLICATIVE_OPZIONI_AVANZATE,
- pa);
- }
- else {
- lstParm.remove(lstParm.size()-1);
- labelPerPorta = PorteApplicativeCostanti.LABEL_PARAMETRO_PORTE_APPLICATIVE_OPZIONI_AVANZATE_DI+pa.getNome();
- }
-
- lstParm.add(new Parameter(labelPerPorta, null));
- nomeBreadCrumb=null;
- }
- else if(datiAltroApi) {
- lstParm.remove(lstParm.size()-1);
- if(vistaErogazioni != null && vistaErogazioni.booleanValue()) {
- lstParm.add(new Parameter(PorteApplicativeCostanti.LABEL_PARAMETRO_PORTE_APPLICATIVE_OPZIONI_AVANZATE,null));
- } else {
- lstParm.add(new Parameter(PorteApplicativeCostanti.LABEL_PARAMETRO_PORTE_APPLICATIVE_OPZIONI_AVANZATE_DI + porteApplicativeHelper.getLabelIdServizio(asps),null));
- }
- nomeBreadCrumb=null;
- }
- else {
- nomeBreadCrumb = porteApplicativeCore.getLabelRegolaMappingErogazionePortaApplicativa(null,null,pa);
- }
- }
-
- if(nomeBreadCrumb!=null) {
- lstParm.add(new Parameter(nomeBreadCrumb , null));
- }
- // Se idhid = null, devo visualizzare la pagina per la
- // modifica dati
- if (porteApplicativeHelper.isEditModeInProgress()) {
- // setto la barra del titolo
- ServletUtils.setPageDataTitle(pd, lstParm);
-
- String patternAzione = azione;
- if (descr == null) {
- descr = pa.getDescrizione();
- }
- if (statoPorta == null) {
- statoPorta = pa.getStato()!=null ? pa.getStato().getValue() : CostantiConfigurazione.ABILITATO.getValue();
- }
- if (stateless == null &&
- pa.getStateless()!=null) {
- stateless = pa.getStateless().toString();
- }
- if (behaviour == null) {
- behaviour = (pa.getBehaviour()!=null ? pa.getBehaviour().getNome() : null);
- }
- if (gestBody == null) {
- String allegaBody = null;
- if(pa.getAllegaBody()!=null)
- allegaBody = pa.getAllegaBody().toString();
- String scartaBody = null;
- if(pa.getScartaBody()!=null)
- scartaBody = pa.getScartaBody().toString();
- if (PorteApplicativeCostanti.DEFAULT_VALUE_PARAMETRO_PORTE_APPLICATIVE_ABILITATO.equals(allegaBody) &&
- PorteApplicativeCostanti.DEFAULT_VALUE_PARAMETRO_PORTE_APPLICATIVE_DISABILITATO.equals(scartaBody))
- gestBody = PorteApplicativeCostanti.DEFAULT_VALUE_PARAMETRO_PORTE_APPLICATIVE_GEST_BODY_ALLEGA;
- else if (PorteApplicativeCostanti.DEFAULT_VALUE_PARAMETRO_PORTE_APPLICATIVE_DISABILITATO.equals(allegaBody) &&
- PorteApplicativeCostanti.DEFAULT_VALUE_PARAMETRO_PORTE_APPLICATIVE_ABILITATO.equals(scartaBody))
- gestBody = PorteApplicativeCostanti.DEFAULT_VALUE_PARAMETRO_PORTE_APPLICATIVE_GEST_BODY_SCARTA;
- else if (PorteApplicativeCostanti.DEFAULT_VALUE_PARAMETRO_PORTE_APPLICATIVE_DISABILITATO.equals(allegaBody) &&
- PorteApplicativeCostanti.DEFAULT_VALUE_PARAMETRO_PORTE_APPLICATIVE_DISABILITATO.equals(scartaBody))
- gestBody = PorteApplicativeCostanti.DEFAULT_VALUE_PARAMETRO_PORTE_APPLICATIVE_GEST_BODY_NONE;
- }
- if (gestManifest == null &&
- pa.getGestioneManifest()!=null) {
- gestManifest = pa.getGestioneManifest().toString();
- }
- if (ricsim == null) {
- if(pa.getRicevutaAsincronaSimmetrica()!=null)
- ricsim = pa.getRicevutaAsincronaSimmetrica().toString();
- if ((ricsim == null) || "".equals(ricsim)) {
- ricsim = PorteApplicativeCostanti.DEFAULT_VALUE_PARAMETRO_PORTE_APPLICATIVE_ABILITATO;
- }
- }
- if (ricasim == null) {
- if(pa.getRicevutaAsincronaAsimmetrica()!=null)
- ricasim = pa.getRicevutaAsincronaAsimmetrica().toString();
- if ((ricasim == null) || "".equals(ricasim)) {
- ricasim = PorteApplicativeCostanti.DEFAULT_VALUE_PARAMETRO_PORTE_APPLICATIVE_ABILITATO;
- }
- }
- if ((scadcorr == null) && (ca != null)) {
- scadcorr = ca.getScadenza();
- }
-
- if (integrazioneStato == null) {
- if(pa.getIntegrazione() == null) {
- integrazioneStato = CostantiControlStation.VALUE_PARAMETRO_PORTE_INTEGRAZIONE_STATO_DEFAULT;
- } else if(TipoIntegrazione.DISABILITATO.getValue().equals(pa.getIntegrazione())) {
- integrazioneStato = CostantiControlStation.VALUE_PARAMETRO_PORTE_INTEGRAZIONE_STATO_DISABILITATO;
- } else {
- integrazioneStato = CostantiControlStation.VALUE_PARAMETRO_PORTE_INTEGRAZIONE_STATO_RIDEFINITO;
- }
- }
- if (integrazione == null) {
- integrazione = pa.getIntegrazione();
-
- List<String> integrazioneGruppiList = new ArrayList<>();
-
- if(integrazioneStato.equals(CostantiControlStation.VALUE_PARAMETRO_PORTE_INTEGRAZIONE_STATO_RIDEFINITO)) {
- // decodificare il contenuto di integrazione per generare gli elementi grafici necessari.
- List<String> valoriIntegrazione = integrazione != null ? Arrays.asList(integrazione.split(",")) : new ArrayList<>();
- for (String valoreIntegrazione : valoriIntegrazione) {
- TipoIntegrazione tipoIntegrazione = TipoIntegrazione.toEnumConstant(valoreIntegrazione);
- GruppoIntegrazione group = tipoIntegrazione != null ? tipoIntegrazione.getGroup() : GruppoIntegrazione.PLUGIN;
- String gruppoValore = group.getValue();
-
- List<String> valoriIntegrazionePerGruppo = null;
- if(integrazioneGruppiValoriDeiGruppi.containsKey(gruppoValore)) {
- valoriIntegrazionePerGruppo = integrazioneGruppiValoriDeiGruppi.remove(gruppoValore);
- } else {
- valoriIntegrazionePerGruppo = new ArrayList<>();
- }
-
- valoriIntegrazionePerGruppo.add(valoreIntegrazione);
- integrazioneGruppiValoriDeiGruppi.put(gruppoValore, valoriIntegrazionePerGruppo);
-
- if(!integrazioneGruppiDaVisualizzare.contains(group)) {
- integrazioneGruppiDaVisualizzare.add(group);
- integrazioneGruppiList.add(gruppoValore);
- }
- }
-
- integrazioneGruppi = !integrazioneGruppiList.isEmpty() ? integrazioneGruppiList.toArray(new String[integrazioneGruppiList.size()]) : null;
- }
- }
-
- if(ctModalitaSincronizzazione==null) {
- PolicyConfiguration policyConfig = new PolicyConfiguration(pa.getProprietaRateLimitingList(), porteApplicativeCore.getControlloTrafficoPolicyRateLimitingTipiGestori(), false);
- ctModalitaSincronizzazione = policyConfig.getSyncMode();
- ctImplementazione = policyConfig.getImpl();
- ctContatori = policyConfig.getCount();
- ctTipologia = policyConfig.getEngineType();
- ctHeaderHttp = policyConfig.getHttpMode();
- ctHeaderHttpLimit = policyConfig.getHttpMode_limit();
- ctHeaderHttpRemaining = policyConfig.getHttpMode_remaining();
- ctHeaderHttpReset = policyConfig.getHttpMode_reset();
- ctHeaderHttpRetryAfter = policyConfig.getHttpMode_retry_after();
- ctHeaderHttpRetryAfterBackoff = policyConfig.getHttpMode_retry_after_backoff();
- }
-
- if (messageEngine == null &&
- pa.getOptions()!=null) {
- Map<String, List<String>> props = PropertiesSerializator.convertoFromDBColumnValue(pa.getOptions());
- if(props!=null && props.size()>0) {
- String msgFactory = TransportUtils.getFirstValue(props,CostantiPdD.OPTIONS_MESSAGE_FACTORY);
- if(msgFactory!=null) {
- messageEngine = msgFactory;
- }
- }
- }
-
- if (soggvirt == null) {
- PortaApplicativaSoggettoVirtuale pasv = pa.getSoggettoVirtuale();
- if (pasv == null) {
- soggvirt="-";
- } else {
- soggvirt = pasv.getTipo()+"/"+pasv.getNome();
- servizio = soggvirt + " " +pa.getServizio().getTipo()+"/"+pa.getServizio().getNome();
- }
- }
- // recupero informazioni su servizio se non specificato l'id
- // del servizio
- if (
- (servizio==null || "".equals(servizio))
- &&
- ( !(soggvirt!=null && idSoggettoVirtuale!=null) )
- ){
- servizio = tipoSoggettoProprietario+"/"+nomeSoggettoProprietario+" "+pa.getServizio().getTipo()+"/"+pa.getServizio().getNome() + "/" + pa.getServizio().getVersione().intValue();
- }
-
- if (modeaz == null) {
- PortaApplicativaAzione paa = pa.getAzione();
- if (paa == null) {
- modeaz = "";
- azione = "";
- patternAzione = "";
- } else {
- if(paa.getIdentificazione()!=null)
- modeaz = paa.getIdentificazione().toString();
- azione = paa.getNome();
- patternAzione = paa.getPattern();
- azid = "" + paa.getId();
- }
- if ((modeaz == null) || "".equals(modeaz)) {
- modeaz = PorteDelegateCostanti.PARAMETRO_PORTE_DELEGATE_MODE_REGISTER_INPUT;
- }
- boolean useForceWSDLBased = true;
- // assegno costante
- if (modeaz != null) {
- switch (PortaApplicativaAzioneIdentificazione.toEnumConstant(modeaz)) {
- case STATIC:
- useForceWSDLBased = false;
- int azidInt = 0;
- if (azid != null)
- azidInt = Integer.parseInt(azid);
- if ( (azidInt == -2) || (azidInt>0) ) {
- azid = azione;
- }
- break;
- case INTERFACE_BASED:
- useForceWSDLBased = false;
- break;
- case CONTENT_BASED:
- case INPUT_BASED:
- case HEADER_BASED:
- case URL_BASED:
- case SOAP_ACTION_BASED:
- default:
- break;
- }
- if(useForceWSDLBased){
- StatoFunzionalita forceWsdlBased2 = paa.getForceInterfaceBased();
- if(forceWsdlBased2 != null && forceWsdlBased2.equals(StatoFunzionalita.ABILITATO)){
- forceWsdlBased = "yes";
- } else {
- forceWsdlBased = "";
- }
- }
- }
- }
- if ((modeaz != null) && !modeaz.equals(PorteDelegateCostanti.PARAMETRO_PORTE_DELEGATE_MODE_REGISTER_INPUT) &&
- (azione == null)) {
- azione = "";
- }
- if(!usataInConfigurazioneDefault) {
- PortaApplicativaAzione paa = pa.getAzione();
- if(paa != null) {
- List<String> azioneDelegataList = paa.getAzioneDelegataList();
- StringBuilder sb = new StringBuilder();
-
- for (String aD : azioneDelegataList) {
- if(sb.length() > 0) sb.append(", ");
- sb.append(aD);
- }
- azione = sb.toString();
- }
- }
- // Prendo la lista di soggetti (tranne il mio) e li metto in un
- // array per la funzione SoggettoVirtuale
- String[] soggettiList = null;
- String[] soggettiListLabel = null;
- Boolean soggVirt = ServletUtils.getObjectFromSession(request, session, Boolean.class, CostantiControlStation.SESSION_PARAMETRO_GESTIONE_SOGGETTI_VIRTUALI);
- if (soggVirt!=null && soggVirt.booleanValue()) {
- List<IDServizio> list = null;
- List<IDSoggetto> listSoggetti = new ArrayList<>();
- List<String> identitaSoggetti = new ArrayList<>();
- try{
- list = apsCore.getAllIdServizi(new FiltroRicercaServizi());
- }catch(DriverRegistroServiziNotFound dNotFound){
- // ignore
- }
- if(list!=null){
- for (int i = 0; i < list.size(); i++) {
- String idSoggetto = list.get(i).getSoggettoErogatore().toString();
- if (!idSoggetto.equals(tipoNomeSoggettoProprietario) && // non aggiungo il soggetto proprietario della porta applicativa
- (!identitaSoggetti.contains(idSoggetto))
- ){
- identitaSoggetti.add(idSoggetto);
- IDSoggetto soggettoErogatore = list.get(i).getSoggettoErogatore();
- String protocolloSoggettoErogatore = soggettiCore.getProtocolloAssociatoTipoSoggetto(soggettoErogatore.getTipo());
- if(protocolloSoggettoErogatore.equals(protocollo)){
- listSoggetti.add(soggettoErogatore);
- }
- }
- }
- }
- int totEl = listSoggetti.size() + 1;
- soggettiList = new String[totEl];
- soggettiListLabel = new String[totEl];
- soggettiList[0] = "-";
- soggettiListLabel[0] = "-";
- Map<String, String> soggettiMapTmp = new HashMap<>();
- List<String> listSoggettiOrdered = new ArrayList<>();
- for (IDSoggetto idSoggetto : listSoggetti) {
- listSoggettiOrdered.add(idSoggetto.getTipo() + "/" + idSoggetto.getNome());
- soggettiMapTmp.put(idSoggetto.getTipo() + "/" + idSoggetto.getNome(), porteApplicativeHelper.getLabelNomeSoggetto(protocollo,
- idSoggetto.getTipo(), idSoggetto.getNome()));
- }
- Collections.sort(listSoggettiOrdered);
- int i = 1;
- for (String idSOrdered : listSoggettiOrdered) {
- soggettiList[i] = idSOrdered;
- soggettiListLabel[i] = soggettiMapTmp.get(idSOrdered);
- i++;
- }
-
- }
- // Prendo la lista di servizi e li metto in un array
- String[] serviziList = null;
- String[] serviziListLabel = null;
- FiltroRicercaServizi filtroServizi = new FiltroRicercaServizi();
- if ( (!"".equals(soggvirt)) && (!"-".equals(soggvirt)) ){
- filtroServizi.setTipoSoggettoErogatore(soggvirt.split("/")[0]);
- filtroServizi.setNomeSoggettoErogatore(soggvirt.split("/")[1]);
- }
- else{
- filtroServizi.setTipoSoggettoErogatore(tipoSoggettoProprietario);
- filtroServizi.setNomeSoggettoErogatore(nomeSoggettoProprietario);
- }
- List<IDServizio> listIdServ = null;
- try{
- listIdServ = apsCore.getAllIdServizi(filtroServizi);
- }catch(DriverRegistroServiziNotFound dNotFound){
- // ignore
- }
-
- if(listIdServ!=null && !listIdServ.isEmpty()){
- List<String> serviziListTmp = new ArrayList<>();
- Map<String, IDServizio> serviziMapTmp = new HashMap<>();
- for (IDServizio idServizio : listIdServ) {
- if(tipiServizioCompatibiliAccordo.contains(idServizio.getTipo())){
- String keyServizio = idServizio.getSoggettoErogatore().getTipo() + "/" + idServizio.getSoggettoErogatore().getNome() + " " + idServizio.getTipo() + "/" + idServizio.getNome() + "/" + idServizio.getVersione().intValue();
- serviziListTmp.add(keyServizio);
- serviziMapTmp.put(keyServizio, idServizio);
- }
- }
- Collections.sort(serviziListTmp);
- serviziList = serviziListTmp.toArray(new String[1]);
- serviziListLabel = new String[serviziList.length];
- for (int i = 0; i < serviziList.length; i++) {
- String idServTmp = serviziList[i];
- serviziListLabel[i] = porteApplicativeHelper.getLabelIdServizio(protocollo, serviziMapTmp.get(idServTmp));
- }
- }
-
- IDServizio idServizio = null;
- AccordoServizioParteSpecifica servS = null;
- if (servizio != null) {
- boolean servizioPresenteInLista = false;
- if(serviziList!=null && serviziList.length>0){
- for (int i = 0; i < serviziList.length; i++) {
- if(serviziList[i].equals(servizio)){
- servizioPresenteInLista = true;
- break;
- }
- }
- }
- if(servizioPresenteInLista){
- String [] tmp = servizio.split(" ");
- idServizio = IDServizioFactory.getInstance().getIDServizioFromValues(tmp[1].split("/")[0],tmp[1].split("/")[1],
- tmp[0].split("/")[0],tmp[0].split("/")[1],
- Integer.parseInt(tmp[1].split("/")[2]));
- try{
- servS = apsCore.getServizio(idServizio);
- }catch(DriverRegistroServiziNotFound dNotFound){
- // ignore
- }
- }
- if(servS==null){
-
- // è cambiato il soggetto erogatore. non è più valido il servizio
- servizio = null;
- idServizio = null;
- if(serviziList!=null && serviziList.length>0){
- servizio = serviziList[0];
- String [] tmp = servizio.split(" ");
- idServizio = IDServizioFactory.getInstance().getIDServizioFromValues(tmp[1].split("/")[0],tmp[1].split("/")[1],
- tmp[0].split("/")[0],tmp[0].split("/")[1],
- Integer.parseInt(tmp[1].split("/")[2]));
- try{
- servS = apsCore.getServizio(idServizio);
- }catch(DriverRegistroServiziNotFound dNotFound){
- // ignore
- }
- if(servS==null){
- servizio = null;
- idServizio = null;
- }
- }
- }
- }
-
- AccordoServizioParteComuneSintetico as = null;
- if (servS != null) {
- IDAccordo idAccordo = IDAccordoFactory.getInstance().getIDAccordoFromUri(servS.getAccordoServizioParteComune());
- as = apcCore.getAccordoServizioSintetico(idAccordo);
- if(serviceBinding == null) {
- serviceBinding = apcCore.toMessageServiceBinding(as.getServiceBinding());
- }
- }
-
-
- String[] azioniList = null;
- String[] azioniListLabel = null;
- List<String> filtraAzioniUtilizzate = new ArrayList<>();
- if ((modeaz != null) && modeaz.equals(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_MODE_REGISTER_INPUT)) {
-
- Map<String,String> azioni = apcCore.getAzioniConLabel(servS, as, addTrattinoSelezioneNonEffettuata , true, filtraAzioniUtilizzate);
- if(azioni != null && azioni.size() > 0) {
- azioniList = new String[azioni.size()];
- azioniListLabel = new String[azioni.size()];
- int i = 0;
- for (Map.Entry<String,String> entry : azioni.entrySet()) {
- azioniList[i] = entry.getKey();
- azioniListLabel[i] = entry.getValue();
- i++;
- }
- }
- }
- // setto oldNomePD
- pd.addHidden(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_OLD_NOME_PA, oldNomePA);
-
- // preparo i campi
- List<DataElement> dati = new ArrayList<>();
- dati.add(ServletUtils.getDataElementForEditModeFinished());
- dati = porteApplicativeHelper.addHiddenFieldsToDati(TipoOperazione.CHANGE, idPorta, idsogg, idPorta, idAsps, dati);
- dati = porteApplicativeHelper.addPorteAppToDati(TipoOperazione.CHANGE,dati,
- nomePorta, descr, soggvirt, soggettiList, soggettiListLabel, servizio,
- serviziList, serviziListLabel, azione, azioniList, azioniListLabel, stateless, ricsim, ricasim, idsogg,
- idPorta, statoValidazione, tipoValidazione, gestBody, gestManifest,integrazioneStato, integrazione,
- integrazioneGruppi, integrazioneGruppiDaVisualizzare, integrazioneGruppiValoriDeiGruppi,
- numCorrApp,scadcorr,autorizzazioneContenutiStato, autorizzazioneContenuti, autorizzazioneContenutiProperties, protocollo,
- numSA,numRuoli,ruoloMatch,
- statoMessageSecurity,statoMTOM,numCorrelazioneReq,numCorrelazioneRes,numProprProt,applicaMTOM,
- behaviour,servizioApplicativoList,servizioApplicativo,idSa,
- autenticazione, autorizzazione,
- autenticazioneOpzionale, autenticazionePrincipal, autenticazioneParametroList, autenticazioneCustom, autorizzazioneCustom,
- isSupportatoAutenticazioneSoggetti,autorizzazioneAutenticati,autorizzazioneRuoli,autorizzazioneRuoliTipologia,
- servS,as,serviceBinding,
- statoPorta,modeaz, azid, patternAzione, forceWsdlBased, usataInConfigurazioni,usataInConfigurazioneDefault,
- StatoFunzionalita.ABILITATO.equals(pa.getRicercaPortaAzioneDelegata()),
- (pa.getAzione()!=null ? pa.getAzione().getNomePortaDelegante() : null), gestioneToken,null,null,
- gestioneTokenPolicy,gestioneTokenOpzionale,
- gestioneTokenValidazioneInput,gestioneTokenIntrospection,gestioneTokenUserInfo,gestioneTokenTokenForward,
- autenticazioneTokenIssuer, autenticazioneTokenClientId, autenticazioneTokenSubject, autenticazioneTokenUsername, autenticazioneTokenEMail,
- autorizzazioneToken,autorizzazioneTokenOptions,
- autorizzazioneScope,numScope, autorizzazioneScopeMatch,allegatoXacmlPolicy,
- messageEngine, pa.getCanale(),
- identificazioneAttributiStato, null,null, attributeAuthoritySelezionate, attributeAuthorityAttributi,
- autorizzazioneAutenticatiToken, null, numAutenticatiToken,
- autorizzazioneRuoliToken, null, numRuoliToken, autorizzazioneRuoliTipologiaToken, autorizzazioneRuoliMatchToken,
- ctModalitaSincronizzazione, ctImplementazione, ctContatori, ctTipologia,
- ctHeaderHttp, ctHeaderHttpLimit, ctHeaderHttpRemaining, ctHeaderHttpReset,
- ctHeaderHttpRetryAfter, ctHeaderHttpRetryAfterBackoff);
- pd.setDati(dati);
- ServletUtils.setGeneralAndPageDataIntoSession(request, session, gd, pd);
- return ServletUtils.getStrutsForwardEditModeInProgress(mapping, PorteApplicativeCostanti.OBJECT_NAME_PORTE_APPLICATIVE,
- ForwardParams.CHANGE());
- }
- // Controlli sui campi immessi
- boolean isOk = porteApplicativeHelper.porteAppCheckData(TipoOperazione.CHANGE, oldNomePA, isSupportatoAutenticazioneSoggetti, datiAltroPorta,
- serviceBinding);
- if (!isOk) {
- // setto la barra del titolo
- ServletUtils.setPageDataTitle(pd,lstParm);
- // Prendo la lista di soggetti (tranne il mio) e li metto in un
- // array per la funzione SoggettoVirtuale
- String[] soggettiList = null;
- String[] soggettiListLabel = null;
- Boolean soggVirt = ServletUtils.getObjectFromSession(request, session, Boolean.class, CostantiControlStation.SESSION_PARAMETRO_GESTIONE_SOGGETTI_VIRTUALI);
- if (soggVirt!=null && soggVirt.booleanValue()) {
- List<IDServizio> list = null;
- List<IDSoggetto> listSoggetti = new ArrayList<>();
- List<String> identitaSoggetti = new ArrayList<>();
- try{
- list = apsCore.getAllIdServizi(new FiltroRicercaServizi());
- }catch(DriverRegistroServiziNotFound dNotFound){
- // ignore
- }
- if(list!=null){
- for (int i = 0; i < list.size(); i++) {
- String idSoggetto = list.get(i).getSoggettoErogatore().toString();
- if (
- (!idSoggetto.equals(tipoNomeSoggettoProprietario)) && // non aggiungo il soggetto proprietario della porta applicativa
- (!identitaSoggetti.contains(idSoggetto))
- ){
- identitaSoggetti.add(idSoggetto);
- listSoggetti.add(list.get(i).getSoggettoErogatore());
- }
- }
- }
- int totEl = listSoggetti.size() + 1;
- soggettiList = new String[totEl];
- soggettiListLabel = new String[totEl];
- soggettiList[0] = "-";
- soggettiListLabel[0] = "-";
- Map<String, String> soggettiMapTmp = new HashMap<>();
- int i = 1;
- List<String> listSoggettiOrdered = new ArrayList<>();
- for (IDSoggetto idSoggetto : listSoggetti) {
- listSoggettiOrdered.add(idSoggetto.getTipo() + "/" + idSoggetto.getNome());
- soggettiMapTmp.put(idSoggetto.getTipo() + "/" + idSoggetto.getNome(), porteApplicativeHelper.getLabelNomeSoggetto(protocollo,
- idSoggetto.getTipo(), idSoggetto.getNome()));
- }
- Collections.sort(listSoggettiOrdered);
- for (String idSOrdered : listSoggettiOrdered) {
- soggettiList[i] = idSOrdered;
- soggettiListLabel[i] = soggettiMapTmp.get(idSOrdered);
- i++;
- }
- }
- // Prendo la lista di servizi e li metto in un array
- String[] serviziList = null;
- String[] serviziListLabel = null;
- FiltroRicercaServizi filtroServizi = new FiltroRicercaServizi();
- if ( (!soggvirt.equals("")) && (!soggvirt.equals("-")) ){
- filtroServizi.setTipoSoggettoErogatore(soggvirt.split("/")[0]);
- filtroServizi.setNomeSoggettoErogatore(soggvirt.split("/")[1]);
- }
- else{
- filtroServizi.setTipoSoggettoErogatore(tipoSoggettoProprietario);
- filtroServizi.setNomeSoggettoErogatore(nomeSoggettoProprietario);
- }
- List<IDServizio> listIdServ = null;
- try{
- listIdServ = apsCore.getAllIdServizi(filtroServizi);
- }catch(DriverRegistroServiziNotFound dNotFound){
- // ignore
- }
-
- if(listIdServ!=null && !listIdServ.isEmpty()){
- List<String> serviziListTmp = new ArrayList<>();
- Map<String, IDServizio> serviziMapTmp = new HashMap<>();
- for (IDServizio idServizio : listIdServ) {
- if(tipiServizioCompatibiliAccordo.contains(idServizio.getTipo())){
- String keyServizio = idServizio.getSoggettoErogatore().getTipo() + "/" + idServizio.getSoggettoErogatore().getNome() + " " + idServizio.getTipo() + "/" + idServizio.getNome() + "/" + idServizio.getVersione().intValue();
- serviziListTmp.add(keyServizio);
- serviziMapTmp.put(keyServizio, idServizio);
- }
- }
- Collections.sort(serviziListTmp);
- serviziList = serviziListTmp.toArray(new String[1]);
- serviziListLabel = new String[serviziList.length];
- for (int i = 0; i < serviziList.length; i++) {
- String idServTmp = serviziList[i];
- serviziListLabel[i] = porteApplicativeHelper.getLabelIdServizio(protocollo, serviziMapTmp.get(idServTmp));
- }
- }
- AccordoServizioParteSpecifica servS = null;
- IDServizio idServizio = null;
- try{
- if (servizio != null) {
- String [] tmp = servizio.split(" ");
- idServizio = IDServizioFactory.getInstance().getIDServizioFromValues(tmp[1].split("/")[0],tmp[1].split("/")[1],
- tmp[0].split("/")[0],tmp[0].split("/")[1],
- Integer.parseInt(tmp[1].split("/")[2]));
- try{
- servS = apsCore.getServizio(idServizio);
- }catch(DriverRegistroServiziNotFound dNotFound){
- // ignore
- }
- }
- } catch (Exception e) {
- // Il refresh, in seguito al cambio della validazione puo'
- // avvenire anche se il servizio non e' selezionato
- }
-
- AccordoServizioParteComuneSintetico as = null;
- if(servS!=null){
- IDAccordo idAccordo = IDAccordoFactory.getInstance().getIDAccordoFromUri(servS.getAccordoServizioParteComune());
- as = apcCore.getAccordoServizioSintetico(idAccordo);
- }
-
- // Prendo le azioni associate al servizio
- String[] azioniList = null;
- String[] azioniListLabel = null;
- List<String> filtraAzioniUtilizzate = new ArrayList<>();
- if ((modeaz != null) && modeaz.equals(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_MODE_REGISTER_INPUT)) {
-
- Map<String,String> azioni = apcCore.getAzioniConLabel(servS, as, addTrattinoSelezioneNonEffettuata , true, filtraAzioniUtilizzate);
- if(azioni != null && azioni.size() > 0) {
- azioniList = new String[azioni.size()];
- azioniListLabel = new String[azioni.size()];
- int i = 0;
- for (Map.Entry<String,String> entry : azioni.entrySet()) {
- azioniList[i] = entry.getKey();
- azioniListLabel[i] = entry.getValue();
- i++;
- }
- }
- }
- // setto oldNomePD
- pd.addHidden(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_OLD_NOME_PA, oldNomePA);
-
- // preparo i campi
- List<DataElement> dati = new ArrayList<>();
- dati.add(ServletUtils.getDataElementForEditModeFinished());
- dati = porteApplicativeHelper.addHiddenFieldsToDati(TipoOperazione.CHANGE, idPorta, idsogg, idPorta, idAsps, dati);
- dati = porteApplicativeHelper.addPorteAppToDati(TipoOperazione.CHANGE,dati,
- nomePorta, descr, soggvirt, soggettiList, soggettiListLabel, servizio,
- serviziList, serviziListLabel, azione, azioniList, azioniListLabel, stateless, ricsim,
- ricasim, idsogg, idPorta, statoValidazione, tipoValidazione, gestBody, gestManifest,integrazioneStato, integrazione,
- integrazioneGruppi, integrazioneGruppiDaVisualizzare, integrazioneGruppiValoriDeiGruppi,
- numCorrApp,scadcorr,autorizzazioneContenutiStato, autorizzazioneContenuti, autorizzazioneContenutiProperties,protocollo,
- numSA,numRuoli,ruoloMatch,
- statoMessageSecurity,statoMTOM,numCorrelazioneReq,numCorrelazioneRes,numProprProt,applicaMTOM,
- behaviour,servizioApplicativoList,servizioApplicativo,idSa,
- autenticazione, autorizzazione,
- autenticazioneOpzionale, autenticazionePrincipal, autenticazioneParametroList, autenticazioneCustom, autorizzazioneCustom,
- isSupportatoAutenticazioneSoggetti,autorizzazioneAutenticati,autorizzazioneRuoli,autorizzazioneRuoliTipologia,
- servS,as,serviceBinding,
- statoPorta,modeaz, azid, azione, forceWsdlBased, usataInConfigurazioni,usataInConfigurazioneDefault,
- StatoFunzionalita.ABILITATO.equals(pa.getRicercaPortaAzioneDelegata()),
- (pa.getAzione()!=null ? pa.getAzione().getNomePortaDelegante() : null), gestioneToken,null,null,
- gestioneTokenPolicy,gestioneTokenOpzionale,
- gestioneTokenValidazioneInput,gestioneTokenIntrospection,gestioneTokenUserInfo,gestioneTokenTokenForward,
- autenticazioneTokenIssuer, autenticazioneTokenClientId, autenticazioneTokenSubject, autenticazioneTokenUsername, autenticazioneTokenEMail,
- autorizzazioneToken,autorizzazioneTokenOptions,
- autorizzazioneScope,numScope, autorizzazioneScopeMatch,allegatoXacmlPolicy,
- messageEngine, pa.getCanale(),
- identificazioneAttributiStato, null,null, attributeAuthoritySelezionate, attributeAuthorityAttributi,
- autorizzazioneAutenticatiToken, null, numAutenticatiToken,
- autorizzazioneRuoliToken, null, numRuoliToken, autorizzazioneRuoliTipologiaToken, autorizzazioneRuoliMatchToken,
- ctModalitaSincronizzazione, ctImplementazione, ctContatori, ctTipologia,
- ctHeaderHttp, ctHeaderHttpLimit, ctHeaderHttpRemaining, ctHeaderHttpReset,
- ctHeaderHttpRetryAfter, ctHeaderHttpRetryAfterBackoff);
- pd.setDati(dati);
- ServletUtils.setGeneralAndPageDataIntoSession(request, session, gd, pd);
- return ServletUtils.getStrutsForwardEditModeCheckError(mapping, PorteApplicativeCostanti.OBJECT_NAME_PORTE_APPLICATIVE,
- ForwardParams.CHANGE());
- }
- // Modifico i dati della porta applicativa nel db
- pa.setNome(nomePorta);
- IDPortaApplicativa oldIDPortaApplicativaForUpdate = new IDPortaApplicativa();
- oldIDPortaApplicativaForUpdate.setNome(oldNomePA);
- pa.setOldIDPortaApplicativaForUpdate(oldIDPortaApplicativaForUpdate);
- if(modificaDescrizione && (descr==null || StringUtils.isEmpty(descr)) && ImplementationConfiguration.isDescriptionDefault(pa.getDescrizione())) {
- // lascio la precedente descrizione
- /**pa.setDescrizione(pa.getDescrizione());*/
- }
- else {
- pa.setDescrizione(descr);
- }
- if(statoPorta==null || "".equals(statoPorta) || CostantiConfigurazione.ABILITATO.toString().equals(statoPorta)){
- pa.setStato(StatoFunzionalita.ABILITATO);
- }
- else{
- pa.setStato(StatoFunzionalita.DISABILITATO);
- }
-
- if (stateless!=null && stateless.equals(PorteApplicativeCostanti.DEFAULT_VALUE_PARAMETRO_PORTE_APPLICATIVE_STATELESS_DEFAULT))
- pa.setStateless(null);
- else
- pa.setStateless(StatoFunzionalita.toEnumConstant(stateless));
- if (PorteApplicativeCostanti.DEFAULT_VALUE_PARAMETRO_PORTE_APPLICATIVE_GEST_BODY_ALLEGA.equals(gestBody))
- pa.setAllegaBody(StatoFunzionalita.toEnumConstant(PorteApplicativeCostanti.DEFAULT_VALUE_PARAMETRO_PORTE_APPLICATIVE_ABILITATO));
- else
- pa.setAllegaBody(StatoFunzionalita.toEnumConstant(PorteApplicativeCostanti.DEFAULT_VALUE_PARAMETRO_PORTE_APPLICATIVE_DISABILITATO));
- if (PorteApplicativeCostanti.DEFAULT_VALUE_PARAMETRO_PORTE_APPLICATIVE_GEST_BODY_SCARTA.equals(gestBody))
- pa.setScartaBody(StatoFunzionalita.toEnumConstant(PorteApplicativeCostanti.DEFAULT_VALUE_PARAMETRO_PORTE_APPLICATIVE_ABILITATO));
- else
- pa.setScartaBody(StatoFunzionalita.toEnumConstant(PorteApplicativeCostanti.DEFAULT_VALUE_PARAMETRO_PORTE_APPLICATIVE_DISABILITATO));
- if (gestManifest!=null && gestManifest.equals(PorteApplicativeCostanti.DEFAULT_VALUE_PARAMETRO_PORTE_APPLICATIVE_GEST_MANIFEST_DEFAULT))
- pa.setGestioneManifest(null);
- else
- pa.setGestioneManifest(StatoFunzionalita.toEnumConstant(gestManifest));
- pa.setRicevutaAsincronaSimmetrica(StatoFunzionalita.toEnumConstant(ricsim));
- pa.setRicevutaAsincronaAsimmetrica(StatoFunzionalita.toEnumConstant(ricasim));
-
- Map<String, List<String>> props = PropertiesSerializator.convertoFromDBColumnValue(pa.getOptions());
- props.remove(CostantiPdD.OPTIONS_MESSAGE_FACTORY);
- if(messageEngine!=null && !"".equals(messageEngine) && !CostantiControlStation.GESTIONE_MESSAGE_ENGINE_DEFAULT.equals(messageEngine)) {
- TransportUtils.put(props,CostantiPdD.OPTIONS_MESSAGE_FACTORY, messageEngine, false);
- }
- if(props.size()>0) {
- PropertiesSerializator ps = new PropertiesSerializator(props);
- pa.setOptions(ps.convertToDBColumnValue());
- }
- else {
- pa.setOptions(null);
- }
-
- if (idSoggettoVirtuale!=null) {
- String tipoSoggVirt = idSoggettoVirtuale.getTipo();
- String nomeSoggVirt = idSoggettoVirtuale.getNome();
- PortaApplicativaSoggettoVirtuale pasv = new PortaApplicativaSoggettoVirtuale();
- pasv.setTipo(tipoSoggVirt);
- pasv.setNome(nomeSoggVirt);
- pa.setSoggettoVirtuale(pasv);
- } else
- pa.setSoggettoVirtuale(null);
- if (servizio!=null) {
- String [] tmp = servizio.split(" ");
- IDServizio idServizio = IDServizioFactory.getInstance().getIDServizioFromValues(tmp[1].split("/")[0],tmp[1].split("/")[1],
- tmp[0].split("/")[0],tmp[0].split("/")[1],
- Integer.parseInt(tmp[1].split("/")[2]));
- PortaApplicativaServizio pas = new PortaApplicativaServizio();
- pas.setTipo(idServizio.getTipo());
- pas.setNome(idServizio.getNome());
- pas.setVersione(idServizio.getVersione());
- pa.setServizio(pas);
- } else
- pa.setServizio(null);
-
- // se l azione e' settata allora creo il bean
- if(modeaz!=null && modeaz.equals(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_MODE_DELEGATED_BY)) {
- // non modifico paAzione
- }
- else if (( (azione!=null && !azione.equals("")) ||
- PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_MODE_INPUT_BASED.equals(modeaz) ||
- PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_MODE_SOAP_ACTION_BASED.equals(modeaz) ||
- PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_MODE_PROTOCOL_BASED.equals(modeaz) ||
- PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_MODE_HEADER_BASED.equals(modeaz) ||
- PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_MODE_INTERFACE_BASED.equals(modeaz)) ||
- (azid!=null && !azid.equals("")) ) {
- PortaApplicativaAzione paa = new PortaApplicativaAzione();
- if (modeaz.equals(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_MODE_REGISTER_INPUT)) {
- azione = azid;
- if(paa.getId()<=0){
- paa.setId(-2l);
- }
- }
-
- paa.setIdentificazione(PortaApplicativaAzioneIdentificazione.toEnumConstant(modeaz));
-
- if (modeaz.equals(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_MODE_HEADER_BASED) ||
- modeaz.equals(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_MODE_URL_BASED) ||
- modeaz.equals(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_MODE_CONTENT_BASED)
- ) {
- paa.setNome(null);
- paa.setPattern(azione);
- }
- else if (modeaz.equals(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_MODE_REGISTER_INPUT)
- ) {
- paa.setNome(azione);
- paa.setPattern(null);
- }
- else {
- paa.setNome(null);
- paa.setPattern(null);
- }
-
- //FORCE WSDL BASED
- if(!modeaz.equals(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_MODE_REGISTER_INPUT) &&
- !modeaz.equals(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_MODE_PROTOCOL_BASED) &&
- !modeaz.equals(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_MODE_INTERFACE_BASED)){
- if(forceWsdlBased != null && (ServletUtils.isCheckBoxEnabled(forceWsdlBased))){
- paa.setForceInterfaceBased(StatoFunzionalita.ABILITATO);
- }else {
- paa.setForceInterfaceBased(StatoFunzionalita.DISABILITATO);
- }
- }else {
- paa.setForceInterfaceBased(null);
- }
- pa.setAzione(paa);
- } else {
- pa.setAzione(null);
- }
- // Cambio i dati della vecchia CorrelazioneApplicativa
- // Non ne creo una nuova, altrimenti mi perdo le vecchie entry
- if (ca != null)
- ca.setScadenza(scadcorr);
- pa.setCorrelazioneApplicativa(ca);
-
- if(integrazioneStato.equals(CostantiControlStation.VALUE_PARAMETRO_PORTE_INTEGRAZIONE_STATO_DEFAULT)) {
- pa.setIntegrazione(null);
- } else if(integrazioneStato.equals(CostantiControlStation.VALUE_PARAMETRO_PORTE_INTEGRAZIONE_STATO_DISABILITATO)) {
- pa.setIntegrazione(CostantiControlStation.VALUE_PARAMETRO_PORTE_INTEGRAZIONE_STATO_DISABILITATO);
- } else {
- List<String> valoriFinaliIntegrazione = new ArrayList<>();
- for (GruppoIntegrazione group : integrazioneGruppiDaVisualizzare) {
- valoriFinaliIntegrazione.addAll(integrazioneGruppiValoriDeiGruppi.get(group.getValue()));
- }
- pa.setIntegrazione(StringUtils.join(valoriFinaliIntegrazione.toArray(new String[valoriFinaliIntegrazione.size()]), ","));
- }
-
- if(datiAltroPorta) {
- PolicyConfiguration oldPolicyConfig = new PolicyConfiguration(pa.getProprietaRateLimitingList(), porteApplicativeCore.getControlloTrafficoPolicyRateLimitingTipiGestori(), false);
- boolean changeImpl = false;
- if(oldPolicyConfig.getEngineType()!=null) {
- changeImpl=!oldPolicyConfig.getEngineType().equals(ctTipologia);
- }
- else if(ctContatori!=null) {
- changeImpl=true;
- }
-
- PolicyConfiguration policyConfig = new PolicyConfiguration();
- if(changeImpl) {
- policyConfig.setGestorePolicyConfigDate(DateManager.getTimeMillis());
- }
- else {
- policyConfig.setGestorePolicyConfigDate(oldPolicyConfig.getGestorePolicyConfigDate());
- }
- policyConfig.setSyncMode(ctModalitaSincronizzazione);
- policyConfig.setImpl(ctImplementazione);
- policyConfig.setCount(ctContatori);
- policyConfig.setEngineType(ctTipologia);
- policyConfig.setHttpMode(ctHeaderHttp);
- policyConfig.setHttpMode_limit(ctHeaderHttpLimit);
- policyConfig.setHttpMode_remaining(ctHeaderHttpRemaining);
- policyConfig.setHttpMode_reset(ctHeaderHttpReset);
- policyConfig.setHttpMode_retry_after(ctHeaderHttpRetryAfter);
- policyConfig.setHttpMode_retry_after_backoff(ctHeaderHttpRetryAfterBackoff);
- pa.setProprietaRateLimitingList(new ArrayList<>());
- policyConfig.saveIn(pa.getProprietaRateLimitingList());
- }
-
- if(!porteApplicativeCore.isConnettoriMultipliEnabled()) {
- if(behaviour!=null && !"".equals(behaviour)){
- pa.setBehaviour(new PortaApplicativaBehaviour());
- pa.getBehaviour().setNome(behaviour);
- }else
- pa.setBehaviour(null);
- }
- if(!datiInvocazione && !datiAltroApi && !datiAltroPorta &&
- servizioApplicativo!=null && !"".equals(servizioApplicativo)){
- // Se il servizioApplicativo e' valorizzato deve esistere un solo SA nella porta applicativa
- if(pa.sizeServizioApplicativoList()>0)
- pa.removeServizioApplicativo(0);
- if(!"-".equals(servizioApplicativo)){
- PortaApplicativaServizioApplicativo sa = new PortaApplicativaServizioApplicativo();
- sa.setNome(servizioApplicativo);
- pa.addServizioApplicativo(sa);
- }
- }
-
- String userLogin = ServletUtils.getUserLoginFromSession(session);
- porteApplicativeCore.performUpdateOperation(userLogin, porteApplicativeHelper.smista(), pa);
- // Preparo la lista
- ConsoleSearch ricerca = (ConsoleSearch) ServletUtils.getSearchObjectFromSession(request, session, ConsoleSearch.class);
- List<PortaApplicativa> lista = null;
- int idLista = -1;
-
-
- switch (parentPA) {
- case PorteApplicativeCostanti.ATTRIBUTO_PORTE_APPLICATIVE_PARENT_CONFIGURAZIONE:
-
- boolean datiInvocazioneCheck = ServletUtils.isCheckBoxEnabled(porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_CONFIGURAZIONE_DATI_INVOCAZIONE));
- boolean datiAltroApiCheck = ServletUtils.isCheckBoxEnabled(porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_CONFIGURAZIONE_ALTRO_API));
- if(datiInvocazioneCheck || datiAltroApiCheck) {
- if(vistaErogazioni != null && vistaErogazioni.booleanValue()) {
- ErogazioniHelper erogazioniHelper = new ErogazioniHelper(request, pd, session);
- erogazioniHelper.prepareErogazioneChange(TipoOperazione.CHANGE, asps, null);
- ServletUtils.setGeneralAndPageDataIntoSession(request, session, gd, pd);
- return ServletUtils.getStrutsForwardEditModeFinished(mapping, ErogazioniCostanti.OBJECT_NAME_ASPS_EROGAZIONI, ForwardParams.CHANGE());
- }
-
- idLista = Liste.SERVIZI;
- ricerca = porteApplicativeHelper.checkSearchParameters(idLista, ricerca);
-
- String tipologia = ServletUtils.getObjectFromSession(request, session, String.class, AccordiServizioParteSpecificaCostanti.PARAMETRO_APS_TIPO_EROGAZIONE);
- if(tipologia!=null &&
- AccordiServizioParteSpecificaCostanti.PARAMETRO_APS_TIPO_EROGAZIONE_VALUE_EROGAZIONE.equals(tipologia)) {
- ricerca.addFilter(idLista, Filtri.FILTRO_DOMINIO, SoggettiCostanti.SOGGETTO_DOMINIO_OPERATIVO_VALUE);
- }
-
- boolean [] permessi = new boolean[2];
- PermessiUtente pu = ServletUtils.getUserFromSession(request, session).getPermessi();
- permessi[0] = pu.isServizi();
- permessi[1] = pu.isAccordiCooperazione();
- List<AccordoServizioParteSpecifica> listaS = null;
- String superUser = ServletUtils.getUserLoginFromSession(session);
- if(apsCore.isVisioneOggettiGlobale(superUser)){
- listaS = apsCore.soggettiServizioList(null, ricerca,permessi,session, request);
- }else{
- listaS = apsCore.soggettiServizioList(superUser, ricerca,permessi,session, request);
- }
- AccordiServizioParteSpecificaHelper apsHelper = new AccordiServizioParteSpecificaHelper(request, pd, session);
- apsHelper.prepareServiziList(ricerca, listaS);
- }
- else {
- idLista = Liste.CONFIGURAZIONE_EROGAZIONE;
- ricerca = porteApplicativeHelper.checkSearchParameters(idLista, ricerca);
- int idServizio = Integer.parseInt(idAsps);
- asps = apsCore.getAccordoServizioParteSpecifica(idServizio);
- IDServizio idServizio2 = IDServizioFactory.getInstance().getIDServizioFromAccordo(asps);
- Long idSoggetto = asps.getIdSoggetto() != null ? asps.getIdSoggetto() : -1L;
- List<MappingErogazionePortaApplicativa> lista2 = apsCore.mappingServiziPorteAppList(idServizio2,asps.getId(),ricerca);
- AccordiServizioParteSpecificaHelper apsHelper = new AccordiServizioParteSpecificaHelper(request, pd, session);
- apsHelper.prepareServiziConfigurazioneList(lista2, idAsps, idSoggetto+"", ricerca);
- }
- break;
- case PorteApplicativeCostanti.ATTRIBUTO_PORTE_APPLICATIVE_PARENT_SOGGETTO:
- idLista = Liste.PORTE_APPLICATIVE_BY_SOGGETTO;
- ricerca = porteApplicativeHelper.checkSearchParameters(idLista, ricerca);
- lista = porteApplicativeCore.porteAppList(soggInt, ricerca);
- porteApplicativeHelper.preparePorteAppList(ricerca, lista,idLista);
- break;
- case PorteApplicativeCostanti.ATTRIBUTO_PORTE_APPLICATIVE_PARENT_NONE:
- default:
- idLista = Liste.PORTE_APPLICATIVE;
- ricerca = porteApplicativeHelper.checkSearchParameters(idLista, ricerca);
- lista = porteApplicativeCore.porteAppList(null, ricerca);
- porteApplicativeHelper.preparePorteAppList(ricerca, lista,idLista);
- break;
- }
- ServletUtils.setGeneralAndPageDataIntoSession(request, session, gd, pd);
-
- ForwardParams fwP = ForwardParams.CHANGE();
-
- if( (datiAltroPorta || modificaDescrizione) && !porteApplicativeHelper.isModalitaCompleta()) {
- fwP = PorteApplicativeCostanti.TIPO_OPERAZIONE_CONFIGURAZIONE;
- }
- // Forward control to the specified success URI
- return ServletUtils.getStrutsForwardEditModeFinished(mapping, PorteApplicativeCostanti.OBJECT_NAME_PORTE_APPLICATIVE,
- fwP);
- } catch (Exception e) {
- return ServletUtils.getStrutsForwardError(ControlStationCore.getLog(), e, pd, request, session, gd, mapping,
- PorteApplicativeCostanti.OBJECT_NAME_PORTE_APPLICATIVE,
- ForwardParams.CHANGE());
- }
- }
- }