From d4fa3bd9dd48f4d5e26850a23f5ba48a9c10ad64 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Thu, 5 Jun 2014 15:02:07 +0200 Subject: LDAP refactored behind interfaces. All functions of LDAP now hidden behind interfaces: Authenticator, Lookup and NextKeyManager (LDAP property storage was already a ClusterStorage). Gateway holds additional objects, and Fixes #26 #191. Refs #27 (needs additional work for read perms and auth tokens) --- .../java/com/c2kernel/entity/proxy/AgentProxy.java | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'src/main/java/com/c2kernel/entity/proxy/AgentProxy.java') diff --git a/src/main/java/com/c2kernel/entity/proxy/AgentProxy.java b/src/main/java/com/c2kernel/entity/proxy/AgentProxy.java index b6566a8..e5a52f0 100644 --- a/src/main/java/com/c2kernel/entity/proxy/AgentProxy.java +++ b/src/main/java/com/c2kernel/entity/proxy/AgentProxy.java @@ -11,7 +11,7 @@ package com.c2kernel.entity.proxy; import java.util.Date; -import java.util.Enumeration; +import java.util.Iterator; import com.c2kernel.common.AccessRightsException; import com.c2kernel.common.InvalidDataException; @@ -32,6 +32,7 @@ import com.c2kernel.lookup.Path; import com.c2kernel.persistency.outcome.OutcomeValidator; import com.c2kernel.persistency.outcome.Schema; import com.c2kernel.process.Gateway; +import com.c2kernel.process.auth.Authenticator; import com.c2kernel.scripting.ErrorInfo; import com.c2kernel.scripting.Script; import com.c2kernel.scripting.ScriptErrorException; @@ -50,6 +51,7 @@ public class AgentProxy extends ItemProxy { AgentPath agentPath; + Authenticator auth; /************************************************************************** * Creates an AgentProxy without cache and change notification **************************************************************************/ @@ -66,7 +68,15 @@ public class AgentProxy extends ItemProxy } } - @Override + public Authenticator getAuthObj() { + return auth; + } + + public void setAuthObj(Authenticator auth) { + this.auth = auth; + } + + @Override public Agent narrow() throws ObjectNotFoundException { try { @@ -237,14 +247,14 @@ public class AgentProxy extends ItemProxy /** Let scripts resolve items */ public ItemProxy searchItem(String name) throws ObjectNotFoundException { - Enumeration results = Gateway.getLDAPLookup().search(new DomainPath(""),name); + Iterator results = Gateway.getLookup().search(new DomainPath(""),name); Path returnPath = null; - if (!results.hasMoreElements()) + if (!results.hasNext()) throw new ObjectNotFoundException(name, ""); - while(results.hasMoreElements()) { - Path nextMatch = results.nextElement(); + while(results.hasNext()) { + Path nextMatch = results.next(); if (returnPath != null && nextMatch.getSysKey() != -1 && returnPath.getSysKey() != nextMatch.getSysKey()) throw new ObjectNotFoundException("Too many items with that name"); returnPath = nextMatch; -- cgit v1.2.3