commons-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gu...@apache.org
Subject svn commit: r965504 - in /commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram: ./ debug/ icons/obj16/ src/org/apache/commons/scxml/modeling/debug/ src/org/apache/commons/scxml/modeling/diagram/part/
Date Mon, 19 Jul 2010 14:38:22 GMT
Author: guixl
Date: Mon Jul 19 14:38:21 2010
New Revision: 965504

URL: http://svn.apache.org/viewvc?rev=965504&view=rev
Log:
start scxml document debug model job

Added:
    commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/debug/
    commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/debug/CommonsSCXMLEngine.java
  (with props)
    commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/icons/obj16/ScxmlCreateDebug.gif
  (with props)
    commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/src/org/apache/commons/scxml/modeling/debug/
    commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/src/org/apache/commons/scxml/modeling/debug/ModelingDocumentDebugWizard.java
  (with props)
    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
  (with props)
Modified:
    commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/plugin.properties
    commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/plugin.xml

Added: 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=965504&view=auto
==============================================================================
--- commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/debug/CommonsSCXMLEngine.java
(added)
+++ commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/debug/CommonsSCXMLEngine.java
Mon Jul 19 14:38:21 2010
@@ -0,0 +1,63 @@
+package guixl;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.commons.scxml.SCXMLExecutor;
+import org.apache.commons.scxml.TriggerEvent;
+import org.apache.commons.scxml.env.SimpleDispatcher;
+import org.apache.commons.scxml.env.SimpleErrorReporter;
+import org.apache.commons.scxml.env.jexl.JexlContext;
+import org.apache.commons.scxml.env.jexl.JexlEvaluator;
+import org.apache.commons.scxml.io.SCXMLParser;
+import org.apache.commons.scxml.model.ModelException;
+import org.apache.commons.scxml.model.SCXML;
+import org.xml.sax.SAXException;
+
+public class HelloWorld {
+
+	/**
+	 * @param args
+	 */
+	public static void main(String[] args) {
+		List customActions = new ArrayList();
+        /*
+         * Add CustomAction implement class here
+         * 
+         * CustomAction ca = new CustomAction("http://my.custom-actions.domain/CUSTOM","hello",
Hello.class);
+         * customActions.add(ca);
+        */
+        SCXML scxml=null;
+        try {
+			scxml =  SCXMLParser.parse(HelloWorld.class.getClassLoader().
+			        getResource("guixl/hello-world.xml"), null, customActions);
+			SCXMLExecutor engine = new SCXMLExecutor(new JexlEvaluator(), new SimpleDispatcher(),
+		            new SimpleErrorReporter());
+	        engine.setStateMachine(scxml);
+	        engine.setSuperStep(true);
+	        engine.setRootContext(new JexlContext());
+	        //engine.addListener(scxml, new Listener());
+	        engine.go();
+	        while(true){
+	        	BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));   
+	            System.out.print("Command input:");   
+	            String str;
+				str = reader.readLine();
+				if(str.trim().equals("exit")) break;
+				else{
+					engine.triggerEvent(new TriggerEvent(str,TriggerEvent.SIGNAL_EVENT));
+				}
+	        }
+		} catch (IOException e) {
+			e.printStackTrace();
+		} catch (SAXException e) {
+			e.printStackTrace();
+		} catch (ModelException e) {
+			e.printStackTrace();
+		} 
+	}
+
+}

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

Added: commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/icons/obj16/ScxmlCreateDebug.gif
URL: http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/icons/obj16/ScxmlCreateDebug.gif?rev=965504&view=auto
==============================================================================
Binary file - no diff available.

Propchange: commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/icons/obj16/ScxmlCreateDebug.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Modified: commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/plugin.properties
URL: http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/plugin.properties?rev=965504&r1=965503&r2=965504&view=diff
==============================================================================
--- commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/plugin.properties
(original)
+++ commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/plugin.properties
Mon Jul 19 14:38:21 2010
@@ -18,6 +18,9 @@ importWizardName=Import SCXML Document
 importWizardDesc=Creates Modeling diagram by importing SCXML document.
 SCXML=SCXML
 
