You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xap-commits@incubator.apache.org by jm...@apache.org on 2007/03/07 02:27:01 UTC
svn commit: r515427 - in /incubator/xap/trunk/codebase/src/xap/data:
DataFramework.js DataNamespaceHandler.js controller/Binding.js
controller/BindingResolver.js datasource/AbstractDataSet.js
datasource/AbstractDataSource.js datasource/ArrayDataSet.js
Author: jmargaris
Date: Tue Mar 6 18:27:00 2007
New Revision: 515427
URL: http://svn.apache.org/viewvc?view=rev&rev=515427
Log:
reverting changes that broke data binding examples
Modified:
incubator/xap/trunk/codebase/src/xap/data/DataFramework.js
incubator/xap/trunk/codebase/src/xap/data/DataNamespaceHandler.js
incubator/xap/trunk/codebase/src/xap/data/controller/Binding.js
incubator/xap/trunk/codebase/src/xap/data/controller/BindingResolver.js
incubator/xap/trunk/codebase/src/xap/data/datasource/AbstractDataSet.js
incubator/xap/trunk/codebase/src/xap/data/datasource/AbstractDataSource.js
incubator/xap/trunk/codebase/src/xap/data/datasource/ArrayDataSet.js
Modified: incubator/xap/trunk/codebase/src/xap/data/DataFramework.js
URL: http://svn.apache.org/viewvc/incubator/xap/trunk/codebase/src/xap/data/DataFramework.js?view=diff&rev=515427&r1=515426&r2=515427
==============================================================================
--- incubator/xap/trunk/codebase/src/xap/data/DataFramework.js (original)
+++ incubator/xap/trunk/codebase/src/xap/data/DataFramework.js Tue Mar 6 18:27:00 2007
@@ -20,7 +20,6 @@
Xap.provide("xap.data.DataFramework");
Xap.require("xap.data.controller.Binding") ;
-Xap.require("xap.data.controller.BindingResolver") ;
Xap.require("xap.session.Container") ;
Xap.require("xap.data.controller.BindingType") ;
Xap.require("xap.resolver.ResolutionInfo");
@@ -176,7 +175,6 @@
/* Binding */
var binding = xap.data.controller.Binding.createIteratorBinding(
this._bindingResolver.getContextStack(),
- this.getDataSourceContainer(),
select,
bindString,
this._session,
@@ -190,7 +188,7 @@
xap.data.DataFramework.prototype.bind = function( stringOrBinding){
if ( typeof stringOrBinding == "string"){
- var binding = this._bindingResolver.createBindingFromParameterString(stringOrBinding, this.getDataSourceContainer(), this.getFormatterContainer());
+ var binding = this._bindingResolver.createBindingFromParameterString(stringOrBinding);
return this.bindBinding(binding);
}
else{
Modified: incubator/xap/trunk/codebase/src/xap/data/DataNamespaceHandler.js
URL: http://svn.apache.org/viewvc/incubator/xap/trunk/codebase/src/xap/data/DataNamespaceHandler.js?view=diff&rev=515427&r1=515426&r2=515427
==============================================================================
--- incubator/xap/trunk/codebase/src/xap/data/DataNamespaceHandler.js (original)
+++ incubator/xap/trunk/codebase/src/xap/data/DataNamespaceHandler.js Tue Mar 6 18:27:00 2007
@@ -21,7 +21,6 @@
Xap.require("xap.xml.ParserFactory");
Xap.require("xap.taghandling.PluginDocumentHandler");
Xap.require("xap.data.controller.BindingResolver") ;
-Xap.require("xap.data.DataFramework");
/**
* Creates a new DataNamespaceHandler. DataNamespaceHandler is typically created
Modified: incubator/xap/trunk/codebase/src/xap/data/controller/Binding.js
URL: http://svn.apache.org/viewvc/incubator/xap/trunk/codebase/src/xap/data/controller/Binding.js?view=diff&rev=515427&r1=515426&r2=515427
==============================================================================
--- incubator/xap/trunk/codebase/src/xap/data/controller/Binding.js (original)
+++ incubator/xap/trunk/codebase/src/xap/data/controller/Binding.js Tue Mar 6 18:27:00 2007
@@ -20,6 +20,7 @@
Xap.provide("xap.data.controller.Binding");
Xap.require("xap.util.TypeUtils");
+Xap.require("xap.data.DataFramework");
Xap.require("xap.data.controller.BindingType");
Xap.require("xap.data.controller.AttributeValueLocation");
Xap.require("xap.util.ArrayHelper");
@@ -53,18 +54,14 @@
return binding;
}
-
-/**
- *
- **/
xap.data.controller.Binding.createIteratorBinding =
- function(contextStack, dataSourceContainer, select, name, session, bindingType, defaultValue) {
+ function(contextStack, select, name, session, bindingType, defaultValue){
var binding = new xap.data.controller.Binding();
binding._select = select;
binding._session = session;
binding._bindingType = bindingType;
if (name && name.length > 0) {
- binding._source = dataSourceContainer.get(name);
+ binding._source = xap.data.DataFramework.getDataService(session).getDataSourceContainer().get(name);
if (!binding._source) {
// Find the ancestor iterator context with the
// specified name, since there was not data source with
Modified: incubator/xap/trunk/codebase/src/xap/data/controller/BindingResolver.js
URL: http://svn.apache.org/viewvc/incubator/xap/trunk/codebase/src/xap/data/controller/BindingResolver.js?view=diff&rev=515427&r1=515426&r2=515427
==============================================================================
--- incubator/xap/trunk/codebase/src/xap/data/controller/BindingResolver.js (original)
+++ incubator/xap/trunk/codebase/src/xap/data/controller/BindingResolver.js Tue Mar 6 18:27:00 2007
@@ -18,13 +18,11 @@
*/
Xap.provide("xap.data.controller.BindingResolver");
-
Xap.require("xap.session.ClientSession");
+Xap.require("xap.data.DataFramework");
Xap.require("xap.data.bridge.XmlDataTokens");
Xap.require("xap.util.EscapeSyntaxParser") ;
Xap.require("xap.data.controller.ContextStack") ;
-Xap.require("xap.data.controller.Binding") ;
-
/**
* The binding resolver contains helper methods which allow creation
* of binding objects from binding declarations. This class also maintains
@@ -93,14 +91,13 @@
* @return {Binding}
* @throws EscapeSyntaxException, DataControllerException
**/
-xap.data.controller.BindingResolver.prototype.createBindingFromParameterString = function (value, dataSourceContainer, formatterContainer) {
-
+xap.data.controller.BindingResolver.prototype.createBindingFromParameterString = function (value) {
+ /*DataService*/
+ var dataService = xap.data.DataFramework.getDataService(this._session);
/*Formatter*/
var formatter = null;
-
/*BindingType*/
var bindType = xap.data.controller.BindingType.ONE_TIME;
-
/*String*/
var select = null;
@@ -157,7 +154,7 @@
}
if (xap.data.bridge.XmlDataTokens.FORMATTER == parameterName ) {
if (parameterValue != null) {
- formatter = formatterContainer.get(parameterValue);
+ formatter = dataService.getFormatterContainer().get(parameterValue);
}
} else {
if (xap.data.bridge.XmlDataTokens.BINDING_TYPE == parameterName ) {
@@ -205,7 +202,7 @@
curToken += curChar ;
}
/*Binding*/
- var binding = xap.data.controller.Binding.createIteratorBinding(this.getContextStack(), dataSourceContainer, select, dataSource, this._session, bindType, defaultValue);
+ var binding = xap.data.controller.Binding.createIteratorBinding(this.getContextStack(), select, dataSource, this._session, bindType, defaultValue);
if (formatter != null) {
binding.setFormatter(formatter);
}
Modified: incubator/xap/trunk/codebase/src/xap/data/datasource/AbstractDataSet.js
URL: http://svn.apache.org/viewvc/incubator/xap/trunk/codebase/src/xap/data/datasource/AbstractDataSet.js?view=diff&rev=515427&r1=515426&r2=515427
==============================================================================
--- incubator/xap/trunk/codebase/src/xap/data/datasource/AbstractDataSet.js (original)
+++ incubator/xap/trunk/codebase/src/xap/data/datasource/AbstractDataSet.js Tue Mar 6 18:27:00 2007
@@ -19,7 +19,6 @@
Xap.provide("xap.data.datasource.AbstractDataSet");
-Xap.require("xap.data.datasource.ArrayDataSet");
/**
@@ -46,15 +45,15 @@
*
*/
xap.data.datasource.AbstractDataSet = function(query, source, data) {
- xap.data.datasource.ArrayDataSet.call(this, query, source, data);
+ /** @private */
+ this._data = data ;
+ /** @private */
+ this._query = query ;
+ /** @private */
+ this._dataSource = source ;
};
-//SETUP SUBCLASS does this but we need this for doc to pick it up correctly
-xap.data.datasource.AbstractDataSet.prototype = new xap.data.datasource.ArrayDataSet();
-Xap.setupClassAsSubclassOf("xap.data.datasource.AbstractDataSet", "xap.data.datasource.ArrayDataSet");
-
-
/**
* A factory method that returns an AbstractDataSet subclasses based on the type
* of data passed in. This will currently only handle array-based data
@@ -84,6 +83,53 @@
}
};
+/**
+ * Returns the query string that produced this data set.
+ * @return {String} The query string that produced this data set.
+ *
+ */
+xap.data.datasource.AbstractDataSet.prototype.getQuery = function () {
+ return this._query;
+};
+
+
+/**
+ * Returns the data source that produced this data set.
+ * @return {xap.data.datasource.AbstractDataSource} The data source that
+ * produced this data set.
+ *
+ */
+xap.data.datasource.AbstractDataSet.prototype.getDataSource = function () {
+ return this._dataSource;
+};
+
+//METHODS TO IMPLEMENT IN SUBCLASS
+
+
+/**
+ * Returns the size of the data set. Subclasses should override this to
+ * return the correct size.
+ *
+ * @return {int} Always returns zero.
+ */
+xap.data.datasource.AbstractDataSet.prototype.size = function () {
+ return 0;
+};
+
+
+/**
+ * Returns the data at the specified index. This base class method returns null;
+ * subclasses should override to return the proper value.
+ *
+ * @param {int} index The index of that data to return.
+ * @return {int} Always returns null.
+ */
+xap.data.datasource.AbstractDataSet.prototype.getData = function (index) {
+ return null;
+};
+//At the bottom to get around some circular reference issues with factory method needing
+//this class
+Xap.require("xap.data.datasource.ArrayDataSet") ;
Modified: incubator/xap/trunk/codebase/src/xap/data/datasource/AbstractDataSource.js
URL: http://svn.apache.org/viewvc/incubator/xap/trunk/codebase/src/xap/data/datasource/AbstractDataSource.js?view=diff&rev=515427&r1=515426&r2=515427
==============================================================================
--- incubator/xap/trunk/codebase/src/xap/data/datasource/AbstractDataSource.js (original)
+++ incubator/xap/trunk/codebase/src/xap/data/datasource/AbstractDataSource.js Tue Mar 6 18:27:00 2007
@@ -25,8 +25,6 @@
Xap.require("xap.util.ResourceDictionary");
Xap.require("xap.util.ArrayHelper");
Xap.require("xap.data.datasource.QueryRecord") ;
-Xap.require("xap.data.datasource.AbstractDataSet") ;
-
/**
* @fileoverview
@@ -64,7 +62,7 @@
this._asynchronousDataSourceListeners = [];
/** @private */
this._dataChangeListeners = [];
-};
+}
@@ -78,7 +76,7 @@
this._postponedQueries = [];
this._asynchronousDataSourceListeners = [];
this._dataChangeListeners = [];
-};
+}
/**
@@ -331,9 +329,9 @@
* @param {xap.data.controller.ContextFrame} An optional context object for nested iteration.
* @return The result of the query.
*/
-xap.data.datasource.AbstractDataSource.prototype.executeQuery =function(queryString , context) {
- // empty
-};
+xap.data.datasource.AbstractDataSource.prototype.executeQuery =function(queryString , context){
+
+}
/**
* Subclasses should override this method to support asynchronous loading of data.
@@ -343,9 +341,7 @@
* @return The content of the XMLHttpRequest object parsed into an object suitable to the source object
* of the data source.
*/
-xap.data.datasource.AbstractDataSource.prototype.responseToDataSource = function(response ) {
- // empty
-};
+xap.data.datasource.AbstractDataSource.prototype.responseToDataSource = function(response){}
/**
@@ -439,8 +435,7 @@
xap.data.datasource.AbstractDataSource.prototype.addPostponedQuery = function (query, context, listener, isDataSetQuery) {
var queryRecord = new xap.data.datasource.QueryRecord(query, context, listener, isDataSetQuery);
this._postponedQueries.push(queryRecord);
-};
-
+}
/**
* @private
* Runs all the queries in a given array of queries.
@@ -457,8 +452,7 @@
this.getLog().error("Error executing databound query:" + rec.getQuery(), e);
}
}
-};
-
+}
/**
* Returns the logger used to log DataSource issues.
Modified: incubator/xap/trunk/codebase/src/xap/data/datasource/ArrayDataSet.js
URL: http://svn.apache.org/viewvc/incubator/xap/trunk/codebase/src/xap/data/datasource/ArrayDataSet.js?view=diff&rev=515427&r1=515426&r2=515427
==============================================================================
--- incubator/xap/trunk/codebase/src/xap/data/datasource/ArrayDataSet.js (original)
+++ incubator/xap/trunk/codebase/src/xap/data/datasource/ArrayDataSet.js Tue Mar 6 18:27:00 2007
@@ -18,7 +18,7 @@
*/
Xap.provide("xap.data.datasource.ArrayDataSet");
-
+Xap.require("xap.data.datasource.AbstractDataSet") ;
/**
* @fileoverview
@@ -41,74 +41,37 @@
* @see xap.data.datasource.AbstractDataSet#getDataSet
*
*/
-xap.data.datasource.ArrayDataSet = function (query, dataSource, data) {
- /** @private */
- this._query = query ;
- /** @private */
- this._dataSource = dataSource ;
- /** @private */
- this._data = data ;
+xap.data.datasource.ArrayDataSet = function (query, source, dataArray) {
+ xap.data.datasource.AbstractDataSet.call(this, query, source, dataArray);
};
+//needed for doc even though the below handles this
+xap.data.datasource.ArrayDataSet.prototype = new xap.data.datasource.AbstractDataSet();
-/**
- * Returns the query string that produced this data set.
- * @return {String} The query string that produced this data set.
- *
- */
-xap.data.datasource.ArrayDataSet.prototype.getQuery = function () {
- return this._query;
-};
-
-
-/**
- * Returns the data source that produced this data set.
- * @return {xap.data.datasource.AbstractDataSource} The data source that
- * produced this data set.
- *
- */
-xap.data.datasource.ArrayDataSet.prototype.getDataSource = function () {
- return this._dataSource;
-};
-
-
-/**
- * Returns the data at the specified index. This base class method returns null;
- * subclasses should override to return the proper value.
- *
- * @param {int} index The index of that data to return.
- * @return Data object
- */
-xap.data.datasource.ArrayDataSet.prototype.getData = function (index) {
-
- if(this._data instanceof Array) {
- if(index instanceof Number) {
- return this._data[index];
- } else {
- return this._data[0];
- }
- }
-
- return this._data;
-};
+/**
+ * Returns the size of the data set.
+ *
+ * @return {int} The size of the data set.
+ */
+xap.data.datasource.ArrayDataSet.prototype.size = function () {
+ return this._data.length;
+};
-/**
- * Returns the size of the data set. Subclasses should override this to
- * return the correct size.
- *
- * @return {int}.
- */
-xap.data.datasource.ArrayDataSet.prototype.size = function () {
-
- if( ! this._data ) {
- return 0;
+/**
+ * Returns the data at the specified index.
+ *
+ * @param {int} index The index of that data to return.
+ * @return The data at the given index.
+ */
+xap.data.datasource.ArrayDataSet.prototype.getData = function (index) {
+ // Have to be careful here; if you were to use "!index",
+ // that would do damage if the index were 0....
+ if( (typeof index=="undefined") || index==null){
+ return null;
}
-
- if(this._data instanceof Array) {
- return this._data.length;
+ else {
+ return this._data[index] ;
}
-
- return 1;
};