From a1f0ecbb6a2bea6aa214322c412af2f3c5ce124b Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Wed, 7 May 2014 17:33:13 +0200 Subject: Agent now extends Item, so they can have workflows. All traces of the old 'Entity' superclasses should be removed, including proxies and paths. Very large change, breaks API compatibility with CRISTAL 2.x. Fixes #135 --- .../persistency/ClusterStorageManager.java | 6 ++--- .../c2kernel/persistency/LDAPClusterStorage.java | 26 +++++++++++----------- .../java/com/c2kernel/persistency/ProxyLoader.java | 24 ++++++++++---------- .../java/com/c2kernel/persistency/RemoteMap.java | 14 ++++++------ .../c2kernel/persistency/XMLClusterStorage.java | 8 +++---- 5 files changed, 39 insertions(+), 39 deletions(-) (limited to 'src/main/java/com/c2kernel/persistency') diff --git a/src/main/java/com/c2kernel/persistency/ClusterStorageManager.java b/src/main/java/com/c2kernel/persistency/ClusterStorageManager.java index 0546bab..d0c3f77 100644 --- a/src/main/java/com/c2kernel/persistency/ClusterStorageManager.java +++ b/src/main/java/com/c2kernel/persistency/ClusterStorageManager.java @@ -10,7 +10,7 @@ import java.util.StringTokenizer; import com.c2kernel.common.ObjectNotFoundException; import com.c2kernel.entity.C2KLocalObject; import com.c2kernel.entity.agent.JobList; -import com.c2kernel.entity.proxy.EntityProxyManager; +import com.c2kernel.entity.proxy.ProxyManager; import com.c2kernel.entity.proxy.ProxyMessage; import com.c2kernel.events.History; import com.c2kernel.persistency.outcome.Outcome; @@ -291,7 +291,7 @@ public class ClusterStorageManager { if (Logger.doLog(9)) dumpCacheContents(9); // transmit proxy event - EntityProxyManager.sendProxyEvent( new ProxyMessage(sysKeyIntObj.intValue(), path, ProxyMessage.ADDED)); + ProxyManager.sendProxyEvent( new ProxyMessage(sysKeyIntObj.intValue(), path, ProxyMessage.ADDED)); } /** Deletes a cluster from all writers */ @@ -317,7 +317,7 @@ public class ClusterStorageManager { // transmit proxy event - EntityProxyManager.sendProxyEvent( new ProxyMessage(sysKeyIntObj.intValue(), path, ProxyMessage.DELETED)); + ProxyManager.sendProxyEvent( new ProxyMessage(sysKeyIntObj.intValue(), path, ProxyMessage.DELETED)); } public void clearCache(Integer sysKeyIntObj, String path) { diff --git a/src/main/java/com/c2kernel/persistency/LDAPClusterStorage.java b/src/main/java/com/c2kernel/persistency/LDAPClusterStorage.java index 5a305f9..2c10bbf 100644 --- a/src/main/java/com/c2kernel/persistency/LDAPClusterStorage.java +++ b/src/main/java/com/c2kernel/persistency/LDAPClusterStorage.java @@ -4,8 +4,8 @@ import java.util.StringTokenizer; import com.c2kernel.common.ObjectNotFoundException; import com.c2kernel.entity.C2KLocalObject; -import com.c2kernel.lookup.EntityPath; -import com.c2kernel.lookup.InvalidEntityPathException; +import com.c2kernel.lookup.ItemPath; +import com.c2kernel.lookup.InvalidItemPathException; import com.c2kernel.lookup.LDAPPropertyManager; import com.c2kernel.process.Gateway; import com.c2kernel.property.Property; @@ -53,10 +53,10 @@ public class LDAPClusterStorage extends ClusterStorage { throw new ClusterStorageException("Path length was invalid: "+path); String type = tok.nextToken(); - EntityPath thisEntity; + ItemPath thisEntity; try { - thisEntity = new EntityPath(sysKey.intValue()); - } catch (InvalidEntityPathException e) { + thisEntity = new ItemPath(sysKey.intValue()); + } catch (InvalidItemPathException e) { throw new ClusterStorageException("Invalid Syskey:"+sysKey); } @@ -84,10 +84,10 @@ public class LDAPClusterStorage extends ClusterStorage { String type = obj.getClusterType(); - EntityPath thisEntity; + ItemPath thisEntity; try { - thisEntity = new EntityPath(sysKey.intValue()); - } catch (InvalidEntityPathException e) { + thisEntity = new ItemPath(sysKey.intValue()); + } catch (InvalidItemPathException e) { throw new ClusterStorageException("Invalid Syskey:"+sysKey); } @@ -112,10 +112,10 @@ public class LDAPClusterStorage extends ClusterStorage { throw new ClusterStorageException("Path length was invalid: "+path); String type = tok.nextToken(); - EntityPath thisEntity; + ItemPath thisEntity; try { - thisEntity = new EntityPath(sysKey.intValue()); - } catch (InvalidEntityPathException e) { + thisEntity = new ItemPath(sysKey.intValue()); + } catch (InvalidItemPathException e) { throw new ClusterStorageException("Invalid Syskey:"+sysKey); } @@ -146,7 +146,7 @@ public class LDAPClusterStorage extends ClusterStorage { String type = getClusterType(path); try { - EntityPath thisEntity = new EntityPath(sysKey.intValue()); + ItemPath thisEntity = new ItemPath(sysKey.intValue()); if (type.equals(PROPERTY)) return ldapStore.getPropertyNames(thisEntity); else @@ -160,7 +160,7 @@ public class LDAPClusterStorage extends ClusterStorage { } else throw new ClusterStorageException("Cluster type "+type+" not supported."); - } catch (InvalidEntityPathException e) { + } catch (InvalidItemPathException e) { throw new ClusterStorageException("Invalid Syskey:"+sysKey); } catch (ObjectNotFoundException e) { throw new ClusterStorageException("Entity "+sysKey+" does not exist"); diff --git a/src/main/java/com/c2kernel/persistency/ProxyLoader.java b/src/main/java/com/c2kernel/persistency/ProxyLoader.java index 4324e94..9c14df5 100644 --- a/src/main/java/com/c2kernel/persistency/ProxyLoader.java +++ b/src/main/java/com/c2kernel/persistency/ProxyLoader.java @@ -5,9 +5,9 @@ import java.util.StringTokenizer; import com.c2kernel.common.ObjectNotFoundException; import com.c2kernel.entity.AgentHelper; import com.c2kernel.entity.C2KLocalObject; +import com.c2kernel.entity.Item; import com.c2kernel.entity.ItemHelper; -import com.c2kernel.entity.ManageableEntity; -import com.c2kernel.lookup.EntityPath; +import com.c2kernel.lookup.ItemPath; import com.c2kernel.lookup.LDAPLookup; import com.c2kernel.persistency.outcome.Outcome; import com.c2kernel.process.Gateway; @@ -18,7 +18,7 @@ import com.c2kernel.utils.Logger; */ public class ProxyLoader extends ClusterStorage { - HashMap entities = new HashMap(); + HashMap entities = new HashMap(); LDAPLookup lookup; @Override @@ -49,7 +49,7 @@ public class ProxyLoader extends ClusterStorage { @Override public C2KLocalObject get(Integer sysKey, String path) throws ClusterStorageException { try { - ManageableEntity thisEntity = getIOR(sysKey); + Item thisEntity = getIOR(sysKey); String type = getClusterType(path); // fetch the xml from the item @@ -90,7 +90,7 @@ public class ProxyLoader extends ClusterStorage { @Override public String[] getClusterContents(Integer sysKey, String path) throws ClusterStorageException { try { - ManageableEntity thisEntity = getIOR(sysKey); + Item thisEntity = getIOR(sysKey); String contents = thisEntity.queryData(path+"/all"); StringTokenizer tok = new StringTokenizer(contents, ","); String[] result = new String[tok.countTokens()]; @@ -104,7 +104,7 @@ public class ProxyLoader extends ClusterStorage { } } - private ManageableEntity getIOR(Integer sysKey) throws ClusterStorageException { + private Item getIOR(Integer sysKey) throws ClusterStorageException { if (entities.containsKey(sysKey)) { // check the cache Logger.msg(7, "ProxyLoader.getIOR() - "+sysKey+" cached."); @@ -113,22 +113,22 @@ public class ProxyLoader extends ClusterStorage { try { Logger.msg(7, "ProxyLoader.getIOR() - Resolving "+sysKey+"."); - org.omg.CORBA.Object ior = lookup.getIOR(new EntityPath(sysKey.intValue())); + org.omg.CORBA.Object ior = lookup.getIOR(new ItemPath(sysKey.intValue())); - ManageableEntity thisEntity = null; + Item thisItem = null; try { - thisEntity = ItemHelper.narrow(ior); + thisItem = ItemHelper.narrow(ior); } catch (org.omg.CORBA.BAD_PARAM ex) { try { - thisEntity = AgentHelper.narrow(ior); + thisItem = AgentHelper.narrow(ior); } catch (org.omg.CORBA.BAD_PARAM ex2) { throw new ClusterStorageException ("Could not narrow "+sysKey+" as a known Entity type"); } } Logger.msg(7, "ProxyLoader.getIOR() - Found "+sysKey+"."); - entities.put(sysKey, thisEntity); - return thisEntity; + entities.put(sysKey, thisItem); + return thisItem; } catch (Exception e) { throw new ClusterStorageException("Error narrowing "+sysKey+": "+e.getMessage()); } diff --git a/src/main/java/com/c2kernel/persistency/RemoteMap.java b/src/main/java/com/c2kernel/persistency/RemoteMap.java index b36648f..9f1d8a3 100644 --- a/src/main/java/com/c2kernel/persistency/RemoteMap.java +++ b/src/main/java/com/c2kernel/persistency/RemoteMap.java @@ -9,10 +9,10 @@ import java.util.TreeMap; import com.c2kernel.common.ObjectNotFoundException; import com.c2kernel.entity.C2KLocalObject; -import com.c2kernel.entity.proxy.EntityProxy; -import com.c2kernel.entity.proxy.EntityProxyObserver; +import com.c2kernel.entity.proxy.ItemProxy; import com.c2kernel.entity.proxy.MemberSubscription; -import com.c2kernel.lookup.EntityPath; +import com.c2kernel.entity.proxy.ProxyObserver; +import com.c2kernel.lookup.ItemPath; import com.c2kernel.process.Gateway; import com.c2kernel.utils.Logger; @@ -34,9 +34,9 @@ public class RemoteMap extends TreeMap impl private String mPath = ""; Object keyLock = null; TransactionManager storage; - EntityProxyObserver listener; + ProxyObserver listener; Comparator comp; - EntityProxy source; + ItemProxy source; Object mLocker; // if this remote map will participate in a transaction public RemoteMap(int sysKey, String path, Object locker) { @@ -68,7 +68,7 @@ public class RemoteMap extends TreeMap impl } catch (NumberFormatException e) {} storage = Gateway.getStorage(); - listener = new EntityProxyObserver() { + listener = new ProxyObserver() { @Override public void add(V obj) { synchronized (this) { @@ -88,7 +88,7 @@ public class RemoteMap extends TreeMap impl }; try { - source = Gateway.getProxyManager().getProxy(new EntityPath(sysKey)); + source = Gateway.getProxyManager().getProxy(new ItemPath(sysKey)); source.subscribe(new MemberSubscription(listener, path, false)); } catch (Exception ex) { Logger.error("Error subscribing to remote map. Changes will not be received"); diff --git a/src/main/java/com/c2kernel/persistency/XMLClusterStorage.java b/src/main/java/com/c2kernel/persistency/XMLClusterStorage.java index f63dac6..50c76f0 100644 --- a/src/main/java/com/c2kernel/persistency/XMLClusterStorage.java +++ b/src/main/java/com/c2kernel/persistency/XMLClusterStorage.java @@ -3,8 +3,8 @@ import java.io.File; import java.util.ArrayList; import com.c2kernel.entity.C2KLocalObject; -import com.c2kernel.lookup.EntityPath; -import com.c2kernel.lookup.InvalidEntityPathException; +import com.c2kernel.lookup.ItemPath; +import com.c2kernel.lookup.InvalidItemPathException; import com.c2kernel.persistency.outcome.Outcome; import com.c2kernel.process.Gateway; import com.c2kernel.utils.FileStringUtility; @@ -145,8 +145,8 @@ public class XMLClusterStorage extends ClusterStorage { } } - protected String getFilePath(Integer sysKey, String path) throws InvalidEntityPathException { - EntityPath thisEntity = new EntityPath(sysKey.intValue()); + protected String getFilePath(Integer sysKey, String path) throws InvalidItemPathException { + ItemPath thisEntity = new ItemPath(sysKey.intValue()); if (path.length() == 0 || path.charAt(0) != '/') path = "/"+path; String filePath = rootDir+thisEntity.toString()+path; Logger.msg(8, "XMLClusterStorage.getFilePath() - "+filePath); -- cgit v1.2.3