summaryrefslogtreecommitdiff
path: root/src/main/java/com/c2kernel/persistency
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2014-06-02 11:31:08 +0200
committerAndrew Branson <andrew.branson@cern.ch>2014-06-02 11:31:08 +0200
commitb96dd998d6c442be19c342399839896d00d4b6f5 (patch)
tree51a0a07647e1d439d0adefdb57e6818a15d179ec /src/main/java/com/c2kernel/persistency
parent42adf60503b73c5106b30ba57fdeba13b3091169 (diff)
Initial commit
Diffstat (limited to 'src/main/java/com/c2kernel/persistency')
-rw-r--r--src/main/java/com/c2kernel/persistency/LDAPClusterStorage.java12
-rw-r--r--src/main/java/com/c2kernel/persistency/NextKeyManager.java19
-rw-r--r--src/main/java/com/c2kernel/persistency/ProxyLoader.java8
3 files changed, 32 insertions, 7 deletions
diff --git a/src/main/java/com/c2kernel/persistency/LDAPClusterStorage.java b/src/main/java/com/c2kernel/persistency/LDAPClusterStorage.java
index 2c10bbf..cc65805 100644
--- a/src/main/java/com/c2kernel/persistency/LDAPClusterStorage.java
+++ b/src/main/java/com/c2kernel/persistency/LDAPClusterStorage.java
@@ -4,9 +4,11 @@ import java.util.StringTokenizer;
import com.c2kernel.common.ObjectNotFoundException;
import com.c2kernel.entity.C2KLocalObject;
-import com.c2kernel.lookup.ItemPath;
import com.c2kernel.lookup.InvalidItemPathException;
-import com.c2kernel.lookup.LDAPPropertyManager;
+import com.c2kernel.lookup.ItemPath;
+import com.c2kernel.lookup.Lookup;
+import com.c2kernel.lookup.ldap.LDAPLookup;
+import com.c2kernel.lookup.ldap.LDAPPropertyManager;
import com.c2kernel.process.Gateway;
import com.c2kernel.property.Property;
import com.c2kernel.utils.Logger;
@@ -16,7 +18,11 @@ public class LDAPClusterStorage extends ClusterStorage {
@Override
public void open() throws ClusterStorageException {
- ldapStore = Gateway.getLDAPLookup().getPropManager();
+ Lookup lookup = Gateway.getLookup();
+ if (lookup instanceof LDAPLookup)
+ ldapStore = ((LDAPLookup)lookup).getPropManager();
+ else
+ throw new ClusterStorageException("Cannot use LDAP cluster storage without LDAP Lookup");
}
diff --git a/src/main/java/com/c2kernel/persistency/NextKeyManager.java b/src/main/java/com/c2kernel/persistency/NextKeyManager.java
new file mode 100644
index 0000000..e0d0013
--- /dev/null
+++ b/src/main/java/com/c2kernel/persistency/NextKeyManager.java
@@ -0,0 +1,19 @@
+package com.c2kernel.persistency;
+
+import com.c2kernel.common.ObjectCannotBeUpdated;
+import com.c2kernel.common.ObjectNotFoundException;
+import com.c2kernel.lookup.AgentPath;
+import com.c2kernel.lookup.ItemPath;
+
+public interface NextKeyManager {
+
+ public ItemPath generateNextEntityKey()
+ throws ObjectCannotBeUpdated, ObjectNotFoundException;
+
+ public AgentPath generateNextAgentKey()
+ throws ObjectCannotBeUpdated, ObjectNotFoundException;
+
+ public void writeLastEntityKey(int sysKey) throws ObjectCannotBeUpdated, ObjectNotFoundException;
+
+ public ItemPath getLastEntityPath() throws ObjectNotFoundException;
+}
diff --git a/src/main/java/com/c2kernel/persistency/ProxyLoader.java b/src/main/java/com/c2kernel/persistency/ProxyLoader.java
index 9c14df5..fe48966 100644
--- a/src/main/java/com/c2kernel/persistency/ProxyLoader.java
+++ b/src/main/java/com/c2kernel/persistency/ProxyLoader.java
@@ -8,7 +8,7 @@ import com.c2kernel.entity.C2KLocalObject;
import com.c2kernel.entity.Item;
import com.c2kernel.entity.ItemHelper;
import com.c2kernel.lookup.ItemPath;
-import com.c2kernel.lookup.LDAPLookup;
+import com.c2kernel.lookup.Lookup;
import com.c2kernel.persistency.outcome.Outcome;
import com.c2kernel.process.Gateway;
import com.c2kernel.utils.Logger;
@@ -19,11 +19,11 @@ import com.c2kernel.utils.Logger;
public class ProxyLoader extends ClusterStorage {
HashMap<Integer, Item> entities = new HashMap<Integer, Item>();
- LDAPLookup lookup;
+ Lookup lookup;
@Override
public void open() throws ClusterStorageException {
- lookup = Gateway.getLDAPLookup();
+ lookup = Gateway.getLookup();
}
@Override
@@ -113,7 +113,7 @@ public class ProxyLoader extends ClusterStorage {
try {
Logger.msg(7, "ProxyLoader.getIOR() - Resolving "+sysKey+".");
- org.omg.CORBA.Object ior = lookup.getIOR(new ItemPath(sysKey.intValue()));
+ org.omg.CORBA.Object ior = lookup.resolve(new ItemPath(sysKey.intValue()));
Item thisItem = null;
try {