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);
-        });
     });
 };
 

Reply via email to