diff options
Diffstat (limited to 'src/main/java/com/c2kernel/lookup/ldap/LDAPNextKeyManager.java')
| -rw-r--r-- | src/main/java/com/c2kernel/lookup/ldap/LDAPNextKeyManager.java | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/src/main/java/com/c2kernel/lookup/ldap/LDAPNextKeyManager.java b/src/main/java/com/c2kernel/lookup/ldap/LDAPNextKeyManager.java deleted file mode 100644 index 93fcf5c..0000000 --- a/src/main/java/com/c2kernel/lookup/ldap/LDAPNextKeyManager.java +++ /dev/null @@ -1,103 +0,0 @@ -package com.c2kernel.lookup.ldap;
-
-import com.c2kernel.common.ObjectCannotBeUpdated;
-import com.c2kernel.common.ObjectNotFoundException;
-import com.c2kernel.lookup.AgentPath;
-import com.c2kernel.lookup.InvalidItemPathException;
-import com.c2kernel.lookup.ItemPath;
-import com.c2kernel.persistency.ClusterStorageException;
-import com.c2kernel.persistency.NextKeyManager;
-import com.c2kernel.process.Gateway;
-import com.c2kernel.process.auth.Authenticator;
-import com.c2kernel.utils.Logger;
-import com.novell.ldap.LDAPEntry;
-
-/**************************************************************************
- *
- * $Revision: 1.2 $
- * $Date: 2005/04/27 13:47:24 $
- *
- * Copyright (C) 2003 CERN - European Organization for Nuclear Research
- * All rights reserved.
- **************************************************************************/
-
-// public static final String codeRevision = "$Revision: 1.2 $ $Date: 2005/04/27 13:47:24 $ $Author: abranson $";
-public class LDAPNextKeyManager implements NextKeyManager {
-
- protected LDAPAuthManager ldap;
- protected String lastKeyPath;
-
- public LDAPNextKeyManager() {
- }
-
- @Override
- public void open(Authenticator auth) {
- this.ldap = (LDAPAuthManager)auth;
- LDAPProperties props = new LDAPProperties(Gateway.getProperties());
- this.lastKeyPath = "cn=last,cn=entity,"+props.mLocalPath;
- }
-
- @Override
- public synchronized ItemPath generateNextEntityKey()
- throws ObjectCannotBeUpdated, ObjectNotFoundException
- {
- ItemPath lastKey = getLastEntityPath();
-
- try {
- lastKey.setSysKey(lastKey.getSysKey()+1);
- } catch (InvalidItemPathException ex) {
- throw new ObjectCannotBeUpdated("Invalid syskey "+(lastKey.getSysKey()+1)+". Maybe centre is full.");
- }
- //test that storage is empty for that key
- try {
- if (Gateway.getStorage().getClusterContents(lastKey.getSysKey(), "").length > 0)
- throw new ObjectCannotBeUpdated("NextKeyManager: Storage already contains data for syskey "+lastKey.getSysKey()+
- ". Storage is out of sync with nextkey. Please contact an administrator", "");
- } catch (ClusterStorageException e) {
- Logger.error(e);
- throw new ObjectCannotBeUpdated("Could not check storage for prior data for the next generated systemKey: "+e.getMessage());
- }
-
- //set the last key
- writeLastEntityKey(lastKey.getSysKey());
-
- return lastKey;
- }
-
- @Override
- public synchronized AgentPath generateNextAgentKey()
- throws ObjectCannotBeUpdated, ObjectNotFoundException {
- ItemPath newEntity = generateNextEntityKey();
- return new AgentPath(newEntity);
- }
-
- @Override
- public void writeLastEntityKey(int sysKey) throws ObjectCannotBeUpdated, ObjectNotFoundException {
- LDAPEntry lastKeyEntry = LDAPLookupUtils.getEntry(ldap.getAuthObject(),lastKeyPath);
- LDAPLookupUtils.setAttributeValue(ldap.getAuthObject(), lastKeyEntry,"intsyskey",Integer.toString(sysKey));
- }
-
- @Override
- public ItemPath getLastEntityPath() throws ObjectNotFoundException
- {
- LDAPEntry lastKeyEntry = LDAPLookupUtils.getEntry(ldap.getAuthObject(),lastKeyPath);
- String lastKey = LDAPLookupUtils.getFirstAttributeValue(lastKeyEntry,"intsyskey");
- try {
- int sysKey = Integer.parseInt(lastKey);
- ItemPath sysPath = new ItemPath(sysKey);
- return sysPath;
- } catch (InvalidItemPathException ex) {
- throw new ObjectNotFoundException("Invalid syskey. Maybe centre is full.");
- } catch (NumberFormatException ex) {
- throw new ObjectNotFoundException("Invalid syskey in lastkey.");
- }
-
- }
-
- @Override
- public void close() {
- ldap = null;
- lastKeyPath = null;
- }
-
-}
|
