Author: buildbot
Date: Wed Nov 18 01:55:09 2015
New Revision: 972798

Log:
Staging update by buildbot for olingo

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

Propchange: websites/staging/olingo/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Wed Nov 18 01:55:09 2015
@@ -1 +1 @@
-1714916
+1714917

Modified: 
websites/staging/olingo/trunk/content/doc/odata4/tutorials/deep_insert/tutorial_deep_insert.html
==============================================================================
--- 
websites/staging/olingo/trunk/content/doc/odata4/tutorials/deep_insert/tutorial_deep_insert.html
 (original)
+++ 
websites/staging/olingo/trunk/content/doc/odata4/tutorials/deep_insert/tutorial_deep_insert.html
 Wed Nov 18 01:55:09 2015
@@ -117,7 +117,7 @@ This tutorial can be found in subdirecto
 <p>In this tutorial shows how to handle "deep insert" requests. OData gives us 
the possibility to create  related entities, and bind existing entities to a 
new created entity in a single request. (More detailed information: <a 
href="http://docs.oasis-open.org/odata/odata/v4.0/errata02/os/complete/part1-protocol/odata-v4.0-errata02-os-part1-protocol-complete.html#_Toc406398326";>OData
 Version 4.0 Part 1: Protocol</a>, <a 
href="http://docs.oasis-open.org/odata/odata-json-format/v4.0/errata02/os/odata-json-format-v4.0-errata02-os-complete.html#_Toc403940637";>OData
 JSON Format Version 4.0</a>)</p>
 <p>OData uses to create a related entity the same syntax as for an expanded 
navigation property, as descripted in <a 
href="http://docs.oasis-open.org/odata/odata-json-format/v4.0/errata02/os/odata-json-format-v4.0-errata02-os-complete.html#_Toc403940637";>OData
 JSON Format</a>. To bind an existing entity, OData uses the 
<code>odata.bind</code> property annotation. The value of the annotation is 
either an entity-Id or a collection of entity-Ids. An <a 
href="http://docs.oasis-open.org/odata/odata/v4.0/errata02/os/complete/part1-protocol/odata-v4.0-errata02-os-part1-protocol-complete.html#_Toc406398204";>entity-Id</a>
 is a durable, opaque, globally unique <a 
href="https://www.ietf.org/rfc/rfc3987.txt";>IRI</a>. The specification 
recommends to use the canonical URL of the entity. In this tutorial the 
relative canonical URL of an entity is used.</p>
 <p><strong>Example</strong></p>
-<p>For example you may want to create a new category and also create new 
products, which are related to the new created category. In addition you would 
like to bind an existing entity to the new created category.
+<p>For example you may want to create a new category and also create new 
products, which are related to the new created category. In addition you would 
like to bind an existing product to the new created category.
 Such a request is issued againest the URL of the entity set. </p>
 <p>In this example, a new Category "Food" and two products ("Bread", "Milk") 
are created. In addition the Product with the key 5 is bind to the just created 
entity.</p>
 <div class="codehilite"><pre><span class="n">POST</span> <span 
class="o">/</span><span class="n">Categories</span> <span 
class="n">HTTP</span><span class="o">/</span>1<span class="p">.</span>1
@@ -147,7 +147,7 @@ Such a request is issued againest the UR
 <p>As a shortcut you should checkout the prepared tutorial project in the <a 
href="https://git-wip-us.apache.org/repos/asf/olingo-odata4";>git repository</a> 
in folder /samples/tutorials/p12_deep_insert_preparation.</p>
 <p>Afterwards do a Deploy and run: it should be working. At this state you can 
perform CRUD operations and do navigations between products and categories.</p>
 <h1 id="2-implementation">2. Implementation<a class="headerlink" 
href="#2-implementation" title="Permanent link">&para;</a></h1>
-<p>Before we start with the implementation, please have a look at the class 
<code>myservice.mynamespace.data.Storage</code>. In difference to the <a 
href="http://olingo.apache.org/doc/odata4/tutorials/navigation/tutorial_navigation.html";>navigation
 tutorial</a> the relations between two entities can not be hard coded because 
we would like to create and change relations between entities dynamically. In 
the constructor of the data storage the creation of the sample data is called. 
After that the method <code>linkProductsAndCategories</code>is called. This 
methods sets a few links between the just created entities. <strong>The linked 
entites are stored as navigation link</strong></p>
+<p>Before we start with the implementation, please have a look at the class 
<code>myservice.mynamespace.data.Storage</code>. In difference to the <a 
href="http://olingo.apache.org/doc/odata4/tutorials/navigation/tutorial_navigation.html";>navigation
 tutorial</a> the relations between two entities can not be hard coded because 
we would like to create and change relations between entities dynamically. In 
the constructor of the data storage the creation of the sample data is called. 
After that the method <code>linkProductsAndCategories</code>is called. This 
methods sets a few links between the just created entities. <strong>The linked 
entites are stored as navigation links</strong></p>
 <p>To express the relation between two entities, Olingo uses the class <a 
href="http://olingo.apache.org/javadoc/odata4/org/apache/olingo/commons/api/data/Link.html";>Link</a>.
 This class is used for related entites (directly connected via Java 
references) and bindings (which are actually strings) to other entities. To get 
the related entites for a particual navigation property, you can ask an entity 
with the method <a 
href="http://olingo.apache.org/javadoc/odata4/org/apache/olingo/commons/api/data/Linked.html#getNavigationLink(java.lang.String)"><code>getNavigationLink(String
 name)</code></a> for an navigation property link. The link will contain either 
an entity or a collection of entities dependenting on the type of the 
navigation property. To get the actual entities use the methods <a 
href="http://olingo.apache.org/javadoc/odata4/org/apache/olingo/commons/api/data/Link.html#getInlineEntity()"><code>getInlineEntity()</code></a>
 or <a href="http://olingo.apache.org/javadoc/odata4/o
 
rg/apache/olingo/commons/api/data/Link.html#getInlineEntitySet()"><code>getInlineEntitySet()</code></a>
 The same can be done for bindings via the method <a 
href="http://olingo.apache.org/javadoc/odata4/org/apache/olingo/commons/api/data/Linked.html#getNavigationBinding(java.lang.String)"><code>getNavigationBinding(String
 name)</code></a>. The values of the Binding can be gotten by the methods <a 
href="http://olingo.apache.org/javadoc/odata4/org/apache/olingo/commons/api/data/Link.html#getBindingLink()"><code>getBindingLink()</code></a>
 and <a 
href="http://olingo.apache.org/javadoc/odata4/org/apache/olingo/commons/api/data/Link.html#getBindingLinks()"><code>getBindingLinks()</code></a>.
 </p>
 <p>The point is that the Entity deserializer uses the same concept to 
represent the payload as Java objects.


Reply via email to