diff options
author | rudolf <rudolf@d688527b-c9ab-4aba-bd8d-4036d912da1d> | 2003-12-19 09:00:07 +0000 |
---|---|---|
committer | rudolf <rudolf@d688527b-c9ab-4aba-bd8d-4036d912da1d> | 2003-12-19 09:00:07 +0000 |
commit | b6e8e0a8f45c10d9a0cd77807db7107430752981 (patch) | |
tree | ff2bf15ff279f07166e472dbc2d29b5dcd013d73 /id.server/src/at/gv/egovernment/moa/id/proxy/LoginParameterResolverFactory.java | |
parent | b2e2e48ad320dce63f471481cba305b1c95cd619 (diff) | |
download | moa-id-spss-b6e8e0a8f45c10d9a0cd77807db7107430752981.tar.gz moa-id-spss-b6e8e0a8f45c10d9a0cd77807db7107430752981.tar.bz2 moa-id-spss-b6e8e0a8f45c10d9a0cd77807db7107430752981.zip |
MOA-ID 1.1.1D01
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@81 d688527b-c9ab-4aba-bd8d-4036d912da1d
Diffstat (limited to 'id.server/src/at/gv/egovernment/moa/id/proxy/LoginParameterResolverFactory.java')
-rw-r--r-- | id.server/src/at/gv/egovernment/moa/id/proxy/LoginParameterResolverFactory.java | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/id.server/src/at/gv/egovernment/moa/id/proxy/LoginParameterResolverFactory.java b/id.server/src/at/gv/egovernment/moa/id/proxy/LoginParameterResolverFactory.java index 2ab245923..0db7f66fe 100644 --- a/id.server/src/at/gv/egovernment/moa/id/proxy/LoginParameterResolverFactory.java +++ b/id.server/src/at/gv/egovernment/moa/id/proxy/LoginParameterResolverFactory.java @@ -1,11 +1,12 @@ package at.gv.egovernment.moa.id.proxy; +import java.lang.reflect.Method; import java.util.HashMap; import java.util.Map; import at.gv.egovernment.moa.id.config.ConfigurationException; -import at.gv.egovernment.moa.id.config.proxy.ProxyConfigurationProvider; import at.gv.egovernment.moa.id.config.proxy.OAProxyParameter; +import at.gv.egovernment.moa.id.config.proxy.ProxyConfigurationProvider; /** * Factory delivering a {@link LoginParameterResolver} implementation for @@ -39,11 +40,25 @@ public class LoginParameterResolverFactory { OAProxyParameter oaParam = proxyConf.getOnlineApplicationParameters()[i]; String publicURLPrefix = oaParam.getPublicURLPrefix(); String className = oaParam.getLoginParameterResolverImpl(); + String configuration = oaParam.getLoginParameterResolverConfiguration(); + if (className != null) { try { + Class lprClass = Class.forName(className); LoginParameterResolver lpr = (LoginParameterResolver)Class.forName(className).newInstance(); + + Class[] argumentTypes = { String.class }; + Method confMethod = lprClass.getMethod( "configure", argumentTypes ); + + Object[] arguments = { new String(configuration) }; + confMethod.invoke( lpr, arguments ); + + lpr.configure(configuration); loginParameterResolverMap.put(publicURLPrefix, lpr); } + catch (LoginParameterResolverException lpex) { + throw new ConfigurationException("config.11", new Object[] {className}, lpex); + } catch (Throwable ex) { throw new ConfigurationException("config.07", new Object[] {publicURLPrefix}, ex); } |