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 2014/09/16 14:34:20 UTC

svn commit: r922392 [6/23] - in /websites/staging/olingo/trunk/content: ./ doc/ doc/javascript/ doc/odata2/ doc/odata2/tutorials/ doc/odata4/ doc/odata4/tutorials/ doc/tutorials/

Added: websites/staging/olingo/trunk/content/doc/odata2/tutorials/Olingo_Tutorial_Advanced_Service_Resolution.html
==============================================================================
--- websites/staging/olingo/trunk/content/doc/odata2/tutorials/Olingo_Tutorial_Advanced_Service_Resolution.html (added)
+++ websites/staging/olingo/trunk/content/doc/odata2/tutorials/Olingo_Tutorial_Advanced_Service_Resolution.html Tue Sep 16 12:34:18 2014
@@ -0,0 +1,171 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html lang="en">
+  <head>
+    <meta http-equiv="content-type" content="text/html; charset=utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <meta name="description" content="Apache Olingo provides libraries which enable developers to implement OData producers and OData consumers. The available OData Java library implements OData version 2.0. In future on goal is to provide an OData 4.0 compliant library once the OData standard is published at OASIS. The focus within the community is currently on the Java technology but it is up to the community to discuss if other environments find interest.">
+    <meta name="author" content="">
+    <link rel="icon" href="/favicon.ico">
+    <title>
+      Apache Olingo
+    </title><!-- Bootstrap core CSS -->
+    <link href="/css/bootstrap.css" rel="stylesheet" type="text/css"><!-- Custom styles for this template -->
+    <link href="/css/navbar.css" rel="stylesheet" type="text/css"><!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
+    <link href="/css/offcanvas.css" rel="stylesheet" type="text/css"><!-- Custom styles for this template -->
+    <link rel="stylesheet" href="/css/main.css">
+    <!--[if lt IE 9]><script src="/js/ie8-responsive-file-warning.js"></script><![endif]-->
+
+    <script src="/js/ie-emulation-modes-warning.js" type="text/javascript">
+</script><!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
+
+    <script src="/js/ie10-viewport-bug-workaround.js" type="text/javascript">
+</script><!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
+    <!--[if lt IE 9]>
+      <script src="/js/html5shiv.min.js"></script>
+      <script src="/js/respond.min.js"></script>
+    <![endif]-->
+  </head>
+
+  <body>
+    <div class="container">
+      <!-- Static navbar -->
+      <div class="navbar navbar-default" role="navigation">
+        <div class="container-fluid">
+          <div class="navbar-header">
+            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+              <span class="sr-only">Toggle navigation</span>
+             <span class="icon-bar"></span>
+             <span class="icon-bar"></span>
+             <span class="icon-bar"></span>
+            </button>
+              <img class="navbar-brand" src="/img/OlingoOrangeTM.png" style="width:62px;" >
+              <a class="navbar-brand" href="#">Apache Olingo™</a>
+          </div>
+          <div class="navbar-collapse collapse">
+            <ul class="nav navbar-nav">
+
+              <li><a href="/">Home</a></li>
+              <li class="dropdown">
+                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a>
+                  <ul class="dropdown-menu">
+                      <li><a href="http://www.apache.org/foundation/">ASF Home</a></li>
+                      <li><a href="http://projects.apache.org/">Projects</a></li>
+                      <li><a href="http://people.apache.org/">People</a></li>
+                      <li><a href="http://www.apache.org/foundation/getinvolved.html">Get Involved</a></li>
+                      <li><a href="http://www.apache.org/dyn/closer.cgi">Download</a></li>
+                      <li><a href="http://www.apache.org/security/">Security</a></li>
+                      <li><a href="http://www.apache.org/foundation/sponsorship.html">Support Apache</a></li>
+                  </ul>
+              </li>
+
+              <li><a href="http://www.apache.org/licenses/">License</a></li>
+
+              <li class="dropdown">
+                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">Download <b class="caret"></b></a>
+                  <ul class="dropdown-menu">
+                      <li><a href="/doc/odata2/download.html">Download OData 2.0 Java</a></li>
+                      <li><a href="/doc/javascript/download.html">Download OData 4.0 JavaScript</a></li>
+                  </ul>
+              </li>
+
+              <li class="dropdown">
+                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+                  <ul class="dropdown-menu">
+                    <li><a href="/doc/odata2/index.html">Documentation OData 2.0 Java</a></li>
+                    <li><a href="/doc/javascript/index.html">Documentation OData 4.0 JavaScript</a></li>
+                  </ul>
+              </li>
+              <li><a href="/support.html">Support</a></li>
+
+            </ul>
+
+			  <img class="navbar-right" height="50px" src="/img/asf-logo.gif">
+
+			</div><!--/.nav-collapse -->
+        </div><!--/.container-fluid -->
+      </div><!-- Main component for a primary marketing message or call to action --><h1 id="service-resolution">Service Resolution</h1>
+<p>An OData service usually starts with "/" which delivers the service document while all preceding path segments belong to the servlet and servlet mapping of a web application.</p>
+<p>Some service providers would like to get control over the path hierarchy. This is called service resolution. Actually it means an OData path can start at any hierarchy path level behind the service mapping path elements.</p>
+<p>An uri schema with and without service resolution is shown here: </p>
+<p><img alt="Picture: Service Resolution" src="/img/service-resolution-url.png" /></p>
+<p>A service init parameter (<code>org.apache.olingo.odata2.path.split</code>) can be set for servlet configuration (see web.xml) and define how many path segments are not interpreted as OData path segments. In the example the split value is 2 and the resulting service resolution uses two path segments. The first one is for <namespace> and the secound for <service>. </p>
+<div class="codehilite"><pre><span class="cp">&lt;?xmlversion=&quot;1.0&quot;encoding=&quot;UTF-8&quot;?&gt;</span>
+<span class="nt">&lt;web-appxmlns:xsi</span><span class="err">=&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;display-name&gt;</span>MyApp<span class="nt">&lt;/display-name&gt;</span>
+   <span class="nt">&lt;welcome-file-list&gt;</span>
+         <span class="nt">&lt;welcome-file&gt;</span>index.jsp<span class="nt">&lt;/welcome-file&gt;</span>
+   <span class="nt">&lt;/welcome-file-list&gt;</span>
+   <span class="nt">&lt;servlet&gt;</span>
+         <span class="nt">&lt;servlet-name&gt;</span>ODataServlet<span class="nt">&lt;/servlet-name&gt;</span>
+         <span class="nt">&lt;servlet-class&gt;</span>org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet<span class="nt">&lt;/servlet-class&gt;</span>
+         <span class="nt">&lt;init-param&gt;</span>
+               <span class="nt">&lt;param-name&gt;</span>javax.ws.rs.Application<span class="nt">&lt;/param-name&gt;</span>
+                <span class="nt">&lt;param-value&gt;</span>org.apache.olingo.odata2.core.ODataApplication<span class="nt">&lt;/param-value&gt;</span>
+         <span class="nt">&lt;/init-param&gt;</span>
+         <span class="nt">&lt;init-param&gt;</span>
+                <span class="nt">&lt;param-name&gt;</span>org.apache.olingo.odata2.service.factory<span class="nt">&lt;/param-name&gt;</span>
+                <span class="nt">&lt;param-value&gt;</span>org.apache.olingo.odata2.ref.processor.ScenarioServiceFactory<span class="nt">&lt;/param-value&gt;</span>
+         <span class="nt">&lt;/init-param&gt;</span>
+         <span class="nt">&lt;init-param&gt;</span>
+                <span class="nt">&lt;param-name&gt;</span>org.apache.olingo.odata2.path.split<span class="nt">&lt;/param-name&gt;</span>
+                <span class="nt">&lt;param-value&gt;</span>2<span class="nt">&lt;/param-value&gt;</span>
+         <span class="nt">&lt;/init-param&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>ODataServlet<span class="nt">&lt;/servlet-name&gt;</span>
+         <span class="nt">&lt;url-pattern&gt;</span>/odata.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>A processor implementation (e.g. <code>ODataSingleProcessor</code>) does have access to an <code>ODataContext</code> object which will deliver a <code>ODataUriInfo</code> object. From this class a processor implementation can access the service resolution information which is as following: </p>
+<ul>
+<li>URI: <em>http://localhost:8080/odata.svc/[namespace]/[system]/Room('1')/Size/$value</em>  </li>
+<li>preceding path segments:  <em>[namespace], [system]</em>  </li>
+<li>OData path segments:  <em>Room('1'), Size, $value</em>  </li>
+<li>base URI:  <em>http://localhost:8080/odata.svc/[namespace]/[system]/</em></li>
+</ul>
+<p><strong>Sample Code</strong></p>
+<div class="codehilite"><pre><span class="n">public</span> <span class="n">interface</span> <span class="n">ODataContext</span> <span class="p">{</span>
+  <span class="n">ODataService</span> <span class="n">getService</span><span class="p">()</span> <span class="n">throws</span> <span class="n">ODataException</span><span class="p">;</span>
+  <span class="n">ODataUriInfo</span> <span class="n">getUriInfo</span><span class="p">()</span> <span class="n">throws</span> <span class="n">ODataException</span><span class="p">;</span>
+<span class="p">}</span>
+
+<span class="n">public</span> <span class="n">interface</span> <span class="n">ODataUriInfo</span> <span class="p">{</span>
+  <span class="n">List</span><span class="o">&lt;</span><span class="n">ODataPathSegment</span><span class="o">&gt;</span> <span class="n">getPrecedingPathSegmentList</span><span class="p">();</span>
+  <span class="n">List</span><span class="o">&lt;</span><span class="n">ODataPathSegment</span><span class="o">&gt;</span> <span class="n">getODataPathSegmentList</span><span class="p">();</span>
+  <span class="n">URI</span> <span class="n">getBaseUri</span><span class="p">();</span>
+<span class="p">}</span>
+</pre></div><div align="center">
+<p>Copyright © 2013-2014, The Apache Software Foundation<br>
+				                Apache Olingo, Olingo, Apache, the Apache feather, and
+				the Apache Olingo project logo are trademarks of the Apache Software
+				Foundation.</p>
+        <small><a href="/doc/odata2/privacy.html">Privacy</a></small>
+      </div>
+    </div><!-- /container -->
+    <!-- Bootstrap core JavaScript
+    ================================================== -->
+    <!-- Placed at the end of the document so the pages load faster -->
+    <script src="/js/jquery.js" type="text/javascript">
+</script>
+	  <script src="/js/bootstrap.js" type="text/javascript">
+	  <script src="/js/offcanvas.js" type="text/javascript">
+</script>
+        <!-- Google Analytics: change UA-XXXXX-X to be your site's ID. -->
+        <script>
+            (function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]=
+            function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date;
+            e=o.createElement(i);r=o.getElementsByTagName(i)[0];
+            e.src='//www.google-analytics.com/analytics.js';
+            r.parentNode.insertBefore(e,r)}(window,document,'script','ga'));
+            ga('create','UA-44963757-1');ga('send','pageview');
+        </script>
+  </body>
+</html>