+createDebugWizardName=Create Apache Commons SCXML Debug Runtime
+createDebugWizardDesc=Creates Apache Commons SCXML engine runtime.
+
 exportScxmlDocumentLabel=Export Scxml Document
 initDiagramActionLabel=Initialize modeling_diagram diagram file
 loadResourceActionLabel=Load Resource...

Modified: commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/plugin.xml
URL: http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/plugin.xml?rev=965504&r1=965503&r2=965504&view=diff
==============================================================================
--- commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/plugin.xml
(original)
+++ commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/plugin.xml
Mon Jul 19 14:38:21 2010
@@ -45,8 +45,8 @@
    <extension point="org.eclipse.ui.newWizards">
       <?gmfgen generated="true"?>
       <category
-		   id = "org.apache.commons.scxml.modeling.import"
-		   name="%SCXML">
+            id="org.apache.commons.scxml.modeling.import"
+            name="%SCXML">
 	  </category>
   	  <wizard
   	     name="%newWizardName"
@@ -60,8 +60,8 @@
 <extension point="org.eclipse.ui.newWizards">
       <?gmfgen generated="true"?>
       <category
-		   id = "org.apache.commons.scxml.modeling.import"
-		   name="%SCXML">
+            id="org.apache.commons.scxml.modeling.import"
+            name="%SCXML">
 	  </category>
   	  <wizard
   	     name="%importWizardName"
@@ -71,8 +71,7 @@
   	     id="org.apache.commons.scxml.modeling.diagram.part.ModelingImportWizardID">
   	  	 <description>%importWizardDesc</description>  
       </wizard>
-   </extension>   
-   
+   </extension>
 
    <extension point="org.eclipse.ui.popupMenus">
       <?gmfgen generated="true"?>
@@ -122,6 +121,23 @@
          </action>
       </objectContribution>
       </extension>
+      
+      <extension point="org.eclipse.ui.popupMenus">
+   <objectContribution
+            objectClass="org.eclipse.core.resources.IFile"
+            nameFilter="*.modeling"
+            id="org.apache.commons.scxml.modeling.createDebug">
+         <action
+         	   enablesFor="1"
+               label="%createDebugWizardName"
+               tooltip="%createDebugWizardDesc"
+               class="org.apache.commons.scxml.modeling.debug.ModelingDocumentDebugWizard"
+               icon="icons/obj16/ScxmlCreateDebug.gif"
+               menubarPath="additions"
+               id="org.apache.commons.scxml.modeling.createDebugAction">
+         </action>
+      </objectContribution>
+      </extension>
 	
    <extension point="org.eclipse.gmf.runtime.common.ui.services.action.globalActionHandlerProviders">
       <?gmfgen generated="true"?>
@@ -1210,4 +1226,4 @@
          schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
          sequence="F5"/>
    </extension>
-</plugin>
\ No newline at end of file
+</plugin>

