You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@olingo.apache.org by "Thiago Assis (JIRA)" <ji...@apache.org> on 2014/05/27 16:30:07 UTC

[jira] [Comment Edited] (OLINGO-47) $batch support

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

Thiago Assis edited comment on OLINGO-47 at 5/27/14 2:28 PM:
-------------------------------------------------------------

i'm testing this feature and getting this error below: detached entity passed to persist, any suggestion ?

11:24:49,771 SEVERE [com.scania.br.odata.ODataErrorCallback] (http-localhost/127.0.0.1:11080-1) "OData - JPA Runtime: JPA create request is not correct": org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPARuntimeException: "OData - JPA Runtime: JPA create request is not correct"
	at org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPARuntimeException.throwException(ODataJPARuntimeException.java:96) [olingo-odata2-jpa-processor-api-1.3.0-20140527.011056-61.jar:1.3.0-SNAPSHOT]
	at org.apache.olingo.odata2.jpa.processor.core.access.data.JPAProcessorImpl.processCreate(JPAProcessorImpl.java:407) [olingo-odata2-jpa-processor-core-1.3.0-20140527.011108-60.jar:1.3.0-SNAPSHOT]
	at org.apache.olingo.odata2.jpa.processor.core.access.data.JPAProcessorImpl.process(JPAProcessorImpl.java:351) [olingo-odata2-jpa-processor-core-1.3.0-20140527.011108-60.jar:1.3.0-SNAPSHOT]
	at org.apache.olingo.odata2.jpa.processor.core.ODataJPAProcessorDefault.createEntity(ODataJPAProcessorDefault.java:110) [olingo-odata2-jpa-processor-core-1.3.0-20140527.011108-60.jar:1.3.0-SNAPSHOT]
	at org.apache.olingo.odata2.core.Dispatcher.dispatch(Dispatcher.java:79) [olingo-odata2-core-1.3.0-20140527.010924-63.jar:1.3.0-SNAPSHOT]
	at org.apache.olingo.odata2.core.ODataRequestHandler.handle(ODataRequestHandler.java:129) [olingo-odata2-core-1.3.0-20140527.010924-63.jar:1.3.0-SNAPSHOT]
	at org.apache.olingo.odata2.core.batch.BatchHandlerImpl.handleRequest(BatchHandlerImpl.java:95) [olingo-odata2-core-1.3.0-20140527.010924-63.jar:1.3.0-SNAPSHOT]
	at org.apache.olingo.odata2.jpa.processor.core.ODataJPAProcessorDefault.executeChangeSet(ODataJPAProcessorDefault.java:234) [olingo-odata2-jpa-processor-core-1.3.0-20140527.011108-60.jar:1.3.0-SNAPSHOT]
	at org.apache.olingo.odata2.core.batch.BatchHandlerImpl.handleBatchPart(BatchHandlerImpl.java:62) [olingo-odata2-core-1.3.0-20140527.010924-63.jar:1.3.0-SNAPSHOT]
	at org.apache.olingo.odata2.jpa.processor.core.ODataJPAProcessorDefault.executeBatch(ODataJPAProcessorDefault.java:223) [olingo-odata2-jpa-processor-core-1.3.0-20140527.011108-60.jar:1.3.0-SNAPSHOT]
	at org.apache.olingo.odata2.core.Dispatcher.dispatch(Dispatcher.java:190) [olingo-odata2-core-1.3.0-20140527.010924-63.jar:1.3.0-SNAPSHOT]
	at org.apache.olingo.odata2.core.ODataRequestHandler.handle(ODataRequestHandler.java:129) [olingo-odata2-core-1.3.0-20140527.010924-63.jar:1.3.0-SNAPSHOT]
	at org.apache.olingo.odata2.core.servlet.ODataServlet.handleRequest(ODataServlet.java:181) [olingo-odata2-core-1.3.0-20140527.010924-63.jar:1.3.0-SNAPSHOT]
	at org.apache.olingo.odata2.core.servlet.ODataServlet.handle(ODataServlet.java:105) [olingo-odata2-core-1.3.0-20140527.010924-63.jar:1.3.0-SNAPSHOT]
	at org.apache.olingo.odata2.core.servlet.ODataServlet.service(ODataServlet.java:92) [olingo-odata2-core-1.3.0-20140527.010924-63.jar:1.3.0-SNAPSHOT]
	at com.scania.br.odata.ODataServlet.service(ODataServlet.java:115) [classes:]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
	at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14]
	at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14]
	at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
	at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_45]