Added: websites/staging/olingo/trunk/content/doc/odata2/tutorials/Olingo_Tutorial_BasicRead_EDM.html
==============================================================================
--- websites/staging/olingo/trunk/content/doc/odata2/tutorials/Olingo_Tutorial_BasicRead_EDM.html (added)
+++ websites/staging/olingo/trunk/content/doc/odata2/tutorials/Olingo_Tutorial_BasicRead_EDM.html Tue Sep 16 12:34:18 2014
@@ -0,0 +1,131 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html lang="en">
+  <head>
+    <meta http-equiv="content-type" content="text/html; charset=utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <meta name="description" content="Apache Olingo provides libraries which enable developers to implement OData producers and OData consumers. The available OData Java library implements OData version 2.0. In future on goal is to provide an OData 4.0 compliant library once the OData standard is published at OASIS. The focus within the community is currently on the Java technology but it is up to the community to discuss if other environments find interest.">
+    <meta name="author" content="">
+    <link rel="icon" href="/favicon.ico">
+    <title>
+      Apache Olingo
+    </title><!-- Bootstrap core CSS -->
+    <link href="/css/bootstrap.css" rel="stylesheet" type="text/css"><!-- Custom styles for this template -->
+    <link href="/css/navbar.css" rel="stylesheet" type="text/css"><!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
+    <link href="/css/offcanvas.css" rel="stylesheet" type="text/css"><!-- Custom styles for this template -->
+    <link rel="stylesheet" href="/css/main.css">
+    <!--[if lt IE 9]><script src="/js/ie8-responsive-file-warning.js"></script><![endif]-->
+
+    <script src="/js/ie-emulation-modes-warning.js" type="text/javascript">
+</script><!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
+
+    <script src="/js/ie10-viewport-bug-workaround.js" type="text/javascript">
+</script><!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
+    <!--[if lt IE 9]>
+      <script src="/js/html5shiv.min.js"></script>
+      <script src="/js/respond.min.js"></script>
+    <![endif]-->
+  </head>
+
+  <body>
+    <div class="container">
+      <!-- Static navbar -->
+      <div class="navbar navbar-default" role="navigation">
+        <div class="container-fluid">
+          <div class="navbar-header">
+            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+              <span class="sr-only">Toggle navigation</span>
+             <span class="icon-bar"></span>
+             <span class="icon-bar"></span>
+             <span class="icon-bar"></span>
+            </button>
+              <img class="navbar-brand" src="/img/OlingoOrangeTM.png" style="width:62px;" >
+              <a class="navbar-brand" href="#">Apache Olingo™</a>
+          </div>
+          <div class="navbar-collapse collapse">
+            <ul class="nav navbar-nav">
+
+              <li><a href="/">Home</a></li>
+              <li class="dropdown">
+                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a>
+                  <ul class="dropdown-menu">
+                      <li><a href="http://www.apache.org/foundation/">ASF Home</a></li>
+                      <li><a href="http://projects.apache.org/">Projects</a></li>
+                      <li><a href="http://people.apache.org/">People</a></li>
+                      <li><a href="http://www.apache.org/foundation/getinvolved.html">Get Involved</a></li>
+                      <li><a href="http://www.apache.org/dyn/closer.cgi">Download</a></li>
+                      <li><a href="http://www.apache.org/security/">Security</a></li>
+                      <li><a href="http://www.apache.org/foundation/sponsorship.html">Support Apache</a></li>
+                  </ul>
+              </li>
+
+              <li><a href="http://www.apache.org/licenses/">License</a></li>
+
+              <li class="dropdown">
+                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">Download <b class="caret"></b></a>
+                  <ul class="dropdown-menu">
+                      <li><a href="/doc/odata2/download.html">Download OData 2.0 Java</a></li>
+                      <li><a href="/doc/javascript/download.html">Download OData 4.0 JavaScript</a></li>
+                  </ul>
+              </li>
+
+              <li class="dropdown">
+                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+                  <ul class="dropdown-menu">
+                    <li><a href="/doc/odata2/index.html">Documentation OData 2.0 Java</a></li>
+                    <li><a href="/doc/javascript/index.html">Documentation OData 4.0 JavaScript</a></li>
+                  </ul>
+              </li>
+              <li><a href="/support.html">Support</a></li>
+
+            </ul>
+
+			  <img class="navbar-right" height="50px" src="/img/asf-logo.gif">
+
+			</div><!--/.nav-collapse -->
+        </div><!--/.container-fluid -->
+      </div><!-- Main component for a primary marketing message or call to action --><h1 id="how-to-use-edmx-source-as-edm-provider-within-an-odata-service">How to use EDMX source as EDM Provider within an OData Service</h1>
+<h2 id="how-to-guide-for-the-using-an-edm-parser">How To Guide for the using an EDM Parser</h2>
+<p>The EDM Parser is designed to parse the metadata document.
+To make the parser accessible from the API, we have to implement the method <code>readMetadata</code> from interface <code>org.apache.olingo.odata2.api.ep.EntityProviderInterface</code>:</p>
+<div class="codehilite"><pre> <span class="p">@</span><span class="n">Override</span>
+ <span class="n">public</span> <span class="n">Edm</span> <span class="n">readMetadata</span><span class="p">(</span><span class="n">final</span> <span class="n">InputStream</span> <span class="n">inputStream</span><span class="p">,</span> <span class="n">final</span> <span class="n">boolean</span> <span class="n">validate</span><span class="p">)</span> <span class="n">throws</span> <span class="n">EntityProviderException</span> <span class="p">{</span>
+   <span class="n">EdmProvider</span> <span class="n">provider</span> <span class="p">=</span> <span class="n">new</span> <span class="n">EdmxProvider</span><span class="p">().</span><span class="n">parse</span><span class="p">(</span><span class="n">inputStream</span><span class="p">,</span> <span class="n">validate</span><span class="p">);</span>
+   <span class="k">return</span> <span class="n">new</span> <span class="n">EdmImplProv</span><span class="p">(</span><span class="n">provider</span><span class="p">);</span>
+  <span class="p">}</span>
+</pre></div>
+
+
+<p>The signature contains the <code>InputStream</code> that represents a data stream read from a file and flag validate. If validate is set to true, the structure of the metadata will be checked according to the CSDL after parsing. For example: it will be validated that each <code>EntityType</code> defines a key element or derives from a <code>BaseType</code> that for its part defines a key.</p>
+<p>To start the parsing we have to follow the next steps:</p>
+<ul>
+<li>create an object of the class <code>EdmxProvider</code>. This class derives from <code>EdmProvider</code> and provides implementations for all of its abstract methods </li>
+<li>invoke the method <code>parse(InputStream, boolean)</code> of this object </li>
+</ul>
+<p>Returned is an EDM object that contains the complete information from parsed metadata.</p><div align="center">
+<p>Copyright © 2013-2014, The Apache Software Foundation<br>
+				                Apache Olingo, Olingo, Apache, the Apache feather, and
+				the Apache Olingo project logo are trademarks of the Apache Software
+				Foundation.</p>
+        <small><a href="/doc/odata2/privacy.html">Privacy</a></small>
+      </div>
+    </div><!-- /container -->
+    <!-- Bootstrap core JavaScript
+    ================================================== -->
+    <!-- Placed at the end of the document so the pages load faster -->
+    <script src="/js/jquery.js" type="text/javascript">
+</script>
+	  <script src="/js/bootstrap.js" type="text/javascript">
+	  <script src="/js/offcanvas.js" type="text/javascript">
+</script>
+        <!-- Google Analytics: change UA-XXXXX-X to be your site's ID. -->
+        <script>
+            (function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]=
+            function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date;
+            e=o.createElement(i);r=o.getElementsByTagName(i)[0];
+            e.src='//www.google-analytics.com/analytics.js';
+            r.parentNode.insertBefore(e,r)}(window,document,'script','ga'));
+            ga('create','UA-44963757-1');ga('send','pageview');
+        </script>
+  </body>
+</html>

