From b6e8e0a8f45c10d9a0cd77807db7107430752981 Mon Sep 17 00:00:00 2001 From: rudolf Date: Fri, 19 Dec 2003 09:00:07 +0000 Subject: MOA-ID 1.1.1D01 git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@81 d688527b-c9ab-4aba-bd8d-4036d912da1d --- .../moa/id/config/proxy/OAProxyParameter.java | 23 +++++++++++++++++ .../config/proxy/ProxyConfigurationProvider.java | 29 +++++++++++++++++++--- 2 files changed, 49 insertions(+), 3 deletions(-) (limited to 'id.server/src/at/gv/egovernment/moa/id/config/proxy') diff --git a/id.server/src/at/gv/egovernment/moa/id/config/proxy/OAProxyParameter.java b/id.server/src/at/gv/egovernment/moa/id/config/proxy/OAProxyParameter.java index f08c60736..a16dcfa26 100644 --- a/id.server/src/at/gv/egovernment/moa/id/config/proxy/OAProxyParameter.java +++ b/id.server/src/at/gv/egovernment/moa/id/config/proxy/OAProxyParameter.java @@ -26,6 +26,12 @@ public class OAProxyParameter { * defaults to {@link at.gv.egovernment.moa.id.proxy.DefaultLoginParameterResolver} */ private String loginParameterResolverImpl; + + /** + * Configuration Parameter of LoginParameterResolver + */ + private String loginParameterResolverConfiguration; + /** * implementation of {@link at.gv.egovernment.moa.id.proxy.ConnectionBuilder} interface * to be used for connecting to the online application; @@ -44,6 +50,7 @@ public class OAProxyParameter { * parameters for logging into the online application */ private OAConfiguration oaConfiguration; + /** * Returns the configFileURL. @@ -125,6 +132,14 @@ public class OAProxyParameter { return loginParameterResolverImpl; } + /** + * Returns the loginParameterResolverConfiguration. + * @return String + */ + public String getLoginParameterResolverConfiguration() { + return loginParameterResolverConfiguration; + } + /** * Sets the connectionBuilderImpl. * @param connectionBuilderImpl The connectionBuilderImpl to set @@ -141,6 +156,14 @@ public class OAProxyParameter { this.loginParameterResolverImpl = loginParameterResolverImpl; } + /** + * Sets the loginParameterResolverConfiguration. + * @param loginParameterResolverImpl The loginParameterResolverImpl to set + */ + public void setLoginParameterResolverConfiguration(String loginParameterResolverConfiguration) { + this.loginParameterResolverConfiguration = loginParameterResolverConfiguration; + } + /** * Returns the oaConfiguration. * @return OAConfiguration diff --git a/id.server/src/at/gv/egovernment/moa/id/config/proxy/ProxyConfigurationProvider.java b/id.server/src/at/gv/egovernment/moa/id/config/proxy/ProxyConfigurationProvider.java index 897d14da9..622ae6f82 100644 --- a/id.server/src/at/gv/egovernment/moa/id/config/proxy/ProxyConfigurationProvider.java +++ b/id.server/src/at/gv/egovernment/moa/id/config/proxy/ProxyConfigurationProvider.java @@ -1,7 +1,9 @@ package at.gv.egovernment.moa.id.config.proxy; +import java.io.File; import java.io.FileInputStream; import java.io.IOException; +import java.net.MalformedURLException; import org.w3c.dom.Element; @@ -11,6 +13,7 @@ import at.gv.egovernment.moa.id.config.ConfigurationProvider; import at.gv.egovernment.moa.id.config.ConnectionParameter; import at.gv.egovernment.moa.logging.Logger; import at.gv.egovernment.moa.util.DOMUtils; +import at.gv.egovernment.moa.util.FileUtils; /** * A class providing access to the Proxy Part of the MOA-ID configuration data. @@ -32,6 +35,11 @@ public class ProxyConfigurationProvider extends ConfigurationProvider { /** Singleton instance. null, if none has been created. */ private static ProxyConfigurationProvider instance; + /** + * main configuration file directory name used to configure MOA-ID + */ + private String rootConfigFileDir; + // // configuration data // @@ -117,14 +125,29 @@ public class ProxyConfigurationProvider extends ConfigurationProvider { } } try { + // determine the directory of the root config file + rootConfigFileDir = new File(fileName).getParent(); + try { + rootConfigFileDir = new File(rootConfigFileDir).toURL().toString(); + } catch (MalformedURLException t) { + throw new ConfigurationException("config.03", null, t); + } + // build the internal datastructures - builder = new ConfigurationBuilder(configElem); + builder = new ConfigurationBuilder(configElem, rootConfigFileDir); authComponentConnectionParameter = builder.buildAuthComponentConnectionParameter(); - onlineApplicationProxyParameter = builder.buildOnlineApplicationProxyParameters(); + + onlineApplicationProxyParameter = builder.buildOnlineApplicationProxyParameters(); + for(int i = 0; i < onlineApplicationProxyParameter.length; i++) { + onlineApplicationProxyParameter[i].setConfigFileURL(FileUtils.makeAbsoluteURL(onlineApplicationProxyParameter[i].getConfigFileURL(), rootConfigFileDir)); + } + genericConfiguration = builder.buildGenericConfiguration(); defaultChainingMode = builder.getDefaultChainingMode(); chainingModes = builder.buildChainingModes(); trustedCACertificates = builder.getTrustedCACertificates(); + trustedCACertificates = FileUtils.makeAbsoluteURL(trustedCACertificates, rootConfigFileDir); + } catch (Throwable t) { throw new ConfigurationException("config.02", null, t); @@ -166,5 +189,5 @@ public class ProxyConfigurationProvider extends ConfigurationProvider { } return null; } - + } \ No newline at end of file -- cgit v1.2.3