diff options
Diffstat (limited to 'source/com/c2kernel/collection/AggregationDescription.java')
| -rwxr-xr-x | source/com/c2kernel/collection/AggregationDescription.java | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/source/com/c2kernel/collection/AggregationDescription.java b/source/com/c2kernel/collection/AggregationDescription.java new file mode 100755 index 0000000..07a6818 --- /dev/null +++ b/source/com/c2kernel/collection/AggregationDescription.java @@ -0,0 +1,59 @@ +package com.c2kernel.collection;
+
+/**
+ * @version $Revision: 1.34 $ $Date: 2004/03/23 09:29:41 $
+ * @author $Author: abranson $
+ */
+
+import com.c2kernel.graph.model.Vertex;
+import com.c2kernel.property.*;
+import com.c2kernel.utils.Logger;
+
+public class AggregationDescription extends Aggregation implements CollectionDescription
+{
+
+ public AggregationDescription()
+ {
+ setName("AggregationDescription");
+ mMembers = new CollectionMemberList();
+ }
+
+ public AggregationDescription(String name)
+ {
+ setName(name);
+ mMembers = new CollectionMemberList();
+ }
+
+
+ public Collection newInstance()
+ {
+ AggregationInstance newInstance = new AggregationInstance(getName());
+ newInstance.setURLInfo(getURLInfo());
+ //for each desc member
+ for (int i=0; i<size(); i++)
+ {
+ AggregationMember mem = (AggregationMember) mMembers.list.get(i);
+ //get the propdesc of the member item
+ PropertyDescriptionList pdList = PropertyUtility.getPropertyDescriptionOutcome(mem.getEntityKey());
+ 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());
+ } 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.getEntityKey());
+ return null;
+ }
+
+
+ }
+
+ return newInstance;
+ }
+}
|
