You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by bu...@apache.org on 2015/09/17 10:32:31 UTC

svn commit: r965730 - in /websites/staging/olingo/trunk/content: ./ doc/odata4/tutorials/read/tutorial_read.html

Author: buildbot
Date: Thu Sep 17 08:32:30 2015
New Revision: 965730

Log:
Staging update by buildbot for olingo

Modified:
    websites/staging/olingo/trunk/content/   (props changed)
    websites/staging/olingo/trunk/content/doc/odata4/tutorials/read/tutorial_read.html

Propchange: websites/staging/olingo/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Thu Sep 17 08:32:30 2015
@@ -1 +1 @@
-1703236
+1703520

Modified: websites/staging/olingo/trunk/content/doc/odata4/tutorials/read/tutorial_read.html
==============================================================================
--- websites/staging/olingo/trunk/content/doc/odata4/tutorials/read/tutorial_read.html (original)
+++ websites/staging/olingo/trunk/content/doc/odata4/tutorials/read/tutorial_read.html Thu Sep 17 08:32:30 2015
@@ -714,32 +714,62 @@ Because the <code>readEntityCollection(.
 <p>We have not elaborated on fetching the actual data.
 In our tutorial, to keep the code as simple as possible, we use a little helper method that delivers some hardcoded entries.
 Since we are supposed to deliver the data inside an <code>EntityCollection</code> instance, we create the instance, ask it for the (initially empty) list of entities and add some new entities to it.
-We create the entities and their properties according to what we declared in our <code>DemoEdmProvider</code> class. So we have to take care to provide the correct names to the new property objects.</p>
-<div class="codehilite"><pre><span class="kd">private</span> <span class="n">EntityCollection</span> <span class="nf">getData</span><span class="o">(</span><span class="n">EdmEntitySet</span> <span class="n">edmEntitySet</span><span class="o">){</span>
+We create the entities and their properties according to what we declared in our <code>DemoEdmProvider</code> class. So we have to take care to provide the correct names to the new property objects.
+If a client requests the response in <a href="http://docs.oasis-open.org/odata/odata-atom-format/v4.0/odata-atom-format-v4.0.html">ATOM format</a>, each entity have to provide it`s own entity id. 
+The method <em>createId</em> allows us to create an id in a convenient way.</p>
+<div class="codehilite"><pre>
+</pre></div>
+
+
+<p>/*<em> <br />
+    * Helper method for providing some sample data <br />
+    * @param edmEntitySet for which the data is requested  <br />
+    * @return data of requested entity set <br />
+</em>/ <br />
+   private EntityCollection getData(EdmEntitySet edmEntitySet){</p>
+<div class="codehilite"><pre>   <span class="n">EntityCollection</span> <span class="n">productsCollection</span> <span class="p">=</span> <span class="n">new</span> <span class="n">EntityCollection</span><span class="p">();</span>
+   <span class="o">//</span> <span class="n">check</span> <span class="k">for</span> <span class="n">which</span> <span class="n">EdmEntitySet</span> <span class="n">the</span> <span class="n">data</span> <span class="n">is</span> <span class="n">requested</span>
+   <span class="k">if</span><span class="p">(</span><span class="n">DemoEdmProvider</span><span class="p">.</span><span class="n">ES_PRODUCTS_NAME</span><span class="p">.</span><span class="n">equals</span><span class="p">(</span><span class="n">edmEntitySet</span><span class="p">.</span><span class="n">getName</span><span class="p">()))</span> <span class="p">{</span>
+       <span class="n">List</span><span class="o">&lt;</span><span class="n">Entity</span><span class="o">&gt;</span> <span class="n">productList</span> <span class="p">=</span> <span class="n">productsCollection</span><span class="p">.</span><span class="n">getEntities</span><span class="p">();</span>
+
+       <span class="o">//</span> <span class="n">add</span> <span class="n">some</span> <span class="n">sample</span> <span class="n">product</span> <span class="n">entities</span>
+       <span class="n">final</span> <span class="n">Entity</span> <span class="n">e1</span> <span class="p">=</span> <span class="n">new</span> <span class="n">Entity</span><span class="p">()</span>
+          <span class="p">.</span><span class="n">addProperty</span><span class="p">(</span><span class="n">new</span> <span class="n">Property</span><span class="p">(</span><span class="n">null</span><span class="p">,</span> &quot;<span class="n">ID</span>&quot;<span class="p">,</span> <span class="n">ValueType</span><span class="p">.</span><span class="n">PRIMITIVE</span><span class="p">,</span> 1<span class="p">))</span>
+          <span class="p">.</span><span class="n">addProperty</span><span class="p">(</span><span class="n">new</span> <span class="n">Property</span><span class="p">(</span><span class="n">null</span><span class="p">,</span> &quot;<span class="n">Name</span>&quot;<span class="p">,</span> <span class="n">ValueType</span><span class="p">.</span><span class="n">PRIMITIVE</span><span class="p">,</span> &quot;<span class="n">Notebook</span> <span class="n">Basic</span> 15&quot;<span class="p">))</span>
+          <span class="p">.</span><span class="n">addProperty</span><span class="p">(</span><span class="n">new</span> <span class="n">Property</span><span class="p">(</span><span class="n">null</span><span class="p">,</span> &quot;<span class="n">Description</span>&quot;<span class="p">,</span> <span class="n">ValueType</span><span class="p">.</span><span class="n">PRIMITIVE</span><span class="p">,</span>
+              &quot;<span class="n">Notebook</span> <span class="n">Basic</span><span class="p">,</span> 1<span class="p">.</span>7<span class="n">GHz</span> <span class="o">-</span> 15 <span class="n">XGA</span> <span class="o">-</span> 1024<span class="n">MB</span> <span class="n">DDR2</span> <span class="n">SDRAM</span> <span class="o">-</span> 40<span class="n">GB</span>&quot;<span class="p">));</span>
+      <span class="n">e1</span><span class="p">.</span><span class="n">setId</span><span class="p">(</span><span class="n">createId</span><span class="p">(</span>&quot;<span class="n">Products</span>&quot;<span class="p">,</span> 1<span class="p">));</span>
+      <span class="n">productList</span><span class="p">.</span><span class="n">add</span><span class="p">(</span><span class="n">e1</span><span class="p">);</span>
+
+      <span class="n">final</span> <span class="n">Entity</span> <span class="n">e2</span> <span class="p">=</span> <span class="n">new</span> <span class="n">Entity</span><span class="p">()</span>
+          <span class="p">.</span><span class="n">addProperty</span><span class="p">(</span><span class="n">new</span> <span class="n">Property</span><span class="p">(</span><span class="n">null</span><span class="p">,</span> &quot;<span class="n">ID</span>&quot;<span class="p">,</span> <span class="n">ValueType</span><span class="p">.</span><span class="n">PRIMITIVE</span><span class="p">,</span> 2<span class="p">))</span>
+          <span class="p">.</span><span class="n">addProperty</span><span class="p">(</span><span class="n">new</span> <span class="n">Property</span><span class="p">(</span><span class="n">null</span><span class="p">,</span> &quot;<span class="n">Name</span>&quot;<span class="p">,</span> <span class="n">ValueType</span><span class="p">.</span><span class="n">PRIMITIVE</span><span class="p">,</span> &quot;1<span class="n">UMTS</span> <span class="n">PDA</span>&quot;<span class="p">))</span>
+          <span class="p">.</span><span class="n">addProperty</span><span class="p">(</span><span class="n">new</span> <span class="n">Property</span><span class="p">(</span><span class="n">null</span><span class="p">,</span> &quot;<span class="n">Description</span>&quot;<span class="p">,</span> <span class="n">ValueType</span><span class="p">.</span><span class="n">PRIMITIVE</span><span class="p">,</span>
+              &quot;<span class="n">Ultrafast</span> 3<span class="n">G</span> <span class="n">UMTS</span><span class="o">/</span><span class="n">HSDPA</span> <span class="n">Pocket</span> <span class="n">PC</span><span class="p">,</span> <span class="n">supports</span> <span class="n">GSM</span> <span class="n">network</span>&quot;<span class="p">));</span>
+      <span class="n">e2</span><span class="p">.</span><span class="n">setId</span><span class="p">(</span><span class="n">createId</span><span class="p">(</span>&quot;<span class="n">Products</span>&quot;<span class="p">,</span> 1<span class="p">));</span>
+      <span class="n">productList</span><span class="p">.</span><span class="n">add</span><span class="p">(</span><span class="n">e2</span><span class="p">);</span>
+
+      <span class="n">final</span> <span class="n">Entity</span> <span class="n">e3</span> <span class="p">=</span> <span class="n">new</span> <span class="n">Entity</span><span class="p">()</span>
+          <span class="p">.</span><span class="n">addProperty</span><span class="p">(</span><span class="n">new</span> <span class="n">Property</span><span class="p">(</span><span class="n">null</span><span class="p">,</span> &quot;<span class="n">ID</span>&quot;<span class="p">,</span> <span class="n">ValueType</span><span class="p">.</span><span class="n">PRIMITIVE</span><span class="p">,</span> 3<span class="p">))</span>
+          <span class="p">.</span><span class="n">addProperty</span><span class="p">(</span><span class="n">new</span> <span class="n">Property</span><span class="p">(</span><span class="n">null</span><span class="p">,</span> &quot;<span class="n">Name</span>&quot;<span class="p">,</span> <span class="n">ValueType</span><span class="p">.</span><span class="n">PRIMITIVE</span><span class="p">,</span> &quot;<span class="n">Ergo</span> <span class="n">Screen</span>&quot;<span class="p">))</span>
+          <span class="p">.</span><span class="n">addProperty</span><span class="p">(</span><span class="n">new</span> <span class="n">Property</span><span class="p">(</span><span class="n">null</span><span class="p">,</span> &quot;<span class="n">Description</span>&quot;<span class="p">,</span> <span class="n">ValueType</span><span class="p">.</span><span class="n">PRIMITIVE</span><span class="p">,</span>
+              &quot;19 <span class="n">Optimum</span> <span class="n">Resolution</span> 1024 <span class="n">x</span> 768 <span class="p">@</span> 85<span class="n">Hz</span><span class="p">,</span> <span class="n">resolution</span> 1280 <span class="n">x</span> 960&quot;<span class="p">));</span>
+      <span class="n">e3</span><span class="p">.</span><span class="n">setId</span><span class="p">(</span><span class="n">createId</span><span class="p">(</span>&quot;<span class="n">Products</span>&quot;<span class="p">,</span> 1<span class="p">));</span>
+      <span class="n">productList</span><span class="p">.</span><span class="n">add</span><span class="p">(</span><span class="n">e3</span><span class="p">);</span>
+   <span class="p">}</span>
+
+   <span class="k">return</span> <span class="n">productsCollection</span><span class="p">;</span>
+</pre></div>
 
-  <span class="n">EntityCollection</span> <span class="n">entityCollection</span> <span class="o">=</span> <span class="k">new</span> <span class="n">EntityCollection</span><span class="o">();</span>
-  <span class="c1">// check for which EdmEntitySet the data is requested</span>
-  <span class="k">if</span><span class="o">(</span><span class="n">DemoEdmProvider</span><span class="o">.</span><span class="na">ES_PRODUCTS_NAME</span><span class="o">.</span><span class="na">equals</span><span class="o">(</span><span class="n">edmEntitySet</span><span class="o">.</span><span class="na">getName</span><span class="o">()))</span> <span class="o">{</span>
-    <span class="n">List</span><span class="o">&lt;</span><span class="n">Entity</span><span class="o">&gt;</span> <span class="n">entityList</span> <span class="o">=</span> <span class="n">entityCollection</span><span class="o">.</span><span class="na">getEntities</span><span class="o">();</span>
-
-    <span class="c1">// add some sample product entities</span>
-    <span class="n">entityList</span><span class="o">.</span><span class="na">add</span><span class="o">(</span><span class="k">new</span> <span class="n">Entity</span><span class="o">()</span>
-          <span class="o">.</span><span class="na">addProperty</span><span class="o">(</span><span class="k">new</span> <span class="n">Property</span><span class="o">(</span><span class="kc">null</span><span class="o">,</span> <span class="s">&quot;ID&quot;</span><span class="o">,</span> <span class="n">ValueType</span><span class="o">.</span><span class="na">PRIMITIVE</span><span class="o">,</span> <span class="mi">1</span><span class="o">))</span>
-          <span class="o">.</span><span class="na">addProperty</span><span class="o">(</span><span class="k">new</span> <span class="n">Property</span><span class="o">(</span><span class="kc">null</span><span class="o">,</span> <span class="s">&quot;Name&quot;</span><span class="o">,</span> <span class="n">ValueType</span><span class="o">.</span><span class="na">PRIMITIVE</span><span class="o">,</span> <span class="s">&quot;Notebook Basic 15&quot;</span><span class="o">))</span>
-          <span class="o">.</span><span class="na">addProperty</span><span class="o">(</span><span class="k">new</span> <span class="n">Property</span><span class="o">(</span><span class="kc">null</span><span class="o">,</span> <span class="s">&quot;Description&quot;</span><span class="o">,</span> <span class="n">ValueType</span><span class="o">.</span><span class="na">PRIMITIVE</span><span class="o">,</span> <span class="s">&quot;Notebook Basic, 1.7GHz - 15 XGA - 1024MB DDR2 SDRAM - 40GB&quot;</span><span class="o">)));</span>
-
-    <span class="n">entityList</span><span class="o">.</span><span class="na">add</span><span class="o">(</span><span class="k">new</span> <span class="n">Entity</span><span class="o">()</span>
-          <span class="o">.</span><span class="na">addProperty</span><span class="o">(</span><span class="k">new</span> <span class="n">Property</span><span class="o">(</span><span class="kc">null</span><span class="o">,</span> <span class="s">&quot;ID&quot;</span><span class="o">,</span> <span class="n">ValueType</span><span class="o">.</span><span class="na">PRIMITIVE</span><span class="o">,</span> <span class="mi">2</span><span class="o">))</span>
-          <span class="o">.</span><span class="na">addProperty</span><span class="o">(</span><span class="k">new</span> <span class="n">Property</span><span class="o">(</span><span class="kc">null</span><span class="o">,</span> <span class="s">&quot;Name&quot;</span><span class="o">,</span> <span class="n">ValueType</span><span class="o">.</span><span class="na">PRIMITIVE</span><span class="o">,</span> <span class="s">&quot;1UMTS PDA&quot;</span><span class="o">))</span>
-          <span class="o">.</span><span class="na">addProperty</span><span class="o">(</span><span class="k">new</span> <span class="n">Property</span><span class="o">(</span><span class="kc">null</span><span class="o">,</span> <span class="s">&quot;Description&quot;</span><span class="o">,</span> <span class="n">ValueType</span><span class="o">.</span><span class="na">PRIMITIVE</span><span class="o">,</span> <span class="s">&quot;Ultrafast 3G UMTS/HSDPA Pocket PC, supports GSM network&quot;</span><span class="o">)));</span>
-
-    <span class="n">entityList</span><span class="o">.</span><span class="na">add</span><span class="o">(</span><span class="k">new</span> <span class="n">Entity</span><span class="o">()</span>
-          <span class="o">.</span><span class="na">addProperty</span><span class="o">(</span><span class="k">new</span> <span class="n">Property</span><span class="o">(</span><span class="kc">null</span><span class="o">,</span> <span class="s">&quot;ID&quot;</span><span class="o">,</span> <span class="n">ValueType</span><span class="o">.</span><span class="na">PRIMITIVE</span><span class="o">,</span> <span class="mi">3</span><span class="o">))</span>
-          <span class="o">.</span><span class="na">addProperty</span><span class="o">(</span><span class="k">new</span> <span class="n">Property</span><span class="o">(</span><span class="kc">null</span><span class="o">,</span> <span class="s">&quot;Name&quot;</span><span class="o">,</span> <span class="n">ValueType</span><span class="o">.</span><span class="na">PRIMITIVE</span><span class="o">,</span> <span class="s">&quot;Ergo Screen&quot;</span><span class="o">))</span>
-          <span class="o">.</span><span class="na">addProperty</span><span class="o">(</span><span class="k">new</span> <span class="n">Property</span><span class="o">(</span><span class="kc">null</span><span class="o">,</span> <span class="s">&quot;Description&quot;</span><span class="o">,</span> <span class="n">ValueType</span><span class="o">.</span><span class="na">PRIMITIVE</span><span class="o">,</span> <span class="s">&quot;17 Optimum Resolution 1024 x 768 @ 85Hz, resolution 1280 x 960&quot;</span><span class="o">)));</span>
-  <span class="o">}</span>
 
-  <span class="k">return</span> <span class="n">entityCollection</span><span class="o">;</span>
+<p>}</p>
+<p><strong><em>createId()</em></strong>   </p>
+<div class="codehilite"><pre><span class="kd">private</span> <span class="n">URI</span> <span class="nf">createId</span><span class="o">(</span><span class="n">String</span> <span class="n">entitySetName</span><span class="o">,</span> <span class="n">Object</span> <span class="n">id</span><span class="o">)</span> <span class="o">{</span>
+    <span class="k">try</span> <span class="o">{</span>
+        <span class="k">return</span> <span class="k">new</span> <span class="nf">URI</span><span class="o">(</span><span class="n">entitySetName</span> <span class="o">+</span> <span class="s">&quot;(&quot;</span> <span class="o">+</span> <span class="n">String</span><span class="o">.</span><span class="na">valueOf</span><span class="o">(</span><span class="n">id</span><span class="o">)</span> <span class="o">+</span> <span class="s">&quot;)&quot;</span><span class="o">);</span>
+    <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="n">URISyntaxException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
+        <span class="k">throw</span> <span class="k">new</span> <span class="nf">ODataRuntimeException</span><span class="o">(</span><span class="s">&quot;Unable to create id for entity: &quot;</span> <span class="o">+</span> <span class="n">entitySetName</span><span class="o">,</span> <span class="n">e</span><span class="o">);</span>
+    <span class="o">}</span>
 <span class="o">}</span>
 </pre></div>