PorteApplicativeConnettoreDefault.java
/*
* GovWay - A customizable API Gateway
* https://govway.org
*
* Copyright (c) 2005-2024 Link.it srl (https://link.it).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3, as published by
* the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
package org.openspcoop2.web.ctrlstat.servlet.pa;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import javax.net.ssl.KeyManagerFactory;
import javax.net.ssl.TrustManagerFactory;
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.CoreException;
import org.openspcoop2.core.commons.Filtri;
import org.openspcoop2.core.commons.Liste;
import org.openspcoop2.core.config.InvocazioneServizio;
import org.openspcoop2.core.config.PortaApplicativa;
import org.openspcoop2.core.config.PortaApplicativaServizioApplicativo;
import org.openspcoop2.core.config.RispostaAsincrona;
import org.openspcoop2.core.config.ServizioApplicativo;
import org.openspcoop2.core.config.constants.CostantiConfigurazione;
import org.openspcoop2.core.config.constants.InvocazioneServizioTipoAutenticazione;
import org.openspcoop2.core.config.constants.TipologiaErogazione;
import org.openspcoop2.core.config.constants.TipologiaFruizione;
import org.openspcoop2.core.config.driver.db.IDServizioApplicativoDB;
import org.openspcoop2.core.constants.CostantiConnettori;
import org.openspcoop2.core.constants.TipiConnettore;
import org.openspcoop2.core.controllo_traffico.ConfigurazioneGenerale;
import org.openspcoop2.core.id.IDServizio;
import org.openspcoop2.core.mapping.MappingErogazionePortaApplicativa;
import org.openspcoop2.core.registry.AccordoServizioParteSpecifica;
import org.openspcoop2.core.registry.Connettore;
import org.openspcoop2.core.registry.driver.IDServizioFactory;
import org.openspcoop2.web.ctrlstat.core.ControlStationCore;
import org.openspcoop2.web.ctrlstat.core.ConsoleSearch;
import org.openspcoop2.web.ctrlstat.costanti.ConnettoreServletType;
import org.openspcoop2.web.ctrlstat.costanti.CostantiControlStation;
import org.openspcoop2.web.ctrlstat.plugins.ExtendedConnettore;
import org.openspcoop2.web.ctrlstat.plugins.servlet.ServletExtendedConnettoreUtils;
import org.openspcoop2.web.ctrlstat.servlet.GeneralHelper;
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.config.ConfigurazioneCore;
import org.openspcoop2.web.ctrlstat.servlet.connettori.ConnettoriCostanti;
import org.openspcoop2.web.ctrlstat.servlet.connettori.ConnettoriHelper;
import org.openspcoop2.web.ctrlstat.servlet.pd.PorteDelegateCostanti;
import org.openspcoop2.web.ctrlstat.servlet.sa.ServiziApplicativiCore;
import org.openspcoop2.web.ctrlstat.servlet.sa.ServiziApplicativiCostanti;
import org.openspcoop2.web.ctrlstat.servlet.sa.ServiziApplicativiHelper;
import org.openspcoop2.web.ctrlstat.servlet.soggetti.SoggettiCore;
import org.openspcoop2.web.ctrlstat.servlet.soggetti.SoggettiCostanti;
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;
/**
* PorteApplicativeConnettoreDefault
*
* @author Pintori Giuliano (pintori@link.it)
* @author $Author$
* @version $Rev$, $Date$
*/
public class PorteApplicativeConnettoreDefault 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;
// Preparo il menu
porteApplicativeHelper.makeMenu();
String id = porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_ID);
int idInt = Integer.parseInt(id);
String idsogg = porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_ID_SOGGETTO);
if(idsogg==null) {
throw new CoreException("Param '"+PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_ID_SOGGETTO+"' is null");
}
int soggInt = Integer.parseInt(idsogg);
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);
}
Properties parametersPOST = null;
String endpointtype = porteApplicativeHelper.readEndPointType();
String tipoconn = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_TIPO_PERSONALIZZATO );
String autenticazioneHttp = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_ENDPOINT_TYPE_ENABLE_HTTP);
String connettoreDebug = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_DEBUG);
// token policy
String autenticazioneTokenS = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_TOKEN_POLICY_STATO);
boolean autenticazioneToken = ServletUtils.isCheckBoxEnabled(autenticazioneTokenS);
String tokenPolicy = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_TOKEN_POLICY);
boolean forcePDND = false;
boolean forceOAuth = false;
// proxy
String proxyEnabled = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_PROXY_ENABLED);
String proxyHostname = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_PROXY_HOSTNAME);
String proxyPort = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_PROXY_PORT);
String proxyUsername = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_PROXY_USERNAME);
String proxyPassword = porteApplicativeHelper.getLockedParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_PROXY_PASSWORD);
// tempi risposta
String tempiRispostaEnabled = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_TEMPI_RISPOSTA_REDEFINE);
String tempiRispostaConnectionTimeout = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_TEMPI_RISPOSTA_CONNECTION_TIMEOUT);
String tempiRispostaReadTimeout = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_TEMPI_RISPOSTA_READ_TIMEOUT);
String tempiRispostaTempoMedioRisposta = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_TEMPI_RISPOSTA_TEMPO_MEDIO_RISPOSTA);
// opzioni avanzate
String transferMode = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_OPZIONI_AVANZATE_TRANSFER_MODE);
String transferModeChunkSize = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_OPZIONI_AVANZATE_TRANSFER_CHUNK_SIZE);
String redirectMode = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_OPZIONI_AVANZATE_REDIRECT_MODE);
String redirectMaxHop = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_OPZIONI_AVANZATE_REDIRECT_MAX_HOP);
String opzioniAvanzate = ConnettoriHelper.getOpzioniAvanzate(porteApplicativeHelper, transferMode, redirectMode);
String user= null;
String password =null;
// http
String url = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_URL );
if(TipiConnettore.HTTP.toString().equals(endpointtype)){
user = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_INVOCAZIONE_CREDENZIALI_AUTENTICAZIONE_USERNAME);
password = porteApplicativeHelper.getLockedParameter(ConnettoriCostanti.PARAMETRO_INVOCAZIONE_CREDENZIALI_AUTENTICAZIONE_PASSWORD);
}
// api key
String autenticazioneApiKey = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_ENDPOINT_TYPE_ENABLE_API_KEY);
String apiKeyHeader = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_API_KEY_HEADER);
if(apiKeyHeader==null || StringUtils.isEmpty(apiKeyHeader)) {
apiKeyHeader = CostantiConnettori.DEFAULT_HEADER_API_KEY;
}
String apiKeyValue = porteApplicativeHelper.getLockedParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_API_KEY_VALUE);
String appIdHeader = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_API_KEY_APP_ID_HEADER);
if(appIdHeader==null || StringUtils.isEmpty(appIdHeader)) {
appIdHeader = CostantiConnettori.DEFAULT_HEADER_APP_ID;
}
String appIdValue = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_API_KEY_APP_ID_VALUE);
String useOAS3NamesTmp = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_API_KEY_NOMI_OAS);
boolean useOAS3Names=true;
if(useOAS3NamesTmp!=null && StringUtils.isNotEmpty(useOAS3NamesTmp)) {
useOAS3Names = ServletUtils.isCheckBoxEnabled(useOAS3NamesTmp);
}
else {
useOAS3Names = porteApplicativeHelper.isAutenticazioneApiKeyUseOAS3Names(apiKeyHeader, appIdHeader);
}
String useAppIdTmp = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_API_KEY_USE_APP_ID);
boolean useAppId=false;
if(useAppIdTmp!=null && StringUtils.isNotEmpty(useAppIdTmp)) {
useAppId = ServletUtils.isCheckBoxEnabled(useAppIdTmp);
}
else {
useAppId = porteApplicativeHelper.isAutenticazioneApiKeyUseAppId(appIdValue);
}
// jms
String nomeCodaJms = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_JMS_NOME_CODA);
String tipoJms = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_JMS_TIPO_CODA);
String initcont = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_JMS_INIT_CTX);
String urlpgk = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_JMS_URL_PKG);
String provurl = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_JMS_PROVIDER_URL);
String connfact = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_JMS_CONNECTION_FACTORY);
String tipoSendas = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_JMS_TIPO_OGGETTO_JMS);
if(TipiConnettore.JMS.toString().equals(endpointtype)){
user = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_JMS_USERNAME);
password = porteApplicativeHelper.getLockedParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_JMS_PASSWORD);
}
// https
String httpsurl = url;
String httpstipologia = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_HTTPS_SSL_TYPE );
String httpshostverifyS = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_HTTPS_HOST_VERIFY);
String httpsTrustVerifyCertS = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_HTTPS_TRUST_VERIFY_CERTS );
boolean httpsTrustVerifyCert = ServletUtils.isCheckBoxEnabled(httpsTrustVerifyCertS);
String httpspath = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_HTTPS_TRUST_STORE_LOCATION );
String httpstipo = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_HTTPS_TRUST_STORE_TYPE);
String httpspwd = porteApplicativeHelper.getLockedParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_HTTPS_TRUST_STORE_PASSWORD);
String httpsalgoritmo = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_HTTPS_TRUST_MANAGEMENT_ALGORITM);
String httpsstatoS = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_HTTPS_STATO);
String httpskeystore = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_HTTPS_KEYSTORE_CLIENT_AUTH_MODE);
String httpspwdprivatekeytrust = porteApplicativeHelper.getLockedParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_HTTPS_PASSWORD_PRIVATE_KEY_STORE);
String httpspathkey = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_HTTPS_KEY_STORE_LOCATION);
String httpstipokey = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_HTTPS_KEY_STORE_TYPE);
String httpspwdkey = porteApplicativeHelper.getLockedParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_HTTPS_KEY_STORE_PASSWORD);
String httpspwdprivatekey = porteApplicativeHelper.getLockedParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_HTTPS_PASSWORD_PRIVATE_KEY_KEYSTORE);
String httpsalgoritmokey = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_HTTPS_KEY_MANAGEMENT_ALGORITM);
String httpsKeyAlias = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_HTTPS_ALIAS_PRIVATE_KEY_KEYSTORE);
String httpsTrustStoreCRLs = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_HTTPS_TRUST_STORE_CRL);
String httpsTrustStoreOCSPPolicy = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_HTTPS_TRUST_STORE_OCSP_POLICY);
String httpsKeyStoreBYOKPolicy = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_HTTPS_KEY_STORE_BYOK_POLICY);
if(TipiConnettore.HTTPS.toString().equals(endpointtype)){
user = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_INVOCAZIONE_CREDENZIALI_AUTENTICAZIONE_USERNAME);
password = porteApplicativeHelper.getLockedParameter(ConnettoriCostanti.PARAMETRO_INVOCAZIONE_CREDENZIALI_AUTENTICAZIONE_PASSWORD);
}
// file
String requestOutputFileName = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_FILE_REQUEST_OUTPUT_FILE_NAME);
String requestOutputFileNamePermissions = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_FILE_REQUEST_OUTPUT_FILE_NAME_PERMISSIONS);
String requestOutputFileNameHeaders = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_FILE_REQUEST_OUTPUT_FILE_NAME_HEADERS);
String requestOutputFileNameHeadersPermissions = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_FILE_REQUEST_OUTPUT_FILE_NAME_HEADERS_PERMISSIONS);
String requestOutputParentDirCreateIfNotExists = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_FILE_REQUEST_OUTPUT_AUTO_CREATE_DIR);
String requestOutputOverwriteIfExists = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_FILE_REQUEST_OUTPUT_OVERWRITE_FILE_NAME);
String responseInputMode = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_FILE_RESPONSE_INPUT_MODE);
String responseInputFileName = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_FILE_RESPONSE_INPUT_FILE_NAME);
String responseInputFileNameHeaders = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_FILE_RESPONSE_INPUT_FILE_NAME_HEADERS);
String responseInputDeleteAfterRead = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_FILE_RESPONSE_INPUT_FILE_NAME_DELETE_AFTER_READ);
String responseInputWaitTime = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_FILE_RESPONSE_INPUT_WAIT_TIME);
String erogazioneServizioApplicativoServerEnabledS = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_ABILITA_USO_APPLICATIVO_SERVER);
boolean erogazioneServizioApplicativoServerEnabled = ServletUtils.isCheckBoxEnabled(erogazioneServizioApplicativoServerEnabledS);
String erogazioneServizioApplicativoServer = porteApplicativeHelper.getParameter(ConnettoriCostanti.PARAMETRO_CONNETTORE_ID_APPLICATIVO_SERVER);
boolean httpshostverify = false;
if (httpshostverifyS != null && httpshostverifyS.equals(Costanti.CHECK_BOX_ENABLED))
httpshostverify = true;
boolean httpsstato = false;
if (httpsstatoS != null && httpsstatoS.equals(Costanti.CHECK_BOX_ENABLED))
httpsstato = true;
Boolean isConnettoreCustomUltimaImmagineSalvata = null;
boolean forceEnableConnettore = false;
if( (!porteApplicativeHelper.isModalitaCompleta())) {
forceEnableConnettore = true;
}
boolean postBackViaPost = true;
Connettore conTmp = null;
List<ExtendedConnettore> listExtendedConnettore =
ServletExtendedConnettoreUtils.getExtendedConnettore(conTmp, ConnettoreServletType.ACCORDO_SERVIZIO_PARTE_SPECIFICA_PORTA_APPLICATIVA_ADD, porteApplicativeHelper,
parametersPOST, (endpointtype==null), endpointtype); // uso endpointtype per capire se รจ la prima volta che entro
// Prendo il nome della porta
PorteApplicativeCore porteApplicativeCore = new PorteApplicativeCore();
AccordiServizioParteSpecificaCore apsCore = new AccordiServizioParteSpecificaCore(porteApplicativeCore);
SoggettiCore soggettiCore = new SoggettiCore(porteApplicativeCore);
ServiziApplicativiCore saCore = new ServiziApplicativiCore(porteApplicativeCore);
boolean isApplicativiServerEnabled = apsCore.isApplicativiServerEnabled(porteApplicativeHelper);
// La lista degli SA viene filtrata per tipo se sono abilitati gli applicativiServer.
String tipoSA = (isApplicativiServerEnabled) ? ServiziApplicativiCostanti.VALUE_SERVIZI_APPLICATIVI_TIPO_SERVER : null;
// Lista dei servizi applicativi per la creazione automatica
List<IDServizioApplicativoDB> listaIdSAServer = null;
if ((idsogg != null) && !idsogg.equals("")) {
long idErogatore = Long.parseLong(idsogg);
// I servizi applicativi da visualizzare sono quelli che hanno
// -Integration Manager (getMessage abilitato)
// -connettore != disabilitato
listaIdSAServer = saCore.getIdServiziApplicativiWithIdErogatore(idErogatore, tipoSA, true, true);
}
PortaApplicativa portaApplicativa = porteApplicativeCore.getPortaApplicativa(idInt);
String idporta = portaApplicativa.getNome();
String protocollo = soggettiCore.getProtocolloAssociatoTipoSoggetto(portaApplicativa.getTipoSoggettoProprietario());
String modalita = porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_MODALITA_CONNETTORE);
String [] modalitaLabels = { PorteApplicativeCostanti.LABEL_PARAMETRO_PORTE_APPLICATIVE_MODALITA_CONNETTORE_DEFAULT, PorteApplicativeCostanti.LABEL_PARAMETRO_PORTE_APPLICATIVE_MODALITA_CONNETTORE_RIDEFINITO };
String [] modalitaValues = { PorteApplicativeCostanti.VALUE_PARAMETRO_PORTE_APPLICATIVE_MODALITA_CONNETTORE_DEFAULT, PorteApplicativeCostanti.VALUE_PARAMETRO_PORTE_APPLICATIVE_MODALITA_CONNETTORE_RIDEFINITO };
String postBackElementName = porteApplicativeHelper.getPostBackElementName();
boolean initConnettore = false;
// Controllo se ho modificato l'azione allora ricalcolo il nome
if(postBackElementName != null ){
if(postBackElementName.equalsIgnoreCase(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_MODALITA_CONNETTORE) &&
// devo resettare il connettore
modalita.equals(PorteApplicativeCostanti.VALUE_PARAMETRO_PORTE_APPLICATIVE_MODALITA_CONNETTORE_RIDEFINITO)) {
initConnettore = true;
}
if(postBackElementName.equalsIgnoreCase(ConnettoriCostanti.PARAMETRO_CONNETTORE_ABILITA_USO_APPLICATIVO_SERVER) &&
// devo resettare il connettore se passo da SA Server a Default
!erogazioneServizioApplicativoServerEnabled && modalita.equals(PorteApplicativeCostanti.VALUE_PARAMETRO_PORTE_APPLICATIVE_MODALITA_CONNETTORE_RIDEFINITO)) {
initConnettore = true;
}
}
List<Parameter> lstParam = porteApplicativeHelper.getTitoloPA(parentPA, idsogg, idAsps);
String connettoreLabelDi = PorteApplicativeCostanti.LABEL_PARAMETRO_PORTE_APPLICATIVE_CONNETTORE_DEFAULT_DI;
String connettoreLabel = PorteApplicativeCostanti.LABEL_PARAMETRO_PORTE_APPLICATIVE_CONNETTORE_DEFAULT;
if(!porteApplicativeHelper.isModalitaCompleta()) {
connettoreLabelDi = PorteApplicativeCostanti.LABEL_PARAMETRO_PORTE_APPLICATIVE_CONNETTORE_DI;
connettoreLabel = PorteApplicativeCostanti.LABEL_PARAMETRO_PORTE_APPLICATIVE_CONNETTORE;
}
String labelPerPorta = null;
if(parentPA!=null && (parentPA.intValue() == PorteApplicativeCostanti.ATTRIBUTO_PORTE_APPLICATIVE_PARENT_CONFIGURAZIONE)) {
labelPerPorta = porteApplicativeCore.getLabelRegolaMappingErogazionePortaApplicativa(
connettoreLabelDi,
connettoreLabel,
portaApplicativa);
}
else {
labelPerPorta = connettoreLabelDi+idporta;
}
lstParam.add(new Parameter(labelPerPorta, null));
// setto la barra del titolo
ServletUtils.setPageDataTitle(pd, lstParam);
// imposta menu' contestuale
porteApplicativeHelper.impostaComandiMenuContestualePA(idsogg, idAsps);
String servletConnettore = null;
Parameter[] parametriServletConnettore =null;
if( porteApplicativeHelper.isEditModeInProgress()){
if(modalita == null) {
modalita = PorteApplicativeCostanti.VALUE_PARAMETRO_PORTE_APPLICATIVE_MODALITA_CONNETTORE_DEFAULT;
}
// solo in modalita' nuova
if(initConnettore) {
tipoconn = "";
url = "";
nomeCodaJms = "";
user = "";
password = "";
initcont = "";
urlpgk = "";
provurl = "";
connfact = "";
httpsurl = "";
httpstipologia = ConnettoriCostanti.DEFAULT_CONNETTORE_HTTPS_TYPE;
httpshostverifyS = Costanti.CHECK_BOX_ENABLED_TRUE;
httpshostverify = true;
httpsTrustVerifyCert = ConnettoriCostanti.DEFAULT_CONNETTORE_HTTPS_TRUST_VERIFY_CERTS;
httpspath = "";
httpstipo = ConnettoriCostanti.DEFAULT_CONNETTORE_HTTPS_TIPOLOGIA_KEYSTORE_TYPE;
httpspwd = "";
httpsstato = false;
httpskeystore = AccordiServizioParteSpecificaCostanti.DEFAULT_VALUE_DEFAULT;
httpspwdprivatekeytrust = "";
httpspathkey = "";
httpstipokey =ConnettoriCostanti.DEFAULT_CONNETTORE_HTTPS_TIPOLOGIA_KEYSTORE_TYPE;
httpspwdkey = "";
httpspwdprivatekey = "";
if(endpointtype==null) {
if(!porteApplicativeHelper.isModalitaCompleta()) {
endpointtype = TipiConnettore.HTTP.getNome();
}
else {
endpointtype = AccordiServizioParteSpecificaCostanti.DEFAULT_VALUE_DISABILITATO;
}
}
// default
if(httpsalgoritmo==null || "".equals(httpsalgoritmo)){
httpsalgoritmo = TrustManagerFactory.getDefaultAlgorithm();
}
if(httpsalgoritmokey==null || "".equals(httpsalgoritmokey)){
httpsalgoritmokey = KeyManagerFactory.getDefaultAlgorithm();
}
if(httpstipologia==null || "".equals(httpstipologia)){
httpstipologia = ConnettoriCostanti.DEFAULT_CONNETTORE_HTTPS_TYPE;
}
if(httpshostverifyS==null || "".equals(httpshostverifyS)){
httpshostverifyS = Costanti.CHECK_BOX_ENABLED_TRUE;
httpshostverify = ServletUtils.isCheckBoxEnabled(httpshostverifyS);
}
if(httpsTrustVerifyCertS==null || "".equals(httpsTrustVerifyCertS)){
httpsTrustVerifyCertS = ConnettoriCostanti.DEFAULT_CONNETTORE_HTTPS_TRUST_VERIFY_CERTS ? Costanti.CHECK_BOX_ENABLED_TRUE : Costanti.CHECK_BOX_DISABLED;
httpsTrustVerifyCert = ServletUtils.isCheckBoxEnabled(httpsTrustVerifyCertS);
}
tipoSendas = ConnettoriCostanti.TIPO_SEND_AS[0];
tipoJms = ConnettoriCostanti.TIPI_CODE_JMS[0];
autenticazioneHttp = porteApplicativeHelper.getAutenticazioneHttp(autenticazioneHttp, endpointtype, user);
tempiRispostaEnabled = null;
ConfigurazioneCore configCore = new ConfigurazioneCore(porteApplicativeCore);
ConfigurazioneGenerale configGenerale = configCore.getConfigurazioneControlloTraffico();
tempiRispostaConnectionTimeout = configGenerale.getTempiRispostaErogazione().getConnectionTimeout().intValue()+"";
tempiRispostaReadTimeout = configGenerale.getTempiRispostaErogazione().getReadTimeout().intValue()+"";
tempiRispostaTempoMedioRisposta = configGenerale.getTempiRispostaErogazione().getTempoMedioRisposta().intValue()+"";
}
// Devo cmq rileggere i valori se non definiti
if(tempiRispostaConnectionTimeout==null || "".equals(tempiRispostaConnectionTimeout)
||
tempiRispostaReadTimeout==null || "".equals(tempiRispostaReadTimeout)
||
tempiRispostaTempoMedioRisposta==null || "".equals(tempiRispostaTempoMedioRisposta) ){
ConfigurazioneCore configCore = new ConfigurazioneCore(porteApplicativeCore);
ConfigurazioneGenerale configGenerale = configCore.getConfigurazioneControlloTraffico();
if(tempiRispostaConnectionTimeout==null || "".equals(tempiRispostaConnectionTimeout) ) {
tempiRispostaConnectionTimeout = configGenerale.getTempiRispostaErogazione().getConnectionTimeout().intValue()+"";
}
if(tempiRispostaReadTimeout==null || "".equals(tempiRispostaReadTimeout) ) {
tempiRispostaReadTimeout = configGenerale.getTempiRispostaErogazione().getReadTimeout().intValue()+"";
}
if(tempiRispostaTempoMedioRisposta==null || "".equals(tempiRispostaTempoMedioRisposta) ) {
tempiRispostaTempoMedioRisposta = configGenerale.getTempiRispostaErogazione().getTempoMedioRisposta().intValue()+"";
}
}
// preparo i campi
List<DataElement> dati = new ArrayList<>();
dati.add(ServletUtils.getDataElementForEditModeFinished());
dati = porteApplicativeHelper.addHiddenFieldsToDati(TipoOperazione.OTHER,id, idsogg, null,idAsps, dati);
dati = porteApplicativeHelper.addConnettoreDefaultRidefinitoToDati(dati,TipoOperazione.OTHER, modalita, modalitaValues,modalitaLabels,false,servletConnettore,parametriServletConnettore);
if(modalita.equals(PorteApplicativeCostanti.VALUE_PARAMETRO_PORTE_APPLICATIVE_MODALITA_CONNETTORE_RIDEFINITO)) {
dati = porteApplicativeHelper.addEndPointToDati(dati, connettoreDebug, endpointtype, autenticazioneHttp,
null, //(porteApplicativeHelper.isModalitaCompleta() || !multitenant)?null:AccordiServizioParteSpecificaCostanti.LABEL_APS_APPLICATIVO_INTERNO_PREFIX ,
url, nomeCodaJms,
tipoJms, user,
password, initcont, urlpgk,
provurl, connfact, tipoSendas,
AccordiServizioParteSpecificaCostanti.OBJECT_NAME_APS_PORTE_APPLICATIVE,TipoOperazione.OTHER,
httpsurl, httpstipologia, httpshostverify,
httpsTrustVerifyCert, httpspath, httpstipo, httpspwd,
httpsalgoritmo, httpsstato, httpskeystore,
httpspwdprivatekeytrust, httpspathkey,
httpstipokey, httpspwdkey,
httpspwdprivatekey, httpsalgoritmokey,
httpsKeyAlias, httpsTrustStoreCRLs, httpsTrustStoreOCSPPolicy, httpsKeyStoreBYOKPolicy,
tipoconn, PorteApplicativeCostanti.SERVLET_NAME_PORTE_APPLICATIVE_CONNETTORE_DEFAULT, null, null,
null, null, null, null, null, null, false,
isConnettoreCustomUltimaImmagineSalvata,
proxyEnabled, proxyHostname, proxyPort, proxyUsername, proxyPassword,
tempiRispostaEnabled, tempiRispostaConnectionTimeout, tempiRispostaReadTimeout, tempiRispostaTempoMedioRisposta,
opzioniAvanzate, transferMode, transferModeChunkSize, redirectMode, redirectMaxHop,
requestOutputFileName, requestOutputFileNamePermissions, requestOutputFileNameHeaders, requestOutputFileNameHeadersPermissions,
requestOutputParentDirCreateIfNotExists,requestOutputOverwriteIfExists,
responseInputMode, responseInputFileName, responseInputFileNameHeaders, responseInputDeleteAfterRead, responseInputWaitTime,
autenticazioneToken,tokenPolicy, forcePDND, forceOAuth,
listExtendedConnettore, forceEnableConnettore,
protocollo,false,false, isApplicativiServerEnabled, erogazioneServizioApplicativoServerEnabled,
erogazioneServizioApplicativoServer, ServiziApplicativiHelper.toArray(listaIdSAServer),
autenticazioneApiKey, useOAS3Names, useAppId, apiKeyHeader, apiKeyValue, appIdHeader, appIdValue,
postBackViaPost);
}
pd.setDati(dati);
if(modalita.equals(PorteApplicativeCostanti.VALUE_PARAMETRO_PORTE_APPLICATIVE_MODALITA_CONNETTORE_DEFAULT)) {
pd.disableOnlyButton();
}
ServletUtils.setGeneralAndPageDataIntoSession(request, session, gd, pd);
// Forward control to the specified success URI
return ServletUtils.getStrutsForwardEditModeInProgress(mapping, PorteApplicativeCostanti.OBJECT_NAME_PORTE_APPLICATIVE_CONNETTORE_DEFAULT,
ForwardParams.OTHER(""));
}
// Controlli sui campi immessi
boolean isOk = porteApplicativeHelper.connettoreDefaultRidefinitoCheckData(TipoOperazione.OTHER, modalita);
if(isOk && modalita.equals(PorteApplicativeCostanti.VALUE_PARAMETRO_PORTE_APPLICATIVE_MODALITA_CONNETTORE_RIDEFINITO)) {
isOk = porteApplicativeHelper.endPointCheckData(protocollo, true,
endpointtype, url, nomeCodaJms, tipoJms,
user, password, initcont, urlpgk, provurl, connfact,
tipoSendas, httpsurl, httpstipologia, httpshostverify,
httpsTrustVerifyCert, httpspath, httpstipo, httpspwd, httpsalgoritmo, httpsstato,
httpskeystore, httpspwdprivatekeytrust, httpspathkey,
httpstipokey, httpspwdkey,
httpspwdprivatekey, httpsalgoritmokey,
httpsKeyAlias, httpsTrustStoreCRLs, httpsTrustStoreOCSPPolicy, httpsKeyStoreBYOKPolicy,
tipoconn,autenticazioneHttp,
proxyEnabled, proxyHostname, proxyPort, proxyUsername, proxyPassword,
tempiRispostaEnabled, tempiRispostaConnectionTimeout, tempiRispostaReadTimeout, tempiRispostaTempoMedioRisposta,
opzioniAvanzate, transferMode, transferModeChunkSize, redirectMode, redirectMaxHop,
requestOutputFileName, requestOutputFileNamePermissions, requestOutputFileNameHeaders, requestOutputFileNameHeadersPermissions,
requestOutputParentDirCreateIfNotExists,requestOutputOverwriteIfExists,
responseInputMode, responseInputFileName, responseInputFileNameHeaders, responseInputDeleteAfterRead, responseInputWaitTime,
autenticazioneToken,tokenPolicy,
autenticazioneApiKey, useOAS3Names, useAppId, apiKeyHeader, apiKeyValue, appIdHeader, appIdValue,
listExtendedConnettore,erogazioneServizioApplicativoServerEnabled,
erogazioneServizioApplicativoServer);
}
if(!isOk) {
// preparo i campi
List<DataElement> dati = new ArrayList<>();
dati.add(ServletUtils.getDataElementForEditModeFinished());
dati = porteApplicativeHelper.addHiddenFieldsToDati(TipoOperazione.OTHER,id, idsogg, null,idAsps, dati);
dati = porteApplicativeHelper.addConnettoreDefaultRidefinitoToDati(dati,TipoOperazione.OTHER, modalita, modalitaValues,modalitaLabels,false,servletConnettore,parametriServletConnettore);
if(modalita.equals(PorteApplicativeCostanti.VALUE_PARAMETRO_PORTE_APPLICATIVE_MODALITA_CONNETTORE_RIDEFINITO)) {
dati = porteApplicativeHelper.addEndPointToDati(dati, connettoreDebug, endpointtype, autenticazioneHttp,
null, // (porteApplicativeHelper.isModalitaCompleta() || !multitenant)?null:AccordiServizioParteSpecificaCostanti.LABEL_APS_APPLICATIVO_INTERNO_PREFIX ,
url, nomeCodaJms,
tipoJms, user,
password, initcont, urlpgk,
provurl, connfact, tipoSendas,
AccordiServizioParteSpecificaCostanti.OBJECT_NAME_APS_PORTE_APPLICATIVE,TipoOperazione.OTHER,
httpsurl, httpstipologia, httpshostverify,
httpsTrustVerifyCert, httpspath, httpstipo, httpspwd,
httpsalgoritmo, httpsstato, httpskeystore,
httpspwdprivatekeytrust, httpspathkey,
httpstipokey, httpspwdkey,
httpspwdprivatekey, httpsalgoritmokey,
httpsKeyAlias, httpsTrustStoreCRLs, httpsTrustStoreOCSPPolicy, httpsKeyStoreBYOKPolicy,
tipoconn, PorteApplicativeCostanti.SERVLET_NAME_PORTE_APPLICATIVE_CONNETTORE_DEFAULT, null, null,
null, null, null, null, null, null, false,
isConnettoreCustomUltimaImmagineSalvata,
proxyEnabled, proxyHostname, proxyPort, proxyUsername, proxyPassword,
tempiRispostaEnabled, tempiRispostaConnectionTimeout, tempiRispostaReadTimeout, tempiRispostaTempoMedioRisposta,
opzioniAvanzate, transferMode, transferModeChunkSize, redirectMode, redirectMaxHop,
requestOutputFileName, requestOutputFileNamePermissions, requestOutputFileNameHeaders, requestOutputFileNameHeadersPermissions,
requestOutputParentDirCreateIfNotExists,requestOutputOverwriteIfExists,
responseInputMode, responseInputFileName, responseInputFileNameHeaders, responseInputDeleteAfterRead, responseInputWaitTime,
autenticazioneToken,tokenPolicy, forcePDND, forceOAuth,
listExtendedConnettore, forceEnableConnettore,
protocollo,false,false, isApplicativiServerEnabled, erogazioneServizioApplicativoServerEnabled,
erogazioneServizioApplicativoServer, ServiziApplicativiHelper.toArray(listaIdSAServer),
autenticazioneApiKey, useOAS3Names, useAppId, apiKeyHeader, apiKeyValue, appIdHeader, appIdValue,
postBackViaPost);
}
pd.setDati(dati);
ServletUtils.setGeneralAndPageDataIntoSession(request, session, gd, pd);
return ServletUtils.getStrutsForwardEditModeCheckError(mapping,
PorteApplicativeCostanti.OBJECT_NAME_PORTE_APPLICATIVE_CONNETTORE_DEFAULT,
ForwardParams.OTHER(""));
}
// Connettore
Connettore connettore = new Connettore();
if (endpointtype.equals(ConnettoriCostanti.DEFAULT_CONNETTORE_TYPE_CUSTOM))
connettore.setTipo(tipoconn);
else
connettore.setTipo(endpointtype);
porteApplicativeHelper.fillConnettore(connettore, connettoreDebug, endpointtype, endpointtype, tipoconn, url,
nomeCodaJms, tipoJms, user, password,
initcont, urlpgk, url, connfact,
tipoSendas, httpsurl, httpstipologia, httpshostverify,
httpsTrustVerifyCert, httpspath, httpstipo,
httpspwd, httpsalgoritmo, httpsstato,
httpskeystore, httpspwdprivatekeytrust,
httpspathkey, httpstipokey,
httpspwdkey, httpspwdprivatekey,
httpsalgoritmokey,
httpsKeyAlias, httpsTrustStoreCRLs, httpsTrustStoreOCSPPolicy, httpsKeyStoreBYOKPolicy,
proxyEnabled, proxyHostname, proxyPort, proxyUsername, proxyPassword,
tempiRispostaEnabled, tempiRispostaConnectionTimeout, tempiRispostaReadTimeout, tempiRispostaTempoMedioRisposta,
opzioniAvanzate, transferMode, transferModeChunkSize, redirectMode, redirectMaxHop,
requestOutputFileName, requestOutputFileNamePermissions, requestOutputFileNameHeaders, requestOutputFileNameHeadersPermissions,
requestOutputParentDirCreateIfNotExists,requestOutputOverwriteIfExists,
responseInputMode, responseInputFileName, responseInputFileNameHeaders, responseInputDeleteAfterRead, responseInputWaitTime,
tokenPolicy,
apiKeyHeader, apiKeyValue, appIdHeader, appIdValue,
listExtendedConnettore);
List<Object> listaOggettiDaCreare = new ArrayList<>();
List<Object> listaOggettiDaModificare = new ArrayList<>();
// creare un servizio applicativo
String nomeServizioApplicativoErogatore = portaApplicativa.getNome();
ServizioApplicativo sa = new ServizioApplicativo();
sa.setNome(nomeServizioApplicativoErogatore);
sa.setTipologiaFruizione(TipologiaFruizione.DISABILITATO.getValue());
sa.setTipologiaErogazione(TipologiaErogazione.TRASPARENTE.getValue());
sa.setIdSoggetto((long) soggInt);
sa.setTipoSoggettoProprietario(portaApplicativa.getTipoSoggettoProprietario());
sa.setNomeSoggettoProprietario(portaApplicativa.getNomeSoggettoProprietario());
RispostaAsincrona rispostaAsinc = new RispostaAsincrona();
rispostaAsinc.setAutenticazione(InvocazioneServizioTipoAutenticazione.NONE);
rispostaAsinc.setGetMessage(CostantiConfigurazione.DISABILITATO);
sa.setRispostaAsincrona(rispostaAsinc);
InvocazioneServizio invServizio = new InvocazioneServizio();
invServizio.setAutenticazione(InvocazioneServizioTipoAutenticazione.NONE);
invServizio.setGetMessage(CostantiConfigurazione.DISABILITATO);
invServizio.setConnettore(connettore.mappingIntoConnettoreConfigurazione());
sa.setInvocazioneServizio(invServizio);
listaOggettiDaCreare.add(sa);
portaApplicativa.getServizioApplicativoList().clear();
// Scelto un servizio applicativo server, creo il servizio di default e poi associo quello server
if(erogazioneServizioApplicativoServer != null && !"".equals(erogazioneServizioApplicativoServer)) {
portaApplicativa.setServizioApplicativoDefault(nomeServizioApplicativoErogatore);
nomeServizioApplicativoErogatore = erogazioneServizioApplicativoServer;
}
PortaApplicativaServizioApplicativo paSA = new PortaApplicativaServizioApplicativo();
paSA.setNome(nomeServizioApplicativoErogatore);
portaApplicativa.getServizioApplicativoList().add(paSA);
listaOggettiDaModificare.add(portaApplicativa);
String userLogin = ServletUtils.getUserLoginFromSession(session);
porteApplicativeCore.performCreateOperation(userLogin, porteApplicativeHelper.smista(), listaOggettiDaCreare.toArray());
porteApplicativeCore.performUpdateOperation(userLogin, porteApplicativeHelper.smista(), listaOggettiDaModificare.toArray());
// 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 datiInvocazione = ServletUtils.isCheckBoxEnabled(porteApplicativeHelper.getParameter(PorteApplicativeCostanti.PARAMETRO_PORTE_APPLICATIVE_CONFIGURAZIONE_DATI_INVOCAZIONE));
if(datiInvocazione) {
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);
AccordoServizioParteSpecifica 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.OTHER("");
if(!porteApplicativeHelper.isModalitaCompleta()) {
fwP = PorteDelegateCostanti.TIPO_OPERAZIONE_CONFIGURAZIONE;
}
// Forward control to the specified success URI
return ServletUtils.getStrutsForwardEditModeFinished(mapping, PorteApplicativeCostanti.OBJECT_NAME_PORTE_APPLICATIVE_CONNETTORE_DEFAULT, fwP);
} catch (Exception e) {
return ServletUtils.getStrutsForwardError(ControlStationCore.getLog(), e, pd, request, session, gd, mapping,
PorteApplicativeCostanti.OBJECT_NAME_PORTE_APPLICATIVE_CONNETTORE_DEFAULT ,
ForwardParams.OTHER(""));
}
}
}