From 3a66087e65f71effdeb4feef83db4fc6910f550c Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Tue, 9 Sep 2014 14:06:46 +0200 Subject: Support new ItemPath based Item id. NextKeyManager removed. --- .../c2kernel/lookup/ldap/LDAPNextKeyManager.java | 103 --------------------- 1 file changed, 103 deletions(-) delete mode 100644 src/main/java/com/c2kernel/lookup/ldap/LDAPNextKeyManager.java (limited to 'src/main/java/com/c2kernel/lookup/ldap/LDAPNextKeyManager.java') 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; - } - -} -- cgit v1.2.3