commons-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gu...@apache.org
Subject svn commit: r965859 - in /commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram: debug/CommonsSCXMLEngine.java src/org/apache/commons/scxml/modeling/diagram/part/ModelingNewDebugFileWizard.java
Date Tue, 20 Jul 2010 14:23:46 GMT
Author: guixl
Date: Tue Jul 20 14:23:46 2010
New Revision: 965859

URL: http://svn.apache.org/viewvc?rev=965859&view=rev
Log:
improve Apache Commons SCXML runtime class template

Modified:
    commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/debug/CommonsSCXMLEngine.java
    commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/src/org/apache/commons/scxml/modeling/diagram/part/ModelingNewDebugFileWizard.java

Modified: commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/debug/CommonsSCXMLEngine.java
URL: http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/debug/CommonsSCXMLEngine.java?rev=965859&r1=965858&r2=965859&view=diff
==============================================================================
--- commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/debug/CommonsSCXMLEngine.java
(original)
+++ commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/debug/CommonsSCXMLEngine.java
Tue Jul 20 14:23:46 2010
@@ -1,4 +1,4 @@
-package guixl;
+
 
 import java.io.BufferedReader;
 import java.io.IOException;
@@ -17,10 +17,10 @@ import org.apache.commons.scxml.model.Mo
 import org.apache.commons.scxml.model.SCXML;
 import org.xml.sax.SAXException;
 
-public class HelloWorld {
+public class $CLASS_NAME$ {
 
 	/**
-	 * @param args
+	 * Apache Commons SCXML engine 
 	 */
 	public static void main(String[] args) {
 		List customActions = new ArrayList();
@@ -32,8 +32,8 @@ public class HelloWorld {
         */
         SCXML scxml=null;
         try {
-			scxml =  SCXMLParser.parse(HelloWorld.class.getClassLoader().
-			        getResource("guixl/hello-world.xml"), null, customActions);
+			scxml =  SCXMLParser.parse($CLASS_NAME$.class.getClassLoader().
+			        getResource("$SCXML_DOCUMENT_RESOURCE$"), null, customActions);
 			SCXMLExecutor engine = new SCXMLExecutor(new JexlEvaluator(), new SimpleDispatcher(),
 		            new SimpleErrorReporter());
 	        engine.setStateMachine(scxml);

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/ModelingNewDebugFileWizard.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/ModelingNewDebugFileWizard.java?rev=965859&r1=965858&r2=965859&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/ModelingNewDebugFileWizard.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/ModelingNewDebugFileWizard.java
Tue Jul 20 14:23:46 2010
@@ -16,9 +16,11 @@
  */
 package org.apache.commons.scxml.modeling.diagram.part;
 
+import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
 import java.lang.reflect.InvocationTargetException;
 import java.util.LinkedList;
 import java.util.List;
@@ -73,6 +75,10 @@ public class ModelingNewDebugFileWizard 
 	 * model file
 	 */
 	private IFile modelFile;
+	
+	private String testCaseClassName;
+	
+	private IPath filePath;
 
 	/**
 	 * @generated
@@ -92,8 +98,8 @@ public class ModelingNewDebugFileWizard 
 		myFileCreationPage.setDescription(NLS.bind(
 				Messages.ModelingNewScxmlFileWizard_CreationPageDescription,
 				ServiceTemplateEditPart.MODEL_ID));
-		IPath filePath;
-		String fileName = domainModelURI.trimFileExtension().lastSegment();
+		
+		testCaseClassName=domainModelURI.trimFileExtension().lastSegment()+"TestCase";
 		if (domainModelURI.isPlatformResource()) {
 			filePath = new Path(domainModelURI.trimSegments(1)
 					.toPlatformString(true));
@@ -105,7 +111,7 @@ public class ModelingNewDebugFileWizard 
 		}
 		myFileCreationPage.setContainerFullPath(filePath);
 		myFileCreationPage.setFileName(ModelingDiagramEditorUtil
-				.getUniqueFileName(filePath, fileName, "java")); //$NON-NLS-1$
+				.getUniqueFileName(filePath, testCaseClassName, "java")); //$NON-NLS-1$
 
 		diagramRootElementSelectionPage = new DiagramRootElementSelectionPage(
 				Messages.ModelingNewScxmlFileWizard_RootSelectionPageName);
@@ -133,6 +139,26 @@ public class ModelingNewDebugFileWizard 
 		}
 		return baos.toString();
 	}
+	
+	/**
+	 * 
+	 * @param str
+	 * @return change string to InputStream
+	 */
+	public InputStream string2InputStream(String str) {
+		ByteArrayInputStream stream = null;
+		try {
+			stream = new ByteArrayInputStream(str.getBytes("UTF-8"));
+		} catch (UnsupportedEncodingException e) {
+			e.printStackTrace();
+		}
+		if (stream != null)
+			return stream;
+		else {
+			System.out.println("stream is null");
+			return null;
+		}
+	}
 
 	/**
 	 * @generated
@@ -202,8 +228,15 @@ public class ModelingNewDebugFileWizard 
 			try {
 				InputStream fileTemplate=this.getClass().getClassLoader().getResourceAsStream("debug/CommonsSCXMLEngine.java");
 				monitor.worked(1);
-				debugClassFile.setContents(fileTemplate, 1, null);
-				monitor.worked(8);
+				String content=inputStream2String(fileTemplate);
+				content=content.replace("$CLASS_NAME$", testCaseClassName);
+				monitor.worked(1);
+				String wholePath=filePath+"/"+testCaseClassName+".xml";
+				String scxmlPath=wholePath.substring(wholePath.indexOf("/", 1));
+				content=content.replace("$SCXML_DOCUMENT_RESOURCE$", scxmlPath);
+				monitor.worked(1);
+				debugClassFile.setContents(string2InputStream(content), 1, null);
+				monitor.worked(7);
 				
 				// get target list by regular expression
 				/*ScxmlExportStreamHandlerAction shc = new ScxmlExportStreamHandlerAction(
@@ -235,6 +268,9 @@ public class ModelingNewDebugFileWizard 
 				monitor.done();
 			} catch (CoreException e) {
 				e.printStackTrace();
+			} catch (IOException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
 			}
 		}
 	}



Mime
View raw message