summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changelog8
-rw-r--r--resources/boot/OD/Module.xsd1
-rwxr-xr-xresources/mapFiles/CollectionMap.xml3
-rw-r--r--source/com/c2kernel/lifecycle/instance/predefined/entitycreation/Dependency.java4
-rw-r--r--source/com/c2kernel/process/Module.java1
5 files changed, 15 insertions, 2 deletions
diff --git a/changelog b/changelog
index 84cec45..c2255e2 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,11 @@
+Release 2.3.1
+-------------
+- SYS: Fix NPE in SoftCache when key doesn't exist
+- WF: Imply 'Name' property on instantiation if not explicity declared
+- DB: More efficient DOM handling, getField() utility method for scripts
+- COLL: Added DependencyDescription.
+- COLL: addMember methods return new CollectionMember
+- SYS: Removed redundant fields from Event: AgentCentre and Type
Release 2.3
-----------
Build 3 - Module support
diff --git a/resources/boot/OD/Module.xsd b/resources/boot/OD/Module.xsd
index 78d34d7..933d696 100644
--- a/resources/boot/OD/Module.xsd
+++ b/resources/boot/OD/Module.xsd
@@ -92,6 +92,7 @@
<xs:element name="DependencyMember" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="isDescription" type="xs:boolean" use="optional" default="false"/>
</xs:complexType>
</xs:element>
</xs:sequence>
diff --git a/resources/mapFiles/CollectionMap.xml b/resources/mapFiles/CollectionMap.xml
index d346eac..8c6408c 100755
--- a/resources/mapFiles/CollectionMap.xml
+++ b/resources/mapFiles/CollectionMap.xml
@@ -98,6 +98,9 @@
<bind-xml name="Properties" node="element"/>
</field>
</class>
+ <class name="com.c2kernel.collection.DependencyDescription" extends="com.c2kernel.collection.Dependency">
+ <map-to xml="DependencyDescription"/>
+ </class>
<class name="com.c2kernel.collection.Aggregation" extends="com.c2kernel.collection.Parent2ChildCollection">
<map-to xml="Aggregation"/>
<field name="mLayout" type="com.c2kernel.graph.model.GraphModel" direct="false" get-method="getLayout" set-method="setLayout">
diff --git a/source/com/c2kernel/lifecycle/instance/predefined/entitycreation/Dependency.java b/source/com/c2kernel/lifecycle/instance/predefined/entitycreation/Dependency.java
index dc31c73..1124ede 100644
--- a/source/com/c2kernel/lifecycle/instance/predefined/entitycreation/Dependency.java
+++ b/source/com/c2kernel/lifecycle/instance/predefined/entitycreation/Dependency.java
@@ -27,8 +27,8 @@ public class Dependency implements java.io.Serializable {
* @return
*/
public com.c2kernel.collection.Dependency create() throws MembershipException{
- com.c2kernel.collection.Dependency newDep = new com.c2kernel.collection.Dependency(name);
- if (itemDescriptionPath != null) {
+ com.c2kernel.collection.Dependency newDep = isDescription?new com.c2kernel.collection.DependencyDescription(name):new com.c2kernel.collection.Dependency(name);
+ if (itemDescriptionPath != null && itemDescriptionPath.length()>0) {
PropertyUtility.getPropertyDescriptionOutcome(new DomainPath(itemDescriptionPath).getSysKey());
//TODO: set props and class identifiers
}
diff --git a/source/com/c2kernel/process/Module.java b/source/com/c2kernel/process/Module.java
index e32c72e..1e0f9e3 100644
--- a/source/com/c2kernel/process/Module.java
+++ b/source/com/c2kernel/process/Module.java
@@ -136,6 +136,7 @@ public class Module {
Element dep = (Element)depnl.item(j);
Dependency newDep = new Dependency();
newDep.name = dep.getAttribute("name");
+ newDep.isDescription = dep.getAttribute("isDescription").equals("true");
NodeList depmemnl = dep.getElementsByTagName("DependencyMember");
for (int k=0; k<depmemnl.getLength(); k++) {
newDep.dependencyMemberList.add(new DependencyMember(((Text)depmemnl.item(k).getFirstChild()).getData()));