incubator-xap-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mtu...@apache.org
Subject svn commit: r419780 - /incubator/xap/trunk/src/xap/Xap.js
Date Fri, 07 Jul 2006 03:13:43 GMT
Author: mturyn
Date: Thu Jul  6 20:13:43 2006
New Revision: 419780

URL: http://svn.apache.org/viewvc?rev=419780&view=rev
Log:
Using the call dojo.hostenv.loadUri() to load class definitions gives results that can't be
stepped through in a debugger, as the source appears to be an eval'd string not associated
with a file.  I've replaced that call with Xap.loadUri, which will use the Dojo loader or
the older <script/>-tag inserter, depending on a new parameter for Xap.bootstrap() .

Will need to replace that same call in PluginRegistryImpl in order to get the bridges into
the debugger; a simple replacement there seemed to leave the bridges unloaded....

Modified:
    incubator/xap/trunk/src/xap/Xap.js

Modified: incubator/xap/trunk/src/xap/Xap.js
URL: http://svn.apache.org/viewvc/incubator/xap/trunk/src/xap/Xap.js?rev=419780&r1=419779&r2=419780&view=diff
==============================================================================
--- incubator/xap/trunk/src/xap/Xap.js (original)
+++ incubator/xap/trunk/src/xap/Xap.js Thu Jul  6 20:13:43 2006
@@ -39,26 +39,25 @@
 }
 
 
-Xap.debugSafeRequire = function(){
 
-	var sourceRootDir = Xap._sourceRootDir ;
-	for(var ii=0;ii<arguments.length;++ii){
-		if (arguments[ii].search(/\*/) == -1
-		    && arguments[ii].search(/google/) == -1 
-		    && arguments[ii].search(/dojo\./) == -1 				
-		    ){
-		    Utils.importFile(  sourceRootDir + arguments[ii].replace(/\./g,"/") +".js") ;	
-		} else {
-		    dojo.require.apply(dojo,[arguments[ii]]);
-		}
-	}
-}
 
 
 
