From c570b107f890180bcaf5e5a030525af04feab1d4 Mon Sep 17 00:00:00 2001 From: Adam Frisby Date: Thu, 5 Jul 2007 00:24:40 +0000 Subject: * Java engine fully back in Sugilite --- .../scripting/Engines/JVMEngine/JavaEngine.cs | 29 ++++++++++++++++++++ .../scripting/Engines/JVMEngine/OpenSimJVM.cs | 31 +++++++--------------- .../Scenes/scripting/Engines/JVMEngine/Thread.cs | 1 - .../Environment/Scenes/scripting/ScriptManager.cs | 3 +++ 4 files changed, 41 insertions(+), 23 deletions(-) create mode 100644 OpenSim/Region/Environment/Scenes/scripting/Engines/JVMEngine/JavaEngine.cs (limited to 'OpenSim/Region/Environment/Scenes') diff --git a/OpenSim/Region/Environment/Scenes/scripting/Engines/JVMEngine/JavaEngine.cs b/OpenSim/Region/Environment/Scenes/scripting/Engines/JVMEngine/JavaEngine.cs new file mode 100644 index 0000000..1773156 --- /dev/null +++ b/OpenSim/Region/Environment/Scenes/scripting/Engines/JVMEngine/JavaEngine.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Text; + +using OpenSim.Region.Environment.Scripting; +using OpenSim.Scripting.EmbeddedJVM; + +namespace OpenSim.Region.Environment.Scripting +{ + public class JavaEngine : IScriptCompiler + { + public string FileExt() + { + return ".java"; + } + + public Dictionary compile(string filename) + { + JVMScript script = new JVMScript(); + Dictionary returns = new Dictionary(); + + script.LoadScript(filename); + + returns.Add(filename, script); + + return returns; + } + } +} diff --git a/OpenSim/Region/Environment/Scenes/scripting/Engines/JVMEngine/OpenSimJVM.cs b/OpenSim/Region/Environment/Scenes/scripting/Engines/JVMEngine/OpenSimJVM.cs index 7ed734b..aaa1609 100644 --- a/OpenSim/Region/Environment/Scenes/scripting/Engines/JVMEngine/OpenSimJVM.cs +++ b/OpenSim/Region/Environment/Scenes/scripting/Engines/JVMEngine/OpenSimJVM.cs @@ -38,7 +38,7 @@ using OpenSim.Region.Environment.Scenes; namespace OpenSim.Scripting.EmbeddedJVM { - public class OpenSimJVM : IScript + public class JVMScript : IScript { private List _threads = new List(); private BlockingQueue CompileScripts = new BlockingQueue(); @@ -47,7 +47,7 @@ namespace OpenSim.Scripting.EmbeddedJVM ScriptInfo scriptInfo; - public OpenSimJVM() + public JVMScript() { } @@ -55,37 +55,27 @@ namespace OpenSim.Scripting.EmbeddedJVM public void Initialise(ScriptInfo info) { scriptInfo = info; - } - - public string getName() - { - return "JVM Scripting Engine"; - } - public bool Init(Scene world) - { - Console.WriteLine("Creating OpenSim JVM scripting engine"); _mainMemory = new MainMemory(); Thread.GlobalMemory = this._mainMemory; - Thread.World = world; + Thread.World = info.world; compileThread = new System.Threading.Thread(new ThreadStart(CompileScript)); compileThread.IsBackground = true; compileThread.Start(); - return true; + } - public string GetName() + public string getName() { - return "OpenSimJVM"; + return "JVM Scripting Engine"; } - public void LoadScript(string script, string scriptName, uint entityID) + public void LoadScript(string script) { - Console.WriteLine("OpenSimJVM - loading new script: " + scriptName); + Console.WriteLine("OpenSimJVM - loading new script: " + script); CompileInfo comp = new CompileInfo(); - comp.entityId = entityID; comp.script = script; - comp.scriptName = scriptName; + comp.scriptName = script; this.CompileScripts.Enqueue(comp); } @@ -96,7 +86,6 @@ namespace OpenSim.Scripting.EmbeddedJVM CompileInfo comp = this.CompileScripts.Dequeue(); string script = comp.script; string scriptName = comp.scriptName; - uint entityID = comp.entityId; try { //need to compile the script into a java class file @@ -127,7 +116,6 @@ namespace OpenSim.Scripting.EmbeddedJVM Thread newThread = new Thread(); this._threads.Add(newThread); - newThread.EntityId = entityID; newThread.currentClass = class1; newThread.scriptInfo = scriptInfo; @@ -165,7 +153,6 @@ namespace OpenSim.Scripting.EmbeddedJVM { public string script; public string scriptName; - public uint entityId; public CompileInfo() { diff --git a/OpenSim/Region/Environment/Scenes/scripting/Engines/JVMEngine/Thread.cs b/OpenSim/Region/Environment/Scenes/scripting/Engines/JVMEngine/Thread.cs index 806f833..3993436 100644 --- a/OpenSim/Region/Environment/Scenes/scripting/Engines/JVMEngine/Thread.cs +++ b/OpenSim/Region/Environment/Scenes/scripting/Engines/JVMEngine/Thread.cs @@ -50,7 +50,6 @@ namespace OpenSim.Scripting.EmbeddedJVM private StackFrame currentFrame; public int excutionCounter = 0; public bool running = false; - public uint EntityId = 0; public ScriptInfo scriptInfo; diff --git a/OpenSim/Region/Environment/Scenes/scripting/ScriptManager.cs b/OpenSim/Region/Environment/Scenes/scripting/ScriptManager.cs index 250a4f0..153f4d7 100644 --- a/OpenSim/Region/Environment/Scenes/scripting/ScriptManager.cs +++ b/OpenSim/Region/Environment/Scenes/scripting/ScriptManager.cs @@ -59,6 +59,9 @@ namespace OpenSim.Region.Environment.Scripting JScriptEngine jscriptCompiler = new JScriptEngine(); compilers.Add(jscriptCompiler.FileExt(), jscriptCompiler); + + JavaEngine javaCompiler = new JavaEngine(); + compilers.Add(javaCompiler.FileExt(), javaCompiler); } public void Compile(string filename) -- cgit v1.1