You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xap-commits@incubator.apache.org by mt...@apache.org on 2006/08/02 22:06:30 UTC

svn commit: r428172 - /incubator/xap/trunk/src/xap/Xap.js

Author: mturyn
Date: Wed Aug  2 15:06:30 2006
New Revision: 428172

URL: http://svn.apache.org/viewvc?rev=428172&view=rev
Log:
Broke out object hierarchy analysis pieces of Xap into xap.util.ObjectHierarchyAnalyzer as a first step of reducing Xap bloat.

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=428172&r1=428171&r2=428172&view=diff
==============================================================================
--- incubator/xap/trunk/src/xap/Xap.js (original)
+++ incubator/xap/trunk/src/xap/Xap.js Wed Aug  2 15:06:30 2006
@@ -229,6 +229,7 @@
 	Xap.require("xap.util.XapException" ) ;
 	Xap.require("xap.util.Exception" ) ;
 	Xap.require("xap.util.Profiler" ) ;
+	Xap.require("xap.util.ObjectHierarchyAnalyzer" ) ;	
 	
 
 	//xap.session
@@ -439,193 +440,4 @@
 	xap.util.Utils.importFile(  sourceRootDir + "src/xap/components/zimbra/DwtHorizontalLayoutPanel.js" );	
 
 }
-
-
-Xap.getAllClasses = function(name,arr){
-	var theArray = null ;
-	if (!arr ){
-		theArray = new Array(0) ;
-	} else {
-		theArray = arr ;
-	}
-	var pushClass = function(){ 
-									if(arguments[0][3]){
-											theArray.push(arguments[0][1]) ;
-									} 
-								}
-	// At each node
-	Xap.walkClassTree(name, pushClass) ;
-	return theArray ;
-}
-
-
-
-
-
-Xap.walkClassTree = function(name,callbackFunction,level,object){
-	var theLevel = -1 ;
-	if( level ){
-		theLevel = level ;
-	} else {
-		theLevel=0 ;
-	}
-	var theObject = null ;
-	if( object ){
-		theObject = object ;
-	} else {
-		try {
-			var theObject = eval(name) ;
-		} catch(ee){
-			return ;
-		}
-	}
-	var args = [] ;
-	args.push(this) ;
-	args.push(name) ;
-	args.push(theObject);
-	if ( theObject.prototype ){
-		// Let the callback know that this is a class, not a package node:
-		args.push(true) ;
-		callbackFunction.call(this,args) ;
-	} else {
-		for (var oo in theObject){			
-		// Let the callback know that this is a package node, not a class
-			args.push(false) ;
-	 // Better in a different order?
- 			callbackFunction.call(this,args) ;
-			Xap.walkClassTree(name+"."+oo,callbackFunction,theLevel+1 );
-		}
-	}
-
-	return ;
-}
-
-// Regular expressions for finding and manipulation Xap.require() or dojo.require()
-// statements in code:
-Xap.require_startRegexp = /^.*require\S\s*['"]/  ;
-Xap.require_endRegexp = /["'].*$/ ;
-// Exclude algorithmic .require() statements that aren't just quoted strings:
-Xap.requireRegexp = /(Xap|dojo)\.require\(\s*['"]\S*?['"]\s*\)/mg ;
-
-Xap.getDependencies = function(className){
-	var requirements = [] ;
-	if( !Xap._requestService ){
-		Xap._requestService = new xap.requestservice.RequestService( this );
-	}
-	
-	// Build a file path from a class name:
-	var filePath = "../../src/"+ className.replace(Xap.allFullstopsRegexp,"/") + ".js" ;
-	
-	// Get the source for the class:
-	var classSource = Xap._requestService.retrieve( filePath ).responseText;
-	
-	// These are the lines that have a Xap.require() or a dojo.require() statement in them:
-	var requireLines = classSource.match(Xap.requireRegexp) ;
-	
-	if(!requireLines){
-		return requirements;
-	}
-	
-	for(var jj=0; jj < requireLines.length; ++jj){
-		// extract the argument to the .require():
-		var req = requireLines[jj].replace(Xap.require_startRegexp,"");
-		req=req.replace(Xap.require_endRegexp,"") ;
-		requirements.push(req) ;
-		var bkp=-1 ;
-	}
-		
-	return requirements ;
-}
-
-
-Xap.getAllDependencies = function(name,holder,level){
-
-	var theLevel = -1 ;
-	if(level){
-		theLevel = level ;
-	} else {
-		theLevel = 0 ;
-	}
-
-	if( holder && holder[name]){
-		return ;
-	}
-    
-   
-	var theHolder= null ;
-	if (!holder ){
-		theHolder = new Object() ;
-	} else {
-		theHolder = holder ;
-	}
-	
-	try {
-		var theObject = eval(name) ;
-	} catch (ee){
-		Xap._logString += ("Problem with getting dependencies for \""+name+"\":\n"+ee) ;
-		return ;
-	}
-	
-	if(!theObject){
-		return ;
-	}
-	
-	if ( theObject.prototype ){
-		theHolder[name] = Xap.getDependencies(name) ;
-		var nextLevel = 1+ theLevel ;
-		for(var ii=0; ii<theHolder[name].length; ++ii ){
-			Xap.getAllDependencies( (theHolder[name])[ii] ,theHolder,nextLevel) ;
-		}
-	} else {
-		if ( theLevel == 0){
-			var clazzes = Xap.getAllClasses ("xap") ;
-			var nextLevel = 1+ theLevel ;			
-			for(var jj=0; jj < clazzes.length; ++jj){
-				Xap.getAllDependencies(clazzes[jj],theHolder,nextLevel) ;
-			}
-			
-/*			var arr = new Array(0) ; 
- *			for( key in theHolder){ 
- *				arr.push(key+"::"+theHolder[key].join(","))
- *			}
- *			prompt("",arr.join("^")) ;		
- */			
-			return  theHolder;			
-		}
-	}
-}
-
-Xap.resolveConstructor = function(aString){
-	var scoper = dj_global ;
-	var arr  = aString.split(".") ;
-	for( var kk=0; kk< arr.length - 1; ++kk ){
-		scoper = scoper[arr[kk]] ;
-	}
-	return  scoper[arr[arr.length-1]] ;
-}
-
-
-
-/**
- * Handles common class set-up routines, assumes constructors for subclass and superclass already exist:
-**/ 
-Xap.setupClassAsSubclassOf = function(subclassName,superclassName,sub,sup){
-	var subclassConstructor = Xap.resolveConstructor( subclassName ) ;
-	var superclassConstructor = Xap.resolveConstructor( superclassName ) ;	
-	
-	if(superclassName){
-		Xap.require(superclassName) ;
-	}
-	dojo.inherits(subclassConstructor, superclassConstructor) ;
-	subclassConstructor.prototype.toString = function(){
-		return subclassName ;	
-	}
-	subclassConstructor.prototype.superclass = 	superclassConstructor.prototype ;
-	subclassConstructor.s_log = xap.util.LogFactory.getLog( subclassName ) ;
-}
-
-
-
-
-