Author: buildbot
Date: Tue Apr 28 11:41:54 2015
New Revision: 949479

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 Tue Apr 28 11:41:54 2015
@@ -1 +1 @@
-1676495
+1676498

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
 Tue Apr 28 11:41:54 2015
@@ -341,18 +341,22 @@ Select the mentioned methods and press O
 <p><img alt="overrideMethods" src="overrideMethods.png" title="The dialog for 
overriding superclass methods in Eclipse" /></p>
 <p>Let’s have a closer look at the methods in detail.</p>
 <p>First, we need to declare some constants, to be used in below code</p>
-<p>```java
-// Service Namespace
-public static final String NAMESPACE = "com.example.model";</p>
-<p>// EDM Container
-public static final String CONTAINER_NAME = "Container";
-public static final FullQualifiedName CONTAINER = new 
FullQualifiedName(NAMESPACE, CONTAINER_NAME);</p>
-<p>// Entity Types Names
-public static final String ET_PRODUCT_NAME = "Product";
-public static final FullQualifiedName ET_PRODUCT_FQN = new 
FullQualifiedName(NAMESPACE, ET_PRODUCT_NAME);</p>
-<p>// Entity Set Names
-public static final String ES_PRODUCTS_NAME = "Products";
-```</p>
+<div class="codehilite"><pre><span class="c1">// Service Namespace</span>
+<span class="n">public</span> <span class="k">static</span> <span 
class="k">final</span> <span class="n">String</span> <span 
class="no">NAMESPACE</span> <span class="o">=</span> <span 
class="s">&quot;com.example.model&quot;</span><span class="p">;</span>
+
+<span class="c1">// EDM Container</span>
+<span class="n">public</span> <span class="k">static</span> <span 
class="k">final</span> <span class="n">String</span> <span 
class="no">CONTAINER_NAME</span> <span class="o">=</span> <span 
class="s">&quot;Container&quot;</span><span class="p">;</span>
+<span class="n">public</span> <span class="k">static</span> <span 
class="k">final</span> <span class="n">FullQualifiedName</span> <span 
class="no">CONTAINER</span> <span class="o">=</span> <span class="k">new</span> 
<span class="n">FullQualifiedName</span><span class="p">(</span><span 
class="no">NAMESPACE</span><span class="p">,</span> <span 
class="no">CONTAINER_NAME</span><span class="p">);</span>
+
+<span class="c1">// Entity Types Names</span>
+<span class="n">public</span> <span class="k">static</span> <span 
class="k">final</span> <span class="n">String</span> <span 
class="no">ET_PRODUCT_NAME</span> <span class="o">=</span> <span 
class="s">&quot;Product&quot;</span><span class="p">;</span>
+<span class="n">public</span> <span class="k">static</span> <span 
class="k">final</span> <span class="n">FullQualifiedName</span> <span 
class="no">ET_PRODUCT_FQN</span> <span class="o">=</span> <span 
class="k">new</span> <span class="n">FullQualifiedName</span><span 
class="p">(</span><span class="no">NAMESPACE</span><span class="p">,</span> 
<span class="no">ET_PRODUCT_NAME</span><span class="p">);</span>
+
+<span class="c1">// Entity Set Names</span>
+<span class="n">public</span> <span class="k">static</span> <span 
class="k">final</span> <span class="n">String</span> <span 
class="no">ES_PRODUCTS_NAME</span> <span class="o">=</span> <span 
class="s">&quot;Products&quot;</span><span class="p">;</span>
+</pre></div>
+
+
 <p><strong><em>getEntityType()</em></strong></p>
 <p>In our example service, we want to provide a list of products to users who 
call the OData service.
 The user of our service, for example an app-developer, will ask himself: how 
does such a "product" entry look like? How is it structured? Which information 
about a product is provided? For example, the name of it? And which data types 
can be expected from these properties?<br />
@@ -361,84 +365,83 @@ Such information is provided by the <em>
 <p>The name of the EntityType: “Product”<br />
 The properties: name and type and additional info, e.g. “ID” of type 
“edm.int32”<br />
 Which of the properties is the “key” property: a reference to the “ID” 
property.  </p>
-<p>```java
-@Override
-public EntityType getEntityType(FullQualifiedName entityTypeName) throws 
ODataException {</p>
-<div class="codehilite"><pre><span class="c1">// this method is called for one 
of the EntityTypes that are configured in the Schema</span>
-<span class="k">if</span><span class="p">(</span><span 
class="n">entityTypeName</span><span class="p">.</span><span 
class="n">equals</span><span class="p">(</span><span 
class="no">ET_PRODUCT_FQN</span><span class="p">)){</span>
+<div class="codehilite"><pre><span class="p">@</span><span 
class="n">Override</span>
+<span class="n">public</span> <span class="n">EntityType</span> <span 
class="n">getEntityType</span><span class="p">(</span><span 
class="n">FullQualifiedName</span> <span class="n">entityTypeName</span><span 
class="p">)</span> <span class="n">throws</span> <span 
class="n">ODataException</span> <span class="p">{</span>
 
-    <span class="c1">//create EntityType properties</span>
-    <span class="n">Property</span> <span class="n">id</span> <span 
class="o">=</span> <span class="k">new</span> <span 
class="n">Property</span><span class="p">().</span><span 
class="n">setName</span><span class="p">(</span><span 
class="s">&quot;ID&quot;</span><span class="p">).</span><span 
class="n">setType</span><span class="p">(</span><span 
class="n">EdmPrimitiveTypeKind</span><span class="p">.</span><span 
class="n">Int32</span><span class="p">.</span><span 
class="n">getFullQualifiedName</span><span class="p">());</span>
-    <span class="n">Property</span> <span class="n">name</span> <span 
class="o">=</span> <span class="k">new</span> <span 
class="n">Property</span><span class="p">().</span><span 
class="n">setName</span><span class="p">(</span><span 
class="s">&quot;Name&quot;</span><span class="p">).</span><span 
class="n">setType</span><span class="p">(</span><span 
class="n">EdmPrimitiveTypeKind</span><span class="p">.</span><span 
class="n">String</span><span class="p">.</span><span 
class="n">getFullQualifiedName</span><span class="p">());</span>
-    <span class="n">Property</span>  <span class="n">description</span> <span 
class="o">=</span> <span class="k">new</span> <span 
class="n">Property</span><span class="p">().</span><span 
class="n">setName</span><span class="p">(</span><span 
class="s">&quot;Description&quot;</span><span class="p">).</span><span 
class="n">setType</span><span class="p">(</span><span 
class="n">EdmPrimitiveTypeKind</span><span class="p">.</span><span 
class="n">String</span><span class="p">.</span><span 
class="n">getFullQualifiedName</span><span class="p">());</span>
+    <span class="o">//</span> <span class="n">this</span> <span 
class="n">method</span> <span class="n">is</span> <span class="n">called</span> 
<span class="k">for</span> <span class="n">one</span> <span class="n">of</span> 
<span class="n">the</span> <span class="n">EntityTypes</span> <span 
class="n">that</span> <span class="n">are</span> <span 
class="n">configured</span> <span class="n">in</span> <span 
class="n">the</span> <span class="n">Schema</span>
+    <span class="k">if</span><span class="p">(</span><span 
class="n">entityTypeName</span><span class="p">.</span><span 
class="n">equals</span><span class="p">(</span><span 
class="n">ET_PRODUCT_FQN</span><span class="p">)){</span>
 
-    <span class="c1">// create PropertyRef for Key element</span>
-    <span class="n">PropertyRef</span> <span class="n">propertyRef</span> 
<span class="o">=</span> <span class="k">new</span> <span 
class="n">PropertyRef</span><span class="p">();</span>
-    <span class="n">propertyRef</span><span class="p">.</span><span 
class="n">setPropertyName</span><span class="p">(</span><span 
class="s">&quot;ID&quot;</span><span class="p">);</span>
+        <span class="o">//</span><span class="n">create</span> <span 
class="n">EntityType</span> <span class="k">properties</span>
+        <span class="n">Property</span> <span class="n">id</span> <span 
class="p">=</span> <span class="n">new</span> <span 
class="n">Property</span><span class="p">().</span><span 
class="n">setName</span><span class="p">(</span>&quot;<span 
class="n">ID</span>&quot;<span class="p">).</span><span 
class="n">setType</span><span class="p">(</span><span 
class="n">EdmPrimitiveTypeKind</span><span class="p">.</span><span 
class="n">Int32</span><span class="p">.</span><span 
class="n">getFullQualifiedName</span><span class="p">());</span>
+        <span class="n">Property</span> <span class="n">name</span> <span 
class="p">=</span> <span class="n">new</span> <span 
class="n">Property</span><span class="p">().</span><span 
class="n">setName</span><span class="p">(</span>&quot;<span 
class="n">Name</span>&quot;<span class="p">).</span><span 
class="n">setType</span><span class="p">(</span><span 
class="n">EdmPrimitiveTypeKind</span><span class="p">.</span><span 
class="n">String</span><span class="p">.</span><span 
class="n">getFullQualifiedName</span><span class="p">());</span>
+        <span class="n">Property</span>  <span class="n">description</span> 
<span class="p">=</span> <span class="n">new</span> <span 
class="n">Property</span><span class="p">().</span><span 
class="n">setName</span><span class="p">(</span>&quot;<span 
class="n">Description</span>&quot;<span class="p">).</span><span 
class="n">setType</span><span class="p">(</span><span 
class="n">EdmPrimitiveTypeKind</span><span class="p">.</span><span 
class="n">String</span><span class="p">.</span><span 
class="n">getFullQualifiedName</span><span class="p">());</span>
+
+        <span class="o">//</span> <span class="n">create</span> <span 
class="n">PropertyRef</span> <span class="k">for</span> <span 
class="n">Key</span> <span class="n">element</span>
+        <span class="n">PropertyRef</span> <span class="n">propertyRef</span> 
<span class="p">=</span> <span class="n">new</span> <span 
class="n">PropertyRef</span><span class="p">();</span>
+        <span class="n">propertyRef</span><span class="p">.</span><span 
class="n">setPropertyName</span><span class="p">(</span>&quot;<span 
class="n">ID</span>&quot;<span class="p">);</span>
+
+        <span class="o">//</span> <span class="n">configure</span> <span 
class="n">EntityType</span>
+        <span class="n">EntityType</span> <span class="n">entityType</span> 
<span class="p">=</span> <span class="n">new</span> <span 
class="n">EntityType</span><span class="p">();</span>
+        <span class="n">entityType</span><span class="p">.</span><span 
class="n">setName</span><span class="p">(</span><span 
class="n">ET_PRODUCT_NAME</span><span class="p">);</span>
+        <span class="n">entityType</span><span class="p">.</span><span 
class="n">setProperties</span><span class="p">(</span><span 
class="n">Arrays</span><span class="p">.</span><span 
class="n">asList</span><span class="p">(</span><span class="n">id</span><span 
class="p">,</span> <span class="n">name</span> <span class="p">,</span> <span 
class="n">description</span><span class="p">));</span>
+        <span class="n">entityType</span><span class="p">.</span><span 
class="n">setKey</span><span class="p">(</span><span 
class="n">Arrays</span><span class="p">.</span><span 
class="n">asList</span><span class="p">(</span><span 
class="n">propertyRef</span><span class="p">));</span>
 
-    <span class="c1">// configure EntityType</span>
-    <span class="n">EntityType</span> <span class="n">entityType</span> <span 
class="o">=</span> <span class="k">new</span> <span 
class="n">EntityType</span><span class="p">();</span>
-    <span class="n">entityType</span><span class="p">.</span><span 
class="n">setName</span><span class="p">(</span><span 
class="no">ET_PRODUCT_NAME</span><span class="p">);</span>
-    <span class="n">entityType</span><span class="p">.</span><span 
class="n">setProperties</span><span class="p">(</span><span 
class="n">Arrays</span><span class="p">.</span><span 
class="n">asList</span><span class="p">(</span><span class="n">id</span><span 
class="p">,</span> <span class="n">name</span> <span class="p">,</span> <span 
class="n">description</span><span class="p">));</span>
-    <span class="n">entityType</span><span class="p">.</span><span 
class="n">setKey</span><span class="p">(</span><span 
class="n">Arrays</span><span class="p">.</span><span 
class="n">asList</span><span class="p">(</span><span 
class="n">propertyRef</span><span class="p">));</span>
+        <span class="k">return</span> <span class="n">entityType</span><span 
class="p">;</span>
+    <span class="p">}</span>
 
-    <span class="k">return</span> <span class="n">entityType</span><span 
class="p">;</span>
+    <span class="k">return</span> <span class="n">null</span><span 
class="p">;</span>
 <span class="p">}</span>
-
-<span class="k">return</span> <span class="k">null</span><span 
class="p">;</span>
 </pre></div>
 
 
-<p>}
-```</p>
 <p><strong><em>getEntitySet()</em></strong></p>
 <p>The procedure for declaring the <em>EntitySets</em> is similar.
 An <em>EntitySet</em> is a crucial resource, when an OData service is used to 