Caused by: javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity passed to persist: com.scania.br.model.RequestCase
	at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1387) [hibernate-entitymanager-4.2.7.SP1-redhat-3.jar:4.2.7.SP1-redhat-3]
	at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1310) [hibernate-entitymanager-4.2.7.SP1-redhat-3.jar:4.2.7.SP1-redhat-3]
	at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1316) [hibernate-entitymanager-4.2.7.SP1-redhat-3.jar:4.2.7.SP1-redhat-3]
	at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:881) [hibernate-entitymanager-4.2.7.SP1-redhat-3.jar:4.2.7.SP1-redhat-3]
	at org.apache.olingo.odata2.jpa.processor.core.access.data.JPAProcessorImpl.processCreate(JPAProcessorImpl.java:399) [olingo-odata2-jpa-processor-core-1.3.0-20140527.011108-60.jar:1.3.0-SNAPSHOT]
	... 30 more
Caused by: org.hibernate.PersistentObjectException: detached entity passed to persist: com.scania.br.model.RequestCase
	at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:141) [hibernate-core-4.2.7.SP1-redhat-3.jar:4.2.7.SP1-redhat-3]
	at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:78) [hibernate-core-4.2.7.SP1-redhat-3.jar:4.2.7.SP1-redhat-3]
	at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:853) [hibernate-core-4.2.7.SP1-redhat-3.jar:4.2.7.SP1-redhat-3]
	at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:827) [hibernate-core-4.2.7.SP1-redhat-3.jar:4.2.7.SP1-redhat-3]
	at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:831) [hibernate-core-4.2.7.SP1-redhat-3.jar:4.2.7.SP1-redhat-3]
	at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:875) [hibernate-entitymanager-4.2.7.SP1-redhat-3.jar:4.2.7.SP1-redhat-3]
	... 31 mor


was (Author: thiagolealassis):
i'm testing this feature and getting this error below, any suggestion ?

11:24:49,771 SEVERE [com.scania.br.odata.ODataErrorCallback] (http-localhost/127.0.0.1:11080-1) "OData - JPA Runtime: JPA create request is not correct": org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPARuntimeException: "OData - JPA Runtime: JPA create request is not correct"
	at org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPARuntimeException.throwException(ODataJPARuntimeException.java:96) [olingo-odata2-jpa-processor-api-1.3.0-20140527.011056-61.jar:1.3.0-SNAPSHOT]
	at org.apache.olingo.odata2.jpa.processor.core.access.data.JPAProcessorImpl.processCreate(JPAProcessorImpl.java:407) [olingo-odata2-jpa-processor-core-1.3.0-20140527.011108-60.jar:1.3.0-SNAPSHOT]
	at org.apache.olingo.odata2.jpa.processor.core.access.data.JPAProcessorImpl.process(JPAProcessorImpl.java:351) [olingo-odata2-jpa-processor-core-1.3.0-20140527.011108-60.jar:1.3.0-SNAPSHOT]
	at org.apache.olingo.odata2.jpa.processor.core.ODataJPAProcessorDefault.createEntity(ODataJPAProcessorDefault.java:110) [olingo-odata2-jpa-processor-core-1.3.0-20140527.011108-60.jar:1.3.0-SNAPSHOT]
	at org.apache.olingo.odata2.core.Dispatcher.dispatch(Dispatcher.java:79) [olingo-odata2-core-1.3.0-20140527.010924-63.jar:1.3.0-SNAPSHOT]
	at org.apache.olingo.odata2.core.ODataRequestHandler.handle(ODataRequestHandler.java:129) [olingo-odata2-core-1.3.0-20140527.010924-63.jar:1.3.0-SNAPSHOT]
	at org.apache.olingo.odata2.core.batch.BatchHandlerImpl.handleRequest(BatchHandlerImpl.java:95) [olingo-odata2-core-1.3.0-20140527.010924-63.jar:1.3.0-SNAPSHOT]
	at org.apache.olingo.odata2.jpa.processor.core.ODataJPAProcessorDefault.executeChangeSet(ODataJPAProcessorDefault.java:234) [olingo-odata2-jpa-processor-core-1.3.0-20140527.011108-60.jar:1.3.0-SNAPSHOT]
	at org.apache.olingo.odata2.core.batch.BatchHandlerImpl.handleBatchPart(BatchHandlerImpl.java:62) [olingo-odata2-core-1.3.0-20140527.010924-63.jar:1.3.0-SNAPSHOT]
	at org.apache.olingo.odata2.jpa.processor.core.ODataJPAProcessorDefault.executeBatch(ODataJPAProcessorDefault.java:223) [olingo-odata2-jpa-processor-core-1.3.0-20140527.011108-60.jar:1.3.0-SNAPSHOT]
	at org.apache.olingo.odata2.core.Dispatcher.dispatch(Dispatcher.java:190) [olingo-odata2-core-1.3.0-20140527.010924-63.jar:1.3.0-SNAPSHOT]
	at org.apache.olingo.odata2.core.ODataRequestHandler.handle(ODataRequestHandler.java:129) [olingo-odata2-core-1.3.0-20140527.010924-63.jar:1.3.0-SNAPSHOT]
	at org.apache.olingo.odata2.core.servlet.ODataServlet.handleRequest(ODataServlet.java:181) [olingo-odata2-core-1.3.0-20140527.010924-63.jar:1.3.0-SNAPSHOT]
	at org.apache.olingo.odata2.core.servlet.ODataServlet.handle(ODataServlet.java:105) [olingo-odata2-core-1.3.0-20140527.010924-63.jar:1.3.0-SNAPSHOT]
	at org.apache.olingo.odata2.core.servlet.ODataServlet.service(ODataServlet.java:92) [olingo-odata2-core-1.3.0-20140527.010924-63.jar:1.3.0-SNAPSHOT]
	at com.scania.br.odata.ODataServlet.service(ODataServlet.java:115) [classes:]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
	at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14]
	at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14]
	at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
	at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_45]
