Revision: 3883
Author: janne.t.harkonen
Date: Tue Aug 24 03:42:46 2010
Log: Java files for jar execution
http://code.google.com/p/robotframework/source/detail?r=3883

Added:
 /trunk/src/java
 /trunk/src/java/META-INF
 /trunk/src/java/META-INF/MANIFEST.MF
 /trunk/src/java/org
 /trunk/src/java/org/robotframework
 /trunk/src/java/org/robotframework/JarRobot.java
 /trunk/src/java/org/robotframework/RobotRunner.java
 /trunk/src/java/org/robotframework/RunnerFactory.java

=======================================
--- /dev/null
+++ /trunk/src/java/META-INF/MANIFEST.MF        Tue Aug 24 03:42:46 2010
@@ -0,0 +1,4 @@
+Manifest-Version: 1.0
+Built-By: janne
+Main-Class: org.robotframework.RobotJarRunner
+
=======================================
--- /dev/null
+++ /trunk/src/java/org/robotframework/JarRobot.java Tue Aug 24 03:42:46 2010
@@ -0,0 +1,17 @@
+package org.robotframework;
+
+import org.robotframework.RunnerFactory;
+import org.robotframework.RobotRunner;
+
+public class JarRobot {
+
+       public static void main(String[] args) {
+        int rc = run(args);
+        System.exit(rc);
+    }
+
+       public static int run(String[] args) {
+               RobotRunner runner = new RunnerFactory().createRunner();
+        return runner.run(args);
+       }
+}
=======================================
--- /dev/null
+++ /trunk/src/java/org/robotframework/RobotRunner.java Tue Aug 24 03:42:46 2010
@@ -0,0 +1,7 @@
+package org.robotframework;
+
+public interface RobotRunner {
+
+    public int run(String[] args);
+
+}
=======================================
--- /dev/null
+++ /trunk/src/java/org/robotframework/RunnerFactory.java Tue Aug 24 03:42:46 2010
@@ -0,0 +1,24 @@
+package org.robotframework;
+
+import org.python.core.PyObject;
+import org.python.util.PythonInterpreter;
+
+public class RunnerFactory {
+
+    private PyObject runnerClass;
+
+    public RunnerFactory() {
+        runnerClass = importRunnerClass();
+    }
+
+       private PyObject importRunnerClass() {
+               PythonInterpreter interpreter = new PythonInterpreter();
+ interpreter.exec("import robot; from robot.jarrunner import JarRunner");
+        return interpreter.get("JarRunner");
+       }
+
+    public RobotRunner createRunner() {
+        PyObject runnerObject = runnerClass.__call__();
+        return (RobotRunner)runnerObject.__tojava__(RobotRunner.class);
+    }
+}

Reply via email to