Author: jbeard
Date: Sat Jul 24 03:44:06 2010
New Revision: 978787

URL: http://svn.apache.org/viewvc?rev=978787&view=rev
Log:
Refactored stuff to use dependency injection.

Added:
    commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xml/
    
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xml/browser.js
   (with props)
    
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xml/ie.js
   (with props)
    
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xml/rhino.js
   (with props)
    commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xsl/
    
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xsl/browser.js
   (with props)
    
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xsl/ie.js
   (with props)
    
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xsl/rhino.js
   (with props)
Removed:
    
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/Transformer.js
    
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xml.js
Modified:
    commons/sandbox/gsoc/2010/scxml-js/trunk/build.js
    
commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drag-and-drop/drag-and-drop.xhtml
    
commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drag-and-drop/drag-and-drop2.xhtml
    commons/sandbox/gsoc/2010/scxml-js/trunk/demo/sandbox/sandbox.html
    
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/SCXMLCompiler.js
    commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/main.js
    commons/sandbox/gsoc/2010/scxml-js/trunk/test/SCXMLCompiler.js
    commons/sandbox/gsoc/2010/scxml-js/trunk/test/testBrowserTransform.html

Modified: commons/sandbox/gsoc/2010/scxml-js/trunk/build.js
URL: 
http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-js/trunk/build.js?rev=978787&r1=978786&r2=978787&view=diff
==============================================================================
--- commons/sandbox/gsoc/2010/scxml-js/trunk/build.js (original)
+++ commons/sandbox/gsoc/2010/scxml-js/trunk/build.js Sat Jul 24 03:44:06 2010
@@ -21,8 +21,8 @@ require.def("build",
                "src/javascript/scxml/cgf/util/file",   
                "src/javascript/scxml/cgf/SCXMLCompiler",
                "src/javascript/scxml/cgf/PerformanceAnalyzer",
-               "src/javascript/scxml/cgf/Transformer",
-               "src/javascript/scxml/cgf/util/xml",
+               "src/javascript/scxml/cgf/util/xsl/rhino",
+               "src/javascript/scxml/cgf/util/xml/rhino",
                "test/testHelpers.js",
                "lib/js/json2.js",
                "lib/test-js/env.js",
@@ -316,10 +316,8 @@ require.def("build",
 
                                                                                
        //recursive callback
                                                                                
        step();
-                                                                               
}
-                                                                       )
-                                                               }
-                                                       )
+                                                                               
}, Transformer)
+                                                               }, Transformer)
                                                },
                                                compilerCallback);
 
