try {
// Get index of first :
int index = name.indexOf(DELIMITER);
// If not found then the name is not well-formed
if (index == -1)
throw new IDStoreException("Associate ID not well-formed"); //$NON-NLS-1$
// Get the index string
String indexStr = name.substring(0, index);
Integer resultIndex = null;
// Create resultIndex from indexStr
try {
resultIndex = Integer.valueOf(indexStr);
} catch (NumberFormatException e) {
throw new IDStoreException("Associate ID not well-formed", e); //$NON-NLS-1$
}
// get remainder string
name = name.substring(index + 1);
// Get index of second :
index = name.indexOf(DELIMITER);
if (index == -1)
throw new IDStoreException("Associate ID not well-formed"); //$NON-NLS-1$
// Get namespace name before index
String namespaceName = name.substring(0, index);
ISecurePreferences namespacePrefs = getPreferences(
getNamespaceRoot(), namespaceName);
if (namespacePrefs == null)
throw new IDStoreException(
"Cannot find Namespace=" + namespaceName); //$NON-NLS-1$
// Get ID name after index
String idName = name.substring(index + 1);
ISecurePreferences idPrefs = getPreferences(namespacePrefs, idName);
if (idPrefs == null)
throw new IDStoreException(
"ID=" + idName + " not found in Namespace=" + namespaceName); //$NON-NLS-1$ //$NON-NLS-2$
// Put new IDEntry in sorted collection ordered by resultIndex
results.put(resultIndex, new IDEntry(idPrefs));
} catch (IDStoreException e) {
Activator.getDefault().log(