Caused by: javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity passed to persist: com.scania.br.model.RequestCase
	at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1387) [hibernate-entitymanager-4.2.7.SP1-redhat-3.jar:4.2.7.SP1-redhat-3]
	at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1310) [hibernate-entitymanager-4.2.7.SP1-redhat-3.jar:4.2.7.SP1-redhat-3]
	at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1316) [hibernate-entitymanager-4.2.7.SP1-redhat-3.jar:4.2.7.SP1-redhat-3]
	at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:881) [hibernate-entitymanager-4.2.7.SP1-redhat-3.jar:4.2.7.SP1-redhat-3]
	at org.apache.olingo.odata2.jpa.processor.core.access.data.JPAProcessorImpl.processCreate(JPAProcessorImpl.java:399) [olingo-odata2-jpa-processor-core-1.3.0-20140527.011108-60.jar:1.3.0-SNAPSHOT]
	... 30 more
Caused by: org.hibernate.PersistentObjectException: detached entity passed to persist: com.scania.br.model.RequestCase
	at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:141) [hibernate-core-4.2.7.SP1-redhat-3.jar:4.2.7.SP1-redhat-3]
	at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:78) [hibernate-core-4.2.7.SP1-redhat-3.jar:4.2.7.SP1-redhat-3]
	at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:853) [hibernate-core-4.2.7.SP1-redhat-3.jar:4.2.7.SP1-redhat-3]
	at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:827) [hibernate-core-4.2.7.SP1-redhat-3.jar:4.2.7.SP1-redhat-3]
	at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:831) [hibernate-core-4.2.7.SP1-redhat-3.jar:4.2.7.SP1-redhat-3]
	at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:875) [hibernate-entitymanager-4.2.7.SP1-redhat-3.jar:4.2.7.SP1-redhat-3]
	... 31 mor

> $batch support
> --------------
>
>                 Key: OLINGO-47
>                 URL: https://issues.apache.org/jira/browse/OLINGO-47
>             Project: Olingo
>          Issue Type: New Feature
>          Components: odata2-core, odata2-jpa
>    Affects Versions: V2 1.0.0, V2 1.1.0
>            Reporter: Georgi
>            Assignee: Chandan V.A
>             Fix For: V2 1.3.0
>
>
> It seems that org.apache.olingo.odata2.processor.core.jpa.ODataJPAProcessorDefault does not override the executeBatch method from org.apache.olingo.odata2.api.processor.ODataSingleProcessor and the default implementation throws "Not Implemented" exception.
> I couldn't find any implementation for executeBatch except for the reference application's ListsProcessor.
> Therefore, there's no support for $batch requests as of now (or please let me know how can I use it with a JPA backend). As far as I see there's a whole dedicated package for that and was a little surprised to find out that I can't make use of that really cool feature despite of that.
> I'd like to request/vote to walk the last mile and add support for $batch requests.



--
This message was sent by Atlassian JIRA
(v6.2#6252)