@@ -858,29 +856,36 @@ require.def("build",
                                                        [ 
"src/javascript/scxml/cgf/SCXMLCompiler",
                                                                
"xml!{modulePathToXMLTest}",
                                                                
"{testScriptModulePath}"],
-                                                       
function(compiler,KitchenSink_executableContent,testScriptModule){
-                                                               var compileLog 
= true;
-
-                                                               
compiler.compile({
-                                                                       
inFiles:[KitchenSink_executableContent],
-                                                                       
backend:"{backendName}",
-                                                                       
beautify:true,
-                                                                       
verbose:false,
-                                                                       
log:compileLog,
-                                                                       
ie:{isIE}
-                                                               }, 
function(scArr){
-                                                                       var 
transformedJs = scArr[0];
 
-                                                                       
console.log(transformedJs);
-
-                                                                       //eval
-                                                                       
eval(transformedJs);
-
-                                                                       
testScriptModule.register(StatechartExecutionContext);
-
-                                                                       
dojo.require("doh.runner"); 
-                                                                       
doh.run();
-                                                               });
+                                                       require( 
[window.DOMParser ?
+                                                                       
"src/javascript/scxml/cgf/util/xsl/browser" :
+                                                                       
"src/javascript/scxml/cgf/util/xsl/ie"],
+                                                               
function(transform){
+
+                                                               
function(compiler,KitchenSink_executableContent,testScriptModule){
+                                                                       var 
compileLog = true;
+
+                                                                       
compiler.compile({
+                                                                               
inFiles:[KitchenSink_executableContent],
+                                                                               
backend:"{backendName}",
+                                                                               
beautify:true,
+                                                                               
verbose:false,
+                                                                               
log:compileLog,
+                                                                               
ie:{isIE}
+                                                                       }, 
function(scArr){
+                                                                               
var transformedJs = scArr[0];
+
+                                                                               
console.log(transformedJs);
+
+                                                                               
//eval
+                                                                               
eval(transformedJs);
+
+                                                                               
testScriptModule.register(StatechartExecutionContext);
+
+                                                                               
dojo.require("doh.runner"); 
+                                                                               
doh.run();
+                                                                       
},transform);
+                                                               }
                                                        }
                                                );
 

Modified: 
commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drag-and-drop/drag-and-drop.xhtml
URL: 
http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drag-and-drop/drag-and-drop.xhtml?rev=978787&r1=978786&r2=978787&view=diff
==============================================================================
--- 
commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drag-and-drop/drag-and-drop.xhtml 
(original)
+++ 
commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drag-and-drop/drag-and-drop.xhtml 
Sat Jul 24 03:44:06 2010
@@ -125,55 +125,62 @@ using SCXML: 
 
                                function(compiler){
 
-                                       var statusDiv = 
document.getElementById("statusDiv");
-
-                                       statusDiv.textContent="Compiling SCXML 
elements...";
-
-                                       //pull SCXML nodes from DOM
-                                       var scxmlElements = 
document.getElementsByTagName("scxml");
-                                       for(var i = 0; i < 
scxmlElements.length; i++){
-                                               var scxml_input = 
scxmlElements[i];
-                                               var domNodeToHookUp = 
scxml_input.parentNode;
-
-                                               //prep scxml document to 
transform by pulling the scxml node into its own document
-                                               var scxmlns = 
"http://www.w3.org/2005/07/scxml";;
-                                               var scxmlToTransform = 
document.implementation.createDocument (scxmlns , "scxml", null);
-                                               var newNode = 
scxmlToTransform.importNode(scxml_input.cloneNode(true),true);
-                                               
scxmlToTransform.replaceChild(newNode,scxmlToTransform.documentElement);
-
-                                               var 
compiledStatechartConstructor, compiledStatechartInstance; 
-
-                                               compiler.compile({
-                                                       
inFiles:[scxmlToTransform],
-                                                       //debug:true,
-                                                       backend:"state",
-                                                       beautify:true,
-                                                       verbose:false,
-                                                       log:false,
-                                                       ie:false
-                                               }, function(scArr){
-                                                       var transformedJs = 
scArr[0];
-
-                                                       //eval
-                                                       
console.log(transformedJs);
-                                                       eval(transformedJs);
-                                                       
compiledStatechartConstructor = StatechartExecutionContext;
-                                                       
compiledStatechartInstance = new compiledStatechartConstructor(); 
-
-                                                       //initialize
-                                                       
compiledStatechartInstance.initialize();
-                                                       
-                                                       //pass in reference to 
rect
-                                                       
compiledStatechartInstance.init({rawNode:domNodeToHookUp}); 
-
-                                                       //hook up DOM events
-                                                       
["mousedown","mouseup","mousemove"].forEach(function(eventName){
-                                                               
domNodeToHookUp.addEventListener(eventName,function(e){e.preventDefault();compiledStatechartInstance[eventName](e)},false);
-                                                       });
-                                               });
-                                       }
-
-                                       statusDiv.textContent+=" Done!";
+                                       require( [window.DOMParser ?
+                                                       
"src/javascript/scxml/cgf/util/xsl/browser" :
+                                                       
"src/javascript/scxml/cgf/util/xsl/ie"],
+                                               function(transform){
+
+                                                       var statusDiv = 
document.getElementById("statusDiv");
+
+                                                       
statusDiv.textContent="Compiling SCXML elements...";
+
+                                                       //pull SCXML nodes from 
DOM
+                                                       var scxmlElements = 
document.getElementsByTagName("scxml");
+                                                       for(var i = 0; i < 
scxmlElements.length; i++){
+                                                               var scxml_input 
= scxmlElements[i];
+                                                               var 
domNodeToHookUp = scxml_input.parentNode;
+
+                                                               //prep scxml 
document to transform by pulling the scxml node into its own document
+                                                               var scxmlns = 
"http://www.w3.org/2005/07/scxml";;
+                                                               var 
scxmlToTransform = document.implementation.createDocument (scxmlns , "scxml", 
null);
+                                                               var newNode = 
scxmlToTransform.importNode(scxml_input.cloneNode(true),true);
+                                                               
scxmlToTransform.replaceChild(newNode,scxmlToTransform.documentElement);
+
+                                                               var 
compiledStatechartConstructor, compiledStatechartInstance;
+
+                                                               
compiler.compile({
+                                                                       
inFiles:[scxmlToTransform],
+                                                                       
//debug:true,
+                                                                       
backend:"state",
+                                                                       
beautify:true,
+                                                                       
verbose:false,
+                                                                       
log:false,
+                                                                       ie:false
+                                                               }, 
function(scArr){
+                                                                       var 
transformedJs = scArr[0];
+
+                                                                       //eval
+                                                                       
console.log(transformedJs);
+                                                                       
eval(transformedJs);
+                                                                       
compiledStatechartConstructor = StatechartExecutionContext;
+                                                                       
compiledStatechartInstance = new compiledStatechartConstructor();
+
+                                                                       
//initialize
+                                                                       
compiledStatechartInstance.initialize();
+
+                                                                       //pass 
in reference to rect
+                                                                       
compiledStatechartInstance.init({rawNode:domNodeToHookUp});
+
+                                                                       //hook 
up DOM events
+                                                                       
["mousedown","mouseup","mousemove"].forEach(function(eventName){
+                                                                               
domNodeToHookUp.addEventListener(eventName,function(e){e.preventDefault();compiledStatechartInstance[eventName](e)},false);
+                                                                       });
+                                                               },transform);
+                                                       }
+
+                                                       
statusDiv.textContent+=" Done!";
+                                               }
+                                       )
                                }
                        );
                ]]></script>

Modified: 
commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drag-and-drop/drag-and-drop2.xhtml
URL: 
http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drag-and-drop/drag-and-drop2.xhtml?rev=978787&r1=978786&r2=978787&view=diff
==============================================================================
--- 
commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drag-and-drop/drag-and-drop2.xhtml
 (original)
+++ 
commons/sandbox/gsoc/2010/scxml-js/trunk/demo/drag-and-drop/drag-and-drop2.xhtml
 Sat Jul 24 03:44:06 2010
@@ -56,79 +56,88 @@ own state.
                                ["src/javascript/scxml/cgf/SCXMLCompiler",
                                        
"xml!demo/drag-and-drop/drag-and-drop2.xml"],
 