+Xap.bootstrap = function( sourceRootDir,loadType ) {
 
+	// debugger-friendlier loader?:
+	Xap._debugLoad = (loadType)?true:false ;
+	//alert(Xap._debugLoad) ;
+	// Set the callback here, rather than
+	// putting the if/else logic into every single
+	// Xap.loadFile:
+	Xap.fileLoader = dojo.hostenv.loadUri  ;
+	Xap.fileLoadContext	= dojo.hostenv ;
+	if( Xap._debugLoad) {
+		Xap.fileLoader = Utils.importFile  ;
+		Xap.fileLoadContext	= Utils ;
+	}
 
-Xap.bootstrap = function( sourceRootDir ) {
 	Xap._sourceRootDir = sourceRootDir;
 	Xap.loadXap( sourceRootDir );
 	Xap.loadZimbra( sourceRootDir );
@@ -70,90 +69,103 @@
 	return session;
 }
 
+
+/**
+ * Allows you to load files one of two ways:  with dojo or with our
+ * script-tag embedding---the latter makes the class much easier to
+ * debug, since dojo's eval( <get results of http request> ) makes
+ * the code anonymous as far as the debugger is concerned.<b> 
+ * The choice of which method to used is determined at startup.
+**/ 
+Xap.loadUri = function(path){
+	Xap.fileLoader.call(Xap.fileLoadContext, path) ;
+}
+
+
 Xap.loadXap = function( sourceRootDir ) {
 	//xap.util
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/util/LogFactory.js");	
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/util/XmlUtils.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/util/HttpUtils.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/util/UidProvider.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/util/Hashtable.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/util/ResourceDictionary.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/util/XapException.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/util/BaseException.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/util/IllegalArgumentException.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/util/Profiler.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/util/LogFactory.js");	
+	Xap.loadUri( sourceRootDir + "/src/xap/util/XmlUtils.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/util/HttpUtils.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/util/UidProvider.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/util/Hashtable.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/util/ResourceDictionary.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/util/XapException.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/util/BaseException.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/util/IllegalArgumentException.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/util/Profiler.js" );
 	
 
 	//xap.session
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/session/Container.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/session/ClientSession.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/session/ClientEvent.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/session/EventHandler.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/session/DeclarativeArgumentParser.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/session/Container.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/session/ClientSession.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/session/ClientEvent.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/session/EventHandler.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/session/DeclarativeArgumentParser.js" );
 	
 	//xap.xml
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/xml/InvalidXmlException.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/xml/InvalidXmlExceptionRes.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/xml/NamespaceHandler.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/xml/NamespaceHandlerManager.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/xml/XalNamespaceHandler.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/xml/DocumentContainer.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/xml/InvalidXmlException.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/xml/InvalidXmlExceptionRes.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/xml/NamespaceHandler.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/xml/NamespaceHandlerManager.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/xml/XalNamespaceHandler.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/xml/DocumentContainer.js" );
 	
 	//xap.xml.sax	
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/xml/sax/SaxParser.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/xml/sax/SaxContentHandler.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/xml/sax/ParserException.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/xml/sax/ParserExceptionRes.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/xml/sax/EmptyDocumentException.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/xml/sax/EmptyDocumentExceptionRes.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/xml/sax/SaxParser.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/xml/sax/SaxContentHandler.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/xml/sax/ParserException.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/xml/sax/ParserExceptionRes.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/xml/sax/EmptyDocumentException.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/xml/sax/EmptyDocumentExceptionRes.js" );
 
 	
 	//xap.xml.xmodify
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/xml/xmodify/Xmodify.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/xml/xmodify/XmodifyNamespaceHandler.js"
);
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/xml/xmodify/UpdateDirective.js") ;
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/xml/xmodify/CommandDirective.js") ;
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/xml/xmodify/DirectiveSet.js") ;
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/xml/xmodify/XmodifyException.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/xml/xmodify/Xmodify.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/xml/xmodify/XmodifyNamespaceHandler.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/xml/xmodify/UpdateDirective.js") ;
+	Xap.loadUri( sourceRootDir + "/src/xap/xml/xmodify/CommandDirective.js") ;
+	Xap.loadUri( sourceRootDir + "/src/xap/xml/xmodify/DirectiveSet.js") ;
+	Xap.loadUri( sourceRootDir + "/src/xap/xml/xmodify/XmodifyException.js" );
 
 
 
 	
 	//xap.xml.dom
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/xml/dom/XapElement.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/xml/dom/Document.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/xml/dom/XapElement.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/xml/dom/Document.js" );
 	
 	
 	//xap.xml.dom.events
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/xml/dom/events/DomChangeEvent.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/xml/dom/events/AttributeChangeListener.js"
);
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/xml/dom/events/AttributeChangeEvent.js"
);
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/xml/dom/events/StructureChangeListener.js"
);
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/xml/dom/events/StructureChangeEvent.js"
);
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/xml/dom/events/ChangeRejectedException.js"
);
+	Xap.loadUri( sourceRootDir + "/src/xap/xml/dom/events/DomChangeEvent.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/xml/dom/events/AttributeChangeListener.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/xml/dom/events/AttributeChangeEvent.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/xml/dom/events/StructureChangeListener.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/xml/dom/events/StructureChangeEvent.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/xml/dom/events/ChangeRejectedException.js" );
 	
 	
 	//xap.mco
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/mco/McoNamespaceHandler.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/mco/McoInvocationException.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/mco/McoInvocationExceptionRes.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/mco/McoNamespaceHandler.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/mco/McoInvocationException.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/mco/McoInvocationExceptionRes.js" );
 
 
 	//xap.macro
- 	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/macro/MacroNamespaceHandler.js");
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/macro/Macro.js");
+ 	Xap.loadUri( sourceRootDir + "/src/xap/macro/MacroNamespaceHandler.js");
+	Xap.loadUri( sourceRootDir + "/src/xap/macro/Macro.js");
         
 
 	//xap.tags (TODO rename?_
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/taghandling/AbstractTagImpl.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/taghandling/PluginDocumentHandler.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/taghandling/PluginRegistryImpl.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/taghandling/AbstractTagImpl.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/taghandling/PluginDocumentHandler.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/taghandling/PluginRegistryImpl.js" );
     
 
 	
 	//xap.requestservice
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/requestservice/RequestService.js" );
-	dojo.hostenv.loadUri(  sourceRootDir + "/src/xap/requestservice/NetServiceListener.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/requestservice/RequestService.js" );
+	Xap.loadUri( sourceRootDir + "/src/xap/requestservice/NetServiceListener.js" );
 	
 }
 



Mime
View raw message