From 24314dc1699c7e73048fa24e33729f1aa1ec0e86 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Fri, 6 Jul 2012 11:00:24 +0200 Subject: Modules serialize with Castor. Just about to remove the parsing. CastorXMLUtility is now a static member of gateway. Domain specific instances can be used by domain applications, but the maps do not interfere with the kernel. --- .../predefined/entitycreation/Dependency.java | 39 +++++++++++++++++++--- 1 file changed, 34 insertions(+), 5 deletions(-) (limited to 'src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Dependency.java') diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Dependency.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Dependency.java index 5993f62..a0d7a1e 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Dependency.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Dependency.java @@ -2,6 +2,10 @@ package com.c2kernel.lifecycle.instance.predefined.entitycreation; import java.util.ArrayList; +import org.w3c.dom.Element; +import org.w3c.dom.NodeList; +import org.w3c.dom.Text; + import com.c2kernel.collection.MembershipException; import com.c2kernel.common.ObjectNotFoundException; import com.c2kernel.lookup.DomainPath; @@ -9,17 +13,19 @@ import com.c2kernel.property.PropertyDescription; import com.c2kernel.property.PropertyDescriptionList; import com.c2kernel.property.PropertyUtility; import com.c2kernel.utils.CastorHashMap; +import com.c2kernel.utils.KeyValuePair; public class Dependency implements java.io.Serializable { public String name; public boolean isDescription; public String itemDescriptionPath; - public ArrayList dependencyMemberList; + public ArrayList dependencyMemberList = new ArrayList(); + public CastorHashMap props = new CastorHashMap(); + Element elem; public Dependency() { super(); - dependencyMemberList = new ArrayList(); } public Dependency(String itemDesc) { @@ -27,14 +33,36 @@ public class Dependency implements java.io.Serializable { this.itemDescriptionPath = itemDesc; } - /** + public Dependency(Element dep) { + elem = dep; + name = dep.getAttribute("name"); + isDescription = dep.getAttribute("isDescription").equals("true"); + NodeList cpnl = dep.getElementsByTagName("CollectionProperty"); + for (int k=0; k0) { PropertyDescriptionList propList = PropertyUtility.getPropertyDescriptionOutcome(new DomainPath(itemDescriptionPath).getSysKey()); - CastorHashMap props = new CastorHashMap(); StringBuffer classProps = new StringBuffer(); for (PropertyDescription pd : propList.list) { props.put(pd.getName(), pd.getDefaultValue()); @@ -49,7 +77,8 @@ public class Dependency implements java.io.Serializable { int syskey = new DomainPath(thisMem.itemPath).getSysKey(); if (syskey == -1) throw new MembershipException("Cannot find "+thisMem.itemPath+" specified for collection."); - newDep.addMember(syskey); + com.c2kernel.collection.DependencyMember newDepMem = newDep.addMember(syskey); + newDepMem.getProperties().putAll(thisMem.props); } return newDep; } -- cgit v1.2.3