summaryrefslogtreecommitdiff
path: root/src/main/java/com/c2kernel/persistency/ProxyLoader.java
diff options
context:
space:
mode:
authorogattaz <olivier@gattaz.com>2014-06-05 16:51:07 +0200
committerogattaz <olivier@gattaz.com>2014-06-05 16:51:07 +0200
commit2fd193d7936084de91eae46e8c2763914d87ab71 (patch)
treeb136ed97e535f11d4b3433d16c26570c89430ce4 /src/main/java/com/c2kernel/persistency/ProxyLoader.java
parent1225792532f77e6e8f4a9addfc0c0a6cf56e89b8 (diff)
parente73468fd08cc27aa31f76a27c916e45d5987c628 (diff)
Merge branch 'master' of ssh://dev.cccs.uwe.ac.uk:22/var/git/cristal-kernel
Diffstat (limited to 'src/main/java/com/c2kernel/persistency/ProxyLoader.java')
-rw-r--r--src/main/java/com/c2kernel/persistency/ProxyLoader.java36
1 files changed, 20 insertions, 16 deletions
diff --git a/src/main/java/com/c2kernel/persistency/ProxyLoader.java b/src/main/java/com/c2kernel/persistency/ProxyLoader.java
index a2f7141..57b91af 100644
--- a/src/main/java/com/c2kernel/persistency/ProxyLoader.java
+++ b/src/main/java/com/c2kernel/persistency/ProxyLoader.java
@@ -2,14 +2,16 @@ package com.c2kernel.persistency;
import java.util.HashMap;
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.LDAPLookup;
+import com.c2kernel.lookup.ItemPath;
+import com.c2kernel.lookup.Lookup;
import com.c2kernel.persistency.outcome.Outcome;
import com.c2kernel.process.Gateway;
+import com.c2kernel.process.auth.Authenticator;
import com.c2kernel.utils.Logger;
/** Used by proxies to load clusters by queryData from the Entity.
@@ -17,12 +19,12 @@ import com.c2kernel.utils.Logger;
*/
public class ProxyLoader extends ClusterStorage {
- HashMap<Integer, ManageableEntity> entities = new HashMap<Integer, ManageableEntity>();
- LDAPLookup lookup;
+ HashMap<Integer, Item> entities = new HashMap<Integer, Item>();
+ Lookup lookup;
@Override
- public void open() throws ClusterStorageException {
- lookup = Gateway.getLDAPLookup();
+ public void open(Authenticator auth) throws ClusterStorageException {
+ lookup = Gateway.getLookup();
}
@Override
@@ -48,7 +50,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
@@ -61,6 +63,8 @@ public class ProxyLoader extends ClusterStorage {
else
return (C2KLocalObject)Gateway.getMarshaller().unmarshall(queryData);
}
+ } catch (ObjectNotFoundException e) {
+ return null;
} catch (Exception e) {
Logger.error(e);
throw new ClusterStorageException(e.getMessage());
@@ -87,7 +91,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()];
@@ -101,7 +105,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.");
@@ -110,22 +114,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.resolve(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());
}