+
                                function(compiler,scxml_input){
 
-                                       var SVG_NS = 
"http://www.w3.org/2000/svg";;
+                                       require([ window.DOMParser ?
+                                                       
"src/javascript/scxml/cgf/util/xsl/browser" :
+                                                       
"src/javascript/scxml/cgf/util/xsl/ie"],
+                                               function(transform){
+
+
+                                                       var SVG_NS = 
"http://www.w3.org/2000/svg";;
+
+                                                       var statusDiv = 
document.getElementById("statusDiv");
+                                                       var elementButton = 
document.getElementById("elementButton");
+                                                       var svgCanvas = 
document.getElementById("canvas");
+
+                                                       
statusDiv.textContent="Compiling SCXML...";
+
+                                                       var 
compiledStatechartConstructor;
+
+                                                       //compile statechart
+                                                       compiler.compile({
+                                                               
inFiles:[scxml_input],
+                                                               //debug:true,
+                                                               backend:"state",
+                                                               beautify:true,
+                                                               verbose:false,
+                                                               log:false,
+                                                               ie:false
+                                                       }, function(scArr){
+                                                               var 
transformedJs = scArr[0];
+
+                                                               //eval
+                                                               
console.log(transformedJs);
+                                                               
eval(transformedJs);
+                                                               
compiledStatechartConstructor = StatechartExecutionContext;
+                                                       },transform);
+
+                                                       
statusDiv.textContent+=" Done!";
+
+                                                       //just for fun, random 
color generator, courtesy of 
http://stackoverflow.com/questions/1484506/random-color-generator-in-javascript
+                                                       function 
get_random_color() {
+                                                               var letters = 
'0123456789ABCDEF'.split('');
+                                                               var color = '#';
+                                                               for (var i = 0; 
i < 6; i++ ) {
+                                                                       color 
+= letters[Math.round(Math.random() * 15)];
+                                                               }
+                                                               return color;
+                                                       }
+
+                                                       //hook up button UI 
control
+                                                       
elementButton.addEventListener("click",function(e){
+
+                                                               //do DOM stuff- 
create new blue circle
+                                                               var newGNode = 
document.createElementNS(SVG_NS,"g");
+                                                               var newTextNode 
= document.createElementNS(SVG_NS,"text");
+                                                               var newNode = 
document.createElementNS(SVG_NS,"circle");
+                                                               
newNode.setAttributeNS(null,"cx",50);
+                                                               
newNode.setAttributeNS(null,"cy",50);
+                                                               
newNode.setAttributeNS(null,"r",50);
+                                                               
newNode.setAttributeNS(null,"fill",get_random_color());
+                                                               
newNode.setAttributeNS(null,"stroke","black");
+
+                                                               
newGNode.appendChild(newNode);
+                                                               
newGNode.appendChild(newTextNode);
+
+                                                               var 
compiledStatechartInstance = new compiledStatechartConstructor();
+
+                                                               //initialize
+                                                               
compiledStatechartInstance.initialize();
+
+                                                               //pass in 
reference to rect
+                                                               
compiledStatechartInstance.init({rawNode:newGNode,textNode:newTextNode});
+
+                                                               //hook up DOM 
events
+                                                               
["mousedown","mouseup","mousemove"].forEach(function(eventName){
+                                                                       
newGNode.addEventListener(eventName,function(e){e.preventDefault();compiledStatechartInstance[eventName](e)},false);
+                                                               });
 
-                                       var statusDiv = 
document.getElementById("statusDiv");
-                                       var elementButton = 
document.getElementById("elementButton");
-                                       var svgCanvas = 
document.getElementById("canvas");
-
-                                       statusDiv.textContent="Compiling 
SCXML...";
-
-                                       var compiledStatechartConstructor; 
-
-                                       //compile statechart
-                                       compiler.compile({
-                                               inFiles:[scxml_input],
-                                               //debug:true,
-                                               backend:"state",
-                                               beautify:true,
-                                               verbose:false,
-                                               log:false,
-                                               ie:false
-                                       }, function(scArr){
-                                               var transformedJs = scArr[0];
-
-                                               //eval
-                                               console.log(transformedJs);
-                                               eval(transformedJs);
-                                               compiledStatechartConstructor = 
StatechartExecutionContext;
-                                       });
-
-                                       statusDiv.textContent+=" Done!";
-
-                                       //just for fun, random color generator, 
courtesy of 
http://stackoverflow.com/questions/1484506/random-color-generator-in-javascript
-                                       function get_random_color() {
-                                               var letters = 
'0123456789ABCDEF'.split('');
-                                               var color = '#';
-                                               for (var i = 0; i < 6; i++ ) {
-                                                       color += 
letters[Math.round(Math.random() * 15)];
+                                                               
svgCanvas.appendChild(newGNode);
+                                                       },false);
                                                }
-                                               return color;
-                                       }
-
-                                       //hook up button UI control
-                                       
elementButton.addEventListener("click",function(e){
-
-                                               //do DOM stuff- create new blue 
circle
-                                               var newGNode = 
document.createElementNS(SVG_NS,"g"); 
-                                               var newTextNode = 
document.createElementNS(SVG_NS,"text"); 
-                                               var newNode = 
document.createElementNS(SVG_NS,"circle"); 
-                                               
newNode.setAttributeNS(null,"cx",50);
-                                               
newNode.setAttributeNS(null,"cy",50);
-                                               
newNode.setAttributeNS(null,"r",50);
-                                               
newNode.setAttributeNS(null,"fill",get_random_color());
-                                               
newNode.setAttributeNS(null,"stroke","black");
-
-                                               newGNode.appendChild(newNode);
-                                               
newGNode.appendChild(newTextNode);
-
-                                               var compiledStatechartInstance 
= new compiledStatechartConstructor(); 
-
-                                               //initialize
-                                               
compiledStatechartInstance.initialize();
-                                               
-                                               //pass in reference to rect
-                                               
compiledStatechartInstance.init({rawNode:newGNode,textNode:newTextNode}); 
-
-                                               //hook up DOM events
-                                               
["mousedown","mouseup","mousemove"].forEach(function(eventName){
-                                                       
newGNode.addEventListener(eventName,function(e){e.preventDefault();compiledStatechartInstance[eventName](e)},false);
-                                               });
-
-                                               svgCanvas.appendChild(newGNode);
-                                       },false);
+                                       )
                                }
                        );
                ]]></script>

