diff options
Diffstat (limited to 'src/main/java/com/c2kernel/process/module/Module.java')
| -rw-r--r-- | src/main/java/com/c2kernel/process/module/Module.java | 49 |
1 files changed, 26 insertions, 23 deletions
diff --git a/src/main/java/com/c2kernel/process/module/Module.java b/src/main/java/com/c2kernel/process/module/Module.java index fda4b1b..873754f 100644 --- a/src/main/java/com/c2kernel/process/module/Module.java +++ b/src/main/java/com/c2kernel/process/module/Module.java @@ -4,13 +4,15 @@ import java.util.ArrayList; import java.util.Properties;
import com.c2kernel.common.ObjectNotFoundException;
+import com.c2kernel.entity.imports.ImportDependency;
+import com.c2kernel.entity.imports.ImportDependencyMember;
+import com.c2kernel.entity.imports.ImportAgent;
+import com.c2kernel.entity.imports.ImportItem;
+import com.c2kernel.entity.imports.ImportRole;
+import com.c2kernel.entity.imports.ImportOutcome;
+import com.c2kernel.entity.proxy.AgentProxy;
import com.c2kernel.entity.proxy.ItemProxy;
-import com.c2kernel.lifecycle.instance.predefined.entitycreation.Dependency;
-import com.c2kernel.lifecycle.instance.predefined.entitycreation.DependencyMember;
-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;
@@ -26,17 +28,17 @@ public class Module { public ModuleImports imports = new ModuleImports();
public ArrayList<ModuleConfig> config = new ArrayList<ModuleConfig>();
public ArrayList<ModuleScript> scripts = new ArrayList<ModuleScript>();
- public NewItem moduleItem;
+ public ImportItem moduleItem;
public Module() {
super();
}
- public void runScript(String event, boolean isServer) throws ScriptingEngineException {
+ public void runScript(String event, AgentProxy user, boolean isServer) throws ScriptingEngineException {
for (ModuleScript script : scripts) {
if (script.shouldRun(event, isServer)) {
Logger.msg("Running "+script.event+" "+script.target+" script from "+name);
- Object result = script.getScript(ns).execute();
+ Object result = script.getScript(ns, user).execute();
if (result instanceof ErrorInfo) {
ErrorInfo error = (ErrorInfo) result;
Logger.error(error.toString());
@@ -50,44 +52,45 @@ public class Module { }
public void addModuleItem(String moduleXML) {
- NewItem moduleItem = new NewItem(name, "/desc/modules/", "ModuleWorkflow");
+ ImportItem moduleItem = new ImportItem(name, "/desc/modules/", "NoWorkflow", 0);
// Module properties
moduleItem.properties.add(new com.c2kernel.property.Property("Namespace", ns, false));
moduleItem.properties.add(new com.c2kernel.property.Property("Name", name, false));
moduleItem.properties.add(new com.c2kernel.property.Property("Type", "Module", false));
+ moduleItem.properties.add(new com.c2kernel.property.Property("Layer", String.valueOf(info.layer), true));
moduleItem.properties.add(new com.c2kernel.property.Property("Version", info.version, true));
// Add dependency for all children
- Dependency children = new Dependency("Contents");
+ ImportDependency children = new ImportDependency("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 ImportDependencyMember(path.toString()));
}
moduleItem.dependencyList.add(children);
// Add moduleXML
- Outcome moduleOutcome = new Outcome("Module", 0, "last", null);
+ ImportOutcome moduleOutcome = new ImportOutcome("Module", 0, "last", null);
moduleOutcome.data = moduleXML;
moduleItem.outcomes.add(moduleOutcome);
imports.list.add(moduleItem);
}
- public void importAll(ItemProxy serverEntity, String moduleXML, boolean reset) throws Exception {
+ public void importAll(ItemProxy serverEntity, AgentProxy systemAgent, String moduleXML, boolean reset) throws Exception {
+ int systemAgentId = systemAgent.getSystemKey();
addModuleItem(moduleXML);
- int systemAgentId = Gateway.getLDAPLookup().getRoleManager().getAgentPath("system").getSysKey();
for (ModuleResource thisRes : imports.getResources()) {
try {
- Bootstrap.verifyResource(ns, thisRes.name, thisRes.version, thisRes.resourceType, Gateway.getResource().getTextResource(ns, thisRes.resourceLocation), reset);
+ thisRes.path = Bootstrap.verifyResource(ns, thisRes.name, thisRes.version,
+ thisRes.resourceType, thisRes.resourceLocation, info.layer, reset);
} catch (Exception ex) {
Logger.error(ex);
}
}
- for (NewRole thisRole : imports.getRoles()) {
+ for (ImportRole thisRole : imports.getRoles()) {
RolePath rolePath;
try {
- rolePath = Gateway.getLDAPLookup().getRoleManager().getRolePath(thisRole.name);
+ rolePath = Gateway.getLookup().getRolePath(thisRole.name);
if (rolePath.hasJobList() != thisRole.jobList) {
Logger.msg("Module.importAll() - Role '"+thisRole.name+"' has incorrect joblist settings. Correcting.");
rolePath.setHasJobList(thisRole.jobList);
@@ -98,9 +101,9 @@ public class Module { }
}
- for (NewAgent thisAgent : imports.getAgents()) {
+ for (ImportAgent thisAgent : imports.getAgents()) {
try {
- Gateway.getLDAPLookup().getRoleManager().getAgentPath(thisAgent.name);
+ Gateway.getLookup().getAgentPath(thisAgent.name);
Logger.msg(3, "Module.importAll() - User '"+thisAgent.name+"' found.");
continue;
} catch (ObjectNotFoundException ex) { }
@@ -108,7 +111,7 @@ public class Module { thisAgent.create(systemAgentId);
}
- for (NewItem thisItem : imports.getItems()) {
+ for (ImportItem thisItem : imports.getItems()) {
thisItem.setNamespace(ns);
thisItem.create(systemAgentId, reset);
}
|
