diff options
Diffstat (limited to 'src/main/java/com/c2kernel/collection')
11 files changed, 144 insertions, 127 deletions
diff --git a/src/main/java/com/c2kernel/collection/Aggregation.java b/src/main/java/com/c2kernel/collection/Aggregation.java index f2ef710..2f01936 100644 --- a/src/main/java/com/c2kernel/collection/Aggregation.java +++ b/src/main/java/com/c2kernel/collection/Aggregation.java @@ -7,7 +7,6 @@ import com.c2kernel.graph.model.GraphModel; import com.c2kernel.graph.model.GraphPoint;
import com.c2kernel.graph.model.TypeNameAndConstructionInfo;
import com.c2kernel.lookup.ItemPath;
-import com.c2kernel.lookup.InvalidItemPathException;
import com.c2kernel.persistency.ClusterStorage;
import com.c2kernel.process.Gateway;
import com.c2kernel.utils.CastorHashMap;
@@ -50,12 +49,12 @@ abstract public class Aggregation extends Parent2ChildCollection<AggregationMemb return mVertexTypeNameAndConstructionInfo;
}
- public boolean exists(int sysKey)
+ public boolean exists(ItemPath itemPath)
{
for (int i=0; i<size(); i++)
{
AggregationMember element = mMembers.list.get(i);
- if (element.getSystemKey() == sysKey)
+ if (element.getItemPath().equals(itemPath))
return true;
}
return false;
@@ -73,46 +72,47 @@ abstract public class Aggregation extends Parent2ChildCollection<AggregationMemb }
public AggregationMember addSlot(CastorHashMap props, String classProps, GraphPoint location, int w, int h)
- {
-
- // Default geometry if not present
- if (location == null) location = new GraphPoint(100,100*getCounter());
- if (w<0) w = 20;
- if (h<0) h = 20;
-
- // Create new member object
- AggregationMember aggMem = new AggregationMember();
- aggMem.setProperties(props);
- aggMem.setClassProps(classProps);
- // create vertex
- com.c2kernel.graph.model.Vertex vertex = new com.c2kernel.graph.model.Vertex();
- vertex.setHeight(h); vertex.setWidth(w);
- mLayout.addVertexAndCreateId(vertex,location);
- aggMem.setCollection(this);
- aggMem.setID(vertex.getID());
- aggMem.setIsLayoutable(true);
-
- mMembers.list.add(aggMem);
- Logger.msg(8, "AggregationDescription::addSlot new slot linked to vertexid " + vertex.getID());
- return aggMem;
- }
- public AggregationMember addMember(int sysKey, CastorHashMap props, String classProps, GraphPoint location, int w, int h)
+ {
+
+ // Default geometry if not present
+ if (location == null) location = new GraphPoint(100,100*getCounter());
+ if (w<0) w = 20;
+ if (h<0) h = 20;
+
+ // Create new member object
+ AggregationMember aggMem = new AggregationMember();
+ aggMem.setProperties(props);
+ aggMem.setClassProps(classProps);
+ // create vertex
+ com.c2kernel.graph.model.Vertex vertex = new com.c2kernel.graph.model.Vertex();
+ vertex.setHeight(h); vertex.setWidth(w);
+ mLayout.addVertexAndCreateId(vertex,location);
+ aggMem.setCollection(this);
+ aggMem.setID(vertex.getID());
+ aggMem.setIsLayoutable(true);
+
+ mMembers.list.add(aggMem);
+ Logger.msg(8, "AggregationDescription::addSlot new slot linked to vertexid " + vertex.getID());
+ return aggMem;
+ }
+
+ public AggregationMember addMember(ItemPath itemPath, CastorHashMap props, String classProps, GraphPoint location, int w, int h)
throws MembershipException
{
AggregationMember aggMem = addSlot(props, classProps, location, w, h);
- if (sysKey > -1) { // some clients use this method when not setting a member
- aggMem.assignItem(sysKey);
- aggMem.setIsComposite( getIsComposite(sysKey, getName()) );
+ if (itemPath != null) { // some clients use this method when not setting a member
+ aggMem.assignItem(itemPath);
+ aggMem.setIsComposite( getIsComposite(itemPath, getName()) );
}
- Logger.msg(8, "AggregationDescription::addMember(" + sysKey + ") assigned to new slot " + aggMem.getID());
+ Logger.msg(8, "AggregationDescription::addMember(" + itemPath + ") assigned to new slot " + aggMem.getID());
return aggMem;
}
@Override
- public AggregationMember addMember(int entityKey, CastorHashMap props, String classProps) throws MembershipException
+ public AggregationMember addMember(ItemPath itemPath, CastorHashMap props, String classProps) throws MembershipException
{
- return addMember(entityKey, props, classProps, null, -1, -1);
+ return addMember(itemPath, props, classProps, null, -1, -1);
}
public AggregationMember addSlot(CastorHashMap props, String classProps)
@@ -121,7 +121,7 @@ abstract public class Aggregation extends Parent2ChildCollection<AggregationMemb }
@Override
- public AggregationMember addMember(int entityKey) throws MembershipException {
+ public AggregationMember addMember(ItemPath itemPath) throws MembershipException {
throw new MembershipException("Aggregations cannot accept arbitrary members without type info");
}
@@ -138,16 +138,14 @@ abstract public class Aggregation extends Parent2ChildCollection<AggregationMemb throw new MembershipException("Member "+memberId+" not found");
}
- static public boolean getIsComposite(int entityKey, String name)
+ static public boolean getIsComposite(ItemPath itemPath, String name)
{
- if (entityKey == -1) return false;
+ if (itemPath == null) return false;
try {
- for(String collName: Gateway.getProxyManager().getProxy(new ItemPath(entityKey)).getContents(ClusterStorage.COLLECTION) )
+ for(String collName: Gateway.getProxyManager().getProxy(itemPath).getContents(ClusterStorage.COLLECTION) )
if (name == null || name.equals(collName)) return true;
} catch (ObjectNotFoundException e) {
return false;
- } catch (InvalidItemPathException e) {
- return false;
}
return false;
}
diff --git a/src/main/java/com/c2kernel/collection/AggregationDescription.java b/src/main/java/com/c2kernel/collection/AggregationDescription.java index 0587491..475ef53 100644 --- a/src/main/java/com/c2kernel/collection/AggregationDescription.java +++ b/src/main/java/com/c2kernel/collection/AggregationDescription.java @@ -35,20 +35,20 @@ public class AggregationDescription extends Aggregation implements CollectionDes {
AggregationMember mem = mMembers.list.get(i);
//get the propdesc of the member item
- PropertyDescriptionList pdList = PropertyUtility.getPropertyDescriptionOutcome(mem.getSystemKey());
+ PropertyDescriptionList pdList = PropertyUtility.getPropertyDescriptionOutcome(mem.getItemPath());
if (pdList!=null)
{
//create the new props of the member object
try {
Vertex v = getLayout().getVertexById(mem.getID());
- newInstance.addMember(-1, PropertyUtility.createProperty(pdList), pdList.getClassProps(),v.getCentrePoint(),v.getWidth(),v.getHeight());
+ newInstance.addMember(null, PropertyUtility.createProperty(pdList), pdList.getClassProps(),v.getCentrePoint(),v.getWidth(),v.getHeight());
} catch (MembershipException e) {
// won't happen as we're not assigning an entity
}
}
else
{
- Logger.error("AggregationDescription::newInstance() There is no PropertyDescription. Cannot instantiate. " + mem.getSystemKey());
+ Logger.error("AggregationDescription::newInstance() There is no PropertyDescription. Cannot instantiate. " + mem.getItemPath());
return null;
}
diff --git a/src/main/java/com/c2kernel/collection/AggregationInstance.java b/src/main/java/com/c2kernel/collection/AggregationInstance.java index 47e7c41..f46b691 100644 --- a/src/main/java/com/c2kernel/collection/AggregationInstance.java +++ b/src/main/java/com/c2kernel/collection/AggregationInstance.java @@ -6,6 +6,7 @@ package com.c2kernel.collection; */
import com.c2kernel.graph.model.GraphPoint;
+import com.c2kernel.lookup.ItemPath;
import com.c2kernel.utils.CastorHashMap;
public class AggregationInstance extends Aggregation
@@ -23,23 +24,23 @@ public class AggregationInstance extends Aggregation @Override
- public AggregationMember addMember(int entityKey, CastorHashMap props, String classProps)
+ public AggregationMember addMember(ItemPath itemPath, CastorHashMap props, String classProps)
throws MembershipException
{
- if( entityKey!=-1 && exists(entityKey))
- throw new MembershipException(entityKey+" already exists in this collection.");
+ if( itemPath != null && exists(itemPath))
+ throw new MembershipException(itemPath+" already exists in this collection.");
else
- return super.addMember(entityKey, props, classProps);
+ return super.addMember(itemPath, props, classProps);
}
@Override
- public AggregationMember addMember(int entityKey, CastorHashMap props, String classProps, GraphPoint location, int w, int h)
+ public AggregationMember addMember(ItemPath itemPath, CastorHashMap props, String classProps, GraphPoint location, int w, int h)
throws MembershipException
{
- if( entityKey!=-1 && exists(entityKey))
- throw new MembershipException(entityKey+" already exists in this collection.");
+ if( itemPath != null && exists(itemPath))
+ throw new MembershipException(itemPath+" already exists in this collection.");
else
- return super.addMember(entityKey, props, classProps, location, w, h);
+ return super.addMember(itemPath, props, classProps, location, w, h);
}
}
diff --git a/src/main/java/com/c2kernel/collection/AggregationMember.java b/src/main/java/com/c2kernel/collection/AggregationMember.java index 67e92ad..cb8c355 100644 --- a/src/main/java/com/c2kernel/collection/AggregationMember.java +++ b/src/main/java/com/c2kernel/collection/AggregationMember.java @@ -1,12 +1,12 @@ 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.graph.model.GraphableVertex;
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;
@@ -24,11 +24,11 @@ import com.c2kernel.utils.Logger; public class AggregationMember extends GraphableVertex implements CollectionMember
{
- private int mSystemKey = -1;
- private ItemProxy mItem = null;
- private Aggregation mCollection = null;
+ private ItemPath mItemPath = null;
+ private ItemProxy mItem = null;
+ private Aggregation mCollection = null;
private String mClassProps = null;
- String ItemName;
+ private String mItemName = null;
/**************************************************************************
@@ -37,14 +37,12 @@ public class AggregationMember extends GraphableVertex implements CollectionMemb public AggregationMember()
{
super();
- mSystemKey = -1;
- mCollection = null;
}
@Override
- public void setSystemKey(int sysKey) {
- mSystemKey = sysKey;
- ItemName = null;
+ public void setItemPath(ItemPath itemPath) {
+ mItemPath = itemPath;
+ mItemName = null;
}
public void setCollection(Aggregation aggregation)
@@ -59,9 +57,9 @@ public class AggregationMember extends GraphableVertex implements CollectionMemb }
@Override
- public int getSystemKey()
+ public ItemPath getItemPath()
{
- return mSystemKey;
+ return mItemPath;
}
public Aggregation getCollection()
@@ -76,9 +74,9 @@ public class AggregationMember extends GraphableVertex implements CollectionMemb }
@Override
- public void assignItem(int sysKey) throws MembershipException
+ public void assignItem(ItemPath itemPath) throws MembershipException
{
- if (sysKey > -1) {
+ if (itemPath != null) {
if (mClassProps == null || getProperties() == null)
throw new MembershipException("ClassProps not yet set. Cannot check membership validity.");
@@ -89,9 +87,9 @@ public class AggregationMember extends GraphableVertex implements CollectionMemb String aClassProp = sub.nextToken();
try {
String memberValue = (String)getProperties().get(aClassProp);
- Property ItemProperty = (Property)Gateway.getStorage().get(sysKey, 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 sysKey=" + sysKey );
+ throw new MembershipException("Property "+aClassProp+ " does not exist for item " + itemPath );
if (ItemProperty.getValue() == null || !ItemProperty.getValue().equalsIgnoreCase(memberValue))
throw new MembershipException("Value of mandatory prop "+aClassProp+" does not match: " + ItemProperty.getValue()+"!="+memberValue);
}
@@ -106,46 +104,54 @@ public class AggregationMember extends GraphableVertex implements CollectionMemb }
}
- mSystemKey = sysKey;
+ mItemPath = itemPath;
mItem = null;
- ItemName = null;
+ mItemName = null;
}
@Override
public void clearItem() {
- mSystemKey = -1;
+ mItemPath = null;
mItem = null;
+ mItemName = 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;
}
public String getItemName() {
- if (ItemName == null) {
- if (mSystemKey > -1) {
+ if (mItemName == null) {
+ if (mItemPath != null) {
try {
- ItemName = resolveItem().getName();
+ mItemName = resolveItem().getName();
} catch (ObjectNotFoundException ex) {
Logger.error(ex);
- ItemName = "Error ("+mSystemKey+")";
+ mItemName = "Error ("+mItemPath+")";
}
}
else
- ItemName = "Empty";
+ mItemName = "Empty";
}
- return ItemName;
+ return mItemName;
}
+ @Override
+ public void setChildUUID(String uuid) throws MembershipException {
+ setItemPath(new ItemPath(UUID.fromString(uuid)));
+ }
+
+
+ @Override
+ public String getChildUUID() {
+ if (getItemPath() == null) return null;
+ return getItemPath().getUUID().toString();
+ }
+
}
diff --git a/src/main/java/com/c2kernel/collection/Collection.java b/src/main/java/com/c2kernel/collection/Collection.java index b507593..0c28a3b 100644 --- a/src/main/java/com/c2kernel/collection/Collection.java +++ b/src/main/java/com/c2kernel/collection/Collection.java @@ -1,6 +1,7 @@ package com.c2kernel.collection;
import com.c2kernel.common.ObjectNotFoundException;
import com.c2kernel.entity.C2KLocalObject;
+import com.c2kernel.lookup.ItemPath;
import com.c2kernel.utils.CastorHashMap;
/**
@@ -21,9 +22,9 @@ public interface Collection<E extends CollectionMember> extends C2KLocalObject public CollectionMemberList<E> getMembers();
- public E addMember(int entityKey, CastorHashMap props, String classProps) throws MembershipException;
+ public E addMember(ItemPath itemPath, CastorHashMap props, String classProps) throws MembershipException;
- public E addMember(int entityKey) throws MembershipException;
+ public E addMember(ItemPath itemPath) throws MembershipException;
public void removeMember(int memberId) throws MembershipException;
diff --git a/src/main/java/com/c2kernel/collection/CollectionMember.java b/src/main/java/com/c2kernel/collection/CollectionMember.java index ff5d1cd..4fc7e3d 100644 --- a/src/main/java/com/c2kernel/collection/CollectionMember.java +++ b/src/main/java/com/c2kernel/collection/CollectionMember.java @@ -4,6 +4,7 @@ import java.io.Serializable; import com.c2kernel.common.ObjectNotFoundException;
import com.c2kernel.entity.proxy.ItemProxy;
+import com.c2kernel.lookup.ItemPath;
import com.c2kernel.utils.CastorHashMap;
/**************************************************************************
@@ -20,10 +21,13 @@ import com.c2kernel.utils.CastorHashMap; public interface CollectionMember extends Serializable {
- public void setSystemKey(int sysKey) throws MembershipException;
- public int getSystemKey();
+ public void setItemPath(ItemPath itemPath) throws MembershipException;
+ public ItemPath getItemPath();
+
+ public void setChildUUID(String uuid) throws MembershipException;
+ public String getChildUUID();
- public void assignItem(int ItemKey) throws MembershipException;
+ public void assignItem(ItemPath itemPath) throws MembershipException;
public void clearItem();
public ItemProxy resolveItem() throws ObjectNotFoundException;
diff --git a/src/main/java/com/c2kernel/collection/Dependency.java b/src/main/java/com/c2kernel/collection/Dependency.java index 4fb4f70..11ef16e 100644 --- a/src/main/java/com/c2kernel/collection/Dependency.java +++ b/src/main/java/com/c2kernel/collection/Dependency.java @@ -1,6 +1,7 @@ package com.c2kernel.collection;
+import com.c2kernel.lookup.ItemPath;
import com.c2kernel.utils.CastorHashMap;
import com.c2kernel.utils.KeyValuePair;
import com.c2kernel.utils.Logger;
@@ -57,7 +58,7 @@ public class Dependency extends Parent2ChildCollection<DependencyMember> }
@Override
- public DependencyMember addMember(int sysKey) throws MembershipException {
+ public DependencyMember addMember(ItemPath itemPath) throws MembershipException {
// create member object
DependencyMember depMember = new DependencyMember();
depMember.setID(getCounter());
@@ -65,14 +66,14 @@ public class Dependency extends Parent2ChildCollection<DependencyMember> depMember.setClassProps(mClassProps);
// assign entity
- depMember.assignItem(sysKey);
+ depMember.assignItem(itemPath);
mMembers.list.add(depMember);
- Logger.msg(8, "Dependency::addMember(" + sysKey + ") added to children.");
+ Logger.msg(8, "Dependency::addMember(" + itemPath + ") added to children.");
return depMember;
}
@Override
- public DependencyMember addMember(int sysKey, CastorHashMap props, String classProps)
+ public DependencyMember addMember(ItemPath itemPath, CastorHashMap props, String classProps)
throws MembershipException
{
if (classProps != null && !classProps.equals(mClassProps))
@@ -97,9 +98,9 @@ public class Dependency extends Parent2ChildCollection<DependencyMember> depMember.setClassProps(mClassProps);
// assign entity
- depMember.assignItem(sysKey);
+ depMember.assignItem(itemPath);
mMembers.list.add(depMember);
- Logger.msg(8, "Dependency::addMember(" + sysKey + ") added to children.");
+ Logger.msg(8, "Dependency::addMember(" + itemPath + ") added to children.");
return depMember;
}
diff --git a/src/main/java/com/c2kernel/collection/DependencyDescription.java b/src/main/java/com/c2kernel/collection/DependencyDescription.java index 79b4880..3c3b287 100644 --- a/src/main/java/com/c2kernel/collection/DependencyDescription.java +++ b/src/main/java/com/c2kernel/collection/DependencyDescription.java @@ -1,6 +1,7 @@ package com.c2kernel.collection;
import com.c2kernel.common.ObjectNotFoundException;
+import com.c2kernel.lookup.ItemPath;
import com.c2kernel.property.PropertyDescriptionList;
import com.c2kernel.property.PropertyUtility;
import com.c2kernel.utils.CastorHashMap;
@@ -23,7 +24,7 @@ public class DependencyDescription extends Dependency implements CollectionDescr Dependency newDep = new Dependency(depName);
if (mMembers.list.size() == 1) { // constrain the members based on the property description
DependencyMember mem = mMembers.list.get(0);
- PropertyDescriptionList pdList = PropertyUtility.getPropertyDescriptionOutcome(mem.getSystemKey());
+ PropertyDescriptionList pdList = PropertyUtility.getPropertyDescriptionOutcome(mem.getItemPath());
if (pdList!=null) {
newDep.setProperties(PropertyUtility.createProperty(pdList));
newDep.setClassProps(pdList.getClassProps());
@@ -34,16 +35,16 @@ public class DependencyDescription extends Dependency implements CollectionDescr @Override
- public DependencyMember addMember(int entityKey) throws MembershipException {
+ public DependencyMember addMember(ItemPath itemPath) throws MembershipException {
checkMembership();
- return super.addMember(entityKey);
+ return super.addMember(itemPath);
}
@Override
- public DependencyMember addMember(int entityKey, CastorHashMap props, String classProps)
+ public DependencyMember addMember(ItemPath itemPath, CastorHashMap props, String classProps)
throws MembershipException {
checkMembership();
- return super.addMember(entityKey, props, classProps);
+ return super.addMember(itemPath, props, classProps);
}
public void checkMembership() throws MembershipException {
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();
+ }
+
+
}
diff --git a/src/main/java/com/c2kernel/collection/Parent2ChildCollection.java b/src/main/java/com/c2kernel/collection/Parent2ChildCollection.java index 814cca8..26aa451 100644 --- a/src/main/java/com/c2kernel/collection/Parent2ChildCollection.java +++ b/src/main/java/com/c2kernel/collection/Parent2ChildCollection.java @@ -3,6 +3,7 @@ package com.c2kernel.collection; import java.util.Iterator;
import com.c2kernel.common.ObjectNotFoundException;
+import com.c2kernel.lookup.ItemPath;
import com.c2kernel.persistency.ClusterStorage;
import com.c2kernel.utils.CastorHashMap;
@@ -88,10 +89,10 @@ abstract public class Parent2ChildCollection<E extends CollectionMember> impleme mMembers = newMembers;
}
- public boolean contains(int sysKey) {
+ public boolean contains(ItemPath itemPath) {
for (Object name : mMembers.list) {
CollectionMember element = (CollectionMember)name;
- if (element.getSystemKey() == sysKey)
+ if (element.getItemPath().equals(itemPath))
return true;
}
return false;
@@ -102,7 +103,7 @@ abstract public class Parent2ChildCollection<E extends CollectionMember> impleme for (int i=0; i<size(); i++)
{
CollectionMember element = mMembers.list.get(i);
- if (element.getSystemKey() == -1)
+ if (element.getItemPath() == null)
return false;
}
return true;
@@ -124,7 +125,7 @@ abstract public class Parent2ChildCollection<E extends CollectionMember> impleme }
@Override
- public abstract E addMember(int entityKey, CastorHashMap props, String classProps) throws MembershipException;
+ public abstract E addMember(ItemPath itemPath, CastorHashMap props, String classProps) throws MembershipException;
public boolean equals(Parent2ChildCollection<?> other) {
boolean same = mName.equals(other.getName()) && mURLInfo.equals(other.getURLInfo()) && size() == other.size();
diff --git a/src/main/java/com/c2kernel/collection/gui/model/AggregationVertexFactory.java b/src/main/java/com/c2kernel/collection/gui/model/AggregationVertexFactory.java index 88dcc3a..1a20c5e 100644 --- a/src/main/java/com/c2kernel/collection/gui/model/AggregationVertexFactory.java +++ b/src/main/java/com/c2kernel/collection/gui/model/AggregationVertexFactory.java @@ -30,7 +30,7 @@ public class AggregationVertexFactory implements VertexFactory ) throws Exception
{
if (typeNameAndConstructionInfo.mInfo.equals("AggregationMember")) {
- mAggregation.addMember(-1, new CastorHashMap(), "",location, 40, 40);
+ mAggregation.addMember(null, new CastorHashMap(), "",location, 40, 40);
}
}
}
|
