diff options
author | Stefan Radomski <github@mintwerk.de> | 2016-06-13 08:52:55 (GMT) |
---|---|---|
committer | Stefan Radomski <github@mintwerk.de> | 2016-06-13 08:52:55 (GMT) |
commit | 053e9bc973fbe88fc41a34064ffadc0deabac58d (patch) | |
tree | 6aeee286577159ffcb612d41972a9d18ab685c6d /test/bindings/java/org/uscxml/examples | |
parent | 6e13c7b6e0888323223afd5d2e36e86243df57af (diff) | |
download | uscxml-053e9bc973fbe88fc41a34064ffadc0deabac58d.zip uscxml-053e9bc973fbe88fc41a34064ffadc0deabac58d.tar.gz uscxml-053e9bc973fbe88fc41a34064ffadc0deabac58d.tar.bz2 |
Fixed dozens of memory leaks
Diffstat (limited to 'test/bindings/java/org/uscxml/examples')
3 files changed, 154 insertions, 0 deletions
diff --git a/test/bindings/java/org/uscxml/examples/BasicExample.java b/test/bindings/java/org/uscxml/examples/BasicExample.java new file mode 100644 index 0000000..129a116 --- /dev/null +++ b/test/bindings/java/org/uscxml/examples/BasicExample.java @@ -0,0 +1,46 @@ +package org.uscxml.examples; + +import org.uscxml.Interpreter; +import org.uscxml.InterpreterException; +import org.uscxml.InterpreterState; + +public class BasicExample { + + public static void main(String[] args) { + + String uSCXMLLibPath = "/Users/sradomski/Documents/TK/Code/uscxml/build/cli/lib/libuscxmlNativeJava.jnilib"; + if (System.getenv().containsKey("USCXML_JAVA_LIB")) { + uSCXMLLibPath = System.getenv("USCXML_JAVA_LIB"); + } + + System.load(uSCXMLLibPath); + + try { + Interpreter scxml = Interpreter.fromURL("https://raw.githubusercontent.com/tklab-tud/uscxml/master/test/w3c/null/test436.scxml"); + InterpreterState state = InterpreterState.USCXML_UNDEF; + while((state = scxml.step()) != InterpreterState.USCXML_FINISHED) { + switch (state) { + case USCXML_FINISHED: + case USCXML_UNDEF: + case USCXML_IDLE: + case USCXML_INITIALIZED: + case USCXML_INSTANTIATED: + case USCXML_MICROSTEPPED: + case USCXML_MACROSTEPPED: + case USCXML_CANCELLED: + break; + default: + break; + } + } + System.out.println("Machine finished"); + + } catch (InterpreterException e) { + e.printStackTrace(); + System.exit(-1); + } + System.exit(0); + + } + +} diff --git a/test/bindings/java/org/uscxml/examples/DataModelExample.java b/test/bindings/java/org/uscxml/examples/DataModelExample.java new file mode 100644 index 0000000..e6ad619 --- /dev/null +++ b/test/bindings/java/org/uscxml/examples/DataModelExample.java @@ -0,0 +1,60 @@ +package org.uscxml.examples; + +import java.io.File; +import java.net.MalformedURLException; + +import org.uscxml.Factory; +import org.uscxml.Interpreter; +import org.uscxml.InterpreterException; +import org.uscxml.InterpreterState; +import org.uscxml.dm.jexl.JEXLDataModel; +import org.uscxml.helper.TestMonitor; + +public class DataModelExample { + + public static void main(String[] args) { + String uSCXMLLibPath = "/Users/sradomski/Documents/TK/Code/uscxml/build/cli/lib/libuscxmlNativeJava.jnilib"; + if (System.getenv().containsKey("USCXML_JAVA_LIB")) { + uSCXMLLibPath = System.getenv("USCXML_JAVA_LIB"); + } + + System.load(uSCXMLLibPath); + + JEXLDataModel jdm = new JEXLDataModel(); + Factory.getInstance().registerDataModel(jdm);; + + TestMonitor tm = new TestMonitor(); + + File folder = new File("/Users/sradomski/Documents/TK/Code/uscxml/test/w3c/jexl"); + File[] listOfFiles = folder.listFiles(); + + try { + for (File file : listOfFiles) { + if (!file.getName().endsWith(".scxml")) + continue; + String testName = file.toURI().toURL().toString(); + System.out.println(testName); + + Interpreter scxml = Interpreter.fromURL(testName); +// scxml.setMonitor(tm); + + while(scxml.step() != InterpreterState.USCXML_FINISHED) {} + + if (!scxml.isInState("pass")) { + System.out.println("FAIL: " + testName); + + throw new RuntimeException(); + } + System.out.println("SUCCESS"); + + } + + } catch (InterpreterException | MalformedURLException e) { + e.printStackTrace(); + System.exit(-1); + } + System.exit(0); + + } + +} diff --git a/test/bindings/java/org/uscxml/examples/MonitorExample.java b/test/bindings/java/org/uscxml/examples/MonitorExample.java new file mode 100644 index 0000000..3e3781c --- /dev/null +++ b/test/bindings/java/org/uscxml/examples/MonitorExample.java @@ -0,0 +1,48 @@ +package org.uscxml.examples; + +import org.uscxml.Interpreter; +import org.uscxml.InterpreterException; +import org.uscxml.InterpreterState; +import org.uscxml.helper.TestMonitor; + + +public class MonitorExample { + + public static void main(String[] args) { + + String uSCXMLLibPath = "/Users/sradomski/Documents/TK/Code/uscxml/build/cli/lib/libuscxmlNativeJava.jnilib"; + if (System.getenv().containsKey("USCXML_JAVA_LIB")) { + uSCXMLLibPath = System.getenv("USCXML_JAVA_LIB"); + } + + System.load(uSCXMLLibPath); + + try { + TestMonitor tm = new TestMonitor(); + Interpreter scxml = Interpreter.fromURL("https://raw.githubusercontent.com/tklab-tud/uscxml/master/test/w3c/null/test436.scxml"); + scxml.setMonitor(tm); + InterpreterState state = InterpreterState.USCXML_UNDEF; + while((state = scxml.step()) != InterpreterState.USCXML_FINISHED) { + switch (state) { + case USCXML_FINISHED: + case USCXML_UNDEF: + case USCXML_IDLE: + case USCXML_INITIALIZED: + case USCXML_INSTANTIATED: + case USCXML_MICROSTEPPED: + case USCXML_MACROSTEPPED: + case USCXML_CANCELLED: + break; + default: + break; + } + } + + } catch (InterpreterException e) { + e.printStackTrace(); + System.exit(-1); + } + System.exit(0); + } + +} |