ConnettoreAPIHelper.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.core.config.rs.server.api.impl.erogazioni;
- import java.util.HashMap;
- import java.util.Map;
- import org.openspcoop2.core.config.Connettore;
- import org.openspcoop2.core.config.ServizioApplicativo;
- import org.openspcoop2.core.config.constants.StatoFunzionalita;
- import org.openspcoop2.core.config.rs.server.model.ConnettoreEnum;
- import org.openspcoop2.core.config.rs.server.model.ConnettoreErogazione;
- import org.openspcoop2.core.config.rs.server.model.ConnettoreFruizione;
- import org.openspcoop2.core.config.rs.server.model.OneOfApplicativoServerConnettore;
- import org.openspcoop2.core.config.rs.server.model.OneOfConnettoreErogazioneConnettore;
- import org.openspcoop2.core.config.rs.server.model.OneOfConnettoreFruizioneConnettore;
- import org.openspcoop2.core.constants.TipiConnettore;
- /**
- * ConnettoreAPIHelper
- *
- * @author $Author$
- * @version $Rev$, $Date$
- *
- */
- public class ConnettoreAPIHelper {
- public static String getUrlConnettore(ServizioApplicativo sa, boolean isRidefinito) throws Exception {
- if(isRidefinito) {
- return "Connettori ridefiniti nei gruppi";
- }
- return getUrlConnettore(sa.getInvocazioneServizio().getConnettore().getProperties(), sa.getInvocazioneServizio().getConnettore().getTipo(), sa.getInvocazioneServizio().getConnettore().getCustom(), sa.getInvocazioneServizio().getGetMessage().equals(StatoFunzionalita.ABILITATO));
- }
- private static String getUrlConnettore(Map<String, String> properties, String tipo, Boolean custom, boolean isMessageBox) throws Exception {
- IConnettoreApiHelper helper = ConnettoreAPIHelper.getHelper(tipo, custom, isMessageBox);
-
- if(helper == null) return null;
- return helper.getUrlConnettore(properties, tipo);
- }
- private static String CUSTOM_KEY = "CUSTOM";
- private static Map<String, IConnettoreApiHelper> helpers;
- private static Map<ConnettoreEnum, IConnettoreApiHelper> helpersByEnum;
-
- private static synchronized void initHelper() {
- if(helpers== null) {
- helpers = new HashMap<>();
- ConnettoreHTTPApiHelper connHttpApiHelper = new ConnettoreHTTPApiHelper();
- helpers.put(TipiConnettore.HTTP.toString(), connHttpApiHelper);
- helpers.put(TipiConnettore.HTTPS.toString(), connHttpApiHelper);
- helpers.put(TipiConnettore.FILE.toString(), new ConnettoreFileApiHelper());
- helpers.put(TipiConnettore.JMS.toString(), new ConnettoreJmsApiHelper());
- helpers.put(TipiConnettore.NULL.toString(), new ConnettoreNullApiHelper());
- helpers.put(TipiConnettore.NULLECHO.toString(), new ConnettoreEchoApiHelper());
- helpers.put(TipiConnettore.STATUS.toString(), new ConnettoreStatusApiHelper());
- helpers.put(TipiConnettore.DISABILITATO.toString(), new ConnettoreMessageBoxApiHelper());
- helpers.put(CUSTOM_KEY, new ConnettorePluginApiHelper());
- }
- }
-
- private static IConnettoreApiHelper getHelper(String tipo, Boolean custom, boolean isMessageBox) throws Exception {
-
- if(helpers== null) {
- initHelper();
- }
-
- if(helpers.containsKey(tipo)) {
-
- IConnettoreApiHelper iConnettoreApiHelper = helpers.get(tipo);
- if(iConnettoreApiHelper instanceof ConnettoreMessageBoxApiHelper && !isMessageBox) {
- return null; //Connettore disabilitato
- }
- return iConnettoreApiHelper;
- } else if(custom && helpers.containsKey(CUSTOM_KEY)) {
- return helpers.get(CUSTOM_KEY);
- } else {
- return null;
- // throw new Exception("Connettore tipo ["+tipo+"] custom ["+custom+"] non supportato");
- }
- }
- private static synchronized void initHelperByEnum() {
- if(helpersByEnum== null) {
- helpersByEnum = new HashMap<>();
- helpersByEnum.put(ConnettoreEnum.HTTP, new ConnettoreHTTPApiHelper());
- helpersByEnum.put(ConnettoreEnum.FILE, new ConnettoreFileApiHelper());
- helpersByEnum.put(ConnettoreEnum.JMS, new ConnettoreJmsApiHelper());
- helpersByEnum.put(ConnettoreEnum.NULL, new ConnettoreNullApiHelper());
- helpersByEnum.put(ConnettoreEnum.ECHO, new ConnettoreEchoApiHelper());
- helpersByEnum.put(ConnettoreEnum.STATUS, new ConnettoreStatusApiHelper());
- helpersByEnum.put(ConnettoreEnum.PLUGIN, new ConnettorePluginApiHelper());
- helpersByEnum.put(ConnettoreEnum.MESSAGE_BOX, new ConnettoreMessageBoxApiHelper());
- }
- }
-
- private static IConnettoreApiHelper getHelper(ConnettoreEnum tipo) throws Exception {
-
- if(helpersByEnum== null) {
- initHelperByEnum();
- }
-
- if(helpersByEnum.containsKey(tipo)) {
- return helpersByEnum.get(tipo);
- } else {
- throw new Exception("Connettore tipo ["+tipo+"] non supportato");
- }
- }
- public static String getUrlConnettore(org.openspcoop2.core.registry.Connettore connettore, boolean isRidefinito) throws Exception {
- if(isRidefinito) {
- return "Connettori ridefiniti nei gruppi";
- }
- if(connettore == null) return null;
-
- boolean isMessageBox = false; //FRUIZIONI NO MSG BOX
- return getUrlConnettore(connettore.getProperties(), connettore.getTipo(), connettore.getCustom(), isMessageBox);
- }
- public static final ConnettoreErogazione buildConnettoreErogazione(ServizioApplicativo sa) throws Exception {
- ConnettoreErogazione connettoreErogazione = new ConnettoreErogazione();
- connettoreErogazione.setConnettore(ConnettoreAPIHelper.getConnettoreErogazione(sa));
- return connettoreErogazione;
- }
- public static final ConnettoreFruizione buildConnettoreFruizione(org.openspcoop2.core.registry.Connettore connettore) throws Exception {
- ConnettoreFruizione connettoreFruizione = new ConnettoreFruizione();
- connettoreFruizione.setConnettore(ConnettoreAPIHelper.getConnettoreFruizione(connettore));
- return connettoreFruizione;
- }
- private static OneOfConnettoreFruizioneConnettore getConnettoreFruizione(
- org.openspcoop2.core.registry.Connettore connettore) throws Exception {
- IConnettoreApiHelper helper = ConnettoreAPIHelper.getHelper(connettore.getTipo(), connettore.getCustom(), false); //MessageBox disabilitato in fruizioni
-
- if(helper == null) return null;
- return helper.buildConnettoreFruizione(connettore.getProperties(), connettore.getTipo());
- }
- private static OneOfConnettoreErogazioneConnettore getConnettoreErogazione(ServizioApplicativo sa) throws Exception {
- IConnettoreApiHelper helper = ConnettoreAPIHelper.getHelper(sa.getInvocazioneServizio().getConnettore().getTipo(), sa.getInvocazioneServizio().getConnettore().getCustom(), sa.getInvocazioneServizio().getGetMessage().equals(StatoFunzionalita.ABILITATO));
-
- if(helper == null) return null;
- return helper.buildConnettoreErogazione(sa);
- }
- public static OneOfApplicativoServerConnettore getConnettoreApplicativoServer(ServizioApplicativo sa) throws Exception {
- IConnettoreApiHelper helper = ConnettoreAPIHelper.getHelper(sa.getInvocazioneServizio().getConnettore().getTipo(), sa.getInvocazioneServizio().getConnettore().getCustom(), sa.getInvocazioneServizio().getGetMessage().equals(StatoFunzionalita.ABILITATO));
-
- if(helper == null) return null;
- return helper.buildConnettoreApplicativoServer(sa);
- }
- public static boolean connettoreCheckData(OneOfApplicativoServerConnettore connettore, ErogazioniEnv erogEnv, boolean erogazione) throws Exception {
- IConnettoreApiHelper helper = ConnettoreAPIHelper.getHelper(connettore.getTipo());
-
- if(helper == null) return true;
- return helper.connettoreCheckData(connettore, erogEnv, erogazione);
- }
- public static boolean connettoreCheckData(OneOfConnettoreErogazioneConnettore connettore, ErogazioniEnv erogEnv, boolean erogazione) throws Exception {
- IConnettoreApiHelper helper = ConnettoreAPIHelper.getHelper(connettore.getTipo());
-
- if(helper == null) return true;
- return helper.connettoreCheckData(connettore, erogEnv, erogazione);
- }
- public static boolean connettoreCheckData(OneOfConnettoreFruizioneConnettore connettore, ErogazioniEnv erogEnv, boolean erogazione) throws Exception {
- IConnettoreApiHelper helper = ConnettoreAPIHelper.getHelper(connettore.getTipo());
-
- if(helper == null) return true;
- return helper.connettoreCheckData(connettore, erogEnv, erogazione);
- }
- public static void fillConnettoreConfigurazione(ServizioApplicativo sa, ErogazioniEnv erogEnv, OneOfApplicativoServerConnettore connettore, String oldConnT) throws Exception {
- IConnettoreApiHelper helper = ConnettoreAPIHelper.getHelper(connettore.getTipo());
-
- if(helper == null) return;
- helper.buildConnettoreConfigurazione(sa, erogEnv, connettore, oldConnT);
- }
- public static void fillConnettoreConfigurazione(ServizioApplicativo sa, ErogazioniEnv erogEnv, OneOfConnettoreErogazioneConnettore connettore, String oldConnT) throws Exception {
- IConnettoreApiHelper helper = ConnettoreAPIHelper.getHelper(connettore.getTipo());
-
- if(helper == null) return;
- helper.buildConnettoreConfigurazione(sa, erogEnv, connettore, oldConnT);
- }
- public static void fillConnettoreConfigurazione(Connettore connis, ErogazioniEnv erogEnv, OneOfConnettoreFruizioneConnettore connettore, String oldConnT) throws Exception {
- IConnettoreApiHelper helper = ConnettoreAPIHelper.getHelper(connettore.getTipo());
-
- if(helper == null) return;
- helper.buildConnettoreConfigurazione(connis, erogEnv, connettore, oldConnT);
- }
- public static void fillConnettoreRegistro(org.openspcoop2.core.registry.Connettore connis, ErogazioniEnv erogEnv, OneOfApplicativoServerConnettore connettore, String oldConnT) throws Exception {
- IConnettoreApiHelper helper = ConnettoreAPIHelper.getHelper(connettore.getTipo());
-
- if(helper == null) return;
- helper.fillConnettoreRegistro(connis, erogEnv, connettore, oldConnT);
- }
- public static void fillConnettoreRegistro(org.openspcoop2.core.registry.Connettore connis, ErogazioniEnv erogEnv, OneOfConnettoreErogazioneConnettore connettore, String oldConnT) throws Exception {
- IConnettoreApiHelper helper = ConnettoreAPIHelper.getHelper(connettore.getTipo());
-
- if(helper == null) return;
- helper.fillConnettoreRegistro(connis, erogEnv, connettore, oldConnT);
- }
- public static void fillConnettoreRegistro(org.openspcoop2.core.registry.Connettore connis, ErogazioniEnv erogEnv, OneOfConnettoreFruizioneConnettore connettore, String oldConnT) throws Exception {
- IConnettoreApiHelper helper = ConnettoreAPIHelper.getHelper(connettore.getTipo());
-
- if(helper == null) return;
- helper.fillConnettoreRegistro(connis, erogEnv, connettore, oldConnT);
- }
- public static org.openspcoop2.core.registry.Connettore buildConnettoreRegistro(ErogazioniEnv erogEnv, OneOfApplicativoServerConnettore connettore) throws Exception {
- IConnettoreApiHelper helper = ConnettoreAPIHelper.getHelper(connettore.getTipo());
-
- if(helper == null) return null;
- return helper.buildConnettoreRegistro(erogEnv, connettore);
- }
- public static org.openspcoop2.core.registry.Connettore buildConnettoreRegistro(ErogazioniEnv erogEnv, OneOfConnettoreErogazioneConnettore connettore) throws Exception {
- IConnettoreApiHelper helper = ConnettoreAPIHelper.getHelper(connettore.getTipo());
-
- if(helper == null) return null;
- return helper.buildConnettoreRegistro(erogEnv, connettore);
- }
- public static org.openspcoop2.core.registry.Connettore buildConnettoreRegistro(ErogazioniEnv erogEnv, OneOfConnettoreFruizioneConnettore connettore) throws Exception {
- IConnettoreApiHelper helper = ConnettoreAPIHelper.getHelper(connettore.getTipo());
-
- if(helper == null) return null;
- return helper.buildConnettoreRegistro(erogEnv, connettore);
- }
- }