From cedb32b6b7a799ef4142b418e64d3538cf604af1 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Thu, 5 Jun 2014 14:13:37 +0200 Subject: Recreate old Authenticator interface as 'ProxyLogin' Server boots with new lookup interface. --- src/main/java/com/c2kernel/process/module/Module.java | 9 +++++---- src/main/java/com/c2kernel/process/module/ModuleManager.java | 12 +++++++++--- src/main/java/com/c2kernel/process/module/ModuleScript.java | 11 +---------- 3 files changed, 15 insertions(+), 17 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 9c52fee..dae5711 100644 --- a/src/main/java/com/c2kernel/process/module/Module.java +++ b/src/main/java/com/c2kernel/process/module/Module.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.Properties; import com.c2kernel.common.ObjectNotFoundException; +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; @@ -33,11 +34,11 @@ public class 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()); @@ -73,9 +74,9 @@ public class Module { 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.getLookup().getAgentPath("system").getSysKey(); for (ModuleResource thisRes : imports.getResources()) { try { diff --git a/src/main/java/com/c2kernel/process/module/ModuleManager.java b/src/main/java/com/c2kernel/process/module/ModuleManager.java index 0afe3af..6a69ff8 100644 --- a/src/main/java/com/c2kernel/process/module/ModuleManager.java +++ b/src/main/java/com/c2kernel/process/module/ModuleManager.java @@ -9,6 +9,7 @@ import java.util.Properties; import com.c2kernel.common.InvalidDataException; import com.c2kernel.common.ObjectNotFoundException; +import com.c2kernel.entity.proxy.AgentProxy; import com.c2kernel.entity.proxy.ItemProxy; import com.c2kernel.lookup.DomainPath; import com.c2kernel.persistency.outcome.OutcomeValidator; @@ -22,6 +23,7 @@ public class ModuleManager { ArrayList modules = new ArrayList(); HashMap modulesXML = new HashMap(); Properties props = new Properties(); + AgentProxy user; boolean isServer; OutcomeValidator moduleValidator; @@ -110,6 +112,10 @@ public class ModuleManager { if (!allDepsPresent) Logger.die("Unmet module dependencies. Cannot continue"); } + public void setUser(AgentProxy user) { + this.user = user; + } + public String getModuleVersions() { StringBuffer ver = new StringBuffer(); for (Module thisMod : modules) { @@ -127,7 +133,7 @@ public class ModuleManager { public void runScripts(String event) { for (Module thisMod : modules) { try { - thisMod.runScript(event, isServer); + thisMod.runScript(event, user, isServer); } catch (ScriptingEngineException e) { Logger.error(e); Logger.die(e.getMessage()); @@ -152,7 +158,7 @@ public class ModuleManager { try { String nsReset = Gateway.getProperties().getProperty("Module."+thisMod.ns+".reset"); boolean thisReset = nsReset == null?reset:nsReset.equals("true"); - thisMod.importAll(serverEntity, modulesXML.get(thisMod.ns), thisReset); + thisMod.importAll(serverEntity, user, modulesXML.get(thisMod.ns), thisReset); } catch (Exception e) { Logger.error(e); throw new ModuleException("Error importing items for module "+thisMod.getName()); @@ -160,7 +166,7 @@ public class ModuleManager { Logger.msg("Module "+thisMod.getName()+" registered"); try { - thisMod.runScript("startup", true); + thisMod.runScript("startup", user, true); } catch (ScriptingEngineException e) { Logger.error(e); throw new ModuleException("Error in startup script for module "+thisMod.getName()); diff --git a/src/main/java/com/c2kernel/process/module/ModuleScript.java b/src/main/java/com/c2kernel/process/module/ModuleScript.java index e948996..f16f390 100644 --- a/src/main/java/com/c2kernel/process/module/ModuleScript.java +++ b/src/main/java/com/c2kernel/process/module/ModuleScript.java @@ -1,7 +1,6 @@ package com.c2kernel.process.module; import com.c2kernel.entity.proxy.AgentProxy; -import com.c2kernel.process.Gateway; import com.c2kernel.scripting.Script; import com.c2kernel.scripting.ScriptingEngineException; @@ -23,16 +22,8 @@ public class ModuleScript { this.script = script; } - public Script getScript(String ns) throws ScriptingEngineException { - AgentProxy user = Gateway.getCurrentUser(); - try { - if (user == null) user = (AgentProxy)Gateway.getProxyManager().getProxy( - Gateway.getLookup().getAgentPath("system")); - } catch (Exception ex) { - throw new ScriptingEngineException("System agent unavailable"); - } + public Script getScript(String ns, AgentProxy user) throws ScriptingEngineException { return new Script(lang, ns+" "+target+" "+event, script, user); - } public boolean shouldRun(String event, boolean isServer) { -- cgit v1.2.3