aboutsummaryrefslogtreecommitdiff
path: root/id.server/src/at/gv/egovernment/moa/id/config/proxy
diff options
context:
space:
mode:
Diffstat (limited to 'id.server/src/at/gv/egovernment/moa/id/config/proxy')
-rw-r--r--id.server/src/at/gv/egovernment/moa/id/config/proxy/OAProxyParameter.java23
-rw-r--r--id.server/src/at/gv/egovernment/moa/id/config/proxy/ProxyConfigurationProvider.java29
2 files changed, 49 insertions, 3 deletions
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.
@@ -126,6 +133,14 @@ public class OAProxyParameter {
}
/**
+ * Returns the loginParameterResolverConfiguration.
+ * @return String
+ */
+ public String getLoginParameterResolverConfiguration() {
+ return loginParameterResolverConfiguration;
+ }
+
+ /**
* Sets the connectionBuilderImpl.
* @param connectionBuilderImpl The connectionBuilderImpl to set
*/
@@ -142,6 +157,14 @@ public class OAProxyParameter {
}
/**
+ * 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. <code>null</code>, 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