request data.
-In our example, we’ll invoke the following URL, which we expect to provide 
us a list of products:
-<code>html
-http://localhost:8080/DemoService/DemoServlet.svc/Products</code>
-When declaring an <em>EntitySet</em>, we need to define the type of entries 
which are contained in the list. Such type is an <em>EntityType</em>.
+In our example, we’ll invoke the following URL, which we expect to provide 
us a list of products:</p>
+<div class="codehilite"><pre><span class="n">http</span><span 
class="p">:</span><span class="o">//</span><span 
class="n">localhost</span><span class="p">:</span>8080<span 
class="o">/</span><span class="n">DemoService</span><span 
class="o">/</span><span class="n">DemoServlet</span><span 
class="p">.</span><span class="n">svc</span><span class="o">/</span><span 
class="n">Products</span>
+</pre></div>
+
+
+<p>When declaring an <em>EntitySet</em>, we need to define the type of entries 
which are contained in the list. Such type is an <em>EntityType</em>.
 In our example, we set our previously created <em>EntityType</em>, which is 
referred by a <em>FullQualifiedName</em>.</p>
-<p>```java
-@Override
-public EntitySet getEntitySet(FullQualifiedName entityContainer, String 
entitySetName) throws ODataException {</p>
-<div class="codehilite"><pre><span class="k">if</span><span 
class="p">(</span><span class="n">entityContainer</span><span 
class="p">.</span><span class="n">equals</span><span class="p">(</span><span 
class="n">CONTAINER</span><span class="p">)){</span>
-    <span class="k">if</span><span class="p">(</span><span 
class="n">entitySetName</span><span class="p">.</span><span 
class="n">equals</span><span class="p">(</span><span 
class="n">ES_PRODUCTS_NAME</span><span class="p">)){</span>
-        <span class="n">EntitySet</span> <span class="n">entitySet</span> 
<span class="p">=</span> <span class="n">new</span> <span 
class="n">EntitySet</span><span class="p">();</span>
-        <span class="n">entitySet</span><span class="p">.</span><span 
class="n">setName</span><span class="p">(</span><span 
class="n">ES_PRODUCTS_NAME</span><span class="p">);</span>
-        <span class="n">entitySet</span><span class="p">.</span><span 
class="n">setType</span><span class="p">(</span><span 
class="n">ET_PRODUCT_FQN</span><span class="p">);</span>
+<div class="codehilite"><pre><span class="p">@</span><span 
class="n">Override</span>
+<span class="n">public</span> <span class="n">EntitySet</span> <span 
class="n">getEntitySet</span><span class="p">(</span><span 
class="n">FullQualifiedName</span> <span class="n">entityContainer</span><span 
class="p">,</span> <span class="n">String</span> <span 
class="n">entitySetName</span><span class="p">)</span> <span 
class="n">throws</span> <span class="n">ODataException</span> <span 
class="p">{</span>
 
-        <span class="k">return</span> <span class="n">entitySet</span><span 
class="p">;</span>
+    <span class="k">if</span><span class="p">(</span><span 
class="n">entityContainer</span><span class="p">.</span><span 
class="n">equals</span><span class="p">(</span><span 
class="n">CONTAINER</span><span class="p">)){</span>
+        <span class="k">if</span><span class="p">(</span><span 
class="n">entitySetName</span><span class="p">.</span><span 
class="n">equals</span><span class="p">(</span><span 
class="n">ES_PRODUCTS_NAME</span><span class="p">)){</span>
+            <span class="n">EntitySet</span> <span class="n">entitySet</span> 
<span class="p">=</span> <span class="n">new</span> <span 
class="n">EntitySet</span><span class="p">();</span>
+            <span class="n">entitySet</span><span class="p">.</span><span 
class="n">setName</span><span class="p">(</span><span 
class="n">ES_PRODUCTS_NAME</span><span class="p">);</span>
+            <span class="n">entitySet</span><span class="p">.</span><span 
class="n">setType</span><span class="p">(</span><span 
class="n">ET_PRODUCT_FQN</span><span class="p">);</span>
+
+            <span class="k">return</span> <span 
class="n">entitySet</span><span class="p">;</span>
+        <span class="p">}</span>
     <span class="p">}</span>
-<span class="p">}</span>
 
-<span class="k">return</span> <span class="n">null</span><span 
class="p">;</span>
+    <span class="k">return</span> <span class="n">null</span><span 
class="p">;</span>
+<span class="p">}</span>
 </pre></div>
 
 
-<p>}
-```</p>
 <p><strong><em>getEntityContainer()</em></strong></p>
 <p>In order to provide data, our OData service needs an 
