ImplementationUtils.java

  1. /*
  2.  * GovWay - A customizable API Gateway
  3.  * https://govway.org
  4.  *
  5.  * Copyright (c) 2005-2025 Link.it srl (https://link.it).
  6.  *
  7.  * This program is free software: you can redistribute it and/or modify
  8.  * it under the terms of the GNU General Public License version 3, as published by
  9.  * the Free Software Foundation.
  10.  *
  11.  * This program is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.  * GNU General Public License for more details.
  15.  *
  16.  * You should have received a copy of the GNU General Public License
  17.  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  18.  *
  19.  */



  20. package org.openspcoop2.core.mapping;

  21. import org.openspcoop2.core.config.PortaApplicativa;
  22. import org.openspcoop2.core.config.PortaApplicativaAzione;
  23. import org.openspcoop2.core.config.PortaApplicativaServizio;
  24. import org.openspcoop2.core.config.constants.PortaApplicativaAzioneIdentificazione;
  25. import org.openspcoop2.core.config.constants.StatoFunzionalita;
  26. import org.openspcoop2.core.constants.Costanti;
  27. import org.openspcoop2.core.id.IDPortaApplicativa;
  28. import org.openspcoop2.core.id.IDServizio;
  29. import org.openspcoop2.core.id.IdentificativiErogazione;

  30. /**
  31.  * ImplementationUtils
  32.  *
  33.  *
  34.  * @author Poli Andrea (apoli@link.it)
  35.  * @author $Author$
  36.  * @version $Rev$, $Date$
  37.  */

  38. public class ImplementationUtils {

  39.     public static IDPortaApplicativa setCommonParameter(PortaApplicativa portaApplicativa,
  40.             IDServizio idServizio, boolean setDatiServizio, boolean portaClonata) {
  41.    
  42.         portaApplicativa.setTipoSoggettoProprietario(idServizio.getSoggettoErogatore().getTipo());
  43.         portaApplicativa.setNomeSoggettoProprietario(idServizio.getSoggettoErogatore().getNome());
  44.        
  45.         if(setDatiServizio) {
  46.             PortaApplicativaServizio pdServizio = new PortaApplicativaServizio();
  47.             pdServizio.setTipo(idServizio.getTipo());
  48.             pdServizio.setNome(idServizio.getNome());
  49.             pdServizio.setVersione(idServizio.getVersione());
  50.             portaApplicativa.setServizio(pdServizio);
  51.         }
  52.        
  53.         portaApplicativa.setStato(StatoFunzionalita.ABILITATO);
  54.        
  55.         if(!portaClonata) {
  56.             portaApplicativa.setRicevutaAsincronaAsimmetrica(StatoFunzionalita.ABILITATO);
  57.             portaApplicativa.setRicevutaAsincronaSimmetrica(StatoFunzionalita.ABILITATO);
  58.            
  59.             portaApplicativa.setAllegaBody(StatoFunzionalita.DISABILITATO);
  60.             portaApplicativa.setScartaBody(StatoFunzionalita.DISABILITATO);
  61.            
  62.             portaApplicativa.setStatoMessageSecurity(StatoFunzionalita.DISABILITATO.toString());
  63.         }
  64.        
  65.         IDPortaApplicativa idPortaApplicativa = new IDPortaApplicativa();
  66.         idPortaApplicativa.setNome(portaApplicativa.getNome());
  67.         IdentificativiErogazione identificativiErogazione = new IdentificativiErogazione();
  68.         identificativiErogazione.setIdServizio(idServizio);
  69.         idPortaApplicativa.setIdentificativiErogazione(identificativiErogazione);
  70.        
  71.         return idPortaApplicativa;
  72.     }
  73.    
  74.     public static void setAzioneDelegate(PortaApplicativa portaApplicativa, String nomePortaDelegante, String ... azione) {
  75.         PortaApplicativaAzione pda = new PortaApplicativaAzione();
  76.         pda.setIdentificazione(PortaApplicativaAzioneIdentificazione.DELEGATED_BY);
  77.         pda.setNomePortaDelegante(nomePortaDelegante);
  78.         for (int i = 0; i < azione.length; i++) {
  79.             pda.addAzioneDelegata(azione[i]);
  80.         }
  81.         portaApplicativa.setAzione(pda);
  82.        
  83.         portaApplicativa.setRicercaPortaAzioneDelegata(StatoFunzionalita.DISABILITATO);
  84.     }
  85.    
  86.     public static MappingErogazionePortaApplicativa createMappingDefault(IDServizio idServizio,IDPortaApplicativa idPortaApplicativa) {
  87.         MappingErogazionePortaApplicativa mappingErogazione = _creteMapping(idServizio, idPortaApplicativa);
  88.         mappingErogazione.setDefault(true);
  89.         mappingErogazione.setNome(getDefaultMappingName());
  90.         mappingErogazione.setDescrizione(getDefaultMappingDescription());
  91.         return mappingErogazione;
  92.     }
  93.     public static MappingErogazionePortaApplicativa createMapping(IDServizio idServizio,IDPortaApplicativa idPortaApplicativa, String ruleName, String description) {
  94.         MappingErogazionePortaApplicativa mappingErogazione = _creteMapping(idServizio, idPortaApplicativa);
  95.         mappingErogazione.setDefault(false);
  96.         mappingErogazione.setNome(ruleName);
  97.         mappingErogazione.setDescrizione(description);
  98.         return mappingErogazione;
  99.     }
  100.     private static MappingErogazionePortaApplicativa _creteMapping(IDServizio idServizio,IDPortaApplicativa idPortaApplicativa) {
  101.         MappingErogazionePortaApplicativa mappingErogazione = new MappingErogazionePortaApplicativa();
  102.         mappingErogazione.setIdServizio(idServizio);
  103.         mappingErogazione.setIdPortaApplicativa(idPortaApplicativa);
  104.         return mappingErogazione;
  105.     }
  106.    
  107.     public static boolean isPortaApplicativaUtilizzabileComeDefault(PortaApplicativa pa) {
  108.         if( (pa.getAzione()==null) ||
  109.                 (
  110.                         !PortaApplicativaAzioneIdentificazione.DELEGATED_BY.equals(pa.getAzione().getIdentificazione())
  111.                         &&
  112.                         (pa.getAzione().getNome()==null || "".equals(pa.getAzione().getNome()))
  113.                         &&
  114.                         (pa.getRicercaPortaAzioneDelegata()==null || StatoFunzionalita.ABILITATO.equals(pa.getRicercaPortaAzioneDelegata()))
  115.                 )
  116.             ){
  117.             return true;
  118.         }
  119.         return false;
  120.     }
  121.     public static String getDefaultMappingName() {
  122.         return Costanti.MAPPING_EROGAZIONE_PA_NOME_DEFAULT;
  123.     }
  124.     public static String getDefaultMappingDescription() {
  125.         return Costanti.MAPPING_EROGAZIONE_PA_DESCRIZIONE_DEFAULT;
  126.     }
  127. }