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;
+ }
+
+}