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) --- .../com/c2kernel/entity/proxy/ProxyManager.java | 31 +++++++++++++--------- 1 file changed, 18 insertions(+), 13 deletions(-) (limited to 'src/main/java/com/c2kernel/entity/proxy/ProxyManager.java') diff --git a/src/main/java/com/c2kernel/entity/proxy/ProxyManager.java b/src/main/java/com/c2kernel/entity/proxy/ProxyManager.java index b217f3e..2b2e0e9 100644 --- a/src/main/java/com/c2kernel/entity/proxy/ProxyManager.java +++ b/src/main/java/com/c2kernel/entity/proxy/ProxyManager.java @@ -12,7 +12,6 @@ package com.c2kernel.entity.proxy; import java.util.ArrayList; import java.util.ConcurrentModificationException; -import java.util.Enumeration; import java.util.HashMap; import java.util.Iterator; @@ -41,9 +40,9 @@ public class ProxyManager { Logger.msg(5, "ProxyManager - Starting....."); - Enumeration servers = Gateway.getLDAPLookup().searchEntities(new DomainPath("/servers")); - while(servers.hasMoreElements()) { - Path thisServerPath = servers.nextElement(); + Iterator servers = Gateway.getLookup().searchEntities(new DomainPath("/servers")); + while(servers.hasNext()) { + Path thisServerPath = servers.next(); try { int syskey = thisServerPath.getSysKey(); String remoteServer = ((Property)Gateway.getStorage().get(syskey, ClusterStorage.PROPERTY+"/Name", null)).getValue(); @@ -157,7 +156,7 @@ public class ProxyManager **************************************************************************/ private ItemProxy createProxy( org.omg.CORBA.Object ior, int systemKey, - boolean isItem ) + boolean isAgent ) throws ObjectNotFoundException { @@ -165,13 +164,13 @@ public class ProxyManager Logger.msg(5, "ProxyManager::creating proxy on Item " + systemKey); - if( isItem ) + if( isAgent ) { - newProxy = new ItemProxy(ior, systemKey); + newProxy = new AgentProxy(ior, systemKey); } else { - newProxy = new AgentProxy(ior, systemKey); + newProxy = new ItemProxy(ior, systemKey); } // subscribe to changes from server @@ -195,7 +194,7 @@ public class ProxyManager **************************************************************************/ private ItemProxy getProxy( org.omg.CORBA.Object ior, int systemKey, - boolean isItem ) + boolean isAgent ) throws ObjectNotFoundException { Integer key = new Integer(systemKey); @@ -206,7 +205,7 @@ public class ProxyManager newProxy = proxyPool.get(key); if (newProxy == null) { // create a new one - newProxy = createProxy(ior, systemKey, isItem ); + newProxy = createProxy(ior, systemKey, isAgent ); proxyPool.put(key, newProxy); } return newProxy; @@ -225,12 +224,18 @@ public class ProxyManager //convert namePath to dn format Logger.msg(8,"ProxyManager::getProxy(" + path.toString() + ")"); - boolean isItem = !(path.getEntity() instanceof AgentPath); - return getProxy( Gateway.getLDAPLookup().getIOR(path), + boolean isAgent = (path.getEntity() instanceof AgentPath); + return getProxy( Gateway.getLookup().resolve(path), path.getSysKey(), - isItem ); + isAgent ); } + + public AgentProxy getAgentProxy( AgentPath path ) + throws ObjectNotFoundException + { + return (AgentProxy) getProxy(path); + } /************************************************************************** * void reportCurrentProxies() -- cgit v1.2.3