summaryrefslogtreecommitdiff
path: root/src/main/java/com/c2kernel/persistency
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2014-06-05 15:02:07 +0200
committerAndrew Branson <andrew.branson@cern.ch>2014-06-05 15:02:07 +0200
commitd4fa3bd9dd48f4d5e26850a23f5ba48a9c10ad64 (patch)
tree5ad7bfbce8ba9df9aad53ef33a8b908ca0680fc4 /src/main/java/com/c2kernel/persistency
parent8bb86312d4f07dcb343ca2d212f4020906dbdb52 (diff)
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)
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 {