You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by js...@apache.org on 2009/03/19 12:11:05 UTC

svn commit: r755920 [10/11] - in /camel/trunk/components/camel-web/src/main/webapp/js/dojox: json/ jsonPath/ lang/ lang/aspect/ lang/functional/ lang/oo/ layout/ layout/dnd/ layout/ext-dijit/ layout/ext-dijit/layout/ layout/nls/ layout/nls/en/ layout/n...

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/Storage.as
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/Storage.as?rev=755920&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/Storage.as (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/Storage.as Thu Mar 19 11:10:58 2009
@@ -0,0 +1,402 @@
+import DojoExternalInterface;
+
+class Storage{
+	public static var SUCCESS = "success";
+	public static var FAILED = "failed";
+	public static var PENDING = "pending";
+	
+	//	Wait the following number of milliseconds before flushing
+	public static var FLUSH_DELAY_DEFAULT = 500;
+	
+	public var flush_delay;
+	public var so;
+	public var timer;
+	
+	private var _NAMESPACE_KEY = "allNamespaces";
+	
+	public function Storage(){
+		flush_delay = Storage.FLUSH_DELAY_DEFAULT;
+	
+		DojoExternalInterface.initialize();
+		DojoExternalInterface.addCallback("put", this, put);
+		DojoExternalInterface.addCallback("putMultiple", this, putMultiple);
+		DojoExternalInterface.addCallback("get", this, get);
+		DojoExternalInterface.addCallback("getMultiple", this, getMultiple);
+		DojoExternalInterface.addCallback("showSettings", this, showSettings);
+		DojoExternalInterface.addCallback("clear", this, clear);
+		DojoExternalInterface.addCallback("getKeys", this, getKeys);
+		DojoExternalInterface.addCallback("getNamespaces", this, getNamespaces);
+		DojoExternalInterface.addCallback("remove", this, remove);
+		DojoExternalInterface.addCallback("removeMultiple", this, removeMultiple);
+		DojoExternalInterface.addCallback("flush", this, flush);
+		DojoExternalInterface.addCallback("setFlushDelay", this, setFlushDelay);
+		DojoExternalInterface.addCallback("getFlushDelay", this, getFlushDelay);
+		DojoExternalInterface.loaded();
+		
+		// preload the System Settings finished button movie for offline
+		// access so it is in the cache
+		_root.createEmptyMovieClip("_settingsBackground", 1);
+		_root._settingsBackground.loadMovie(DojoExternalInterface.dojoPath 
+																				+ "../dojox/storage/storage_dialog.swf");
+	}
+
+  //  FIXME: Whoever added this Flush code did not document why it
+  //  exists. Please also put your name and a bug number so I know 
+  //  who to contact. -- Brad Neuberg
+	
+	//	Set a new value for the flush delay timer.
+	//	Possible values:
+	//	  0 : Perform the flush synchronously after each "put" request
+	//	> 0 : Wait until 'newDelay' ms have passed without any "put" request to flush
+	//	 -1 : Do not automatically flush
+	public function setFlushDelay(newDelay){
+		flush_delay = Number(newDelay);
+	}
+	
+	public function getFlushDelay(){
+		return String(flush_delay);
+	}
+	
+	public function flush(namespace){
+		if(timer){
+			_global.clearTimeout(timer);
+			delete timer;
+		}
+	
+		var so = SharedObject.getLocal(namespace);
+		var flushResults = so.flush();
+
+		// return results of this command to JavaScript
+		var statusResults;
+		if(flushResults == true){
+			statusResults = Storage.SUCCESS;
+		}else if(flushResults == "pending"){
+			statusResults = Storage.PENDING;
+		}else{
+			statusResults = Storage.FAILED;
+		}
+		
+		DojoExternalInterface.call("dojox.storage._onStatus", statusResults, 
+		                            null, namespace);
+	}
+
+	public function put(keyName, keyValue, namespace){
+		// Get the SharedObject for these values and save it
+		so = SharedObject.getLocal(namespace);
+		
+		//  Save the key and value
+		so.data[keyName] = keyValue;
+		
+		// Save the namespace
+		// FIXME: Tie this into the flush/no-flush stuff below; right now
+		// we immediately write out this namespace. -- Brad Neuberg
+    addNamespace(namespace, keyName);
+
+		//	Do all the flush/no-flush stuff
+		var keyNames = new Array(); 
+		keyNames[0] = keyName;
+		postWrite(so, keyNames, namespace);
+	}
+	
+	public function putMultiple(metaKey, metaValue, metaLengths, namespace){
+		// Get the SharedObject for these values and save it
+		so = SharedObject.getLocal(namespace);
+		
+		//	Create array of keys and value lengths
+		var keys = metaKey.split(",");
+		var lengths = metaLengths.split(",");
+		
+		//	Loop through the array and write the values
+		for(var i = 0; i < keys.length; i++){
+			so.data[keys[i]] = metaValue.slice(0,lengths[i]);
+			metaValue = metaValue.slice(lengths[i]);
+		}
+		
+		// Save the namespace
+		// FIXME: Tie this into the flush/no-flush stuff below; right now
+		// we immediately write out this namespace. -- Brad Neuberg
+    addNamespace(namespace, null);
+		
+		//	Do all the flush/no-flush stuff
+		postWrite(so, keys, namespace);
+	}
+
+	public function postWrite(so, keyNames, namespace){
+		//	TODO: Review all this 'handler' stuff. In particular, the flush 
+		//  could now be with keys pending from several different requests, not 
+		//  only the ones passed in this method call
+
+		// prepare a storage status handler
+		var self = this;
+		so.onStatus = function(infoObject:Object){
+			//trace("onStatus, infoObject="+infoObject.code);
+			
+			// delete the data value if the request was denied
+			if(infoObject.code == "SharedObject.Flush.Failed"){
+				for(var i=0;i<keyNames.length;i++){
+					delete self.so.data[keyNames[i]];
+				}
+			}
+			
+			var statusResults;
+			if(infoObject.code == "SharedObject.Flush.Failed"){
+				statusResults = Storage.FAILED;
+			}else if(infoObject.code == "SharedObject.Flush.Pending"){
+				statusResults = Storage.PENDING;
+			}else if(infoObject.code == "SharedObject.Flush.Success"){
+				// if we have succeeded saving our value, see if we
+				// need to update our list of namespaces
+				if(self.hasNamespace(namespace) == true){
+					statusResults = Storage.SUCCESS;
+				}else{
+					// we have a new namespace we must store
+					self.addNamespace(namespace, keyNames[0]);
+					return;
+				}
+			}
+			//trace("onStatus, statusResults="+statusResults);
+			
+			// give the status results to JavaScript
+			DojoExternalInterface.call("dojox.storage._onStatus", statusResults, 
+			                            keyNames[0], namespace);
+		}
+		
+		//	Clear any pending flush timers
+		if(timer){
+			_global.clearTimeout(timer);
+		}
+		
+		//	If we have a flush delay set, set a timer for its execution
+		if(flush_delay > 0){
+			timer = _global.setTimeout(flush, flush_delay, namespace);
+		//	With a flush_delay value of 0, execute the flush request synchronously
+		}else if(flush_delay == 0){
+			flush(namespace);
+		}
+		//	Otherwise just don't flush - will be probably be flushed manually
+	}
+
+	public function get(keyName, namespace){
+		// Get the SharedObject for these values and save it
+		so = SharedObject.getLocal(namespace);
+		var results = so.data[keyName];
+		
+		return results;
+	}
+	
+	//	Returns an array with the contents of each key value on the metaKeys array
+	public function getMultiple(metaKeys, namespace){
+		//	get the storage object
+		so = SharedObject.getLocal(namespace);
+		
+		//	Create array of keys to read
+		var keys = metaKeys.split(",");
+		var results = new Array();
+		
+		//	Read from storage into results array
+		for(var i = 0;i < keys.length;i++){
+			var val = so.data[keys[i]];
+			val = val.split("\\").join("\\\\");
+			val = val.split('"').join('\\"');
+			results.push( val);
+		}
+			
+		//	Make the results array into a string
+		var metaResults = '["' + results.join('","') + '"]';
+		
+		return metaResults;
+	}	
+	
+	public function showSettings(){
+		// Show the configuration options for the Flash player, opened to the
+		// section for local storage controls (pane 1)
+		System.showSettings(1);
+		
+		// there is no way we can intercept when the Close button is pressed, allowing us
+		// to hide the Flash dialog. Instead, we need to load a movie in the
+		// background that we can show a close button on.
+		_root.createEmptyMovieClip("_settingsBackground", 1);
+		_root._settingsBackground.loadMovie(DojoExternalInterface.dojoPath 
+																				+ "../dojox/storage/storage_dialog.swf");
+	}
+	
+	public function clear(namespace){
+		so = SharedObject.getLocal(namespace);
+		so.clear();
+		so.flush();
+		
+		// remove this namespace entry now
+		removeNamespace(namespace);
+	}
+	
+	public function getKeys(namespace) : String{
+		// Returns a list of the available keys in this namespace
+		
+		// get the storage object
+		so = SharedObject.getLocal(namespace);
+		// get all of the keys
+		var results = [];
+		for(var i in so.data){
+			results.push(i);	
+		}
+		
+		// remove our key that records our list of namespaces
+		for(var i = 0; i < results.length; i++){
+			if(results[i] == _NAMESPACE_KEY){
+				results.splice(i, 1);
+				break;
+			}
+		}
+		
+		// a bug in ExternalInterface transforms Arrays into
+		// Strings, so we can't use those here! -- BradNeuberg
+		results = results.join(",");
+		
+		return results;
+	}
+	
+	public function getNamespaces() : String{
+		var allNamespaces = SharedObject.getLocal(_NAMESPACE_KEY);
+		var results = [];
+		
+		for(var i in allNamespaces.data){
+			results.push(i);
+		}
+		
+		// a bug in ExternalInterface transforms Arrays into
+		// Strings, so we can use those here! -- BradNeuberg
+		results = results.join(",");
+		
+		return results;
+	}
+	
+	public function remove(keyName, namespace){
+		// Removes a key
+
+		// get the storage object
+		so = SharedObject.getLocal(namespace);
+		
+		// delete this value
+		delete so.data[keyName];
+		
+		// save the changes
+		so.flush();
+		
+		// see if we are the last entry for this namespace
+		var availableKeys = getKeys(namespace);
+		if(availableKeys == ""){
+			// we are empty
+			removeNamespace(namespace);
+		}
+	}
+	
+	//	Removes all the values for each keys on the metaKeys array
+	public function removeMultiple(metaKeys, namespace){		
+		//	get the storage object
+		so = SharedObject.getLocal(namespace);
+		
+		//	Create array of keys to read
+		var keys = metaKeys.split(",");
+		var results = new Array();
+
+		//	Delete elements
+		for(var i=0;i<keys.length;i++){
+			delete so.data[keys[i]];
+		}
+
+		// see if there are no more entries for this namespace
+		var availableKeys = getKeys(namespace);
+		if(availableKeys == ""){
+			// we are empty
+			removeNamespace(namespace);
+		}
+	}
+	
+	private function hasNamespace(namespace):Boolean{
+		// Get the SharedObject for the namespace list
+		var allNamespaces = SharedObject.getLocal(_NAMESPACE_KEY);
+		
+		var results = false;
+		for(var i in allNamespaces.data){
+			if(i == namespace){
+				results = true;
+				break;
+			}
+		}
+		
+		return results;
+	}
+	
+	// FIXME: This code has gotten ugly -- refactor
+	private function addNamespace(namespace, keyName){
+		if(hasNamespace(namespace) == true){
+			return;
+		}
+		
+		// Get the SharedObject for the namespace list
+		var allNamespaces = SharedObject.getLocal(_NAMESPACE_KEY);
+		
+		// prepare a storage status handler if the keyName is
+		// not null
+		if(keyName != null && typeof keyName != "undefined"){
+			var self = this;
+			allNamespaces.onStatus = function(infoObject:Object){
+				// delete the data value if the request was denied
+				if(infoObject.code == "SharedObject.Flush.Failed"){
+					delete self.so.data[keyName];
+				}
+				
+				var statusResults;
+				if(infoObject.code == "SharedObject.Flush.Failed"){
+					statusResults = Storage.FAILED;
+				}else if(infoObject.code == "SharedObject.Flush.Pending"){
+					statusResults = Storage.PENDING;
+				}else if(infoObject.code == "SharedObject.Flush.Success"){
+					statusResults = Storage.SUCCESS;
+				}
+				
+				// give the status results to JavaScript
+				DojoExternalInterface.call("dojox.storage._onStatus", statusResults, 
+				                            keyName, namespace);
+			}
+		}
+		
+		// save the namespace list
+		allNamespaces.data[namespace] = true;
+		var flushResults = allNamespaces.flush();
+		
+		// return results of this command to JavaScript
+		if(keyName != null && typeof keyName != "undefined"){
+			var statusResults;
+			if(flushResults == true){
+				statusResults = Storage.SUCCESS;
+			}else if(flushResults == "pending"){
+				statusResults = Storage.PENDING;
+			}else{
+				statusResults = Storage.FAILED;
+			}
+			
+			DojoExternalInterface.call("dojox.storage._onStatus", statusResults, 
+			                            keyName, namespace);
+		}
+	}
+	
+	// FIXME: This code has gotten ugly -- refactor
+	private function removeNamespace(namespace){
+		if(hasNamespace(namespace) == false){
+			return;
+		}
+		
+		// try to save the namespace list; don't have a return
+		// callback; if we fail on this, the worst that will happen
+		// is that we have a spurious namespace entry
+		var allNamespaces = SharedObject.getLocal(_NAMESPACE_KEY);
+		delete allNamespaces.data[namespace];
+		allNamespaces.flush();
+	}
+
+	static function main(mc){
+		_root.app = new Storage(); 
+	}
+}
+

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/Storage.swf
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/Storage.swf?rev=755920&view=auto
==============================================================================
Binary file - no diff available.

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/Storage.swf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/WhatWGStorageProvider.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/WhatWGStorageProvider.js?rev=755920&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/WhatWGStorageProvider.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/WhatWGStorageProvider.js Thu Mar 19 11:10:58 2009
@@ -0,0 +1,158 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.storage.WhatWGStorageProvider"]){
+dojo._hasResource["dojox.storage.WhatWGStorageProvider"]=true;
+dojo.provide("dojox.storage.WhatWGStorageProvider");
+dojo.require("dojox.storage.Provider");
+dojo.require("dojox.storage.manager");
+dojo.declare("dojox.storage.WhatWGStorageProvider",[dojox.storage.Provider],{initialized:false,_domain:null,_available:null,_statusHandler:null,_allNamespaces:null,_storageEventListener:null,initialize:function(){
+if(dojo.config["disableWhatWGStorage"]==true){
+return;
+}
+this._domain=this._getDomain();
+this.initialized=true;
+dojox.storage.manager.loaded();
+},isAvailable:function(){
+try{
+var _1=globalStorage[this._getDomain()];
+}
+catch(e){
+this._available=false;
+return this._available;
+}
+this._available=true;
+return this._available;
+},put:function(_2,_3,_4,_5){
+if(this.isValidKey(_2)==false){
+throw new Error("Invalid key given: "+_2);
+}
+_5=_5||this.DEFAULT_NAMESPACE;
+_2=this.getFullKey(_2,_5);
+this._statusHandler=_4;
+if(dojo.isString(_3)){
+_3="string:"+_3;
+}else{
+_3=dojo.toJson(_3);
+}
+var _6=dojo.hitch(this,function(_7){
+window.removeEventListener("storage",_6,false);
+if(_4){
+_4.call(null,this.SUCCESS,_2,null,_5);
+}
+});
+window.addEventListener("storage",_6,false);
+try{
+var _8=globalStorage[this._domain];
+_8.setItem(_2,_3);
+}
+catch(e){
+this._statusHandler.call(null,this.FAILED,_2,e.toString(),_5);
+}
+},get:function(_9,_a){
+if(this.isValidKey(_9)==false){
+throw new Error("Invalid key given: "+_9);
+}
+_a=_a||this.DEFAULT_NAMESPACE;
+_9=this.getFullKey(_9,_a);
+var _b=globalStorage[this._domain];
+var _c=_b.getItem(_9);
+if(_c==null||_c==""){
+return null;
+}
+_c=_c.value;
+if(dojo.isString(_c)&&(/^string:/.test(_c))){
+_c=_c.substring("string:".length);
+}else{
+_c=dojo.fromJson(_c);
+}
+return _c;
+},getNamespaces:function(){
+var _d=[this.DEFAULT_NAMESPACE];
+var _e={};
+var _f=globalStorage[this._domain];
+var _10=/^__([^_]*)_/;
+for(var i=0;i<_f.length;i++){
+var _12=_f.key(i);
+if(_10.test(_12)==true){
+var _13=_12.match(_10)[1];
+if(typeof _e[_13]=="undefined"){
+_e[_13]=true;
+_d.push(_13);
+}
+}
+}
+return _d;
+},getKeys:function(_14){
+_14=_14||this.DEFAULT_NAMESPACE;
+if(this.isValidKey(_14)==false){
+throw new Error("Invalid namespace given: "+_14);
+}
+var _15;
+if(_14==this.DEFAULT_NAMESPACE){
+_15=new RegExp("^([^_]{2}.*)$");
+}else{
+_15=new RegExp("^__"+_14+"_(.*)$");
+}
+var _16=globalStorage[this._domain];
+var _17=[];
+for(var i=0;i<_16.length;i++){
+var _19=_16.key(i);
+if(_15.test(_19)==true){
+_19=_19.match(_15)[1];
+_17.push(_19);
+}
+}
+return _17;
+},clear:function(_1a){
+_1a=_1a||this.DEFAULT_NAMESPACE;
+if(this.isValidKey(_1a)==false){
+throw new Error("Invalid namespace given: "+_1a);
+}
+var _1b;
+if(_1a==this.DEFAULT_NAMESPACE){
+_1b=new RegExp("^[^_]{2}");
+}else{
+_1b=new RegExp("^__"+_1a+"_");
+}
+var _1c=globalStorage[this._domain];
+var _1d=[];
+for(var i=0;i<_1c.length;i++){
+if(_1b.test(_1c.key(i))==true){
+_1d[_1d.length]=_1c.key(i);
+}
+}
+dojo.forEach(_1d,dojo.hitch(_1c,"removeItem"));
+},remove:function(key,_20){
+key=this.getFullKey(key,_20);
+var _21=globalStorage[this._domain];
+_21.removeItem(key);
+},isPermanent:function(){
+return true;
+},getMaximumSize:function(){
+return this.SIZE_NO_LIMIT;
+},hasSettingsUI:function(){
+return false;
+},showSettingsUI:function(){
+throw new Error(this.declaredClass+" does not support a storage settings user-interface");
+},hideSettingsUI:function(){
+throw new Error(this.declaredClass+" does not support a storage settings user-interface");
+},getFullKey:function(key,_23){
+_23=_23||this.DEFAULT_NAMESPACE;
+if(this.isValidKey(_23)==false){
+throw new Error("Invalid namespace given: "+_23);
+}
+if(_23==this.DEFAULT_NAMESPACE){
+return key;
+}else{
+return "__"+_23+"_"+key;
+}
+},_getDomain:function(){
+return ((location.hostname=="localhost"&&dojo.isFF&&dojo.isFF<3)?"localhost.localdomain":location.hostname);
+}});
+dojox.storage.manager.register("dojox.storage.WhatWGStorageProvider",new dojox.storage.WhatWGStorageProvider());
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/WhatWGStorageProvider.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/_common.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/_common.js?rev=755920&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/_common.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/_common.js Thu Mar 19 11:10:58 2009
@@ -0,0 +1,17 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.storage._common"]){
+dojo._hasResource["dojox.storage._common"]=true;
+dojo.provide("dojox.storage._common");
+dojo.require("dojox.storage.Provider");
+dojo.require("dojox.storage.manager");
+dojo.require("dojox.storage.GearsStorageProvider");
+dojo.require("dojox.storage.WhatWGStorageProvider");
+dojo.require("dojox.storage.FlashStorageProvider");
+dojox.storage.manager.initialize();
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/_common.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/buildFlashStorage.sh
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/buildFlashStorage.sh?rev=755920&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/buildFlashStorage.sh (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/buildFlashStorage.sh Thu Mar 19 11:10:58 2009
@@ -0,0 +1,4 @@
+#!/bin/sh
+# TODO: FIXME: Get rid of this and hook it into Dojo's general build script
+# You must have mtasc to run this
+mtasc -trace DojoExternalInterface.trace -main -cp ../flash -swf Storage.swf -version 8 -header 215:138:10 Storage.as

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/buildFlashStorage.sh
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/manager.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/manager.js?rev=755920&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/manager.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/manager.js Thu Mar 19 11:10:58 2009
@@ -0,0 +1,118 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.storage.manager"]){
+dojo._hasResource["dojox.storage.manager"]=true;
+dojo.provide("dojox.storage.manager");
+dojox.storage.manager=new function(){
+this.currentProvider=null;
+this.available=false;
+this.providers=[];
+this._initialized=false;
+this._onLoadListeners=[];
+this.initialize=function(){
+this.autodetect();
+};
+this.register=function(_1,_2){
+this.providers.push(_2);
+this.providers[_1]=_2;
+};
+this.setProvider=function(_3){
+};
+this.autodetect=function(){
+if(this._initialized){
+return;
+}
+var _4=dojo.config["forceStorageProvider"]||false;
+var _5;
+for(var i=0;i<this.providers.length;i++){
+_5=this.providers[i];
+if(_4&&_4==_5.declaredClass){
+_5.isAvailable();
+break;
+}else{
+if(!_4&&_5.isAvailable()){
+break;
+}
+}
+}
+if(!_5){
+this._initialized=true;
+this.available=false;
+this.currentProvider=null;
+console.warn("No storage provider found for this platform");
+this.loaded();
+return;
+}
+this.currentProvider=_5;
+dojo.mixin(dojox.storage,this.currentProvider);
+dojox.storage.initialize();
+this._initialized=true;
+this.available=true;
+};
+this.isAvailable=function(){
+return this.available;
+};
+this.addOnLoad=function(_7){
+this._onLoadListeners.push(_7);
+if(this.isInitialized()){
+this._fireLoaded();
+}
+};
+this.removeOnLoad=function(_8){
+for(var i=0;i<this._onLoadListeners.length;i++){
+if(_8==this._onLoadListeners[i]){
+this._onLoadListeners=this._onLoadListeners.splice(i,1);
+break;
+}
+}
+};
+this.isInitialized=function(){
+if(this.currentProvider!=null&&this.currentProvider.declaredClass=="dojox.storage.FlashStorageProvider"&&dojox.flash.ready==false){
+return false;
+}else{
+return this._initialized;
+}
+};
+this.supportsProvider=function(_a){
+try{
+var _b=eval("new "+_a+"()");
+var _c=_b.isAvailable();
+if(!_c){
+return false;
+}
+return _c;
+}
+catch(e){
+return false;
+}
+};
+this.getProvider=function(){
+return this.currentProvider;
+};
+this.loaded=function(){
+this._fireLoaded();
+};
+this._fireLoaded=function(){
+dojo.forEach(this._onLoadListeners,function(i){
+try{
+i();
+}
+catch(e){
+
+}
+});
+};
+this.getResourceList=function(){
+var _e=[];
+dojo.forEach(dojox.storage.manager.providers,function(_f){
+_e=_e.concat(_f.getResourceList());
+});
+return _e;
+};
+};
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/manager.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/storage_dialog.fla
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/storage_dialog.fla?rev=755920&view=auto
==============================================================================
Binary file - no diff available.

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/storage_dialog.fla
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/storage_dialog.swf
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/storage_dialog.swf?rev=755920&view=auto
==============================================================================
Binary file - no diff available.

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/storage/storage_dialog.swf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/string/BidiComplex.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/string/BidiComplex.js?rev=755920&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/string/BidiComplex.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/string/BidiComplex.js Thu Mar 19 11:10:58 2009
@@ -0,0 +1,246 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.string.BidiComplex"]){
+dojo._hasResource["dojox.string.BidiComplex"]=true;
+dojo.provide("dojox.string.BidiComplex");
+dojo.experimental("dojox.string.BidiComplex");
+(function(){
+var _1=[];
+dojox.string.BidiComplex.attachInput=function(_2,_3){
+_2.alt=_3;
+dojo.connect(_2,"onkeydown",this,"_ceKeyDown");
+dojo.connect(_2,"onkeyup",this,"_ceKeyUp");
+dojo.connect(_2,"oncut",this,"_ceCutText");
+dojo.connect(_2,"oncopy",this,"_ceCopyText");
+_2.value=dojox.string.BidiComplex.createDisplayString(_2.value,_2.alt);
+};
+dojox.string.BidiComplex.createDisplayString=function(_4,_5){
+_4=dojox.string.BidiComplex.stripSpecialCharacters(_4);
+var _6=dojox.string.BidiComplex._parse(_4,_5);
+var _7="‪"+_4;
+var _8=1;
+dojo.forEach(_6,function(n){
+if(n!=null){
+var _a=_7.substring(0,n+_8);
+var _b=_7.substring(n+_8,_7.length);
+_7=_a+"‎"+_b;
+_8++;
+}
+});
+return _7;
+};
+dojox.string.BidiComplex.stripSpecialCharacters=function(_c){
+return _c.replace(/[\u200E\u200F\u202A-\u202E]/g,"");
+};
+dojox.string.BidiComplex._ceKeyDown=function(_d){
+var _e=dojo.isIE?_d.srcElement:_d.target;
+_1=_e.value;
+};
+dojox.string.BidiComplex._ceKeyUp=function(_f){
+var LRM="‎";
+var _11=dojo.isIE?_f.srcElement:_f.target;
+var _12=_11.value;
+var _13=_f.keyCode;
+if((_13==dojo.keys.HOME)||(_13==dojo.keys.END)||(_13==dojo.keys.SHIFT)){
+return;
+}
+var _14,_15;
+var _16=dojox.string.BidiComplex._getCaretPos(_f,_11);
+if(_16){
+_14=_16[0];
+_15=_16[1];
+}
+if(dojo.isIE){
+var _17=_14,_18=_15;
+if(_13==dojo.keys.LEFT_ARROW){
+if((_12.charAt(_15-1)==LRM)&&(_14==_15)){
+dojox.string.BidiComplex._setSelectedRange(_11,_14-1,_15-1);
+}
+return;
+}
+if(_13==dojo.keys.RIGHT_ARROW){
+if(_12.charAt(_15-1)==LRM){
+_18=_15+1;
+if(_14==_15){
+_17=_14+1;
+}
+}
+dojox.string.BidiComplex._setSelectedRange(_11,_17,_18);
+return;
+}
+}else{
+if(_13==dojo.keys.LEFT_ARROW){
+if(_12.charAt(_15-1)==LRM){
+dojox.string.BidiComplex._setSelectedRange(_11,_14-1,_15-1);
+}
+return;
+}
+if(_13==dojo.keys.RIGHT_ARROW){
+if(_12.charAt(_15-1)==LRM){
+dojox.string.BidiComplex._setSelectedRange(_11,_14+1,_15+1);
+}
+return;
+}
+}
+var _19=dojox.string.BidiComplex.createDisplayString(_12,_11.alt);
+if(_12!=_19){
+window.status=_12+" c="+_15;
+_11.value=_19;
+if((_13==dojo.keys.DELETE)&&(_19.charAt(_15)==LRM)){
+_11.value=_19.substring(0,_15)+_19.substring(_15+2,_19.length);
+}
+if(_13==dojo.keys.DELETE){
+dojox.string.BidiComplex._setSelectedRange(_11,_14,_15);
+}else{
+if(_13==dojo.keys.BACKSPACE){
+if((_1.length>=_15)&&(_1.charAt(_15-1)==LRM)){
+dojox.string.BidiComplex._setSelectedRange(_11,_14-1,_15-1);
+}else{
+dojox.string.BidiComplex._setSelectedRange(_11,_14,_15);
+}
+}else{
+if(_11.value.charAt(_15)!=LRM){
+dojox.string.BidiComplex._setSelectedRange(_11,_14+1,_15+1);
+}
+}
+}
+}
+};
+dojox.string.BidiComplex._processCopy=function(_1a,_1b,_1c){
+if(_1b==null){
+if(dojo.isIE){
+var _1d=document.selection.createRange();
+_1b=_1d.text;
+}else{
+_1b=_1a.value.substring(_1a.selectionStart,_1a.selectionEnd);
+}
+}
+var _1e=dojox.string.BidiComplex.stripSpecialCharacters(_1b);
+if(dojo.isIE){
+window.clipboardData.setData("Text",_1e);
+}
+return true;
+};
+dojox.string.BidiComplex._ceCopyText=function(_1f){
+if(dojo.isIE){
+_1f.returnValue=false;
+}
+return dojox.string.BidiComplex._processCopy(_1f,null,false);
+};
+dojox.string.BidiComplex._ceCutText=function(_20){
+var ret=dojox.string.BidiComplex._processCopy(_20,null,false);
+if(!ret){
+return false;
+}
+if(dojo.isIE){
+document.selection.clear();
+}else{
+var _22=_20.selectionStart;
+_20.value=_20.value.substring(0,_22)+_20.value.substring(_20.selectionEnd);
+_20.setSelectionRange(_22,_22);
+}
+return true;
+};
+dojox.string.BidiComplex._getCaretPos=function(_23,_24){
+if(dojo.isIE){
+var _25=0,_26=document.selection.createRange().duplicate(),_27=_26.duplicate(),_28=_26.text.length;
+if(_24.type=="textarea"){
+_27.moveToElementText(_24);
+}else{
+_27.expand("textedit");
+}
+while(_26.compareEndPoints("StartToStart",_27)>0){
+_26.moveStart("character",-1);
+++_25;
+}
+return [_25,_25+_28];
+}
+return [_23.target.selectionStart,_23.target.selectionEnd];
+};
+dojox.string.BidiComplex._setSelectedRange=function(_29,_2a,_2b){
+if(dojo.isIE){
+var _2c=_29.createTextRange();
+if(_2c){
+if(_29.type=="textarea"){
+_2c.moveToElementText(_29);
+}else{
+_2c.expand("textedit");
+}
+_2c.collapse();
+_2c.moveEnd("character",_2b);
+_2c.moveStart("character",_2a);
+_2c.select();
+}
+}else{
+_29.selectionStart=_2a;
+_29.selectionEnd=_2b;
+}
+};
+var _2d=function(c){
+return (c>="0"&&c<="9")||(c>"ÿ");
+};
+var _2f=function(c){
+return (c>="A"&&c<="Z")||(c>="a"&&c<="z");
+};
+var _31=function(_32,i,_34){
+while(i>0){
+if(i==_34){
+return false;
+}
+i--;
+if(_2d(_32.charAt(i))){
+return true;
+}
+if(_2f(_32.charAt(i))){
+return false;
+}
+}
+return false;
+};
+dojox.string.BidiComplex._parse=function(str,_36){
+var _37=-1,_38=[];
+var _39={FILE_PATH:"/\\:.",URL:"/:.?=&#",XPATH:"/\\:.<>=[]",EMAIL:"<>@.,;"}[_36];
+switch(_36){
+case "FILE_PATH":
+case "URL":
+case "XPATH":
+dojo.forEach(str,function(ch,i){
+if(_39.indexOf(ch)>=0&&_31(str,i,_37)){
+_37=i;
+_38.push(i);
+}
+});
+break;
+case "EMAIL":
+var _3c=false;
+dojo.forEach(str,function(ch,i){
+if(ch=="\""){
+if(_31(str,i,_37)){
+_37=i;
+_38.push(i);
+}
+i++;
+var i1=str.indexOf("\"",i);
+if(i1>=i){
+i=i1;
+}
+if(_31(str,i,_37)){
+_37=i;
+_38.push(i);
+}
+}
+if(_39.indexOf(ch)>=0&&_31(str,i,_37)){
+_37=i;
+_38.push(i);
+}
+});
+}
+return _38;
+};
+})();
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/string/BidiComplex.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/string/Builder.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/string/Builder.js?rev=755920&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/string/Builder.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/string/Builder.js Thu Mar 19 11:10:58 2009
@@ -0,0 +1,91 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.string.Builder"]){
+dojo._hasResource["dojox.string.Builder"]=true;
+dojo.provide("dojox.string.Builder");
+dojox.string.Builder=function(_1){
+var b="";
+this.length=0;
+this.append=function(s){
+if(arguments.length>1){
+var _4="",l=arguments.length;
+switch(l){
+case 9:
+_4=""+arguments[8]+_4;
+case 8:
+_4=""+arguments[7]+_4;
+case 7:
+_4=""+arguments[6]+_4;
+case 6:
+_4=""+arguments[5]+_4;
+case 5:
+_4=""+arguments[4]+_4;
+case 4:
+_4=""+arguments[3]+_4;
+case 3:
+_4=""+arguments[2]+_4;
+case 2:
+b+=""+arguments[0]+arguments[1]+_4;
+break;
+default:
+var i=0;
+while(i<arguments.length){
+_4+=arguments[i++];
+}
+b+=_4;
+}
+}else{
+b+=s;
+}
+this.length=b.length;
+return this;
+};
+this.concat=function(s){
+return this.append.apply(this,arguments);
+};
+this.appendArray=function(_8){
+return this.append.apply(this,_8);
+};
+this.clear=function(){
+b="";
+this.length=0;
+return this;
+};
+this.replace=function(_9,_a){
+b=b.replace(_9,_a);
+this.length=b.length;
+return this;
+};
+this.remove=function(_b,_c){
+if(_c===undefined){
+_c=b.length;
+}
+if(_c==0){
+return this;
+}
+b=b.substr(0,_b)+b.substr(_b+_c);
+this.length=b.length;
+return this;
+};
+this.insert=function(_d,_e){
+if(_d==0){
+b=_e+b;
+}else{
+b=b.slice(0,_d)+_e+b.slice(_d);
+}
+this.length=b.length;
+return this;
+};
+this.toString=function(){
+return b;
+};
+if(_1){
+this.append(_1);
+}
+};
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/string/Builder.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/string/README
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/string/README?rev=755920&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/string/README (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/string/README Thu Mar 19 11:10:58 2009
@@ -0,0 +1,39 @@
+-------------------------------------------------------------------------------
+DojoX String Utilities
+-------------------------------------------------------------------------------
+Version 0.9
+Release date: 05/08/2007
+-------------------------------------------------------------------------------
+Project state:
+dojox.string.Builder: production
+dojox.string.sprintf: beta
+dojox.string.tokenize: beta
+-------------------------------------------------------------------------------
+Project authors
+	Ben Lowery
+	Tom Trenka (ttrenka@gmail.com)
+	Neil Roberts
+-------------------------------------------------------------------------------
+Project description
+
+The DojoX String utilties project is a placeholder for miscellaneous string
+utility functions.  At the time of writing, only the Builder object has been
+added; but we anticipate other string utilities may end up living here as well.
+-------------------------------------------------------------------------------
+Dependencies:
+
+Dojo Core (package loader).
+-------------------------------------------------------------------------------
+Documentation
+
+See the Dojo Toolkit API docs (http://dojotookit.org/api), dojo.string.Builder.
+-------------------------------------------------------------------------------
+Installation instructions
+
+Grab the following from the Dojo SVN Repository:
+http://svn.dojotoolkit.org/var/src/dojo/dojox/trunk/string/*
+
+Install into the following directory structure:
+/dojox/string/
+
+...which should be at the same level as your Dojo checkout.

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/string/README
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/string/sprintf.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/string/sprintf.js?rev=755920&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/string/sprintf.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/string/sprintf.js Thu Mar 19 11:10:58 2009
@@ -0,0 +1,280 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.string.sprintf"]){
+dojo._hasResource["dojox.string.sprintf"]=true;
+dojo.provide("dojox.string.sprintf");
+dojo.require("dojox.string.tokenize");
+dojox.string.sprintf=function(_1,_2){
+for(var _3=[],i=1;i<arguments.length;i++){
+_3.push(arguments[i]);
+}
+var _5=new dojox.string.sprintf.Formatter(_1);
+return _5.format.apply(_5,_3);
+};
+dojox.string.sprintf.Formatter=function(_6){
+var _7=[];
+this._mapped=false;
+this._format=_6;
+this._tokens=dojox.string.tokenize(_6,this._re,this._parseDelim,this);
+};
+dojo.extend(dojox.string.sprintf.Formatter,{_re:/\%(?:\(([\w_]+)\)|([1-9]\d*)\$)?([0 +\-\#]*)(\*|\d+)?(\.)?(\*|\d+)?[hlL]?([\%scdeEfFgGiouxX])/g,_parseDelim:function(_8,_9,_a,_b,_c,_d,_e){
+if(_8){
+this._mapped=true;
+}
+return {mapping:_8,intmapping:_9,flags:_a,_minWidth:_b,period:_c,_precision:_d,specifier:_e};
+},_specifiers:{b:{base:2,isInt:true},o:{base:8,isInt:true},x:{base:16,isInt:true},X:{extend:["x"],toUpper:true},d:{base:10,isInt:true},i:{extend:["d"]},u:{extend:["d"],isUnsigned:true},c:{setArg:function(_f){
+if(!isNaN(_f.arg)){
+var num=parseInt(_f.arg);
+if(num<0||num>127){
+throw new Error("invalid character code passed to %c in sprintf");
+}
+_f.arg=isNaN(num)?""+num:String.fromCharCode(num);
+}
+}},s:{setMaxWidth:function(_11){
+_11.maxWidth=(_11.period==".")?_11.precision:-1;
+}},e:{isDouble:true,doubleNotation:"e"},E:{extend:["e"],toUpper:true},f:{isDouble:true,doubleNotation:"f"},F:{extend:["f"]},g:{isDouble:true,doubleNotation:"g"},G:{extend:["g"],toUpper:true}},format:function(_12){
+if(this._mapped&&typeof _12!="object"){
+throw new Error("format requires a mapping");
+}
+var str="";
+var _14=0;
+for(var i=0,_16;i<this._tokens.length;i++){
+_16=this._tokens[i];
+if(typeof _16=="string"){
+str+=_16;
+}else{
+if(this._mapped){
+if(typeof _12[_16.mapping]=="undefined"){
+throw new Error("missing key "+_16.mapping);
+}
+_16.arg=_12[_16.mapping];
+}else{
+if(_16.intmapping){
+var _14=parseInt(_16.intmapping)-1;
+}
+if(_14>=arguments.length){
+throw new Error("got "+arguments.length+" printf arguments, insufficient for '"+this._format+"'");
+}
+_16.arg=arguments[_14++];
+}
+if(!_16.compiled){
+_16.compiled=true;
+_16.sign="";
+_16.zeroPad=false;
+_16.rightJustify=false;
+_16.alternative=false;
+var _17={};
+for(var fi=_16.flags.length;fi--;){
+var _19=_16.flags.charAt(fi);
+_17[_19]=true;
+switch(_19){
+case " ":
+_16.sign=" ";
+break;
+case "+":
+_16.sign="+";
+break;
+case "0":
+_16.zeroPad=(_17["-"])?false:true;
+break;
+case "-":
+_16.rightJustify=true;
+_16.zeroPad=false;
+break;
+case "#":
+_16.alternative=true;
+break;
+default:
+throw Error("bad formatting flag '"+_16.flags.charAt(fi)+"'");
+}
+}
+_16.minWidth=(_16._minWidth)?parseInt(_16._minWidth):0;
+_16.maxWidth=-1;
+_16.toUpper=false;
+_16.isUnsigned=false;
+_16.isInt=false;
+_16.isDouble=false;
+_16.precision=1;
+if(_16.period=="."){
+if(_16._precision){
+_16.precision=parseInt(_16._precision);
+}else{
+_16.precision=0;
+}
+}
+var _1a=this._specifiers[_16.specifier];
+if(typeof _1a=="undefined"){
+throw new Error("unexpected specifier '"+_16.specifier+"'");
+}
+if(_1a.extend){
+dojo.mixin(_1a,this._specifiers[_1a.extend]);
+delete _1a.extend;
+}
+dojo.mixin(_16,_1a);
+}
+if(typeof _16.setArg=="function"){
+_16.setArg(_16);
+}
+if(typeof _16.setMaxWidth=="function"){
+_16.setMaxWidth(_16);
+}
+if(_16._minWidth=="*"){
+if(this._mapped){
+throw new Error("* width not supported in mapped formats");
+}
+_16.minWidth=parseInt(arguments[_14++]);
+if(isNaN(_16.minWidth)){
+throw new Error("the argument for * width at position "+_14+" is not a number in "+this._format);
+}
+if(_16.minWidth<0){
+_16.rightJustify=true;
+_16.minWidth=-_16.minWidth;
+}
+}
+if(_16._precision=="*"&&_16.period=="."){
+if(this._mapped){
+throw new Error("* precision not supported in mapped formats");
+}
+_16.precision=parseInt(arguments[_14++]);
+if(isNaN(_16.precision)){
+throw Error("the argument for * precision at position "+_14+" is not a number in "+this._format);
+}
+if(_16.precision<0){
+_16.precision=1;
+_16.period="";
+}
+}
+if(_16.isInt){
+if(_16.period=="."){
+_16.zeroPad=false;
+}
+this.formatInt(_16);
+}else{
+if(_16.isDouble){
+if(_16.period!="."){
+_16.precision=6;
+}
+this.formatDouble(_16);
+}
+}
+this.fitField(_16);
+str+=""+_16.arg;
+}
+}
+return str;
+},_zeros10:"0000000000",_spaces10:"          ",formatInt:function(_1b){
+var i=parseInt(_1b.arg);
+if(!isFinite(i)){
+if(typeof _1b.arg!="number"){
+throw new Error("format argument '"+_1b.arg+"' not an integer; parseInt returned "+i);
+}
+i=0;
+}
+if(i<0&&(_1b.isUnsigned||_1b.base!=10)){
+i=4294967295+i+1;
+}
+if(i<0){
+_1b.arg=(-i).toString(_1b.base);
+this.zeroPad(_1b);
+_1b.arg="-"+_1b.arg;
+}else{
+_1b.arg=i.toString(_1b.base);
+if(!i&&!_1b.precision){
+_1b.arg="";
+}else{
+this.zeroPad(_1b);
+}
+if(_1b.sign){
+_1b.arg=_1b.sign+_1b.arg;
+}
+}
+if(_1b.base==16){
+if(_1b.alternative){
+_1b.arg="0x"+_1b.arg;
+}
+_1b.arg=_1b.toUpper?_1b.arg.toUpperCase():_1b.arg.toLowerCase();
+}
+if(_1b.base==8){
+if(_1b.alternative&&_1b.arg.charAt(0)!="0"){
+_1b.arg="0"+_1b.arg;
+}
+}
+},formatDouble:function(_1d){
+var f=parseFloat(_1d.arg);
+if(!isFinite(f)){
+if(typeof _1d.arg!="number"){
+throw new Error("format argument '"+_1d.arg+"' not a float; parseFloat returned "+f);
+}
+f=0;
+}
+switch(_1d.doubleNotation){
+case "e":
+_1d.arg=f.toExponential(_1d.precision);
+break;
+case "f":
+_1d.arg=f.toFixed(_1d.precision);
+break;
+case "g":
+if(Math.abs(f)<0.0001){
+_1d.arg=f.toExponential(_1d.precision>0?_1d.precision-1:_1d.precision);
+}else{
+_1d.arg=f.toPrecision(_1d.precision);
+}
+if(!_1d.alternative){
+_1d.arg=_1d.arg.replace(/(\..*[^0])0*/,"$1");
+_1d.arg=_1d.arg.replace(/\.0*e/,"e").replace(/\.0$/,"");
+}
+break;
+default:
+throw new Error("unexpected double notation '"+_1d.doubleNotation+"'");
+}
+_1d.arg=_1d.arg.replace(/e\+(\d)$/,"e+0$1").replace(/e\-(\d)$/,"e-0$1");
+if(dojo.isOpera){
+_1d.arg=_1d.arg.replace(/^\./,"0.");
+}
+if(_1d.alternative){
+_1d.arg=_1d.arg.replace(/^(\d+)$/,"$1.");
+_1d.arg=_1d.arg.replace(/^(\d+)e/,"$1.e");
+}
+if(f>=0&&_1d.sign){
+_1d.arg=_1d.sign+_1d.arg;
+}
+_1d.arg=_1d.toUpper?_1d.arg.toUpperCase():_1d.arg.toLowerCase();
+},zeroPad:function(_1f,_20){
+_20=(arguments.length==2)?_20:_1f.precision;
+if(typeof _1f.arg!="string"){
+_1f.arg=""+_1f.arg;
+}
+var _21=_20-10;
+while(_1f.arg.length<_21){
+_1f.arg=(_1f.rightJustify)?_1f.arg+this._zeros10:this._zeros10+_1f.arg;
+}
+var pad=_20-_1f.arg.length;
+_1f.arg=(_1f.rightJustify)?_1f.arg+this._zeros10.substring(0,pad):this._zeros10.substring(0,pad)+_1f.arg;
+},fitField:function(_23){
+if(_23.maxWidth>=0&&_23.arg.length>_23.maxWidth){
+return _23.arg.substring(0,_23.maxWidth);
+}
+if(_23.zeroPad){
+this.zeroPad(_23,_23.minWidth);
+return;
+}
+this.spacePad(_23);
+},spacePad:function(_24,_25){
+_25=(arguments.length==2)?_25:_24.minWidth;
+if(typeof _24.arg!="string"){
+_24.arg=""+_24.arg;
+}
+var _26=_25-10;
+while(_24.arg.length<_26){
+_24.arg=(_24.rightJustify)?_24.arg+this._spaces10:this._spaces10+_24.arg;
+}
+var pad=_25-_24.arg.length;
+_24.arg=(_24.rightJustify)?_24.arg+this._spaces10.substring(0,pad):this._spaces10.substring(0,pad)+_24.arg;
+}});
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/string/sprintf.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/string/tokenize.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/string/tokenize.js?rev=755920&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/string/tokenize.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/string/tokenize.js Thu Mar 19 11:10:58 2009
@@ -0,0 +1,40 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.string.tokenize"]){
+dojo._hasResource["dojox.string.tokenize"]=true;
+dojo.provide("dojox.string.tokenize");
+dojox.string.tokenize=function(_1,re,_3,_4){
+var _5=[];
+var _6,_7,_8=0;
+while(_6=re.exec(_1)){
+_7=_1.slice(_8,re.lastIndex-_6[0].length);
+if(_7.length){
+_5.push(_7);
+}
+if(_3){
+if(dojo.isOpera){
+var _9=_6.slice(0);
+while(_9.length<_6.length){
+_9.push(null);
+}
+_6=_9;
+}
+var _a=_3.apply(_4,_6.slice(1).concat(_5.length));
+if(typeof _a!="undefined"){
+_5.push(_a);
+}
+}
+_8=re.lastIndex;
+}
+_7=_1.slice(_8);
+if(_7.length){
+_5.push(_7);
+}
+return _5;
+};
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/string/tokenize.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/testing/DocTest.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/testing/DocTest.js?rev=755920&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/testing/DocTest.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/testing/DocTest.js Thu Mar 19 11:10:58 2009
@@ -0,0 +1,91 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.testing.DocTest"]){
+dojo._hasResource["dojox.testing.DocTest"]=true;
+dojo.provide("dojox.testing.DocTest");
+dojo.require("dojo.string");
+dojo.declare("dojox.testing.DocTest",null,{errors:[],getTests:function(_1){
+var _2=dojo.moduleUrl(_1).path;
+var _3=_2.substring(0,_2.length-1)+".js";
+var _4=dojo.xhrGet({url:_3,handleAs:"text"});
+var _5=dojo._getText(_3);
+return this._getTestsFromString(_5,true);
+},getTestsFromString:function(_6){
+return this._getTestsFromString(_6,false);
+},_getTestsFromString:function(_7,_8){
+var _9=dojo.hitch(dojo.string,"trim");
+var _a=_7.split("\n");
+var _b=_a.length;
+var _c=[];
+var _d={commands:[],expectedResult:[],line:null};
+for(var i=0;i<_b+1;i++){
+var l=_9(_a[i]||"");
+if((_8&&l.match(/^\/\/\s+>>>\s.*/))||l.match(/^\s*>>>\s.*/)){
+if(!_d.line){
+_d.line=i+1;
+}
+if(_d.expectedResult.length>0){
+_c.push({commands:_d.commands,expectedResult:_d.expectedResult.join("\n"),line:_d.line});
+_d={commands:[],expectedResult:[],line:i+1};
+}
+l=_8?_9(l).substring(2,l.length):l;
+l=_9(l).substring(3,l.length);
+_d.commands.push(_9(l));
+}else{
+if((!_8||l.match(/^\/\/\s+.*/))&&_d.commands.length&&_d.expectedResult.length==0){
+l=_8?_9(l).substring(3,l.length):l;
+_d.expectedResult.push(_9(l));
+}else{
+if(_d.commands.length>0&&_d.expectedResult.length){
+if(!_8||l.match(/^\/\/\s*$/)){
+_c.push({commands:_d.commands,expectedResult:_d.expectedResult.join("\n"),line:_d.line});
+}
+if(_8&&!l.match(/^\/\//)){
+_c.push({commands:_d.commands,expectedResult:_d.expectedResult.join("\n"),line:_d.line});
+}
+_d={commands:[],expectedResult:[],line:0};
+}
+}
+}
+}
+return _c;
+},run:function(_10){
+this.errors=[];
+var _11=this.getTests(_10);
+if(_11){
+this._run(_11);
+}
+},_run:function(_12){
+var len=_12.length;
+this.tests=len;
+var oks=0;
+for(var i=0;i<len;i++){
+var t=_12[i];
+var res=this.runTest(t.commands,t.expectedResult);
+var msg="Test "+(i+1)+": ";
+var _19=t.commands.join(" ");
+_19=(_19.length>50?_19.substr(0,50)+"...":_19);
+if(res.success){
+
+oks+=1;
+}else{
+this.errors.push({commands:t.commands,actual:res.actualResult,expected:t.expectedResult});
+console.error(msg+"Failed: "+_19,{commands:t.commands,actualResult:res.actualResult,expectedResult:t.expectedResult});
+}
+}
+
+},runTest:function(_1a,_1b){
+var ret={success:false,actualResult:null};
+var _1d=_1a.join("\n");
+ret.actualResult=eval(_1d);
+if((String(ret.actualResult)==_1b)||(dojo.toJson(ret.actualResult)==_1b)||((_1b.charAt(0)=="\"")&&(_1b.charAt(_1b.length-1)=="\"")&&(String(ret.actualResult)==_1b.substring(1,_1b.length-1)))){
+ret.success=true;
+}
+return ret;
+}});
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/testing/DocTest.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/testing/README
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/testing/README?rev=755920&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/testing/README (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/testing/README Thu Mar 19 11:10:58 2009
@@ -0,0 +1,41 @@
+-------------------------------------------------------------------------------
+dojox.testing
+-------------------------------------------------------------------------------
+Version 0.1
+Release date: 06/18/08
+-------------------------------------------------------------------------------
+Project state:
+experimental
+-------------------------------------------------------------------------------
+Credits
+	Wolfram Kriesing (wolfram@dojotoolkit.org)
+-------------------------------------------------------------------------------
+Project description 
+
+	A port of Python's DocTests module to Dojo and D.O.H. which is also
+	compatible with Dojo's API documentation system
+ 
+-------------------------------------------------------------------------------
+Dependencies:
+
+	dojo.string, DOH
+
+-------------------------------------------------------------------------------
+Documentation
+
+-------------------------------------------------------------------------------
+Installation instructions
+
+Grab the following from the Dojo SVN Repository:
+
+	http://svn.dojotoolkit.org/dojo/dojox/trunk/testing/*
+
+Install into the following directory structure:
+
+	/dojox/testing/
+
+...which should be at the same level as your Dojo checkout.
+-------------------------------------------------------------------------------
+Additional Notes
+
+	None.

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/testing/README
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/README
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/README?rev=755920&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/README (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/README Thu Mar 19 11:10:58 2009
@@ -0,0 +1,63 @@
+-------------------------------------------------------------------------------
+DojoX Timing
+-------------------------------------------------------------------------------
+Version 0.1.0
+Release date: 08/08/2007
+-------------------------------------------------------------------------------
+Project state:
+experimental
+-------------------------------------------------------------------------------
+Credits
+	Tom Trenka (ttrenka AT gmail.com): original Timer, Streamer, Thread and ThreadPool
+	Wolfram Kriesing (http://wolfram.kriesing.de/blog/): Sequence
+	Jonathan Bond-Caron (jbondc AT gmail.com): port of Timer and Streamer
+	Pete Higgins (phiggins AT gmail.com): port of Sequence
+	Mike Wilcox (anm8tr AT yahoo.com): dojo.doLater
+-------------------------------------------------------------------------------
+Project description
+
+DojoX Timing is a project that deals with any kind of advanced use of timing
+constructs.  The central object, dojox.timing.Timer (included by default), is
+a simple object that fires a callback on each tick of the timer, as well as 
+when starting or stopping it.  The interval of each tick is settable, but the
+default is 1 second--useful for driving something such as a clock.
+
+dojox.timing.Streamer is an object designed to facilitate streaming/buffer-type
+scenarios; it takes an input and an output function, will execute the output
+function onTick, and run the input function when the internal buffer gets 
+beneath a certain threshold of items.  This can be useful for something timed--
+such as updating a data plot at every N interval, and getting new data from
+a source when there's less than X data points in the internal buffer (think
+real-time data updating).
+
+dojox.timing.Sequencer is an object, similar to Streamer, that will allow you
+to set up a set of functions to be executed in a specific order, at specific
+intervals.
+
+The DojoX Timing ThreadPool is a port from the original implementation in the
+f(m) library.  It allows a user to feed a set of callback functions (wrapped
+in a Thread constructor) to a pool for background processing.
+
+dojo.doLater() provides a simple mechanism that checks a conditional before allowing
+your function to continue. If the conditional is false, the function is blocked and continually
+re-called, with arguments, until the conditional passes.
+-------------------------------------------------------------------------------
+Dependencies:
+
+DojoX Timing only relies on the Dojo Base.
+-------------------------------------------------------------------------------
+Documentation
+
+TBD.
+-------------------------------------------------------------------------------
+Installation instructions
+
+Grab the following from the Dojo SVN Repository:
+http://svn.dojotoolkit.org/var/src/dojo/dojox/trunk/timing.js
+http://svn.dojotoolkit.org/var/src/dojo/dojox/trunk/timing/*
+
+Install into the following directory structure:
+/dojox/timing.js
+/dojox/timing/
+
+...which should be at the same level as your Dojo checkout.

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/README
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/Sequence.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/Sequence.js?rev=755920&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/Sequence.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/Sequence.js Thu Mar 19 11:10:58 2009
@@ -0,0 +1,87 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.timing.Sequence"]){
+dojo._hasResource["dojox.timing.Sequence"]=true;
+dojo.provide("dojox.timing.Sequence");
+dojo.experimental("dojox.timing.Sequence");
+dojo.declare("dojox.timing.Sequence",null,{_goOnPause:0,_running:false,constructor:function(){
+this._defsResolved=[];
+},go:function(_1,_2){
+this._running=true;
+dojo.forEach(_1,function(_3){
+if(_3.repeat>1){
+var _4=_3.repeat;
+for(var j=0;j<_4;j++){
+_3.repeat=1;
+this._defsResolved.push(_3);
+}
+}else{
+this._defsResolved.push(_3);
+}
+},this);
+var _6=_1[_1.length-1];
+if(_2){
+this._defsResolved.push({func:_2});
+}
+this._defsResolved.push({func:[this.stop,this]});
+this._curId=0;
+this._go();
+},_go:function(){
+if(!this._running){
+return;
+}
+var _7=this._defsResolved[this._curId];
+this._curId+=1;
+function _8(_9){
+var _a=null;
+if(dojo.isArray(_9)){
+if(_9.length>2){
+_a=_9[0].apply(_9[1],_9.slice(2));
+}else{
+_a=_9[0].apply(_9[1]);
+}
+}else{
+_a=_9();
+}
+return _a;
+};
+if(this._curId>=this._defsResolved.length){
+_8(_7.func);
+return;
+}
+if(_7.pauseAfter){
+if(_8(_7.func)!==false){
+setTimeout(dojo.hitch(this,"_go"),_7.pauseAfter);
+}else{
+this._goOnPause=_7.pauseAfter;
+}
+}else{
+if(_7.pauseBefore){
+var x=dojo.hitch(this,function(){
+if(_8(_7.func)!==false){
+this._go();
+}
+});
+setTimeout(x,_7.pauseBefore);
+}else{
+if(_8(_7.func)!==false){
+this._go();
+}
+}
+}
+},goOn:function(){
+if(this._goOnPause){
+setTimeout(dojo.hitch(this,"_go"),this._goOnPause);
+this._goOnPause=0;
+}else{
+this._go();
+}
+},stop:function(){
+this._running=false;
+}});
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/Sequence.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/Streamer.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/Streamer.js?rev=755920&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/Streamer.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/Streamer.js Thu Mar 19 11:10:58 2009
@@ -0,0 +1,64 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.timing.Streamer"]){
+dojo._hasResource["dojox.timing.Streamer"]=true;
+dojo.provide("dojox.timing.Streamer");
+dojo.require("dojox.timing._base");
+dojox.timing.Streamer=function(_1,_2,_3,_4,_5){
+var _6=this;
+var _7=[];
+this.interval=_3||1000;
+this.minimumSize=_4||10;
+this.inputFunction=_1||function(q){
+};
+this.outputFunction=_2||function(_9){
+};
+var _a=new dojox.timing.Timer(this.interval);
+var _b=function(){
+_6.onTick(_6);
+if(_7.length<_6.minimumSize){
+_6.inputFunction(_7);
+}
+var _c=_7.shift();
+while(typeof (_c)=="undefined"&&_7.length>0){
+_c=_7.shift();
+}
+if(typeof (_c)=="undefined"){
+_6.stop();
+return;
+}
+_6.outputFunction(_c);
+};
+this.setInterval=function(ms){
+this.interval=ms;
+_a.setInterval(ms);
+};
+this.onTick=function(_e){
+};
+this.start=function(){
+if(typeof (this.inputFunction)=="function"&&typeof (this.outputFunction)=="function"){
+_a.start();
+return;
+}
+throw new Error("You cannot start a Streamer without an input and an output function.");
+};
+this.onStart=function(){
+};
+this.stop=function(){
+_a.stop();
+};
+this.onStop=function(){
+};
+_a.onTick=this.tick;
+_a.onStart=this.onStart;
+_a.onStop=this.onStop;
+if(_5){
+_7.concat(_5);
+}
+};
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/Streamer.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/ThreadPool.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/ThreadPool.js?rev=755920&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/ThreadPool.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/ThreadPool.js Thu Mar 19 11:10:58 2009
@@ -0,0 +1,142 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.timing.ThreadPool"]){
+dojo._hasResource["dojox.timing.ThreadPool"]=true;
+dojo.provide("dojox.timing.ThreadPool");
+dojo.require("dojox.timing");
+dojo.experimental("dojox.timing.ThreadPool");
+(function(){
+var t=dojox.timing;
+t.threadStates={UNSTARTED:"unstarted",STOPPED:"stopped",PENDING:"pending",RUNNING:"running",SUSPENDED:"suspended",WAITING:"waiting",COMPLETE:"complete",ERROR:"error"};
+t.threadPriorities={LOWEST:1,BELOWNORMAL:2,NORMAL:3,ABOVENORMAL:4,HIGHEST:5};
+t.Thread=function(fn,_3){
+var _4=this;
+this.state=t.threadStates.UNSTARTED;
+this.priority=_3||t.threadPriorities.NORMAL;
+this.lastError=null;
+this.func=fn;
+this.invoke=function(){
+_4.state=t.threadStates.RUNNING;
+try{
+fn(this);
+_4.state=t.threadStates.COMPLETE;
+}
+catch(e){
+_4.lastError=e;
+_4.state=t.threadStates.ERROR;
+}
+};
+};
+t.ThreadPool=new (function(_5,_6){
+var _7=this;
+var _8=_5;
+var _9=_8;
+var _a=_6;
+var _b=Math.floor((_a/2)/_8);
+var _c=[];
+var _d=new Array(_8+1);
+var _e=new dojox.timing.Timer();
+var _f=function(){
+var _10=_d[0]={};
+for(var i=0;i<_d.length;i++){
+window.clearTimeout(_d[i]);
+var _12=_c.shift();
+if(typeof (_12)=="undefined"){
+break;
+}
+_10["thread-"+i]=_12;
+_d[i]=window.setTimeout(_12.invoke,(_b*i));
+}
+_9=_8-(i-1);
+};
+this.getMaxThreads=function(){
+return _8;
+};
+this.getAvailableThreads=function(){
+return _9;
+};
+this.getTickInterval=function(){
+return _a;
+};
+this.queueUserWorkItem=function(fn){
+var _14=fn;
+if(_14 instanceof Function){
+_14=new t.Thread(_14);
+}
+var idx=_c.length;
+for(var i=0;i<_c.length;i++){
+if(_c[i].priority<_14.priority){
+idx=i;
+break;
+}
+}
+if(idx<_c.length){
+_c.splice(idx,0,_14);
+}else{
+_c.push(_14);
+}
+return true;
+};
+this.removeQueuedUserWorkItem=function(_17){
+if(_17 instanceof Function){
+var idx=-1;
+for(var i=0;i<_c.length;i++){
+if(_c[i].func==_17){
+idx=i;
+break;
+}
+}
+if(idx>-1){
+_c.splice(idx,1);
+return true;
+}
+return false;
+}
+var idx=-1;
+for(var i=0;i<_c.length;i++){
+if(_c[i]==_17){
+idx=i;
+break;
+}
+}
+if(idx>-1){
+_c.splice(idx,1);
+return true;
+}
+return false;
+};
+this.start=function(){
+_e.start();
+};
+this.stop=function(){
+_e.stop();
+};
+this.abort=function(){
+this.stop();
+for(var i=1;i<_d.length;i++){
+if(_d[i]){
+window.clearTimeout(_d[i]);
+}
+}
+for(var _1b in _d[0]){
+this.queueUserWorkItem(_1b);
+}
+_d[0]={};
+};
+this.reset=function(){
+this.abort();
+_c=[];
+};
+this.sleep=function(_1c){
+_e.stop();
+window.setTimeout(_e.start,_1c);
+};
+_e.onTick=_7.invoke;
+})(16,5000);
+})();
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/ThreadPool.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/_base.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/_base.js?rev=755920&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/_base.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/_base.js Thu Mar 19 11:10:58 2009
@@ -0,0 +1,41 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.timing._base"]){
+dojo._hasResource["dojox.timing._base"]=true;
+dojo.provide("dojox.timing._base");
+dojo.experimental("dojox.timing");
+dojox.timing.Timer=function(_1){
+this.timer=null;
+this.isRunning=false;
+this.interval=_1;
+this.onStart=null;
+this.onStop=null;
+};
+dojo.extend(dojox.timing.Timer,{onTick:function(){
+},setInterval:function(_2){
+if(this.isRunning){
+window.clearInterval(this.timer);
+}
+this.interval=_2;
+if(this.isRunning){
+this.timer=window.setInterval(dojo.hitch(this,"onTick"),this.interval);
+}
+},start:function(){
+if(typeof this.onStart=="function"){
+this.onStart();
+}
+this.isRunning=true;
+this.timer=window.setInterval(dojo.hitch(this,"onTick"),this.interval);
+},stop:function(){
+if(typeof this.onStop=="function"){
+this.onStop();
+}
+this.isRunning=false;
+window.clearInterval(this.timer);
+}});
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/_base.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/doLater.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/doLater.js?rev=755920&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/doLater.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/doLater.js Thu Mar 19 11:10:58 2009
@@ -0,0 +1,24 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.timing.doLater"]){
+dojo._hasResource["dojox.timing.doLater"]=true;
+dojo.provide("dojox.timing.doLater");
+dojo.experimental("dojox.timing.doLater");
+dojox.timing.doLater=function(_1,_2,_3){
+if(_1){
+return false;
+}
+var _4=dojox.timing.doLater.caller,_5=dojox.timing.doLater.caller.arguments;
+_3=_3||100;
+_2=_2||dojo.global;
+setTimeout(function(){
+_4.apply(_2,_5);
+},_3);
+return true;
+};
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/timing/doLater.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/uuid/README
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/uuid/README?rev=755920&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/uuid/README (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/uuid/README Thu Mar 19 11:10:58 2009
@@ -0,0 +1,43 @@
+-------------------------------------------------------------------------------
+DojoX UUID
+-------------------------------------------------------------------------------
+Version 0.9
+Release date: 06/21/2007
+-------------------------------------------------------------------------------
+Project state: production
+-------------------------------------------------------------------------------
+Project authors
+	Brian Douglas Skinner (skinner@dojotoolkit.org)
+-------------------------------------------------------------------------------
+Project description
+
+DojoX UUID is the port of the original Dojo 0.4.x UUID classes.  The UUID 
+classes can be used to represent Universally Unique IDentifiers (UUIDs), as
+described in the IETF's RFC 4122: 
+  http://tools.ietf.org/html/rfc4122
+
+The DojoX UUID classes provide support for generating both "time-based" UUIDs
+and lightweight "random" UUIDs.  DojoX UUID does not yet have support for 
+generating new "name-based" UUIDs, but the dojo.uuid.Uuid class can represent
+existing name-based UUIDs, such as UUIDs read from a file or from a server. 
+
+-------------------------------------------------------------------------------
+Dependencies:
+
+DojoX UUID has no dependencies, outside of Dojo Core.
+-------------------------------------------------------------------------------
+Documentation
+
+See the API documentation for Dojo (http://dojotoolkit.org/api).
+-------------------------------------------------------------------------------
+Installation instructions
+
+Grab the following from the Dojo SVN Repository:
+http://svn.dojotoolkit.org/var/src/dojo/dojox/trunk/uuid.js
+http://svn.dojotoolkit.org/var/src/dojo/dojox/trunk/uuid/*
+
+Install into the following directory structure:
+/dojox/uuid/
+
+...which should be at the same level as your Dojo checkout.
+-------------------------------------------------------------------------------

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/uuid/README
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/uuid/Uuid.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/uuid/Uuid.js?rev=755920&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/uuid/Uuid.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/uuid/Uuid.js Thu Mar 19 11:10:58 2009
@@ -0,0 +1,99 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.uuid.Uuid"]){
+dojo._hasResource["dojox.uuid.Uuid"]=true;
+dojo.provide("dojox.uuid.Uuid");
+dojo.require("dojox.uuid");
+dojox.uuid.Uuid=function(_1){
+this._uuidString=dojox.uuid.NIL_UUID;
+if(_1){
+dojox.uuid.assert(dojo.isString(_1));
+this._uuidString=_1.toLowerCase();
+dojox.uuid.assert(this.isValid());
+}else{
+var _2=dojox.uuid.Uuid.getGenerator();
+if(_2){
+this._uuidString=_2();
+dojox.uuid.assert(this.isValid());
+}
+}
+};
+dojox.uuid.Uuid.compare=function(_3,_4){
+var _5=_3.toString();
+var _6=_4.toString();
+if(_5>_6){
+return 1;
+}
+if(_5<_6){
+return -1;
+}
+return 0;
+};
+dojox.uuid.Uuid.setGenerator=function(_7){
+dojox.uuid.assert(!_7||dojo.isFunction(_7));
+dojox.uuid.Uuid._ourGenerator=_7;
+};
+dojox.uuid.Uuid.getGenerator=function(){
+return dojox.uuid.Uuid._ourGenerator;
+};
+dojox.uuid.Uuid.prototype.toString=function(){
+return this._uuidString;
+};
+dojox.uuid.Uuid.prototype.compare=function(_8){
+return dojox.uuid.Uuid.compare(this,_8);
+};
+dojox.uuid.Uuid.prototype.isEqual=function(_9){
+return (this.compare(_9)==0);
+};
+dojox.uuid.Uuid.prototype.isValid=function(){
+return dojox.uuid.isValid(this);
+};
+dojox.uuid.Uuid.prototype.getVariant=function(){
+return dojox.uuid.getVariant(this);
+};
+dojox.uuid.Uuid.prototype.getVersion=function(){
+if(!this._versionNumber){
+this._versionNumber=dojox.uuid.getVersion(this);
+}
+return this._versionNumber;
+};
+dojox.uuid.Uuid.prototype.getNode=function(){
+if(!this._nodeString){
+this._nodeString=dojox.uuid.getNode(this);
+}
+return this._nodeString;
+};
+dojox.uuid.Uuid.prototype.getTimestamp=function(_a){
+if(!_a){
+_a=null;
+}
+switch(_a){
+case "string":
+case String:
+return this.getTimestamp(Date).toUTCString();
+break;
+case "hex":
+if(!this._timestampAsHexString){
+this._timestampAsHexString=dojox.uuid.getTimestamp(this,"hex");
+}
+return this._timestampAsHexString;
+break;
+case null:
+case "date":
+case Date:
+if(!this._timestampAsDate){
+this._timestampAsDate=dojox.uuid.getTimestamp(this,Date);
+}
+return this._timestampAsDate;
+break;
+default:
+dojox.uuid.assert(false,"The getTimestamp() method dojox.uuid.Uuid was passed a bogus returnType: "+_a);
+break;
+}
+};
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/uuid/Uuid.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/uuid/_base.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/uuid/_base.js?rev=755920&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/uuid/_base.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/uuid/_base.js Thu Mar 19 11:10:58 2009
@@ -0,0 +1,136 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.uuid._base"]){
+dojo._hasResource["dojox.uuid._base"]=true;
+dojo.provide("dojox.uuid._base");
+dojox.uuid.NIL_UUID="00000000-0000-0000-0000-000000000000";
+dojox.uuid.version={UNKNOWN:0,TIME_BASED:1,DCE_SECURITY:2,NAME_BASED_MD5:3,RANDOM:4,NAME_BASED_SHA1:5};
+dojox.uuid.variant={NCS:"0",DCE:"10",MICROSOFT:"110",UNKNOWN:"111"};
+dojox.uuid.assert=function(_1,_2){
+if(!_1){
+if(!_2){
+_2="An assert statement failed.\n"+"The method dojox.uuid.assert() was called with a 'false' value.\n";
+}
+throw new Error(_2);
+}
+};
+dojox.uuid.generateNilUuid=function(){
+return dojox.uuid.NIL_UUID;
+};
+dojox.uuid.isValid=function(_3){
+_3=_3.toString();
+var _4=(dojo.isString(_3)&&(_3.length==36)&&(_3==_3.toLowerCase()));
+if(_4){
+var _5=_3.split("-");
+_4=((_5.length==5)&&(_5[0].length==8)&&(_5[1].length==4)&&(_5[2].length==4)&&(_5[3].length==4)&&(_5[4].length==12));
+var _6=16;
+for(var i in _5){
+var _8=_5[i];
+var _9=parseInt(_8,_6);
+_4=_4&&isFinite(_9);
+}
+}
+return _4;
+};
+dojox.uuid.getVariant=function(_a){
+if(!dojox.uuid._ourVariantLookupTable){
+var _b=dojox.uuid.variant;
+var _c=[];
+_c[0]=_b.NCS;
+_c[1]=_b.NCS;
+_c[2]=_b.NCS;
+_c[3]=_b.NCS;
+_c[4]=_b.NCS;
+_c[5]=_b.NCS;
+_c[6]=_b.NCS;
+_c[7]=_b.NCS;
+_c[8]=_b.DCE;
+_c[9]=_b.DCE;
+_c[10]=_b.DCE;
+_c[11]=_b.DCE;
+_c[12]=_b.MICROSOFT;
+_c[13]=_b.MICROSOFT;
+_c[14]=_b.UNKNOWN;
+_c[15]=_b.UNKNOWN;
+dojox.uuid._ourVariantLookupTable=_c;
+}
+_a=_a.toString();
+var _d=_a.charAt(19);
+var _e=16;
+var _f=parseInt(_d,_e);
+dojox.uuid.assert((_f>=0)&&(_f<=16));
+return dojox.uuid._ourVariantLookupTable[_f];
+};
+dojox.uuid.getVersion=function(_10){
+var _11="dojox.uuid.getVersion() was not passed a DCE Variant UUID.";
+dojox.uuid.assert(dojox.uuid.getVariant(_10)==dojox.uuid.variant.DCE,_11);
+_10=_10.toString();
+var _12=_10.charAt(14);
+var _13=16;
+var _14=parseInt(_12,_13);
+return _14;
+};
+dojox.uuid.getNode=function(_15){
+var _16="dojox.uuid.getNode() was not passed a TIME_BASED UUID.";
+dojox.uuid.assert(dojox.uuid.getVersion(_15)==dojox.uuid.version.TIME_BASED,_16);
+_15=_15.toString();
+var _17=_15.split("-");
+var _18=_17[4];
+return _18;
+};
+dojox.uuid.getTimestamp=function(_19,_1a){
+var _1b="dojox.uuid.getTimestamp() was not passed a TIME_BASED UUID.";
+dojox.uuid.assert(dojox.uuid.getVersion(_19)==dojox.uuid.version.TIME_BASED,_1b);
+_19=_19.toString();
+if(!_1a){
+_1a=null;
+}
+switch(_1a){
+case "string":
+case String:
+return dojox.uuid.getTimestamp(_19,Date).toUTCString();
+break;
+case "hex":
+var _1c=_19.split("-");
+var _1d=_1c[0];
+var _1e=_1c[1];
+var _1f=_1c[2];
+_1f=_1f.slice(1);
+var _20=_1f+_1e+_1d;
+dojox.uuid.assert(_20.length==15);
+return _20;
+break;
+case null:
+case "date":
+case Date:
+var _21=3394248;
+var _22=16;
+var _23=_19.split("-");
+var _24=parseInt(_23[0],_22);
+var _25=parseInt(_23[1],_22);
+var _26=parseInt(_23[2],_22);
+var _27=_26&4095;
+_27<<=16;
+_27+=_25;
+_27*=4294967296;
+_27+=_24;
+var _28=_27/10000;
+var _29=60*60;
+var _2a=_21;
+var _2b=_2a*_29;
+var _2c=_2b*1000;
+var _2d=_28-_2c;
+var _2e=new Date(_2d);
+return _2e;
+break;
+default:
+dojox.uuid.assert(false,"dojox.uuid.getTimestamp was not passed a valid returnType: "+_1a);
+break;
+}
+};
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/uuid/_base.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/uuid/generateRandomUuid.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/uuid/generateRandomUuid.js?rev=755920&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/uuid/generateRandomUuid.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/uuid/generateRandomUuid.js Thu Mar 19 11:10:58 2009
@@ -0,0 +1,34 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.uuid.generateRandomUuid"]){
+dojo._hasResource["dojox.uuid.generateRandomUuid"]=true;
+dojo.provide("dojox.uuid.generateRandomUuid");
+dojox.uuid.generateRandomUuid=function(){
+var _1=16;
+function _2(){
+var _3=Math.floor((Math.random()%1)*Math.pow(2,32));
+var _4=_3.toString(_1);
+while(_4.length<8){
+_4="0"+_4;
+}
+return _4;
+};
+var _5="-";
+var _6="4";
+var _7="8";
+var a=_2();
+var b=_2();
+b=b.substring(0,4)+_5+_6+b.substring(5,8);
+var c=_2();
+c=_7+c.substring(1,4)+_5+c.substring(4,8);
+var d=_2();
+var _c=a+_5+b+_5+c+d;
+_c=_c.toLowerCase();
+return _c;
+};
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/uuid/generateRandomUuid.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/uuid/generateTimeBasedUuid.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/uuid/generateTimeBasedUuid.js?rev=755920&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/uuid/generateTimeBasedUuid.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/uuid/generateTimeBasedUuid.js Thu Mar 19 11:10:58 2009
@@ -0,0 +1,197 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.uuid.generateTimeBasedUuid"]){
+dojo._hasResource["dojox.uuid.generateTimeBasedUuid"]=true;
+dojo.provide("dojox.uuid.generateTimeBasedUuid");
+dojox.uuid.generateTimeBasedUuid=function(_1){
+var _2=dojox.uuid.generateTimeBasedUuid._generator.generateUuidString(_1);
+return _2;
+};
+dojox.uuid.generateTimeBasedUuid.isValidNode=function(_3){
+var _4=16;
+var _5=parseInt(_3,_4);
+var _6=dojo.isString(_3)&&_3.length==12&&isFinite(_5);
+return _6;
+};
+dojox.uuid.generateTimeBasedUuid.setNode=function(_7){
+dojox.uuid.assert((_7===null)||this.isValidNode(_7));
+this._uniformNode=_7;
+};
+dojox.uuid.generateTimeBasedUuid.getNode=function(){
+return this._uniformNode;
+};
+dojox.uuid.generateTimeBasedUuid._generator=new function(){
+this.GREGORIAN_CHANGE_OFFSET_IN_HOURS=3394248;
+var _8=null;
+var _9=null;
+var _a=null;
+var _b=0;
+var _c=null;
+var _d=null;
+var _e=16;
+function _f(_10){
+_10[2]+=_10[3]>>>16;
+_10[3]&=65535;
+_10[1]+=_10[2]>>>16;
+_10[2]&=65535;
+_10[0]+=_10[1]>>>16;
+_10[1]&=65535;
+dojox.uuid.assert((_10[0]>>>16)===0);
+};
+function _11(x){
+var _13=new Array(0,0,0,0);
+_13[3]=x%65536;
+x-=_13[3];
+x/=65536;
+_13[2]=x%65536;
+x-=_13[2];
+x/=65536;
+_13[1]=x%65536;
+x-=_13[1];
+x/=65536;
+_13[0]=x;
+return _13;
+};
+function _14(_15,_16){
+dojox.uuid.assert(dojo.isArray(_15));
+dojox.uuid.assert(dojo.isArray(_16));
+dojox.uuid.assert(_15.length==4);
+dojox.uuid.assert(_16.length==4);
+var _17=new Array(0,0,0,0);
+_17[3]=_15[3]+_16[3];
+_17[2]=_15[2]+_16[2];
+_17[1]=_15[1]+_16[1];
+_17[0]=_15[0]+_16[0];
+_f(_17);
+return _17;
+};
+function _18(_19,_1a){
+dojox.uuid.assert(dojo.isArray(_19));
+dojox.uuid.assert(dojo.isArray(_1a));
+dojox.uuid.assert(_19.length==4);
+dojox.uuid.assert(_1a.length==4);
+var _1b=false;
+if(_19[0]*_1a[0]!==0){
+_1b=true;
+}
+if(_19[0]*_1a[1]!==0){
+_1b=true;
+}
+if(_19[0]*_1a[2]!==0){
+_1b=true;
+}
+if(_19[1]*_1a[0]!==0){
+_1b=true;
+}
+if(_19[1]*_1a[1]!==0){
+_1b=true;
+}
+if(_19[2]*_1a[0]!==0){
+_1b=true;
+}
+dojox.uuid.assert(!_1b);
+var _1c=new Array(0,0,0,0);
+_1c[0]+=_19[0]*_1a[3];
+_f(_1c);
+_1c[0]+=_19[1]*_1a[2];
+_f(_1c);
+_1c[0]+=_19[2]*_1a[1];
+_f(_1c);
+_1c[0]+=_19[3]*_1a[0];
+_f(_1c);
+_1c[1]+=_19[1]*_1a[3];
+_f(_1c);
+_1c[1]+=_19[2]*_1a[2];
+_f(_1c);
+_1c[1]+=_19[3]*_1a[1];
+_f(_1c);
+_1c[2]+=_19[2]*_1a[3];
+_f(_1c);
+_1c[2]+=_19[3]*_1a[2];
+_f(_1c);
+_1c[3]+=_19[3]*_1a[3];
+_f(_1c);
+return _1c;
+};
+function _1d(_1e,_1f){
+while(_1e.length<_1f){
+_1e="0"+_1e;
+}
+return _1e;
+};
+function _20(){
+var _21=Math.floor((Math.random()%1)*Math.pow(2,32));
+var _22=_21.toString(_e);
+while(_22.length<8){
+_22="0"+_22;
+}
+return _22;
+};
+this.generateUuidString=function(_23){
+if(_23){
+dojox.uuid.assert(dojox.uuid.generateTimeBasedUuid.isValidNode(_23));
+}else{
+if(dojox.uuid.generateTimeBasedUuid._uniformNode){
+_23=dojox.uuid.generateTimeBasedUuid._uniformNode;
+}else{
+if(!_8){
+var _24=32768;
+var _25=Math.floor((Math.random()%1)*Math.pow(2,15));
+var _26=(_24|_25).toString(_e);
+_8=_26+_20();
+}
+_23=_8;
+}
+}
+if(!_9){
+var _27=32768;
+var _28=Math.floor((Math.random()%1)*Math.pow(2,14));
+_9=(_27|_28).toString(_e);
+}
+var now=new Date();
+var _2a=now.valueOf();
+var _2b=_11(_2a);
+if(!_c){
+var _2c=_11(60*60);
+var _2d=_11(dojox.uuid.generateTimeBasedUuid._generator.GREGORIAN_CHANGE_OFFSET_IN_HOURS);
+var _2e=_18(_2d,_2c);
+var _2f=_11(1000);
+_c=_18(_2e,_2f);
+_d=_11(10000);
+}
+var _30=_2b;
+var _31=_14(_c,_30);
+var _32=_18(_31,_d);
+if(now.valueOf()==_a){
+_32[3]+=_b;
+_f(_32);
+_b+=1;
+if(_b==10000){
+while(now.valueOf()==_a){
+now=new Date();
+}
+}
+}else{
+_a=now.valueOf();
+_b=1;
+}
+var _33=_32[2].toString(_e);
+var _34=_32[3].toString(_e);
+var _35=_1d(_33,4)+_1d(_34,4);
+var _36=_32[1].toString(_e);
+_36=_1d(_36,4);
+var _37=_32[0].toString(_e);
+_37=_1d(_37,3);
+var _38="-";
+var _39="1";
+var _3a=_35+_38+_36+_38+_39+_37+_38+_9+_38+_23;
+_3a=_3a.toLowerCase();
+return _3a;
+};
+}();
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/uuid/generateTimeBasedUuid.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/validate/README
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/validate/README?rev=755920&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/validate/README (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/validate/README Thu Mar 19 11:10:58 2009
@@ -0,0 +1,60 @@
+-------------------------------------------------------------------------------
+dojox.validate
+-------------------------------------------------------------------------------
+Version 0.02
+Release date: 07/12/2007
+-------------------------------------------------------------------------------
+Project state: experimental / beta
+-------------------------------------------------------------------------------
+Credits
+	port: Peter Higgins (dante)
+	contributions: Kun Xi (bookstack at gmail com)
+-------------------------------------------------------------------------------
+Project description
+
+	Provides a set of validation functions to match
+	values against known constants for use in form
+	validation, such as email address, TLD, ipAddress,
+	country-specific phone numbers and SSN, among
+	others.. 
+
+	It is broken into many parts. dojox.validate._base
+	is required by most named modules in this project.
+	
+	ca.js provides Canadian specific functionality
+	
+	check.js provides an experimental form-management utility,
+		which will likely be deprecated in favor 
+
+	creditCard.js provides validation functions for most standard
+		credit card types. 
+		
+	isbn.js validates ISBN numbers
+	
+	regexp.js provides a strange place to put regular expressions
+		related to validation. It was formerly polluting namespaces
+		and created in `dojox.regexp`. This is now `dojox.validate.regexp`
+		to confine values to the dojox.validate project.
+		
+	us.js provides US-Specific validation. Zip, Social, etc.
+	
+	web.js provides url and email address validation, as well as a number
+		of web/network related validation functions. 
+		
+-------------------------------------------------------------------------------
+Dependencies:
+
+	Requires Base Dojo and dojo.regexp.
+
+-------------------------------------------------------------------------------
+Installation instructions
+
+Grab the following from the Dojo SVN Repository:
+
+http://svn.dojotoolkit.org/src/dojox/trunk/validate.js
+http://svn.dojotoolkit.org/src/dojox/trunk/validate
+
+Install into the following directory structure:
+/dojox/validate/
+
+...which should be at the same level as your Dojo checkout.

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/validate/README
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/validate/_base.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/validate/_base.js?rev=755920&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/validate/_base.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/validate/_base.js Thu Mar 19 11:10:58 2009
@@ -0,0 +1,68 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.validate._base"]){
+dojo._hasResource["dojox.validate._base"]=true;
+dojo.provide("dojox.validate._base");
+dojo.experimental("dojox.validate");
+dojo.require("dojo.regexp");
+dojo.require("dojo.number");
+dojo.require("dojox.validate.regexp");
+dojox.validate.isText=function(_1,_2){
+_2=(typeof _2=="object")?_2:{};
+if(/^\s*$/.test(_1)){
+return false;
+}
+if(typeof _2.length=="number"&&_2.length!=_1.length){
+return false;
+}
+if(typeof _2.minlength=="number"&&_2.minlength>_1.length){
+return false;
+}
+if(typeof _2.maxlength=="number"&&_2.maxlength<_1.length){
+return false;
+}
+return true;
+};
+dojox.validate._isInRangeCache={};
+dojox.validate.isInRange=function(_3,_4){
+_3=dojo.number.parse(_3,_4);
+if(isNaN(_3)){
+return false;
+}
+_4=(typeof _4=="object")?_4:{};
+var _5=(typeof _4.max=="number")?_4.max:Infinity,_6=(typeof _4.min=="number")?_4.min:-Infinity,_7=(typeof _4.decimal=="string")?_4.decimal:".",_8=dojox.validate._isInRangeCache,_9=_3+"max"+_5+"min"+_6+"dec"+_7;
+if(typeof _8[_9]!="undefined"){
+return _8[_9];
+}
+_8[_9]=!(_3<_6||_3>_5);
+return _8[_9];
+};
+dojox.validate.isNumberFormat=function(_a,_b){
+var re=new RegExp("^"+dojox.validate.regexp.numberFormat(_b)+"$","i");
+return re.test(_a);
+};
+dojox.validate.isValidLuhn=function(_d){
+var _e=0,_f,_10;
+if(!dojo.isString(_d)){
+_d=String(_d);
+}
+_d=_d.replace(/[- ]/g,"");
+_f=_d.length%2;
+for(var i=0;i<_d.length;i++){
+_10=parseInt(_d.charAt(i));
+if(i%2==_f){
+_10*=2;
+}
+if(_10>9){
+_10-=9;
+}
+_e+=_10;
+}
+return !(_e%10);
+};
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/validate/_base.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/validate/ca.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/validate/ca.js?rev=755920&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/validate/ca.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/validate/ca.js Thu Mar 19 11:10:58 2009
@@ -0,0 +1,24 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.validate.ca"]){
+dojo._hasResource["dojox.validate.ca"]=true;
+dojo.provide("dojox.validate.ca");
+dojo.require("dojox.validate._base");
+dojo.mixin(dojox.validate.ca,{isPhoneNumber:function(_1){
+return dojox.validate.us.isPhoneNumber(_1);
+},isProvince:function(_2){
+var re=new RegExp("^"+dojox.validate.regexp.ca.province()+"$","i");
+return re.test(_2);
+},isSocialInsuranceNumber:function(_4){
+var _5={format:["###-###-###","### ### ###","#########"]};
+return dojox.validate.isNumberFormat(_4,_5);
+},isPostalCode:function(_6){
+var re=new RegExp("^"+dojox.validate.regexp.ca.postalCode()+"$","i");
+return re.test(_6);
+}});
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/validate/ca.js
------------------------------------------------------------------------------
    svn:eol-style = native