Added: commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/src/org/apache/commons/scxml/modeling/debug/ModelingDocumentDebugWizard.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/debug/ModelingDocumentDebugWizard.java?rev=965504&view=auto
==============================================================================
--- commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/src/org/apache/commons/scxml/modeling/debug/ModelingDocumentDebugWizard.java
(added)
+++ commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.modeling.diagram/src/org/apache/commons/scxml/modeling/debug/ModelingDocumentDebugWizard.java
Mon Jul 19 14:38:21 2010
@@ -0,0 +1,126 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.commons.scxml.modeling.debug;
+
+import org.apache.commons.scxml.modeling.diagram.edit.parts.ServiceTemplateEditPart;
+import org.apache.commons.scxml.modeling.diagram.part.Messages;
+import org.apache.commons.scxml.modeling.diagram.part.ModelingDiagramEditorPlugin;
+import org.apache.commons.scxml.modeling.diagram.part.ModelingDiagramEditorUtil;
+import org.apache.commons.scxml.modeling.diagram.part.ModelingNewDebugFileWizard;
+import org.apache.commons.scxml.modeling.export.ModelingDocumentExportWizard;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.gmf.runtime.emf.core.GMFEditingDomainFactory;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IObjectActionDelegate;
+import org.eclipse.ui.IWorkbenchPart;
+
+/**
+ * Create Apache Commons SCXML debug runtime
+ */
+public class ModelingDocumentDebugWizard implements IObjectActionDelegate{
+	/**
+	 * @generated
+	 */
+	private IWorkbenchPart targetPart;
+
+	/**
+	 * @generated
+	 */
+	private URI domainModelURI;
+	
+	private IFile file;
+
+	/**
+	 * @generated
+	 */
+	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
+		this.targetPart = targetPart;
+	}
+
+	/**
+	 * @generated
+	 */
+	public void selectionChanged(IAction action, ISelection selection) {
+		domainModelURI = null;
+		action.setEnabled(false);
+		if (selection instanceof IStructuredSelection == false
+				|| selection.isEmpty()) {
+			return;
+		}
+		file = (IFile) ((IStructuredSelection) selection)
+				.getFirstElement();		
+		
+		domainModelURI = URI.createPlatformResourceURI(file.getFullPath()
+				.toString(), true);
+		action.setEnabled(true);
+	}
+
+	/**
+	 * @generated
+	 */
+	private Shell getShell() {
+		return targetPart.getSite().getShell();
+	}
+
+	/**
+	 * @generated
+	 */
+	public void run(IAction action) {
+		TransactionalEditingDomain editingDomain = GMFEditingDomainFactory.INSTANCE
+				.createEditingDomain();
+		ResourceSet resourceSet = editingDomain.getResourceSet();
+		EObject diagramRoot = null;
+		try {
+			Resource resource = resourceSet.getResource(domainModelURI, true);
+			diagramRoot = (EObject) resource.getContents().get(0);
+		} catch (WrappedException ex) {
+			ModelingDiagramEditorPlugin.getInstance().logError(
+					"Unable to load resource: " + domainModelURI, ex); //$NON-NLS-1$
+		}
+		if (diagramRoot == null) {
+			MessageDialog
+					.openError(
+							getShell(),
+							Messages.ModelingInitDiagramFileAction_InitDiagramFileResourceErrorDialogTitle,
+							Messages.ModelingInitDiagramFileAction_InitDiagramFileResourceErrorDialogMessage);
+			return;
+		}
+		Wizard wizard = new ModelingNewDebugFileWizard(file,domainModelURI,
+				diagramRoot, editingDomain);
+		wizard
+				.setWindowTitle(NLS
+						.bind(
+								Messages.ModelingInitDiagramFileAction_ExportScxmlDocumentWizardTitle,
+								ServiceTemplateEditPart.MODEL_ID));
+		ModelingDiagramEditorUtil.runWizard(getShell(), wizard,
+				"ExportScxmlDocument"); //$NON-NLS-1$
+	}
+}
+

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