Added: websites/staging/olingo/trunk/content/doc/odata2/tutorials/Olingo_Tutorial_BasicWrite.html
==============================================================================
--- websites/staging/olingo/trunk/content/doc/odata2/tutorials/Olingo_Tutorial_BasicWrite.html (added)
+++ websites/staging/olingo/trunk/content/doc/odata2/tutorials/Olingo_Tutorial_BasicWrite.html Tue Sep 16 12:34:18 2014
@@ -0,0 +1,234 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html lang="en">
+  <head>
+    <meta http-equiv="content-type" content="text/html; charset=utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <meta name="description" content="Apache Olingo provides libraries which enable developers to implement OData producers and OData consumers. The available OData Java library implements OData version 2.0. In future on goal is to provide an OData 4.0 compliant library once the OData standard is published at OASIS. The focus within the community is currently on the Java technology but it is up to the community to discuss if other environments find interest.">
+    <meta name="author" content="">
+    <link rel="icon" href="/favicon.ico">
+    <title>
+      Apache Olingo
+    </title><!-- Bootstrap core CSS -->
+    <link href="/css/bootstrap.css" rel="stylesheet" type="text/css"><!-- Custom styles for this template -->
+    <link href="/css/navbar.css" rel="stylesheet" type="text/css"><!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
+    <link href="/css/offcanvas.css" rel="stylesheet" type="text/css"><!-- Custom styles for this template -->
+    <link rel="stylesheet" href="/css/main.css">
+    <!--[if lt IE 9]><script src="/js/ie8-responsive-file-warning.js"></script><![endif]-->
+
+    <script src="/js/ie-emulation-modes-warning.js" type="text/javascript">
+</script><!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
+
+    <script src="/js/ie10-viewport-bug-workaround.js" type="text/javascript">
+</script><!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
+    <!--[if lt IE 9]>
+      <script src="/js/html5shiv.min.js"></script>
+      <script src="/js/respond.min.js"></script>
+    <![endif]-->
+  </head>
+
+  <body>
+    <div class="container">
+      <!-- Static navbar -->
+      <div class="navbar navbar-default" role="navigation">
+        <div class="container-fluid">
+          <div class="navbar-header">
+            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+              <span class="sr-only">Toggle navigation</span>
+             <span class="icon-bar"></span>
+             <span class="icon-bar"></span>
+             <span class="icon-bar"></span>
+            </button>
+              <img class="navbar-brand" src="/img/OlingoOrangeTM.png" style="width:62px;" >
+              <a class="navbar-brand" href="#">Apache Olingo™</a>
+          </div>
+          <div class="navbar-collapse collapse">
+            <ul class="nav navbar-nav">
+
+              <li><a href="/">Home</a></li>
+              <li class="dropdown">
+                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a>
+                  <ul class="dropdown-menu">
+                      <li><a href="http://www.apache.org/foundation/">ASF Home</a></li>
+                      <li><a href="http://projects.apache.org/">Projects</a></li>
+                      <li><a href="http://people.apache.org/">People</a></li>
+                      <li><a href="http://www.apache.org/foundation/getinvolved.html">Get Involved</a></li>
+                      <li><a href="http://www.apache.org/dyn/closer.cgi">Download</a></li>
+                      <li><a href="http://www.apache.org/security/">Security</a></li>
+                      <li><a href="http://www.apache.org/foundation/sponsorship.html">Support Apache</a></li>
+                  </ul>
+              </li>
+
+              <li><a href="http://www.apache.org/licenses/">License</a></li>
+
+              <li class="dropdown">
+                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">Download <b class="caret"></b></a>
+                  <ul class="dropdown-menu">
+                      <li><a href="/doc/odata2/download.html">Download OData 2.0 Java</a></li>
+                      <li><a href="/doc/javascript/download.html">Download OData 4.0 JavaScript</a></li>
+                  </ul>
+              </li>
+
+              <li class="dropdown">
+                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+                  <ul class="dropdown-menu">
+                    <li><a href="/doc/odata2/index.html">Documentation OData 2.0 Java</a></li>
+                    <li><a href="/doc/javascript/index.html">Documentation OData 4.0 JavaScript</a></li>
+                  </ul>
+              </li>
+              <li><a href="/support.html">Support</a></li>
+
+            </ul>
+
+			  <img class="navbar-right" height="50px" src="/img/asf-logo.gif">
+
+			</div><!--/.nav-collapse -->
+        </div><!--/.container-fluid -->
+      </div><!-- Main component for a primary marketing message or call to action --><h1 id="write-scenario">Write Scenario</h1>
+<h3 id="how-to-guide-for-building-a-sample-odata-service-with-the-odata-library-java">How To Guide for building a Sample OData service with the OData Library (Java)</h3>
+<p>This How To Guide shows how to create, update and delete an entry via your Data Provider (<code>ODataSingleProcessor</code>).</p>
+<h3 id="prerequisites">Prerequisites</h3>
+<p>This tutorial is based on the <a href="/doc/odata2/tutorials/basicread.html">Read Scenario</a> - OData Library (Java) tutorial.  </p>
+<h3 id="implementing-create-update-and-delete-entry-at-the-single-processor">Implementing create, update and delete entry at the single processor</h3>
+<h5 id="create-entry">Create entry</h5>
+<ul>
+<li>You already created the <code>MyODataSingleProcessor</code> in the basic tutorial </li>
+<li>Implement <code>MyODataSingleProcessor.createEntity(PostUriInfo uriInfo, InputStream content, String requestContentType, String contentType) throws ODataException</code> by overriding the corresponding method of the <code>ODataSingleProcessor</code> </li>
+</ul>
+<p><strong>Sample Code</strong></p>
+<div class="codehilite"><pre><span class="p">@</span><span class="n">Override</span>
+<span class="n">public</span> <span class="n">ODataResponse</span> <span class="n">createEntity</span><span class="p">(</span><span class="n">PostUriInfo</span> <span class="n">uriInfo</span><span class="p">,</span> <span class="n">InputStream</span> <span class="n">content</span><span class="p">,</span> 
+<span class="n">String</span> <span class="n">requestContentType</span><span class="p">,</span> <span class="n">String</span> <span class="n">contentType</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">No</span> <span class="n">support</span> <span class="k">for</span> <span class="n">creating</span> <span class="n">and</span> <span class="n">linking</span> <span class="n">a</span> <span class="n">new</span> <span class="n">entry</span>
+  <span class="k">if</span> <span class="p">(</span><span class="n">uriInfo</span><span class="p">.</span><span class="n">getNavigationSegments</span><span class="p">().</span><span class="nb">size</span><span class="p">()</span> <span class="o">&gt;</span> 0<span class="p">)</span> <span class="p">{</span>
+  <span class="n">throw</span> <span class="n">new</span> <span class="n">ODataNotImplementedException</span><span class="p">();</span>
+  <span class="p">}</span>
+
+  <span class="o">//</span><span class="n">No</span> <span class="n">support</span> <span class="k">for</span> <span class="n">media</span> <span class="n">resources</span>
+  <span class="k">if</span> <span class="p">(</span><span class="n">uriInfo</span><span class="p">.</span><span class="n">getStartEntitySet</span><span class="p">().</span><span class="n">getEntityType</span><span class="p">().</span><span class="n">hasStream</span><span class="p">())</span> <span class="p">{</span>
+  <span class="n">throw</span> <span class="n">new</span> <span class="n">ODataNotImplementedException</span><span class="p">();</span>
+  <span class="p">}</span>
+
+  <span class="n">EntityProviderReadProperties</span> <span class="k">properties</span> <span class="p">=</span> <span class="n">EntityProviderReadProperties</span><span class="p">.</span><span class="n">init</span><span class="p">().</span><span class="n">mergeSemantic</span><span class="p">(</span><span class="n">false</span><span class="p">).</span><span class="n">build</span><span class="p">();</span>
+
+  <span class="n">ODataEntry</span> <span class="n">entry</span> <span class="p">=</span> <span class="n">EntityProvider</span><span class="p">.</span><span class="n">readEntry</span><span class="p">(</span><span class="n">requestContentType</span><span class="p">,</span> <span class="n">uriInfo</span><span class="p">.</span><span class="n">getStartEntitySet</span><span class="p">(),</span> <span class="n">content</span><span class="p">,</span> <span class="k">properties</span><span class="p">);</span>
+  <span class="o">//</span><span class="k">if</span> <span class="n">something</span> <span class="n">goes</span> <span class="n">wrong</span> <span class="n">in</span> <span class="n">deserialization</span> <span class="n">this</span> <span class="n">is</span> <span class="n">managed</span> <span class="n">via</span> <span class="n">the</span> <span class="n">ExceptionMapper</span>
+  <span class="o">//</span><span class="n">no</span> <span class="n">need</span> <span class="k">for</span> <span class="n">an</span> <span class="n">application</span> <span class="n">to</span> <span class="n">do</span> <span class="n">exception</span> <span class="n">handling</span> <span class="n">here</span> <span class="n">an</span> <span class="n">convert</span> <span class="n">the</span> <span class="n">exceptions</span> <span class="n">in</span> <span class="n">HTTP</span> <span class="n">exceptions</span>
+
+  <span class="n">Map</span><span class="o">&lt;</span><span class="n">String</span><span class="p">,</span> <span class="n">Object</span><span class="o">&gt;</span> <span class="n">data</span> <span class="p">=</span> <span class="n">entry</span><span class="p">.</span><span class="n">getProperties</span><span class="p">();</span>
+  <span class="o">//</span><span class="n">now</span> <span class="n">one</span> <span class="n">can</span> <span class="n">use</span> <span class="n">the</span> <span class="n">data</span> <span class="n">to</span> <span class="n">create</span> <span class="n">the</span> <span class="n">entry</span> <span class="n">in</span> <span class="n">the</span> <span class="n">backend</span> <span class="p">...</span>
+  <span class="o">//</span><span class="n">retrieve</span> <span class="n">the</span> <span class="n">key</span> <span class="n">value</span> <span class="n">after</span> <span class="n">creation</span><span class="p">,</span> <span class="k">if</span> <span class="n">the</span> <span class="n">key</span> <span class="n">is</span> <span class="n">generated</span> <span class="n">by</span> <span class="n">the</span> <span class="n">server</span>
+
+  <span class="o">//</span><span class="n">update</span> <span class="n">the</span> <span class="n">data</span> <span class="n">accordingly</span>
+  <span class="n">data</span><span class="p">.</span><span class="n">put</span><span class="p">(</span>&quot;<span class="n">Id</span>&quot;<span class="p">,</span> <span class="n">Integer</span><span class="p">.</span><span class="n">valueOf</span><span class="p">(</span>887788675<span class="p">));</span>
+
+  <span class="o">//</span><span class="n">serialize</span> <span class="n">the</span> <span class="n">entry</span><span class="p">,</span> <span class="n">Location</span> <span class="n">header</span> <span class="n">is</span> <span class="n">set</span> <span class="n">by</span> <span class="n">OData</span> <span class="n">Library</span>
+  <span class="k">return</span> <span class="n">EntityProvider</span><span class="p">.</span><span class="n">writeEntry</span><span class="p">(</span><span class="n">contentType</span><span class="p">,</span> <span class="n">uriInfo</span><span class="p">.</span><span class="n">getStartEntitySet</span><span class="p">(),</span> <span class="n">entry</span><span class="p">.</span><span class="n">getProperties</span><span class="p">(),</span> <span class="n">EntityProviderWriteProperties</span><span class="p">.</span><span class="n">serviceRoot</span><span class="p">(</span><span class="n">getContext</span><span class="p">().</span><span class="n">getPathInfo</span><span class="p">().</span><span class="n">getServiceRoot</span><span class="p">()).</span><span class="n">build</span><span class="p">());</span>
+<span class="p">}</span>
+</pre></div>
+
+
+<h5 id="update-entry">Update entry</h5>
+<ul>
+<li>You already created the <code>MyODataSingleProcessor</code> in the basic tutorial </li>
+<li>Implement <code>MyODataSingleProcessor.updateEntity(PutMergePatchUriInfo uriInfo, InputStream content, String requestContentType, boolean merge, String contentType) throws ODataException</code> by overriding the corresponding method of the <code>ODataSingleProcessor</code> </li>
+</ul>
+<p><strong>Sample Code</strong></p>
+<div class="codehilite"><pre><span class="p">@</span><span class="n">Override</span>
+<span class="n">public</span> <span class="n">ODataResponse</span> <span class="n">updateEntity</span><span class="p">(</span><span class="n">PutMergePatchUriInfo</span> <span class="n">uriInfo</span><span class="p">,</span> <span class="n">InputStream</span> <span class="n">content</span><span class="p">,</span> <span class="n">String</span> <span class="n">requestContentType</span><span class="p">,</span> <span class="n">boolean</span> <span class="n">merge</span><span class="p">,</span> <span class="n">String</span> <span class="n">contentType</span><span class="p">)</span> <span class="n">throws</span> <span class="n">ODataException</span> <span class="p">{</span>
+<span class="n">EntityProviderReadProperties</span> <span class="k">properties</span> <span class="p">=</span> <span class="n">EntityProviderReadProperties</span><span class="p">.</span><span class="n">init</span><span class="p">().</span><span class="n">mergeSemantic</span><span class="p">(</span><span class="n">false</span><span class="p">).</span><span class="n">build</span><span class="p">();</span>
+
+  <span class="n">ODataEntry</span> <span class="n">entry</span> <span class="p">=</span> <span class="n">EntityProvider</span><span class="p">.</span><span class="n">readEntry</span><span class="p">(</span><span class="n">requestContentType</span><span class="p">,</span> <span class="n">uriInfo</span><span class="p">.</span><span class="n">getTargetEntitySet</span><span class="p">(),</span> <span class="n">content</span><span class="p">,</span> <span class="k">properties</span><span class="p">);</span>
+  <span class="o">//</span><span class="k">if</span> <span class="n">something</span> <span class="n">goes</span> <span class="n">wrong</span> <span class="n">in</span> <span class="n">deserialization</span> <span class="n">this</span> <span class="n">is</span> <span class="n">managed</span> <span class="n">via</span> <span class="n">the</span> <span class="n">ExceptionMapper</span><span class="p">,</span>
+  <span class="o">//</span><span class="n">no</span> <span class="n">need</span> <span class="k">for</span> <span class="n">an</span> <span class="n">application</span> <span class="n">to</span> <span class="n">do</span> <span class="n">exception</span> <span class="n">handling</span> <span class="n">here</span> <span class="n">an</span> <span class="n">convert</span> <span class="n">the</span> <span class="n">exceptions</span> <span class="n">in</span> <span class="n">HTTP</span> <span class="n">exceptions</span>
+
+  <span class="n">Map</span><span class="o">&lt;</span><span class="n">String</span><span class="p">,</span> <span class="n">Object</span><span class="o">&gt;</span> <span class="n">data</span> <span class="p">=</span> <span class="n">entry</span><span class="p">.</span><span class="n">getProperties</span><span class="p">();</span>
+
+  <span class="k">if</span> <span class="p">(</span>&quot;<span class="n">Cars</span>&quot;<span class="p">.</span><span class="n">equals</span><span class="p">(</span><span class="n">uriInfo</span><span class="p">.</span><span class="n">getTargetEntitySet</span><span class="p">().</span><span class="n">getName</span><span class="p">()))</span> <span class="p">{</span>
+  <span class="n">int</span> <span class="n">key</span> <span class="p">=</span> <span class="n">getKeyValue</span><span class="p">(</span><span class="n">uriInfo</span><span class="p">.</span><span class="n">getKeyPredicates</span><span class="p">().</span><span class="n">get</span><span class="p">(</span>0<span class="p">));</span>
+
+    <span class="o">//</span><span class="k">if</span> <span class="n">there</span> <span class="n">is</span> <span class="n">no</span> <span class="n">entry</span> <span class="n">with</span> <span class="n">this</span> <span class="n">key</span> <span class="n">available</span><span class="p">,</span> <span class="n">one</span> <span class="n">should</span> <span class="k">return</span> &quot;404 <span class="n">Not</span> <span class="n">Found</span>&quot;
+    <span class="o">//</span><span class="k">return</span> <span class="n">ODataResponse</span><span class="p">.</span><span class="n">status</span><span class="p">(</span><span class="n">HttpStatusCodes</span><span class="p">.</span><span class="n">NOT_FOUND</span><span class="p">).</span><span class="n">build</span><span class="p">();</span>
+
+    <span class="o">//</span><span class="n">now</span> <span class="n">one</span> <span class="n">can</span> <span class="n">use</span> <span class="n">the</span> <span class="n">data</span> <span class="n">to</span> <span class="n">create</span> <span class="n">the</span> <span class="n">entry</span> <span class="n">in</span> <span class="n">the</span> <span class="n">backend</span> <span class="p">...</span>
+    <span class="n">String</span> <span class="n">model</span> <span class="p">=</span> <span class="p">(</span><span class="n">String</span><span class="p">)</span> <span class="n">data</span><span class="p">.</span><span class="n">get</span><span class="p">(</span>&quot;<span class="n">Model</span>&quot;<span class="p">);</span>
+    <span class="o">//</span><span class="p">...</span>
+  <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span>&quot;<span class="n">Manufacturers</span>&quot;<span class="p">.</span><span class="n">equals</span><span class="p">(</span><span class="n">uriInfo</span><span class="p">.</span><span class="n">getTargetEntitySet</span><span class="p">().</span><span class="n">getName</span><span class="p">()))</span> <span class="p">{</span>
+  <span class="n">int</span> <span class="n">key</span> <span class="p">=</span> <span class="n">getKeyValue</span><span class="p">(</span><span class="n">uriInfo</span><span class="p">.</span><span class="n">getKeyPredicates</span><span class="p">().</span><span class="n">get</span><span class="p">(</span>0<span class="p">));</span>
+  <span class="o">//</span><span class="n">now</span> <span class="n">one</span> <span class="n">can</span> <span class="n">use</span> <span class="n">the</span> <span class="n">data</span> <span class="n">to</span> <span class="n">create</span> <span class="n">the</span> <span class="n">entry</span> <span class="n">in</span> <span class="n">the</span> <span class="n">backend</span> <span class="p">...</span>
+  <span class="p">}</span>
+
+  <span class="o">//</span><span class="n">we</span> <span class="n">can</span> <span class="k">return</span> <span class="n">Status</span> <span class="n">Code</span> 204 <span class="n">No</span> <span class="n">Content</span> <span class="n">because</span> <span class="n">the</span> <span class="n">URI</span> <span class="n">Parsing</span> <span class="n">already</span> <span class="n">guarantees</span> <span class="n">that</span>
+  <span class="o">//</span><span class="n">a</span><span class="p">)</span> <span class="n">only</span> <span class="n">valid</span> <span class="n">URIs</span> <span class="n">are</span> <span class="n">dispatched</span> <span class="p">(</span><span class="n">also</span> <span class="n">checked</span> <span class="n">against</span> <span class="n">the</span> <span class="n">metadata</span><span class="p">)</span>
+  <span class="o">//</span><span class="n">b</span><span class="p">)</span> 404 <span class="n">Not</span> <span class="n">Found</span> <span class="n">is</span> <span class="n">already</span> <span class="n">returned</span> <span class="n">above</span><span class="p">,</span> <span class="n">when</span> <span class="n">the</span> <span class="n">entry</span> <span class="n">does</span> <span class="n">not</span> <span class="n">exist</span> 
+<span class="k">return</span> <span class="n">ODataResponse</span><span class="p">.</span><span class="n">status</span><span class="p">(</span><span class="n">HttpStatusCodes</span><span class="p">.</span><span class="n">NO_CONTENT</span><span class="p">).</span><span class="n">build</span><span class="p">();</span>
+<span class="p">}</span>
+</pre></div>
+
+
+<h5 id="delete-entry">Delete entry</h5>
+<ul>
+<li>You already created the <code>MyODataSingleProcessor</code> in the basic tutorial </li>
+<li>Implement <code>MyODataSingleProcessor.deleteEntity(DeleteUriInfo uriInfo, String contentType) throws ODataException</code> by overriding the corresponding method of the <code>ODataSingleProcessor</code> </li>
+</ul>
+<p><strong>Sample Code</strong></p>
+<div class="codehilite"><pre><span class="p">@</span><span class="n">Override</span>
+<span class="n">public</span> <span class="n">ODataResponse</span> <span class="n">deleteEntity</span><span class="p">(</span><span class="n">DeleteUriInfo</span> <span class="n">uriInfo</span><span class="p">,</span> <span class="n">String</span> <span class="n">contentType</span><span class="p">)</span> <span class="n">throws</span> <span class="n">ODataException</span> <span class="p">{</span>
+  <span class="k">if</span> <span class="p">(</span>&quot;<span class="n">Cars</span>&quot;<span class="p">.</span><span class="n">equals</span><span class="p">(</span><span class="n">uriInfo</span><span class="p">.</span><span class="n">getTargetEntitySet</span><span class="p">().</span><span class="n">getName</span><span class="p">()))</span> <span class="p">{</span>
+  <span class="n">int</span> <span class="n">key</span> <span class="p">=</span> <span class="n">getKeyValue</span><span class="p">(</span><span class="n">uriInfo</span><span class="p">.</span><span class="n">getKeyPredicates</span><span class="p">().</span><span class="n">get</span><span class="p">(</span>0<span class="p">));</span>
+
+    <span class="o">//</span><span class="k">if</span> <span class="n">there</span> <span class="n">is</span> <span class="n">no</span> <span class="n">entry</span> <span class="n">with</span> <span class="n">this</span> <span class="n">key</span> <span class="n">available</span><span class="p">,</span> <span class="n">one</span> <span class="n">should</span> <span class="k">return</span> &quot;404 <span class="n">Not</span> <span class="n">Found</span>&quot;
+    <span class="o">//</span><span class="k">return</span> <span class="n">ODataResponse</span><span class="p">.</span><span class="n">status</span><span class="p">(</span><span class="n">HttpStatusCodes</span><span class="p">.</span><span class="n">NOT_FOUND</span><span class="p">).</span><span class="n">build</span><span class="p">();</span>
+
+    <span class="o">//</span><span class="n">now</span> <span class="n">one</span> <span class="n">can</span> <span class="n">delete</span> <span class="n">the</span> <span class="n">entry</span> <span class="n">with</span> <span class="n">this</span> <span class="n">particular</span> <span class="n">key</span> <span class="n">in</span> <span class="n">the</span> <span class="n">backend</span><span class="p">...</span>
+
+  <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span>&quot;<span class="n">Manufacturers</span>&quot;<span class="p">.</span><span class="n">equals</span><span class="p">(</span><span class="n">uriInfo</span><span class="p">.</span><span class="n">getTargetEntitySet</span><span class="p">().</span><span class="n">getName</span><span class="p">()))</span> <span class="p">{</span>
+  <span class="n">int</span> <span class="n">key</span> <span class="p">=</span> <span class="n">getKeyValue</span><span class="p">(</span><span class="n">uriInfo</span><span class="p">.</span><span class="n">getKeyPredicates</span><span class="p">().</span><span class="n">get</span><span class="p">(</span>0<span class="p">));</span>
+  <span class="o">//</span><span class="n">now</span> <span class="n">one</span> <span class="n">can</span> <span class="n">delete</span> <span class="n">the</span> <span class="n">entry</span> <span class="n">with</span> <span class="n">this</span> <span class="n">particular</span> <span class="n">key</span> <span class="n">in</span> <span class="n">the</span> <span class="n">backend</span><span class="p">...</span>
+  <span class="p">}</span>
+
+  <span class="o">//</span><span class="n">we</span> <span class="n">can</span> <span class="k">return</span> <span class="n">Status</span> <span class="n">Code</span> 204 <span class="n">No</span> <span class="n">Content</span> <span class="n">because</span> <span class="n">the</span> <span class="n">URI</span> <span class="n">Parsing</span> <span class="n">already</span> <span class="n">guarantees</span> <span class="n">that</span>
+  <span class="o">//</span><span class="n">a</span><span class="p">)</span> <span class="n">only</span> <span class="n">valid</span> <span class="n">URIs</span> <span class="n">are</span> <span class="n">dispatched</span> <span class="p">(</span><span class="n">also</span> <span class="n">checked</span> <span class="n">against</span> <span class="n">the</span> <span class="n">metadata</span><span class="p">)</span>
+  <span class="o">//</span><span class="n">b</span><span class="p">)</span> 404 <span class="n">Not</span> <span class="n">Found</span> <span class="n">is</span> <span class="n">already</span> <span class="n">returned</span> <span class="n">above</span><span class="p">,</span> <span class="n">when</span> <span class="n">the</span> <span class="n">entry</span> <span class="n">does</span> <span class="n">not</span> <span class="n">exist</span> 
+  <span class="k">return</span> <span class="n">ODataResponse</span><span class="p">.</span><span class="n">status</span><span class="p">(</span><span class="n">HttpStatusCodes</span><span class="p">.</span><span class="n">NO_CONTENT</span><span class="p">).</span><span class="n">build</span><span class="p">();</span>
+<span class="p">}</span>
+</pre></div>
+
+
+<h3 id="test-your-service">Test your Service</h3>
+<p>After the implementation of the MyODataSingleProcessor the web application can be tested.</p>
+<ul>
+<li>Build your project <code>mvn clean install</code> </li>
+<li>In Eclipse, run the Web Application via Run As -&gt; Run on Server </li>
+<li>Create a new Car </li>
+<li>Update an existing Car </li>
+<li>Delete a Car </li>
+<li>Create a new Manufacturer (this is a Media Link Entry), we expect the response 501 Not Implemented</li>
+<li>Update a Manufacturer (this is a Media Link Entry) </li>
+</ul><div align="center">
+<p>Copyright © 2013-2014, The Apache Software Foundation<br>
+				                Apache Olingo, Olingo, Apache, the Apache feather, and
+				the Apache Olingo project logo are trademarks of the Apache Software
+				Foundation.</p>
+        <small><a href="/doc/odata2/privacy.html">Privacy</a></small>
+      </div>
+    </div><!-- /container -->
+    <!-- Bootstrap core JavaScript
+    ================================================== -->
+    <!-- Placed at the end of the document so the pages load faster -->
+    <script src="/js/jquery.js" type="text/javascript">
+</script>
+	  <script src="/js/bootstrap.js" type="text/javascript">
+	  <script src="/js/offcanvas.js" type="text/javascript">
+</script>
+        <!-- Google Analytics: change UA-XXXXX-X to be your site's ID. -->
+        <script>
+            (function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]=
+            function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date;
+            e=o.createElement(i);r=o.getElementsByTagName(i)[0];
+            e.src='//www.google-analytics.com/analytics.js';
+            r.parentNode.insertBefore(e,r)}(window,document,'script','ga'));
+            ga('create','UA-44963757-1');ga('send','pageview');
+        </script>
+  </body>
+</html>

Added: websites/staging/olingo/trunk/content/doc/odata2/tutorials/apache-olingo-tutorial-adv_read_expand.zip
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/olingo/trunk/content/doc/odata2/tutorials/apache-olingo-tutorial-adv_read_expand.zip
------------------------------------------------------------------------------
    svn:mime-type = application/zip

Added: websites/staging/olingo/trunk/content/doc/odata2/tutorials/apache-olingo-tutorial-adv_read_mediaresource.zip
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/olingo/trunk/content/doc/odata2/tutorials/apache-olingo-tutorial-adv_read_mediaresource.zip
------------------------------------------------------------------------------
    svn:mime-type = application/zip

Added: websites/staging/olingo/trunk/content/doc/odata2/tutorials/apache-olingo-tutorial-basic_read.zip
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/olingo/trunk/content/doc/odata2/tutorials/apache-olingo-tutorial-basic_read.zip
------------------------------------------------------------------------------
    svn:mime-type = application/zip