<em>EntityContainer</em> that carries the <em>EntitySets</em>.
 In our example, we have only one <em>EntitySet</em>, so we create one 
<em>EntityContainer</em> and set our <em>EntitySet</em>.</p>
-<p>```java
-@Override
-public EntityContainer getEntityContainer() throws ODataException {</p>
-<div class="codehilite"><pre><span class="c1">// create EntitySets</span>
-<span class="n">List</span><span class="o">&lt;</span><span 
class="n">EntitySet</span><span class="o">&gt;</span> <span 
class="n">entitySets</span> <span class="o">=</span> <span class="k">new</span> 
<span class="n">ArrayList</span><span class="o">&lt;</span><span 
class="n">EntitySet</span><span class="o">&gt;</span><span class="p">();</span>
-<span class="n">entitySets</span><span class="p">.</span><span 
class="n">add</span><span class="p">(</span><span 
class="n">getEntitySet</span><span class="p">(</span><span 
class="no">CONTAINER</span><span class="p">,</span> <span 
class="no">ES_PRODUCTS_NAME</span><span class="p">));</span>
+<div class="codehilite"><pre><span class="p">@</span><span 
class="n">Override</span>
+<span class="n">public</span> <span class="n">EntityContainer</span> <span 
class="n">getEntityContainer</span><span class="p">()</span> <span 
class="n">throws</span> <span class="n">ODataException</span> <span 
class="p">{</span>
 
-<span class="c1">// create EntityContainer</span>
-<span class="n">EntityContainer</span> <span class="n">entityContainer</span> 
<span class="o">=</span> <span class="k">new</span> <span 
class="n">EntityContainer</span><span class="p">();</span>
-<span class="n">entityContainer</span><span class="p">.</span><span 
class="n">setName</span><span class="p">(</span><span 
class="no">CONTAINER_NAME</span><span class="p">);</span>
-<span class="n">entityContainer</span><span class="p">.</span><span 
class="n">setEntitySets</span><span class="p">(</span><span 
class="n">entitySets</span><span class="p">);</span>
+    <span class="o">//</span> <span class="n">create</span> <span 
class="n">EntitySets</span>
+    <span class="n">List</span><span class="o">&lt;</span><span 
class="n">EntitySet</span><span class="o">&gt;</span> <span 
class="n">entitySets</span> <span class="p">=</span> <span class="n">new</span> 
<span class="n">ArrayList</span><span class="o">&lt;</span><span 
class="n">EntitySet</span><span class="o">&gt;</span><span class="p">();</span>
+    <span class="n">entitySets</span><span class="p">.</span><span 
class="n">add</span><span class="p">(</span><span 
class="n">getEntitySet</span><span class="p">(</span><span 
class="n">CONTAINER</span><span class="p">,</span> <span 
class="n">ES_PRODUCTS_NAME</span><span class="p">));</span>
+
+    <span class="o">//</span> <span class="n">create</span> <span 
class="n">EntityContainer</span>
+    <span class="n">EntityContainer</span> <span 
class="n">entityContainer</span> <span class="p">=</span> <span 
class="n">new</span> <span class="n">EntityContainer</span><span 
class="p">();</span>
+    <span class="n">entityContainer</span><span class="p">.</span><span 
class="n">setName</span><span class="p">(</span><span 
class="n">CONTAINER_NAME</span><span class="p">);</span>
+    <span class="n">entityContainer</span><span class="p">.</span><span 
class="n">setEntitySets</span><span class="p">(</span><span 
class="n">entitySets</span><span class="p">);</span>
 
-<span class="k">return</span> <span class="n">entityContainer</span><span 
class="p">;</span>
+    <span class="k">return</span> <span class="n">entityContainer</span><span 
class="p">;</span>
+<span class="p">}</span>
 </pre></div>
 
 
-<p>}
-```</p>
 <p><strong><em>getSchemas()</em></strong></p>
 <p>Up to this point, we have declared the type of our data 
(<em>EntityType</em>) and our list (<em>EntitySet</em>), and we’ve put it 
into a container (<em>EntityContainer</em>).<br />
 Now we’re required to put all these elements into a <em>Schema</em>.<br />
@@ -446,83 +449,92 @@ While the model of an OData service can
 So, in our example, we create a list of schemas, where we add one new 
<em>Schema</em> object.<br />
 The schema is configured with a <em>Namespace</em>, which serves to uniquely 
identify all elements.<br />
 Then our elements are added to the Schema.</p>
-<p>```java
-@Override
-public List<Schema> getSchemas() throws ODataException {</p>
-<div class="codehilite"><pre><span class="c1">// create Schema</span>
-<span class="n">Schema</span> <span class="n">schema</span> <span 
class="o">=</span> <span class="k">new</span> <span 
class="n">Schema</span><span class="p">();</span>
-<span class="n">schema</span><span class="p">.</span><span 
class="n">setNamespace</span><span class="p">(</span><span 
class="no">NAMESPACE</span><span class="p">);</span>
-
-<span class="c1">// add EntityTypes</span>
-<span class="n">List</span><span class="o">&lt;</span><span 
class="n">EntityType</span><span class="o">&gt;</span> <span 
class="n">entityTypes</span> <span class="o">=</span> <span 
class="k">new</span> <span class="n">ArrayList</span><span 
class="o">&lt;</span><span class="n">EntityType</span><span 
class="o">&gt;</span><span class="p">();</span>
-<span class="n">entityTypes</span><span class="p">.</span><span 
class="n">add</span><span class="p">(</span><span 
class="n">getEntityType</span><span class="p">(</span><span 
class="no">ET_PRODUCT_FQN</span><span class="p">));</span>
-<span class="n">schema</span><span class="p">.</span><span 
class="n">setEntityTypes</span><span class="p">(</span><span 
class="n">entityTypes</span><span class="p">);</span>
+<div class="codehilite"><pre><span class="p">@</span><span 
class="n">Override</span>
+<span class="n">public</span> <span class="n">List</span><span 
class="o">&lt;</span><span class="n">Schema</span><span class="o">&gt;</span> 
<span class="n">getSchemas</span><span class="p">()</span> <span 
class="n">throws</span> <span class="n">ODataException</span> <span 
class="p">{</span>
 
-<span class="c1">// add EntityContainer</span>
-<span class="n">schema</span><span class="p">.</span><span 
class="n">setEntityContainer</span><span class="p">(</span><span 
class="n">getEntityContainer</span><span class="p">());</span>
+    <span class="o">//</span> <span class="n">create</span> <span 
class="n">Schema</span>
+    <span class="n">Schema</span> <span class="n">schema</span> <span 
class="p">=</span> <span class="n">new</span> <span 
class="n">Schema</span><span class="p">();</span>
+    <span class="n">schema</span><span class="p">.</span><span 
class="n">setNamespace</span><span class="p">(</span><span 
class="n">NAMESPACE</span><span class="p">);</span>
+
+    <span class="o">//</span> <span class="n">add</span> <span 
class="n">EntityTypes</span>
+    <span class="n">List</span><span class="o">&lt;</span><span 
class="n">EntityType</span><span class="o">&gt;</span> <span 
class="n">entityTypes</span> <span class="p">=</span> <span 
class="n">new</span> <span class="n">ArrayList</span><span 
class="o">&lt;</span><span class="n">EntityType</span><span 
class="o">&gt;</span><span class="p">();</span>
+    <span class="n">entityTypes</span><span class="p">.</span><span 
class="n">add</span><span class="p">(</span><span 
class="n">getEntityType</span><span class="p">(</span><span 
class="n">ET_PRODUCT_FQN</span><span class="p">));</span>
+    <span class="n">schema</span><span class="p">.</span><span 
class="n">setEntityTypes</span><span class="p">(</span><span 
class="n">entityTypes</span><span class="p">);</span>
+
+    <span class="o">//</span> <span class="n">add</span> <span 
class="n">EntityContainer</span>
+    <span class="n">schema</span><span class="p">.</span><span 
class="n">setEntityContainer</span><span class="p">(</span><span 
class="n">getEntityContainer</span><span class="p">());</span>
+
+    <span class="o">//</span> <span class="n">finally</span>
+    <span class="n">List</span><span class="o">&lt;</span><span 
class="n">Schema</span><span class="o">&gt;</span> <span 
class="n">schemas</span> <span class="p">=</span> <span class="n">new</span> 
<span class="n">ArrayList</span><span class="o">&lt;</span><span 
class="n">Schema</span><span class="o">&gt;</span><span class="p">();</span>
+    <span class="n">schemas</span><span class="p">.</span><span 
class="n">add</span><span class="p">(</span><span class="n">schema</span><span 
class="p">);</span>
 
-<span class="c1">// finally</span>
-<span class="n">List</span><span class="o">&lt;</span><span 
class="n">Schema</span><span class="o">&gt;</span> <span 
class="n">schemas</span> <span class="o">=</span> <span class="k">new</span> 
<span class="n">ArrayList</span><span class="o">&lt;</span><span 
class="n">Schema</span><span class="o">&gt;</span><span class="p">();</span>
-<span class="n">schemas</span><span class="p">.</span><span 
class="n">add</span><span class="p">(</span><span class="n">schema</span><span 
class="p">);</span>
-
-<span class="k">return</span> <span class="n">schemas</span><span 
class="p">;</span>
+    <span class="k">return</span> <span class="n">schemas</span><span 
class="p">;</span>
+<span class="p">}</span>
 </pre></div>
 
 
-<p>}
-```</p>
 <p><strong><em>getEntityContainerInfo()</em></strong></p>
