ModIDynamicConfiguration.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.protocol.modipa.properties;

  21. import org.openspcoop2.core.id.IDAccordo;
  22. import org.openspcoop2.core.id.IDFruizione;
  23. import org.openspcoop2.core.id.IDPortTypeAzione;
  24. import org.openspcoop2.core.id.IDResource;
  25. import org.openspcoop2.core.id.IDServizio;
  26. import org.openspcoop2.core.id.IDServizioApplicativo;
  27. import org.openspcoop2.core.id.IDSoggetto;
  28. import org.openspcoop2.core.registry.AccordoServizioParteComune;
  29. import org.openspcoop2.protocol.basic.properties.BasicDynamicConfiguration;
  30. import org.openspcoop2.protocol.modipa.config.ModIProperties;
  31. import org.openspcoop2.protocol.modipa.constants.ModIConsoleCostanti;
  32. import org.openspcoop2.protocol.sdk.IProtocolFactory;
  33. import org.openspcoop2.protocol.sdk.ProtocolException;
  34. import org.openspcoop2.protocol.sdk.constants.ConsoleItemType;
  35. import org.openspcoop2.protocol.sdk.constants.ConsoleItemValueType;
  36. import org.openspcoop2.protocol.sdk.constants.ConsoleOperationType;
  37. import org.openspcoop2.protocol.sdk.properties.BaseConsoleItem;
  38. import org.openspcoop2.protocol.sdk.properties.ConsoleConfiguration;
  39. import org.openspcoop2.protocol.sdk.properties.IConsoleHelper;
  40. import org.openspcoop2.protocol.sdk.properties.ProtocolProperties;
  41. import org.openspcoop2.protocol.sdk.properties.ProtocolPropertiesFactory;
  42. import org.openspcoop2.protocol.sdk.properties.StringConsoleItem;
  43. import org.openspcoop2.protocol.sdk.registry.IConfigIntegrationReader;
  44. import org.openspcoop2.protocol.sdk.registry.IRegistryReader;
  45. import org.openspcoop2.protocol.utils.ModISecurityUtils;

  46. /**
  47.  * ModIDynamicConfiguration
  48.  *
  49.  * @author Poli Andrea (apoli@link.it)
  50.  * @author $Author$
  51.  * @version $Rev$, $Date$
  52.  */
  53. public class ModIDynamicConfiguration extends BasicDynamicConfiguration implements org.openspcoop2.protocol.sdk.properties.IConsoleDynamicConfiguration {



  54.     private ModIProperties modiProperties = null;

  55.     public ModIDynamicConfiguration(IProtocolFactory<?> factory) throws ProtocolException{
  56.         super(factory);
  57.         this.modiProperties = ModIProperties.getInstance();
  58.     }

  59.    
  60.    
  61.    
  62.    
  63.     /*** SOGGETTI */
  64.    
  65.     @Override
  66.     public ConsoleConfiguration getDynamicConfigSoggetto(ConsoleOperationType consoleOperationType,
  67.             IConsoleHelper consoleHelper, IRegistryReader registryReader,
  68.             IConfigIntegrationReader configIntegrationReader, IDSoggetto id) throws ProtocolException {
  69.        
  70.         ConsoleConfiguration configuration = ModIDynamicConfigurationSoggettiUtilities.getDynamicConfigSoggetto(consoleOperationType, consoleHelper, registryReader,
  71.                 configIntegrationReader, id);
  72.         if(configuration!=null) {
  73.             return configuration;
  74.         }
  75.         else {
  76.             return super.getDynamicConfigSoggetto(consoleOperationType, consoleHelper, registryReader, configIntegrationReader, id);
  77.         }

  78.     }

  79.     /**@Override
  80.     public void updateDynamicConfigSoggetto(ConsoleConfiguration consoleConfiguration,
  81.             ConsoleOperationType consoleOperationType, IConsoleHelper consoleHelper, ProtocolProperties properties,
  82.             IRegistryReader registryReader, IConfigIntegrationReader configIntegrationReader, IDSoggetto id)
  83.             throws ProtocolException {
  84.         super.updateDynamicConfigSoggetto(consoleConfiguration, consoleOperationType, consoleHelper, properties, registryReader,
  85.                 configIntegrationReader, id);
  86.     }*/

  87.     @Override
  88.     public void validateDynamicConfigSoggetto(ConsoleConfiguration consoleConfiguration,
  89.             ConsoleOperationType consoleOperationType, IConsoleHelper consoleHelper, ProtocolProperties properties,
  90.             IRegistryReader registryReader, IConfigIntegrationReader configIntegrationReader, IDSoggetto id)
  91.             throws ProtocolException {
  92.        
  93.         ModIDynamicConfigurationSoggettiUtilities.validateDynamicConfigSoggetto(consoleConfiguration,
  94.                 consoleOperationType, consoleHelper, properties,
  95.                 configIntegrationReader, id);
  96.        
  97.     }
  98.    
  99.    
  100.    
  101.    

  102.     /*** APPLICATIVI */
  103.    
  104.     @Override
  105.     public ConsoleConfiguration getDynamicConfigServizioApplicativo(ConsoleOperationType consoleOperationType, IConsoleHelper consoleHelper, IRegistryReader registryReader,
  106.             IConfigIntegrationReader configIntegrationReader, IDServizioApplicativo id) throws ProtocolException {
  107.        
  108.         ConsoleConfiguration configuration = ModIDynamicConfigurationApplicativiUtilities.getDynamicConfigServizioApplicativo(consoleOperationType, consoleHelper, registryReader,
  109.                 configIntegrationReader, id);
  110.         if(configuration!=null) {
  111.             return configuration;
  112.         }
  113.         else {
  114.             return super.getDynamicConfigServizioApplicativo(consoleOperationType, consoleHelper, registryReader, configIntegrationReader, id);
  115.         }
  116.        
  117.     }

  118.     @Override
  119.     public void updateDynamicConfigServizioApplicativo(ConsoleConfiguration consoleConfiguration,
  120.             ConsoleOperationType consoleOperationType, IConsoleHelper consoleHelper,
  121.             ProtocolProperties properties, IRegistryReader registryReader,
  122.             IConfigIntegrationReader configIntegrationReader, IDServizioApplicativo id) throws ProtocolException {

  123.         ModIDynamicConfigurationApplicativiUtilities.updateDynamicConfigServizioApplicativo(consoleConfiguration,
  124.                 consoleOperationType, consoleHelper,
  125.                 properties,
  126.                 configIntegrationReader, id);
  127.        
  128.     }


  129.     @Override
  130.     public void validateDynamicConfigServizioApplicativo(ConsoleConfiguration consoleConfiguration,
  131.             ConsoleOperationType consoleOperationType, IConsoleHelper consoleHelper, ProtocolProperties properties, IRegistryReader registryReader,
  132.             IConfigIntegrationReader configIntegrationReader, IDServizioApplicativo id) throws ProtocolException {
  133.        
  134.         ModIDynamicConfigurationApplicativiUtilities.validateDynamicConfigServizioApplicativo(consoleConfiguration,
  135.                 consoleOperationType, consoleHelper, properties,
  136.                 configIntegrationReader, id);
  137.     }

  138.    
  139.    
  140.    
  141.    
  142.     /*** API */
  143.    
  144.     @Override
  145.     public ConsoleConfiguration getDynamicConfigAccordoServizioParteComune(ConsoleOperationType consoleOperationType, IConsoleHelper consoleHelper, IRegistryReader registryReader,
  146.             IConfigIntegrationReader configIntegrationReader, IDAccordo id) throws ProtocolException {
  147.        
  148.         if(ModIDynamicConfigurationAccordiParteComuneUtilities.isApiSignalHubPushAPI(id, registryReader, this.modiProperties, this.log)) {
  149.             // è un accordo built-in che si assume esista, la configurazone non è necessaria, ma per disattivarla andrebbe fatto anche per api-pdnd
  150.             /**return super.getDynamicConfigAccordoServizioParteComune(consoleOperationType, consoleHelper, registryReader,
  151.                     configIntegrationReader, id);*/
  152.         }
  153.        
  154.         ConsoleConfiguration configuration = new ConsoleConfiguration();
  155.                    
  156.         BaseConsoleItem titolo = ProtocolPropertiesFactory.newTitleItem(
  157.                 ModIConsoleCostanti.MODIPA_API_ID,
  158.                 ModIConsoleCostanti.MODIPA_API_LABEL);
  159.         configuration.addConsoleItem(titolo );
  160.        
  161.        
  162.         configuration.addConsoleItem(ProtocolPropertiesFactory.newSubTitleItem(ModIConsoleCostanti.MODIPA_API_PROFILO_CANALE_ID,
  163.                 ModIConsoleCostanti.MODIPA_API_PROFILO_CANALE_LABEL));
  164.        
  165.         StringConsoleItem profiloSicurezzaCanaleItem = (StringConsoleItem)
  166.                 ProtocolPropertiesFactory.newConsoleItem(ConsoleItemValueType.STRING,
  167.                 ConsoleItemType.SELECT,
  168.                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_CANALE_ID,
  169.                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_CANALE_LABEL);
  170.         profiloSicurezzaCanaleItem.addLabelValue((this.modiProperties.isModIVersioneBozza()!=null && this.modiProperties.isModIVersioneBozza().booleanValue()) ? ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_CANALE_LABEL_IDAC01_OLD : ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_CANALE_LABEL_IDAC01_NEW,
  171.                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_CANALE_VALUE_IDAC01);
  172.         profiloSicurezzaCanaleItem.addLabelValue((this.modiProperties.isModIVersioneBozza()!=null && this.modiProperties.isModIVersioneBozza().booleanValue()) ? ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_CANALE_LABEL_IDAC02_OLD : ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_CANALE_LABEL_IDAC02_NEW,
  173.                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_CANALE_VALUE_IDAC02);
  174.         profiloSicurezzaCanaleItem.setDefaultValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_CANALE_DEFAULT_VALUE);
  175.         if(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_CANALE_DEFAULT_VALUE.equals(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_CANALE_VALUE_IDAC01)) {
  176.             profiloSicurezzaCanaleItem.setNote(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_CANALE_LABEL_IDAC01_NOTE);
  177.         }
  178.         else if(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_CANALE_DEFAULT_VALUE.equals(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_CANALE_VALUE_IDAC02)) {
  179.             profiloSicurezzaCanaleItem.setNote(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_CANALE_LABEL_IDAC02_NOTE);
  180.         }
  181.         profiloSicurezzaCanaleItem.setReloadOnChange(true);
  182.         configuration.addConsoleItem(profiloSicurezzaCanaleItem);
  183.        
  184.         boolean rest = ModIDynamicConfigurationAccordiParteComuneUtilities.isApiRest(consoleOperationType, consoleHelper, registryReader, id);
  185.        
  186.         ModIDynamicConfigurationAccordiParteComuneSicurezzaMessaggioUtilities.addProfiloSicurezzaMessaggio(this.modiProperties,
  187.                 configuration, rest, false,
  188.                 null);
  189.        
  190.         return configuration;
  191.     }
  192.    
  193.     @Override
  194.     public void updateDynamicConfigAccordoServizioParteComune(ConsoleConfiguration consoleConfiguration,
  195.             ConsoleOperationType consoleOperationType, IConsoleHelper consoleHelper, ProtocolProperties properties,
  196.             IRegistryReader registryReader, IConfigIntegrationReader configIntegrationReader, IDAccordo id)
  197.             throws ProtocolException {
  198.        
  199.         if(ModIDynamicConfigurationAccordiParteComuneUtilities.isApiSignalHubPushAPI(id, registryReader, this.modiProperties, this.log)) {
  200.             // è un accordo built-in che si assume esista, la configurazone non è necessaria, ma per disattivarla andrebbe fatto anche per api-pdnd
  201.             /**super.updateDynamicConfigAccordoServizioParteComune(consoleConfiguration,
  202.                     consoleOperationType, consoleHelper, properties,
  203.                     registryReader, configIntegrationReader, id);
  204.             return;*/
  205.         }
  206.        
  207.         ModIDynamicConfigurationAccordiParteComuneUtilities.updateProfiloSicurezzaCanale(consoleConfiguration, properties);
  208.        
  209.         boolean rest = ModIDynamicConfigurationAccordiParteComuneUtilities.isApiRest(consoleOperationType, consoleHelper, registryReader, id);
  210.        
  211.         ModIDynamicConfigurationAccordiParteComuneSicurezzaMessaggioUtilities.updateProfiloSicurezzaMessaggio(this.modiProperties,
  212.                 consoleConfiguration, consoleHelper, properties, rest, false);
  213.        
  214.     }
  215.    
  216.     @Override
  217.     public void validateDynamicConfigAccordoServizioParteComune(ConsoleConfiguration consoleConfiguration, ConsoleOperationType consoleOperationType, IConsoleHelper consoleHelper, ProtocolProperties properties,
  218.             IRegistryReader registryReader, IConfigIntegrationReader configIntegrationReader, IDAccordo id) throws ProtocolException{
  219.        
  220.         if(ModIDynamicConfigurationAccordiParteComuneUtilities.isApiSignalHubPushAPI(id, registryReader, this.modiProperties, this.log)) {
  221.             // è un accordo built-in che si assume esista, la configurazone non è necessaria, ma per disattivarla andrebbe fatto anche per api-pdnd
  222.             /**super.validateDynamicConfigAccordoServizioParteComune(consoleConfiguration, consoleOperationType, consoleHelper, properties,
  223.                     registryReader, configIntegrationReader, id);
  224.             return;*/
  225.         }
  226.        
  227.         ModIDynamicConfigurationAccordiParteComuneUtilities.validateDynamicConfigAccordoServizioParteComune(consoleOperationType, consoleHelper, properties,
  228.                 registryReader, id);
  229.     }
  230.    
  231.    

  232.    
  233.    
  234.    
  235.    
  236.     /*** OPERAZIONI SOAP */
  237.    
  238.     @Override
  239.     public ConsoleConfiguration getDynamicConfigOperation(ConsoleOperationType consoleOperationType,
  240.             IConsoleHelper consoleHelper, IRegistryReader registryReader,
  241.             IConfigIntegrationReader configIntegrationReader, IDPortTypeAzione id) throws ProtocolException {
  242.        
  243.         ConsoleConfiguration configuration = new ConsoleConfiguration();
  244.        
  245.         BaseConsoleItem titolo = ProtocolPropertiesFactory.newTitleItem(
  246.                 ModIConsoleCostanti.MODIPA_AZIONE_ID,
  247.                 ModIConsoleCostanti.MODIPA_AZIONE_LABEL);
  248.         configuration.addConsoleItem(titolo );
  249.        
  250.         ModIDynamicConfigurationAccordiParteComuneUtilities.addProfiloInterazione(this.modiProperties,
  251.                 configuration, false, null);
  252.        
  253.         AccordoServizioParteComune api = null;
  254.         try {
  255.             api = registryReader.getAccordoServizioParteComune(id.getIdPortType().getIdAccordo(), false, false);
  256.         }catch(Exception e) {
  257.             throw new ProtocolException(e.getMessage(),e);
  258.         }
  259.         String schemaAuditImpostatoInAPIoAltreAzioni = ModISecurityUtils.getProfiloSicurezzaMessaggioCorniceSicurezzaSchema(api, id.getIdPortType().getNome());
  260.    
  261.         ModIDynamicConfigurationAccordiParteComuneSicurezzaMessaggioUtilities.addProfiloSicurezzaMessaggio(this.modiProperties,
  262.                 configuration, false, true,
  263.                 schemaAuditImpostatoInAPIoAltreAzioni);
  264.        
  265.         return configuration;
  266.        
  267.     }

  268.     @Override
  269.     public void updateDynamicConfigOperation(ConsoleConfiguration consoleConfiguration,
  270.             ConsoleOperationType consoleOperationType, IConsoleHelper consoleHelper, ProtocolProperties properties,
  271.             IRegistryReader registryReader, IConfigIntegrationReader configIntegrationReader, IDPortTypeAzione id)
  272.             throws ProtocolException {
  273.        
  274.         ModIDynamicConfigurationAccordiParteComuneUtilities.updateProfiloInterazione(this.modiProperties,this.protocolFactory,this.log,
  275.                 consoleConfiguration, consoleOperationType, properties, registryReader, id.getIdPortType().getIdAccordo(), id.getIdPortType().getNome(), id.getNome(), false, null);
  276.        
  277.         ModIDynamicConfigurationAccordiParteComuneSicurezzaMessaggioUtilities.updateProfiloSicurezzaMessaggio(this.modiProperties,
  278.                 consoleConfiguration, consoleHelper, properties, false, true);
  279.        
  280.     }

  281.     @Override
  282.     public void validateDynamicConfigOperation(ConsoleConfiguration consoleConfiguration,
  283.             ConsoleOperationType consoleOperationType, IConsoleHelper consoleHelper, ProtocolProperties properties,
  284.             IRegistryReader registryReader, IConfigIntegrationReader configIntegrationReader, IDPortTypeAzione id)
  285.             throws ProtocolException {

  286.         ModIDynamicConfigurationAccordiParteComuneUtilities.validateProfiloInterazione(properties, id.getIdPortType().getNome(), false);
  287.        
  288.         ModIDynamicConfigurationAccordiParteComuneSicurezzaMessaggioUtilities.validateProfiloSicurezzaMessaggio(properties, false);
  289.     }


  290.    
  291.    
  292.     /*** RISORSE REST */
  293.    
  294.     @Override
  295.     public ConsoleConfiguration getDynamicConfigResource(ConsoleOperationType consoleOperationType,
  296.             IConsoleHelper consoleHelper, IRegistryReader registryReader,
  297.             IConfigIntegrationReader configIntegrationReader, IDResource id, String httpMethod, String path) throws ProtocolException {

  298.         ConsoleConfiguration configuration = new ConsoleConfiguration();
  299.        
  300.         BaseConsoleItem titolo = ProtocolPropertiesFactory.newTitleItem(
  301.                 ModIConsoleCostanti.MODIPA_AZIONE_ID,
  302.                 ModIConsoleCostanti.MODIPA_AZIONE_LABEL);
  303.         configuration.addConsoleItem(titolo );
  304.        
  305.         ModIDynamicConfigurationAccordiParteComuneUtilities.addProfiloInterazione(this.modiProperties,
  306.                 configuration, true, httpMethod);
  307.        
  308.         AccordoServizioParteComune api = null;
  309.         try {
  310.             api = registryReader.getAccordoServizioParteComune(id.getIdAccordo(), false, false);
  311.         }catch(Exception e) {
  312.             throw new ProtocolException(e.getMessage(),e);
  313.         }
  314.         String schemaAuditImpostatoInAPIoAltreAzioni = ModISecurityUtils.getProfiloSicurezzaMessaggioCorniceSicurezzaSchema(api, null);
  315.        
  316.         ModIDynamicConfigurationAccordiParteComuneSicurezzaMessaggioUtilities.addProfiloSicurezzaMessaggio(this.modiProperties,
  317.                 configuration, true, true,
  318.                 schemaAuditImpostatoInAPIoAltreAzioni);
  319.        
  320.         return configuration;
  321.        
  322.     }

  323.     @Override
  324.     public void updateDynamicConfigResource(ConsoleConfiguration consoleConfiguration,
  325.             ConsoleOperationType consoleOperationType, IConsoleHelper consoleHelper, ProtocolProperties properties,
  326.             IRegistryReader registryReader, IConfigIntegrationReader configIntegrationReader, IDResource id, String httpMethod, String path)
  327.             throws ProtocolException {
  328.        
  329.         ModIDynamicConfigurationAccordiParteComuneUtilities.updateProfiloInterazione(this.modiProperties,this.protocolFactory,this.log,
  330.                 consoleConfiguration, consoleOperationType, properties, registryReader, id.getIdAccordo(), null, id.getNome(), true, httpMethod);
  331.        
  332.         ModIDynamicConfigurationAccordiParteComuneSicurezzaMessaggioUtilities.updateProfiloSicurezzaMessaggio(this.modiProperties,
  333.                 consoleConfiguration, consoleHelper, properties, true, true);
  334.     }
  335.    
  336.     @Override
  337.     public void validateDynamicConfigResource(ConsoleConfiguration consoleConfiguration,
  338.             ConsoleOperationType consoleOperationType, IConsoleHelper consoleHelper, ProtocolProperties properties,
  339.             IRegistryReader registryReader, IConfigIntegrationReader configIntegrationReader, IDResource id, String httpMethod, String path)
  340.             throws ProtocolException {
  341.        
  342.         ModIDynamicConfigurationAccordiParteComuneUtilities.validateProfiloInterazione(properties, null, true);
  343.        
  344.         ModIDynamicConfigurationAccordiParteComuneSicurezzaMessaggioUtilities.validateProfiloSicurezzaMessaggio(properties, true);
  345.     }
  346.    
  347.    
  348.    
  349.    
  350.    
  351.    
  352.    
  353.     /** EROGAZIONI / FRUIZIONI **/
  354.    
  355.     @Override
  356.     public ConsoleConfiguration getDynamicConfigAccordoServizioParteSpecifica(ConsoleOperationType consoleOperationType,
  357.             IConsoleHelper consoleHelper, IRegistryReader registryReader,
  358.             IConfigIntegrationReader configIntegrationReader, IDServizio id) throws ProtocolException {
  359.        
  360.         ConsoleConfiguration configuration = ModIDynamicConfigurationAccordiParteSpecificaUtilities.getDynamicConfigParteSpecifica(this.log, this.modiProperties,
  361.                 consoleOperationType, consoleHelper, registryReader, configIntegrationReader, id, null, false);
  362.         if(configuration!=null) {
  363.             return configuration;
  364.         }
  365.         return super.getDynamicConfigAccordoServizioParteSpecifica(consoleOperationType, consoleHelper, registryReader, configIntegrationReader, id);
  366.        
  367.     }
  368.    
  369.     @Override
  370.     public void updateDynamicConfigAccordoServizioParteSpecifica(ConsoleConfiguration consoleConfiguration,
  371.             ConsoleOperationType consoleOperationType, IConsoleHelper consoleHelper, ProtocolProperties properties,
  372.             IRegistryReader registryReader, IConfigIntegrationReader configIntegrationReader, IDServizio id)
  373.             throws ProtocolException {
  374.        
  375.         boolean operazioneGestita = ModIDynamicConfigurationAccordiParteSpecificaUtilities.updateDynamicConfigParteSpecifica(this.log, this.modiProperties,
  376.                 consoleConfiguration,
  377.                 consoleOperationType, consoleHelper, properties,
  378.                 id, registryReader, configIntegrationReader, false);
  379.         if(!operazioneGestita) {
  380.             super.updateDynamicConfigAccordoServizioParteSpecifica(consoleConfiguration, consoleOperationType, consoleHelper, properties, registryReader, configIntegrationReader, id);
  381.         }
  382.        
  383.     }
  384.    
  385.     @Override
  386.     public void validateDynamicConfigAccordoServizioParteSpecifica(ConsoleConfiguration consoleConfiguration,
  387.             ConsoleOperationType consoleOperationType, IConsoleHelper consoleHelper, ProtocolProperties properties,
  388.             IRegistryReader registryReader, IConfigIntegrationReader configIntegrationReader, IDServizio id)
  389.             throws ProtocolException {
  390.        
  391.         boolean operazioneGestita = ModIDynamicConfigurationAccordiParteSpecificaUtilities.validateDynamicConfigParteSpecifica(this.modiProperties,
  392.                 consoleConfiguration, consoleHelper, properties, id, registryReader, configIntegrationReader, false);
  393.         if(!operazioneGestita) {
  394.             super.validateDynamicConfigAccordoServizioParteSpecifica(consoleConfiguration, consoleOperationType, consoleHelper, properties, registryReader, configIntegrationReader, id);
  395.         }
  396.        
  397.     }
  398.    
  399.     @Override
  400.     public ConsoleConfiguration getDynamicConfigFruizioneAccordoServizioParteSpecifica(
  401.             ConsoleOperationType consoleOperationType, IConsoleHelper consoleHelper, IRegistryReader registryReader,
  402.             IConfigIntegrationReader configIntegrationReader, IDFruizione id) throws ProtocolException {
  403.        
  404.         ConsoleConfiguration configuration = ModIDynamicConfigurationAccordiParteSpecificaUtilities.getDynamicConfigParteSpecifica(this.log, this.modiProperties,
  405.                 consoleOperationType, consoleHelper, registryReader, configIntegrationReader,
  406.                 id.getIdServizio(), id.getIdFruitore(), true);
  407.         if(configuration!=null) {
  408.             return configuration;
  409.         }
  410.         return super.getDynamicConfigFruizioneAccordoServizioParteSpecifica(consoleOperationType, consoleHelper, registryReader,
  411.                 configIntegrationReader, id);
  412.        
  413.     }

  414.     @Override
  415.     public void updateDynamicConfigFruizioneAccordoServizioParteSpecifica(ConsoleConfiguration consoleConfiguration,
  416.             ConsoleOperationType consoleOperationType, IConsoleHelper consoleHelper, ProtocolProperties properties,
  417.             IRegistryReader registryReader, IConfigIntegrationReader configIntegrationReader, IDFruizione id)
  418.             throws ProtocolException {
  419.        
  420.         boolean operazioneGestita = ModIDynamicConfigurationAccordiParteSpecificaUtilities.updateDynamicConfigParteSpecifica(this.log, this.modiProperties,
  421.                 consoleConfiguration,
  422.                 consoleOperationType, consoleHelper, properties,
  423.                 id.getIdServizio(), registryReader, configIntegrationReader, true);
  424.         if(!operazioneGestita) {
  425.             super.updateDynamicConfigFruizioneAccordoServizioParteSpecifica(consoleConfiguration, consoleOperationType,
  426.                     consoleHelper, properties, registryReader, configIntegrationReader, id);
  427.         }
  428.        
  429.     }

  430.     @Override
  431.     public void validateDynamicConfigFruizioneAccordoServizioParteSpecifica(ConsoleConfiguration consoleConfiguration,
  432.             ConsoleOperationType consoleOperationType, IConsoleHelper consoleHelper, ProtocolProperties properties,
  433.             IRegistryReader registryReader, IConfigIntegrationReader configIntegrationReader, IDFruizione id)
  434.             throws ProtocolException {
  435.    
  436.         boolean operazioneGestita = ModIDynamicConfigurationAccordiParteSpecificaUtilities.validateDynamicConfigParteSpecifica(this.modiProperties,
  437.                 consoleConfiguration, consoleHelper, properties, id.getIdServizio(), registryReader, configIntegrationReader, true);
  438.         if(!operazioneGestita) {
  439.             super.validateDynamicConfigFruizioneAccordoServizioParteSpecifica(consoleConfiguration, consoleOperationType,
  440.                     consoleHelper, properties, registryReader, configIntegrationReader, id);
  441.         }
  442.        
  443.     }
  444.    
  445. }