From 0baa46d5ee4f62adb58f436af4978d9468454870 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Fri, 22 Jun 2012 10:11:17 +0200 Subject: Modules and entitycreation support Aggregations, collection properties and class identifiers --- .../java/com/c2kernel/process/module/Module.java | 37 ++++++++++++++++++++-- .../com/c2kernel/process/module/ModuleAgent.java | 9 ++++++ .../com/c2kernel/process/module/ModuleImport.java | 5 +++ .../com/c2kernel/process/module/ModuleItem.java | 17 ++++++++++ .../com/c2kernel/process/module/ModuleManager.java | 1 + .../c2kernel/process/module/ModuleResource.java | 6 ++++ 6 files changed, 72 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/c2kernel/process/module/ModuleAgent.java create mode 100644 src/main/java/com/c2kernel/process/module/ModuleImport.java create mode 100644 src/main/java/com/c2kernel/process/module/ModuleItem.java create mode 100644 src/main/java/com/c2kernel/process/module/ModuleResource.java (limited to 'src/main/java/com/c2kernel/process/module') diff --git a/src/main/java/com/c2kernel/process/module/Module.java b/src/main/java/com/c2kernel/process/module/Module.java index 08ea4dc..d015aea 100644 --- a/src/main/java/com/c2kernel/process/module/Module.java +++ b/src/main/java/com/c2kernel/process/module/Module.java @@ -18,8 +18,11 @@ import com.c2kernel.common.ObjectNotFoundException; import com.c2kernel.entity.proxy.ItemProxy; import com.c2kernel.events.Event; import com.c2kernel.events.History; +import com.c2kernel.lifecycle.instance.predefined.entitycreation.Aggregation; +import com.c2kernel.lifecycle.instance.predefined.entitycreation.AggregationMember; import com.c2kernel.lifecycle.instance.predefined.entitycreation.Dependency; import com.c2kernel.lifecycle.instance.predefined.entitycreation.DependencyMember; +import com.c2kernel.lifecycle.instance.predefined.entitycreation.Geometry; import com.c2kernel.lifecycle.instance.predefined.entitycreation.NewAgent; import com.c2kernel.lifecycle.instance.predefined.entitycreation.NewItem; import com.c2kernel.lifecycle.instance.predefined.entitycreation.Property; @@ -134,6 +137,10 @@ public class Module { else if (type.equals("Item")) { ModuleItem newItem = new ModuleItem(); newItem.workflow = imp.getAttribute("workflow"); + if (imp.hasAttribute("initialPath")) + newItem.initialPath = imp.getAttribute("initialPath"); + else + newItem.initialPath = "/desc/"+ns; NodeList pnl = imp.getElementsByTagName("Property"); for (int j=0; j roles = new ArrayList(); +} \ No newline at end of file diff --git a/src/main/java/com/c2kernel/process/module/ModuleImport.java b/src/main/java/com/c2kernel/process/module/ModuleImport.java new file mode 100644 index 0000000..f505a40 --- /dev/null +++ b/src/main/java/com/c2kernel/process/module/ModuleImport.java @@ -0,0 +1,5 @@ +package com.c2kernel.process.module; + +public abstract class ModuleImport { + String importName; +} \ No newline at end of file diff --git a/src/main/java/com/c2kernel/process/module/ModuleItem.java b/src/main/java/com/c2kernel/process/module/ModuleItem.java new file mode 100644 index 0000000..f74788d --- /dev/null +++ b/src/main/java/com/c2kernel/process/module/ModuleItem.java @@ -0,0 +1,17 @@ +package com.c2kernel.process.module; + +import java.util.ArrayList; +import java.util.HashMap; + +import com.c2kernel.lifecycle.instance.predefined.entitycreation.Aggregation; +import com.c2kernel.lifecycle.instance.predefined.entitycreation.Dependency; +import com.c2kernel.lifecycle.instance.predefined.entitycreation.Property; + +public class ModuleItem extends ModuleImport { + ArrayList props = new ArrayList(); + HashMap outcomes = new HashMap(); + ArrayList deps = new ArrayList(); + ArrayList aggs = new ArrayList(); + String workflow; + String initialPath; +} \ No newline at end of file diff --git a/src/main/java/com/c2kernel/process/module/ModuleManager.java b/src/main/java/com/c2kernel/process/module/ModuleManager.java index b99b325..aa598fa 100644 --- a/src/main/java/com/c2kernel/process/module/ModuleManager.java +++ b/src/main/java/com/c2kernel/process/module/ModuleManager.java @@ -46,6 +46,7 @@ public class ModuleManager { } Logger.debug(5, "Checking dependencies"); + //TODO: order the importing so each modules dependencies are imported ahead of it boolean depFailed = false; for (Module thisMod : modules) { ArrayList deps = thisMod.getDependencies(); diff --git a/src/main/java/com/c2kernel/process/module/ModuleResource.java b/src/main/java/com/c2kernel/process/module/ModuleResource.java new file mode 100644 index 0000000..98d15d4 --- /dev/null +++ b/src/main/java/com/c2kernel/process/module/ModuleResource.java @@ -0,0 +1,6 @@ +package com.c2kernel.process.module; + +public class ModuleResource extends ModuleImport { + String resourceType; + String resourceLocation; +} \ No newline at end of file -- cgit v1.2.3