aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/knowcenter/wag/egov/egiz/ldap/api/LDAPAPIFactoryImpl.java
diff options
context:
space:
mode:
authortknall <tknall@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c>2006-12-13 16:00:50 +0000
committertknall <tknall@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c>2006-12-13 16:00:50 +0000
commitf1db00ea7fce12a186a3c5070d7f46298224c57a (patch)
tree57580548de8b9841aa4f4008f6b08b54f2789659 /src/main/java/at/knowcenter/wag/egov/egiz/ldap/api/LDAPAPIFactoryImpl.java
parentaf0a15de2b1228e65872cb74935d933735133e5f (diff)
downloadpdf-as-3-f1db00ea7fce12a186a3c5070d7f46298224c57a.tar.gz
pdf-as-3-f1db00ea7fce12a186a3c5070d7f46298224c57a.tar.bz2
pdf-as-3-f1db00ea7fce12a186a3c5070d7f46298224c57a.zip
ldap support improved
git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@20 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c
Diffstat (limited to 'src/main/java/at/knowcenter/wag/egov/egiz/ldap/api/LDAPAPIFactoryImpl.java')
-rw-r--r--src/main/java/at/knowcenter/wag/egov/egiz/ldap/api/LDAPAPIFactoryImpl.java19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/ldap/api/LDAPAPIFactoryImpl.java b/src/main/java/at/knowcenter/wag/egov/egiz/ldap/api/LDAPAPIFactoryImpl.java
index 340b54a..9750270 100644
--- a/src/main/java/at/knowcenter/wag/egov/egiz/ldap/api/LDAPAPIFactoryImpl.java
+++ b/src/main/java/at/knowcenter/wag/egov/egiz/ldap/api/LDAPAPIFactoryImpl.java
@@ -4,6 +4,7 @@ import java.util.Hashtable;
import org.apache.log4j.Logger;
+import at.knowcenter.wag.egov.egiz.ldap.client.LDAPIssuerNameFilter;
import at.knowcenter.wag.egov.egiz.sig.LDAPAPI;
/**
@@ -13,13 +14,17 @@ public class LDAPAPIFactoryImpl extends LDAPAPIFactory {
private static final Logger log = Logger.getLogger(LDAPAPIFactoryImpl.class);
+ // mapping <full qualified class name, LDAPAPI implementation>
private Hashtable<String, LDAPAPI> ldapImpls;
- protected LDAPAPIFactoryImpl() {
- ldapImpls = new Hashtable<String, LDAPAPI>();
+ private LDAPIssuerNameFilter ldapIssuerNameFilter;
+
+ protected LDAPAPIFactoryImpl(LDAPIssuerNameFilter ldapIssuerNameFilter) {
+ this.ldapImpls = new Hashtable<String, LDAPAPI>();
+ this.ldapIssuerNameFilter = ldapIssuerNameFilter;
}
- private static LDAPAPI instantiatelAPIImpl(String implClassURI) throws LDAPAPIException {
+ private LDAPAPI instantiatelAPIImpl(String implClassURI) throws LDAPAPIException {
if (implClassURI == null) {
throw new NullPointerException("URI of implementing class must not be null.");
}
@@ -36,6 +41,7 @@ public class LDAPAPIFactoryImpl extends LDAPAPIFactory {
}
ldapAPIImpl = (LDAPAPI) ldapAPIImplObj;
log.info("LDAPAPI implementation successfully instantiated.");
+ ldapAPIImpl.setIssuerNameFilter(this.ldapIssuerNameFilter);
} catch (InstantiationException e) {
throw new LDAPAPIException("Declared implementation of \"" + LDAPAPI.class.getName() + "\" cannot be instantiated.");
} catch (IllegalAccessException e) {
@@ -46,15 +52,16 @@ public class LDAPAPIFactoryImpl extends LDAPAPIFactory {
return ldapAPIImpl;
}
+ @Override
public synchronized LDAPAPI createLDAPAPI(String implClassURI) throws LDAPAPIException {
if (implClassURI == null || implClassURI.length() == 0) {
// use internal implementation
implClassURI = LDAPAPIImpl.class.getName();
}
- LDAPAPI impl = ldapImpls.get(implClassURI);
+ LDAPAPI impl = this.ldapImpls.get(implClassURI);
if (impl == null) {
- impl = instantiatelAPIImpl(implClassURI);
- ldapImpls.put(implClassURI, impl);
+ impl = this.instantiatelAPIImpl(implClassURI);
+ this.ldapImpls.put(implClassURI, impl);
}
return impl;
}