From 5377997abe18d1dc73d590f914ba21f670778c4a Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Mon, 24 Jun 2013 22:34:22 +0200 Subject: Set agent in module scripts to either current user or system. --- src/main/java/com/c2kernel/process/module/Module.java | 2 +- .../java/com/c2kernel/process/module/ModuleScript.java | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 4 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 16f2c29..a7a85bb 100644 --- a/src/main/java/com/c2kernel/process/module/Module.java +++ b/src/main/java/com/c2kernel/process/module/Module.java @@ -38,7 +38,7 @@ public class Module { for (ModuleScript script : scripts) { if (script.shouldRun(event, isServer)) { Logger.msg("Running "+script.event+" "+script.target+" script from "+name); - Object result = script.getScript().execute(); + Object result = script.getScript(ns).execute(); if (result instanceof ErrorInfo) { ErrorInfo error = (ErrorInfo) result; Logger.error(error.toString()); diff --git a/src/main/java/com/c2kernel/process/module/ModuleScript.java b/src/main/java/com/c2kernel/process/module/ModuleScript.java index 8612843..beed6f9 100644 --- a/src/main/java/com/c2kernel/process/module/ModuleScript.java +++ b/src/main/java/com/c2kernel/process/module/ModuleScript.java @@ -1,6 +1,7 @@ package com.c2kernel.process.module; -import com.c2kernel.scripting.ErrorInfo; +import com.c2kernel.entity.proxy.AgentProxy; +import com.c2kernel.process.Gateway; import com.c2kernel.scripting.Script; import com.c2kernel.scripting.ScriptingEngineException; @@ -22,8 +23,16 @@ public class ModuleScript { this.script = script; } - public Script getScript() throws ScriptingEngineException { - return new Script(lang, script, ErrorInfo.class); + public Script getScript(String ns) throws ScriptingEngineException { + AgentProxy user = Gateway.getCurrentUser(); + try { + if (user == null) user = (AgentProxy)Gateway.getProxyManager().getProxy( + Gateway.getLDAPLookup().getRoleManager().getAgentPath("system")); + } catch (Exception ex) { + throw new ScriptingEngineException("System agent unavailable"); + } + return new Script(lang, ns+" "+target+" "+event, script, user); + } public boolean shouldRun(String event, boolean isServer) { -- cgit v1.2.3