summaryrefslogtreecommitdiff
path: root/src/main/java/com/c2kernel/collection/DependencyMember.java
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2014-09-09 12:13:21 +0200
committerAndrew Branson <andrew.branson@cern.ch>2014-09-09 12:13:21 +0200
commitda731d2bb81666b9c697d9099da632e7dfcdc0f7 (patch)
tree567693c3c48f3d15ecbb2dac4f9db03bb6e58c72 /src/main/java/com/c2kernel/collection/DependencyMember.java
parentae1e79e33fd30e3d8bcedbef8891a14a048276d7 (diff)
Replaced int sysKey Item identifier with UUID, which is now portable.
ItemPath objects are now used to identify Items throughout the kernel, replacing ints and Integers.
Diffstat (limited to 'src/main/java/com/c2kernel/collection/DependencyMember.java')
-rw-r--r--src/main/java/com/c2kernel/collection/DependencyMember.java52
1 files changed, 28 insertions, 24 deletions
diff --git a/src/main/java/com/c2kernel/collection/DependencyMember.java b/src/main/java/com/c2kernel/collection/DependencyMember.java
index 169f9ea..b5a8b13 100644
--- a/src/main/java/com/c2kernel/collection/DependencyMember.java
+++ b/src/main/java/com/c2kernel/collection/DependencyMember.java
@@ -1,11 +1,11 @@
package com.c2kernel.collection;
import java.util.StringTokenizer;
+import java.util.UUID;
import com.c2kernel.common.ObjectNotFoundException;
import com.c2kernel.entity.proxy.ItemProxy;
import com.c2kernel.lookup.ItemPath;
-import com.c2kernel.lookup.InvalidItemPathException;
import com.c2kernel.persistency.ClusterStorage;
import com.c2kernel.process.Gateway;
import com.c2kernel.property.Property;
@@ -23,9 +23,9 @@ import com.c2kernel.utils.Logger;
public class DependencyMember implements CollectionMember
{
- private int mSystemKey = -1;
- private ItemProxy mItem = null;
- private int mId = -1;
+ private ItemPath mItemPath = null;
+ private ItemProxy mItem = null;
+ private int mId = -1;
private CastorHashMap mProperties = null;
private String mClassProps;
@@ -35,22 +35,21 @@ public class DependencyMember implements CollectionMember
**************************************************************************/
public DependencyMember()
{
- mSystemKey = -1;
mProperties = new CastorHashMap();
}
@Override
- public void setSystemKey(int sysKey)
+ public void setItemPath(ItemPath itemPath)
{
- mSystemKey = sysKey;
+ mItemPath = itemPath;
mItem = null;
}
@Override
- public int getSystemKey()
+ public ItemPath getItemPath()
{
- return mSystemKey;
+ return mItemPath;
}
@Override
@@ -97,9 +96,9 @@ public class DependencyMember implements CollectionMember
}
@Override
- public void assignItem(int ItemKey) throws MembershipException
+ public void assignItem(ItemPath itemPath) throws MembershipException
{
- if (ItemKey > -1) {
+ if (itemPath != null) {
if (mClassProps == null || getProperties() == null)
throw new MembershipException("ClassProps not yet set. Cannot check membership validity.");
@@ -110,9 +109,9 @@ public class DependencyMember implements CollectionMember
String aClassProp = sub.nextToken();
try {
String memberValue = (String)getProperties().get(aClassProp);
- Property ItemProperty = (Property)Gateway.getStorage().get(ItemKey, ClusterStorage.PROPERTY+"/"+aClassProp, null);
+ Property ItemProperty = (Property)Gateway.getStorage().get(itemPath, ClusterStorage.PROPERTY+"/"+aClassProp, null);
if (ItemProperty == null)
- throw new MembershipException("Property "+aClassProp+ " does not exist for ItemKey=" + ItemKey );
+ throw new MembershipException("Property "+aClassProp+ " does not exist for item " + itemPath );
if (!ItemProperty.getValue().equalsIgnoreCase(memberValue))
throw new MembershipException("DependencyMember::checkProperty() Values of mandatory prop "+aClassProp+" do not match " + ItemProperty.getValue()+"!="+memberValue);
}
@@ -124,29 +123,34 @@ public class DependencyMember implements CollectionMember
}
}
- mSystemKey = ItemKey;
+ mItemPath = itemPath;
mItem = null;
}
@Override
public void clearItem() {
- mSystemKey = -1;
+ mItemPath = null;
mItem = null;
}
@Override
public ItemProxy resolveItem() throws ObjectNotFoundException {
- if (mItem == null) {
- try {
- ItemPath path = new ItemPath(mSystemKey);
- mItem = Gateway.getProxyManager().getProxy(path);
- } catch (InvalidItemPathException ex) {
- throw new ObjectNotFoundException("No member defined", "");
- }
- }
+ if (mItem == null && mItemPath != null)
+ mItem = Gateway.getProxyManager().getProxy(mItemPath);
return mItem;
-
}
+ @Override
+ public void setChildUUID(String uuid) throws MembershipException {
+ mItemPath = new ItemPath(UUID.fromString(uuid));
+ }
+
+
+ @Override
+ public String getChildUUID() {
+ return mItemPath.getUUID().toString();
+ }
+
+
}