You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ra...@apache.org on 2008/07/31 05:52:11 UTC
svn commit: r681270 - in /commons/proper/scxml/trunk/src:
main/java/org/apache/commons/scxml/io/SCXMLSerializer.java
test/java/org/apache/commons/scxml/io/SCXMLSerializerTest.java
Author: rahul
Date: Wed Jul 30 20:52:10 2008
New Revision: 681270
URL: http://svn.apache.org/viewvc?rev=681270&view=rev
Log:
Stop rendering non-standard parentid attribute during serialization.
Also correct namespace for <var> and <exit>.
New tests provided by Ingmar Kliche <ingmar dot kliche at googlemail dot com>
SCXML-79
Modified:
commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml/io/SCXMLSerializer.java
commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml/io/SCXMLSerializerTest.java
Modified: commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml/io/SCXMLSerializer.java
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml/io/SCXMLSerializer.java?rev=681270&r1=681269&r2=681270&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml/io/SCXMLSerializer.java (original)
+++ commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml/io/SCXMLSerializer.java Wed Jul 30 20:52:10 2008
@@ -567,13 +567,6 @@
if (id != null) {
b.append(" id=\"").append(id).append("\"");
}
- TransitionTarget pt = t.getParent();
- if (pt != null) {
- String pid = pt.getId();
- if (pid != null) {
- b.append(" parentid=\"").append(pid).append("\"");
- }
- }
}
/**
Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml/io/SCXMLSerializerTest.java
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml/io/SCXMLSerializerTest.java?rev=681270&r1=681269&r2=681270&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml/io/SCXMLSerializerTest.java (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml/io/SCXMLSerializerTest.java Wed Jul 30 20:52:10 2008
@@ -32,6 +32,7 @@
import org.apache.commons.scxml.model.Log;
import org.apache.commons.scxml.model.OnEntry;
import org.apache.commons.scxml.model.OnExit;
+import org.apache.commons.scxml.model.Parallel;
import org.apache.commons.scxml.model.SCXML;
import org.apache.commons.scxml.model.Send;
import org.apache.commons.scxml.model.State;
@@ -61,8 +62,8 @@
scxml.addChild(new State());
String assertValue = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
- + "<scxml xmlns=\"http://www.w3.org/2005/07/scxml\" version=\"version1\" "
- + "initial=\"off\">\n <state>\n </state>\n</scxml>\n";
+ + "<scxml xmlns=\"http://www.w3.org/2005/07/scxml\" xmlns:cs=\"http://commons.apache.org/scxml\" "
+ + "version=\"version1\" initial=\"off\">\n <state>\n </state>\n</scxml>\n";
assertEquals(assertValue, SCXMLSerializer.serialize(scxml));
}
@@ -110,7 +111,7 @@
List values = new ArrayList();
values.add(var);
- String actualValue = " <var name=\"newName\" expr=\"newExpression\"/>\n";
+ String actualValue = " <cs:var name=\"newName\" expr=\"newExpression\"/>\n";
StringBuffer returnValue = new StringBuffer();
boolean returnBoolean = SCXMLSerializer.serializeActions(returnValue, values, " ");
@@ -176,7 +177,7 @@
List values = new ArrayList();
values.add(exit);
- String actualValue = " <exit expr=\"newExpression\" namelist=\"names\"/>\n";
+ String actualValue = " <cs:exit expr=\"newExpression\" namelist=\"names\"/>\n";
StringBuffer returnValue = new StringBuffer();
boolean returnBoolean = SCXMLSerializer.serializeActions(returnValue, values, " ");
@@ -302,4 +303,71 @@
assertEquals(actualValue, returnValue.toString());
}
+ public void testSerializeSCXMLState() {
+ SCXML scxml = new SCXML();
+ scxml.setVersion("1.0");
+ scxml.setInitial("S1");
+
+ State s1 = new State();
+ s1.setId("S1");
+
+ scxml.addChild(s1);
+
+ String assertValue = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+ + "<scxml xmlns=\"http://www.w3.org/2005/07/scxml\" xmlns:cs=\"http://commons.apache.org/scxml\" "
+ + "version=\"1.0\" initial=\"S1\">\n <state id=\"S1\">\n </state>\n</scxml>\n";
+
+ assertEquals(assertValue, SCXMLSerializer.serialize(scxml));
+ }
+
+ public void testSerializeParallel() {
+
+ SCXML scxml = new SCXML();
+ scxml.setVersion("1.0");
+ scxml.setInitial("par");
+
+ Parallel par = new Parallel();
+ par.setId("par");
+
+ State s1 = new State();
+ s1.setId("S1");
+
+ State s11 = new State();
+ s11.setId("S11");
+
+ s1.addChild((TransitionTarget)s11);
+
+ State s2 = new State();
+ s2.setId("S2");
+
+ State s21 = new State();
+ s21.setId("S21");
+
+ s2.addChild((TransitionTarget)s21);
+
+ par.addChild((TransitionTarget)s1);
+ par.addChild((TransitionTarget)s2);
+
+ scxml.addChild(par);
+
+ String assertValue = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+ + "<scxml xmlns=\"http://www.w3.org/2005/07/scxml\" xmlns:cs=\"http://commons.apache.org/scxml\" "
+ + "version=\"1.0\" initial=\"par\">\n"
+ + " <parallel id=\"par\">\n"
+ + " <state id=\"S1\">\n"
+ + " <state id=\"S11\">\n"
+ + " </state>\n"
+ + " </state>\n"
+ + " <state id=\"S2\">\n"
+ + " <state id=\"S21\">\n"
+ + " </state>\n"
+ + " </state>\n"
+ + " </parallel>\n"
+ + "</scxml>\n";
+
+ String s = SCXMLSerializer.serialize(scxml);
+
+ assertEquals(assertValue, s);
+ }
+
}