Added: 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=965504&view=auto
==============================================================================
--- 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
(added)
+++ 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
Mon Jul 19 14:38:21 2010
@@ -0,0 +1,282 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.scxml.modeling.diagram.part;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.lang.reflect.InvocationTargetException;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.apache.commons.scxml.modeling.diagram.edit.parts.ServiceTemplateEditPart;
+import org.apache.commons.scxml.modeling.diagram.part.Messages;
+import org.apache.commons.scxml.modeling.diagram.part.ModelElementSelectionPage;
+import org.apache.commons.scxml.modeling.diagram.part.ModelingDiagramEditorPlugin;
+import org.apache.commons.scxml.modeling.diagram.part.ModelingDiagramEditorUtil;
+import org.apache.commons.scxml.modeling.diagram.part.ModelingVisualIDRegistry;
+import org.apache.commons.scxml.modeling.export.ScxmlExportStreamHandlerAction;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.gmf.runtime.diagram.core.services.ViewService;
+import org.eclipse.gmf.runtime.diagram.core.services.view.CreateDiagramViewOperation;
+import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+
+/**
+ * Apache Commons SCXML debug runtime wizard
+ *
+ */
+public class ModelingNewDebugFileWizard extends Wizard {
+
+	/**
+	 * @generated
+	 */
+	private WizardNewFileCreationPage myFileCreationPage;
+
+	/**
+	 * @generated
+	 */
+	private ModelElementSelectionPage diagramRootElementSelectionPage;
+
+	/**
+	 * @generated
+	 */
+	private TransactionalEditingDomain myEditingDomain;
+
+	/**
+	 * model file
+	 */
+	private IFile modelFile;
+
+	/**
+	 * @generated
+	 */
+	public ModelingNewDebugFileWizard(IFile file, URI domainModelURI,
+			EObject diagramRoot, TransactionalEditingDomain editingDomain) {
+		modelFile = file;
+		assert domainModelURI != null : "Domain model uri must be specified"; //$NON-NLS-1$
+		assert diagramRoot != null : "Doagram root element must be specified"; //$NON-NLS-1$
+		assert editingDomain != null : "Editing domain must be specified"; //$NON-NLS-1$
+
+		myFileCreationPage = new WizardNewFileCreationPage(
+				Messages.ModelingNewScxmlFileWizard_CreationPageName,
+				StructuredSelection.EMPTY);
+		myFileCreationPage
+				.setTitle(Messages.ModelingNewScxmlFileWizard_CreationPageTitle);
+		myFileCreationPage.setDescription(NLS.bind(
+				Messages.ModelingNewScxmlFileWizard_CreationPageDescription,
+				ServiceTemplateEditPart.MODEL_ID));
+		IPath filePath;
+		String fileName = domainModelURI.trimFileExtension().lastSegment();
+		if (domainModelURI.isPlatformResource()) {
+			filePath = new Path(domainModelURI.trimSegments(1)
+					.toPlatformString(true));
+		} else if (domainModelURI.isFile()) {
+			filePath = new Path(domainModelURI.trimSegments(1).toFileString());
+		} else {
+			throw new IllegalArgumentException(
+					"Unsupported URI: " + domainModelURI); //$NON-NLS-1$
+		}
+		myFileCreationPage.setContainerFullPath(filePath);
+		myFileCreationPage.setFileName(ModelingDiagramEditorUtil
+				.getUniqueFileName(filePath, fileName, "java")); //$NON-NLS-1$
+
+		diagramRootElementSelectionPage = new DiagramRootElementSelectionPage(
+				Messages.ModelingNewScxmlFileWizard_RootSelectionPageName);
+		diagramRootElementSelectionPage
+				.setTitle(Messages.ModelingNewScxmlFileWizard_RootSelectionPageTitle);
+		diagramRootElementSelectionPage
+				.setDescription(Messages.ModelingNewScxmlFileWizard_RootSelectionPageDescription);
+		diagramRootElementSelectionPage.setModelElement(diagramRoot);
+
+		myEditingDomain = editingDomain;
+
+	}
+
+	/**
+	 * 
+	 * @param is
+	 * @return change InputStream to String object
+	 * @throws IOException
+	 */
+	public static String inputStream2String(InputStream is) throws IOException {
+		ByteArrayOutputStream baos = new ByteArrayOutputStream();
+		int i = -1;
+		while ((i = is.read()) != -1) {
+			baos.write(i);
+		}
+		return baos.toString();
+	}
+
+	/**
+	 * @generated
+	 */
+	public void addPages() {
+		addPage(myFileCreationPage);
+		addPage(diagramRootElementSelectionPage);
+	}
+
+	/**
+	 * @generated
+	 */
+	public boolean performFinish() {
+		try {
+			List affectedFiles = new LinkedList();
+			final IFile xmlFile = myFileCreationPage.createNewFile();
+			affectedFiles.add(xmlFile);
+			new ProgressMonitorDialog(null).run(true, false,
+					new ScxmlExportOperation(false,xmlFile));
+		} catch (InvocationTargetException e1) {
+			e1.printStackTrace();
+		} catch (InterruptedException e1) {
+			e1.printStackTrace();
+		}
+
+		return true;
+	}
+
+	class ScxmlExportOperation implements IRunnableWithProgress {
+
+		private boolean indeterminate;
+		private IFile debugClassFile;
+
+		/**
+		 * LongRunningOperation constructor
+		 * 
+		 * @param indeterminate
+		 *            whether the animation is unknown
+		 */
+		public ScxmlExportOperation(boolean indeterminate,IFile file) {
+			this.indeterminate = indeterminate;
+			debugClassFile=file;
+		}
+		
+		public IFile getXmlFile() {
+			return debugClassFile;
+		}
+
+		public void setXmlFile(IFile xmlFile) {
+			this.debugClassFile = xmlFile;
+		}
+
+		/**
+		 * Runs the long running operation
+		 * 
+		 * @param monitor
+		 *            the progress monitor
+		 */
+		public void run(IProgressMonitor monitor)
+				throws InvocationTargetException, InterruptedException {
+
+			int diagramVID = ModelingVisualIDRegistry
+					.getDiagramVisualID(diagramRootElementSelectionPage
+							.getModelElement());
+			monitor.beginTask("SCXML document export progress",9);
+			
+			try {
+				InputStream fileTemplate=this.getClass().getClassLoader().getResourceAsStream("debug/CommonsSCXMLEngine.java");
+				monitor.worked(1);
+				debugClassFile.setContents(fileTemplate, 1, null);
+				monitor.worked(8);
+				
+				// get target list by regular expression
+				/*ScxmlExportStreamHandlerAction shc = new ScxmlExportStreamHandlerAction(
+						modelFile.getContents());
+				shc.contentPreHandler();
+				monitor.worked(1);
+				shc.getTargetList();
+				monitor.worked(1);
+				shc.transferToXpath();
+				monitor.worked(1);
+				shc.getIdMap(modelFile.getContents());
+				monitor.worked(1);
+				shc.updateTargetId();
+				monitor.worked(1);
+				System.out.println(shc.getStreamContnet());
+				String content = shc.ExecuteXSL(shc.getStreamContnet(), this
+						.getClass().getClassLoader().getResourceAsStream(
+								"xslt/export.xsl"));
+				monitor.worked(1);
+				content=content.replace("xmlns_attribute_url_in_xslt_file", "xmlns");
+				monitor.worked(1);
+				xmlFile.setContents(shc.string2InputStream(content), 1, null);
+				monitor.worked(1);*/
+				
+				
+				if (monitor.isCanceled()) throw new InterruptedException(
+				"The SCXML document debug class creation operation was cancelled");
+				
+				monitor.done();
+			} catch (CoreException e) {
+				e.printStackTrace();
+			}
+		}
+	}
+
+	/**
+	 * @generated
+	 */
+	private static class DiagramRootElementSelectionPage extends
+			ModelElementSelectionPage {
+
+		/**
+		 * @generated
+		 */
+		protected DiagramRootElementSelectionPage(String pageName) {
+			super(pageName);
+		}
+
+		/**
+		 * @generated
+		 */
+		protected String getSelectionTitle() {
+			return Messages.ModelingNewScxmlFileWizard_RootSelectionPageSelectionTitle;
+		}
+
+		/**
+		 * @generated
+		 */
+		protected boolean validatePage() {
+			if (selectedModelElement == null) {
+				setErrorMessage(Messages.ModelingNewScxmlFileWizard_RootSelectionPageNoSelectionMessage);
+				return false;
+			}
+			boolean result = ViewService
+					.getInstance()
+					.provides(
+							new CreateDiagramViewOperation(
+									new EObjectAdapter(selectedModelElement),
+									ServiceTemplateEditPart.MODEL_ID,
+									ModelingDiagramEditorPlugin.DIAGRAM_PREFERENCES_HINT));
+			setErrorMessage(result ? null
+					: Messages.ModelingNewScxmlFileWizard_RootSelectionPageInvalidSelectionMessage);
+			return result;
+		}
+	}
+}

Propchange: 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
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message