You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by ko...@apache.org on 2014/07/17 17:16:08 UTC
git commit: cleanup & new entry testcases
Repository: olingo-odata4-js
Updated Branches:
refs/heads/master 97c0da688 -> d969f47cd
cleanup & new entry testcases
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/commit/d969f47c
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/tree/d969f47c
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/diff/d969f47c
Branch: refs/heads/master
Commit: d969f47cdbb50aa0d44a0bf5ab09e6f236a1d485
Parents: 97c0da6
Author: Sven Kobler <sv...@sap.com>
Authored: Thu Jul 17 17:15:45 2014 +0200
Committer: Sven Kobler <sv...@sap.com>
Committed: Thu Jul 17 17:15:45 2014 +0200
----------------------------------------------------------------------
datajs/demo/tester.html | 38 ++++++++++
datajs/src/lib/cache.js | 11 +--
datajs/src/lib/cache/source.js | 14 ----
datajs/src/lib/datajs.js | 71 -------------------
datajs/src/lib/datajs/deferred.js | 12 +---
datajs/src/lib/datajs/utils.js | 11 ---
datajs/src/lib/datajs/xml.js | 11 ---
datajs/src/lib/odata.js | 7 --
datajs/src/lib/odata/gml.js | 10 ---
datajs/src/lib/odata/handler.js | 9 ---
datajs/src/lib/odata/json.js | 125 ++++++++++++---------------------
datajs/src/lib/odata/metadata.js | 9 ---
datajs/src/lib/odata/net.js | 11 +--
datajs/src/lib/odata/utils.js | 9 ---
datajs/src/lib/odata/xml.js | 7 --
datajs/src/lib/store.js | 10 +--
datajs/src/lib/store/dom.js | 9 ---
datajs/src/lib/store/indexeddb.js | 11 ---
datajs/src/lib/store/memory.js | 13 ----
19 files changed, 87 insertions(+), 311 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/d969f47c/datajs/demo/tester.html
----------------------------------------------------------------------
diff --git a/datajs/demo/tester.html b/datajs/demo/tester.html
index 0b0caa0..887ca84 100644
--- a/datajs/demo/tester.html
+++ b/datajs/demo/tester.html
@@ -37,6 +37,9 @@
<button id="btnJSON_full_date_conversion">JSON odata.metadata=full (with date conversion)</button><br/>
<button id="btnJSON_full_to_all">JSON odata.metadata=full; extendMetadataToLevel=all (with adding types for string, bool, numbers)</button><br/>
<button id="btnJSON_full_to_all_date_conversion">JSON odata.metadata=full; extendMetadataToLevel=all (with adding types for string, bool, numbers) (with date conversion)</button><br/>
+ <button id="btnJSON_entry_minimal">Entry pure JSON odata.metadata=minimal</button><br/>
+ <button id="btnJSON_entry_minimal_to_full">Entry pure JSON odata.metadata=minimal; extendMetadataToLevel=full</button><br/>
+ <button id="btnJSON_entry_minimal_to_all">Entry pure JSON odata.metadata=minimal; extendMetadataToLevel=all</button><br/>
<button id="btnMetaData">MetaData</button><br/>
<button id="btnJSONwithMetaData">JSON with MetaData</button><br/>
@@ -101,6 +104,15 @@
};
datajs.V4.oData.read(requestUri, success, errorFunc);
});
+
+ $('#btnJSON_entry_minimal').on("click", function(){
+ var requestUri = {
+ requestUri : 'http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)',
+ headers : { Accept : 'application/json;odata.metadata=minimal' }
+ };
+ datajs.V4.oData.read(requestUri, success, errorFunc);
+ });
+
$('#btnJSON_full').on("click", function(){
var requestUri = {
requestUri : 'http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods',
@@ -182,6 +194,32 @@
getMetaData(metaDatasuccess);
});
+ $('#btnJSON_entry_minimal_to_all').on("click", function(){
+ var metaDatasuccess = function(metadata){
+ var requestUri = {
+ requestUri : 'http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)',
+ headers : { Accept : 'application/json;odata.metadata=minimal' },
+ extendMetadataToLevel : 'all' ,
+ recognizeDates : false
+ };
+ datajs.V4.oData.read(requestUri, success, errorFunc, null, null, metadata);
+ }
+ getMetaData(metaDatasuccess);
+ });
+
+ $('#btnJSON_entry_minimal_to_full').on("click", function(){
+ var metaDatasuccess = function(metadata){
+ var requestUri = {
+ requestUri : 'http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)',
+ headers : { Accept : 'application/json;odata.metadata=minimal' },
+ extendMetadataToLevel : 'full' ,
+ recognizeDates : false
+ };
+ datajs.V4.oData.read(requestUri, success, errorFunc, null, null, metadata);
+ }
+ getMetaData(metaDatasuccess);
+ });
+
$('#btnJSONwithMetaData').on("click", function(){
var oHeaders = {
'Accept': 'text/html,application/xhtml+xml,application/xml,application/json;odata.metadata=full',
http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/d969f47c/datajs/src/lib/cache.js
----------------------------------------------------------------------
diff --git a/datajs/src/lib/cache.js b/datajs/src/lib/cache.js
index 5c74269..78536f2 100644
--- a/datajs/src/lib/cache.js
+++ b/datajs/src/lib/cache.js
@@ -17,11 +17,6 @@
* under the License.
*/
-/* {
- oldname:'cache.js',
- updated:'20140514 12:59'
-}*/
-
var utils = require('./datajs.js').utils;
@@ -45,8 +40,6 @@ var sliceJsonValueArray = utils.sliceJsonValueArray;
var concatJsonValueArray = utils.concatJsonValueArray;
var storeReq = require('./datajs.js').store;
-// CONTENT START
-
var appendPage = function (operation, page) {
/// <summary>Appends a page's data to the operation data.</summary>
/// <param name="operation" type="Object">Operation with (i)ndex, (c)ount and (d)ata.</param>
@@ -1363,7 +1356,5 @@ exports.createDataCache = function (options) {
return new DataCache(options);
};
-// DATAJS INTERNAL START
-//window.datajs.estimateSize = estimateSize;
exports.estimateSize = estimateSize;
-// DATAJS INTERNAL END
+
http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/d969f47c/datajs/src/lib/cache/source.js
----------------------------------------------------------------------
diff --git a/datajs/src/lib/cache/source.js b/datajs/src/lib/cache/source.js
index 579fa25..0f43ac8 100644
--- a/datajs/src/lib/cache/source.js
+++ b/datajs/src/lib/cache/source.js
@@ -17,21 +17,12 @@
* under the License.
*/
-/* {
- oldname:'cache_source.js',
- updated:'20140514 12:59'
-}*/
-
-// cache-source.js
-
var utils = require("./../datajs.js").utils;
var odataRequest = require("./../odata.js");
var parseInt10 = utils.parseInt10;
var normalizeURICase = utils.normalizeURICase;
-// CONTENT START
-
var appendQueryOption = function (uri, queryOption) {
/// <summary>Appends the specified escaped query option to the specified URI.</summary>
/// <param name="uri" type="String">URI to append option to.</param>
@@ -197,9 +188,4 @@ var ODataCacheSource = function (options) {
return that;
};
-// DATAJS INTERNAL START
exports.ODataCacheSource = ODataCacheSource;
-//window.datajs.ODataCacheSource = ODataCacheSource;
-// DATAJS INTERNAL END
-
-// CONTENT END
http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/d969f47c/datajs/src/lib/datajs.js
----------------------------------------------------------------------
diff --git a/datajs/src/lib/datajs.js b/datajs/src/lib/datajs.js
index 7f13d09..88ed102 100644
--- a/datajs/src/lib/datajs.js
+++ b/datajs/src/lib/datajs.js
@@ -17,16 +17,6 @@
* under the License.
*/
-/* {
- oldname:'datajs.js',
- updated:'20140514 12:59'
-}*/
-
-//var utils = require('./lib/utils.js');
-//var xml = require('./lib/xml.js');
-//var deferred = require('./lib/deferred.js');
-//var odata = require('./lib/odata.js');
-
//expose all external usable functions via self.apiFunc = function
exports.version = {
@@ -40,64 +30,3 @@ exports.deferred = require('./datajs/deferred.js');
exports.utils = require('./datajs/utils.js');
exports.xml = require('./datajs/xml.js');
-
-/*
-function extend(target) {
- var sources = [].slice.call(arguments, 1);
- sources.forEach(function (source) {
- for (var prop in source) {
- target[prop] = source[prop];
- }
- });
- return target;
-}
-*/
-
-
-/*
-(function (window, undefined) {
-
- var datajs = window.datajs || {};
- var odata = window.OData || {};
-
- // AMD support
- if (typeof define === 'function' && define.amd) {
- define('datajs', datajs);
- define('OData', odata);
- } else {
- window.datajs = datajs;
- window.OData = odata;
- }
-
- datajs.version = {
- major: 1,
- minor: 1,
- build: 1
- };
-
- // INCLUDE: utils.js
- // INCLUDE: xml.js
-
- // INCLUDE: deferred.js
-
- // INCLUDE: odata-utils.js
- // INCLUDE: odata-net.js
- // INCLUDE: odata-handler.js
- // INCLUDE: odata-gml.js
- // INCLUDE: odata-xml.js
- // INCLUDE: odata-atom.js
- // INCLUDE: odata-metadata.js
- // INCLUDE: odata-json-light.js
- // INCLUDE: odata-json.js
- // INCLUDE: odata-batch.js
- // INCLUDE: odata.js
-
- // INCLUDE: store-dom.js
- // INCLUDE: store-indexeddb.js
- // INCLUDE: store-memory.js
- // INCLUDE: store.js
-
- // INCLUDE: cache-source.js
- // INCLUDE: cache.js
-
-})(this);*/
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/d969f47c/datajs/src/lib/datajs/deferred.js
----------------------------------------------------------------------
diff --git a/datajs/src/lib/datajs/deferred.js b/datajs/src/lib/datajs/deferred.js
index c20d08c..ab9bda3 100644
--- a/datajs/src/lib/datajs/deferred.js
+++ b/datajs/src/lib/datajs/deferred.js
@@ -17,13 +17,6 @@
* under the License.
*/
-/* {
- oldname:'deferred.js',
- updated:'20140514 12:59'
-}*/
-
-// CONTENT START
-
var forwardCall = function (thisValue, name, returnValue) {
/// <summary>Creates a new function to forward a call.</summary>
/// <param name="thisValue" type="Object">Value to use as the 'this' object.</param>
@@ -175,9 +168,6 @@ var createDeferred = function () {
}
};
-// DATAJS INTERNAL START
-//window.datajs.createDeferred = createDeferred;
-//window.datajs.DjsDeferred = DjsDeferred;
exports.createDeferred = createDeferred;
exports.DjsDeferred = DjsDeferred;
-// DATAJS INTERNAL END
+
http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/d969f47c/datajs/src/lib/datajs/utils.js
----------------------------------------------------------------------
diff --git a/datajs/src/lib/datajs/utils.js b/datajs/src/lib/datajs/utils.js
index 639a199..59c2969 100644
--- a/datajs/src/lib/datajs/utils.js
+++ b/datajs/src/lib/datajs/utils.js
@@ -17,11 +17,6 @@
* under the License.
*/
-/* {
- oldname:'utils.js',
- updated:'20140514 12:59'
-}*/
-
var activeXObject = function (progId) {
/// <summary>Creates a new ActiveXObject from the given progId.</summary>
/// <param name="progId" type="String" mayBeNull="false" optional="false">
@@ -527,9 +522,6 @@ var startsWith = function (input, search) {
return input.indexOf(search) == 0;
};
-
-
-// DATAJS INTERNAL START
exports.activeXObject = activeXObject;
exports.assigned = assigned;
exports.contains = contains;
@@ -556,7 +548,4 @@ exports.sliceJsonValueArray = sliceJsonValueArray;
exports.concatJsonValueArray = concatJsonValueArray;
exports.startsWith = startsWith;
exports.endsWith = endsWith;
-
-// DATAJS INTERNAL END
-
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/d969f47c/datajs/src/lib/datajs/xml.js
----------------------------------------------------------------------
diff --git a/datajs/src/lib/datajs/xml.js b/datajs/src/lib/datajs/xml.js
index 68da35b..ca5c899 100644
--- a/datajs/src/lib/datajs/xml.js
+++ b/datajs/src/lib/datajs/xml.js
@@ -17,23 +17,14 @@
* under the License.
*/
-/* {
- oldname:'xml.js',
- updated:'20140514 12:59'
-}*/
-
-
var utils = require('./utils.js');
var activeXObject = utils.activeXObject;
var djsassert = utils.djsassert;
var extend = utils.extend;
var isArray = utils.isArray;
-var isObject = utils.isObject;
var normalizeURI = utils.normalizeURI;
-// CONTENT START
-
// URI prefixes to generate smaller code.
var http = "http://";
var w3org = http + "www.w3.org/"; // http://www.w3.org/
@@ -789,7 +780,6 @@ var xmlSerializeNode = function (domNode) {
throw { message: "XML serialization unsupported" };
};
-// DATAJS INTERNAL START
exports.http = http;
exports.w3org = w3org;
exports.xmlNS = xmlNS;
@@ -824,4 +814,3 @@ exports.xmlQualifiedName = xmlQualifiedName;
exports.xmlSerialize = xmlSerialize;
exports.xmlSerializeDescendants = xmlSerializeDescendants;
exports.xmlSiblingElement = xmlSiblingElement;
-// DATAJS INTERNAL END
http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/d969f47c/datajs/src/lib/odata.js
----------------------------------------------------------------------
diff --git a/datajs/src/lib/odata.js b/datajs/src/lib/odata.js
index fa993e8..0da9108 100644
--- a/datajs/src/lib/odata.js
+++ b/datajs/src/lib/odata.js
@@ -17,13 +17,6 @@
* under the License.
*/
-/* {
- oldname:'odata.js',
- updated:'20140514 12:59'
-}*/
-
-// odata.js
-
// Imports
var odataUtils = exports.utils = require('./odata/utils.js');
var odataHandler = exports.handler = require('./odata/handler.js');
http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/d969f47c/datajs/src/lib/odata/gml.js
----------------------------------------------------------------------
diff --git a/datajs/src/lib/odata/gml.js b/datajs/src/lib/odata/gml.js
index 62e8468..b5ec698 100644
--- a/datajs/src/lib/odata/gml.js
+++ b/datajs/src/lib/odata/gml.js
@@ -17,18 +17,11 @@
* under the License.
*/
-/* {
- oldname:'odata-gml.js',
- updated:'20140514 12:59'
-}*/
-
var utils = require('./../datajs.js').utils;
var xml = require('./../datajs.js').xml;
var odataUtils = require('./utils.js');
-
-
var contains = utils.contains;
var djsassert = utils.djsassert;
var http = utils.http;
@@ -832,9 +825,6 @@ var gmlNewODataGeometryCollection = function (dom, value, isGeography) {
return gmlNewODataMultiItem(dom, "MultiGeometry", "geometryMembers", value.geometries, gmlNewODataGeometryCollectionItem, isGeography);
};
-// DATAJS INTERNAL START
exports.gmlNewODataSpatialValue = gmlNewODataSpatialValue;
exports.gmlReadODataSpatialValue = gmlReadODataSpatialValue;
exports.gmlXmlNs = gmlXmlNs;
-// DATAJS INTERNAL END
-
http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/d969f47c/datajs/src/lib/odata/handler.js
----------------------------------------------------------------------
diff --git a/datajs/src/lib/odata/handler.js b/datajs/src/lib/odata/handler.js
index 8251198..58d0d81 100644
--- a/datajs/src/lib/odata/handler.js
+++ b/datajs/src/lib/odata/handler.js
@@ -17,12 +17,6 @@
* under the License.
*/
-/* {
- oldname:'odata-handler.js',
- updated:'20140514 12:59'
-}*/
-
-
var utils = require('./../datajs.js').utils;
var oDataUtils = require('./utils.js');
@@ -34,7 +28,6 @@ var trimString = utils.trimString;
var maxVersion = oDataUtils.maxVersion;
-// CONTENT START
var MAX_DATA_SERVICE_VERSION = "4.0";
@@ -269,7 +262,6 @@ var textSerialize = function (handler, data /*, context */) {
exports.textHandler = handler(textParse, textSerialize, "text/plain", MAX_DATA_SERVICE_VERSION);
-// DATAJS INTERNAL START
exports.contentType = contentType;
exports.contentTypeToString = contentTypeToString;
exports.handler = handler;
@@ -279,4 +271,3 @@ exports.getRequestOrResponseHeader = getRequestOrResponseHeader;
exports.getContentType = getContentType;
exports.getDataServiceVersion = getDataServiceVersion;
exports.MAX_DATA_SERVICE_VERSION = MAX_DATA_SERVICE_VERSION;
-// DATAJS INTERNAL END
http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/d969f47c/datajs/src/lib/odata/json.js
----------------------------------------------------------------------
diff --git a/datajs/src/lib/odata/json.js b/datajs/src/lib/odata/json.js
index 91f6d47..322078a 100644
--- a/datajs/src/lib/odata/json.js
+++ b/datajs/src/lib/odata/json.js
@@ -1,4 +1,4 @@
-/*
+/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -17,14 +17,9 @@
* under the License.
*/
-/* {
- oldname:'odata-json.js',
- updated:'20140514 12:59'
-}*/
-
-var utils = require('./../datajs.js').utils;
-var oDataUtils = require('./utils.js');
-var oDataHandler = require('./handler.js');
+var utils = require('./../datajs.js').utils;
+var oDataUtils = require('./utils.js');
+var oDataHandler = require('./handler.js');
var odataNs = "odata";
var odataAnnotationPrefix = odataNs + ".";
@@ -32,14 +27,12 @@ var contextUrlAnnotation = "@" + odataAnnotationPrefix + "context";
var assigned = utils.assigned;
var defined = utils.defined;
-var extend = utils.extend;
var isArray = utils.isArray;
-var isDate = utils.isDate;
+//var isDate = utils.isDate;
var isObject = utils.isObject;
-var normalizeURI = utils.normalizeURI;
+//var normalizeURI = utils.normalizeURI;
var parseInt10 = utils.parseInt10;
-var contentType = oDataUtils.contentType;
var formatDateTimeOffset = oDataUtils.formatDateTimeOffset;
var formatDuration = oDataUtils.formatDuration;
var formatJsonLight = oDataUtils.formatJsonLight;
@@ -57,12 +50,10 @@ var lookupProperty = oDataUtils.lookupProperty;
var MAX_DATA_SERVICE_VERSION = oDataUtils.MAX_DATA_SERVICE_VERSION;
var maxVersion = oDataUtils.maxVersion;
var parseDateTime = oDataUtils.parseDateTime;
-var parseDuration = oDataUtils.parseDuration;
-var parseTimezone = oDataUtils.parseTimezone;
-var payloadTypeOf = oDataUtils.payloadTypeOf;
-var traverse = oDataUtils.traverse;
-
-// CONTENT START
+//var parseDuration = oDataUtils.parseDuration;
+//var parseTimezone = oDataUtils.parseTimezone;
+//var payloadTypeOf = oDataUtils.payloadTypeOf;
+//var traverse = oDataUtils.traverse;
var PAYLOADTYPE_FEED = "f";
var PAYLOADTYPE_ENTRY = "e";
@@ -204,9 +195,7 @@ var jsonParser = function (handler, text, context) {
return extendMetadataFromPayload(json,context,recognizeDates);
} else if (payloadFormat === 1) { //minmal
if (!utils.isArray(model)) { // array was default for model in datajsV3 3.0
- //TODO use metadata in context to determine which properties need to be converted
- // and extend the metadata
- return extendMetadataFromContext(json,context,model,demandedFormat, recognizeDates);
+ return readPayloadMinimal(json, model, demandedFormat,recognizeDates);
} else {
//error metadata in context required, TODO: throw a to be defined exception
}
@@ -217,10 +206,6 @@ var jsonParser = function (handler, text, context) {
}
};
-var extendMetadataFromContext = function(json,context, model,demandedFormat,recognizeDates) {
- return jsonLightReadPayload(json, model, demandedFormat,recognizeDates, false, context.contentType.properties['odata.metadata']);
-};
-
var convertPrimitivetypesOnMetadataFull = function(data) {
/// <summary>Converts some primitive data types in payload</summary>
/// <param name="data">Date which will be extendet</param>
@@ -603,7 +588,7 @@ var parseContextUriFragment = function( fragments, model ) {
return ret;
};
-var jsonLightPayloadInfo = function (data, model) {
+var createPayloadInfo = function (data, model) {
/// <summary>Infers the information describing the JSON light payload from its metadata annotation, structure, and data model.</summary>
/// <param name="data" type="Object">Json light response payload object.</param>
/// <param name="model" type="Object">Object describing an OData conceptual schema.</param>
@@ -631,44 +616,30 @@ var jsonLightPayloadInfo = function (data, model) {
return parseContextUriFragment(fragment,model);
};
-var jsonLightReadPayload = function (data, model, demandedFormat,recognizeDates, inferFeedAsComplexType, contentTypeOdata) {
- /// <summary>Converts a JSON light response payload object into its library's internal representation.</summary>
- /// <param name="data" type="Object">Json light response payload object.</param>
- /// <param name="model" type="Object">Object describing an OData conceptual schema.</param>
- /// <param name="recognizeDates" type="Boolean" optional="true">Flag indicating whether datetime literal strings should be converted to JavaScript Date objects.</param>
- /// <param name="inferFeedAsComplexType" type="Boolean">True if a JSON light payload that looks like a feed should be reported as a complex type property instead.</param>
- /// <param name="contentTypeOdata" type="string">Includes the type of json ( minimalmetadata, fullmetadata .. etc )</param>
+var readPayloadMinimal = function (data, model, demandedFormat,recognizeDates) {
+ /// <summary>Processe a JSON response payload with metadata-minimal</summary>
+ /// <param name="data" type="Object">Json response payload object</param>
+ /// <param name="model" type="Object">Object describing an OData conceptual schema</param>
+ /// <param name="demandedFormat" type="Number">2=extend to metedata-full, 3=extend to metadata-all</param>
+ /// <param name="recognizeDates" type="Boolean">Flag indicating whether datetime literal strings should be converted to JavaScript Date objects.</param>
/// <returns type="Object">Object in the library's representation.</returns>
- if (!isComplex(data)) {
- return data;
- }
-
- contentTypeOdata = contentTypeOdata || "minimal";
var baseURI = data[contextUrlAnnotation];
- var payloadInfo = jsonLightPayloadInfo(data, model, inferFeedAsComplexType);
- if (assigned(payloadInfo)) {
- payloadInfo.contentTypeOdata = contentTypeOdata;
- }
- var typeName = null;
- if (payloadInfo) {
- delete data[contextUrlAnnotation];
-
- typeName = payloadInfo.type;
- switch (payloadInfo.detectedPayloadKind) {
- case PAYLOADTYPE_FEED:
- return jsonLightReadFeed(data, payloadInfo, baseURI, model, demandedFormat,recognizeDates);
- case PAYLOADTYPE_COLLECTION:
- return jsonLightReadTopCollectionProperty(data, typeName, baseURI, model, recognizeDates);
- case PAYLOADTYPE_PRIMITIVE:
- return jsonLightReadTopPrimitiveProperty(data, typeName, baseURI, recognizeDates);
- case PAYLOADTYPE_SVCDOC:
- return jsonLightReadSvcDocument(data, baseURI);
- case PAYLOADTYPE_LINKS:
- return jsonLightReadLinksDocument(data, baseURI);
- }
- }
- return jsonLightReadObject(data, payloadInfo, baseURI, model, recognizeDates);
+ var payloadInfo = createPayloadInfo(data, model);
+
+ switch (payloadInfo.detectedPayloadKind) {
+ case PAYLOADTYPE_FEED:
+ return readPayloadMinimalFeed(data, model,payloadInfo, baseURI, demandedFormat,recognizeDates);
+ case PAYLOADTYPE_COLLECTION:
+ return jsonLightReadTopCollectionProperty(data, payloadInfo.type, baseURI, model, recognizeDates);
+ case PAYLOADTYPE_PRIMITIVE:
+ return jsonLightReadTopPrimitiveProperty(data, payloadInfo.type, baseURI, recognizeDates);
+ case PAYLOADTYPE_SVCDOC:
+ return jsonLightReadSvcDocument(data, baseURI);
+ case PAYLOADTYPE_LINKS:
+ return jsonLightReadLinksDocument(data, baseURI);
+ }
+ return;
};
var jsonLightGetEntryKey = function (data, entityModel) {
@@ -700,16 +671,13 @@ var jsonLightGetEntryKey = function (data, entityModel) {
return entityInstanceKey;
};
-
-
-var jsonLightReadFeed = function (data, feedInfo, baseURI, model, demandedFormat,recognizeDates) {
+var readPayloadMinimalFeed = function (data, model,feedInfo, baseURI, demandedFormat, recognizeDates) {
var entries = [];
var items = data.value;
for (i = 0, len = items.length; i < len; i++) {
- //TODO SK check if items[i] has @odata.type and use this type instead of feedinfo
-
- if ( items[i]['@odata.type'] !== undefined) {
- var typeName = items[i]['@odata.type'].substring(1);
+ var item = items[i];
+ if ( defined(item['@odata.type'])) { // in case of mixed feeds
+ var typeName = item['@odata.type'].substring(1);
var type = lookupEntityType( typeName, model);
var entryInfo = {
contentTypeOdata : feedInfo.contentTypeOdata,
@@ -719,9 +687,9 @@ var jsonLightReadFeed = function (data, feedInfo, baseURI, model, demandedFormat
typeName : typeName
};
- entry = jsonLightReadObject(items[i], entryInfo, baseURI, model, demandedFormat,recognizeDates);
+ entry = readPayloadMinimalObject(item, entryInfo, baseURI, model, demandedFormat,recognizeDates);
} else {
- entry = jsonLightReadObject(items[i], feedInfo, baseURI, model, demandedFormat,recognizeDates);
+ entry = readPayloadMinimalObject(item, feedInfo, baseURI, model, demandedFormat,recognizeDates);
}
entries.push(entry);
@@ -817,10 +785,10 @@ var checkProperties = function(data,objectInfoType,baseURI,model, demandedFormat
if ( isArray(propertyValue)) {
data[name+'@odata.type'] = '#' + property.type;
for ( var i = 0; i < propertyValue.length; i++) {
- jsonLightReadComplexObject(propertyValue[0], property,baseURI,model,demandedFormat, recognizeDates);
+ readPayloadMinimalComplexObject(propertyValue[0], property,baseURI,model,demandedFormat, recognizeDates);
}
} else if (isObject(propertyValue) && (propertyValue !== null)) {
- jsonLightReadComplexObject(propertyValue, property,baseURI,model,demandedFormat, recognizeDates);
+ readPayloadMinimalComplexObject(propertyValue, property,baseURI,model,demandedFormat, recognizeDates);
} else {
if (demandedFormat === 3) {
data[name+'@odata.type'] = '#' + property.type;
@@ -838,7 +806,7 @@ var checkProperties = function(data,objectInfoType,baseURI,model, demandedFormat
}
};
-var jsonLightReadComplexObject = function (data, property, baseURI, model, demandedFormat, recognizeDates) {
+var readPayloadMinimalComplexObject = function (data, property, baseURI, model, demandedFormat, recognizeDates) {
var type = property.type;
if (isCollectionType(property.type)) {
type =property.type.substring(11,property.type.length-1);
@@ -854,13 +822,11 @@ var jsonLightReadComplexObject = function (data, property, baseURI, model, deman
checkProperties(data,propertyType ,baseURI,model, demandedFormat, recognizeDates);
};
-var jsonLightReadObject = function (data, objectInfo, baseURI, model, demandedFormat, recognizeDates) {
- //var obj = {};
-
+var readPayloadMinimalObject = function (data, objectInfo, baseURI, model, demandedFormat, recognizeDates) {
data['@odata.type'] = '#'+objectInfo.typeName;
var keyType = objectInfo.type;
- while (( keyType.key === undefined) && (keyType.baseType !== undefined)) {
+ while ((defined(keyType)) && ( keyType.key === undefined) && (keyType.baseType !== undefined)) {
keyType = lookupEntityType(keyType.baseType, model);
}
@@ -888,6 +854,3 @@ exports.jsonParser = jsonParser;
exports.jsonSerializer = jsonSerializer;
exports.parseJsonDateString = parseJsonDateString;
-exports.jsonLightPayloadInfo = jsonLightPayloadInfo;
-
-
http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/d969f47c/datajs/src/lib/odata/metadata.js
----------------------------------------------------------------------
diff --git a/datajs/src/lib/odata/metadata.js b/datajs/src/lib/odata/metadata.js
index 5ead579..a29db29 100644
--- a/datajs/src/lib/odata/metadata.js
+++ b/datajs/src/lib/odata/metadata.js
@@ -17,10 +17,6 @@
* under the License.
*/
-/* {
- oldname:'odata-metadata.js',
- updated:'20140514 12:59'
-}*/
var utils = require('./../datajs.js').utils;
var oDataXML = require('./xml.js');
@@ -28,7 +24,6 @@ var oDSxml = require('./../datajs.js').xml;
var odataHandler = require('./handler.js');
// imports
-
var contains = utils.contains;
var normalizeURI = utils.normalizeURI;
var xmlAttributes = oDSxml.xmlAttributes;
@@ -50,8 +45,6 @@ var odataMetaXmlNs = oDataXML.odataMetaXmlNs;
var xmlMediaType = "application/xml";
-// CONTENT START
-
var schemaElement = function (attributes, elements, text, ns) {
/// <summary>Creates an object that describes an element in an schema.</summary>
/// <param name="attributes" type="Array">List containing the names of the attributes allowed for this element.</param>
@@ -515,10 +508,8 @@ var metadataParser = function (handler, text) {
exports.metadataHandler = odataHandler.handler(metadataParser, null, xmlMediaType, MAX_DATA_SERVICE_VERSION);
-// DATAJS INTERNAL START
exports.schema = schema;
exports.scriptCase = scriptCase;
exports.getChildSchema = getChildSchema;
exports.parseConceptualModelElement = parseConceptualModelElement;
exports.metadataParser = metadataParser;
-// DATAJS INTERNAL END
http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/d969f47c/datajs/src/lib/odata/net.js
----------------------------------------------------------------------
diff --git a/datajs/src/lib/odata/net.js b/datajs/src/lib/odata/net.js
index b2ebaef..759d56e 100644
--- a/datajs/src/lib/odata/net.js
+++ b/datajs/src/lib/odata/net.js
@@ -17,18 +17,12 @@
* under the License.
*/
-/* {
- oldname:'odata-net.js',
- updated:'20140514 12:59'
-}*/
-
var utils = require('./../datajs.js').utils;
- // Imports.
+// Imports.
var defined = utils.defined;
var delay = utils.delay;
-// CONTENT START
var ticks = 0;
var canUseJSONP = function (request) {
@@ -327,8 +321,7 @@ exports.defaultHttpClient = {
}
};
-// DATAJS INTERNAL START
exports.canUseJSONP = canUseJSONP;
exports.isAbsoluteUrl = isAbsoluteUrl;
exports.isLocalUrl = isLocalUrl;
-// DATAJS INTERNAL END
+
http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/d969f47c/datajs/src/lib/odata/utils.js
----------------------------------------------------------------------
diff --git a/datajs/src/lib/odata/utils.js b/datajs/src/lib/odata/utils.js
index e99b2c1..f292621 100644
--- a/datajs/src/lib/odata/utils.js
+++ b/datajs/src/lib/odata/utils.js
@@ -17,11 +17,6 @@
* under the License.
*/
-/* {
- oldname:'odata-utils.js',
- updated:'20140514 12:59'
-}*/
-
var utils = require('./../datajs.js').utils;
// Imports
@@ -33,8 +28,6 @@ var isDate = utils.isDate;
var isObject = utils.isObject;
var parseInt10 = utils.parseInt10;
-// CONTENT START
-
var dataItemTypeName = function (value, metadata) {
/// <summary>Gets the type name of a data item value that belongs to a feed, an entry, a complex type property, or a collection property.</summary>
/// <param name="value">Value of the data item from which the type name is going to be retrieved.</param>
@@ -1073,7 +1066,6 @@ var traverse = function (item, callback) {
return callback("", traverseInternal(item, "", callback));
};
-// DATAJS INTERNAL START
exports.dataItemTypeName = dataItemTypeName;
exports.EDM_BINARY = EDM_BINARY;
exports.EDM_BOOLEAN = EDM_BOOLEAN;
@@ -1159,5 +1151,4 @@ exports.parseInt10 = parseInt10;
exports.prepareRequest = prepareRequest;
exports.removeNamespace = removeNamespace;
exports.traverse = traverse;
-// DATAJS INTERNAL END
http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/d969f47c/datajs/src/lib/odata/xml.js
----------------------------------------------------------------------
diff --git a/datajs/src/lib/odata/xml.js b/datajs/src/lib/odata/xml.js
index dd9b9c2..b0f2694 100644
--- a/datajs/src/lib/odata/xml.js
+++ b/datajs/src/lib/odata/xml.js
@@ -17,11 +17,6 @@
* under the License.
*/
-/* {
- oldname:'odata-xml.js',
- updated:'20140514 12:59'
-}*/
-
var xml = require('./../datajs.js').xml;
var utils = require('./../datajs.js').utils;
var odata_utils = require('./utils.js');
@@ -826,7 +821,6 @@ var xmlSerializer = function (handler, data, context) {
exports.xmlHandler = odataHandler.handler(xmlParser, xmlSerializer, xmlMediaType, MAX_DATA_SERVICE_VERSION);
-// DATAJS INTERNAL START
exports.adoDs = adoDs;
exports.createAttributeExtension = createAttributeExtension;
exports.createElementExtension = createElementExtension;
@@ -845,4 +839,3 @@ exports.xmlNewODataMetaElement = xmlNewODataMetaElement;
exports.xmlNewODataDataElement = xmlNewODataDataElement;
exports.xmlReadODataEdmPropertyValue = xmlReadODataEdmPropertyValue;
exports.xmlReadODataProperty = xmlReadODataProperty;
-// DATAJS INTERNAL END
http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/d969f47c/datajs/src/lib/store.js
----------------------------------------------------------------------
diff --git a/datajs/src/lib/store.js b/datajs/src/lib/store.js
index f7f64a3..f943d3a 100644
--- a/datajs/src/lib/store.js
+++ b/datajs/src/lib/store.js
@@ -17,17 +17,10 @@
* under the License.
*/
-/* {
- oldname:'store.js',
- updated:'20140514 12:59'
-}*/
-
exports.DomStore = DomStore = require('./store/dom.js');
exports.IndexedDBStore = IndexedDBStore = require('./store/indexeddb.js');
exports.MemoryStore = MemoryStore = require('./store/memory.js');
-// CONTENT START
-
var mechanisms = {
indexeddb: IndexedDBStore,
dom: DomStore,
@@ -58,7 +51,6 @@ exports.createStore = function (name, mechanism) {
throw { message: "Failed to create store", name: name, mechanism: mechanism };
};
-// DATAJS INTERNAL START
exports.mechanisms = mechanisms;
-// DATAJS INTERNAL END
+
http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/d969f47c/datajs/src/lib/store/dom.js
----------------------------------------------------------------------
diff --git a/datajs/src/lib/store/dom.js b/datajs/src/lib/store/dom.js
index 60e4656..13b7e1e 100644
--- a/datajs/src/lib/store/dom.js
+++ b/datajs/src/lib/store/dom.js
@@ -17,19 +17,12 @@
* under the License.
*/
-/* {
- oldname:'store-dom.js',
- updated:'20140514 12:59'
-}*/
-
var utils = require('./../datajs.js').utils;
// Imports.
var throwErrorCallback = utils.throwErrorCallback;
var delay = utils.delay;
-// CONTENT START
-
var localStorage = null;
var domStoreDateToJSON = function () {
@@ -319,6 +312,4 @@ DomStore.prototype.update = function (key, value, success, error) {
}, error);
};
-// DATAJS INTERNAL START
module.exports = DomStore;
-// DATAJS INTERNAL END
http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/d969f47c/datajs/src/lib/store/indexeddb.js
----------------------------------------------------------------------
diff --git a/datajs/src/lib/store/indexeddb.js b/datajs/src/lib/store/indexeddb.js
index 0945d99..f71b62e 100644
--- a/datajs/src/lib/store/indexeddb.js
+++ b/datajs/src/lib/store/indexeddb.js
@@ -17,11 +17,6 @@
* under the License.
*/
-/* {
- oldname:'store-indexeddb.js',
- updated:'20140514 12:59'
-}*/
-
var utils = require('./../datajs.js').utils;
@@ -29,8 +24,6 @@ var utils = require('./../datajs.js').utils;
var throwErrorCallback = utils.throwErrorCallback;
var delay = utils.delay;
-// CONTENT START
-
var indexedDB = window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB || window.indexedDB;
var IDBKeyRange = window.IDBKeyRange || window.webkitIDBKeyRange;
var IDBTransaction = window.IDBTransaction || window.webkitIDBTransaction || {};
@@ -417,8 +410,4 @@ IndexedDBStore.prototype.update = function (key, value, success, error) {
}, error);
};
-// DATAJS INTERNAL START
module.exports = IndexedDBStore;
-// DATAJS INTERNAL END
-
-// CONTENT END
http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/d969f47c/datajs/src/lib/store/memory.js
----------------------------------------------------------------------
diff --git a/datajs/src/lib/store/memory.js b/datajs/src/lib/store/memory.js
index 7c31eb3..464cdec 100644
--- a/datajs/src/lib/store/memory.js
+++ b/datajs/src/lib/store/memory.js
@@ -17,13 +17,6 @@
* under the License.
*/
-/* {
- oldname:'store-memory.js',
- updated:'20140514 12:59'
-}*/
-
-
-
var utils = require('./../datajs.js').utils;
@@ -31,8 +24,6 @@ var utils = require('./../datajs.js').utils;
var throwErrorCallback = utils.throwErrorCallback;
var delay = utils.delay;
-// CONTENT START
-
var MemoryStore = function (name) {
/// <summary>Constructor for store objects that use a sorted array as the underlying mechanism.</summary>
/// <param name="name" type="String">Store name.</param>
@@ -233,8 +224,4 @@ MemoryStore.prototype.defaultError = throwErrorCallback;
/// <summary>Identifies the underlying mechanism used by the store.</summary>
MemoryStore.prototype.mechanism = "memory";
-// DATAJS INTERNAL START
module.exports = MemoryStore;
-// DATAJS INTERNAL END
-
- // CONTENT END