You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2009/07/16 21:14:56 UTC

svn commit: r794787 [5/34] - in /geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src: ./ animation/ cal/ charting/ charting/svg/ charting/vml/ collections/ crypto/ data/ data/core/ data/old/ data/old/format/ data/old/provider/ date/ debug/ ...

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/CsvStore.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/CsvStore.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/CsvStore.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/OpmlStore.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/OpmlStore.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/OpmlStore.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/OpmlStore.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,166 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.data.OpmlStore");
+dojo.require("dojo.data.core.Read");
+dojo.require("dojo.data.core.Result");
+dojo.require("dojo.lang.assert");
+dojo.require("dojo.json");
+dojo.require("dojo.experimental");
+dojo.experimental("dojo.data.OpmlStore");
+dojo.declare("dojo.data.OpmlStore", dojo.data.core.Read, {initializer:function (keywordParameters) {
+	this._arrayOfTopLevelItems = [];
+	this._metadataNodes = null;
+	this._loadFinished = false;
+	this._opmlFileUrl = keywordParameters["url"];
+}, _assertIsItem:function (item) {
+	if (!this.isItem(item)) {
+		throw new Error("dojo.data.OpmlStore: a function was passed an item argument that was not an item");
+	}
+}, _removeChildNodesThatAreNotElementNodes:function (node, recursive) {
+	var childNodes = node.childNodes;
+	if (childNodes.length == 0) {
+		return;
+	}
+	var nodesToRemove = [];
+	var i, childNode;
+	for (i = 0; i < childNodes.length; ++i) {
+		childNode = childNodes[i];
+		if (childNode.nodeType != Node.ELEMENT_NODE) {
+			nodesToRemove.push(childNode);
+		}
+	}
+	for (i = 0; i < nodesToRemove.length; ++i) {
+		childNode = nodesToRemove[i];
+		node.removeChild(childNode);
+	}
+	if (recursive) {
+		for (i = 0; i < childNodes.length; ++i) {
+			childNode = childNodes[i];
+			this._removeChildNodesThatAreNotElementNodes(childNode, recursive);
+		}
+	}
+}, _processRawXmlTree:function (rawXmlTree) {
+	var headNodes = rawXmlTree.getElementsByTagName("head");
+	var headNode = headNodes[0];
+	this._removeChildNodesThatAreNotElementNodes(headNode);
+	this._metadataNodes = headNode.childNodes;
+	var bodyNodes = rawXmlTree.getElementsByTagName("body");
+	var bodyNode = bodyNodes[0];
+	this._removeChildNodesThatAreNotElementNodes(bodyNode, true);
+	var bodyChildNodes = bodyNodes[0].childNodes;
+	for (var i = 0; i < bodyChildNodes.length; ++i) {
+		var node = bodyChildNodes[i];
+		if (node.tagName == "outline") {
+			this._arrayOfTopLevelItems.push(node);
+		}
+	}
+}, get:function (item, attribute, defaultValue) {
+	this._assertIsItem(item);
+	if (attribute == "children") {
+		return (item.firstChild || defaultValue);
+	} else {
+		var value = item.getAttribute(attribute);
+		value = (value != undefined) ? value : defaultValue;
+		return value;
+	}
+}, getValues:function (item, attribute) {
+	this._assertIsItem(item);
+	if (attribute == "children") {
+		var array = [];
+		for (var i = 0; i < item.childNodes.length; ++i) {
+			array.push(item.childNodes[i]);
+		}
+		return array;
+	} else {
+		return [item.getAttribute(attribute)];
+	}
+}, getAttributes:function (item) {
+	this._assertIsItem(item);
+	var attributes = [];
+	var xmlNode = item;
+	var xmlAttributes = xmlNode.attributes;
+	for (var i = 0; i < xmlAttributes.length; ++i) {
+		var xmlAttribute = xmlAttributes.item(i);
+		attributes.push(xmlAttribute.nodeName);
+	}
+	if (xmlNode.childNodes.length > 0) {
+		attributes.push("children");
+	}
+	return attributes;
+}, hasAttribute:function (item, attribute) {
+	return (this.getValues(item, attribute).length > 0);
+}, containsValue:function (item, attribute, value) {
+	var values = this.getValues(item, attribute);
+	for (var i = 0; i < values.length; ++i) {
+		var possibleValue = values[i];
+		if (value == possibleValue) {
+			return true;
+		}
+	}
+	return false;
+}, isItem:function (something) {
+	return (something && something.nodeType == Node.ELEMENT_NODE && something.tagName == "outline");
+}, isItemAvailable:function (something) {
+	return this.isItem(something);
+}, find:function (keywordArgs) {
+	var result = null;
+	if (keywordArgs instanceof dojo.data.core.Result) {
+		result = keywordArgs;
+		result.store = this;
+	} else {
+		result = new dojo.data.core.Result(keywordArgs, this);
+	}
+	var self = this;
+	var bindHandler = function (type, data, evt) {
+		var scope = result.scope || dj_global;
+		if (type == "load") {
+			self._processRawXmlTree(data);
+			if (result.saveResult) {
+				result.items = self._arrayOfTopLevelItems;
+			}
+			if (result.onbegin) {
+				result.onbegin.call(scope, result);
+			}
+			for (var i = 0; i < self._arrayOfTopLevelItems.length; i++) {
+				var item = self._arrayOfTopLevelItems[i];
+				if (result.onnext && !result._aborted) {
+					result.onnext.call(scope, item, result);
+				}
+			}
+			if (result.oncompleted && !result._aborted) {
+				result.oncompleted.call(scope, result);
+			}
+		} else {
+			if (type == "error" || type == "timeout") {
+				var errorObject = data;
+				if (result.onerror) {
+					result.onerror.call(scope, data);
+				}
+			}
+		}
+	};
+	if (!this._loadFinished) {
+		if (this._opmlFileUrl) {
+			var bindRequest = dojo.io.bind({url:this._opmlFileUrl, handle:bindHandler, mimetype:"text/xml", sync:(result.sync || false)});
+			result._abortFunc = bindRequest.abort;
+		}
+	}
+	return result;
+}, getIdentity:function (item) {
+	dojo.unimplemented("dojo.data.OpmlStore.getIdentity()");
+	return null;
+}, findByIdentity:function (identity) {
+	dojo.unimplemented("dojo.data.OpmlStore.findByIdentity()");
+	return null;
+}});
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/OpmlStore.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/OpmlStore.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/OpmlStore.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/RdfStore.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/RdfStore.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/RdfStore.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/RdfStore.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,185 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.data.RdfStore");
+dojo.provide("dojo.data.RhizomeStore");
+dojo.require("dojo.lang.declare");
+dojo.require("dojo.data.core.RemoteStore");
+dojo.require("dojo.experimental");
+dojo.data.RdfDatatypeSerializer = function (type, convertFunc, uri) {
+	this.type = type;
+	this._converter = convertFunc;
+	this.uri = uri;
+	this.serialize = function (value) {
+		return this._converter.call(value, value);
+	};
+};
+dojo.declare("dojo.data.RdfStore", dojo.data.core.RemoteStore, {_datatypeMap:{literal:function (value) {
+	var literal = value.value;
+	if (value["xml:lang"]) {
+		literal.lang = value["xml:lang"];
+	}
+	return literal;
+}, uri:function (value) {
+	return {id:value.value};
+}, bnode:function (value) {
+	return {id:"_:" + value.value};
+}, "http://www.w3.org/2001/XMLSchema#int":function (value) {
+	return parseInt(value.value);
+}, "http://www.w3.org/2001/XMLSchema#integer":function (value) {
+	return parseInt(value.value);
+}, "http://www.w3.org/2001/XMLSchema#long":function (value) {
+	return parseInt(value.value);
+}, "http://www.w3.org/2001/XMLSchema#float":function (value) {
+	return parseFloat(value.value);
+}, "http://www.w3.org/2001/XMLSchema#double":function (value) {
+	return parseFloat(value.value);
+}, "http://www.w3.org/2001/XMLSchema#boolean":function (value) {
+	return !value || value == "false" || value == "0" ? false : true;
+}}, _datatypeSerializers:[new dojo.data.RdfDatatypeSerializer(Number, Number.toString, "http://www.w3.org/2001/XMLSchema#float"), new dojo.data.RdfDatatypeSerializer(Boolean, Boolean.toString, "http://www.w3.org/2001/XMLSchema#boolean")], _findDatatypeSerializer:function (value) {
+	var length = this._datatypeSerializers.length;
+	for (var i = 0; i < length; i++) {
+		var datatype = this._datatypeSerializers[i];
+		if (value instanceof datatype.type) {
+			return datatype;
+		}
+	}
+}, _toRDFValue:function (value) {
+	var rdfvalue = {};
+	if (value.id) {
+		if (value.id.slice(0, 2) == "_:") {
+			rdfvalue.type = "bnode";
+			rdfvalue.value = value.id.substring(2);
+		} else {
+			rdfvalue.type = "uri";
+			rdfvalue.value = value.id;
+		}
+	} else {
+		if (typeof value == "string" || value instanceof String) {
+			rdfvalue.type = "literal";
+			rdfvalue.value = value;
+			if (value.lang) {
+				rdfvalue["xml:lang"] = value.lang;
+			}
+		} else {
+			if (typeof value == "number") {
+				value = new Number(value);
+			} else {
+				if (typeof value == "boolean") {
+					value = new Boolean(value);
+				}
+			}
+			var datatype = this._findDatatypeSerializer(value);
+			if (datatype) {
+				rdfvalue = {"type":"typed-literal", "datatype":datatype.uri, "value":value.toString()};
+			} else {
+				rdfvalue = {"type":"literal", "value":value.toString()};
+			}
+		}
+	}
+	return rdfvalue;
+}, _setupSaveRequest:function (saveKeywordArgs, requestKw) {
+	var rdfResult = {"head":{"vars":["s", "p", "o"]}, "results":{"bindings":[]}};
+	var resources = [];
+	for (var key in this._deleted) {
+		resources.push(key);
+	}
+	rdfResult.results.deleted = resources;
+	for (key in this._changed) {
+		var subject = this._toRDFValue(this.getIdentity(key));
+		var attributes = this._changed[key];
+		for (var attr in attributes) {
+			var predicate = {type:"uri", value:attr};
+			var values = attributes[attr];
+			if (!values.length) {
+				continue;
+			}
+			var rdfvalues = [];
+			for (var i = 0; i < values.length; i++) {
+				var rdfvalue = this._toRDFValue(values[i]);
+				rdfResult.results.bindings.push({s:subject, p:predicate, o:rdfvalue});
+			}
+		}
+	}
+	var oldRegistry = dojo.json.jsonRegistry;
+	dojo.json.jsonRegistry = this._jsonRegistry;
+	var jsonString = dojo.json.serialize(rdfResult);
+	dojo.json.jsonRegistry = oldRegistry;
+	requestKw.postContent = jsonString;
+}, _resultToQueryMetadata:function (json) {
+	return json.head;
+}, _resultToQueryData:function (json) {
+	var items = {};
+	var stmts = json.results.bindings;
+	for (var i = 0; i < stmts.length; i++) {
+		var stmt = stmts[i];
+		var subject = stmt.s.value;
+		if (stmt.s.type == "bnode") {
+			subject = "_:" + subject;
+		}
+		var attributes = data[subject];
+		if (!attributes) {
+			attributes = {};
+			data[stmt.s] = attributes;
+		}
+		var attr = attributes[stmt.p.value];
+		if (!attr) {
+			attributes[stmt.p.value] = [stmt.o];
+		} else {
+			attr.push(stmt.o);
+		}
+	}
+	return items;
+}});
+dojo.declare("dojo.data.RhizomeStore", dojo.data.RdfStore, {initializer:function (kwArgs) {
+	this._serverQueryUrl = kwArgs.baseUrl + "search?view=json&searchType=RxPath&search=";
+	this._serverSaveUrl = kwArgs.baseUrl + "save-metadata";
+}, _resultToQueryMetadata:function (json) {
+	return json;
+}, _resultToQueryData:function (json) {
+	return json;
+}, _setupSaveRequest:function (saveKeywordArgs, requestKw) {
+	requestKw.url = this._serverSaveUrl;
+	requestKw.method = "post";
+	requestKw.mimetype = "text/plain";
+	var resources = [];
+	for (var key in this._deleted) {
+		resources.push(key);
+	}
+	var changes = {};
+	for (key in this._changed) {
+		if (!this._added[key]) {
+			resources.push(key);
+		}
+		var attributes = this._changed[key];
+		var rdfattributes = {};
+		for (var attr in attributes) {
+			var values = attributes[attr];
+			if (!values.length) {
+				continue;
+			}
+			var rdfvalues = [];
+			for (var i = 0; i < values.length; i++) {
+				var rdfvalue = this._toRDFValue(values[i]);
+				rdfvalues.push(rdfvalue);
+			}
+			rdfattributes[attr] = rdfvalues;
+		}
+		changes[key] = rdfattributes;
+	}
+	var oldRegistry = dojo.json.jsonRegistry;
+	dojo.json.jsonRegistry = this._jsonRegistry;
+	var jsonString = dojo.json.serialize(changes);
+	dojo.json.jsonRegistry = oldRegistry;
+	requestKw.content = {rdfFormat:"json", resource:resources, metadata:jsonString};
+}});
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/RdfStore.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/RdfStore.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/RdfStore.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/YahooStore.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/YahooStore.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/YahooStore.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/YahooStore.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,44 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.data.YahooStore");
+dojo.require("dojo.data.core.RemoteStore");
+dojo.require("dojo.lang.declare");
+dojo.require("dojo.io.ScriptSrcIO");
+dojo.declare("dojo.data.YahooStore", dojo.data.core.RemoteStore, {_setupQueryRequest:function (result, requestKw) {
+	var start = 1;
+	var count = 1;
+	if (result) {
+		start = result.start || start;
+		count = result.count || count;
+	}
+	var sourceUrl = "http://api.search.yahoo.com/WebSearchService/V1/webSearch?appid=dojo&language=en&query=" + result.query + "&start=" + start + "&results=" + count + "&output=json";
+	requestKw.url = sourceUrl;
+	requestKw.transport = "ScriptSrcTransport";
+	requestKw.mimetype = "text/json";
+	requestKw.jsonParamName = "callback";
+}, _resultToQueryMetadata:function (json) {
+	return json.ResultSet;
+}, _resultToQueryData:function (json) {
+	var data = {};
+	for (var i = 0; i < json.ResultSet.totalResultsReturned; ++i) {
+		var record = json.ResultSet.Result[i];
+		var item = {};
+		item["Url"] = [record.Url];
+		item["Title"] = [record.Title];
+		item["Summary"] = [record.Summary];
+		var arrayIndex = (json.ResultSet.firstResultPosition - 1) + i;
+		data[arrayIndex.toString()] = item;
+	}
+	return data;
+}});
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/YahooStore.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/YahooStore.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/YahooStore.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/core/Read.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/core/Read.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/core/Read.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/core/Read.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,55 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.data.core.Read");
+dojo.require("dojo.data.core.Result");
+dojo.require("dojo.lang.declare");
+dojo.require("dojo.experimental");
+dojo.experimental("dojo.data.core.Read");
+dojo.declare("dojo.data.core.Read", null, {get:function (item, attribute, defaultValue) {
+	dojo.unimplemented("dojo.data.core.Read.get");
+	var attributeValue = null;
+	return attributeValue;
+}, getValues:function (item, attribute) {
+	dojo.unimplemented("dojo.data.core.Read.getValues");
+	var array = null;
+	return array;
+}, getAttributes:function (item) {
+	dojo.unimplemented("dojo.data.core.Read.getAttributes");
+	var array = null;
+	return array;
+}, hasAttribute:function (item, attribute) {
+	dojo.unimplemented("dojo.data.core.Read.hasAttribute");
+	return false;
+}, containsValue:function (item, attribute, value) {
+	dojo.unimplemented("dojo.data.core.Read.containsValue");
+	return false;
+}, isItem:function (something) {
+	dojo.unimplemented("dojo.data.core.Read.isItem");
+	return false;
+}, isItemAvailable:function (something) {
+	dojo.unimplemented("dojo.data.core.Read.isItemAvailable");
+	return false;
+}, find:function (keywordArgs) {
+	dojo.unimplemented("dojo.data.core.Read.find");
+	var result = null;
+	return result;
+}, getIdentity:function (item) {
+	dojo.unimplemented("dojo.data.core.Read.getIdentity");
+	var itemIdentifyString = null;
+	return itemIdentifyString;
+}, findByIdentity:function (identity) {
+	dojo.unimplemented("dojo.data.core.Read.getByIdentity");
+	var item = null;
+	return item;
+}});
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/core/Read.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/core/Read.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/core/Read.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/core/RemoteStore.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/core/RemoteStore.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/core/RemoteStore.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/core/RemoteStore.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,354 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.data.core.RemoteStore");
+dojo.require("dojo.data.core.Read");
+dojo.require("dojo.data.core.Write");
+dojo.require("dojo.data.core.Result");
+dojo.require("dojo.experimental");
+dojo.require("dojo.Deferred");
+dojo.require("dojo.lang.declare");
+dojo.require("dojo.json");
+dojo.require("dojo.io.*");
+dojo.experimental("dojo.data.core.RemoteStore");
+dojo.lang.declare("dojo.data.core.RemoteStore", [dojo.data.core.Read, dojo.data.core.Write], {_datatypeMap:{}, _jsonRegistry:dojo.json.jsonRegistry, initializer:function (kwArgs) {
+	if (!kwArgs) {
+		kwArgs = {};
+	}
+	this._serverQueryUrl = kwArgs.queryUrl || "";
+	this._serverSaveUrl = kwArgs.saveUrl || "";
+	this._deleted = {};
+	this._changed = {};
+	this._added = {};
+	this._results = {};
+	this._data = {};
+	this._numItems = 0;
+}, _setupQueryRequest:function (result, requestKw) {
+	result.query = result.query || "";
+	requestKw.url = this._serverQueryUrl + encodeURIComponent(result.query);
+	requestKw.method = "get";
+	requestKw.mimetype = "text/json";
+}, _resultToQueryMetadata:function (serverResponseData) {
+	return serverResponseData;
+}, _resultToQueryData:function (serverResponseData) {
+	return serverResponseData.data;
+}, _remoteToLocalValues:function (attributes) {
+	for (var key in attributes) {
+		var values = attributes[key];
+		for (var i = 0; i < values.length; i++) {
+			var value = values[i];
+			var type = value.datatype || value.type;
+			if (type) {
+				var localValue = value.value;
+				if (this._datatypeMap[type]) {
+					localValue = this._datatypeMap[type](value);
+				}
+				values[i] = localValue;
+			}
+		}
+	}
+	return attributes;
+}, _queryToQueryKey:function (query) {
+	if (typeof query == "string") {
+		return query;
+	} else {
+		return dojo.json.serialize(query);
+	}
+}, _assertIsItem:function (item) {
+	if (!this.isItem(item)) {
+		throw new Error("dojo.data.RemoteStore: a function was passed an item argument that was not an item");
+	}
+}, get:function (item, attribute, defaultValue) {
+	var valueArray = this.getValues(item, attribute);
+	if (valueArray.length == 0) {
+		return defaultValue;
+	}
+	return valueArray[0];
+}, getValues:function (item, attribute) {
+	var itemIdentity = this.getIdentity(item);
+	this._assertIsItem(itemIdentity);
+	var changes = this._changed[itemIdentity];
+	if (changes) {
+		var newvalues = changes[attribute];
+		if (newvalues !== undefined) {
+			return newvalues;
+		} else {
+			return [];
+		}
+	}
+	return this._data[itemIdentity][0][attribute];
+}, getAttributes:function (item) {
+	var itemIdentity = this.getIdentity(item);
+	if (!itemIdentity) {
+		return undefined;
+	}
+	var atts = [];
+	var attrDict = this._data[itemIdentity][0];
+	for (var att in attrDict) {
+		atts.push(att);
+	}
+	return atts;
+}, hasAttribute:function (item, attribute) {
+	var valueArray = this.getValues(item, attribute);
+	return valueArray.length ? true : false;
+}, containsValue:function (item, attribute, value) {
+	var valueArray = this.getValues(item, attribute);
+	for (var i = 0; i < valueArray.length; i++) {
+		if (valueArray[i] == value) {
+			return true;
+		}
+	}
+	return false;
+}, isItem:function (something) {
+	if (!something) {
+		return false;
+	}
+	var itemIdentity = something;
+	if (this._deleted[itemIdentity]) {
+		return false;
+	}
+	if (this._data[itemIdentity]) {
+		return true;
+	}
+	if (this._added[itemIdentity]) {
+		return true;
+	}
+	return false;
+}, find:function (keywordArgs) {
+	var result = null;
+	if (keywordArgs instanceof dojo.data.core.Result) {
+		result = keywordArgs;
+		result.store = this;
+	} else {
+		result = new dojo.data.core.Result(keywordArgs, this);
+	}
+	var query = result.query;
+	var self = this;
+	var bindfunc = function (type, data, evt) {
+		var scope = result.scope || dj_global;
+		if (type == "load") {
+			result.resultMetadata = self._resultToQueryMetadata(data);
+			var dataDict = self._resultToQueryData(data);
+			if (result.onbegin) {
+				result.onbegin.call(scope, result);
+			}
+			var count = 0;
+			var resultData = [];
+			var newItemCount = 0;
+			for (var key in dataDict) {
+				if (result._aborted) {
+					break;
+				}
+				if (!self._deleted[key]) {
+					var values = dataDict[key];
+					var attributeDict = self._remoteToLocalValues(values);
+					var existingValue = self._data[key];
+					var refCount = 1;
+					if (existingValue) {
+						refCount = ++existingValue[1];
+					} else {
+						newItemCount++;
+					}
+					self._data[key] = [attributeDict, refCount];
+					resultData.push(key);
+					count++;
+					if (result.onnext) {
+						result.onnext.call(scope, key, result);
+					}
+				}
+			}
+			self._results[self._queryToQueryKey(query)] = resultData;
+			self._numItems += newItemCount;
+			result.length = count;
+			if (result.saveResult) {
+				result.items = resultData;
+			}
+			if (!result._aborted && result.oncompleted) {
+				result.oncompleted.call(scope, result);
+			}
+		} else {
+			if (type == "error" || type == "timeout") {
+				dojo.debug("find error: " + dojo.json.serialize(data));
+				if (result.onerror) {
+					result.onerror.call(scope, data);
+				}
+			}
+		}
+	};
+	var bindKw = keywordArgs.bindArgs || {};
+	bindKw.sync = result.sync;
+	bindKw.handle = bindfunc;
+	this._setupQueryRequest(result, bindKw);
+	var request = dojo.io.bind(bindKw);
+	result._abortFunc = request.abort;
+	return result;
+}, getIdentity:function (item) {
+	if (!this.isItem(item)) {
+		return null;
+	}
+	return (item.id ? item.id : item);
+}, newItem:function (attributes, keywordArgs) {
+	var itemIdentity = keywordArgs["identity"];
+	if (this._deleted[itemIdentity]) {
+		delete this._deleted[itemIdentity];
+	} else {
+		this._added[itemIdentity] = 1;
+	}
+	if (attributes) {
+		for (var attribute in attributes) {
+			var valueOrArrayOfValues = attributes[attribute];
+			if (dojo.lang.isArray(valueOrArrayOfValues)) {
+				this.setValues(itemIdentity, attribute, valueOrArrayOfValues);
+			} else {
+				this.set(itemIdentity, attribute, valueOrArrayOfValues);
+			}
+		}
+	}
+	return {id:itemIdentity};
+}, deleteItem:function (item) {
+	var identity = this.getIdentity(item);
+	if (!identity) {
+		return false;
+	}
+	if (this._added[identity]) {
+		delete this._added[identity];
+	} else {
+		this._deleted[identity] = 1;
+	}
+	if (this._changed[identity]) {
+		delete this._changed[identity];
+	}
+	return true;
+}, setValues:function (item, attribute, values) {
+	var identity = this.getIdentity(item);
+	if (!identity) {
+		return undefined;
+	}
+	var changes = this._changed[identity];
+	if (!changes) {
+		changes = {};
+		this._changed[identity] = changes;
+	}
+	changes[attribute] = values;
+	return true;
+}, set:function (item, attribute, value) {
+	return this.setValues(item, attribute, [value]);
+}, unsetAttribute:function (item, attribute) {
+	return this.setValues(item, attribute, []);
+}, _initChanges:function () {
+	this._deleted = {};
+	this._changed = {};
+	this._added = {};
+}, _setupSaveRequest:function (saveKeywordArgs, requestKw) {
+	requestKw.url = this._serverSaveUrl;
+	requestKw.method = "post";
+	requestKw.mimetype = "text/plain";
+	var deleted = [];
+	for (var key in this._deleted) {
+		deleted.push(key);
+	}
+	var saveStruct = {"changed":this._changed, "deleted":deleted};
+	var oldRegistry = dojo.json.jsonRegistry;
+	dojo.json.jsonRegistry = this._jsonRegistry;
+	var jsonString = dojo.json.serialize(saveStruct);
+	dojo.json.jsonRegistry = oldRegistry;
+	requestKw.postContent = jsonString;
+}, save:function (keywordArgs) {
+	keywordArgs = keywordArgs || {};
+	var result = new dojo.Deferred();
+	var self = this;
+	var bindfunc = function (type, data, evt) {
+		if (type == "load") {
+			if (result.fired == 1) {
+				return;
+			}
+			var key = null;
+			for (key in self._added) {
+				if (!self._data[key]) {
+					self._data[key] = [{}, 1];
+				}
+			}
+			for (key in self._changed) {
+				var existing = self._data[key];
+				var changes = self._changed[key];
+				if (existing) {
+					existing[0] = changes;
+				} else {
+					self._data[key] = [changes, 1];
+				}
+			}
+			for (key in self._deleted) {
+				if (self._data[key]) {
+					delete self._data[key];
+				}
+			}
+			self._initChanges();
+			result.callback(true);
+		} else {
+			if (type == "error" || type == "timeout") {
+				result.errback(data);
+			}
+		}
+	};
+	var bindKw = {sync:keywordArgs["sync"], handle:bindfunc};
+	this._setupSaveRequest(keywordArgs, bindKw);
+	var request = dojo.io.bind(bindKw);
+	result.canceller = function (deferred) {
+		request.abort();
+	};
+	return result;
+}, revert:function () {
+	this._initChanges();
+	return true;
+}, isDirty:function (item) {
+	if (item) {
+		var identity = item.id || item;
+		return this._deleted[identity] || this._changed[identity];
+	} else {
+		var key = null;
+		for (key in this._changed) {
+			return true;
+		}
+		for (key in this._deleted) {
+			return true;
+		}
+		for (key in this._added) {
+			return true;
+		}
+		return false;
+	}
+}, createReference:function (idstring) {
+	return {id:idstring};
+}, getSize:function () {
+	return this._numItems;
+}, forgetResults:function (query) {
+	var queryKey = this._queryToQueryKey(query);
+	var results = this._results[queryKey];
+	if (!results) {
+		return false;
+	}
+	var removed = 0;
+	for (var i = 0; i < results.length; i++) {
+		var key = results[i];
+		var existingValue = this._data[key];
+		if (existingValue[1] <= 1) {
+			delete this._data[key];
+			removed++;
+		} else {
+			existingValue[1] = --existingValue[1];
+		}
+	}
+	delete this._results[queryKey];
+	this._numItems -= removed;
+	return true;
+}});
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/core/RemoteStore.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/core/RemoteStore.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/core/RemoteStore.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/core/Result.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/core/Result.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/core/Result.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/core/Result.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,36 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.data.core.Result");
+dojo.require("dojo.lang.declare");
+dojo.require("dojo.experimental");
+dojo.experimental("dojo.data.core.Result");
+dojo.declare("dojo.data.core.Result", null, {initializer:function (keywordArgs, store) {
+	this.fromKwArgs(keywordArgs || {});
+	this.items = null;
+	this.resultMetadata = null;
+	this.length = -1;
+	this.store = store;
+	this._aborted = false;
+	this._abortFunc = null;
+}, sync:true, abort:function () {
+	this._aborted = true;
+	if (this._abortFunc) {
+		this._abortFunc();
+	}
+}, fromKwArgs:function (kwArgs) {
+	if (typeof kwArgs.saveResult == "undefined") {
+		this.saveResult = kwArgs.onnext ? false : true;
+	}
+	dojo.lang.mixin(this, kwArgs);
+}});
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/core/Result.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/core/Result.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/core/Result.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/core/Write.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/core/Write.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/core/Write.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/core/Write.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,44 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.data.core.Write");
+dojo.require("dojo.data.core.Read");
+dojo.require("dojo.lang.declare");
+dojo.require("dojo.experimental");
+dojo.experimental("dojo.data.core.Write");
+dojo.declare("dojo.data.core.Write", dojo.data.core.Read, {newItem:function (keywordArgs) {
+	var newItem;
+	dojo.unimplemented("dojo.data.core.Write.newItem");
+	return newItem;
+}, deleteItem:function (item) {
+	dojo.unimplemented("dojo.data.core.Write.deleteItem");
+	return false;
+}, set:function (item, attribute, value) {
+	dojo.unimplemented("dojo.data.core.Write.set");
+	return false;
+}, setValues:function (item, attribute, values) {
+	dojo.unimplemented("dojo.data.core.Write.setValues");
+	return false;
+}, unsetAttribute:function (item, attribute) {
+	dojo.unimplemented("dojo.data.core.Write.clear");
+	return false;
+}, save:function () {
+	dojo.unimplemented("dojo.data.core.Write.save");
+	return false;
+}, revert:function () {
+	dojo.unimplemented("dojo.data.core.Write.revert");
+	return false;
+}, isDirty:function (item) {
+	dojo.unimplemented("dojo.data.core.Write.isDirty");
+	return false;
+}});
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/core/Write.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/core/Write.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/core/Write.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Attribute.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Attribute.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Attribute.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Attribute.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,35 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.data.old.Attribute");
+dojo.require("dojo.data.old.Item");
+dojo.require("dojo.lang.assert");
+dojo.data.old.Attribute = function (dataProvider, attributeId) {
+	dojo.lang.assertType(dataProvider, dojo.data.old.provider.Base, {optional:true});
+	dojo.lang.assertType(attributeId, String);
+	dojo.data.old.Item.call(this, dataProvider);
+	this._attributeId = attributeId;
+};
+dojo.inherits(dojo.data.old.Attribute, dojo.data.old.Item);
+dojo.data.old.Attribute.prototype.toString = function () {
+	return this._attributeId;
+};
+dojo.data.old.Attribute.prototype.getAttributeId = function () {
+	return this._attributeId;
+};
+dojo.data.old.Attribute.prototype.getType = function () {
+	return this.get("type");
+};
+dojo.data.old.Attribute.prototype.setType = function (type) {
+	this.set("type", type);
+};
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Attribute.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Attribute.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Attribute.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Item.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Item.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Item.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Item.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,223 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.data.old.Item");
+dojo.require("dojo.data.old.Observable");
+dojo.require("dojo.data.old.Value");
+dojo.require("dojo.lang.common");
+dojo.require("dojo.lang.assert");
+dojo.data.old.Item = function (dataProvider) {
+	dojo.lang.assertType(dataProvider, dojo.data.old.provider.Base, {optional:true});
+	dojo.data.old.Observable.call(this);
+	this._dataProvider = dataProvider;
+	this._dictionaryOfAttributeValues = {};
+};
+dojo.inherits(dojo.data.old.Item, dojo.data.old.Observable);
+dojo.data.old.Item.compare = function (itemOne, itemTwo) {
+	dojo.lang.assertType(itemOne, dojo.data.old.Item);
+	if (!dojo.lang.isOfType(itemTwo, dojo.data.old.Item)) {
+		return -1;
+	}
+	var nameOne = itemOne.getName();
+	var nameTwo = itemTwo.getName();
+	if (nameOne == nameTwo) {
+		var attributeArrayOne = itemOne.getAttributes();
+		var attributeArrayTwo = itemTwo.getAttributes();
+		if (attributeArrayOne.length != attributeArrayTwo.length) {
+			if (attributeArrayOne.length > attributeArrayTwo.length) {
+				return 1;
+			} else {
+				return -1;
+			}
+		}
+		for (var i in attributeArrayOne) {
+			var attribute = attributeArrayOne[i];
+			var arrayOfValuesOne = itemOne.getValues(attribute);
+			var arrayOfValuesTwo = itemTwo.getValues(attribute);
+			dojo.lang.assert(arrayOfValuesOne && (arrayOfValuesOne.length > 0));
+			if (!arrayOfValuesTwo) {
+				return 1;
+			}
+			if (arrayOfValuesOne.length != arrayOfValuesTwo.length) {
+				if (arrayOfValuesOne.length > arrayOfValuesTwo.length) {
+					return 1;
+				} else {
+					return -1;
+				}
+			}
+			for (var j in arrayOfValuesOne) {
+				var value = arrayOfValuesOne[j];
+				if (!itemTwo.hasAttributeValue(value)) {
+					return 1;
+				}
+			}
+			return 0;
+		}
+	} else {
+		if (nameOne > nameTwo) {
+			return 1;
+		} else {
+			return -1;
+		}
+	}
+};
+dojo.data.old.Item.prototype.toString = function () {
+	var arrayOfStrings = [];
+	var attributes = this.getAttributes();
+	for (var i in attributes) {
+		var attribute = attributes[i];
+		var arrayOfValues = this.getValues(attribute);
+		var valueString;
+		if (arrayOfValues.length == 1) {
+			valueString = arrayOfValues[0];
+		} else {
+			valueString = "[";
+			valueString += arrayOfValues.join(", ");
+			valueString += "]";
+		}
+		arrayOfStrings.push("  " + attribute + ": " + valueString);
+	}
+	var returnString = "{ ";
+	returnString += arrayOfStrings.join(",\n");
+	returnString += " }";
+	return returnString;
+};
+dojo.data.old.Item.prototype.compare = function (otherItem) {
+	return dojo.data.old.Item.compare(this, otherItem);
+};
+dojo.data.old.Item.prototype.isEqual = function (otherItem) {
+	return (this.compare(otherItem) == 0);
+};
+dojo.data.old.Item.prototype.getName = function () {
+	return this.get("name");
+};
+dojo.data.old.Item.prototype.get = function (attributeId) {
+	var literalOrValueOrArray = this._dictionaryOfAttributeValues[attributeId];
+	if (dojo.lang.isUndefined(literalOrValueOrArray)) {
+		return null;
+	}
+	if (literalOrValueOrArray instanceof dojo.data.old.Value) {
+		return literalOrValueOrArray.getValue();
+	}
+	if (dojo.lang.isArray(literalOrValueOrArray)) {
+		var dojoDataValue = literalOrValueOrArray[0];
+		return dojoDataValue.getValue();
+	}
+	return literalOrValueOrArray;
+};
+dojo.data.old.Item.prototype.getValue = function (attributeId) {
+	var literalOrValueOrArray = this._dictionaryOfAttributeValues[attributeId];
+	if (dojo.lang.isUndefined(literalOrValueOrArray)) {
+		return null;
+	}
+	if (literalOrValueOrArray instanceof dojo.data.old.Value) {
+		return literalOrValueOrArray;
+	}
+	if (dojo.lang.isArray(literalOrValueOrArray)) {
+		var dojoDataValue = literalOrValueOrArray[0];
+		return dojoDataValue;
+	}
+	var literal = literalOrValueOrArray;
+	dojoDataValue = new dojo.data.old.Value(literal);
+	this._dictionaryOfAttributeValues[attributeId] = dojoDataValue;
+	return dojoDataValue;
+};
+dojo.data.old.Item.prototype.getValues = function (attributeId) {
+	var literalOrValueOrArray = this._dictionaryOfAttributeValues[attributeId];
+	if (dojo.lang.isUndefined(literalOrValueOrArray)) {
+		return null;
+	}
+	if (literalOrValueOrArray instanceof dojo.data.old.Value) {
+		var array = [literalOrValueOrArray];
+		this._dictionaryOfAttributeValues[attributeId] = array;
+		return array;
+	}
+	if (dojo.lang.isArray(literalOrValueOrArray)) {
+		return literalOrValueOrArray;
+	}
+	var literal = literalOrValueOrArray;
+	var dojoDataValue = new dojo.data.old.Value(literal);
+	array = [dojoDataValue];
+	this._dictionaryOfAttributeValues[attributeId] = array;
+	return array;
+};
+dojo.data.old.Item.prototype.load = function (attributeId, value) {
+	this._dataProvider.registerAttribute(attributeId);
+	var literalOrValueOrArray = this._dictionaryOfAttributeValues[attributeId];
+	if (dojo.lang.isUndefined(literalOrValueOrArray)) {
+		this._dictionaryOfAttributeValues[attributeId] = value;
+		return;
+	}
+	if (!(value instanceof dojo.data.old.Value)) {
+		value = new dojo.data.old.Value(value);
+	}
+	if (literalOrValueOrArray instanceof dojo.data.old.Value) {
+		var array = [literalOrValueOrArray, value];
+		this._dictionaryOfAttributeValues[attributeId] = array;
+		return;
+	}
+	if (dojo.lang.isArray(literalOrValueOrArray)) {
+		literalOrValueOrArray.push(value);
+		return;
+	}
+	var literal = literalOrValueOrArray;
+	var dojoDataValue = new dojo.data.old.Value(literal);
+	array = [dojoDataValue, value];
+	this._dictionaryOfAttributeValues[attributeId] = array;
+};
+dojo.data.old.Item.prototype.set = function (attributeId, value) {
+	this._dataProvider.registerAttribute(attributeId);
+	this._dictionaryOfAttributeValues[attributeId] = value;
+	this._dataProvider.noteChange(this, attributeId, value);
+};
+dojo.data.old.Item.prototype.setValue = function (attributeId, value) {
+	this.set(attributeId, value);
+};
+dojo.data.old.Item.prototype.addValue = function (attributeId, value) {
+	this.load(attributeId, value);
+	this._dataProvider.noteChange(this, attributeId, value);
+};
+dojo.data.old.Item.prototype.setValues = function (attributeId, arrayOfValues) {
+	dojo.lang.assertType(arrayOfValues, Array);
+	this._dataProvider.registerAttribute(attributeId);
+	var finalArray = [];
+	this._dictionaryOfAttributeValues[attributeId] = finalArray;
+	for (var i in arrayOfValues) {
+		var value = arrayOfValues[i];
+		if (!(value instanceof dojo.data.old.Value)) {
+			value = new dojo.data.old.Value(value);
+		}
+		finalArray.push(value);
+		this._dataProvider.noteChange(this, attributeId, value);
+	}
+};
+dojo.data.old.Item.prototype.getAttributes = function () {
+	var arrayOfAttributes = [];
+	for (var key in this._dictionaryOfAttributeValues) {
+		arrayOfAttributes.push(this._dataProvider.getAttribute(key));
+	}
+	return arrayOfAttributes;
+};
+dojo.data.old.Item.prototype.hasAttribute = function (attributeId) {
+	return (attributeId in this._dictionaryOfAttributeValues);
+};
+dojo.data.old.Item.prototype.hasAttributeValue = function (attributeId, value) {
+	var arrayOfValues = this.getValues(attributeId);
+	for (var i in arrayOfValues) {
+		var candidateValue = arrayOfValues[i];
+		if (candidateValue.isEqual(value)) {
+			return true;
+		}
+	}
+	return false;
+};
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Item.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Item.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Item.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Kind.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Kind.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Kind.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Kind.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,19 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.data.old.Kind");
+dojo.require("dojo.data.old.Item");
+dojo.data.old.Kind = function (dataProvider) {
+	dojo.data.old.Item.call(this, dataProvider);
+};
+dojo.inherits(dojo.data.old.Kind, dojo.data.old.Item);
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Kind.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Kind.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Kind.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Observable.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Observable.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Observable.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Observable.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,40 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.data.old.Observable");
+dojo.require("dojo.lang.common");
+dojo.require("dojo.lang.assert");
+dojo.data.old.Observable = function () {
+};
+dojo.data.old.Observable.prototype.addObserver = function (observer) {
+	dojo.lang.assertType(observer, Object);
+	dojo.lang.assertType(observer.observedObjectHasChanged, Function);
+	if (!this._arrayOfObservers) {
+		this._arrayOfObservers = [];
+	}
+	if (!dojo.lang.inArray(this._arrayOfObservers, observer)) {
+		this._arrayOfObservers.push(observer);
+	}
+};
+dojo.data.old.Observable.prototype.removeObserver = function (observer) {
+	if (!this._arrayOfObservers) {
+		return;
+	}
+	var index = dojo.lang.indexOf(this._arrayOfObservers, observer);
+	if (index != -1) {
+		this._arrayOfObservers.splice(index, 1);
+	}
+};
+dojo.data.old.Observable.prototype.getObservers = function () {
+	return this._arrayOfObservers;
+};
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Observable.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Observable.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Observable.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/ResultSet.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/ResultSet.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/ResultSet.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/ResultSet.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,52 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.data.old.ResultSet");
+dojo.require("dojo.lang.assert");
+dojo.require("dojo.collections.Collections");
+dojo.data.old.ResultSet = function (dataProvider, arrayOfItems) {
+	dojo.lang.assertType(dataProvider, dojo.data.old.provider.Base, {optional:true});
+	dojo.lang.assertType(arrayOfItems, Array, {optional:true});
+	dojo.data.old.Observable.call(this);
+	this._dataProvider = dataProvider;
+	this._arrayOfItems = [];
+	if (arrayOfItems) {
+		this._arrayOfItems = arrayOfItems;
+	}
+};
+dojo.inherits(dojo.data.old.ResultSet, dojo.data.old.Observable);
+dojo.data.old.ResultSet.prototype.toString = function () {
+	var returnString = this._arrayOfItems.join(", ");
+	return returnString;
+};
+dojo.data.old.ResultSet.prototype.toArray = function () {
+	return this._arrayOfItems;
+};
+dojo.data.old.ResultSet.prototype.getIterator = function () {
+	return new dojo.collections.Iterator(this._arrayOfItems);
+};
+dojo.data.old.ResultSet.prototype.getLength = function () {
+	return this._arrayOfItems.length;
+};
+dojo.data.old.ResultSet.prototype.getItemAt = function (index) {
+	return this._arrayOfItems[index];
+};
+dojo.data.old.ResultSet.prototype.indexOf = function (item) {
+	return dojo.lang.indexOf(this._arrayOfItems, item);
+};
+dojo.data.old.ResultSet.prototype.contains = function (item) {
+	return dojo.lang.inArray(this._arrayOfItems, item);
+};
+dojo.data.old.ResultSet.prototype.getDataProvider = function () {
+	return this._dataProvider;
+};
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/ResultSet.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/ResultSet.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/ResultSet.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Type.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Type.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Type.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Type.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,19 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.data.old.Type");
+dojo.require("dojo.data.old.Item");
+dojo.data.old.Type = function (dataProvider) {
+	dojo.data.old.Item.call(this, dataProvider);
+};
+dojo.inherits(dojo.data.old.Type, dojo.data.old.Item);
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Type.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Type.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Type.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Value.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Value.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Value.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Value.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,35 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.data.old.Value");
+dojo.require("dojo.lang.assert");
+dojo.data.old.Value = function (value) {
+	this._value = value;
+	this._type = null;
+};
+dojo.data.old.Value.prototype.toString = function () {
+	return this._value.toString();
+};
+dojo.data.old.Value.prototype.getValue = function () {
+	return this._value;
+};
+dojo.data.old.Value.prototype.getType = function () {
+	dojo.unimplemented("dojo.data.old.Value.prototype.getType");
+	return this._type;
+};
+dojo.data.old.Value.prototype.compare = function () {
+	dojo.unimplemented("dojo.data.old.Value.prototype.compare");
+};
+dojo.data.old.Value.prototype.isEqual = function () {
+	dojo.unimplemented("dojo.data.old.Value.prototype.isEqual");
+};
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Value.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Value.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/Value.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/__package__.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/__package__.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/__package__.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/__package__.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,17 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.require("dojo.experimental");
+dojo.experimental("dojo.data.old.*");
+dojo.kwCompoundRequire({common:["dojo.data.old.Item", "dojo.data.old.ResultSet", "dojo.data.old.provider.FlatFile"]});
+dojo.provide("dojo.data.old.*");
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/__package__.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/__package__.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/__package__.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/format/Csv.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/format/Csv.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/format/Csv.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/format/Csv.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,81 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.data.old.format.Csv");
+dojo.require("dojo.lang.assert");
+dojo.data.old.format.Csv = new function () {
+	this.getArrayStructureFromCsvFileContents = function (csvFileContents) {
+		dojo.lang.assertType(csvFileContents, String);
+		var lineEndingCharacters = new RegExp("\r\n|\n|\r");
+		var leadingWhiteSpaceCharacters = new RegExp("^\\s+", "g");
+		var trailingWhiteSpaceCharacters = new RegExp("\\s+$", "g");
+		var doubleQuotes = new RegExp("\"\"", "g");
+		var arrayOfOutputRecords = [];
+		var arrayOfInputLines = csvFileContents.split(lineEndingCharacters);
+		for (var i in arrayOfInputLines) {
+			var singleLine = arrayOfInputLines[i];
+			if (singleLine.length > 0) {
+				var listOfFields = singleLine.split(",");
+				var j = 0;
+				while (j < listOfFields.length) {
+					var space_field_space = listOfFields[j];
+					var field_space = space_field_space.replace(leadingWhiteSpaceCharacters, "");
+					var field = field_space.replace(trailingWhiteSpaceCharacters, "");
+					var firstChar = field.charAt(0);
+					var lastChar = field.charAt(field.length - 1);
+					var secondToLastChar = field.charAt(field.length - 2);
+					var thirdToLastChar = field.charAt(field.length - 3);
+					if ((firstChar == "\"") && ((lastChar != "\"") || ((lastChar == "\"") && (secondToLastChar == "\"") && (thirdToLastChar != "\"")))) {
+						if (j + 1 === listOfFields.length) {
+							return null;
+						}
+						var nextField = listOfFields[j + 1];
+						listOfFields[j] = field_space + "," + nextField;
+						listOfFields.splice(j + 1, 1);
+					} else {
+						if ((firstChar == "\"") && (lastChar == "\"")) {
+							field = field.slice(1, (field.length - 1));
+							field = field.replace(doubleQuotes, "\"");
+						}
+						listOfFields[j] = field;
+						j += 1;
+					}
+				}
+				arrayOfOutputRecords.push(listOfFields);
+			}
+		}
+		return arrayOfOutputRecords;
+	};
+	this.loadDataProviderFromFileContents = function (dataProvider, csvFileContents) {
+		dojo.lang.assertType(dataProvider, dojo.data.old.provider.Base);
+		dojo.lang.assertType(csvFileContents, String);
+		var arrayOfArrays = this.getArrayStructureFromCsvFileContents(csvFileContents);
+		if (arrayOfArrays) {
+			var arrayOfKeys = arrayOfArrays[0];
+			for (var i = 1; i < arrayOfArrays.length; ++i) {
+				var row = arrayOfArrays[i];
+				var item = dataProvider.getNewItemToLoad();
+				for (var j in row) {
+					var value = row[j];
+					var key = arrayOfKeys[j];
+					item.load(key, value);
+				}
+			}
+		}
+	};
+	this.getCsvStringFromResultSet = function (resultSet) {
+		dojo.unimplemented("dojo.data.old.format.Csv.getCsvStringFromResultSet");
+		var csvString = null;
+		return csvString;
+	};
+}();
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/format/Csv.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/format/Csv.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/format/Csv.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/format/Json.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/format/Json.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/format/Json.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/format/Json.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,71 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.data.old.format.Json");
+dojo.require("dojo.lang.assert");
+dojo.data.old.format.Json = new function () {
+	this.loadDataProviderFromFileContents = function (dataProvider, jsonFileContents) {
+		dojo.lang.assertType(dataProvider, dojo.data.old.provider.Base);
+		dojo.lang.assertType(jsonFileContents, String);
+		var arrayOfJsonData = eval("(" + jsonFileContents + ")");
+		this.loadDataProviderFromArrayOfJsonData(dataProvider, arrayOfJsonData);
+	};
+	this.loadDataProviderFromArrayOfJsonData = function (dataProvider, arrayOfJsonData) {
+		dojo.lang.assertType(arrayOfJsonData, Array, {optional:true});
+		if (arrayOfJsonData && (arrayOfJsonData.length > 0)) {
+			var firstRow = arrayOfJsonData[0];
+			dojo.lang.assertType(firstRow, [Array, "pureobject"]);
+			if (dojo.lang.isArray(firstRow)) {
+				_loadDataProviderFromArrayOfArrays(dataProvider, arrayOfJsonData);
+			} else {
+				dojo.lang.assertType(firstRow, "pureobject");
+				_loadDataProviderFromArrayOfObjects(dataProvider, arrayOfJsonData);
+			}
+		}
+	};
+	this.getJsonStringFromResultSet = function (resultSet) {
+		dojo.unimplemented("dojo.data.old.format.Json.getJsonStringFromResultSet");
+		var jsonString = null;
+		return jsonString;
+	};
+	function _loadDataProviderFromArrayOfArrays(dataProvider, arrayOfJsonData) {
+		var arrayOfKeys = arrayOfJsonData[0];
+		for (var i = 1; i < arrayOfJsonData.length; ++i) {
+			var row = arrayOfJsonData[i];
+			var item = dataProvider.getNewItemToLoad();
+			for (var j in row) {
+				var value = row[j];
+				var key = arrayOfKeys[j];
+				item.load(key, value);
+			}
+		}
+	}
+	function _loadDataProviderFromArrayOfObjects(dataProvider, arrayOfJsonData) {
+		for (var i in arrayOfJsonData) {
+			var row = arrayOfJsonData[i];
+			var item = dataProvider.getNewItemToLoad();
+			for (var key in row) {
+				var value = row[key];
+				if (dojo.lang.isArray(value)) {
+					var arrayOfValues = value;
+					for (var j in arrayOfValues) {
+						value = arrayOfValues[j];
+						item.load(key, value);
+					}
+				} else {
+					item.load(key, value);
+				}
+			}
+		}
+	}
+}();
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/format/Json.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/format/Json.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/format/Json.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/Base.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/Base.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/Base.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/Base.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,124 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.data.old.provider.Base");
+dojo.require("dojo.lang.assert");
+dojo.data.old.provider.Base = function () {
+	this._countOfNestedTransactions = 0;
+	this._changesInCurrentTransaction = null;
+};
+dojo.data.old.provider.Base.prototype.beginTransaction = function () {
+	if (this._countOfNestedTransactions === 0) {
+		this._changesInCurrentTransaction = [];
+	}
+	this._countOfNestedTransactions += 1;
+};
+dojo.data.old.provider.Base.prototype.endTransaction = function () {
+	this._countOfNestedTransactions -= 1;
+	dojo.lang.assert(this._countOfNestedTransactions >= 0);
+	if (this._countOfNestedTransactions === 0) {
+		var listOfChangesMade = this._saveChanges();
+		this._changesInCurrentTransaction = null;
+		if (listOfChangesMade.length > 0) {
+			this._notifyObserversOfChanges(listOfChangesMade);
+		}
+	}
+};
+dojo.data.old.provider.Base.prototype.getNewItemToLoad = function () {
+	return this._newItem();
+};
+dojo.data.old.provider.Base.prototype.newItem = function (itemName) {
+	dojo.lang.assertType(itemName, String, {optional:true});
+	var item = this._newItem();
+	if (itemName) {
+		item.set("name", itemName);
+	}
+	return item;
+};
+dojo.data.old.provider.Base.prototype.newAttribute = function (attributeId) {
+	dojo.lang.assertType(attributeId, String, {optional:true});
+	var attribute = this._newAttribute(attributeId);
+	return attribute;
+};
+dojo.data.old.provider.Base.prototype.getAttribute = function (attributeId) {
+	dojo.unimplemented("dojo.data.old.provider.Base");
+	var attribute;
+	return attribute;
+};
+dojo.data.old.provider.Base.prototype.getAttributes = function () {
+	dojo.unimplemented("dojo.data.old.provider.Base");
+	return this._arrayOfAttributes;
+};
+dojo.data.old.provider.Base.prototype.fetchArray = function () {
+	dojo.unimplemented("dojo.data.old.provider.Base");
+	return [];
+};
+dojo.data.old.provider.Base.prototype.fetchResultSet = function () {
+	dojo.unimplemented("dojo.data.old.provider.Base");
+	var resultSet;
+	return resultSet;
+};
+dojo.data.old.provider.Base.prototype.noteChange = function (item, attribute, value) {
+	var change = {item:item, attribute:attribute, value:value};
+	if (this._countOfNestedTransactions === 0) {
+		this.beginTransaction();
+		this._changesInCurrentTransaction.push(change);
+		this.endTransaction();
+	} else {
+		this._changesInCurrentTransaction.push(change);
+	}
+};
+dojo.data.old.provider.Base.prototype.addItemObserver = function (item, observer) {
+	dojo.lang.assertType(item, dojo.data.old.Item);
+	item.addObserver(observer);
+};
+dojo.data.old.provider.Base.prototype.removeItemObserver = function (item, observer) {
+	dojo.lang.assertType(item, dojo.data.old.Item);
+	item.removeObserver(observer);
+};
+dojo.data.old.provider.Base.prototype._newItem = function () {
+	var item = new dojo.data.old.Item(this);
+	return item;
+};
+dojo.data.old.provider.Base.prototype._newAttribute = function (attributeId) {
+	var attribute = new dojo.data.old.Attribute(this);
+	return attribute;
+};
+dojo.data.old.provider.Base.prototype._saveChanges = function () {
+	var arrayOfChangesMade = this._changesInCurrentTransaction;
+	return arrayOfChangesMade;
+};
+dojo.data.old.provider.Base.prototype._notifyObserversOfChanges = function (arrayOfChanges) {
+	var arrayOfResultSets = this._getResultSets();
+	for (var i in arrayOfChanges) {
+		var change = arrayOfChanges[i];
+		var changedItem = change.item;
+		var arrayOfItemObservers = changedItem.getObservers();
+		for (var j in arrayOfItemObservers) {
+			var observer = arrayOfItemObservers[j];
+			observer.observedObjectHasChanged(changedItem, change);
+		}
+		for (var k in arrayOfResultSets) {
+			var resultSet = arrayOfResultSets[k];
+			var arrayOfResultSetObservers = resultSet.getObservers();
+			for (var m in arrayOfResultSetObservers) {
+				observer = arrayOfResultSetObservers[m];
+				observer.observedObjectHasChanged(resultSet, change);
+			}
+		}
+	}
+};
+dojo.data.old.provider.Base.prototype._getResultSets = function () {
+	dojo.unimplemented("dojo.data.old.provider.Base");
+	return [];
+};
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/Base.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/Base.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/Base.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/Delicious.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/Delicious.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/Delicious.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/Delicious.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,33 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.data.old.provider.Delicious");
+dojo.require("dojo.data.old.provider.FlatFile");
+dojo.require("dojo.data.old.format.Json");
+dojo.data.old.provider.Delicious = function () {
+	dojo.data.old.provider.FlatFile.call(this);
+	if (Delicious && Delicious.posts) {
+		dojo.data.old.format.Json.loadDataProviderFromArrayOfJsonData(this, Delicious.posts);
+	} else {
+	}
+	var u = this.registerAttribute("u");
+	var d = this.registerAttribute("d");
+	var t = this.registerAttribute("t");
+	u.load("name", "Bookmark");
+	d.load("name", "Description");
+	t.load("name", "Tags");
+	u.load("type", "String");
+	d.load("type", "String");
+	t.load("type", "String");
+};
+dojo.inherits(dojo.data.old.provider.Delicious, dojo.data.old.provider.FlatFile);
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/Delicious.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/Delicious.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/Delicious.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/FlatFile.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/FlatFile.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/FlatFile.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/FlatFile.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,113 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.data.old.provider.FlatFile");
+dojo.require("dojo.data.old.provider.Base");
+dojo.require("dojo.data.old.Item");
+dojo.require("dojo.data.old.Attribute");
+dojo.require("dojo.data.old.ResultSet");
+dojo.require("dojo.data.old.format.Json");
+dojo.require("dojo.data.old.format.Csv");
+dojo.require("dojo.lang.assert");
+dojo.data.old.provider.FlatFile = function (keywordParameters) {
+	dojo.lang.assertType(keywordParameters, "pureobject", {optional:true});
+	dojo.data.old.provider.Base.call(this);
+	this._arrayOfItems = [];
+	this._resultSet = null;
+	this._dictionaryOfAttributes = {};
+	if (keywordParameters) {
+		var jsonObjects = keywordParameters["jsonObjects"];
+		var jsonString = keywordParameters["jsonString"];
+		var fileUrl = keywordParameters["url"];
+		if (jsonObjects) {
+			dojo.data.old.format.Json.loadDataProviderFromArrayOfJsonData(this, jsonObjects);
+		}
+		if (jsonString) {
+			dojo.data.old.format.Json.loadDataProviderFromFileContents(this, jsonString);
+		}
+		if (fileUrl) {
+			var arrayOfParts = fileUrl.split(".");
+			var lastPart = arrayOfParts[(arrayOfParts.length - 1)];
+			var formatParser = null;
+			if (lastPart == "json") {
+				formatParser = dojo.data.old.format.Json;
+			}
+			if (lastPart == "csv") {
+				formatParser = dojo.data.old.format.Csv;
+			}
+			if (formatParser) {
+				var fileContents = dojo.hostenv.getText(fileUrl);
+				formatParser.loadDataProviderFromFileContents(this, fileContents);
+			} else {
+				dojo.lang.assert(false, "new dojo.data.old.provider.FlatFile({url: }) was passed a file without a .csv or .json suffix");
+			}
+		}
+	}
+};
+dojo.inherits(dojo.data.old.provider.FlatFile, dojo.data.old.provider.Base);
+dojo.data.old.provider.FlatFile.prototype.getProviderCapabilities = function (keyword) {
+	dojo.lang.assertType(keyword, String, {optional:true});
+	if (!this._ourCapabilities) {
+		this._ourCapabilities = {transactions:false, undo:false, login:false, versioning:false, anonymousRead:true, anonymousWrite:false, permissions:false, queries:false, strongTyping:false, datatypes:[String, Date, Number]};
+	}
+	if (keyword) {
+		return this._ourCapabilities[keyword];
+	} else {
+		return this._ourCapabilities;
+	}
+};
+dojo.data.old.provider.FlatFile.prototype.registerAttribute = function (attributeId) {
+	var registeredAttribute = this.getAttribute(attributeId);
+	if (!registeredAttribute) {
+		var newAttribute = new dojo.data.old.Attribute(this, attributeId);
+		this._dictionaryOfAttributes[attributeId] = newAttribute;
+		registeredAttribute = newAttribute;
+	}
+	return registeredAttribute;
+};
+dojo.data.old.provider.FlatFile.prototype.getAttribute = function (attributeId) {
+	var attribute = (this._dictionaryOfAttributes[attributeId] || null);
+	return attribute;
+};
+dojo.data.old.provider.FlatFile.prototype.getAttributes = function () {
+	var arrayOfAttributes = [];
+	for (var key in this._dictionaryOfAttributes) {
+		var attribute = this._dictionaryOfAttributes[key];
+		arrayOfAttributes.push(attribute);
+	}
+	return arrayOfAttributes;
+};
+dojo.data.old.provider.FlatFile.prototype.fetchArray = function (query) {
+	return this._arrayOfItems;
+};
+dojo.data.old.provider.FlatFile.prototype.fetchResultSet = function (query) {
+	if (!this._resultSet) {
+		this._resultSet = new dojo.data.old.ResultSet(this, this.fetchArray(query));
+	}
+	return this._resultSet;
+};
+dojo.data.old.provider.FlatFile.prototype._newItem = function () {
+	var item = new dojo.data.old.Item(this);
+	this._arrayOfItems.push(item);
+	return item;
+};
+dojo.data.old.provider.FlatFile.prototype._newAttribute = function (attributeId) {
+	dojo.lang.assertType(attributeId, String);
+	dojo.lang.assert(this.getAttribute(attributeId) === null);
+	var attribute = new dojo.data.old.Attribute(this, attributeId);
+	this._dictionaryOfAttributes[attributeId] = attribute;
+	return attribute;
+};
+dojo.data.old.provider.Base.prototype._getResultSets = function () {
+	return [this._resultSet];
+};
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/FlatFile.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/FlatFile.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/FlatFile.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/JotSpot.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/JotSpot.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/JotSpot.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/JotSpot.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,19 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.data.old.provider.JotSpot");
+dojo.require("dojo.data.old.provider.Base");
+dojo.data.old.provider.JotSpot = function () {
+	dojo.unimplemented("dojo.data.old.provider.JotSpot");
+};
+dojo.inherits(dojo.data.old.provider.JotSpot, dojo.data.old.provider.Base);
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/JotSpot.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/JotSpot.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/JotSpot.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/MySql.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/MySql.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/MySql.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/MySql.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,19 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.data.old.provider.MySql");
+dojo.require("dojo.data.old.provider.Base");
+dojo.data.old.provider.MySql = function () {
+	dojo.unimplemented("dojo.data.old.provider.MySql");
+};
+dojo.inherits(dojo.data.old.provider.MySql, dojo.data.old.provider.Base);
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/MySql.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/MySql.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/provider/MySql.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/to_do.txt
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/to_do.txt?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/to_do.txt (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/to_do.txt Thu Jul 16 19:14:41 2009
@@ -0,0 +1,45 @@
+Existing Features
+ * can import data from .json or .csv format files
+ * can import data from del.icio.us
+ * can create and modify data programmatically
+ * can bind data to dojo.widget.Chart
+ * can bind data to dojo.widget.SortableTable
+ * can bind one data set to multiple widgets
+ * notifications: widgets are notified when data changes
+ * notification available per-item or per-resultSet
+ * can create ad-hoc attributes
+ * attributes can be loosely-typed 
+ * attributes can have meta-data like type and display name
+ * half-implemented support for sorting
+ * half-implemented support for export to .json
+ * API for getting data in simple arrays 
+ * API for getting ResultSets with iterators (precursor to support for something like the openrico.org live grid)
+ 
+~~~~~~~~~~~~~~~~~~~~~~~~
+To-Do List
+ * be able to import data from an html <table></table>
+ * think about being able to import data from some type of XML 
+ * think about integration with dojo.undo.Manager
+ * think more about how to represent the notion of different data types
+ * think about what problems we'll run into when we have a MySQL data provider
+ * in TableBindingHack, improve support for data types in the SortableTable binding
+ * deal with ids (including MySQL multi-field keys)
+ * add support for item-references:  employeeItem.set('department', departmentItem);
+ * deal with Attributes as instances of Items, not just subclasses of Items
+ * unit tests for compare/sort code
+ * unit tests for everything
+ * implement item.toString('json') and item.toString('xml')
+ * implement dataProvider.newItem({name: 'foo', age: 26})
+ * deal better with transactions
+ * add support for deleting items
+ * don't send out multiple notifications to the same observer
+ * deal with item versions
+ * prototype a Yahoo data provider -- http://developer.yahoo.net/common/json.html
+ * prototype a data provider that enforces strong typing
+ * prototype a data provider that prevents ad-hoc attributes
+ * prototype a data provider that enforces single-kind item
+ * prototype a data provider that allows for login/authentication
+ * have loosely typed result sets play nicely with widgets that expect strong typing
+ * prototype an example of spreadsheet-style formulas or derivation rules
+ * experiment with some sort of fetch() that returns only a subset of a data provider's items
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/to_do.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/to_do.txt
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/data/old/to_do.txt
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/date.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/date.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/date.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/date.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,15 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.date");
+dojo.deprecated("dojo.date", "use one of the modules in dojo.date.* instead", "0.5");
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/date.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/date.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/date.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain