diff options
Diffstat (limited to 'src/main/java/com/c2kernel/lookup/ldap/LDAPClusterStorage.java')
| -rw-r--r-- | src/main/java/com/c2kernel/lookup/ldap/LDAPClusterStorage.java | 151 |
1 files changed, 0 insertions, 151 deletions
diff --git a/src/main/java/com/c2kernel/lookup/ldap/LDAPClusterStorage.java b/src/main/java/com/c2kernel/lookup/ldap/LDAPClusterStorage.java deleted file mode 100644 index a264fcc..0000000 --- a/src/main/java/com/c2kernel/lookup/ldap/LDAPClusterStorage.java +++ /dev/null @@ -1,151 +0,0 @@ -package com.c2kernel.lookup.ldap;
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-
-import com.c2kernel.common.ObjectNotFoundException;
-import com.c2kernel.common.PersistencyException;
-import com.c2kernel.entity.C2KLocalObject;
-import com.c2kernel.lookup.ItemPath;
-import com.c2kernel.lookup.Lookup;
-import com.c2kernel.persistency.ClusterStorage;
-import com.c2kernel.process.Gateway;
-import com.c2kernel.process.auth.Authenticator;
-import com.c2kernel.property.Property;
-import com.c2kernel.utils.Logger;
-
-public class LDAPClusterStorage extends ClusterStorage {
- LDAPPropertyManager ldapStore;
-
- @Override
- public void open(Authenticator auth) throws PersistencyException {
- Lookup lookup = Gateway.getLookup();
- if (lookup instanceof LDAPLookup)
- ldapStore = ((LDAPLookup)lookup).getPropManager();
- else
- throw new PersistencyException("Cannot use LDAP cluster storage without LDAP Lookup");
-
- }
-
- @Override
- public void close() throws PersistencyException {
- }
-
- // introspection
- @Override
- public short queryClusterSupport(String clusterType) {
- if (clusterType.equals(PROPERTY))
- return READWRITE;
- else
- return NONE;
- }
-
- @Override
- public String getName() {
- return "LDAP Cluster Storage";
- }
-
- @Override
- public String getId() {
- return "LDAP";
- }
-
- // retrieve object by path
- @Override
- public C2KLocalObject get(ItemPath thisItem, String path) throws PersistencyException {
- Logger.msg(6, "LDAPClusterStorage.get() - "+thisItem+"/"+path);
- StringTokenizer tok = new StringTokenizer(path, "/");
- int pathLength = tok.countTokens();
- if (pathLength != 2)
- throw new PersistencyException("Path length was invalid: "+path);
- String type = tok.nextToken();
-
- String objName = tok.nextToken();
- C2KLocalObject newObj;
-
- if (type.equals(PROPERTY)) {
- try {
- Property newProperty = ldapStore.getProperty(thisItem, objName);
- newObj = newProperty;
- } catch (ObjectNotFoundException ex) {
- throw new PersistencyException("Property "+objName+" not found in "+thisItem);
- }
-
- }
- else
- throw new PersistencyException("Cluster type "+type+" not supported.");
-
- return newObj;
- }
- // store object by path
- @Override
- public void put(ItemPath thisItem, C2KLocalObject obj) throws PersistencyException {
- Logger.msg(6, "LDAPClusterStorage.put() - "+thisItem+"/"+ClusterStorage.getPath(obj));
-
- String type = obj.getClusterType();
-
- if (type.equals(PROPERTY)) {
- try {
- ldapStore.setProperty(thisItem, (Property)obj);
- } catch (Exception e1) {
- Logger.error(e1);
- throw new PersistencyException("LDAPClusterStorage - could not write property");
- }
- }
- else
- throw new PersistencyException("Cluster type "+type+" not supported.");
-
- }
- // delete cluster
- @Override
- public void delete(ItemPath thisItem, String path) throws PersistencyException {
- StringTokenizer tok = new StringTokenizer(path, "/");
- int pathLength = tok.countTokens();
- if (pathLength != 2)
- throw new PersistencyException("Path length was invalid: "+path);
- String type = tok.nextToken();
-
- if (type.equals(PROPERTY)) {
- try {
- ldapStore.deleteProperty(thisItem, tok.nextToken());
- } catch (Exception e1) {
- Logger.error(e1);
- throw new PersistencyException("LDAPClusterStorage - could not delete property");
- }
- }
- else
- throw new PersistencyException("Cluster type "+type+" not supported.");
-
- }
-
- /* navigation */
-
- // directory listing
- @Override
- public String[] getClusterContents(ItemPath thisItem, String path) throws PersistencyException {
- Logger.msg(6, "LDAPClusterStorage.getClusterContents() - "+thisItem+"/"+path);
- StringTokenizer tok = new StringTokenizer(path, "/");
- int pathLength = tok.countTokens();
- if (pathLength > 1)
- return new String[0];
-
- String type = getClusterType(path);
-
- try {
- if (type.equals(PROPERTY))
- return ldapStore.getPropertyNames(thisItem);
- else
- if (type.equals("")) { // root query
- String[] allClusters = new String[0];
- ArrayList<String> clusterList = new ArrayList<String>();
- if (ldapStore.hasProperties(thisItem))
- clusterList.add(PROPERTY);
- allClusters = clusterList.toArray(allClusters);
- return allClusters;
- }
- else
- throw new PersistencyException("Cluster type "+type+" not supported.");
- } catch (ObjectNotFoundException e) {
- throw new PersistencyException("Item "+thisItem+" does not exist");
- }
- }
-}
|