-<p>```java
-@Override
-public EntityContainerInfo getEntityContainerInfo(FullQualifiedName 
entityContainerName) throws ODataException {</p>
-<p>// This method is invoked when displaying the service document at e.g. 
http://localhost:8080/DemoService/DemoService.svc
-    if(entityContainerName == null || entityContainerName.equals(CONTAINER)){
-        EntityContainerInfo entityContainerInfo = new EntityContainerInfo();
-        entityContainerInfo.setContainerName(CONTAINER);
-        return entityContainerInfo;
-    }</p>
-<div class="codehilite"><pre><span class="k">return</span> <span 
class="n">null</span><span class="p">;</span>
+<div class="codehilite"><pre><span class="p">@</span><span 
class="n">Override</span>
+<span class="n">public</span> <span class="n">EntityContainerInfo</span> <span 
class="n">getEntityContainerInfo</span><span class="p">(</span><span 
class="n">FullQualifiedName</span> <span 
class="n">entityContainerName</span><span class="p">)</span> <span 
class="n">throws</span> <span class="n">ODataException</span> <span 
class="p">{</span>
+
+<span class="o">//</span> <span class="n">This</span> <span 
class="n">method</span> <span class="n">is</span> <span 
class="n">invoked</span> <span class="n">when</span> <span 
class="n">displaying</span> <span class="n">the</span> <span 
class="n">service</span> <span class="n">document</span> <span 
class="n">at</span> <span class="n">e</span><span class="p">.</span><span 
class="n">g</span><span class="p">.</span> <span class="n">http</span><span 
class="p">:</span><span class="o">//</span><span 
class="n">localhost</span><span class="p">:</span>8080<span 
class="o">/</span><span class="n">DemoService</span><span 
class="o">/</span><span class="n">DemoService</span><span 
class="p">.</span><span class="n">svc</span>
+    <span class="k">if</span><span class="p">(</span><span 
class="n">entityContainerName</span> <span class="o">==</span> <span 
class="n">null</span> <span class="o">||</span> <span 
class="n">entityContainerName</span><span class="p">.</span><span 
class="n">equals</span><span class="p">(</span><span 
class="n">CONTAINER</span><span class="p">)){</span>
+        <span class="n">EntityContainerInfo</span> <span 
class="n">entityContainerInfo</span> <span class="p">=</span> <span 
class="n">new</span> <span class="n">EntityContainerInfo</span><span 
class="p">();</span>
+        <span class="n">entityContainerInfo</span><span 
class="p">.</span><span class="n">setContainerName</span><span 
class="p">(</span><span class="n">CONTAINER</span><span class="p">);</span>
+        <span class="k">return</span> <span 
class="n">entityContainerInfo</span><span class="p">;</span>
+    <span class="p">}</span>
+
+    <span class="k">return</span> <span class="n">null</span><span 
class="p">;</span>
+<span class="p">}</span>
 </pre></div>
 
 
-<p>}
-```</p>
 <p><strong>Summary:</strong><br />
 We have created a class that declares the metadata of our OData service.
 We have declared the main elements of an OData service: <em>EntityType</em>, 
<em>EntitySet</em>, <em>EntityContainer</em> and <em>Schema</em>.</p>
 <p>At runtime of an OData service, such metadata can be viewed by invoking the 
Metadata Document.</p>
-<p>In our example:
-<code>http://localhost:8080/DemoService/DemoService.svc/$metadata</code></p>
-<p><code>xml
-&lt;?xml version='1.0' encoding='UTF-8'?&gt;
-&lt;edmx:Edmx Version="4.0" 
xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx"&gt;
-  &lt;edmx:DataServices&gt;
-    &lt;Schema xmlns="http://docs.oasis-open.org/odata/ns/edm"; 
Namespace="com.example.model"&gt;
-      &lt;EntityType Name="Product"&gt;
-        &lt;Key&gt;
-          &lt;PropertyRef Name="ID"/&gt;
-        &lt;/Key&gt;
-        &lt;Property Name="ID" Type="Edm.Int32"/&gt;
-        &lt;Property Name="Name" Type="Edm.String"/&gt;
-        &lt;Property Name="Description" Type="Edm.String"/&gt;
-      &lt;/EntityType&gt;
-      &lt;EntityContainer Name="Container"&gt;
-        &lt;EntitySet Name="Products" 
EntityType="com.example.model.Product"/&gt;
-      &lt;/EntityContainer&gt;
-    &lt;/Schema&gt;
-  &lt;/edmx:DataServices&gt;
-&lt;/edmx:Edmx&gt;</code></p>
-<p>The Service Document can be invoked to view the Entity Sets, like in our 
example at
-<code>http://localhost:8080/DemoService/DemoService.svc/</code></p>
-<p><code>json
-{
-  "@odata.context" : 
"http://localhost:8080/DemoService/DemoService.svc/$metadata";,
-  "value" : [
-  {
-    "name" : "Products",
-    "url" : "Products"
-  } ]
-}</code></p>
+<p>In our example:</p>
+<div 
class="codehilite"><pre>http://localhost:8080/DemoService/DemoService.svc/<span 
class="p">$</span><span class="nv">metadata</span>
+
+
+
+<span class="cp">&lt;?xml version=&#39;1.0&#39; 
encoding=&#39;UTF-8&#39;?&gt;</span>
+<span class="nt">&lt;edmx:Edmx</span> <span class="na">Version=</span><span 
class="s">&quot;4.0&quot;</span> <span class="na">xmlns:edmx=</span><span 
class="s">&quot;http://docs.oasis-open.org/odata/ns/edmx&quot;</span><span 
class="nt">&gt;</span>
+  <span class="nt">&lt;edmx:DataServices&gt;</span>
+    <span class="nt">&lt;Schema</span> <span class="na">xmlns=</span><span 
class="s">&quot;http://docs.oasis-open.org/odata/ns/edm&quot;</span> <span 
class="na">Namespace=</span><span 
class="s">&quot;com.example.model&quot;</span><span class="nt">&gt;</span>
+      <span class="nt">&lt;EntityType</span> <span 
class="na">Name=</span><span class="s">&quot;Product&quot;</span><span 
class="nt">&gt;</span>
+        <span class="nt">&lt;Key&gt;</span>
+          <span class="nt">&lt;PropertyRef</span> <span 
class="na">Name=</span><span class="s">&quot;ID&quot;</span><span 
class="nt">/&gt;</span>
+        <span class="nt">&lt;/Key&gt;</span>
+        <span class="nt">&lt;Property</span> <span 
class="na">Name=</span><span class="s">&quot;ID&quot;</span> <span 
class="na">Type=</span><span class="s">&quot;Edm.Int32&quot;</span><span 
class="nt">/&gt;</span>
+        <span class="nt">&lt;Property</span> <span 
class="na">Name=</span><span class="s">&quot;Name&quot;</span> <span 
class="na">Type=</span><span class="s">&quot;Edm.String&quot;</span><span 
class="nt">/&gt;</span>
+        <span class="nt">&lt;Property</span> <span 
class="na">Name=</span><span class="s">&quot;Description&quot;</span> <span 
class="na">Type=</span><span class="s">&quot;Edm.String&quot;</span><span 
class="nt">/&gt;</span>
+      <span class="nt">&lt;/EntityType&gt;</span>
+      <span class="nt">&lt;EntityContainer</span> <span 
class="na">Name=</span><span class="s">&quot;Container&quot;</span><span 
class="nt">&gt;</span>
+        <span class="nt">&lt;EntitySet</span> <span 
class="na">Name=</span><span class="s">&quot;Products&quot;</span> <span 
class="na">EntityType=</span><span 
class="s">&quot;com.example.model.Product&quot;</span><span 
class="nt">/&gt;</span>
+      <span class="nt">&lt;/EntityContainer&gt;</span>
+    <span class="nt">&lt;/Schema&gt;</span>
+  <span class="nt">&lt;/edmx:DataServices&gt;</span>
+<span class="nt">&lt;/edmx:Edmx&gt;</span>
+</pre></div>
+
+
+<p>The Service Document can be invoked to view the Entity Sets, like in our 
example at</p>
+<div class="codehilite"><pre><span class="n">http</span><span 
class="p">:</span><span class="o">//</span><span 
class="n">localhost</span><span class="p">:</span>8080<span 
class="o">/</span><span class="n">DemoService</span><span 
class="o">/</span><span class="n">DemoService</span><span 
class="p">.</span><span class="n">svc</span><span class="o">/</span>
+
+
+
+<span class="p">{</span>
+  &quot;<span class="p">@</span><span class="n">odata</span><span 
class="p">.</span><span class="n">context</span>&quot; <span class="p">:</span> 
&quot;<span class="n">http</span><span class="p">:</span><span 
class="o">//</span><span class="n">localhost</span><span 
class="p">:</span>8080<span class="o">/</span><span 
class="n">DemoService</span><span class="o">/</span><span 
class="n">DemoService</span><span class="p">.</span><span 
class="n">svc</span><span class="o">/</span>$<span 
class="n">metadata</span>&quot;<span class="p">,</span>
+  &quot;<span class="n">value</span>&quot; <span class="p">:</span> <span 
class="p">[</span>
+  <span class="p">{</span>
+    &quot;<span class="n">name</span>&quot; <span class="p">:</span> 
&quot;<span class="n">Products</span>&quot;<span class="p">,</span>
+    &quot;<span class="n">url</span>&quot; <span class="p">:</span> 
&quot;<span class="n">Products</span>&quot;
+  <span class="p">}</span> <span class="p">]</span>
+<span class="p">}</span>
+</pre></div>
+
+
 <blockquote>
 <p>Note:<br />
 After implementing the <em>EdmProvider</em>, we can, as an intermediate step, 