Modified: commons/sandbox/gsoc/2010/scxml-js/trunk/demo/sandbox/sandbox.html
URL: 
http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-js/trunk/demo/sandbox/sandbox.html?rev=978787&r1=978786&r2=978787&view=diff
==============================================================================
--- commons/sandbox/gsoc/2010/scxml-js/trunk/demo/sandbox/sandbox.html 
(original)
+++ commons/sandbox/gsoc/2010/scxml-js/trunk/demo/sandbox/sandbox.html Sat Jul 
24 03:44:06 2010
@@ -85,113 +85,125 @@ that uses the SCXMLCompiler front-end. 
 
                        require(
                                {
-                                       "baseUrl":"/scxml-js/"
+                                       "baseUrl":"/"
                                },
                                [ "src/javascript/scxml/cgf/SCXMLCompiler",
-                                       
"text!test/kitchen_sink/KitchenSink_executableContent.xml",
-                                       "src/javascript/scxml/cgf/util/xml"],
+                                       
"text!test/kitchen_sink/KitchenSink_executableContent.xml" ],
 
-                               
function(compiler,KitchenSink_executableContent,xmlUtil){
 
-                                       var compiledStatechartConstructor, 
compiledStatechartInstance;
 
-                                       //some browser compatibility stuff
-                                       function addEventListener(el,ev,fn){
-                                               if (el.addEventListener){
-                                                       el.addEventListener(ev, 
fn, false); 
-                                               } else if (el.attachEvent){
-                                                       el.attachEvent('on' + 
ev, fn);
-                                               }
-                                       }
+                               
function(compiler,KitchenSink_executableContent){
 
-                    function setTextContent(el,str){
-                           if(typeof el.textContent == "string"){
-                               el.textContent+=str;
-                           }else if(typeof el.innerText == "string"){
-                               el.innerText+=str;
-                           }
-                    } 
-
-                                       function ccToString(conf){return 
conf.map(function(s){return s.toString()})}
-
-                                       //pull UI controls from DOM
-                                       var scxml_input = 
document.getElementById("scxml_input");
-                                       var js_output = 
document.getElementById("js_output");
-                                       var sc_console = 
document.getElementById("sc_console");
-                                       var event_name_field = 
document.getElementById("event_name_field");
-                                       var send_event_button = 
document.getElementById("send_event_button");
-                                       var compile_button = 
document.getElementById("compile_button");
-
-                                       //hook up minimal console api
-                                       if((typeof console == "undefined") || 
!console.log){
-                        /*
-                                                  console = {log : 
function(str){
-                                                                               
                setTextContent(sc_console, str + "\n");
-                                                                               
                sc_console.scrollTop = sc_console.scrollHeight; 
-                                                                               
        } }
-                       */ 
-                                                  console = {log : 
function(str){}}
-                                       } 
-
-                                       //set initial content of scxml_input
-                                       setTextContent(scxml_input, 
KitchenSink_executableContent);
-
-                                       //prepopulate stuff with stuff. 
-                                       
addEventListener(compile_button,"click",function(e){
-
-                                               //TODO: provide a UI for 
setting these options
-                                               var compileLog = true;
-                                               var backend = "state";
-
-                                               //parse textArea into xml
-                                               var textInput = 
xmlUtil.parseFromString(scxml_input.textContent || scxml_input.innerText);
-
-                                               compiler.compile({
-                                                       inFiles:[textInput],
-                                                       backend:backend,
-                                                       beautify:true,
-                                                       verbose:false,
-                                                       log:compileLog,
-                                                       ie:false
-                                               }, function(scArr){
-                                                       var transformedJs = 
scArr[0];
-
-                                                       //eval
-                                                       
console.log(transformedJs);
-                                                       eval(transformedJs);
-                                                       
compiledStatechartConstructor = StatechartExecutionContext;
-                                                       
compiledStatechartInstance = new compiledStatechartConstructor(); 
-
-                                                       
setTextContent(sc_console, "Initializing new statechart instance...\n");
-
-                                                       //initialize
-                                                       
compiledStatechartInstance.initialize();
-                                                       
-                                                       //update DOM
-                                                       
setTextContent(js_output, transformedJs);
-
-                                                       /*
-                                                       
sc_console.removeAttribute("disabled");
-                                                       
event_name_field.removeAttribute("disabled");
-                                                       
send_event_button.removeAttribute("disabled");
-                                                       */
-
-                                                       
setTextContent(sc_console, 
ccToString(compiledStatechartInstance.getCurrentConfiguration()) + ">");
-                                                       //sc_console.scrollTop 
= sc_console.scrollHeight; 
-                                               });
-                                       },false);
-
-                                       
addEventListener(send_event_button,"click",function(e){
-                                               var eventToSend = 
event_name_field.value;
-
-                                               setTextContent(sc_console, 
eventToSend + "\n");
-
-                                               //we use synchronous API
-                                               
compiledStatechartInstance[eventToSend](); 
-
-                                               setTextContent(sc_console, 
ccToString(compiledStatechartInstance.getCurrentConfiguration()) + ">");
-                                               //sc_console.scrollTop = 
sc_console.scrollHeight; 
-                                       },false);
+                                       require( [window.DOMParser ?
+                                                       
"src/javascript/scxml/cgf/util/xsl/browser" :
+                                                       
"src/javascript/scxml/cgf/util/xsl/ie",
+                                                 window.XMLSerializer ?
+                                                       
"src/javascript/scxml/cgf/util/xml/browser" :
+                                                       
"src/javascript/scxml/cgf/util/xml/ie" ],
+                                               function(transform,xmlUtil){
+
+
+                                                       var 
compiledStatechartConstructor, compiledStatechartInstance;
+
+                                                       //some browser 
compatibility stuff
+                                                       function 
addEventListener(el,ev,fn){
+                                                               if 
(el.addEventListener){
+                                                                       
el.addEventListener(ev, fn, false);
+                                                               } else if 
(el.attachEvent){
+                                                                       
el.attachEvent('on' + ev, fn);
+                                                               }
+                                                       }
+
+                                                       function 
setTextContent(el,str){
+                                                               if(typeof 
el.textContent == "string"){
+                                                                       
el.textContent+=str;
+                                                               }else if(typeof 
el.innerText == "string"){
+                                                                       
el.innerText+=str;
+                                                               }
+                                                       }
+
+                                                       function 
ccToString(conf){return conf.map(function(s){return s.toString()})}
+
+                                                       //pull UI controls from 
DOM
+                                                       var scxml_input = 
document.getElementById("scxml_input");
+                                                       var js_output = 
document.getElementById("js_output");
+                                                       var sc_console = 
document.getElementById("sc_console");
+                                                       var event_name_field = 
document.getElementById("event_name_field");
+                                                       var send_event_button = 
document.getElementById("send_event_button");
+                                                       var compile_button = 
document.getElementById("compile_button");
+
+                                                       //hook up minimal 
console api
+                                                       if((typeof console == 
"undefined") || !console.log){
+                                       /*
+                                                                  console = 
{log : function(str){
+                                                                               
                                setTextContent(sc_console, str + "\n");
+                                                                               
                                sc_console.scrollTop = sc_console.scrollHeight;
+                                                                               
                        } }
+                                      */
+                                                                  console = 
{log : function(str){}}
+                                                       }
+
+                                                       //set initial content 
of scxml_input
+                                                       
setTextContent(scxml_input, KitchenSink_executableContent);
+
+                                                       //prepopulate stuff 
with stuff.
+                                                       
addEventListener(compile_button,"click",function(e){
+
+                                                               //TODO: provide 
a UI for setting these options
+                                                               var compileLog 
= true;
+                                                               var backend = 
"state";
+
+                                                               //parse 
textArea into xml
+                                                               var textInput = 
xmlUtil.parseFromString(scxml_input.textContent || scxml_input.innerText);
+
+                                                               
compiler.compile({
+                                                                       
inFiles:[textInput],
+                                                                       
backend:backend,
+                                                                       
beautify:true,
+                                                                       
verbose:false,
+                                                                       
log:compileLog,
+                                                                       ie:false
+                                                               }, 
function(scArr){
+                                                                       var 
transformedJs = scArr[0];
+
+                                                                       //eval
+                                                                       
console.log(transformedJs);
+                                                                       
eval(transformedJs);
+                                                                       
compiledStatechartConstructor = StatechartExecutionContext;
+                                                                       
compiledStatechartInstance = new compiledStatechartConstructor();
+
+                                                                       
setTextContent(sc_console, "Initializing new statechart instance...\n");
+
+                                                                       
//initialize
+                                                                       
compiledStatechartInstance.initialize();
+
+                                                                       
//update DOM
+                                                                       
setTextContent(js_output, transformedJs);
+
+                                                                       /*
+                                                                       
sc_console.removeAttribute("disabled");
+                                                                       
event_name_field.removeAttribute("disabled");
+                                                                       
send_event_button.removeAttribute("disabled");
+                                                                       */
+
+                                                                       
setTextContent(sc_console, 
ccToString(compiledStatechartInstance.getCurrentConfiguration()) + ">");
+                                                                       
//sc_console.scrollTop = sc_console.scrollHeight;
+                                                               },transform);
+                                                       },false);
+
+                                                       
addEventListener(send_event_button,"click",function(e){
+                                                               var eventToSend 
= event_name_field.value;
+
+                                                               
setTextContent(sc_console, eventToSend + "\n");
+
+                                                               //we use 
synchronous API
+                                                               
compiledStatechartInstance[eventToSend]();
+
+                                                               
setTextContent(sc_console, 
ccToString(compiledStatechartInstance.getCurrentConfiguration()) + ">");
+                                                               
//sc_console.scrollTop = sc_console.scrollHeight;
+                                                       },false);
+                                               }
+                                       )
                                }
                        );
 

