From 2f855591dea0eb5ffbcce490dd7a7eb9c2f00a23 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Thu, 3 Apr 2014 08:44:17 +0200 Subject: ResourceImportHandler interface to allow custom types or override the structure of standard ones. Specify with ResourceImportHandler. c2kprop. DefaultResourceImportHandler is used if not defined, which handled the 5 standard types (CA,EA,OD,SC,SM). Fixes #178 Conflicts: src/main/java/com/c2kernel/process/Bootstrap.java src/main/java/com/c2kernel/process/module/Module.java --- src/main/java/com/c2kernel/process/module/Module.java | 12 ++++++------ src/main/java/com/c2kernel/process/module/ModuleImport.java | 5 +++-- .../java/com/c2kernel/process/module/ModuleResource.java | 13 ------------- 3 files changed, 9 insertions(+), 21 deletions(-) (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 13d2e68..eb3c614 100644 --- a/src/main/java/com/c2kernel/process/module/Module.java +++ b/src/main/java/com/c2kernel/process/module/Module.java @@ -11,13 +11,13 @@ import com.c2kernel.lifecycle.instance.predefined.entitycreation.NewAgent; import com.c2kernel.lifecycle.instance.predefined.entitycreation.NewItem; import com.c2kernel.lifecycle.instance.predefined.entitycreation.NewRole; import com.c2kernel.lifecycle.instance.predefined.entitycreation.Outcome; +import com.c2kernel.lookup.DomainPath; import com.c2kernel.lookup.RolePath; import com.c2kernel.process.Bootstrap; import com.c2kernel.process.Gateway; import com.c2kernel.scripting.ErrorInfo; import com.c2kernel.scripting.ScriptingEngineException; import com.c2kernel.utils.Logger; -import com.c2kernel.utils.Resource; public class Module { @@ -60,10 +60,9 @@ public class Module { // Add dependency for all children Dependency children = new Dependency("Contents"); for (ModuleImport thisImport : imports.list) { - String path = thisImport.getPath(ns); + DomainPath path = thisImport.path; if (path != null) - children.dependencyMemberList.add( - new DependencyMember(path+"/"+thisImport.name)); + children.dependencyMemberList.add(new DependencyMember(path.toString())); } moduleItem.dependencyList.add(children); // Add moduleXML @@ -79,7 +78,8 @@ public class Module { for (ModuleResource thisRes : imports.getResources()) { try { - Bootstrap.verifyResource(ns, thisRes.name, thisRes.version, thisRes.resourceType, Resource.getTextResource(ns, thisRes.resourceLocation), reset); + thisRes.path = Bootstrap.verifyResource(ns, thisRes.name, thisRes.version, + thisRes.resourceType, thisRes.resourceLocation, reset); } catch (Exception ex) { Logger.error(ex); } @@ -152,4 +152,4 @@ public class Module { public boolean hasDependency(String dep) { return info.dependency.contains(dep); } -} \ 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 index 77bf3f6..1f5b16d 100644 --- a/src/main/java/com/c2kernel/process/module/ModuleImport.java +++ b/src/main/java/com/c2kernel/process/module/ModuleImport.java @@ -1,9 +1,10 @@ package com.c2kernel.process.module; +import com.c2kernel.lookup.DomainPath; + public abstract class ModuleImport { public String name; + public DomainPath path; - public abstract String getPath(String ns); - } \ No newline at end of file diff --git a/src/main/java/com/c2kernel/process/module/ModuleResource.java b/src/main/java/com/c2kernel/process/module/ModuleResource.java index 2f7b638..b36623f 100644 --- a/src/main/java/com/c2kernel/process/module/ModuleResource.java +++ b/src/main/java/com/c2kernel/process/module/ModuleResource.java @@ -8,17 +8,4 @@ public class ModuleResource extends ModuleImport { public ModuleResource() { } - - @Override - public String getPath(String ns) { - StringBuffer path = new StringBuffer(); - if (resourceType.equals("CA") || resourceType.equals("EA")) - path.append("/desc/ActivityDesc/"); - if (resourceType.equals("SC")) - path.append("/desc/Script/"); - if (resourceType.equals("OD")) - path.append("/desc/OutcomeDesc/"); - path.append("system/").append(ns==null?"kernel":ns); - return path.toString(); - } } \ No newline at end of file -- cgit v1.2.3