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.registry.utils;
- import org.openspcoop2.core.registry.AccordoCooperazione;
- import org.openspcoop2.core.registry.AccordoServizioParteComune;
- import org.openspcoop2.core.registry.AccordoServizioParteComuneServizioCompostoServizioComponente;
- import org.openspcoop2.core.registry.AccordoServizioParteSpecifica;
- import org.openspcoop2.core.registry.Azione;
- import org.openspcoop2.core.registry.ConfigurazioneServizioAzione;
- import org.openspcoop2.core.registry.Documento;
- import org.openspcoop2.core.registry.Fruitore;
- import org.openspcoop2.core.registry.Gruppo;
- import org.openspcoop2.core.registry.IdSoggetto;
- import org.openspcoop2.core.registry.Operation;
- import org.openspcoop2.core.registry.PortType;
- import org.openspcoop2.core.registry.PortaDominio;
- import org.openspcoop2.core.registry.ProtocolProperty;
- import org.openspcoop2.core.registry.Resource;
- import org.openspcoop2.core.registry.ResourceResponse;
- import org.openspcoop2.core.registry.Ruolo;
- import org.openspcoop2.core.registry.Scope;
- import org.openspcoop2.core.registry.constants.BindingUse;
- import org.openspcoop2.core.registry.constants.CostantiRegistroServizi;
- /**
- * CleanerOpenSPCoop2Extensions
- *
- * @author Poli Andrea (apoli@link.it)
- * @author $Author$
- * @version $Rev$, $Date$
- */
- public class CleanerOpenSPCoop2Extensions {
- public void clean(PortaDominio portaDominio){
- portaDominio.setSuperUser(null);
-
- }
-
- public void clean(Gruppo gruppo){
- gruppo.setSuperUser(null);
-
- }
-
- public void clean(Ruolo ruolo){
- ruolo.setSuperUser(null);
-
- }
-
- public void clean(Scope scope){
- scope.setSuperUser(null);
-
- }
-
- public void clean(org.openspcoop2.core.registry.Soggetto soggettoRegistro){
-
- soggettoRegistro.setSuperUser(null);
- soggettoRegistro.setPrivato(null);
-
- if(soggettoRegistro.getConnettore()!=null){
- this.clean(soggettoRegistro.getConnettore());
- }
-
- if(soggettoRegistro.sizeProtocolPropertyList()>0) {
- for (ProtocolProperty pp : soggettoRegistro.getProtocolPropertyList()) {
- this.clean(pp);
- }
- }
- }
- public void clean(AccordoServizioParteComune accordo){
- accordo.setSuperUser(null);
- accordo.setStatoPackage(null);
- accordo.setPrivato(null);
- accordo.setByteWsdlDefinitorio(null);
- accordo.setByteWsdlConcettuale(null);
- accordo.setByteWsdlLogicoErogatore(null);
- accordo.setByteWsdlLogicoFruitore(null);
- accordo.setByteSpecificaConversazioneConcettuale(null);
- accordo.setByteSpecificaConversazioneErogatore(null);
- accordo.setByteSpecificaConversazioneFruitore(null);
-
- if(accordo.getServizioComposto()!=null){
- accordo.getServizioComposto().setIdAccordoCooperazione(null);
-
- if(accordo.getServizioComposto().sizeServizioComponenteList()>0){
- for (AccordoServizioParteComuneServizioCompostoServizioComponente servizioComponente : accordo.getServizioComposto().getServizioComponenteList()) {
- servizioComponente.setIdServizioComponente(null);
- }
- }
-
- if(accordo.getServizioComposto().sizeSpecificaCoordinamentoList()>0){
- for (Documento documento : accordo.getServizioComposto().getSpecificaCoordinamentoList()) {
- this.clean(documento);
- }
- }
- }
-
- if(accordo.sizePortTypeList()>0){
- for (PortType portType : accordo.getPortTypeList()) {
-
- if(CostantiRegistroServizi.PROFILO_AZIONE_DEFAULT.equals(portType.getProfiloPT())){
- // si reimpostano tutti, poiche' viene eliminato il profiloPT
- portType.setProfiloCollaborazione(accordo.getProfiloCollaborazione());
- portType.setConfermaRicezione(accordo.getConfermaRicezione());
- portType.setConsegnaInOrdine(accordo.getConsegnaInOrdine());
- portType.setFiltroDuplicati(accordo.getFiltroDuplicati());
- portType.setIdCollaborazione(accordo.getIdCollaborazione());
- portType.setIdRiferimentoRichiesta(accordo.getIdRiferimentoRichiesta());
- portType.setScadenza(accordo.getScadenza());
- }
- portType.setProfiloPT(null);
- portType.setIdAccordo(null);
-
- if(portType.sizeAzioneList()>0){
- for (Operation operation : portType.getAzioneList()) {
-
- if(CostantiRegistroServizi.PROFILO_AZIONE_DEFAULT.equals(operation.getProfAzione())){
- // si reimpostano tutti, poiche' viene eliminato il profAzione
- if(CostantiRegistroServizi.PROFILO_AZIONE_DEFAULT.equals(portType.getProfiloPT())){
- operation.setProfiloCollaborazione(accordo.getProfiloCollaborazione());
- operation.setConfermaRicezione(accordo.getConfermaRicezione());
- operation.setConsegnaInOrdine(accordo.getConsegnaInOrdine());
- operation.setFiltroDuplicati(accordo.getFiltroDuplicati());
- operation.setIdCollaborazione(accordo.getIdCollaborazione());
- operation.setIdRiferimentoRichiesta(accordo.getIdRiferimentoRichiesta());
- operation.setScadenza(accordo.getScadenza());
- }
- else {
- operation.setProfiloCollaborazione(portType.getProfiloCollaborazione());
- operation.setConfermaRicezione(portType.getConfermaRicezione());
- operation.setConsegnaInOrdine(portType.getConsegnaInOrdine());
- operation.setFiltroDuplicati(portType.getFiltroDuplicati());
- operation.setIdCollaborazione(portType.getIdCollaborazione());
- operation.setIdRiferimentoRichiesta(portType.getIdRiferimentoRichiesta());
- operation.setScadenza(portType.getScadenza());
- }
- }
- operation.setProfAzione(null);
- operation.setIdPortType(null);
- if(operation.getMessageInput()!=null){
- if(operation.getMessageInput().sizePartList()<=0){
- if(operation.getMessageInput().getSoapNamespace()==null &&
- (operation.getMessageInput().getUse()==null || BindingUse.LITERAL.equals(operation.getMessageInput().getUse())) // il default non viene serializzato
- ){
- operation.setMessageInput(null);
- }
- }
- }
- if(operation.getMessageOutput()!=null){
- if(operation.getMessageOutput().sizePartList()<=0){
- if(operation.getMessageOutput().getSoapNamespace()==null &&
- (operation.getMessageOutput().getUse()==null || BindingUse.LITERAL.equals(operation.getMessageOutput().getUse())) // il default non viene serializzato
- ){
- operation.setMessageOutput(null);
- }
- }
- }
-
- if(operation.sizeProtocolPropertyList()>0) {
- for (ProtocolProperty pp : operation.getProtocolPropertyList()) {
- this.clean(pp);
- }
- }
- }
- }
-
- if(portType.sizeProtocolPropertyList()>0) {
- for (ProtocolProperty pp : portType.getProtocolPropertyList()) {
- this.clean(pp);
- }
- }
- }
- }
-
- if(accordo.sizeAzioneList()>0){
- for (Azione azione : accordo.getAzioneList()) {
-
- if(CostantiRegistroServizi.PROFILO_AZIONE_DEFAULT.equals(azione.getProfAzione())){
- // si reimpostano tutti, poiche' viene eliminato il profAzione
- azione.setProfiloCollaborazione(accordo.getProfiloCollaborazione());
- azione.setConfermaRicezione(accordo.getConfermaRicezione());
- azione.setConsegnaInOrdine(accordo.getConsegnaInOrdine());
- azione.setFiltroDuplicati(accordo.getFiltroDuplicati());
- azione.setIdCollaborazione(accordo.getIdCollaborazione());
- azione.setIdRiferimentoRichiesta(accordo.getIdRiferimentoRichiesta());
- azione.setScadenza(accordo.getScadenza());
- }
- azione.setProfAzione(null);
- azione.setIdAccordo(null);
-
- if(azione.sizeProtocolPropertyList()>0) {
- for (ProtocolProperty pp : azione.getProtocolPropertyList()) {
- this.clean(pp);
- }
- }
- }
- }
-
- if(accordo.sizeResourceList()>0){
- for (Resource resource : accordo.getResourceList()) {
-
- if(CostantiRegistroServizi.PROFILO_AZIONE_DEFAULT.equals(resource.getProfAzione())){
- // si reimpostano tutti, poiche' viene eliminato il profAzione
- //resource.setProfiloCollaborazione(accordo.getProfiloCollaborazione());
- resource.setConfermaRicezione(accordo.getConfermaRicezione());
- resource.setConsegnaInOrdine(accordo.getConsegnaInOrdine());
- resource.setFiltroDuplicati(accordo.getFiltroDuplicati());
- resource.setIdCollaborazione(accordo.getIdCollaborazione());
- resource.setIdRiferimentoRichiesta(accordo.getIdRiferimentoRichiesta());
- resource.setScadenza(accordo.getScadenza());
- }
- resource.setProfAzione(null);
- resource.setIdAccordo(null);
-
- if(resource.getRequest()!=null) {
- resource.getRequest().setIdResource(null);
- }
-
- if(resource.sizeResponseList()>0) {
- for (ResourceResponse rr : resource.getResponseList()) {
- rr.setIdResource(null);
- }
- }
-
- if(resource.sizeProtocolPropertyList()>0) {
- for (ProtocolProperty pp : resource.getProtocolPropertyList()) {
- this.clean(pp);
- }
- }
- }
- }
-
- if(accordo.sizeAllegatoList()>0){
- for (Documento documento : accordo.getAllegatoList()) {
- this.clean(documento);
- }
- }
- if(accordo.sizeSpecificaSemiformaleList()>0){
- for (Documento documento : accordo.getSpecificaSemiformaleList()) {
- this.clean(documento);
- }
- }
-
- if(accordo.sizeProtocolPropertyList()>0) {
- for (ProtocolProperty pp : accordo.getProtocolPropertyList()) {
- this.clean(pp);
- }
- }
- }
- public void clean(AccordoServizioParteSpecifica accordo){
-
- accordo.setSuperUser(null);
- accordo.setStatoPackage(null);
- accordo.setPrivato(null);
- accordo.setIdAccordo(null);
- accordo.setIdSoggetto(null);
- accordo.setByteWsdlImplementativoErogatore(null);
- accordo.setByteWsdlImplementativoFruitore(null);
-
- accordo.setTipoSoggettoErogatore(null);
- accordo.setNomeSoggettoErogatore(null);
-
- if(accordo.getConfigurazioneServizio()!=null){
-
- if(accordo.getConfigurazioneServizio().getConnettore()!=null){
- this.clean(accordo.getConfigurazioneServizio().getConnettore());
- }
-
- if(accordo.getConfigurazioneServizio().sizeConfigurazioneAzioneList()>0){
- for (ConfigurazioneServizioAzione servizioAzione : accordo.getConfigurazioneServizio().getConfigurazioneAzioneList()) {
- if(servizioAzione.getConnettore()!=null){
- this.clean(servizioAzione.getConnettore());
- }
- }
- }
-
- }
-
- if(accordo.sizeFruitoreList()>0){
- for (Fruitore fruitore : accordo.getFruitoreList()) {
- this.clean(fruitore);
-
- if(fruitore.sizeConfigurazioneAzioneList()>0){
- for (ConfigurazioneServizioAzione servizioAzione : fruitore.getConfigurazioneAzioneList()) {
- if(servizioAzione.getConnettore()!=null){
- this.clean(servizioAzione.getConnettore());
- }
- }
- }
- }
- }
-
- if(accordo.sizeAllegatoList()>0){
- for (Documento documento : accordo.getAllegatoList()) {
- this.clean(documento);
- }
- }
- if(accordo.sizeSpecificaSemiformaleList()>0){
- for (Documento documento : accordo.getSpecificaSemiformaleList()) {
- this.clean(documento);
- }
- }
- if(accordo.sizeSpecificaLivelloServizioList()>0){
- for (Documento documento : accordo.getSpecificaLivelloServizioList()) {
- this.clean(documento);
- }
- }
- if(accordo.sizeSpecificaSicurezzaList()>0){
- for (Documento documento : accordo.getSpecificaSicurezzaList()) {
- this.clean(documento);
- }
- }
-
- if(accordo.sizeProtocolPropertyList()>0) {
- for (ProtocolProperty pp : accordo.getProtocolPropertyList()) {
- this.clean(pp);
- }
- }
- }
-
- public void clean(AccordoCooperazione accordo){
- accordo.setSuperUser(null);
- accordo.setStatoPackage(null);
- accordo.setPrivato(null);
-
- while(accordo.sizeUriServiziCompostiList()>0){
- accordo.removeUriServiziComposti(0);
- }
-
- if(accordo.sizeAllegatoList()>0){
- for (Documento documento : accordo.getAllegatoList()) {
- this.clean(documento);
- }
- }
- if(accordo.sizeSpecificaSemiformaleList()>0){
- for (Documento documento : accordo.getSpecificaSemiformaleList()) {
- this.clean(documento);
- }
- }
-
- if(accordo.getElencoPartecipanti()!=null){
- if(accordo.getElencoPartecipanti().sizeSoggettoPartecipanteList()>0){
- for (IdSoggetto idSoggetto : accordo.getElencoPartecipanti().getSoggettoPartecipanteList()) {
- if(idSoggetto.getIdSoggetto()!=null){
- idSoggetto.setIdSoggetto(null);
- }
- }
- }
- }
-
- if(accordo.sizeProtocolPropertyList()>0) {
- for (ProtocolProperty pp : accordo.getProtocolPropertyList()) {
- this.clean(pp);
- }
- }
-
- }
-
- public void clean(Fruitore fruitore){
-
- fruitore.setStatoPackage(null);
- fruitore.setByteWsdlImplementativoErogatore(null);
- fruitore.setByteWsdlImplementativoFruitore(null);
- fruitore.setIdSoggetto(null);
- fruitore.setIdServizio(null);
-
- if(fruitore.getConnettore()!=null){
- this.clean(fruitore.getConnettore());
- }
-
- if(fruitore.sizeConfigurazioneAzioneList()>0) {
- for (ConfigurazioneServizioAzione configServizioAzione : fruitore.getConfigurazioneAzioneList()) {
- if(configServizioAzione.getConnettore()!=null) {
- this.clean(configServizioAzione.getConnettore());
- }
- }
- }
-
- while(fruitore.sizeServizioApplicativoList()>0){
- fruitore.removeServizioApplicativo(0);
- }
-
- if(fruitore.sizeProtocolPropertyList()>0) {
- for (ProtocolProperty pp : fruitore.getProtocolPropertyList()) {
- this.clean(pp);
- }
- }
-
- }
-
- // ---- UTILITY
-
- private void clean(org.openspcoop2.core.registry.Connettore connettoreRegistry){
- connettoreRegistry.setCustom(null);
- }
-
- private void clean(Documento documento){
- documento.setByteContenuto(null);
- documento.setRuolo(null);
- documento.setTipoProprietarioDocumento(null);
- documento.setIdProprietarioDocumento(null);
- }
-
- private void clean(ProtocolProperty pp){
- pp.setByteFile(null);
- pp.setIdProprietario(null);
- pp.setTipoProprietario(null);
- }
- }