CachedConfigIntegrationReader.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.pdd.config;

  21. import java.util.List;

  22. import org.openspcoop2.core.allarmi.Allarme;
  23. import org.openspcoop2.core.config.CanaliConfigurazione;
  24. import org.openspcoop2.core.config.ConfigurazioneMultitenant;
  25. import org.openspcoop2.core.config.GenericProperties;
  26. import org.openspcoop2.core.config.PortaApplicativa;
  27. import org.openspcoop2.core.config.PortaDelegata;
  28. import org.openspcoop2.core.config.ServizioApplicativo;
  29. import org.openspcoop2.core.config.constants.CostantiConfigurazione;
  30. import org.openspcoop2.core.config.driver.DriverConfigurazioneException;
  31. import org.openspcoop2.core.config.driver.DriverConfigurazioneNotFound;
  32. import org.openspcoop2.core.controllo_traffico.AttivazionePolicy;
  33. import org.openspcoop2.core.id.IDPortaApplicativa;
  34. import org.openspcoop2.core.id.IDPortaDelegata;
  35. import org.openspcoop2.core.id.IDServizio;
  36. import org.openspcoop2.core.id.IDServizioApplicativo;
  37. import org.openspcoop2.core.id.IDSoggetto;
  38. import org.openspcoop2.core.mapping.MappingErogazionePortaApplicativa;
  39. import org.openspcoop2.core.mapping.MappingFruizionePortaDelegata;
  40. import org.openspcoop2.message.OpenSPCoop2Message;
  41. import org.openspcoop2.message.soap.reader.OpenSPCoop2MessageSoapStreamReader;
  42. import org.openspcoop2.protocol.engine.mapping.IdentificazioneDinamicaException;
  43. import org.openspcoop2.protocol.sdk.IProtocolFactory;
  44. import org.openspcoop2.protocol.sdk.registry.ProtocolFiltroRicercaPorteApplicative;
  45. import org.openspcoop2.protocol.sdk.registry.ProtocolFiltroRicercaPorteDelegate;
  46. import org.openspcoop2.protocol.sdk.registry.ProtocolFiltroRicercaServiziApplicativi;
  47. import org.openspcoop2.protocol.sdk.registry.IConfigIntegrationReader;
  48. import org.openspcoop2.protocol.sdk.registry.RegistryException;
  49. import org.openspcoop2.protocol.sdk.registry.RegistryNotFound;
  50. import org.openspcoop2.protocol.sdk.state.IState;
  51. import org.openspcoop2.protocol.sdk.state.RequestInfo;
  52. import org.openspcoop2.protocol.sdk.state.URLProtocolContext;
  53. import org.openspcoop2.utils.UtilsRuntimeException;
  54. import org.openspcoop2.utils.certificate.CertificateInfo;
  55. import org.openspcoop2.utils.crypt.CryptConfig;
  56. import org.slf4j.Logger;

  57. /**
  58.  *  ArchiveRegistryReader
  59.  *
  60.  * @author Poli Andrea (apoli@link.it)
  61.  * @author $Author$
  62.  * @version $Rev$, $Date$
  63.  */
  64. public class CachedConfigIntegrationReader implements IConfigIntegrationReader {

  65.     @SuppressWarnings("unused")
  66.     private Logger log;
  67.     private ConfigurazionePdDManager configurazionePdDManager;
  68.     @SuppressWarnings("unused")
  69.     private IProtocolFactory<?> protocolFactory;
  70.     private RequestInfo requestInfo;
  71.     /**public CachedConfigIntegrationReader(Logger log,IProtocolFactory protocolFactory){
  72.         this.log = log;
  73.         this.protocolFactory = protocolFactory;
  74.         this.configurazionePdDMangager = ConfigurazionePdDManager.getInstance();
  75.     }*/
  76.     public CachedConfigIntegrationReader(Logger log,IProtocolFactory<?> protocolFactory, IState state, RequestInfo requestInfo) {
  77.         this.log = log;
  78.         this.protocolFactory = protocolFactory;
  79.         this.configurazionePdDManager = ConfigurazionePdDManager.getInstance(state);
  80.         this.requestInfo = requestInfo;
  81.     }
  82.     public CachedConfigIntegrationReader(Logger log,IProtocolFactory<?> protocolFactory, ConfigurazionePdDManager configurazionePdDManager, RequestInfo requestInfo) {
  83.         this.log = log;
  84.         this.protocolFactory = protocolFactory;
  85.         this.configurazionePdDManager = configurazionePdDManager;
  86.         this.requestInfo = requestInfo;
  87.     }

  88.     private static final String NOT_IMPLEMENTEND = "Not Implemented";
  89.    
  90.    
  91.     // SERVIZI APPLICATIVI
  92.    
  93.     @Override
  94.     public boolean existsServizioApplicativo(IDServizioApplicativo idServizioApplicativo) {
  95.         try{
  96.             return this.configurazionePdDManager.getServizioApplicativo(idServizioApplicativo, this.requestInfo)!=null;
  97.         } catch(Exception e){
  98.             return false;
  99.         }
  100.     }
  101.    
  102.     @Override
  103.     public boolean existsServizioApplicativoByCredenzialiBasic(String username, String password, CryptConfig config){
  104.         try{
  105.             return this.configurazionePdDManager.getIdServizioApplicativoByCredenzialiBasic(username, password, config)!=null;
  106.         } catch(Exception e){
  107.             return false;
  108.         }
  109.     }
  110.    
  111.     @Override
  112.     public ServizioApplicativo getServizioApplicativoByCredenzialiBasic(String username, String password, CryptConfig config) throws RegistryNotFound,RegistryException{
  113.         try{
  114.             IDServizioApplicativo idSA = this.configurazionePdDManager.getIdServizioApplicativoByCredenzialiBasic(username, password, config);
  115.             return this.configurazionePdDManager.getServizioApplicativo(idSA, this.requestInfo);
  116.         } catch (DriverConfigurazioneNotFound de) {
  117.             throw new RegistryNotFound(de.getMessage(),de);
  118.         }catch(Exception e){
  119.             throw new RegistryException(e.getMessage(),e);
  120.         }
  121.     }
  122.    
  123.     @Override
  124.     public boolean existsServizioApplicativoByCredenzialiSsl(String subject, String aIssuer){
  125.         try{
  126.             return this.configurazionePdDManager.getIdServizioApplicativoByCredenzialiSsl(subject,aIssuer)!=null;
  127.         } catch(Exception e){
  128.             return false;
  129.         }
  130.     }
  131.    
  132.     @Override
  133.     public ServizioApplicativo getServizioApplicativoByCredenzialiSsl(String subject, String aIssuer) throws RegistryNotFound,RegistryException{
  134.         try{
  135.             IDServizioApplicativo idSA = this.configurazionePdDManager.getIdServizioApplicativoByCredenzialiSsl(subject,aIssuer);
  136.             return this.configurazionePdDManager.getServizioApplicativo(idSA, this.requestInfo);
  137.         } catch (DriverConfigurazioneNotFound de) {
  138.             throw new RegistryNotFound(de.getMessage(),de);
  139.         }catch(Exception e){
  140.             throw new RegistryException(e.getMessage(),e);
  141.         }
  142.     }
  143.    
  144.     @Override
  145.     public boolean existsServizioApplicativoByCredenzialiSsl(String subject, String aIssuer,
  146.             List<String> tipiSoggetto,
  147.             boolean includiApplicativiNonModI, boolean includiApplicativiModIEsterni, boolean includiApplicativiModIInterni) {
  148.         try{
  149.             return this.configurazionePdDManager.getIdServizioApplicativoByCredenzialiSsl(subject,aIssuer,
  150.                     tipiSoggetto,
  151.                     includiApplicativiNonModI, includiApplicativiModIEsterni, includiApplicativiModIInterni)!=null;
  152.         } catch(Exception e){
  153.             return false;
  154.         }
  155.     }
  156.     @Override
  157.     public ServizioApplicativo getServizioApplicativoByCredenzialiSsl(String subject, String aIssuer,
  158.             List<String> tipiSoggetto,
  159.             boolean includiApplicativiNonModI, boolean includiApplicativiModIEsterni, boolean includiApplicativiModIInterni) throws RegistryNotFound,RegistryException{
  160.         try{
  161.             IDServizioApplicativo idSA = this.configurazionePdDManager.getIdServizioApplicativoByCredenzialiSsl(subject,aIssuer,
  162.                     tipiSoggetto,
  163.                     includiApplicativiNonModI, includiApplicativiModIEsterni, includiApplicativiModIInterni);
  164.             return this.configurazionePdDManager.getServizioApplicativo(idSA, this.requestInfo);
  165.         } catch (DriverConfigurazioneNotFound de) {
  166.             throw new RegistryNotFound(de.getMessage(),de);
  167.         }catch(Exception e){
  168.             throw new RegistryException(e.getMessage(),e);
  169.         }
  170.     }
  171.    
  172.     @Override
  173.     public boolean existsServizioApplicativoByCredenzialiSsl(CertificateInfo certificate, boolean strictVerifier){
  174.         try{
  175.             return this.configurazionePdDManager.getIdServizioApplicativoByCredenzialiSsl(certificate,strictVerifier)!=null;
  176.         } catch(Exception e){
  177.             return false;
  178.         }
  179.     }
  180.    
  181.     @Override
  182.     public ServizioApplicativo getServizioApplicativoByCredenzialiSsl(CertificateInfo certificate, boolean strictVerifier) throws RegistryNotFound,RegistryException{
  183.         try{
  184.             IDServizioApplicativo idSA = this.configurazionePdDManager.getIdServizioApplicativoByCredenzialiSsl(certificate,strictVerifier);
  185.             return this.configurazionePdDManager.getServizioApplicativo(idSA, this.requestInfo);
  186.         } catch (DriverConfigurazioneNotFound de) {
  187.             throw new RegistryNotFound(de.getMessage(),de);
  188.         }catch(Exception e){
  189.             throw new RegistryException(e.getMessage(),e);
  190.         }
  191.     }
  192.    
  193.     @Override
  194.     public boolean existsServizioApplicativoByCredenzialiSsl(CertificateInfo certificate, boolean strictVerifier,
  195.             List<String> tipiSoggetto,
  196.             boolean includiApplicativiNonModI, boolean includiApplicativiModIEsterni, boolean includiApplicativiModIInterni){
  197.         try{
  198.             return this.configurazionePdDManager.getIdServizioApplicativoByCredenzialiSsl(certificate,strictVerifier,
  199.                     tipiSoggetto,
  200.                     includiApplicativiNonModI, includiApplicativiModIEsterni, includiApplicativiModIInterni)!=null;
  201.         } catch(Exception e){
  202.             return false;
  203.         }
  204.     }
  205.    
  206.     @Override
  207.     public ServizioApplicativo getServizioApplicativoByCredenzialiSsl(CertificateInfo certificate, boolean strictVerifier,
  208.             List<String> tipiSoggetto,
  209.             boolean includiApplicativiNonModI, boolean includiApplicativiModIEsterni, boolean includiApplicativiModIInterni) throws RegistryNotFound,RegistryException{
  210.         try{
  211.             IDServizioApplicativo idSA = this.configurazionePdDManager.getIdServizioApplicativoByCredenzialiSsl(certificate,strictVerifier,
  212.                     tipiSoggetto,
  213.                     includiApplicativiNonModI, includiApplicativiModIEsterni, includiApplicativiModIInterni);
  214.             return this.configurazionePdDManager.getServizioApplicativo(idSA, this.requestInfo);
  215.         } catch (DriverConfigurazioneNotFound de) {
  216.             throw new RegistryNotFound(de.getMessage(),de);
  217.         }catch(Exception e){
  218.             throw new RegistryException(e.getMessage(),e);
  219.         }
  220.     }
  221.    
  222.     @Override
  223.     public boolean existsServizioApplicativoByCredenzialiPrincipal(String principal){
  224.         try{
  225.             return this.configurazionePdDManager.getIdServizioApplicativoByCredenzialiPrincipal(principal)!=null;
  226.         } catch(Exception e){
  227.             return false;
  228.         }
  229.     }
  230.    
  231.     @Override
  232.     public ServizioApplicativo getServizioApplicativoByCredenzialiPrincipal(String principal) throws RegistryNotFound,RegistryException{
  233.         try{
  234.             IDServizioApplicativo idSA = this.configurazionePdDManager.getIdServizioApplicativoByCredenzialiPrincipal(principal);
  235.             return this.configurazionePdDManager.getServizioApplicativo(idSA, this.requestInfo);
  236.         } catch (DriverConfigurazioneNotFound de) {
  237.             throw new RegistryNotFound(de.getMessage(),de);
  238.         }catch(Exception e){
  239.             throw new RegistryException(e.getMessage(),e);
  240.         }
  241.     }
  242.    
  243.     @Override
  244.     public boolean existsServizioApplicativoByCredenzialiToken(String tokenPolicy, String tokenClientId, boolean tokenWithHttpsEnabled) {
  245.         try{
  246.             return this.configurazionePdDManager.getIdServizioApplicativoByCredenzialiToken(tokenPolicy, tokenClientId)!=null;
  247.         } catch(Exception e){
  248.             return false;
  249.         }
  250.     }
  251.    
  252.     @Override
  253.     public ServizioApplicativo getServizioApplicativoByCredenzialiToken(String tokenPolicy, String tokenClientId, boolean tokenWithHttpsEnabled) throws RegistryNotFound,RegistryException{
  254.         try{
  255.             IDServizioApplicativo idSA = this.configurazionePdDManager.getIdServizioApplicativoByCredenzialiToken(tokenPolicy, tokenClientId);
  256.             return this.configurazionePdDManager.getServizioApplicativo(idSA, this.requestInfo);
  257.         } catch (DriverConfigurazioneNotFound de) {
  258.             throw new RegistryNotFound(de.getMessage(),de);
  259.         }catch(Exception e){
  260.             throw new RegistryException(e.getMessage(),e);
  261.         }
  262.     }
  263.    
  264.     @Override
  265.     public ServizioApplicativo getServizioApplicativo(IDServizioApplicativo idServizioApplicativo) throws RegistryNotFound,RegistryException{
  266.         try{
  267.             return this.configurazionePdDManager.getServizioApplicativo(idServizioApplicativo, this.requestInfo);
  268.         } catch (DriverConfigurazioneNotFound de) {
  269.             throw new RegistryNotFound(de.getMessage(),de);
  270.         }catch(Exception e){
  271.             throw new RegistryException(e.getMessage(),e);
  272.         }
  273.     }
  274.    
  275.     @Override
  276.     public List<IDServizioApplicativo> findIdServiziApplicativi(ProtocolFiltroRicercaServiziApplicativi filtroRicerca) throws RegistryNotFound,RegistryException{
  277.         try{
  278.             return this.configurazionePdDManager.getAllIdServiziApplicativi(filtroRicerca);
  279.         } catch (DriverConfigurazioneNotFound de) {
  280.             throw new RegistryNotFound(de.getMessage(),de);
  281.         }catch(Exception e){
  282.             throw new RegistryException(e.getMessage(),e);
  283.         }
  284.     }
  285.    
  286.     @Override
  287.     public List<IDServizioApplicativo> findIdServiziApplicativiByPaAuth(PortaApplicativa pa, boolean authToken, boolean authTrasporto) throws RegistryNotFound,RegistryException{
  288.         throw new UtilsRuntimeException(NOT_IMPLEMENTEND);
  289.     }
  290.    
  291.     @Override
  292.     public List<IDServizioApplicativo> findIdServiziApplicativiByPdAuth(PortaDelegata pd, boolean authToken, boolean authTrasporto) throws RegistryNotFound,RegistryException{
  293.         throw new UtilsRuntimeException(NOT_IMPLEMENTEND);
  294.     }
  295.    
  296.     @Override
  297.     public boolean inUso(IDServizioApplicativo idServizioApplicativo, boolean verificaRuoli) throws RegistryException{
  298.         throw new UtilsRuntimeException(NOT_IMPLEMENTEND);
  299.     }
  300.    
  301.     @Override
  302.     public String getDettagliInUso(IDServizioApplicativo idServizioApplicativo, boolean verificaRuoli) throws RegistryException{
  303.         throw new UtilsRuntimeException(NOT_IMPLEMENTEND);
  304.     }
  305.    
  306.    
  307.    
  308.     // PORTA DELEGATA
  309.    
  310.     @Override
  311.     public IDPortaDelegata getIdPortaDelegata(String nome, IProtocolFactory<?> protocolFactory) throws RegistryNotFound,RegistryException{
  312.         try{
  313.             return this.configurazionePdDManager.getIDPortaDelegata(nome,this.requestInfo,protocolFactory);
  314.         } catch (DriverConfigurazioneNotFound de) {
  315.             throw new RegistryNotFound(de.getMessage(),de);
  316.         }catch(Exception e){
  317.             throw new RegistryException(e.getMessage(),e);
  318.         }
  319.     }
  320.    
  321.     @Override
  322.     public boolean existsPortaDelegata(IDPortaDelegata idPortaDelegata){
  323.         try{
  324.             return this.configurazionePdDManager.getPortaDelegata(idPortaDelegata, this.requestInfo)!=null;
  325.         }/** catch (DriverConfigurazioneNotFound de) {
  326.             return false;
  327.         }*/catch(Exception e){
  328.             return false;
  329.         }
  330.     }
  331.    
  332.     @Override
  333.     public PortaDelegata getPortaDelegata(IDPortaDelegata idPortaDelegata) throws RegistryNotFound,RegistryException{
  334.         try{
  335.             return this.configurazionePdDManager.getPortaDelegata(idPortaDelegata, this.requestInfo);
  336.         } catch (DriverConfigurazioneNotFound de) {
  337.             throw new RegistryNotFound(de.getMessage(),de);
  338.         }catch(Exception e){
  339.             throw new RegistryException(e.getMessage(),e);
  340.         }
  341.     }
  342.     public String getAzione(PortaDelegata pd,URLProtocolContext transportContext, RequestInfo requestInfo, IProtocolFactory<?> protocolFactory,
  343.             OpenSPCoop2MessageSoapStreamReader soapStreamReader) throws DriverConfigurazioneException, IdentificazioneDinamicaException{
  344.         return this.configurazionePdDManager.getAzione(pd, transportContext, requestInfo, null, soapStreamReader, null, false, protocolFactory);
  345.     }
  346.    
  347.     @Override
  348.     public List<IDPortaDelegata> findIdPorteDelegate(ProtocolFiltroRicercaPorteDelegate filtroRicerca) throws RegistryNotFound,RegistryException{
  349.         try{
  350.             return this.configurazionePdDManager.getAllIdPorteDelegate(filtroRicerca);
  351.         } catch (DriverConfigurazioneNotFound de) {
  352.             throw new RegistryNotFound(de.getMessage(),de);
  353.         }catch(Exception e){
  354.             throw new RegistryException(e.getMessage(),e);
  355.         }
  356.     }
  357.    
  358.     @Override
  359.     public List<AttivazionePolicy> getRateLimitingPolicy(IDPortaDelegata idPortaDelegata) throws RegistryNotFound,RegistryException{
  360.         throw new RegistryException(NOT_IMPLEMENTEND);
  361.     }
  362.    
  363.     @Override
  364.     public List<Allarme> getAllarmi(IDPortaDelegata idPortaDelegata) throws RegistryNotFound,RegistryException{
  365.         throw new RegistryException(NOT_IMPLEMENTEND);
  366.     }
  367.    
  368.     @Override
  369.     public List<MappingFruizionePortaDelegata> getMappingFruizionePortaDelegataList(IDSoggetto idFruitore, IDServizio idServizio) throws RegistryException{
  370.         try{
  371.             return this.configurazionePdDManager.getMappingFruizionePortaDelegataList(idFruitore, idServizio, this.requestInfo);
  372.         } catch(Exception e){
  373.             throw new RegistryException(e.getMessage(),e);
  374.         }
  375.     }
  376.    
  377.    
  378.    
  379.     // PORTA APPLICATIVA
  380.    
  381.     @Override
  382.     public IDPortaApplicativa getIdPortaApplicativa(String nome, IProtocolFactory<?> protocolFactory) throws RegistryNotFound,RegistryException{
  383.         try{
  384.             return this.configurazionePdDManager.getIDPortaApplicativa(nome, this.requestInfo, protocolFactory);
  385.         } catch (DriverConfigurazioneNotFound de) {
  386.             throw new RegistryNotFound(de.getMessage(),de);
  387.         }catch(Exception e){
  388.             throw new RegistryException(e.getMessage(),e);
  389.         }
  390.     }
  391.     @Override
  392.     public boolean existsPortaApplicativa(IDPortaApplicativa idPortaApplicativa){
  393.         try{
  394.             return this.configurazionePdDManager.getPortaApplicativa(idPortaApplicativa, this.requestInfo)!=null;
  395.         }/** catch (DriverConfigurazioneNotFound de) {
  396.             return false;
  397.         }*/catch(Exception e){
  398.             return false;
  399.         }
  400.     }
  401.     @Override
  402.     public PortaApplicativa getPortaApplicativa(IDPortaApplicativa idPortaApplicativa) throws RegistryNotFound,RegistryException{
  403.         try{
  404.             return this.configurazionePdDManager.getPortaApplicativa(idPortaApplicativa, this.requestInfo);
  405.         } catch (DriverConfigurazioneNotFound de) {
  406.             throw new RegistryNotFound(de.getMessage(),de);
  407.         }catch(Exception e){
  408.             throw new RegistryException(e.getMessage(),e);
  409.         }
  410.     }
  411.     public String getAzione(PortaApplicativa pa,URLProtocolContext transportContext, RequestInfo requestInfo, IProtocolFactory<?> protocolFactory,
  412.             OpenSPCoop2Message message, OpenSPCoop2MessageSoapStreamReader soapStreamReader) throws DriverConfigurazioneException, IdentificazioneDinamicaException{
  413.         return this.configurazionePdDManager.getAzione(pa, transportContext, requestInfo, message, soapStreamReader, null, false, protocolFactory);
  414.     }
  415.    
  416.     @Override
  417.     public List<IDPortaApplicativa> findIdPorteApplicative(ProtocolFiltroRicercaPorteApplicative filtroRicerca) throws RegistryNotFound,RegistryException{
  418.         try{
  419.             return this.configurazionePdDManager.getAllIdPorteApplicative(filtroRicerca);
  420.         } catch (DriverConfigurazioneNotFound de) {
  421.             throw new RegistryNotFound(de.getMessage(),de);
  422.         }catch(Exception e){
  423.             throw new RegistryException(e.getMessage(),e);
  424.         }
  425.     }
  426.    
  427.     @Override
  428.     public List<AttivazionePolicy> getRateLimitingPolicy(IDPortaApplicativa idPortaDelegata) throws RegistryNotFound,RegistryException{
  429.         throw new RegistryException(NOT_IMPLEMENTEND);
  430.     }
  431.    
  432.     @Override
  433.     public List<Allarme> getAllarmi(IDPortaApplicativa idPortaDelegata) throws RegistryNotFound,RegistryException{
  434.         throw new RegistryException(NOT_IMPLEMENTEND);
  435.     }
  436.    
  437.     @Override
  438.     public List<MappingErogazionePortaApplicativa> getMappingErogazionePortaApplicativaList(IDServizio idServizio) throws RegistryException{
  439.         try{
  440.             return this.configurazionePdDManager.getMappingErogazionePortaApplicativaList(idServizio, this.requestInfo);
  441.         } catch(Exception e){
  442.             throw new RegistryException(e.getMessage(),e);
  443.         }
  444.     }
  445.    
  446.    
  447.    
  448.     // CONFIGURAZIONE
  449.    
  450.     @Override
  451.     public ConfigurazioneMultitenant getConfigurazioneMultitenant() throws RegistryNotFound,RegistryException{
  452.         try{
  453.             return this.configurazionePdDManager.getConfigurazioneMultitenant();
  454.         } catch (DriverConfigurazioneNotFound de) {
  455.             throw new RegistryNotFound(de.getMessage(),de);
  456.         }catch(Exception e){
  457.             throw new RegistryException(e.getMessage(),e);
  458.         }
  459.     }
  460.    
  461.     @Override
  462.     public CanaliConfigurazione getCanaliConfigurazione() throws RegistryNotFound,RegistryException{
  463.         try{
  464.             return this.configurazionePdDManager.getCanaliConfigurazione();
  465.         } catch (DriverConfigurazioneNotFound de) {
  466.             throw new RegistryNotFound(de.getMessage(),de);
  467.         }catch(Exception e){
  468.             throw new RegistryException(e.getMessage(),e);
  469.         }
  470.     }
  471.    
  472.     @Override
  473.     public List<AttivazionePolicy> getRateLimitingPolicyGlobali() throws RegistryNotFound,RegistryException{
  474.         throw new RegistryException(NOT_IMPLEMENTEND);
  475.     }
  476.    
  477.     @Override
  478.     public String getNextPolicyInstanceSerialId(String policyId) throws RegistryException{
  479.         throw new RegistryException(NOT_IMPLEMENTEND);
  480.     }
  481.    
  482.     @Override
  483.     public List<Allarme> getAllarmiGlobali() throws RegistryNotFound,RegistryException{
  484.         throw new RegistryException(NOT_IMPLEMENTEND);
  485.     }
  486.    
  487.     @Override
  488.     public String getNextAlarmInstanceSerialId(String tipoPlugin) throws RegistryException{
  489.         throw new RegistryException(NOT_IMPLEMENTEND);
  490.     }
  491.    
  492.     @Override
  493.     public List<GenericProperties> getTokenPolicyValidazione() throws RegistryException {
  494.         try{
  495.             return this.configurazionePdDManager.getGenericProperties(CostantiConfigurazione.GENERIC_PROPERTIES_TOKEN_TIPOLOGIA_VALIDATION);
  496.         }catch(Exception e){
  497.             throw new RegistryException(e.getMessage(),e);
  498.         }
  499.     }
  500.     @Override
  501.     public GenericProperties getTokenPolicyValidazione(String nome) throws RegistryNotFound,RegistryException{
  502.         try{
  503.             return this.configurazionePdDManager.getGenericProperties(CostantiConfigurazione.GENERIC_PROPERTIES_TOKEN_TIPOLOGIA_VALIDATION, nome);
  504.         } catch (DriverConfigurazioneNotFound de) {
  505.             throw new RegistryNotFound(de.getMessage(),de);
  506.         }catch(Exception e){
  507.             throw new RegistryException(e.getMessage(),e);
  508.         }
  509.     }
  510.    
  511.     @Override
  512.     public List<GenericProperties> getTokenPolicyNegoziazione() throws RegistryException {
  513.         try{
  514.             return this.configurazionePdDManager.getGenericProperties(CostantiConfigurazione.GENERIC_PROPERTIES_TOKEN_TIPOLOGIA_RETRIEVE);
  515.         }catch(Exception e){
  516.             throw new RegistryException(e.getMessage(),e);
  517.         }
  518.     }
  519.     @Override
  520.     public GenericProperties getTokenPolicyNegoziazione(String nome) throws RegistryNotFound,RegistryException{
  521.         try{
  522.             return this.configurazionePdDManager.getGenericProperties(CostantiConfigurazione.GENERIC_PROPERTIES_TOKEN_TIPOLOGIA_RETRIEVE, nome);
  523.         } catch (DriverConfigurazioneNotFound de) {
  524.             throw new RegistryNotFound(de.getMessage(),de);
  525.         }catch(Exception e){
  526.             throw new RegistryException(e.getMessage(),e);
  527.         }
  528.     }
  529.    
  530.     @Override
  531.     public List<GenericProperties> getAttributeAuthority() throws RegistryException {
  532.         try{
  533.             return this.configurazionePdDManager.getGenericProperties(CostantiConfigurazione.GENERIC_PROPERTIES_ATTRIBUTE_AUTHORITY);
  534.         }catch(Exception e){
  535.             throw new RegistryException(e.getMessage(),e);
  536.         }
  537.     }
  538.     @Override
  539.     public GenericProperties getAttributeAuthority(String nome) throws RegistryNotFound,RegistryException{
  540.         try{
  541.             return this.configurazionePdDManager.getGenericProperties(CostantiConfigurazione.GENERIC_PROPERTIES_ATTRIBUTE_AUTHORITY, nome);
  542.         } catch (DriverConfigurazioneNotFound de) {
  543.             throw new RegistryNotFound(de.getMessage(),de);
  544.         }catch(Exception e){
  545.             throw new RegistryException(e.getMessage(),e);
  546.         }
  547.     }
  548. }