Added: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Attribute.js
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Attribute.js?view=auto&rev=509273 ============================================================================== --- ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Attribute.js (added) +++ ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Attribute.js Mon Feb 19 09:56:06 2007 @@ -0,0 +1,62 @@ +/* + 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"); + +// ------------------------------------------------------------------- +// Constructor +// ------------------------------------------------------------------- +dojo.data.old.Attribute = function(/* dojo.data.old.provider.Base */ dataProvider, /* string */ attributeId) { + /** + * summary: + * An Attribute object represents something like a column in + * a relational database. + */ + 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); + +// ------------------------------------------------------------------- +// Public instance methods +// ------------------------------------------------------------------- +dojo.data.old.Attribute.prototype.toString = function() { + return this._attributeId; // string +}; + +dojo.data.old.Attribute.prototype.getAttributeId = function() { + /** + * summary: + * Returns the string token that uniquely identifies this + * attribute within the context of a data provider. + * For a data provider that accesses relational databases, + * typical attributeIds might be tokens like "name", "age", + * "ssn", or "dept_key". + */ + return this._attributeId; // string +}; + +dojo.data.old.Attribute.prototype.getType = function() { + /** + * summary: Returns the data type of the values of this attribute. + */ + return this.get('type'); // dojo.data.old.Type or null +}; + +dojo.data.old.Attribute.prototype.setType = function(/* dojo.data.old.Type or null */ type) { + /** + * summary: Sets the data type for this attribute. + */ + this.set('type', type); +}; Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Attribute.js ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Attribute.js ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Attribute.js ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Item.js URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Item.js?view=auto&rev=509273 ============================================================================== --- ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Item.js (added) +++ ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Item.js Mon Feb 19 09:56:06 2007 @@ -0,0 +1,327 @@ +/* + 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"); + +// ------------------------------------------------------------------- +// Constructor +// ------------------------------------------------------------------- +dojo.data.old.Item = function(/* dojo.data.old.provider.Base */ dataProvider) { + /** + * summary: + * An Item has attributes and attribute values, sort of like + * a record in a database, or a 'struct' in C. Instances of + * the Item class know how to store and retrieve their + * attribute values. + */ + 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); + +// ------------------------------------------------------------------- +// Public class methods +// ------------------------------------------------------------------- +dojo.data.old.Item.compare = function(/* dojo.data.old.Item */ itemOne, /* dojo.data.old.Item */ itemTwo) { + /** + * summary: + * Given two Items to compare, this method returns 0, 1, or -1. + * This method is designed to be used by sorting routines, like + * the JavaScript built-in Array sort() method. + * + * Example: + * <pre> + * var a = dataProvider.newItem("kermit"); + * var b = dataProvider.newItem("elmo"); + * var c = dataProvider.newItem("grover"); + * var array = new Array(a, b, c); + * array.sort(dojo.data.old.Item.compare); + * </pre> + */ + 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; // 0, 1, or -1 + } + } +}; + +// ------------------------------------------------------------------- +// Public instance methods +// ------------------------------------------------------------------- +dojo.data.old.Item.prototype.toString = function() { + /** + * Returns a simple string representation of the item. + */ + 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; // string +}; + +dojo.data.old.Item.prototype.compare = function(/* dojo.data.old.Item */ otherItem) { + /** + * summary: Compares this Item to another Item, and returns 0, 1, or -1. + */ + return dojo.data.old.Item.compare(this, otherItem); // 0, 1, or -1 +}; + +dojo.data.old.Item.prototype.isEqual = function(/* dojo.data.old.Item */ otherItem) { + /** + * summary: Returns true if this Item is equal to the otherItem, or false otherwise. + */ + return (this.compare(otherItem) == 0); // boolean +}; + +dojo.data.old.Item.prototype.getName = function() { + return this.get('name'); +}; + +dojo.data.old.Item.prototype.get = function(/* string or dojo.data.old.Attribute */ attributeId) { + /** + * summary: Returns a single literal value, like "foo" or 33. + */ + // dojo.lang.assertType(attributeId, [String, dojo.data.old.Attribute]); + var literalOrValueOrArray = this._dictionaryOfAttributeValues[attributeId]; + if (dojo.lang.isUndefined(literalOrValueOrArray)) { + return null; // null + } + if (literalOrValueOrArray instanceof dojo.data.old.Value) { + return literalOrValueOrArray.getValue(); // literal + } + if (dojo.lang.isArray(literalOrValueOrArray)) { + var dojoDataValue = literalOrValueOrArray[0]; + return dojoDataValue.getValue(); // literal + } + return literalOrValueOrArray; // literal +}; + +dojo.data.old.Item.prototype.getValue = function(/* string or dojo.data.old.Attribute */ attributeId) { + /** + * summary: Returns a single instance of dojo.data.old.Value. + */ + // dojo.lang.assertType(attributeId, [String, dojo.data.old.Attribute]); + var literalOrValueOrArray = this._dictionaryOfAttributeValues[attributeId]; + if (dojo.lang.isUndefined(literalOrValueOrArray)) { + return null; // null + } + if (literalOrValueOrArray instanceof dojo.data.old.Value) { + return literalOrValueOrArray; // dojo.data.old.Value + } + if (dojo.lang.isArray(literalOrValueOrArray)) { + var dojoDataValue = literalOrValueOrArray[0]; + return dojoDataValue; // dojo.data.old.Value + } + var literal = literalOrValueOrArray; + dojoDataValue = new dojo.data.old.Value(literal); + this._dictionaryOfAttributeValues[attributeId] = dojoDataValue; + return dojoDataValue; // dojo.data.old.Value +}; + +dojo.data.old.Item.prototype.getValues = function(/* string or dojo.data.old.Attribute */ attributeId) { + /** + * summary: Returns an array of dojo.data.old.Value objects. + */ + // dojo.lang.assertType(attributeId, [String, dojo.data.old.Attribute]); + var literalOrValueOrArray = this._dictionaryOfAttributeValues[attributeId]; + if (dojo.lang.isUndefined(literalOrValueOrArray)) { + return null; // null + } + if (literalOrValueOrArray instanceof dojo.data.old.Value) { + var array = [literalOrValueOrArray]; + this._dictionaryOfAttributeValues[attributeId] = array; + return array; // Array + } + if (dojo.lang.isArray(literalOrValueOrArray)) { + return literalOrValueOrArray; // Array + } + var literal = literalOrValueOrArray; + var dojoDataValue = new dojo.data.old.Value(literal); + array = [dojoDataValue]; + this._dictionaryOfAttributeValues[attributeId] = array; + return array; // Array +}; + +dojo.data.old.Item.prototype.load = function(/* string or dojo.data.old.Attribute */ attributeId, /* anything */ value) { + /** + * summary: + * Used for loading an attribute value into an item when + * the item is first being loaded into memory from some + * data store (such as a file). + */ + // dojo.lang.assertType(attributeId, [String, dojo.data.old.Attribute]); + 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(/* string or dojo.data.old.Attribute */ attributeId, /* anything */ value) { + /** + * summary: + * Used for setting an attribute value as a result of a + * user action. + */ + // dojo.lang.assertType(attributeId, [String, dojo.data.old.Attribute]); + this._dataProvider.registerAttribute(attributeId); + this._dictionaryOfAttributeValues[attributeId] = value; + this._dataProvider.noteChange(this, attributeId, value); +}; + +dojo.data.old.Item.prototype.setValue = function(/* string or dojo.data.old.Attribute */ attributeId, /* dojo.data.old.Value */ value) { + this.set(attributeId, value); +}; + +dojo.data.old.Item.prototype.addValue = function(/* string or dojo.data.old.Attribute */ attributeId, /* anything */ value) { + /** + * summary: + * Used for adding an attribute value as a result of a + * user action. + */ + this.load(attributeId, value); + this._dataProvider.noteChange(this, attributeId, value); +}; + +dojo.data.old.Item.prototype.setValues = function(/* string or dojo.data.old.Attribute */ attributeId, /* Array */ arrayOfValues) { + /** + * summary: + * Used for setting an array of attribute values as a result of a + * user action. + */ + // dojo.lang.assertType(attributeId, [String, dojo.data.old.Attribute]); + 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() { + /** + * summary: + * Returns an array containing all of the attributes for which + * this item has attribute values. + */ + var arrayOfAttributes = []; + for (var key in this._dictionaryOfAttributeValues) { + arrayOfAttributes.push(this._dataProvider.getAttribute(key)); + } + return arrayOfAttributes; // Array +}; + +dojo.data.old.Item.prototype.hasAttribute = function(/* string or dojo.data.old.Attribute */ attributeId) { + /** + * summary: Returns true if the given attribute of the item has been assigned any value. + */ + // dojo.lang.assertType(attributeId, [String, dojo.data.old.Attribute]); + return (attributeId in this._dictionaryOfAttributeValues); // boolean +}; + +dojo.data.old.Item.prototype.hasAttributeValue = function(/* string or dojo.data.old.Attribute */ attributeId, /* anything */ value) { + /** + * summary: Returns true if the given attribute of the item has been assigned the given value. + */ + var arrayOfValues = this.getValues(attributeId); + for (var i in arrayOfValues) { + var candidateValue = arrayOfValues[i]; + if (candidateValue.isEqual(value)) { + return true; // boolean + } + } + return false; // boolean +}; + + Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Item.js ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Item.js ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Item.js ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Kind.js URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Kind.js?view=auto&rev=509273 ============================================================================== --- ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Kind.js (added) +++ ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Kind.js Mon Feb 19 09:56:06 2007 @@ -0,0 +1,28 @@ +/* + 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"); + +// ------------------------------------------------------------------- +// Constructor +// ------------------------------------------------------------------- +dojo.data.old.Kind = function(/* dojo.data.old.provider.Base */ dataProvider) { + /** + * summary: + * A Kind represents a kind of item. In the dojo data model + * the item Snoopy might belong to the 'kind' Dog, where in + * a Java program the object Snoopy would belong to the 'class' + * Dog, and in MySQL the record for Snoopy would be in the + * table Dog. + */ + dojo.data.old.Item.call(this, dataProvider); +}; +dojo.inherits(dojo.data.old.Kind, dojo.data.old.Item); Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Kind.js ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Kind.js ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Kind.js ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Observable.js URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Observable.js?view=auto&rev=509273 ============================================================================== --- ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Observable.js (added) +++ ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Observable.js Mon Feb 19 09:56:06 2007 @@ -0,0 +1,59 @@ +/* + 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"); + +// ------------------------------------------------------------------- +// Constructor +// ------------------------------------------------------------------- +dojo.data.old.Observable = function() { +}; + +// ------------------------------------------------------------------- +// Public instance methods +// ------------------------------------------------------------------- +dojo.data.old.Observable.prototype.addObserver = function(/* object */ observer) { + /** + * summary: Registers an object as an observer of this item, + * so that the object will be notified when the item changes. + */ + 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(/* object */ observer) { + /** + * summary: Removes the observer registration for a previously + * registered object. + */ + 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() { + /** + * summary: Returns an array with all the observers of this item. + */ + return this._arrayOfObservers; // Array or undefined +}; + Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Observable.js ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Observable.js ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Observable.js ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/ResultSet.js URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/ResultSet.js?view=auto&rev=509273 ============================================================================== --- ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/ResultSet.js (added) +++ ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/ResultSet.js Mon Feb 19 09:56:06 2007 @@ -0,0 +1,70 @@ +/* + 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"); + +// ------------------------------------------------------------------- +// Constructor +// ------------------------------------------------------------------- +dojo.data.old.ResultSet = function(/* dojo.data.old.provider.Base */ dataProvider, /* Array */ arrayOfItems) { + /** + * summary: + * A ResultSet holds a collection of Items. A data provider + * returns a ResultSet in reponse to a query. + * (The name "Result Set" comes from the MySQL terminology.) + */ + 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); + +// ------------------------------------------------------------------- +// Public instance methods +// ------------------------------------------------------------------- +dojo.data.old.ResultSet.prototype.toString = function() { + var returnString = this._arrayOfItems.join(', '); + return returnString; // string +}; + +dojo.data.old.ResultSet.prototype.toArray = function() { + return this._arrayOfItems; // Array +}; + +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; // integer +}; + +dojo.data.old.ResultSet.prototype.getItemAt = function(/* numeric */ index) { + return this._arrayOfItems[index]; +}; + +dojo.data.old.ResultSet.prototype.indexOf = function(/* dojo.data.old.Item */ item) { + return dojo.lang.indexOf(this._arrayOfItems, item); // integer +}; + +dojo.data.old.ResultSet.prototype.contains = function(/* dojo.data.old.Item */ item) { + return dojo.lang.inArray(this._arrayOfItems, item); // boolean +}; + +dojo.data.old.ResultSet.prototype.getDataProvider = function() { + return this._dataProvider; // dojo.data.old.provider.Base +}; \ No newline at end of file Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/ResultSet.js ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/ResultSet.js ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/ResultSet.js ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Type.js URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Type.js?view=auto&rev=509273 ============================================================================== --- ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Type.js (added) +++ ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Type.js Mon Feb 19 09:56:06 2007 @@ -0,0 +1,25 @@ +/* + 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"); + +// ------------------------------------------------------------------- +// Constructor +// ------------------------------------------------------------------- +dojo.data.old.Type = function(/* dojo.data.old.provider.Base */ dataProvider) { + /** + * summary: + * A Type represents a type of value, like Text, Number, Picture, + * or Varchar. + */ + dojo.data.old.Item.call(this, dataProvider); +}; +dojo.inherits(dojo.data.old.Type, dojo.data.old.Item); Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Type.js ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Type.js ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Type.js ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Value.js URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Value.js?view=auto&rev=509273 ============================================================================== --- ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Value.js (added) +++ ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Value.js Mon Feb 19 09:56:06 2007 @@ -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.old.Value"); +dojo.require("dojo.lang.assert"); + +// ------------------------------------------------------------------- +// Constructor +// ------------------------------------------------------------------- +dojo.data.old.Value = function(/* anything */ value) { + /** + * summary: + * A Value represents a simple literal value (like "foo" or 334), + * or a reference value (a pointer to an Item). + */ + this._value = value; + this._type = null; +}; + +// ------------------------------------------------------------------- +// Public instance methods +// ------------------------------------------------------------------- +dojo.data.old.Value.prototype.toString = function() { + return this._value.toString(); // string +}; + +dojo.data.old.Value.prototype.getValue = function() { + /** + * summary: Returns the value itself. + */ + return this._value; // anything +}; + +dojo.data.old.Value.prototype.getType = function() { + /** + * summary: Returns the data type of the value. + */ + dojo.unimplemented('dojo.data.old.Value.prototype.getType'); + return this._type; // dojo.data.old.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: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Value.js ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Value.js ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/Value.js ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/__package__.js URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/__package__.js?view=auto&rev=509273 ============================================================================== --- ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/__package__.js (added) +++ ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/__package__.js Mon Feb 19 09:56:06 2007 @@ -0,0 +1,22 @@ +/* + 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: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/__package__.js ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/__package__.js ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/__package__.js ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/format/Csv.js URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/format/Csv.js?view=auto&rev=509273 ============================================================================== --- ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/format/Csv.js (added) +++ ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/format/Csv.js Mon Feb 19 09:56:06 2007 @@ -0,0 +1,112 @@ +/* + 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() { + + // ------------------------------------------------------------------- + // Public functions + // ------------------------------------------------------------------- + this.getArrayStructureFromCsvFileContents = function(/* string */ csvFileContents) { + /** + * Given a string containing CSV records, this method parses + * the string and returns a data structure containing the parsed + * content. The data structure we return is an array of length + * R, where R is the number of rows (lines) in the CSV data. The + * return array contains one sub-array for each CSV line, and each + * sub-array contains C string values, where C is the number of + * columns in the CSV data. + * + * For example, given this CSV string as input: + * <pre> + * "Title, Year, Producer \n Alien, 1979, Ridley Scott \n Blade Runner, 1982, Ridley Scott" + * </pre> + * We will return this data structure: + * <pre> + * [["Title", "Year", "Producer"] + * ["Alien", "1979", "Ridley Scott"], + * ["Blade Runner", "1982", "Ridley Scott"]] + * </pre> + */ + 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, ''); // trim leading whitespace + var field = field_space.replace(trailingWhiteSpaceCharacters, ''); // trim trailing whitespace + 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) { + // alert("The last field in record " + i + " is corrupted:\n" + field); + return null; + } + var nextField = listOfFields[j+1]; + listOfFields[j] = field_space + ',' + nextField; + listOfFields.splice(j+1, 1); // delete element [j+1] from the list + } else { + if ((firstChar == '"') && (lastChar == '"')) { + field = field.slice(1, (field.length - 1)); // trim the " characters off the ends + field = field.replace(doubleQuotes, '"'); // replace "" with " + } + listOfFields[j] = field; + j += 1; + } + } + arrayOfOutputRecords.push(listOfFields); + } + } + return arrayOfOutputRecords; // Array + }; + + this.loadDataProviderFromFileContents = function(/* dojo.data.old.provider.Base */ dataProvider, /* string */ 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(/* dojo.data.old.ResultSet */ resultSet) { + dojo.unimplemented('dojo.data.old.format.Csv.getCsvStringFromResultSet'); + var csvString = null; + return csvString; // String + }; + +}(); Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/format/Csv.js ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/format/Csv.js ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/format/Csv.js ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/format/Json.js URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/format/Json.js?view=auto&rev=509273 ============================================================================== --- ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/format/Json.js (added) +++ ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/format/Json.js Mon Feb 19 09:56:06 2007 @@ -0,0 +1,103 @@ +/* + 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() { + + // ------------------------------------------------------------------- + // Public functions + // ------------------------------------------------------------------- + this.loadDataProviderFromFileContents = function(/* dojo.data.old.provider.Base */ dataProvider, /* string */ 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(/* dojo.data.old.provider.Base */ dataProvider, /* Array */ 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(/* dojo.data.old.ResultSet */ resultSet) { + dojo.unimplemented('dojo.data.old.format.Json.getJsonStringFromResultSet'); + var jsonString = null; + return jsonString; // String + }; + + // ------------------------------------------------------------------- + // Private functions + // ------------------------------------------------------------------- + function _loadDataProviderFromArrayOfArrays(/* dojo.data.old.provider.Base */ dataProvider, /* Array */ arrayOfJsonData) { + /** + * Example: + * var arrayOfJsonStates = [ + * [ "abbr", "population", "name" ] + * [ "WA", 5894121, "Washington" ], + * [ "WV", 1808344, "West Virginia" ], + * [ "WI", 5453896, "Wisconsin" ], + * [ "WY", 493782, "Wyoming" ] ]; + * this._loadFromArrayOfArrays(arrayOfJsonStates); + */ + 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(/* dojo.data.old.provider.Base */ dataProvider, /* Array */ arrayOfJsonData) { + /** + * Example: + * var arrayOfJsonStates = [ + * { abbr: "WA", name: "Washington" }, + * { abbr: "WV", name: "West Virginia" }, + * { abbr: "WI", name: "Wisconsin", song: "On, Wisconsin!" }, + * { abbr: "WY", name: "Wyoming", cities: ["Lander", "Cheyenne", "Laramie"] } ]; + * this._loadFromArrayOfArrays(arrayOfJsonStates); + */ + // dojo.debug("_loadDataProviderFromArrayOfObjects"); + 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); + // dojo.debug("loaded: " + key + " = " + value); + } + } else { + item.load(key, value); + } + } + } + } + +}(); + Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/format/Json.js ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/format/Json.js ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/format/Json.js ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/Base.js URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/Base.js?view=auto&rev=509273 ============================================================================== --- ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/Base.js (added) +++ ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/Base.js Mon Feb 19 09:56:06 2007 @@ -0,0 +1,183 @@ +/* + 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"); + +// ------------------------------------------------------------------- +// Constructor +// ------------------------------------------------------------------- +dojo.data.old.provider.Base = function() { + /** + * summary: + * A Data Provider serves as a connection to some data source, + * like a relational database. This data provider Base class + * serves as an abstract superclass for other data provider + * classes. + */ + this._countOfNestedTransactions = 0; + this._changesInCurrentTransaction = null; +}; + +// ------------------------------------------------------------------- +// Public instance methods +// ------------------------------------------------------------------- +dojo.data.old.provider.Base.prototype.beginTransaction = function() { + /** + * Marks the beginning of a transaction. + * + * Each time you call beginTransaction() you open a new transaction, + * which you need to close later using endTransaction(). Transactions + * may be nested, but the beginTransaction and endTransaction calls + * always need to come in pairs. + */ + if (this._countOfNestedTransactions === 0) { + this._changesInCurrentTransaction = []; + } + this._countOfNestedTransactions += 1; +}; + +dojo.data.old.provider.Base.prototype.endTransaction = function() { + /** + * Marks the end of a transaction. + */ + this._countOfNestedTransactions -= 1; + dojo.lang.assert(this._countOfNestedTransactions >= 0); + + if (this._countOfNestedTransactions === 0) { + var listOfChangesMade = this._saveChanges(); + this._changesInCurrentTransaction = null; + if (listOfChangesMade.length > 0) { + // dojo.debug("endTransaction: " + listOfChangesMade.length + " changes made"); + this._notifyObserversOfChanges(listOfChangesMade); + } + } +}; + +dojo.data.old.provider.Base.prototype.getNewItemToLoad = function() { + return this._newItem(); // dojo.data.old.Item +}; + +dojo.data.old.provider.Base.prototype.newItem = function(/* string */ itemName) { + /** + * Creates a new item. + */ + dojo.lang.assertType(itemName, String, {optional: true}); + var item = this._newItem(); + if (itemName) { + item.set('name', itemName); + } + return item; // dojo.data.old.Item +}; + +dojo.data.old.provider.Base.prototype.newAttribute = function(/* string */ attributeId) { + /** + * Creates a new attribute. + */ + dojo.lang.assertType(attributeId, String, {optional: true}); + var attribute = this._newAttribute(attributeId); + return attribute; // dojo.data.old.Attribute +}; + +dojo.data.old.provider.Base.prototype.getAttribute = function(/* string */ attributeId) { + dojo.unimplemented('dojo.data.old.provider.Base'); + var attribute; + return attribute; // dojo.data.old.Attribute +}; + +dojo.data.old.provider.Base.prototype.getAttributes = function() { + dojo.unimplemented('dojo.data.old.provider.Base'); + return this._arrayOfAttributes; // Array +}; + +dojo.data.old.provider.Base.prototype.fetchArray = function() { + dojo.unimplemented('dojo.data.old.provider.Base'); + return []; // Array +}; + +dojo.data.old.provider.Base.prototype.fetchResultSet = function() { + dojo.unimplemented('dojo.data.old.provider.Base'); + var resultSet; + return resultSet; // dojo.data.old.ResultSet +}; + +dojo.data.old.provider.Base.prototype.noteChange = function(/* dojo.data.old.Item */ item, /* string or dojo.data.old.Attribute */ attribute, /* anything */ 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(/* dojo.data.old.Item */ item, /* object */ observer) { + /** + * summary: Registers an object as an observer of an item, + * so that the object will be notified when the item changes. + */ + dojo.lang.assertType(item, dojo.data.old.Item); + item.addObserver(observer); +}; + +dojo.data.old.provider.Base.prototype.removeItemObserver = function(/* dojo.data.old.Item */ item, /* object */ observer) { + /** + * summary: Removes the observer registration for a previously + * registered object. + */ + dojo.lang.assertType(item, dojo.data.old.Item); + item.removeObserver(observer); +}; + +// ------------------------------------------------------------------- +// Private instance methods +// ------------------------------------------------------------------- +dojo.data.old.provider.Base.prototype._newItem = function() { + var item = new dojo.data.old.Item(this); + return item; // dojo.data.old.Item +}; + +dojo.data.old.provider.Base.prototype._newAttribute = function(/* String */ attributeId) { + var attribute = new dojo.data.old.Attribute(this); + return attribute; // dojo.data.old.Attribute +}; + +dojo.data.old.provider.Base.prototype._saveChanges = function() { + var arrayOfChangesMade = this._changesInCurrentTransaction; + return arrayOfChangesMade; // Array +}; + +dojo.data.old.provider.Base.prototype._notifyObserversOfChanges = function(/* Array */ 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 []; // Array +}; + Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/Base.js ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/Base.js ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/Base.js ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/Delicious.js URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/Delicious.js?view=auto&rev=509273 ============================================================================== --- ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/Delicious.js (added) +++ ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/Delicious.js Mon Feb 19 09:56:06 2007 @@ -0,0 +1,85 @@ +/* + 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"); + +// ------------------------------------------------------------------- +// Constructor +// ------------------------------------------------------------------- +dojo.data.old.provider.Delicious = function() { + /** + * summary: + * The Delicious Data Provider can be used to take data from + * del.icio.us and make it available as dojo.data.old.Items + * In order to use the Delicious Data Provider, you need + * to have loaded a script tag that looks like this: + * <script type="text/javascript" src="http://del.icio.us/feeds/json/gumption?count=8"></script> + */ + dojo.data.old.provider.FlatFile.call(this); + // Delicious = null; + if (Delicious && Delicious.posts) { + dojo.data.old.format.Json.loadDataProviderFromArrayOfJsonData(this, Delicious.posts); + } else { + // document.write("<script type='text/javascript'>dojo.data.old.provider.Delicious._fetchComplete()</script>"); + /* + document.write("<script type='text/javascript'>alert('boo!');</script>"); + document.write("<script type='text/javascript'>var foo = 'not dojo'; alert('dojo == ' + foo);</script>"); + document.write("<script type='text/javascript'>var foo = fetchComplete; alert('dojo == ' + foo);</script>"); + fetchComplete(); + */ + // dojo.debug("Delicious line 29: constructor"); + } + 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); + +/******************************************************************** + * FIXME: the rest of this is work in progress + * + +dojo.data.old.provider.Delicious.prototype.getNewItemToLoad = function() { + var newItem = this._newItem(); + this._currentArray.push(newItem); + return newItem; // dojo.data.old.Item +}; + +dojo.data.old.provider.Delicious.prototype.fetchArray = function(query) { + if (!query) { + query = "gumption"; + } + this._currentArray = []; + alert("Delicious line 60: loadDataProviderFromArrayOfJsonData"); + alert("Delicious line 61: " + dojo); + var sourceUrl = "http://del.icio.us/feeds/json/" + query + "?count=8"; + document.write("<script type='text/javascript' src='" + sourceUrl + "'></script>"); + document.write("<script type='text/javascript'>alert('line 63: ' + Delicious.posts[0].u);</script>"); + document.write("<script type='text/javascript'>callMe();</script>"); + alert("line 66"); + dojo.data.old.format.Json.loadDataProviderFromArrayOfJsonData(this, Delicious.posts); + return this._currentArray; // Array +}; + +callMe = function() { + alert("callMe!"); +}; + +*/ Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/Delicious.js ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/Delicious.js ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/Delicious.js ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/FlatFile.js URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/FlatFile.js?view=auto&rev=509273 ============================================================================== --- ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/FlatFile.js (added) +++ ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/FlatFile.js Mon Feb 19 09:56:06 2007 @@ -0,0 +1,153 @@ +/* + 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"); + +// ------------------------------------------------------------------- +// Constructor +// ------------------------------------------------------------------- +dojo.data.old.provider.FlatFile = function(/* keywords */ keywordParameters) { + /** + * summary: + * A Json Data Provider knows how to read in simple JSON data + * tables and make their contents accessable as Items. + */ + 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); + +// ------------------------------------------------------------------- +// Public instance methods +// ------------------------------------------------------------------- +dojo.data.old.provider.FlatFile.prototype.getProviderCapabilities = function(/* string */ 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(/* string or dojo.data.old.Attribute */ 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.Attribute +}; + +dojo.data.old.provider.FlatFile.prototype.getAttribute = function(/* string or dojo.data.old.Attribute */ attributeId) { + var attribute = (this._dictionaryOfAttributes[attributeId] || null); + return attribute; // dojo.data.old.Attribute or null +}; + +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; // Array +}; + +dojo.data.old.provider.FlatFile.prototype.fetchArray = function(query) { + /** + * summary: Returns an Array containing all of the Items. + */ + return this._arrayOfItems; // Array +}; + +dojo.data.old.provider.FlatFile.prototype.fetchResultSet = function(query) { + /** + * summary: Returns a ResultSet containing all of the Items. + */ + if (!this._resultSet) { + this._resultSet = new dojo.data.old.ResultSet(this, this.fetchArray(query)); + } + return this._resultSet; // dojo.data.old.ResultSet +}; + +// ------------------------------------------------------------------- +// Private instance methods +// ------------------------------------------------------------------- +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.Item +}; + +dojo.data.old.provider.FlatFile.prototype._newAttribute = function(/* String */ 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.Attribute +}; + +dojo.data.old.provider.Base.prototype._getResultSets = function() { + return [this._resultSet]; // Array +}; + Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/FlatFile.js ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/FlatFile.js ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/FlatFile.js ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/JotSpot.js URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/JotSpot.js?view=auto&rev=509273 ============================================================================== --- ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/JotSpot.js (added) +++ ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/JotSpot.js Mon Feb 19 09:56:06 2007 @@ -0,0 +1,27 @@ +/* + 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"); + +// ------------------------------------------------------------------- +// Constructor +// ------------------------------------------------------------------- +dojo.data.old.provider.JotSpot = function() { + /** + * summary: + * A JotSpot Data Provider knows how to read data from a JotSpot data + * store and make the contents accessable as dojo.data.old.Items. + */ + dojo.unimplemented('dojo.data.old.provider.JotSpot'); +}; + +dojo.inherits(dojo.data.old.provider.JotSpot, dojo.data.old.provider.Base); + Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/JotSpot.js ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/JotSpot.js ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/JotSpot.js ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/MySql.js URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/MySql.js?view=auto&rev=509273 ============================================================================== --- ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/MySql.js (added) +++ ofbiz/trunk/framework/images/webapp/images/dojo/src/data/old/provider/MySql.js Mon Feb 19 09:56:06 2007 @@ |
Free forum by Nabble | Edit this page |