You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gu...@apache.org on 2010/06/18 10:43:15 UTC
svn commit: r955887 - in
/commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram:
src/org/apache/commons/scxml/modeling/export/ScxmlExportStreamHandlerAction.java
xslt/export.xsl
Author: guixl
Date: Fri Jun 18 08:43:14 2010
New Revision: 955887
URL: http://svn.apache.org/viewvc?rev=955887&view=rev
Log:
Improve SCXML document export function, add subState,parallel,finalState,historyState and some other SCXML elements
Modified:
commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/src/org/apache/commons/scxml/modeling/export/ScxmlExportStreamHandlerAction.java
commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/xslt/export.xsl
Modified: commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/src/org/apache/commons/scxml/modeling/export/ScxmlExportStreamHandlerAction.java
URL: http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/src/org/apache/commons/scxml/modeling/export/ScxmlExportStreamHandlerAction.java?rev=955887&r1=955886&r2=955887&view=diff
==============================================================================
--- commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/src/org/apache/commons/scxml/modeling/export/ScxmlExportStreamHandlerAction.java (original)
+++ commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/src/org/apache/commons/scxml/modeling/export/ScxmlExportStreamHandlerAction.java Fri Jun 18 08:43:14 2010
@@ -75,7 +75,8 @@ public class ScxmlExportStreamHandlerAct
}
public void contentPreHandler(){
- streamContnet=streamContnet.replace("org.apache.commons.scxml:ServiceTemplate", "ServiceTemplate");
+ streamContnet=streamContnet.replace("org.apache.commons.scxml:", "org.apache.commons.scxml_");
+ streamContnet=streamContnet.replace("xsi:type", "xsi_type");
}
public void getTargetList() {
String regx = "targetStatus=\"\\S+\"";
Modified: commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/xslt/export.xsl
URL: http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/xslt/export.xsl?rev=955887&r1=955886&r2=955887&view=diff
==============================================================================
--- commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/xslt/export.xsl (original)
+++ commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/xslt/export.xsl Fri Jun 18 08:43:14 2010
@@ -4,14 +4,20 @@
<xsl:template match="/">
<xsl:element name="scxml">
- <xsl:attribute name="initial"><xsl:value-of select="ServiceTemplate/@initial"/></xsl:attribute>
- <xsl:attribute name="name"><xsl:value-of select="ServiceTemplate/@name"/></xsl:attribute>
+ <xsl:attribute name="initial"><xsl:value-of select="org.apache.commons.scxml_ServiceTemplate/@initial"/></xsl:attribute>
+ <xsl:attribute name="name"><xsl:value-of select="org.apache.commons.scxml_ServiceTemplate/@name"/></xsl:attribute>
<xsl:attribute name="version">1.0</xsl:attribute>
<xsl:attribute name="xmlns_attribute_url_in_xslt_file">http://www.w3.org/2005/07/scxml</xsl:attribute>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
+<xsl:template match="initState">
+ <xsl:element name="initial">
+ <xsl:apply-templates/>
+ </xsl:element>
+</xsl:template>
+
<xsl:template match="stateList">
<xsl:element name="state">
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
@@ -19,6 +25,22 @@
</xsl:element>
</xsl:template>
+<xsl:template match="parallel">
+ <xsl:element name="parallel">
+ <xsl:if test="@id">
+ <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </xsl:element>
+</xsl:template>
+
+<xsl:template match="finalState">
+ <xsl:element name="state">
+ <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
+ <xsl:apply-templates/>
+ </xsl:element>
+</xsl:template>
+
<xsl:template match="subState">
<xsl:element name="state">
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
@@ -28,24 +50,120 @@
<xsl:template match="onEntry">
<xsl:element name="onEntry">
+ <xsl:apply-templates/>
</xsl:element>
</xsl:template>
<xsl:template match="onExit">
<xsl:element name="onExit">
+ <xsl:apply-templates/>
+ </xsl:element>
+</xsl:template>
+
+<xsl:template match="invoke">
+ <xsl:element name="invoke">
+ <xsl:if test="@type"><xsl:attribute name="type"><xsl:value-of select="@type"/></xsl:attribute></xsl:if>
+ <xsl:if test="@typeexpr"><xsl:attribute name="typeexpr"><xsl:value-of select="@typeexpr"/></xsl:attribute></xsl:if>
+ <xsl:if test="@src"><xsl:attribute name="src"><xsl:value-of select="@src"/></xsl:attribute></xsl:if>
+ <xsl:if test="@srcexpr"><xsl:attribute name="srcexpr"><xsl:value-of select="@srcexpr"/></xsl:attribute></xsl:if>
+ <xsl:if test="@id"><xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute></xsl:if>
+ <xsl:if test="@idlocation"><xsl:attribute name="idlocation"><xsl:value-of select="@idlocation"/></xsl:attribute></xsl:if>
+ <xsl:if test="@namelist"><xsl:attribute name="namelist"><xsl:value-of select="@namelist"/></xsl:attribute></xsl:if>
+ <xsl:if test="@autoforward"><xsl:attribute name="autoforward"><xsl:value-of select="@autoforward"/></xsl:attribute></xsl:if>
+ <xsl:apply-templates/>
+ </xsl:element>
+</xsl:template>
+
+<xsl:template match="historyState">
+ <xsl:element name="history">
+ <xsl:if test="@id"><xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute></xsl:if>
+ <xsl:if test="@type"><xsl:attribute name="type"><xsl:value-of select="@type"/></xsl:attribute></xsl:if>
+ <xsl:apply-templates/>
+ </xsl:element>
+</xsl:template>
+
+<xsl:template match="subParallel">
+ <xsl:element name="parallel">
+ <xsl:if test="@id">
+ <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates/>
</xsl:element>
</xsl:template>
<xsl:template match="targetConnection">
<xsl:element name="transition">
<xsl:if test="@event">
- <xsl:attribute name="event"><xsl:value-of select="@event"/></xsl:attribute>
+ <xsl:attribute name="event"><xsl:value-of select="@event"/></xsl:attribute>
</xsl:if>
<xsl:if test="@cond">
- <xsl:attribute name="cond"><xsl:value-of select="@cond"/></xsl:attribute>
+ <xsl:attribute name="cond"><xsl:value-of select="@cond"/></xsl:attribute>
</xsl:if>
<xsl:attribute name="target"><xsl:value-of select="@target"/></xsl:attribute>
</xsl:element>
</xsl:template>
+<xsl:template match="executableContext">
+ <xsl:choose>
+ <xsl:when test="@xsi_type='org.apache.commons.scxml_Log'">
+ <xsl:element name="log">
+ <xsl:attribute name="label"><xsl:value-of select="@label"/></xsl:attribute>
+ <xsl:attribute name="expr"><xsl:value-of select="@expr"/></xsl:attribute>
+ </xsl:element>
+ </xsl:when>
+ <xsl:when test="@xsi_type='org.apache.commons.scxml_Raise'">
+ <xsl:element name="raise">
+ <xsl:attribute name="event"><xsl:value-of select="@event"/></xsl:attribute>
+ </xsl:element>
+ </xsl:when>
+ <xsl:when test="@xsi_type='org.apache.commons.scxml_If'">
+ <xsl:element name="if">
+ <xsl:attribute name="cond"><xsl:value-of select="@cond"/></xsl:attribute>
+ <xsl:apply-templates/>
+ </xsl:element>
+ </xsl:when>
+ <xsl:when test="@xsi_type='org.apache.commons.scxml_Assign'">
+ <xsl:element name="assign">
+ <xsl:attribute name="location"><xsl:value-of select="@location"/></xsl:attribute>
+ <xsl:attribute name="expr"><xsl:value-of select="@expr"/></xsl:attribute>
+ </xsl:element>
+ </xsl:when>
+ <xsl:otherwise>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="dataModel">
+ <xsl:element name="datamodel">
+ <xsl:if test="@schema">
+ <xsl:attribute name="schema"><xsl:value-of select="@schema"/></xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </xsl:element>
+</xsl:template>
+
+<xsl:template match="data">
+ <xsl:element name="data">
+ <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
+ <xsl:if test="@src">
+ <xsl:attribute name="src"><xsl:value-of select="@src"/></xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@expr">
+ <xsl:attribute name="expr"><xsl:value-of select="@expr"/></xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </xsl:element>
+</xsl:template>
+
+<xsl:template match="content">
+ <xsl:element name="content">
+ <xsl:apply-templates/>
+ </xsl:element>
+</xsl:template>
+
+<xsl:template match="script">
+ <xsl:element name="script">
+ </xsl:element>
+</xsl:template>
+
</xsl:stylesheet>
\ No newline at end of file