build/deploy the service and invoke the 2 static pages:   service document and 
metadata document.<br />
@@ -561,23 +573,30 @@ For example, the property names have to
 <p>Within our package <em>myservice.mynamespace.service</em>, we create a Java 
class <em>DemoEntityCollectionProcessor</em>  that implements the interface 
<em>org.apache.olingo.server.api.processor.EntityCollectionProcessor</em>.</p>
 <p><img alt="createJavaClass" src="createJavaClass.png" title="The Eclipse 
dialog for creating a Java class" /></p>
 <h3 id="423-implement-the-required-methods">4.2.3. Implement the required 
methods</h3>
-<p>After creation of the Java class, we can see that there are 2 methods to be 
implemented:
-<em> <em>init()</em><br />
-    This method is invoked by the <em>Olingo</em> Framework, allowing us to 
store the context object</em> <em>readEntityCollection()</em><br />
-    Here we have to fetch the required data and pass it back to the 
<em>Olingo</em> FWK</p>
+<p>After creation of the Java class, we can see that there are 2 methods to be 
implemented:</p>
+<ul>
+<li><em>init()</em><br />
+      This method is invoked by the <em>Olingo</em> Framework, allowing us to 
store the context object</li>
+<li><em>readEntityCollection()</em><br />
+    Here we have to fetch the required data and pass it back to the 
<em>Olingo</em> FWK</li>
+</ul>
 <p>Let’s have a closer look</p>
 <p><strong><em>init()</em></strong></p>
 <p>This method is common to all processor interfaces.<br />
 The <em>Olingo</em> framework initializes the processor with an instance of 
the <em>OData</em> object.
 According to the Javadoc, this object is the “Root object for serving 
factory tasks…”
 We’ll need it later, so we store it as member variable.</p>
-<p><code>java
-    public void init(OData odata, ServiceMetadata serviceMetadata) {
-        this.odata = odata;
-    }</code></p>
+<div class="codehilite"><pre><span class="n">public</span> <span 
class="n">void</span> <span class="n">init</span><span class="p">(</span><span 
class="n">OData</span> <span class="n">odata</span><span class="p">,</span> 
<span class="n">ServiceMetadata</span> <span 
class="n">serviceMetadata</span><span class="p">)</span> <span 
class="p">{</span>
+    <span class="n">this</span><span class="p">.</span><span 
class="n">odata</span> <span class="p">=</span> <span 
class="n">odata</span><span class="p">;</span>
+<span class="p">}</span>
+</pre></div>
+
+
 <p>Don’t forget to declare the member variable</p>
-<p><code>java
-    private OData odata;</code></p>
+<div class="codehilite"><pre><span class="n">private</span> <span 
class="n">OData</span> <span class="n">odata</span><span class="p">;</span>
+</pre></div>
+
+
 <p><strong><em>readEntityCollection()</em></strong></p>
 <p>The <em>EntityCollectionProcessor</em> exposes only one method:<br />
 <em>readEntityCollection()</em><br />
@@ -614,33 +633,26 @@ If the user doesn’t specify any con
 Because the <em>readEntityCollection</em> method is supposed to deliver the 
data in the format that is requested by the user. We’ll use this parameter 
when creating a serializer based on it.</p>
 <p>The steps for implementating the method <em>readEntityCollection</em> 
are:</p>
 <ol>
-<li>
-<p>Which data is requested?<br />
-Usually, an OData service provides different <em>EntitySets</em>, so first it 
is required to identify which <em>EntitySet</em> has been requested. This 
information can be retrieved from the <em>uriInfo</em> object</p>
-</li>
-<li>
-<p>Fetch the data<br />
-As a developer of the OData service, you have to know how and where the data 
is stored. In many cases, this would be a database. At this point, you would 
connect to your database and fetch the requested data with an appropriate SQL 
statement. The data that is fetched from the data storage has to be put into an 
<em>EntitySet</em> object.
-Note that this object has to be of type <em>EntitySet</em>, not 
<em>EdmEntitySet</em><br />
-The package <em>org.apache.olingo.commons.api.data</em> provides interfaces 
that describe the actual data, not the metadata.</p>
-</li>
+<li>Which data is requested?<br />
+  Usually, an OData service provides different <em>EntitySets</em>, so first 
it is required to identify which <em>EntitySet</em> has been requested. This 
information can be retrieved from the <em>uriInfo</em> object</li>
+<li>Fetch the data
+  As a developer of the OData service, you have to know how and where the data 
is stored. In many cases, this would be a database. At this point, you would 
connect to your database and fetch the requested data with an appropriate SQL 
statement. The data that is fetched from the data storage has to be put into an 
<em>EntitySet</em> object.
+  Note that this object has to be of type <em>EntitySet</em>, not 
<em>EdmEntitySet</em><br />
+  The package <em>org.apache.olingo.commons.api.data</em> provides interfaces 
that describe the actual data, not the metadata.</li>
 </ol>
 <p><img alt="datapackage" src="datapackage.png" title="The package containing 
the interfaces for handling runtime data" /></p>
 <ol>
 <li>
 <p>Transform the data<br />
 <em>Olingo</em> expects from us to provide the data as low-level 
<em>InputStream</em> object. However, <em>Olingo</em> supports us in doing so, 
by providing us with a proper "serializer".
-So what we have to do is create the serializer based on the requested content 
type, configure it and call it.</p>
+  So what we have to do is create the serializer based on the requested 
content type, configure it and call it.</p>
 </li>
 <li>
 <p>Configure the response<br />
-The response object has been passed to us in the method signature. We use it 
to set the serialized data (the <em>InputStream</em> object).<br />
-Furthermore, we have to set the HTTP status code, which means that we have the 
opportunity to do proper error handling.<br />
-And finally we have to set the content type.</p>
-</li>
-</ol>
-<p>```java
-public void readEntityCollection(ODataRequest request, ODataResponse response, 
UriInfo uriInfo, ContentType responseFormat)
+  The response object has been passed to us in the method signature. We use it 
to set the serialized data (the <em>InputStream</em> object).<br />
+  Furthermore, we have to set the HTTP status code, which means that we have 
the opportunity to do proper error handling.<br />
+  And finally we have to set the content type.</p>
+<p>public void readEntityCollection(ODataRequest request, ODataResponse 
response, UriInfo uriInfo, ContentType responseFormat)
                      throws ODataApplicationException, SerializerException 
{</p>
 <div class="codehilite"><pre><span class="c1">// 1st retrieve the requested 
EntitySet from the uriInfo (representation of the parsed URI)</span>
 <span class="n">List</span><span class="o">&lt;</span><span 
class="n">UriResource</span><span class="o">&gt;</span> <span 
class="n">resourcePaths</span> <span class="o">=</span> <span 
class="n">uriInfo</span><span class="p">.</span><span 
class="n">getUriResourceParts</span><span class="p">();</span>
@@ -670,39 +682,39 @@ public void readEntityCollection(ODataRe
 </pre></div>
 
 
-<p>}
-```</p>
+<p>}</p>
+</li>
+</ol>
 <p><strong><em>getData()</em></strong></p>
 <p>Up to now, we haven’t 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.<br />
 Since we’re supposed to deliver the data inside an <em>EntitySet</em> 