Modified: 
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/SCXMLCompiler.js
URL: 
http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/SCXMLCompiler.js?rev=978787&r1=978786&r2=978787&view=diff
==============================================================================
--- 
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/SCXMLCompiler.js
 (original)
+++ 
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/SCXMLCompiler.js
 Sat Jul 24 03:44:06 2010
@@ -27,14 +27,11 @@ code.  
 
 require.def("src/javascript/scxml/cgf/SCXMLCompiler",
 
-       //TODO: conditional require
        [
-               "src/javascript/scxml/cgf/Transformer",
                "src/javascript/scxml/cgf/util/base",
                "lib/js/beautify"],
        
        function(
-               Transformer,
                base,
                js_beautify
        ){
@@ -50,7 +47,7 @@ require.def("src/javascript/scxml/cgf/SC
                                log
                                verbose
                */
-               function compile(options,callback){
+               function compile(options,callback,transform){
                        if(!options.inFiles) return false;
 
                        if(options.ie){
@@ -68,8 +65,8 @@ require.def("src/javascript/scxml/cgf/SC
 
                                var toReturn = 
options.inFiles.map(function(xmlFile){
 
-                                       var ir = 
Transformer(xmlFile,backend.transformations,null,"xml",options.debug);
-                                       var transformedJs = 
Transformer(ir,backend.code,options,"text",options.debug);
+                                       var ir = 
transform(xmlFile,backend.transformations,null,"xml",options.debug);
+                                       var transformedJs = 
transform(ir,backend.code,options,"text",options.debug);
 
                                        //optionally beautify it
                                        if(options.beautify){

Modified: 
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/main.js
URL: 
http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/main.js?rev=978787&r1=978786&r2=978787&view=diff
==============================================================================
--- commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/main.js 
(original)
+++ commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/main.js 
Sat Jul 24 03:44:06 2010
@@ -34,10 +34,11 @@ It accepts command-line arguments, and c
  */
 
 require.def("src/javascript/scxml/cgf/main",
-       ["src/javascript/scxml/cgf/SCXMLCompiler",
+       [ "src/javascript/scxml/cgf/SCXMLCompiler",
                "src/javascript/scxml/cgf/util/commandLine",
-               "src/javascript/scxml/cgf/util/xml"],
-       function(SCXMLCompiler,cmdLineUtil,xmlUtil){
+               "src/javascript/scxml/cgf/util/xml",
+               "src/javascript/scxml/cgf/util/xsl/rhino"],
+       function(SCXMLCompiler,cmdLineUtil,xmlUtil,transform){
 
                return function(args){
 
@@ -52,7 +53,6 @@ require.def("src/javascript/scxml/cgf/ma
                                log : true,
                                verbose :  true
                        }
-debugger;
                        var parsedOptionsMap = 
cmdLineUtil.parseCommandLine(optionsMap,args);
                        parsedOptionsMap.inFiles = 
parsedOptionsMap.args.map(xmlUtil.parseFromPath);
                        delete parsedOptionsMap.args;
@@ -60,7 +60,7 @@ debugger;
                        //TODO: parse paths in inFiles into documents
                        var scArr = 
SCXMLCompiler.compile(parsedOptionsMap,function(scArr){
                                scArr.forEach(function(sc){print(sc)});
-                       });
+                       },transform);
                }
 
 });

Added: 
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xml/browser.js
URL: 
http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xml/browser.js?rev=978787&view=auto
==============================================================================
--- 
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xml/browser.js
 (added)
+++ 
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xml/browser.js
 Sat Jul 24 03:44:06 2010
@@ -0,0 +1,24 @@
+require.def("src/javascript/scxml/cgf/util/xml/browser",
+function(){
+
+       return {
+               parseFromString : (function(){
+                        var parser = new DOMParser();  
+                       return function(str){
+                               var doc = 
parser.parseFromString(str,"text/xml");
+                               return doc;
+                       }               
+               })(),
+               serializeToString : (function(){
+                       var s = new XMLSerializer();  
+                       return function(d){
+                               str = s.serializeToString(d);  
+                               return str;
+                       }
+               })(),
+               parseFromPath : function(){
+                       //I think this would use DocumentBuilderFactory
+                       new Error("No implementation for parseFromPath.");
+               }
+       }
+})

Propchange: 
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xml/browser.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xml/ie.js
URL: 
http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xml/ie.js?rev=978787&view=auto
==============================================================================
--- 
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xml/ie.js
 (added)
+++ 
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xml/ie.js
 Sat Jul 24 03:44:06 2010
@@ -0,0 +1,19 @@
+require.def("src/javascript/scxml/cgf/util/xml/ie",
+function(){
+
+       return {
+               parseFromString : function(str){
+                       var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
+                       xmlDoc.async="false";
+                       xmlDoc.loadXML(str); 
+                       
+                       return xmlDoc;
+               },
+               serializeToString : function(d){
+                       return d.xml;
+               },
+               parseFromPath : function(){
+                       new Error("No implementation for parseFromPath.")
+               }
+       }
+})

Propchange: 
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xml/ie.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xml/rhino.js
URL: 
http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xml/rhino.js?rev=978787&view=auto
==============================================================================
--- 
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xml/rhino.js
 (added)
+++ 
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xml/rhino.js
 Sat Jul 24 03:44:06 2010
@@ -0,0 +1,49 @@
+require.def("src/javascript/scxml/cgf/util/xml/rhino",
+function(){
+
+       return {
+               parseFromString : function(){
+                       //I think this would use DocumentBuilderFactory
+                       new Error("No implementation for parseFromString.");
+               },
+               serializeToString : (function(){
+                       var ByteArrayOutputStream = 
java.io.ByteArrayOutputStream;
+
+                       var xmlProps = 
Packages.org.apache.xml.serializer.OutputPropertiesFactory
+                                                                       
.getDefaultMethodProperties("xml");
+                       xmlProps.setProperty("indent", "yes");
+                       xmlProps.setProperty("standalone", "no");
+
+                       var serializer = 
Packages.org.apache.xml.serializer.SerializerFactory.getSerializer(xmlProps);   
                          
+
+                       return function(d){
+                               var baos = new ByteArrayOutputStream();
+                               var serializer = new 
Packages.org.apache.xml.serialize.XMLSerializer(
+                                                       baos,
+                                                       new 
Packages.org.apache.xml.serialize.OutputFormat());
+
+                               serializer.asDOMSerializer().serialize(d);
+
+                               var toReturn = String(new 
java.lang.String(baos.toByteArray()));
+                               return toReturn;
+                       }
+               })(),
+               parseFromPath : (function(){
+                       var File = java.io.File;
+                       var DocumentBuilderFactory = 
javax.xml.parsers.DocumentBuilderFactory;
+                       var dbf = DocumentBuilderFactory.newInstance();
+                       dbf.setNamespaceAware(true);
+
+                       return function (path) {
+
+                               var file = new File(path);
+                               var db = dbf.newDocumentBuilder();
+                               var doc = db.parse(file);
+                               return doc;
+                       };
+               })()
+       }
+})
+
+
+

Propchange: 
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xml/rhino.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xsl/browser.js
URL: 
http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xsl/browser.js?rev=978787&view=auto
==============================================================================
--- 
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xsl/browser.js
 (added)
+++ 
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xsl/browser.js
 Sat Jul 24 03:44:06 2010
@@ -0,0 +1,72 @@
+require.def("src/javascript/scxml/cgf/util/xsl/browser",
+function(){
+
+       
+
+       return function(sourceDocument,transformList,params,output,debug){
+               transformList = transformList && !transformList.length  ? 
+                                       [transformList]                 :
+                                       transformList;
+
+               function getProcessorFromStylesheetDocument(d){
+                       var processor = new XSLTProcessor();  
+                       processor.importStylesheet(d); 
+                       return processor;
+               }
+
+
+               function getResultTextFromDoc(d){
+                       var resultText;
+                       if(d &&
+                               d.body &&
+                               d.body.children &&
+                               d.body.children[0] &&
+                               d.body.children[0].textContent){
+
+                               //chrome
+                               resultText  = d.body.children[0].textContent
+                       } else if (d &&
+                               d.documentElement &&
+                               d.documentElement.firstChild &&
+                               d.documentElement.firstChild.textContent){
+
+                               //firefox
+                               resultText = 
d.documentElement.firstChild.textContent;
+                       }else{
+                               console.log("Cannot get resultText out of 
object " + d);
+                       }
+                       return resultText;
+               }
+
+               //transform to IR
+               var processors = 
transformList.map(getProcessorFromStylesheetDocument); 
+
+               //set parameters
+               processors.forEach(function(p){
+                       for(paramName in params){
+                                var paramValue = params[paramName];
+                                if (typeof paramValue == "string") 
p.setParameter(null,paramName,paramValue);
+                       }
+               });
+
+               var docToTransform  = sourceDocument;
+               processors.forEach(function(p){
+                       if(debug) console.dirxml(docToTransform); 
+                       docToTransform = p.transformToDocument(docToTransform);
+               });
+               if(debug) console.dirxml(docToTransform); 
+
+
+               var toReturn;
+               switch(output){
+                       case "text":
+                               toReturn = 
getResultTextFromDoc(docToTransform);;
+                               break;
+                       case "xml":
+                               toReturn = docToTransform;
+                               break;
+               }
+
+               return toReturn;        //string or node
+       }               
+});

Propchange: 
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xsl/browser.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xsl/ie.js
URL: 
http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xsl/ie.js?rev=978787&view=auto
==============================================================================
--- 
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xsl/ie.js
 (added)
+++ 
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xsl/ie.js
 Sat Jul 24 03:44:06 2010
@@ -0,0 +1,37 @@
+require.def("src/javascript/scxml/cgf/util/xsl/ie",
+["src/javascript/scxml/cgf/util/xml/ie"],
+function(xmlUtil){
+
+       
+
+       return  function(sourceDocument,transformList,params,output){
+               transformList = transformList && !transformList.length  ? 
+                                       [transformList]                 :
+                                       transformList;
+
+               //transform to IR
+               var docToTransform = sourceDocument;
+               for(var i=0; i < transformList.length-1; i++){
+                       var t = transformList[i];
+
+                       var txt = docToTransform.transformNode(t); 
+                       docToTransform = xmlUtil.parseFromString(txt);
+               }
+
+               var lastFilter = transformList[transformList.length-1];
+
+               var txt = docToTransform.transformNode(lastFilter ); 
+
+               var toReturn;
+               switch(output){
+                       case "text":
+                               toReturn = txt;
+                               break;
+                       case "xml":
+                               toReturn = xmlUtil.parseFromString(txt);
+                               break;
+               }
+
+               return toReturn;        //string or node
+       }               
+});

Propchange: 
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xsl/ie.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xsl/rhino.js
URL: 
http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xsl/rhino.js?rev=978787&view=auto
==============================================================================
--- 
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xsl/rhino.js
 (added)
+++ 
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xsl/rhino.js
 Sat Jul 24 03:44:06 2010
@@ -0,0 +1,81 @@
+require.def("src/javascript/scxml/cgf/util/xsl/rhino",
+["src/javascript/scxml/cgf/util/xml/rhino"],
+function(xmlUtil){
+
+       return (function(){
+               var TransformerFactory = javax.xml.transform.TransformerFactory,
+                       XMLReaderFactory = 
Packages.org.xml.sax.helpers.XMLReaderFactory,
+                       ByteArrayOutputStream = java.io.ByteArrayOutputStream,
+                       StreamResult = javax.xml.transform.stream.StreamResult,
+                       StreamSource = javax.xml.transform.stream.StreamSource,
+                       DOMSource = javax.xml.transform.dom.DOMSource,
+                       SAXResult = javax.xml.transform.sax.SAXResult,
+                       DOMResult = javax.xml.transform.dom.DOMResult;
+
+               //do transforms
+               var tFactory = TransformerFactory.newInstance();
+
+               function transform(xsl,xml,params,output){
+                               // Use the DOM Document to define a DOMSource 
object.
+                               var xslDomSource = new DOMSource(xsl);
+
+                               // Process the stylesheet DOMSource and 
generate a Transformer.
+                               var transformer = 
tFactory.newTransformer(xslDomSource);
+
+                               //set parameters
+                               for(paramName in params){
+                                        
transformer.setParameter(paramName,params[paramName]);
+                               }
+
+                               // Use the DOM Document to define a DOMSource 
object.
+                               // for Rhino only, we can also accept a path 
rather than a Document
+                               var xmlDomSource = typeof xml == "string" ?     
+                                                       new StreamSource(xml) :
+                                                       new DOMSource(xml);
+
+                               var toReturn;
+                               switch(output){
+                                       case "xml":
+                                               // Create an empty DOMResult 
for the Result.
+                                               var domResult = new DOMResult();
+                                               // Perform the transformation, 
placing the output in the DOMResult.
+                                               
transformer.transform(xmlDomSource, domResult);
+                                               toReturn = domResult.getNode();
+                                               break;
+
+                                       case "text":
+                                               var baos = new 
ByteArrayOutputStream();
+                                               var streamResult = new 
StreamResult(baos);
+                                               
transformer.transform(xmlDomSource, streamResult);
+                                               toReturn = String(new 
java.lang.String(baos.toByteArray()));
+                                               break;
+                               }
+
+                               return toReturn;
+               }
+
+               return function(sourceDocument,transformList,params,output){
+                       transformList = transformList 
+                                       && !(transformList instanceof Array)    
? 
+                                               [transformList]                 
:
+                                               transformList;
+
+                       var docToTransform = sourceDocument;
+
+                       for(var i=0; i < transformList.length-1; i++){  
+                               var t = transformList[i];
+                               docToTransform  = 
transform(t,docToTransform,params,"xml");
+                       }
+
+                       var lastTransform = 
transformList[transformList.length-1];
+
+                       // Parse the source XML, and send the parse events to 
the
+                       // TransformerHandler.
+                       var toReturn = 
transform(lastTransform,docToTransform,params,output);
+
+                       return toReturn;        //string or node
+               }       
+       })()            
+});
+
+

Propchange: 
commons/sandbox/gsoc/2010/scxml-js/trunk/src/javascript/scxml/cgf/util/xsl/rhino.js
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: commons/sandbox/gsoc/2010/scxml-js/trunk/test/SCXMLCompiler.js
URL: 
http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-js/trunk/test/SCXMLCompiler.js?rev=978787&r1=978786&r2=978787&view=diff
==============================================================================
--- commons/sandbox/gsoc/2010/scxml-js/trunk/test/SCXMLCompiler.js (original)
+++ commons/sandbox/gsoc/2010/scxml-js/trunk/test/SCXMLCompiler.js Sat Jul 24 
03:44:06 2010
@@ -3,10 +3,12 @@ require.def(
        [
                "xml!test/kitchen_sink/KitchenSink_executableContent.xml",
                
"src/javascript/scxml/cgf/backends/js/StatePatternStatechartGenerator",
-               "/lib/js/beautify.js"],
+               "/lib/js/beautify.js",
+               "src/javascript/scxml/cgf/util/xsl/rhino"],
        function(
                KitchenSink,
-               StatePatternStatechartGenerator
+               StatePatternStatechartGenerator,
+               transform
        ){
                //some compatibility stuff for IE
                //TODO: move out into another file

Modified: 
commons/sandbox/gsoc/2010/scxml-js/trunk/test/testBrowserTransform.html
URL: 
http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-js/trunk/test/testBrowserTransform.html?rev=978787&r1=978786&r2=978787&view=diff
==============================================================================
--- commons/sandbox/gsoc/2010/scxml-js/trunk/test/testBrowserTransform.html 
(original)
+++ commons/sandbox/gsoc/2010/scxml-js/trunk/test/testBrowserTransform.html Sat 
Jul 24 03:44:06 2010
@@ -15,27 +15,36 @@
                        [ "src/javascript/scxml/cgf/SCXMLCompiler",
                                
"xml!test/kitchen_sink/KitchenSink_executableContent.xml"],
                        function(compiler,KitchenSink_executableContent){
-                               var compileLog = true;
-                               var backend = "state";
 
-                               compiler.compile({
-                                       inFiles:[KitchenSink_executableContent],
-                                       backend:backend,
-                                       beautify:true,
-                                       verbose:false,
-                                       log:compileLog,
-                                       ie:false
-                               }, function(scArr){
-                                       var transformedJs = scArr[0];
-
-                                       console.log(transformedJs);
-
-                                       //eval
-                                       eval(transformedJs);
-                                       window.StatechartExecutionContext = 
StatechartExecutionContext;
-                                       dojo.require("doh.runner"); 
-                                       doh.run();
-                               });
+                               require([ window.DOMParser ?
+                                               
"src/javascript/scxml/cgf/util/xsl/browser" :
+                                               
"src/javascript/scxml/cgf/util/xsl/ie"],
+                                       function(transform){
+
+                                               var compileLog = true;
+                                               var backend = "state";
+
+                                               compiler.compile({
+                                                       
inFiles:[KitchenSink_executableContent],
+                                                       backend:backend,
+                                                       beautify:true,
+                                                       verbose:false,
+                                                       log:compileLog,
+                                                       ie:false
+                                               }, function(scArr){
+                                                       var transformedJs = 
scArr[0];
+
+                                                       
console.log(transformedJs);
+
+                                                       //eval
+                                                       eval(transformedJs);
+                                                       
window.StatechartExecutionContext = StatechartExecutionContext;
+                                                       
dojo.require("doh.runner"); 
+                                                       doh.run();
+                                               },transform);
+
+                                       }); 
+                                       
                        }
                );
 


Reply via email to