You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by ch...@apache.org on 2015/07/13 07:38:30 UTC

olingo-odata2 git commit: [OLINGO-720] Checkin file CustomerQueryExtension that was missd in previous checkin

Repository: olingo-odata2
Updated Branches:
  refs/heads/master cb29fa48d -> de464f154


[OLINGO-720] Checkin file CustomerQueryExtension that was missd in
previous checkin

Project: http://git-wip-us.apache.org/repos/asf/olingo-odata2/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata2/commit/de464f15
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata2/tree/de464f15
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata2/diff/de464f15

Branch: refs/heads/master
Commit: de464f154468c1d4623a0802c8539d40e12e8392
Parents: cb29fa4
Author: Chandan V A <ch...@sap.com>
Authored: Mon Jul 13 11:07:35 2015 +0530
Committer: Chandan V A <ch...@sap.com>
Committed: Mon Jul 13 11:07:35 2015 +0530

----------------------------------------------------------------------
 .../ref/listeners/CustomerQueryExtension.java   | 59 ++++++++++++++++++++
 1 file changed, 59 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/de464f15/odata2-jpa-processor/jpa-ref/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/listeners/CustomerQueryExtension.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-ref/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/listeners/CustomerQueryExtension.java b/odata2-jpa-processor/jpa-ref/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/listeners/CustomerQueryExtension.java
new file mode 100644
index 0000000..8fcee7a
--- /dev/null
+++ b/odata2-jpa-processor/jpa-ref/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/listeners/CustomerQueryExtension.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ ******************************************************************************/
+package org.apache.olingo.odata2.jpa.processor.ref.listeners;
+
+import javax.persistence.EntityManager;
+import javax.persistence.Query;
+
+import org.apache.olingo.odata2.api.uri.info.GetEntityUriInfo;
+import org.apache.olingo.odata2.jpa.processor.api.ODataJPAQueryExtensionEntityListener;
+import org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPAModelException;
+import org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPARuntimeException;
+import org.apache.olingo.odata2.jpa.processor.api.jpql.JPQLContext;
+import org.apache.olingo.odata2.jpa.processor.api.jpql.JPQLContextType;
+import org.apache.olingo.odata2.jpa.processor.api.jpql.JPQLStatement;
+
+public class CustomerQueryExtension extends ODataJPAQueryExtensionEntityListener {
+  @Override
+  public Query getQuery(GetEntityUriInfo uriInfo, EntityManager em) {
+    Query query = null;
+    JPQLContextType contextType = null;
+    if (uriInfo.getNavigationSegments().size() > 0) {
+      contextType = JPQLContextType.JOIN_SINGLE;
+    } else {
+      contextType = JPQLContextType.SELECT_SINGLE;
+    }
+    JPQLContext jpqlContext;
+    try {
+      jpqlContext = JPQLContext.createBuilder(contextType, uriInfo).build();
+      query = em.createQuery(JPQLStatement.createBuilder(jpqlContext).build().toString());
+    } catch (ODataJPAModelException e) {
+      // Log and return null query object;
+    } catch (ODataJPARuntimeException e) {
+      // Log and return null query object;
+    }
+    return query;
+  }
+
+  @Override
+  public boolean isTombstoneSupported() {
+    return false;
+  }
+
+}