instance, we create the instance, ask it for the (initially empty) list of 
entities and add some new entities to it.<br />
 We create the entities and their properties according to what we declared in 
our <em>ExampleEdmProvider</em> class. So we have to take care to provide the 
correct names to the new property objects.</p>
-<p>```java
-private EntitySet getData(EdmEntitySet edmEntitySet){</p>
-<div class="codehilite"><pre><span class="n">EntitySet</span> <span 
class="n">entitySet</span> <span class="p">=</span> <span class="n">new</span> 
<span class="n">EntitySetImpl</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">entityList</span> <span class="p">=</span> <span 
class="n">entitySet</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">entityList</span><span class="p">.</span><span 
class="n">add</span><span class="p">(</span><span class="n">new</span> <span 
class="n">EntityImpl</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">PropertyImpl</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">PropertyImpl</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">PropertyImpl</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">entityList</span><span class="p">.</span><span 
class="n">add</span><span class="p">(</span><span class="n">new</span> <span 
class="n">EntityImpl</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">PropertyImpl</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">PropertyImpl</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">PropertyImpl</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">entityList</span><span class="p">.</span><span 
class="n">add</span><span class="p">(</span><span class="n">new</span> <span 
class="n">EntityImpl</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">PropertyImpl</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">PropertyImpl</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">PropertyImpl</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;17 <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>
+<div class="codehilite"><pre><span class="n">private</span> <span 
class="n">EntitySet</span> <span class="n">getData</span><span 
class="p">(</span><span class="n">EdmEntitySet</span> <span 
class="n">edmEntitySet</span><span class="p">){</span>
+
+    <span class="n">EntitySet</span> <span class="n">entitySet</span> <span 
class="p">=</span> <span class="n">new</span> <span 
class="n">EntitySetImpl</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">entityList</span> <span class="p">=</span> <span 
class="n">entitySet</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">entityList</span><span class="p">.</span><span 
class="n">add</span><span class="p">(</span><span class="n">new</span> <span 
class="n">EntityImpl</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">PropertyImpl</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">PropertyImpl</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">PropertyImpl</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">entityList</span><span class="p">.</span><span 
class="n">add</span><span class="p">(</span><span class="n">new</span> <span 
class="n">EntityImpl</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">PropertyImpl</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">PropertyImpl</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">PropertyImpl</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">entityList</span><span class="p">.</span><span 
class="n">add</span><span class="p">(</span><span class="n">new</span> <span 
class="n">EntityImpl</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">PropertyImpl</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">PropertyImpl</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">PropertyImpl</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;17 <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="k">return</span> <span class="n">entitySet</span><span 
class="p">;</span>
+    <span class="k">return</span> <span class="n">entitySet</span><span 
class="p">;</span>
+<span class="p">}</span>
 </pre></div>
 
 
-<p>}
-```</p>
 <h2 id="43-web-application">4.3. Web Application</h2>
 <p>After declaring the metadata and providing the data, our OData service 
implementation is done.<br />
 The last step is to enable our OData service to be called on a web server.<br 
/>
@@ -720,58 +732,60 @@ It receives the user request and if the
 This means that the handler has to be configured with all processor 
implementations that have been created along with the OData service (in our 
example, only one processor).
 Furthermore, the <em>ODataHttpHandler</em> needs to carry the knowledge about 
the <em>EdmProvider</em>.</p>
 <p>As such, here’s the location where our 2 implemented classes come 
together, the metadata declaration and the data provisioning.</p>
-<p>```java
-// This class represents a standard HttpServlet implementation.
-// It is used as main entry point for the web application that carries the 
OData service.
-// The implementation of this HttpServlet simply delegates the user requests 
to the ODataHttpHandler
-public class DemoServlet extends HttpServlet {</p>
-<div class="codehilite"><pre><span class="n">private</span> <span 
class="n">static</span> <span class="n">final</span> <span 
class="n">long</span> <span class="n">serialVersionUID</span> <span 
class="p">=</span> 1<span class="n">L</span><span class="p">;</span>
-<span class="n">private</span> <span class="n">static</span> <span 
class="n">final</span> <span class="n">Logger</span> <span class="n">LOG</span> 
<span class="p">=</span> <span class="n">LoggerFactory</span><span 
class="p">.</span><span class="n">getLogger</span><span class="p">(</span><span 
class="n">DemoServlet</span><span class="p">.</span><span 
class="n">class</span><span class="p">);</span>
-
-<span class="p">@</span><span class="n">Override</span>
-<span class="n">protected</span> <span class="n">void</span> <span 
class="n">service</span><span class="p">(</span><span class="n">final</span> 
<span class="n">HttpServletRequest</span> <span class="n">req</span><span 
class="p">,</span> <span class="n">final</span> <span 
class="n">HttpServletResponse</span> <span class="n">resp</span><span 
class="p">)</span> <span class="n">throws</span> <span 
class="n">ServletException</span><span class="p">,</span> <span 
class="n">IOException</span> <span class="p">{</span>
-
-    <span class="k">try</span> <span class="p">{</span>
-        <span class="o">//</span> <span class="n">create</span> <span 
class="n">odata</span> <span class="n">handler</span> <span 
class="n">and</span> <span class="n">configure</span> <span class="n">it</span> 
<span class="n">with</span> <span class="n">EdmProvider</span> <span 
class="n">and</span> <span class="n">Processor</span>
-        <span class="n">OData</span> <span class="n">odata</span> <span 
class="p">=</span> <span class="n">OData</span><span class="p">.</span><span 
class="n">newInstance</span><span class="p">();</span>
-        <span class="n">ServiceMetadata</span> <span class="n">edm</span> 
<span class="p">=</span> <span class="n">odata</span><span 
class="p">.</span><span class="n">createServiceMetadata</span><span 
class="p">(</span><span class="n">new</span> <span 
class="n">ExampleEdmProvider</span><span class="p">(),</span> <span 
class="n">new</span> <span class="n">ArrayList</span><span 
class="o">&lt;</span><span class="n">EdmxReference</span><span 
class="o">&gt;</span><span class="p">());</span>
-        <span class="n">ODataHttpHandler</span> <span class="n">handler</span> 
<span class="p">=</span> <span class="n">odata</span><span 
class="p">.</span><span class="n">createHandler</span><span 
class="p">(</span><span class="n">edm</span><span class="p">);</span>
-        <span class="n">handler</span><span class="p">.</span><span 
class="n">register</span><span class="p">(</span><span class="n">new</span> 
<span class="n">DemoEntityCollectionProcessor</span><span class="p">());</span>
-
-        <span class="o">//</span> <span class="n">let</span> <span 
class="n">the</span> <span class="n">handler</span> <span class="n">do</span> 
<span class="n">the</span> <span class="n">work</span>
-        <span class="n">handler</span><span class="p">.</span><span 
class="n">process</span><span class="p">(</span><span class="n">req</span><span 
class="p">,</span> <span class="n">resp</span><span class="p">);</span>
-
-    <span class="p">}</span> <span class="k">catch</span> <span 
class="p">(</span><span class="n">RuntimeException</span> <span 
class="n">e</span><span class="p">)</span> <span class="p">{</span>
-        <span class="n">LOG</span><span class="p">.</span><span 
class="n">error</span><span class="p">(</span>&quot;<span 
class="n">Server</span> <span class="n">Error</span> <span 
class="n">ocurred</span> <span class="n">in</span> <span 
class="n">DemoServlet</span>&quot;<span class="p">,</span> <span 
class="n">e</span><span class="p">);</span>
-        <span class="n">throw</span> <span class="n">new</span> <span 
class="n">ServletException</span><span class="p">(</span><span 
class="n">e</span><span class="p">);</span>
+<div class="codehilite"><pre><span class="c1">// This class represents a 
standard HttpServlet implementation.</span>
+<span class="c1">// It is used as main entry point for the web application 
that carries the OData service.</span>
+<span class="c1">// The implementation of this HttpServlet simply delegates 
the user requests to the ODataHttpHandler</span>
+<span class="n">public</span> <span class="k">class</span> <span 
class="n">DemoServlet</span> <span class="k">extends</span> <span 
class="n">HttpServlet</span> <span class="p">{</span>
+
+    <span class="n">private</span> <span class="k">static</span> <span 
class="k">final</span> <span class="n">long</span> <span 
class="n">serialVersionUID</span> <span class="o">=</span> <span 
class="mh">1</span><span class="no">L</span><span class="p">;</span>
+    <span class="n">private</span> <span class="k">static</span> <span 
class="k">final</span> <span class="n">Logger</span> <span 
class="no">LOG</span> <span class="o">=</span> <span 
class="n">LoggerFactory</span><span class="p">.</span><span 
class="n">getLogger</span><span class="p">(</span><span 
class="n">DemoServlet</span><span class="p">.</span><span 
class="k">class</span><span class="p">);</span>
+
+    <span class="p">@</span><span class="n">Override</span>
+    <span class="k">protected</span> <span class="k">void</span> <span 
class="n">service</span><span class="p">(</span><span class="k">final</span> 
<span class="n">HttpServletRequest</span> <span class="n">req</span><span 
class="p">,</span> <span class="k">final</span> <span 
class="n">HttpServletResponse</span> <span class="n">resp</span><span 
class="p">)</span> <span class="n">throws</span> <span 
class="n">ServletException</span><span class="p">,</span> <span 
class="n">IOException</span> <span class="p">{</span>
+
+        <span class="n">try</span> <span class="p">{</span>
+            <span class="c1">// create odata handler and configure it with 
EdmProvider and Processor</span>
+            <span class="n">OData</span> <span class="n">odata</span> <span 
class="o">=</span> <span class="n">OData</span><span class="p">.</span><span 
class="n">newInstance</span><span class="p">();</span>
+            <span class="n">ServiceMetadata</span> <span class="n">edm</span> 
<span class="o">=</span> <span class="n">odata</span><span 
class="p">.</span><span class="n">createServiceMetadata</span><span 
class="p">(</span><span class="k">new</span> <span 
class="n">ExampleEdmProvider</span><span class="p">(),</span> <span 
class="k">new</span> <span class="n">ArrayList</span><span 
class="o">&lt;</span><span class="n">EdmxReference</span><span 
class="o">&gt;</span><span class="p">());</span>
+            <span class="n">ODataHttpHandler</span> <span 
class="n">handler</span> <span class="o">=</span> <span 
class="n">odata</span><span class="p">.</span><span 
class="n">createHandler</span><span class="p">(</span><span 
class="n">edm</span><span class="p">);</span>
+            <span class="n">handler</span><span class="p">.</span><span 
class="n">register</span><span class="p">(</span><span class="k">new</span> 
<span class="n">DemoEntityCollectionProcessor</span><span class="p">());</span>
+
+            <span class="c1">// let the handler do the work</span>
+            <span class="n">handler</span><span class="p">.</span><span 
class="n">process</span><span class="p">(</span><span class="n">req</span><span 
class="p">,</span> <span class="n">resp</span><span class="p">);</span>
+
+        <span class="p">}</span> <span class="n">catch</span> <span 
class="p">(</span><span class="n">RuntimeException</span> <span 
class="n">e</span><span class="p">)</span> <span class="p">{</span>
+            <span class="no">LOG</span><span class="p">.</span><span 
class="n">error</span><span class="p">(</span><span class="s">&quot;Server 
Error ocurred in DemoServlet&quot;</span><span class="p">,</span> <span 
class="n">e</span><span class="p">);</span>
+            <span class="n">throw</span> <span class="k">new</span> <span 
class="n">ServletException</span><span class="p">(</span><span 
class="n">e</span><span class="p">);</span>
+        <span class="p">}</span>
     <span class="p">}</span>
 <span class="p">}</span>
 </pre></div>
 
 
-<p>}</p>
-<p>```</p>
 <h3 id="432-edit-the-webxml">4.3.2. Edit the web.xml</h3>
 <p>The very last step of our tutorial is to register the Servlet in the 
