diff options
| author | Thomas Lenz <thomas.lenz@egiz.gv.at> | 2016-01-14 21:07:15 +0100 | 
|---|---|---|
| committer | Thomas Lenz <thomas.lenz@egiz.gv.at> | 2016-01-14 21:07:15 +0100 | 
| commit | bf0f1eaee2e5b79427ec979d9c68b6c321de20a2 (patch) | |
| tree | 010cbe428cee354200e35fdddb6851bcbe61f088 /id/server/modules | |
| parent | 78c50331e83269f25286e172fdfd4f8ae32c8633 (diff) | |
| download | moa-id-spss-bf0f1eaee2e5b79427ec979d9c68b6c321de20a2.tar.gz moa-id-spss-bf0f1eaee2e5b79427ec979d9c68b6c321de20a2.tar.bz2 moa-id-spss-bf0f1eaee2e5b79427ec979d9c68b6c321de20a2.zip | |
change eIDAS SAML-engine to singelton
Diffstat (limited to 'id/server/modules')
| -rw-r--r-- | id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/SAMLEngineUtils.java | 47 | 
1 files changed, 26 insertions, 21 deletions
| diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/SAMLEngineUtils.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/SAMLEngineUtils.java index 548d05da6..8e46f0ef1 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/SAMLEngineUtils.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/SAMLEngineUtils.java @@ -38,29 +38,34 @@ import eu.eidas.samlengineconfig.CertificateConfigurationManager;   */  public class SAMLEngineUtils { -	public static EIDASSAMLEngine createSAMLEngine() throws EIDASEngineException{ +	private static EIDASSAMLEngine eIDASEngine = null; +	 +	public static synchronized EIDASSAMLEngine createSAMLEngine() throws EIDASEngineException{ -		try { -			//get eIDAS SAMLengine configuration from MOA-ID configuration -			CertificateConfigurationManager configManager = new MOAIDCertificateManagerConfigurationImpl(); -			 -			//initial eIDAS SAMLengine -			EIDASSAMLEngine engine = EIDASSAMLEngine.createSAMLEngine(Constants.eIDAS_SAML_ENGINE_NAME, -						configManager); - -			//set Metadata managment to eIDAS SAMLengine -			engine.setMetadataProcessor( -					new MOAeIDASMetadataProviderDecorator( -							MOAeIDASChainingMetadataProvider.getInstance())); -			 -			return engine; -			 -		} catch (EIDASSAMLEngineException e) { -			Logger.error("eIDAS SAMLengine initialization FAILED!", e); -			throw new EIDASEngineException("eIDAS SAMLengine initialization FAILED!", e); -			 +		if (eIDASEngine == null) { +			try { +				//get eIDAS SAMLengine configuration from MOA-ID configuration +				CertificateConfigurationManager configManager = new MOAIDCertificateManagerConfigurationImpl(); +				 +				//initial eIDAS SAMLengine +				EIDASSAMLEngine engine = EIDASSAMLEngine.createSAMLEngine(Constants.eIDAS_SAML_ENGINE_NAME, +							configManager); +	 +				//set Metadata managment to eIDAS SAMLengine +				engine.setMetadataProcessor( +						new MOAeIDASMetadataProviderDecorator( +								MOAeIDASChainingMetadataProvider.getInstance())); +				 +				eIDASEngine = engine; +				 +			} catch (EIDASSAMLEngineException e) { +				Logger.error("eIDAS SAMLengine initialization FAILED!", e); +				throw new EIDASEngineException("eIDAS SAMLengine initialization FAILED!", e); +				 +			}  		} -								 +		 +		return eIDASEngine;  	}  } | 
