Repository: olingo-odata4-js Updated Branches: refs/heads/OLINGO-324 108704a95 -> fb0fb593e
[OLINGO-238] better test 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/fb0fb593 Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/tree/fb0fb593 Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/diff/fb0fb593 Branch: refs/heads/OLINGO-324 Commit: fb0fb593ebfe255e17c0e03570b16eb0e124395c Parents: 108704a Author: Sven Kobler <[email protected]> Authored: Tue Jun 17 16:01:58 2014 +0200 Committer: Sven Kobler <[email protected]> Committed: Tue Jun 17 16:01:58 2014 +0200 ---------------------------------------------------------------------- datajs/demo/tester.html | 34 ++++++++++++++++++++++++++------- datajs/demo/testerV2.html | 2 +- datajs/src/lib/odata/json-light.js | 19 +++++++++++++++--- datajs/src/lib/odata/json.js | 3 ++- datajs/src/lib/odata/utils.js | 3 --- 5 files changed, 46 insertions(+), 15 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/fb0fb593/datajs/demo/tester.html ---------------------------------------------------------------------- diff --git a/datajs/demo/tester.html b/datajs/demo/tester.html index 329846d..201920d 100644 --- a/datajs/demo/tester.html +++ b/datajs/demo/tester.html @@ -29,11 +29,13 @@ </head> <body> <button id="startXML">XML</button><br/> - <button id="startJSON">JSON</button><br/> + <button id="btnJSON_none">JSON odata.metadata=none</button><br/> + <button id="btnJSON_minimal">JSON odata.metadata=minimal</button><br/> + <button id="btnJSON_full">JSON odata.metadata=full</button><br/> <button id="btnMetaData">MetaData</button><br/> <button id="btnJSONwithMetaData">JSON with MetaData</button><br/> - <code id='resultsArea' data-type="json"> - </code> + <div id='resultsArea' data-type="json"> + </div> <script type='text/html' id='template'> {{#items}} <p><a href="{{id}}">{{name}}</a></p> @@ -42,8 +44,10 @@ <script> function show(data) { $('#resultsArea').empty(); - $('#resultsArea').text(JSON.stringify(data)) + var code = $('<code data-type="json"></code>').text(JSON.stringify(data)) + $('#resultsArea').append(code); $('code[data-type]').prettify(); + //$('#resultsArea').prettify(); } function success(data) { show(data); @@ -59,9 +63,25 @@ var requestUri ='http://localhost:4003/sap/bc/ds/odata/v4/ESMixPrimCollComp?$format=xml'; OData.read(requestUri, success, errorFunc); }); - $('#startJSON').on("click", function(){ - var requestUri = 'http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods'; - //var requestUri ='http://localhost:4003/sap/bc/ds/odata/v4/ESMixPrimCollComp?$format=json'; + $('#btnJSON_none').on("click", function(){ + var requestUri = { + requestUri : 'http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods', + headers : { Accept : 'application/json;odata.metadata=none' } + }; + OData.read(requestUri, success, errorFunc); + }); + $('#btnJSON_minimal').on("click", function(){ + var requestUri = { + requestUri : 'http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods', + headers : { Accept : 'application/json;odata.metadata=minimal' } + }; + OData.read(requestUri, success, errorFunc); + }); + $('#btnJSON_full').on("click", function(){ + var requestUri = { + requestUri : 'http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods', + headers : { Accept : 'application/json;odata.metadata=full' } + }; OData.read(requestUri, success, errorFunc); }); http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/fb0fb593/datajs/demo/testerV2.html ---------------------------------------------------------------------- diff --git a/datajs/demo/testerV2.html b/datajs/demo/testerV2.html index cc2d011..a480f8f 100644 --- a/datajs/demo/testerV2.html +++ b/datajs/demo/testerV2.html @@ -3,7 +3,7 @@ <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> <title>datajs startup perf test</title> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> - <script type="text/javascript" src="./scripts/datajs-2.0.0.js"></script> + <script type="text/javascript" src="./scripts/datajs-1.1.2.js"></script> <script type="text/javascript" src="./scripts/tools.js" ></script> <style type="text/css"> .code{font-family:"Courier New",monospace;font-size:13px;line-height:18px;} http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/fb0fb593/datajs/src/lib/odata/json-light.js ---------------------------------------------------------------------- diff --git a/datajs/src/lib/odata/json-light.js b/datajs/src/lib/odata/json-light.js index 1450c23..9c4c079 100644 --- a/datajs/src/lib/odata/json-light.js +++ b/datajs/src/lib/odata/json-light.js @@ -414,7 +414,7 @@ var jsonLightReadDataItemValue = function (value, typeName, dataItemMetadata, ba return jsonLightReadComplexPropertyValue(value, typeName, dataItemMetadata, baseURI, model, recognizeDates); } } - return value; + return value + typeName; }; var jsonLightReadStringPropertyValue = function (value, propertyType, recognizeDates) { @@ -665,7 +665,7 @@ var jsonLightReadFeed = function (data, feedInfo, baseURI, model, recognizeDates /// <param name="model" type="Object" optional="true">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> /// <returns type="Object">Feed or top level collection object.</param> - /**/ + var items = isArray(data) ? data : data.value; var entries = []; var i, len, entry; @@ -1286,6 +1286,11 @@ var formatJsonLightData = function (obj, pMetadata, data, isLinks) { } }; +var MyDateTime = function(value) { + this.value = value; +} +MyDateTime.prototype.getAsDateObject = function () { return { value : this.value }}; + var formatJsonLightProperty = function (name, value, pMetadata, data) { /// <summary>Formats an object's value identified by name to its json light representation and saves it to data.</summary> /// <param name="name" type="String">Property name.</param> @@ -1300,7 +1305,15 @@ var formatJsonLightProperty = function (name, value, pMetadata, data) { if (isPrimitive(value) || !value) { // It is a primitive value then. formatJsonLightAnnotation(typeAnnotation, name, typeName, data); - data[name] = value; + + /*TODO*//*check the typename here*/ + if ( typeName === 'Edm.DateTime') { + data[name] = new MyDateTime(value); + } else if ( typeName === 'Edm.DateTimeOffset') { + data[name] = new MyDateTime(value); + } else { + data[name] = value; + } return; } http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/fb0fb593/datajs/src/lib/odata/json.js ---------------------------------------------------------------------- diff --git a/datajs/src/lib/odata/json.js b/datajs/src/lib/odata/json.js index d90225a..b273328 100644 --- a/datajs/src/lib/odata/json.js +++ b/datajs/src/lib/odata/json.js @@ -250,8 +250,9 @@ var jsonParser = function (handler, text, context) { var dataServiceVersion = context.dataServiceVersion; var json = (typeof text === "string") ? JSON.parse(text) : text; - + var format = context.formatQueryString; if (utils.isArray(context.metadata)) { + return json; } else { return jsonLightReadPayload(json, model, recognizeDates, inferJsonLightFeedAsObject, context.contentType.properties['odata.metadata']); http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/fb0fb593/datajs/src/lib/odata/utils.js ---------------------------------------------------------------------- diff --git a/datajs/src/lib/odata/utils.js b/datajs/src/lib/odata/utils.js index 40e014a..552fb77 100644 --- a/datajs/src/lib/odata/utils.js +++ b/datajs/src/lib/odata/utils.js @@ -567,9 +567,6 @@ var lookupDefaultEntityContainer = function (metadata) { if (isObject(schema.entityContainer)) { return schema.entityContainer; } - return find(schema.entityContainer, function (container) { //TODO check if in V4 there is only 1 entitycontainer - return parseBool(container.isDefaultEntityContainer); - }); }); };
