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);
+ }
+}