You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@olingo.apache.org by "Chandan V.A (JIRA)" <ji...@apache.org> on 2015/07/12 16:08:04 UTC

[jira] [Commented] (OLINGO-720) ODataJPATombstoneEntityListener does not support "count" and "GetEntity"

    [ https://issues.apache.org/jira/browse/OLINGO-720?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14623821#comment-14623821 ] 

Chandan V.A commented on OLINGO-720:
------------------------------------

At times it is required to build custom query objects for OData's GetEntitySet, GetEntity, GetEntityCount, GetEntitySetCount, GetEntity before Delete and Update request. Currently there is no provision for applications to build custom query objects. In order to build custom query object applications can extend 

1) org.apache.olingo.odata2.jpa.processor.api.ODataJPAQueryExtensionEntityListener class and implement the necessary methods in the class. If a method is not overriden by the inheriting class then JPA processor builds the JPA query using default logic.
2) Register the class as JPA entity listener with the JPA entity for which custom query needs to be built.
3) If the extended class supports OData Tombstone feature then return "true" for the method call isTombstoneSupported() else just return false.

Applications wishing to just support OData Tombstone (delta query) feature can extend org.apache.olingo.odata2.jpa.processor.api.ODataJPATombstoneEntityListener. However applications wishing to support custom JPA query and also would like to support OData Tombstone feature can extend org.apache.olingo.odata2.jpa.processor.api.ODataJPAQueryExtensionEntityListener and return "true" for the method call isTombstoneSupported() as the class org.apache.olingo.odata2.jpa.processor.api.ODataJPAQueryExtensionEntityListener extends org.apache.olingo.odata2.jpa.processor.api.ODataJPATombstoneEntityListener. 

Please Note:- A JPA entity can be registered with an entity listener that either extends ODataJPAQueryExtensionEntityListener or ODataJPATombstoneEntityListener. If a JPA entity is registered with two different entity listeners with one extending ODataJPATombstoneEntityListener and the other ODataJPAQueryExtensionEntityListener will not work as expected.

Thanks
Kind Regards
Chandan

> ODataJPATombstoneEntityListener does not support "count" and "GetEntity"
> ------------------------------------------------------------------------
>
>                 Key: OLINGO-720
>                 URL: https://issues.apache.org/jira/browse/OLINGO-720
>             Project: Olingo
>          Issue Type: Bug
>          Components: odata2-jpa
>    Affects Versions: V2 2.0.4
>            Reporter: Christian Wilhelm
>            Assignee: Chandan V.A
>
> Hello,
> The ODataJPATombstoneEntityListener which is originally reuqired for the DeltaQuerySuppoort is not listening for OData "count" operation and the "GetEntity" operation.
> I am (mis-)using this listener concept for injecting a security layer - therefore the two operations mentioned above should be included in the ODataJPATombstoneEntityListener concept.
> Is it possible to add this function?
> Best regards,
> Christian



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)