<em>web.xml</em> file.<br />
 Furthermore, we need to specify the <em>url-pattern</em> for the servlet, such 
that our OData service can be invoked.</p>
 <p>Open the <em>src/main/webapp/WEB-INF/web.xml</em> file and paste the 
following content into it:</p>
-<p>```xml
-<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-    xmlns="http://java.sun.com/xml/ns/javaee";
-    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd";
-    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd";
-    id="WebApp_ID" version="2.5"></p>
-<p><servlet>
-  <servlet-name>DemoServlet</servlet-name>
-  <servlet-class> myservice.mynamespace.web.DemoServlet</servlet-class>
-  <load-on-startup>1</load-on-startup>
-</servlet></p>
-<p><servlet-mapping>
-  <servlet-name>DemoServlet</servlet-name>
-  <url-pattern>/DemoService.svc/*</url-pattern>
-</servlet-mapping>
-</web-app></p>
-<p>```</p>
+<div class="codehilite"><pre><span class="nt">&lt;web-app</span> <span 
class="na">xmlns:xsi=</span><span 
class="s">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
+    <span class="na">xmlns=</span><span 
class="s">&quot;http://java.sun.com/xml/ns/javaee&quot;</span>
+    <span class="na">xmlns:web=</span><span 
class="s">&quot;http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd&quot;</span>
+    <span class="na">xsi:schemaLocation=</span><span 
class="s">&quot;http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd&quot;</span>
+    <span class="na">id=</span><span class="s">&quot;WebApp_ID&quot;</span> 
<span class="na">version=</span><span class="s">&quot;2.5&quot;</span><span 
class="nt">&gt;</span>
+
+<span class="nt">&lt;servlet&gt;</span>
+  <span class="nt">&lt;servlet-name&gt;</span>DemoServlet<span 
class="nt">&lt;/servlet-name&gt;</span>
+  <span class="nt">&lt;servlet-class&gt;</span> 
myservice.mynamespace.web.DemoServlet<span 
class="nt">&lt;/servlet-class&gt;</span>
+  <span class="nt">&lt;load-on-startup&gt;</span>1<span 
class="nt">&lt;/load-on-startup&gt;</span>
+<span class="nt">&lt;/servlet&gt;</span>
+
+<span class="nt">&lt;servlet-mapping&gt;</span>
+  <span class="nt">&lt;servlet-name&gt;</span>DemoServlet<span 
class="nt">&lt;/servlet-name&gt;</span>
+  <span class="nt">&lt;url-pattern&gt;</span>/DemoService.svc/*<span 
class="nt">&lt;/url-pattern&gt;</span>
+<span class="nt">&lt;/servlet-mapping&gt;</span>
+<span class="nt">&lt;/web-app&gt;</span>
+</pre></div>
+
+
 <p>That’s it. Now we can build and run the web application.</p>
 <hr />
 <h1 id="5-run-the-service">5. Run the service</h1>
@@ -797,62 +811,77 @@ If you face problems related to the serv
 <h3 id="the-service-urls">The service-URLs</h3>
 <p>Try the following URLs:</p>
 <p><strong>Service Document</strong></p>
-<p><code>http://localhost:8080/DemoService/DemoService.svc/</code>
-The expected result is the service document which displays our 
<em>EntityContainerInfo</em>:</p>
-<p><code>json
-{
-  "@odata.context" : 
"http://localhost:8080/DemoService/DemoService.svc/$metadata";,
-  "value" : [
-  {
-    "name" : "Products",
-    "url" : "Products"
-  } ]
-}</code></p>
+<div class="codehilite"><pre><span class="n">http</span><span 
class="p">:</span><span class="o">//</span><span 
class="n">localhost</span><span class="p">:</span>8080<span 
class="o">/</span><span class="n">DemoService</span><span 
class="o">/</span><span class="n">DemoService</span><span 
class="p">.</span><span class="n">svc</span><span class="o">/</span>
+</pre></div>
+
+
+<p>The expected result is the service document which displays our 
<em>EntityContainerInfo</em>:</p>
+<div class="codehilite"><pre><span class="p">{</span>
+  &quot;<span class="p">@</span><span class="n">odata</span><span 
class="p">.</span><span class="n">context</span>&quot; <span class="p">:</span> 
&quot;<span class="n">http</span><span class="p">:</span><span 
class="o">//</span><span class="n">localhost</span><span 
class="p">:</span>8080<span class="o">/</span><span 
class="n">DemoService</span><span class="o">/</span><span 
class="n">DemoService</span><span class="p">.</span><span 
class="n">svc</span><span class="o">/</span>$<span 
class="n">metadata</span>&quot;<span class="p">,</span>
+  &quot;<span class="n">value</span>&quot; <span class="p">:</span> <span 
class="p">[</span>
+  <span class="p">{</span>
+    &quot;<span class="n">name</span>&quot; <span class="p">:</span> 
&quot;<span class="n">Products</span>&quot;<span class="p">,</span>
+    &quot;<span class="n">url</span>&quot; <span class="p">:</span> 
&quot;<span class="n">Products</span>&quot;
+  <span class="p">}</span> <span class="p">]</span>
+<span class="p">}</span>
+</pre></div>
+
+
 <p><strong>Metadata Document</strong></p>
-<p><code>http://localhost:8080/ExampleService1/ExampleService1.svc/$metadata</code>
-The expected result is the metadata document that displays our 
<em>Schema</em>, <em>EntityType</em>, <em>EntityContainer</em> and 
<em>EntitySet</em>.</p>
-<p><code>xml
-&lt;?xml version='1.0' encoding='UTF-8'?&gt;
-&lt;edmx:Edmx Version="4.0" 
xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx"&gt;
-  &lt;edmx:DataServices&gt;
-    &lt;Schema xmlns="http://docs.oasis-open.org/odata/ns/edm"; 
Namespace="com.example.model"&gt;
-      &lt;EntityType Name="Product"&gt;
-        &lt;Key&gt;
-          &lt;PropertyRef Name="ID"/&gt;
-        &lt;/Key&gt;
-        &lt;Property Name="ID" Type="Edm.Int32"/&gt;
-        &lt;Property Name="Name" Type="Edm.String"/&gt;
-        &lt;Property Name="Description" Type="Edm.String"/&gt;
-      &lt;/EntityType&gt;
-      &lt;EntityContainer Name="Container"&gt;
-        &lt;EntitySet Name="Products" 
EntityType="com.example.model.Product"/&gt;
-      &lt;/EntityContainer&gt;
-    &lt;/Schema&gt;
-  &lt;/edmx:DataServices&gt;
-&lt;/edmx:Edmx&gt;</code></p>
+<div class="codehilite"><pre><span class="n">http</span><span 
class="p">:</span><span class="o">//</span><span 
class="n">localhost</span><span class="p">:</span>8080<span 
class="o">/</span><span class="n">ExampleService1</span><span 
class="o">/</span><span class="n">ExampleService1</span><span 
class="p">.</span><span class="n">svc</span><span class="o">/</span>$<span 
class="n">metadata</span>
+</pre></div>
+
+
+<p>The expected result is the metadata document that displays our 
<em>Schema</em>, <em>EntityType</em>, <em>EntityContainer</em> and 
<em>EntitySet</em>.</p>
+<div class="codehilite"><pre><span class="cp">&lt;?xml version=&#39;1.0&#39; 
encoding=&#39;UTF-8&#39;?&gt;</span>
+<span class="nt">&lt;edmx:Edmx</span> <span class="na">Version=</span><span 
class="s">&quot;4.0&quot;</span> <span class="na">xmlns:edmx=</span><span 
class="s">&quot;http://docs.oasis-open.org/odata/ns/edmx&quot;</span><span 
class="nt">&gt;</span>
+  <span class="nt">&lt;edmx:DataServices&gt;</span>
+    <span class="nt">&lt;Schema</span> <span class="na">xmlns=</span><span 
class="s">&quot;http://docs.oasis-open.org/odata/ns/edm&quot;</span> <span 
class="na">Namespace=</span><span 
class="s">&quot;com.example.model&quot;</span><span class="nt">&gt;</span>
+      <span class="nt">&lt;EntityType</span> <span 
class="na">Name=</span><span class="s">&quot;Product&quot;</span><span 
class="nt">&gt;</span>
+        <span class="nt">&lt;Key&gt;</span>
+          <span class="nt">&lt;PropertyRef</span> <span 
class="na">Name=</span><span class="s">&quot;ID&quot;</span><span 
class="nt">/&gt;</span>
+        <span class="nt">&lt;/Key&gt;</span>
+        <span class="nt">&lt;Property</span> <span 
class="na">Name=</span><span class="s">&quot;ID&quot;</span> <span 
class="na">Type=</span><span class="s">&quot;Edm.Int32&quot;</span><span 
class="nt">/&gt;</span>
+        <span class="nt">&lt;Property</span> <span 
class="na">Name=</span><span class="s">&quot;Name&quot;</span> <span 
class="na">Type=</span><span class="s">&quot;Edm.String&quot;</span><span 
class="nt">/&gt;</span>
+        <span class="nt">&lt;Property</span> <span 
class="na">Name=</span><span class="s">&quot;Description&quot;</span> <span 
class="na">Type=</span><span class="s">&quot;Edm.String&quot;</span><span 
class="nt">/&gt;</span>
+      <span class="nt">&lt;/EntityType&gt;</span>
+      <span class="nt">&lt;EntityContainer</span> <span 
class="na">Name=</span><span class="s">&quot;Container&quot;</span><span 
class="nt">&gt;</span>
+        <span class="nt">&lt;EntitySet</span> <span 
class="na">Name=</span><span class="s">&quot;Products&quot;</span> <span 
class="na">EntityType=</span><span 
class="s">&quot;com.example.model.Product&quot;</span><span 
class="nt">/&gt;</span>
+      <span class="nt">&lt;/EntityContainer&gt;</span>
+    <span class="nt">&lt;/Schema&gt;</span>
+  <span class="nt">&lt;/edmx:DataServices&gt;</span>
+<span class="nt">&lt;/edmx:Edmx&gt;</span>
+</pre></div>
+
+
 <p><strong>Query / EntitySet</strong></p>
-<p><code>http://localhost:8080/DemoService/DemoService.svc/Products</code>
-The expected result is the hardcoded list of product entries, which we have 
coded in our processor implementation:</p>
-<p><code>json
-{
-  "@odata.context":"$metadata#Products","
-  value":[
-    {
-      "ID":1,
-      "Name":"Notebook Basic 15",
-      "Description":"Notebook Basic, 1.7GHz - 15 XGA - 1024MB DDR2 SDRAM - 
40GB"
-    },
-    {
-      "ID":2,
-      "Name":"1UMTS PDA",
-      "Description":"Ultrafast 3G UMTS/HSDPA Pocket PC, supports GSM network"
-    },
-    {
-      "ID":3,
-      "Name":"Ergo Screen",
-      "Description":"17 Optimum Resolution 1024 x 768 @ 85Hz, resolution 1280 
x 960"
-  }]
-}</code></p>
+<div class="codehilite"><pre><span class="n">http</span><span 
class="p">:</span><span class="o">//</span><span 
class="n">localhost</span><span class="p">:</span>8080<span 
class="o">/</span><span class="n">DemoService</span><span 
class="o">/</span><span class="n">DemoService</span><span 
class="p">.</span><span class="n">svc</span><span class="o">/</span><span 
class="n">Products</span>
+</pre></div>
+
+
+<p>The expected result is the hardcoded list of product entries, which we have 
coded in our processor implementation:</p>
+<div class="codehilite"><pre><span class="p">{</span>
+  &quot;<span class="p">@</span><span class="n">odata</span><span 
class="p">.</span><span class="n">context</span>&quot;<span 
class="p">:</span>&quot;$<span class="n">metadata</span>#<span 
class="n">Products</span>&quot;<span class="p">,</span>&quot;
+  <span class="n">value</span>&quot;<span class="p">:[</span>
+    <span class="p">{</span>
+      &quot;<span class="n">ID</span>&quot;<span class="p">:</span>1<span 
class="p">,</span>
+      &quot;<span class="n">Name</span>&quot;<span 
class="p">:</span>&quot;<span class="n">Notebook</span> <span 
class="n">Basic</span> 15&quot;<span class="p">,</span>
+      &quot;<span class="n">Description</span>&quot;<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="p">{</span>
+      &quot;<span class="n">ID</span>&quot;<span class="p">:</span>2<span 
class="p">,</span>
+      &quot;<span class="n">Name</span>&quot;<span 
class="p">:</span>&quot;1<span class="n">UMTS</span> <span 
class="n">PDA</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">Description</span>&quot;<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="p">{</span>
+      &quot;<span class="n">ID</span>&quot;<span class="p">:</span>3<span 
class="p">,</span>
+      &quot;<span class="n">Name</span>&quot;<span 
class="p">:</span>&quot;<span class="n">Ergo</span> <span 
class="n">Screen</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">Description</span>&quot;<span 
class="p">:</span>&quot;17 <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="p">}</span>
+</pre></div>
+
+
 <hr />
 <h1 id="6-summary">6. Summary</h1>
 <p>Finally, we’ve created our first OData service based on the V4 version of 
the OData specification and using the V4 server library provided by 
<em>Olingo</em>.<br />


Reply via email to