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/25 10:48:26 UTC

svn commit: r957846 - in /commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram: src/org/apache/commons/scxml/modeling/diagram/part/ src/org/apache/commons/scxml/modeling/export/ xslt/

Author: guixl
Date: Fri Jun 25 08:48:25 2010
New Revision: 957846

URL: http://svn.apache.org/viewvc?rev=957846&view=rev
Log:
Finish state,parallel,onEntry,onExit and transition node transfer job for SCXML document import function

Added:
    commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/xslt/import.xsl   (with props)
Modified:
    commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/src/org/apache/commons/scxml/modeling/diagram/part/ModelingImportWizard.java
    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

Modified: commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/src/org/apache/commons/scxml/modeling/diagram/part/ModelingImportWizard.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/diagram/part/ModelingImportWizard.java?rev=957846&r1=957845&r2=957846&view=diff
==============================================================================
--- commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/src/org/apache/commons/scxml/modeling/diagram/part/ModelingImportWizard.java (original)
+++ commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/src/org/apache/commons/scxml/modeling/diagram/part/ModelingImportWizard.java Fri Jun 25 08:48:25 2010
@@ -212,20 +212,33 @@ public class ModelingImportWizard extend
 		 */
 		public void run(IProgressMonitor monitor)
 				throws InvocationTargetException, InterruptedException {
-			monitor.beginTask("SCXML document export progress", 9);
+			monitor.beginTask("SCXML document export progress", 13);
 
 			try {
-				String content = documentImportSelectPage
-						.getImportSCXMLContent();
+				ScxmlExportStreamHandlerAction shc = new ScxmlExportStreamHandlerAction();
+				String documentContent = documentImportSelectPage.getImportSCXMLContent();
 				monitor.worked(1);
+				documentContent=documentContent.replace("xmlns=\"http://www.w3.org/2005/07/scxml\"", "");
 				monitor.worked(1);
 				monitor.worked(1);
 				monitor.worked(1);
 				monitor.worked(1);
+				System.out.println(documentContent);
+				String content = shc.ExecuteXSL(documentContent, this
+						.getClass().getClassLoader().getResourceAsStream(
+								"xslt/import.xsl"));
 				monitor.worked(1);
+				content=content.replace("CONSTANT_org.apache.commons.scxml_CONSTANT", "org.apache.commons.scxml:");
 				monitor.worked(1);
-				xmlFile.setContents(new ScxmlExportStreamHandlerAction()
-						.string2InputStream(content), 1, null);
+				content=content.replace("CONSTANT_xmi_version_CONSTANT", "xml:version");
+				monitor.worked(1);
+				content=content.replace("CONSTANT_xmlns_xmi_CONSTANT", "xmlns:xmi");
+				monitor.worked(1);
+				content=content.replace("CONSTANT_xmlns_xsi_CONSTANT", "xmlns:xsi");
+				monitor.worked(1);
+				content=content.replace("CONSTANT_xmlns_org.apache.commons.scxml_CONSTANT", "xmlns:org.apache.commons.scxml");
+				monitor.worked(1);
+				xmlFile.setContents(shc.string2InputStream(content), 1, null);
 				monitor.worked(1);
 				if (monitor.isCanceled())
 					throw new InterruptedException(

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=957846&r1=957845&r2=957846&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 25 08:48:25 2010
@@ -179,7 +179,7 @@ public class ScxmlExportStreamHandlerAct
 			StreamResult result = new StreamResult(byteRep);
 			StreamSource style = new StreamSource(xslfile);
 			Transformer transformer = transformerFactory.newTransformer(style);
-			transformer.setOutputProperty(javax.xml.transform.OutputKeys.ENCODING, "utf-8"); // \u8BBE\u7F6E\u7F16\u7801
+			transformer.setOutputProperty(javax.xml.transform.OutputKeys.ENCODING, "UTF-8"); // \u8BBE\u7F6E\u7F16\u7801
 			transformer.transform(source, result);
 			return byteRep.toString();
 		} catch (Exception e) {

Added: commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/xslt/import.xsl
URL: http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/xslt/import.xsl?rev=957846&view=auto
==============================================================================
--- commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/xslt/import.xsl (added)
+++ commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/xslt/import.xsl Fri Jun 25 08:48:25 2010
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<xsl:output method="xml" encoding="utf-8"/>
+
+<xsl:template match="/">
+		<xsl:element name="CONSTANT_org.apache.commons.scxml_CONSTANTServiceTemplate">
+			<xsl:attribute name="CONSTANT_xmi_version_CONSTANT">2.0</xsl:attribute>
+			<xsl:attribute name="CONSTANT_xmlns_xmi_CONSTANT">http://www.omg.org/XMI</xsl:attribute>
+			<xsl:attribute name="CONSTANT_xmlns_xsi_CONSTANT">http://www.w3.org/2001/XMLSchema-instance</xsl:attribute>
+			<xsl:attribute name="CONSTANT_xmlns_org.apache.commons.scxml_CONSTANT">org.apache.commons.scxml</xsl:attribute>
+			<xsl:attribute name="initial"><xsl:value-of select="scxml/@initial"/></xsl:attribute>
+			<xsl:attribute name="name"><xsl:value-of select="scxml/@name"/></xsl:attribute>
+			<xsl:attribute name="version">1.0</xsl:attribute>
+			<xsl:attribute name="profile">profile</xsl:attribute>
+			<xsl:apply-templates/>
+		</xsl:element>
+</xsl:template>
+
+<xsl:template match="state">
+	<xsl:element name="stateList">
+		<xsl:choose>
+		<xsl:when test="@id">
+			<xsl:attribute name="id"><xsl:value-of  select="@id"/></xsl:attribute>
+		</xsl:when>
+		<xsl:otherwise>
+			<xsl:attribute name="id"><xsl:value-of  select="generate-id()"/></xsl:attribute>
+		</xsl:otherwise>
+		</xsl:choose>
+		<xsl:for-each select="*">
+			<xsl:choose>
+			<xsl:when test="name()='state'">
+				<xsl:call-template name="subState" />
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:apply-templates/>
+			</xsl:otherwise>
+			</xsl:choose>
+		</xsl:for-each>
+	</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 name="subState">
+	<xsl:element name="subState">
+		<xsl:choose>
+		<xsl:when test="@id">
+			<xsl:attribute name="id"><xsl:value-of  select="@id"/></xsl:attribute>
+		</xsl:when>
+		<xsl:otherwise>
+			<xsl:attribute name="id"><xsl:value-of  select="generate-id()"/></xsl:attribute>
+		</xsl:otherwise>
+		</xsl:choose>
+		<xsl:apply-templates/>
+	</xsl:element>
+</xsl:template>
+
+<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="transition">
+	<xsl:element name="targetConnection">
+		<xsl:if test="@event">
+			<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:if>
+		<xsl:attribute name="target"><xsl:value-of  select="@target"/></xsl:attribute>
+	</xsl:element>
+</xsl:template>
+
+</xsl:stylesheet>
\ No newline at end of file

Propchange: commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/xslt/import.xsl
------------------------------------------------------------------------------
    svn:eol-style = native