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/02/24 10:46:57 UTC

svn commit: r899007 - in /websites/staging/olingo/trunk/content: ./ doc/tutorials/jpafunctionimport.html

Author: buildbot
Date: Mon Feb 24 09:46:57 2014
New Revision: 899007

Log:
Staging update by buildbot for olingo

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

Propchange: websites/staging/olingo/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Mon Feb 24 09:46:57 2014
@@ -1 +1 @@
-1571192
+1571203

Modified: websites/staging/olingo/trunk/content/doc/tutorials/jpafunctionimport.html
==============================================================================
--- websites/staging/olingo/trunk/content/doc/tutorials/jpafunctionimport.html (original)
+++ websites/staging/olingo/trunk/content/doc/tutorials/jpafunctionimport.html Mon Feb 24 09:46:57 2014
@@ -199,6 +199,126 @@
         <span class="k">return</span><span class="p">;</span>
       <span class="p">}</span>
     <span class="p">}</span>
+
+
+    <span class="n">package</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">olingo</span><span class="p">.</span><span class="n">odata2</span><span class="p">.</span><span class="n">jpa</span><span class="p">.</span><span class="n">processor</span><span class="p">.</span><span class="n">ref</span><span class="p">.</span><span class="n">extension</span><span class="p">;</span>
+
+    <span class="n">import</span> <span class="n">java</span><span class="p">.</span><span class="n">util</span><span class="p">.</span><span class="n">List</span><span class="p">;</span>
+
+    <span class="n">import</span> <span class="n">javax</span><span class="p">.</span><span class="n">persistence</span><span class="p">.</span><span class="n">EntityManager</span><span class="p">;</span>
+    <span class="n">import</span> <span class="n">javax</span><span class="p">.</span><span class="n">persistence</span><span class="p">.</span><span class="n">Persistence</span><span class="p">;</span>
+    <span class="n">import</span> <span class="n">javax</span><span class="p">.</span><span class="n">persistence</span><span class="p">.</span><span class="n">Query</span><span class="p">;</span>
+
+    <span class="n">import</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">olingo</span><span class="p">.</span><span class="n">odata2</span><span class="p">.</span><span class="n">api</span><span class="p">.</span><span class="n">annotation</span><span class="p">.</span><span class="n">edm</span><span class="p">.</span><span class="n">EdmFacets</span><span class="p">;</span>
+    <span class="n">import</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">olingo</span><span class="p">.</span><span class="n">odata2</span><span class="p">.</span><span class="n">api</span><span class="p">.</span><span class="n">annotation</span><span class="p">.</span><span class="n">edm</span><span class="p">.</span><span class="n">EdmFunctionImport</span><span class="p">;</span>
+    <span class="n">import</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">olingo</span><span class="p">.</span><span class="n">odata2</span><span class="p">.</span><span class="n">api</span><span class="p">.</span><span class="n">annotation</span><span class="p">.</span><span class="n">edm</span><span class="p">.</span><span class="n">EdmFunctionImport</span><span class="p">.</span><span class="n">HttpMethod</span><span class="p">;</span>
+    <span class="n">import</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">olingo</span><span class="p">.</span><span class="n">odata2</span><span class="p">.</span><span class="n">api</span><span class="p">.</span><span class="n">annotation</span><span class="p">.</span><span class="n">edm</span><span class="p">.</span><span class="n">EdmFunctionImport</span><span class="p">.</span><span class="n">ReturnType</span><span class="p">;</span>
+    <span class="n">import</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">olingo</span><span class="p">.</span><span class="n">odata2</span><span class="p">.</span><span class="n">api</span><span class="p">.</span><span class="n">annotation</span><span class="p">.</span><span class="n">edm</span><span class="p">.</span><span class="n">EdmFunctionImport</span><span class="p">.</span><span class="n">ReturnType</span><span class="p">.</span><span class="n">Type</span><span class="p">;</span>
+    <span class="n">import</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">olingo</span><span class="p">.</span><span class="n">odata2</span><span class="p">.</span><span class="n">api</span><span class="p">.</span><span class="n">annotation</span><span class="p">.</span><span class="n">edm</span><span class="p">.</span><span class="n">EdmFunctionImportParameter</span><span class="p">;</span>
+    <span class="n">import</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">olingo</span><span class="p">.</span><span class="n">odata2</span><span class="p">.</span><span class="n">api</span><span class="p">.</span><span class="n">exception</span><span class="p">.</span><span class="n">ODataException</span><span class="p">;</span>
+    <span class="n">import</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">olingo</span><span class="p">.</span><span class="n">odata2</span><span class="p">.</span><span class="n">jpa</span><span class="p">.</span><span class="n">processor</span><span class="p">.</span><span class="n">ref</span><span class="p">.</span><span class="n">model</span><span class="p">.</span><span class="n">Address</span><span class="p">;</span>
+    <span class="n">import</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">olingo</span><span class="p">.</span><span class="n">odata2</span><span class="p">.</span><span class="n">jpa</span><span class="p">.</span><span class="n">processor</span><span class="p">.</span><span class="n">ref</span><span class="p">.</span><span class="n">model</span><span class="p">.</span><span class="n">SalesOrderHeader</span><span class="p">;</span>
+    <span class="n">import</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">olingo</span><span class="p">.</span><span class="n">odata2</span><span class="p">.</span><span class="n">jpa</span><span class="p">.</span><span class="n">processor</span><span class="p">.</span><span class="n">ref</span><span class="p">.</span><span class="n">model</span><span class="p">.</span><span class="n">SalesOrderItem</span><span class="p">;</span>
+
+    <span class="n">public</span> <span class="n">class</span> <span class="n">SalesOrderHeaderProcessor</span> <span class="p">{</span>
+
+      <span class="n">private</span> <span class="n">EntityManager</span> <span class="n">em</span><span class="p">;</span>
+
+    <span class="n">public</span> <span class="n">SalesOrderHeaderProcessor</span><span class="p">()</span> <span class="p">{</span>
+        <span class="n">em</span> <span class="p">=</span> <span class="n">Persistence</span><span class="p">.</span><span class="n">createEntityManagerFactory</span><span class="p">(</span>&quot;<span class="n">salesorderprocessing</span>&quot;<span class="p">)</span>
+            <span class="p">.</span><span class="n">createEntityManager</span><span class="p">();</span>
+    <span class="p">}</span>
+
+    <span class="p">@</span><span class="n">SuppressWarnings</span><span class="p">(</span>&quot;<span class="n">unchecked</span>&quot;<span class="p">)</span>
+    <span class="p">@</span><span class="n">EdmFunctionImport</span><span class="p">(</span><span class="n">name</span> <span class="p">=</span> &quot;<span class="n">FindAllSalesOrders</span>&quot;<span class="p">,</span> <span class="n">entitySet</span> <span class="p">=</span> &quot;<span class="n">SalesOrders</span>&quot;<span class="p">,</span> <span class="n">returnType</span> <span class="p">=</span> <span class="p">@</span><span class="n">ReturnType</span><span class="p">(</span>
+    <span class="n">type</span> <span class="p">=</span> <span class="n">Type</span><span class="p">.</span><span class="n">ENTITY</span><span class="p">,</span> <span class="n">isCollection</span> <span class="p">=</span> <span class="n">true</span><span class="p">))</span>
+    <span class="n">public</span> <span class="n">List</span><span class="o">&lt;</span><span class="n">SalesOrderHeader</span><span class="o">&gt;</span> <span class="n">findAllSalesOrders</span><span class="p">(</span>
+        <span class="p">@</span><span class="n">EdmFunctionImportParameter</span><span class="p">(</span><span class="n">name</span> <span class="p">=</span> &quot;<span class="n">DeliveryStatusCode</span>&quot;<span class="p">,</span>
+        <span class="n">facets</span> <span class="p">=</span> <span class="p">@</span><span class="n">EdmFacets</span><span class="p">(</span><span class="n">maxLength</span> <span class="p">=</span> 2<span class="p">))</span> <span class="n">final</span> <span class="n">String</span> <span class="n">status</span><span class="p">)</span> <span class="p">{</span>
+
+        <span class="n">Query</span> <span class="n">q</span> <span class="p">=</span> <span class="n">em</span>
+        <span class="p">.</span><span class="n">createQuery</span><span class="p">(</span>&quot;<span class="n">SELECT</span> <span class="n">E1</span> <span class="n">from</span> <span class="n">SalesOrderHeader</span> <span class="n">E1</span> <span class="n">WHERE</span> <span class="n">E1</span><span class="p">.</span><span class="n">deliveryStatus</span> <span class="p">=</span> <span class="s">&#39;&quot;</span>
+<span class="s">        + status + &quot;&#39;</span>&quot;<span class="p">);</span>
+        <span class="n">List</span><span class="o">&lt;</span><span class="n">SalesOrderHeader</span><span class="o">&gt;</span> <span class="n">soList</span> <span class="p">=</span> <span class="p">(</span><span class="n">List</span><span class="o">&lt;</span><span class="n">SalesOrderHeader</span><span class="o">&gt;</span><span class="p">)</span> <span class="n">q</span>
+        <span class="p">.</span><span class="n">getResultList</span><span class="p">();</span>
+        <span class="k">return</span> <span class="n">soList</span><span class="p">;</span>
+    <span class="p">}</span>
+
+    <span class="p">@</span><span class="n">EdmFunctionImport</span><span class="p">(</span><span class="n">name</span> <span class="p">=</span> &quot;<span class="n">CheckATP</span>&quot;<span class="p">,</span> <span class="n">returnType</span> <span class="p">=</span> <span class="p">@</span><span class="n">ReturnType</span><span class="p">(</span><span class="n">type</span> <span class="p">=</span> <span class="n">Type</span><span class="p">.</span><span class="n">SIMPLE</span><span class="p">,</span> <span class="n">isCollection</span> <span class="p">=</span> <span class="n">false</span><span class="p">),</span>
+        <span class="n">httpMethod</span> <span class="p">=</span> <span class="n">HttpMethod</span><span class="p">.</span><span class="n">GET</span><span class="p">)</span>
+        <span class="n">public</span> <span class="n">boolean</span> <span class="n">checkATP</span><span class="p">(</span>
+    <span class="p">@</span><span class="n">EdmFunctionImportParameter</span><span class="p">(</span><span class="n">name</span> <span class="p">=</span> &quot;<span class="n">SoID</span>&quot;<span class="p">,</span> <span class="n">facets</span> <span class="p">=</span> <span class="p">@</span><span class="n">EdmFacets</span><span class="p">(</span><span class="n">nullable</span> <span class="p">=</span> <span class="n">false</span><span class="p">))</span> <span class="n">final</span> <span class="n">Long</span> <span class="n">soID</span><span class="p">,</span>
+    <span class="p">@</span><span class="n">EdmFunctionImportParameter</span><span class="p">(</span><span class="n">name</span> <span class="p">=</span> &quot;<span class="n">LiId</span>&quot;<span class="p">,</span> <span class="n">facets</span> <span class="p">=</span> <span class="p">@</span><span class="n">EdmFacets</span><span class="p">(</span><span class="n">nullable</span> <span class="p">=</span> <span class="n">false</span><span class="p">))</span> <span class="n">final</span> <span class="n">Long</span> <span class="n">lineItemID</span><span class="p">)</span> <span class="p">{</span>
+        <span class="k">if</span> <span class="p">(</span><span class="n">soID</span> <span class="o">==</span> 2<span class="n">L</span><span class="p">)</span> <span class="p">{</span>
+        <span class="k">return</span> <span class="n">false</span><span class="p">;</span>
+    <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+        <span class="k">return</span> <span class="n">true</span><span class="p">;</span>
+    <span class="p">}</span>
+    <span class="p">}</span>
+
+    <span class="p">@</span><span class="n">EdmFunctionImport</span><span class="p">(</span><span class="n">returnType</span> <span class="p">=</span> <span class="p">@</span><span class="n">ReturnType</span><span class="p">(</span><span class="n">type</span> <span class="p">=</span> <span class="n">Type</span><span class="p">.</span><span class="n">ENTITY</span><span class="p">,</span> <span class="n">isCollection</span> <span class="p">=</span> <span class="n">true</span><span class="p">),</span> <span class="n">entitySet</span> <span class="p">=</span> &quot;<span class="n">SalesOrders</span>&quot;<span class="p">)</span>
+        <span class="n">public</span> <span class="n">SalesOrderHeader</span> <span class="n">calculateNetAmount</span><span class="p">(</span>
+    <span class="p">@</span><span class="n">EdmFunctionImportParameter</span><span class="p">(</span><span class="n">name</span> <span class="p">=</span> &quot;<span class="n">SoID</span>&quot;<span class="p">,</span> <span class="n">facets</span> <span class="p">=</span> <span class="p">@</span><span class="n">EdmFacets</span><span class="p">(</span><span class="n">nullable</span> <span class="p">=</span> <span class="n">false</span><span class="p">))</span> <span class="n">final</span> <span class="n">Long</span> <span class="n">soID</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><span class="n">soID</span> <span class="o">&lt;</span><span class="p">=</span> 0<span class="n">L</span><span class="p">)</span> <span class="p">{</span>
+    <span class="n">throw</span> <span class="n">new</span> <span class="n">ODataException</span><span class="p">(</span>&quot;<span class="n">Invalid</span> <span class="n">SoID</span>&quot;<span class="p">);</span>
+    <span class="p">}</span>
+
+    <span class="n">Query</span> <span class="n">q</span> <span class="p">=</span> <span class="n">em</span>
+    <span class="p">.</span><span class="n">createQuery</span><span class="p">(</span>&quot;<span class="n">SELECT</span> <span class="n">E1</span> <span class="n">from</span> <span class="n">SalesOrderHeader</span> <span class="n">E1</span> <span class="n">WHERE</span> <span class="n">E1</span><span class="p">.</span><span class="n">soId</span> <span class="p">=</span> &quot;
+        <span class="o">+</span> <span class="n">soID</span> <span class="o">+</span> &quot;<span class="n">l</span>&quot;<span class="p">);</span>
+    <span class="k">if</span> <span class="p">(</span><span class="n">q</span><span class="p">.</span><span class="n">getResultList</span><span class="p">().</span><span class="n">isEmpty</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>
+    <span class="n">SalesOrderHeader</span> <span class="n">so</span> <span class="p">=</span> <span class="p">(</span><span class="n">SalesOrderHeader</span><span class="p">)</span> <span class="n">q</span><span class="p">.</span><span class="n">getResultList</span><span class="p">().</span><span class="n">get</span><span class="p">(</span>0<span class="p">);</span>
+    <span class="n">double</span> <span class="n">amount</span> <span class="p">=</span> 0<span class="p">;</span>
+    <span class="k">for</span> <span class="p">(</span><span class="n">SalesOrderItem</span> <span class="n">soi</span> <span class="p">:</span> <span class="n">so</span><span class="p">.</span><span class="n">getSalesOrderItem</span><span class="p">())</span> <span class="p">{</span>
+    <span class="n">amount</span> <span class="p">=</span> <span class="n">amount</span>
+      <span class="o">+</span> <span class="p">(</span><span class="n">soi</span><span class="p">.</span><span class="n">getAmount</span><span class="p">()</span> <span class="o">*</span> <span class="n">soi</span><span class="p">.</span><span class="n">getDiscount</span><span class="p">()</span> <span class="o">*</span> <span class="n">soi</span><span class="p">.</span><span class="n">getQuantity</span><span class="p">());</span>
+    <span class="p">}</span>
+    <span class="n">so</span><span class="p">.</span><span class="n">setNetAmount</span><span class="p">(</span><span class="n">amount</span><span class="p">);</span>
+    <span class="k">return</span> <span class="n">so</span><span class="p">;</span>
+    <span class="p">}</span>
+
+    <span class="p">@</span><span class="n">SuppressWarnings</span><span class="p">(</span>&quot;<span class="n">unchecked</span>&quot;<span class="p">)</span>
+    <span class="p">@</span><span class="n">EdmFunctionImport</span><span class="p">(</span><span class="n">returnType</span> <span class="p">=</span> <span class="p">@</span><span class="n">ReturnType</span><span class="p">(</span><span class="n">type</span> <span class="p">=</span> <span class="n">Type</span><span class="p">.</span><span class="n">COMPLEX</span><span class="p">))</span>
+    <span class="n">public</span> <span class="n">Address</span> <span class="n">getAddress</span><span class="p">(</span>
+    <span class="p">@</span><span class="n">EdmFunctionImportParameter</span><span class="p">(</span><span class="n">name</span> <span class="p">=</span> &quot;<span class="n">SoID</span>&quot;<span class="p">,</span> <span class="n">facets</span> <span class="p">=</span> <span class="p">@</span><span class="n">EdmFacets</span><span class="p">(</span><span class="n">nullable</span> <span class="p">=</span> <span class="n">false</span><span class="p">))</span> <span class="n">final</span> <span class="n">Long</span> <span class="n">soID</span><span class="p">)</span> <span class="p">{</span>
+    <span class="n">Query</span> <span class="n">q</span> <span class="p">=</span> <span class="n">em</span>
+    <span class="p">.</span><span class="n">createQuery</span><span class="p">(</span>&quot;<span class="n">SELECT</span> <span class="n">E1</span> <span class="n">from</span> <span class="n">SalesOrderHeader</span> <span class="n">E1</span> <span class="n">WHERE</span> <span class="n">E1</span><span class="p">.</span><span class="n">soId</span> <span class="p">=</span> &quot;
+        <span class="o">+</span> <span class="n">soID</span> <span class="o">+</span> &quot;<span class="n">l</span>&quot;<span class="p">);</span>
+    <span class="n">List</span><span class="o">&lt;</span><span class="n">SalesOrderHeader</span><span class="o">&gt;</span> <span class="n">soList</span> <span class="p">=</span> <span class="p">(</span><span class="n">List</span><span class="o">&lt;</span><span class="n">SalesOrderHeader</span><span class="o">&gt;</span><span class="p">)</span> <span class="n">q</span>
+    <span class="p">.</span><span class="n">getResultList</span><span class="p">();</span>
+    <span class="k">if</span> <span class="p">(</span>!<span class="n">soList</span><span class="p">.</span><span class="n">isEmpty</span><span class="p">())</span> <span class="p">{</span>
+    <span class="k">return</span> <span class="n">soList</span><span class="p">.</span><span class="n">get</span><span class="p">(</span>0<span class="p">).</span><span class="n">getCustomer</span><span class="p">().</span><span class="n">getAddress</span><span class="p">();</span>
+    <span class="p">}</span> <span class="k">else</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="p">}</span>
+
+    <span class="p">@</span><span class="n">EdmFunctionImport</span><span class="p">(</span><span class="n">returnType</span> <span class="p">=</span> <span class="p">@</span><span class="n">ReturnType</span><span class="p">(</span><span class="n">type</span> <span class="p">=</span> <span class="n">Type</span><span class="p">.</span><span class="n">COMPLEX</span><span class="p">))</span>
+    <span class="n">public</span> <span class="n">OrderValue</span> <span class="n">orderValue</span><span class="p">(</span>
+    <span class="p">@</span><span class="n">EdmFunctionImportParameter</span><span class="p">(</span><span class="n">name</span> <span class="p">=</span> &quot;<span class="n">SoId</span>&quot;<span class="p">,</span> <span class="n">facets</span> <span class="p">=</span> <span class="p">@</span><span class="n">EdmFacets</span><span class="p">(</span><span class="n">nullable</span> <span class="p">=</span> <span class="n">false</span><span class="p">))</span> <span class="n">final</span> <span class="n">Long</span> <span class="n">soID</span><span class="p">)</span> <span class="p">{</span>
+    <span class="n">Query</span> <span class="n">q</span> <span class="p">=</span> <span class="n">em</span>
+    <span class="p">.</span><span class="n">createQuery</span><span class="p">(</span>&quot;<span class="n">SELECT</span> <span class="n">E1</span> <span class="n">from</span> <span class="n">SalesOrderHeader</span> <span class="n">E1</span> <span class="n">WHERE</span> <span class="n">E1</span><span class="p">.</span><span class="n">soId</span> <span class="p">=</span> &quot;
+        <span class="o">+</span> <span class="n">soID</span> <span class="o">+</span> &quot;<span class="n">l</span>&quot;<span class="p">);</span>
+    <span class="k">if</span> <span class="p">(</span><span class="n">q</span><span class="p">.</span><span class="n">getResultList</span><span class="p">().</span><span class="n">isEmpty</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>
+    <span class="n">SalesOrderHeader</span> <span class="n">so</span> <span class="p">=</span> <span class="p">(</span><span class="n">SalesOrderHeader</span><span class="p">)</span> <span class="n">q</span><span class="p">.</span><span class="n">getResultList</span><span class="p">().</span><span class="n">get</span><span class="p">(</span>0<span class="p">);</span>
+    <span class="n">double</span> <span class="n">amount</span> <span class="p">=</span> 0<span class="p">;</span>
+    <span class="k">for</span> <span class="p">(</span><span class="n">SalesOrderItem</span> <span class="n">soi</span> <span class="p">:</span> <span class="n">so</span><span class="p">.</span><span class="n">getSalesOrderItem</span><span class="p">())</span> <span class="p">{</span>
+    <span class="n">amount</span> <span class="p">=</span> <span class="n">amount</span>
+      <span class="o">+</span> <span class="p">(</span><span class="n">soi</span><span class="p">.</span><span class="n">getAmount</span><span class="p">()</span> <span class="o">*</span> <span class="n">soi</span><span class="p">.</span><span class="n">getDiscount</span><span class="p">()</span> <span class="o">*</span> <span class="n">soi</span><span class="p">.</span><span class="n">getQuantity</span><span class="p">());</span>
+    <span class="p">}</span>
+    <span class="n">OrderValue</span> <span class="n">orderValue</span> <span class="p">=</span> <span class="n">new</span> <span class="n">OrderValue</span><span class="p">();</span>
+    <span class="n">orderValue</span><span class="p">.</span><span class="n">setAmount</span><span class="p">(</span><span class="n">amount</span><span class="p">);</span>
+    <span class="n">orderValue</span><span class="p">.</span><span class="n">setCurrency</span><span class="p">(</span><span class="n">so</span><span class="p">.</span><span class="n">getCurrencyCode</span><span class="p">());</span>
+    <span class="k">return</span> <span class="n">orderValue</span><span class="p">;</span>
+    <span class="p">}</span>
+
+    <span class="p">}</span>
 </pre></div>