CleanerOpenSPCoop2Extensions.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.utils;
- import java.util.ArrayList;
- import java.util.List;
- import org.openspcoop2.core.config.AccessoRegistroRegistro;
- import org.openspcoop2.core.config.Configurazione;
- import org.openspcoop2.core.config.PortaApplicativa;
- import org.openspcoop2.core.config.PortaApplicativaServizioApplicativo;
- import org.openspcoop2.core.config.PortaDelegata;
- import org.openspcoop2.core.config.Proprieta;
- import org.openspcoop2.core.config.ProtocolProperty;
- import org.openspcoop2.core.config.ServizioApplicativo;
- /**
- * CleanerOpenSPCoop2Extensions
- *
- * @author Poli Andrea (apoli@link.it)
- * @author $Author$
- * @version $Rev$, $Date$
- */
- public class CleanerOpenSPCoop2Extensions {
- public void clean(Configurazione configurazionePdD){
- if(configurazionePdD.getRoutingTable()!=null){
- configurazionePdD.getRoutingTable().setAbilitata(null);
- }
- if(configurazionePdD.getAccessoRegistro()!=null){
- if(configurazionePdD.getAccessoRegistro().sizeRegistroList()>0){
- for (AccessoRegistroRegistro accessoRegistro : configurazionePdD.getAccessoRegistro().getRegistroList()) {
- accessoRegistro.setTipoDatabase(null);
- accessoRegistro.setGenericPropertiesMap(null);
- }
- }
- }
-
- if(configurazionePdD.getGestioneErrore()!=null){
- if(configurazionePdD.getGestioneErrore().getComponenteCooperazione()!=null){
- this.clean(configurazionePdD.getGestioneErrore().getComponenteCooperazione());
- }
- if(configurazionePdD.getGestioneErrore().getComponenteIntegrazione()!=null){
- this.clean(configurazionePdD.getGestioneErrore().getComponenteIntegrazione());
- }
- }
-
- if(configurazionePdD.getSystemProperties()!=null && configurazionePdD.getSystemProperties().sizeSystemPropertyList()<=0) {
- configurazionePdD.setSystemProperties(null); // altrimeni da errore di validazione in fase di import
- }
-
- }
- public void clean(org.openspcoop2.core.config.ConfigurazioneUrlInvocazione configUrlInvocazione) {
-
- }
-
- public void clean(org.openspcoop2.core.config.ConfigurazioneUrlInvocazioneRegola configUrlInvocazioneRegola) {
-
- }
-
- public void clean(org.openspcoop2.core.config.RegistroPlugin plugin) {
-
- }
-
- public void clean(org.openspcoop2.core.config.GenericProperties policy) {
-
- }
-
- public void clean(org.openspcoop2.core.config.Soggetto soggettoConfig){
-
- soggettoConfig.setSuperUser(null);
-
- if(soggettoConfig.sizeConnettoreList()>0){
- for (org.openspcoop2.core.config.Connettore connettore : soggettoConfig.getConnettoreList()) {
- this.clean(connettore);
- }
- }
- }
- public void clean(ServizioApplicativo servizioApplicativo){
-
- servizioApplicativo.setIdSoggetto(null);
- servizioApplicativo.setTipoSoggettoProprietario(null);
- servizioApplicativo.setNomeSoggettoProprietario(null);
- servizioApplicativo.setTipologiaErogazione(null);
- servizioApplicativo.setTipologiaFruizione(null);
-
- if(servizioApplicativo.getInvocazioneServizio()!=null){
- if(servizioApplicativo.getInvocazioneServizio().getConnettore()!=null){
- this.clean(servizioApplicativo.getInvocazioneServizio().getConnettore());
- }
- if(servizioApplicativo.getInvocazioneServizio().getGestioneErrore()!=null){
- this.clean(servizioApplicativo.getInvocazioneServizio().getGestioneErrore());
- }
- }
-
- if(servizioApplicativo.getRispostaAsincrona()!=null){
- if(servizioApplicativo.getRispostaAsincrona().getConnettore()!=null){
- this.clean(servizioApplicativo.getRispostaAsincrona().getConnettore());
- }
- if(servizioApplicativo.getRispostaAsincrona().getGestioneErrore()!=null){
- this.clean(servizioApplicativo.getRispostaAsincrona().getGestioneErrore());
- }
- }
-
- if(servizioApplicativo.sizeProtocolPropertyList()>0) {
- for (ProtocolProperty pp : servizioApplicativo.getProtocolPropertyList()) {
- this.clean(pp);
- }
- }
- }
- public void clean(PortaDelegata portaDelegata){
- portaDelegata.setIdSoggetto(null);
- portaDelegata.setIdAccordo(null);
- portaDelegata.setIdPortType(null);
- portaDelegata.setStatoMessageSecurity(null);
- portaDelegata.setTipoSoggettoProprietario(null);
- portaDelegata.setNomeSoggettoProprietario(null);
-
- if(portaDelegata.getMessageSecurity()!=null) {
- if(portaDelegata.getMessageSecurity().getRequestFlow()!=null && portaDelegata.getMessageSecurity().getRequestFlow().sizeParameterList()<=0) {
- portaDelegata.getMessageSecurity().setRequestFlow(null); // altrimeni da errore di validazione in fase di import
- }
- if(portaDelegata.getMessageSecurity().getResponseFlow()!=null && portaDelegata.getMessageSecurity().getResponseFlow().sizeParameterList()<=0) {
- portaDelegata.getMessageSecurity().setResponseFlow(null); // altrimeni da errore di validazione in fase di import
- }
- }
-
- if(portaDelegata.getRuoli()!=null && portaDelegata.getRuoli().sizeRuoloList()<=0) {
- portaDelegata.setRuoli(null); // altrimeni da errore di validazione in fase di import
- }
-
- if(portaDelegata.getScope()!=null && portaDelegata.getScope().sizeScopeList()<=0) {
- portaDelegata.setScope(null); // altrimeni da errore di validazione in fase di import
- }
-
- if(portaDelegata.getCorrelazioneApplicativa()!=null && portaDelegata.getCorrelazioneApplicativa().sizeElementoList()<=0) {
- portaDelegata.setCorrelazioneApplicativa(null); // altrimeni da errore di validazione in fase di import
- }
- if(portaDelegata.getCorrelazioneApplicativaRisposta()!=null && portaDelegata.getCorrelazioneApplicativaRisposta().sizeElementoList()<=0) {
- portaDelegata.setCorrelazioneApplicativaRisposta(null); // altrimeni da errore di validazione in fase di import
- }
-
- // Fix altrimenti viene serializzato un xml vuoto di local forward, e quando viene re-importato il default e' abilitato
- if(portaDelegata.getLocalForward()!=null) {
- if(portaDelegata.getLocalForward().getStato()==null) {
- portaDelegata.setLocalForward(null);
- }
- }
- }
- public void clean(PortaApplicativa portaApplicativa){
- portaApplicativa.setIdSoggetto(null);
- portaApplicativa.setIdAccordo(null);
- portaApplicativa.setIdPortType(null);
- portaApplicativa.setStatoMessageSecurity(null);
- portaApplicativa.setTipoSoggettoProprietario(null);
- portaApplicativa.setNomeSoggettoProprietario(null);
-
- if(portaApplicativa.sizeServizioApplicativoList()>0) {
- for (PortaApplicativaServizioApplicativo pasa : portaApplicativa.getServizioApplicativoList()) {
- pasa.setIdServizioApplicativo(null);
- if(pasa.getDatiConnettore()!=null) {
- if(pasa.getDatiConnettore().sizeProprietaList()>0) {
-
- List<String> nomiDaEliminare = new ArrayList<>();
-
- for (Proprieta p : pasa.getDatiConnettore().getProprietaList()) {
- if(p.getValore()==null || "".equals(p.getValore())) {
- // non devo serializzare valori vuoti o null (DB oracle non lo permette)
- nomiDaEliminare.add(p.getNome());
- }
- }
-
- while(nomiDaEliminare.size()>0) {
- String nome = nomiDaEliminare.remove(0);
- for (int i = 0; i < pasa.getDatiConnettore().sizeProprietaList(); i++) {
- Proprieta p = pasa.getDatiConnettore().getProprieta(i);
- if(p.getNome().equals(nome)) {
- pasa.getDatiConnettore().removeProprieta(i);
- break;
- }
- }
- }
- }
- }
- }
- }
-
- if(portaApplicativa.getMessageSecurity()!=null) {
- if(portaApplicativa.getMessageSecurity().getRequestFlow()!=null && portaApplicativa.getMessageSecurity().getRequestFlow().sizeParameterList()<=0) {
- portaApplicativa.getMessageSecurity().setRequestFlow(null); // altrimeni da errore di validazione in fase di import
- }
- if(portaApplicativa.getMessageSecurity().getResponseFlow()!=null && portaApplicativa.getMessageSecurity().getResponseFlow().sizeParameterList()<=0) {
- portaApplicativa.getMessageSecurity().setResponseFlow(null); // altrimeni da errore di validazione in fase di import
- }
- }
-
- if(portaApplicativa.getSoggetti()!=null && portaApplicativa.getSoggetti().sizeSoggettoList()<=0) {
- portaApplicativa.setSoggetti(null); // altrimeni da errore di validazione in fase di import
- }
-
- if(portaApplicativa.getRuoli()!=null && portaApplicativa.getRuoli().sizeRuoloList()<=0) {
- portaApplicativa.setRuoli(null); // altrimeni da errore di validazione in fase di import
- }
-
- if(portaApplicativa.getScope()!=null && portaApplicativa.getScope().sizeScopeList()<=0) {
- portaApplicativa.setScope(null); // altrimeni da errore di validazione in fase di import
- }
-
- if(portaApplicativa.getCorrelazioneApplicativa()!=null && portaApplicativa.getCorrelazioneApplicativa().sizeElementoList()<=0) {
- portaApplicativa.setCorrelazioneApplicativa(null); // altrimeni da errore di validazione in fase di import
- }
- if(portaApplicativa.getCorrelazioneApplicativaRisposta()!=null && portaApplicativa.getCorrelazioneApplicativaRisposta().sizeElementoList()<=0) {
- portaApplicativa.setCorrelazioneApplicativaRisposta(null); // altrimeni da errore di validazione in fase di import
- }
- }
-
-
- // ---- UTILITY
-
- private void clean(org.openspcoop2.core.config.Connettore connettoreConfigurazione){
- connettoreConfigurazione.setNomeRegistro(null);
- connettoreConfigurazione.setTipoDestinatarioTrasmissioneBusta(null);
- connettoreConfigurazione.setNomeDestinatarioTrasmissioneBusta(null);
- connettoreConfigurazione.setCustom(null);
- }
-
- private void clean(org.openspcoop2.core.config.GestioneErrore gestioneErrore){
- gestioneErrore.setNome(null);
- }
-
- private void clean(ProtocolProperty pp){
- pp.setByteFile(null);
- pp.setIdProprietario(null);
- pp.setTipoProprietario(null);
- }
-
- }