Repository: olingo-odata2
Updated Branches:
  refs/heads/master c6e0a1a7e -> 7013e7e30


Revert "[OLINGO-580] Support JTA based transactions in JPA processor"

This reverts commit dee84cf65981671ebdd09b2f6d932edbc463d772.


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

Branch: refs/heads/master
Commit: 1c1f6d773addebd7b1383974d4bf429102f38e72
Parents: c6e0a1a
Author: Michael Bolz <[email protected]>
Authored: Mon Mar 2 09:44:53 2015 +0100
Committer: Michael Bolz <[email protected]>
Committed: Mon Mar 2 09:44:53 2015 +0100

----------------------------------------------------------------------
 .../jpa/processor/api/ODataJPAContext.java      |  8 +--
 .../processor/api/ODataJPAServiceFactory.java   | 29 +----------
 .../jpa/processor/api/ODataJPATransaction.java  | 48 -----------------
 .../jpa/processor/core/ODataJPAContextImpl.java |  6 ---
 .../core/ODataJPAProcessorDefault.java          |  7 ++-
 .../jpa/processor/core/access/data/JPALink.java |  9 ++--
 .../core/access/data/JPAProcessorImpl.java      | 14 ++---
 .../core/ODataJPAProcessorDefaultTest.java      | 12 -----
 .../core/access/data/JPAProcessorImplTest.java  | 15 ------
 .../ODataJPATransactionLocalDefault.java        | 54 --------------------
 .../ref/web/JPAReferenceServiceFactory.java     |  9 ++--
 11 files changed, 20 insertions(+), 191 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/1c1f6d77/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.java
----------------------------------------------------------------------
diff --git 
a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.java
 
b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.java
index 0ec7ca7..9a57bf3 100644
--- 
a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.java
+++ 
b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.java
@@ -218,7 +218,7 @@ public interface ODataJPAContext {
 
   /**
    * The method sets the server side paging object
-   * @param paging an instance of type {@link 
org.apache.olingo.odata2.jpa.processor.api.access.JPAPaging}
+   * @param an instance of type {@link 
org.apache.olingo.odata2.jpa.processor.api.access.JPAPaging}
    */
   public void setPaging(JPAPaging paging);
 
@@ -227,10 +227,4 @@ public interface ODataJPAContext {
    * @return an instance of type {@link 
org.apache.olingo.odata2.jpa.processor.api.access.JPAPaging}
    */
   public JPAPaging getPaging();
-
-   /**
-    * The transaction context
-    * @return transaction context
-    */
-   public ODataJPATransaction getODataJpaTransaction();
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/1c1f6d77/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/ODataJPAServiceFactory.java
----------------------------------------------------------------------
diff --git 
a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/ODataJPAServiceFactory.java
 
b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/ODataJPAServiceFactory.java
index ba1248e..709a048 100644
--- 
a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/ODataJPAServiceFactory.java
+++ 
b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/ODataJPAServiceFactory.java
@@ -81,7 +81,6 @@ public abstract class ODataJPAServiceFactory extends 
ODataServiceFactory {
   private ODataContext oDataContext;
   private boolean setDetailErrors = false;
   private OnJPAWriteContent onJPAWriteContent = null;
-  private ODataJPATransaction oDataJPATransaction = null;
 
   /**
    * Creates an OData Service based on the values set in
@@ -202,33 +201,7 @@ public abstract class ODataJPAServiceFactory extends 
ODataServiceFactory {
         return (T) onJPAWriteContent;
       }
     }
-
-      if (oDataJPATransaction != null) {
-          if (callbackInterface.isAssignableFrom(ODataJPATransaction.class)) {
-              return (T) oDataJPATransaction;
-          }
-      }
-
-
-      return null;
+    return null;
   }
 
-  /**
-   * The methods sets the context with a callback implementation for JPA 
transaction specific content.
-   * For details refer to {@link ODataJPATransaction}
-   * @param oDataJPATransaction is an instance of type
-   * {@link org.apache.olingo.odata2.jpa.processor.api.ODataJPATransaction}
-   */
-  protected void setODataJPATransaction(final ODataJPATransaction 
oDataJPATransaction) {
-      this.oDataJPATransaction = oDataJPATransaction;
-  }
-
-  /**
-   * Simple method to retrieve the current ODataJPATransactionContext 
optimized for fast access
-   *
-   * @return the current ODataJPATransaction
-   */
-  public ODataJPATransaction getDataJPATransaction() {
-      return oDataJPATransaction;
-  }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/1c1f6d77/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/ODataJPATransaction.java
----------------------------------------------------------------------
diff --git 
a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/ODataJPATransaction.java
 
b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/ODataJPATransaction.java
deleted file mode 100644
index 605e5d7..0000000
--- 
a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/ODataJPATransaction.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * 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.api;
-
-import org.apache.olingo.odata2.api.ODataCallback;
-
-/**
- * Interface for JPA-Transaction abstraction. Default implementation is 
Resource local, while additional
- * an override may used to insert JTA compatible transactions as well.
- *
- */
-public interface ODataJPATransaction extends ODataCallback {
-  /**
-   * implement the start of the transaction
-   */
-  public void begin();
-
-  /**
-   * implement the commit of the transaction
-   */
-  public void commit();
-
-  /**
-   * implement the rollback of the transaction
-   */
-  public void rollback();
-
-  /**
-   * implement status of the transaction context
-   */
-  public boolean isActive();
-}

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/1c1f6d77/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/ODataJPAContextImpl.java
----------------------------------------------------------------------
diff --git 
a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/ODataJPAContextImpl.java
 
b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/ODataJPAContextImpl.java
index 66d0ff0..43f1850 100644
--- 
a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/ODataJPAContextImpl.java
+++ 
b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/ODataJPAContextImpl.java
@@ -25,7 +25,6 @@ import org.apache.olingo.odata2.api.edm.provider.EdmProvider;
 import org.apache.olingo.odata2.api.processor.ODataContext;
 import org.apache.olingo.odata2.api.processor.ODataProcessor;
 import org.apache.olingo.odata2.jpa.processor.api.ODataJPAContext;
-import org.apache.olingo.odata2.jpa.processor.api.ODataJPATransaction;
 import org.apache.olingo.odata2.jpa.processor.api.access.JPAPaging;
 import org.apache.olingo.odata2.jpa.processor.api.model.JPAEdmExtension;
 
@@ -167,9 +166,4 @@ public class ODataJPAContextImpl implements ODataJPAContext 
{
   public JPAPaging getPaging() {
     return jpaPaging;
   }
-
-  @Override
-  public ODataJPATransaction getODataJpaTransaction() {
-      return 
odataContext.getServiceFactory().getCallback(ODataJPATransaction.class);
-  }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/1c1f6d77/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/ODataJPAProcessorDefault.java
----------------------------------------------------------------------
diff --git 
a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/ODataJPAProcessorDefault.java
 
b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/ODataJPAProcessorDefault.java
index 2d4e37e..6b1f40b 100644
--- 
a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/ODataJPAProcessorDefault.java
+++ 
b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/ODataJPAProcessorDefault.java
@@ -264,22 +264,21 @@ public class ODataJPAProcessorDefault extends 
ODataJPAProcessor {
       throws ODataException {
     List<ODataResponse> responses = new ArrayList<ODataResponse>();
     try {
-      oDataJPAContext.getODataJpaTransaction().begin();
+      oDataJPAContext.getEntityManager().getTransaction().begin();
 
       for (ODataRequest request : requests) {
         oDataJPAContext.setODataContext(getContext());
         ODataResponse response = handler.handleRequest(request);
         if (response.getStatus().getStatusCode() >= 
HttpStatusCodes.BAD_REQUEST.getStatusCode()) {
           // Rollback
-          oDataJPAContext.getODataJpaTransaction().rollback();
+          oDataJPAContext.getEntityManager().getTransaction().rollback();
           List<ODataResponse> errorResponses = new ArrayList<ODataResponse>(1);
           errorResponses.add(response);
           return 
BatchResponsePart.responses(errorResponses).changeSet(false).build();
         }
         responses.add(response);
       }
-      oDataJPAContext.getODataJpaTransaction().commit();
-
+      oDataJPAContext.getEntityManager().getTransaction().commit();
 
       return BatchResponsePart.responses(responses).changeSet(true).build();
     } catch (Exception e) {

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/1c1f6d77/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPALink.java
----------------------------------------------------------------------
diff --git 
a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPALink.java
 
b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPALink.java
index 7e3ae73..64bf56c 100644
--- 
a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPALink.java
+++ 
b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPALink.java
@@ -27,6 +27,7 @@ import java.util.HashMap;
 import java.util.List;
 
 import javax.persistence.EntityManager;
+import javax.persistence.EntityTransaction;
 
 import org.apache.olingo.odata2.api.edm.EdmEntitySet;
 import org.apache.olingo.odata2.api.edm.EdmException;
@@ -43,7 +44,6 @@ import org.apache.olingo.odata2.api.uri.info.GetEntityUriInfo;
 import org.apache.olingo.odata2.api.uri.info.PostUriInfo;
 import org.apache.olingo.odata2.api.uri.info.PutMergePatchUriInfo;
 import org.apache.olingo.odata2.jpa.processor.api.ODataJPAContext;
-import org.apache.olingo.odata2.jpa.processor.api.ODataJPATransaction;
 import org.apache.olingo.odata2.jpa.processor.api.access.JPAProcessor;
 import 
org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPAModelException;
 import 
org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPARuntimeException;
@@ -149,9 +149,10 @@ public class JPALink {
 
   public void save() {
     EntityManager em = context.getEntityManager();
-    ODataJPATransaction tx = context.getODataJpaTransaction();
+    EntityTransaction tx = em.getTransaction();
+
     if (!tx.isActive()) {
-      tx.begin();
+      em.getTransaction().begin();
       if (sourceJPAEntity != null) {
         em.persist(sourceJPAEntity);
       }
@@ -159,7 +160,7 @@ public class JPALink {
         em.persist(targetJPAEntity);
         em.flush();
       }
-      tx.commit();
+      em.getTransaction().commit();
     }
 
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/1c1f6d77/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAProcessorImpl.java
----------------------------------------------------------------------
diff --git 
a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAProcessorImpl.java
 
b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAProcessorImpl.java
index ef4d9dc..d926daf 100644
--- 
a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAProcessorImpl.java
+++ 
b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAProcessorImpl.java
@@ -26,6 +26,7 @@ import java.util.List;
 import java.util.Map;
 
 import javax.persistence.EntityManager;
+import javax.persistence.EntityTransaction;
 import javax.persistence.Query;
 
 import org.apache.olingo.odata2.api.commons.InlineCount;
@@ -49,7 +50,6 @@ import 
org.apache.olingo.odata2.api.uri.info.PutMergePatchUriInfo;
 import org.apache.olingo.odata2.jpa.processor.api.ODataJPAContext;
 import org.apache.olingo.odata2.jpa.processor.api.ODataJPATombstoneContext;
 import 
org.apache.olingo.odata2.jpa.processor.api.ODataJPATombstoneEntityListener;
-import org.apache.olingo.odata2.jpa.processor.api.ODataJPATransaction;
 import org.apache.olingo.odata2.jpa.processor.api.access.JPAFunction;
 import org.apache.olingo.odata2.jpa.processor.api.access.JPAMethodContext;
 import org.apache.olingo.odata2.jpa.processor.api.access.JPAProcessor;
@@ -355,7 +355,7 @@ public class JPAProcessorImpl implements JPAProcessor {
         em.remove(selectedObject);
         em.flush();
         if (isLocalTransaction) {
-          oDataJPAContext.getODataJpaTransaction().commit();
+          em.getTransaction().commit();
         }
 
       } catch (Exception e) {
@@ -456,7 +456,7 @@ public class JPAProcessorImpl implements JPAProcessor {
       em.persist(jpaEntity);
       if (em.contains(jpaEntity)) {
         if (isLocalTransaction) {
-          oDataJPAContext.getODataJpaTransaction().commit();
+          em.getTransaction().commit();
         }
         return jpaEntity;
       }
@@ -507,7 +507,7 @@ public class JPAProcessorImpl implements JPAProcessor {
       }
       em.flush();
       if (isLocalTransaction) {
-        oDataJPAContext.getODataJpaTransaction().commit();
+        em.getTransaction().commit();
       }
     } catch (Exception e) {
       throw ODataJPARuntimeException.throwException(
@@ -572,9 +572,9 @@ public class JPAProcessorImpl implements JPAProcessor {
   }
 
   private boolean setTransaction() {
-    ODataJPATransaction transactionContext = 
oDataJPAContext.getODataJpaTransaction();
-    if (!transactionContext.isActive()) {
-      transactionContext.begin();
+    final EntityTransaction transaction = em.getTransaction();
+    if (!transaction.isActive()) {
+      em.getTransaction().begin();
       return true;
     }
 

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/1c1f6d77/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/ODataJPAProcessorDefaultTest.java
----------------------------------------------------------------------
diff --git 
a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/ODataJPAProcessorDefaultTest.java
 
b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/ODataJPAProcessorDefaultTest.java
index 195559e..8733181 100644
--- 
a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/ODataJPAProcessorDefaultTest.java
+++ 
b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/ODataJPAProcessorDefaultTest.java
@@ -67,7 +67,6 @@ import org.apache.olingo.odata2.api.uri.info.GetEntityUriInfo;
 import org.apache.olingo.odata2.api.uri.info.PostUriInfo;
 import org.apache.olingo.odata2.api.uri.info.PutMergePatchUriInfo;
 import org.apache.olingo.odata2.jpa.processor.api.ODataJPAContext;
-import org.apache.olingo.odata2.jpa.processor.api.ODataJPATransaction;
 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.core.common.ODataJPATestConstants;
@@ -321,7 +320,6 @@ public class ODataJPAProcessorDefaultTest extends 
JPAEdmTestModelView {
     ODataJPAContext odataJPAContext = 
EasyMock.createMock(ODataJPAContext.class);
     
EasyMock.expect(odataJPAContext.getPersistenceUnitName()).andStubReturn("salesorderprocessing");
     
EasyMock.expect(odataJPAContext.getEntityManagerFactory()).andStubReturn(mockEntityManagerFactory());
-    
EasyMock.expect(odataJPAContext.getODataJpaTransaction()).andStubReturn(getLocalJpaTransaction());
     
EasyMock.expect(odataJPAContext.getODataContext()).andStubReturn(getLocalODataContext());
     odataJPAContext.setODataContext((ODataContext) EasyMock.anyObject());
     EasyMock.expectLastCall().anyTimes();
@@ -330,16 +328,6 @@ public class ODataJPAProcessorDefaultTest extends 
JPAEdmTestModelView {
     return odataJPAContext;
   }
 
-  private ODataJPATransaction getLocalJpaTransaction() {
-    ODataJPATransaction tx = EasyMock.createMock(ODataJPATransaction.class);
-    tx.begin(); // testing void method
-    tx.commit();// testing void method
-    tx.rollback();// testing void method
-    EasyMock.expect(tx.isActive()).andReturn(false);
-    EasyMock.replay(tx);
-    return tx;
-  }
-
   private EntityManagerFactory mockEntityManagerFactory() {
     EntityManagerFactory emf = EasyMock.createMock(EntityManagerFactory.class);
     EasyMock.expect(emf.getMetamodel()).andStubReturn(mockMetaModel());

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/1c1f6d77/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAProcessorImplTest.java
----------------------------------------------------------------------
diff --git 
a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAProcessorImplTest.java
 
b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAProcessorImplTest.java
index 05afa5f..f370c26 100644
--- 
a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAProcessorImplTest.java
+++ 
b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAProcessorImplTest.java
@@ -67,7 +67,6 @@ import 
org.apache.olingo.odata2.api.uri.info.GetEntityCountUriInfo;
 import org.apache.olingo.odata2.api.uri.info.GetEntitySetCountUriInfo;
 import org.apache.olingo.odata2.api.uri.info.GetEntitySetUriInfo;
 import org.apache.olingo.odata2.jpa.processor.api.ODataJPAContext;
-import org.apache.olingo.odata2.jpa.processor.api.ODataJPATransaction;
 import org.apache.olingo.odata2.jpa.processor.api.access.JPAPaging;
 import 
org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPAModelException;
 import 
org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPARuntimeException;
@@ -286,7 +285,6 @@ public class JPAProcessorImplTest {
     ODataJPAContext odataJPAContext = 
EasyMock.createMock(ODataJPAContext.class);
     
EasyMock.expect(odataJPAContext.getPersistenceUnitName()).andStubReturn("salesorderprocessing");
     
EasyMock.expect(odataJPAContext.getEntityManagerFactory()).andStubReturn(mockEntityManagerFactory());
-    
EasyMock.expect(odataJPAContext.getODataJpaTransaction()).andStubReturn(getLocalJpaTransaction());
     
EasyMock.expect(odataJPAContext.getODataContext()).andStubReturn(getLocalODataContext());
     
EasyMock.expect(odataJPAContext.getEntityManager()).andStubReturn(getLocalEntityManager());
     EasyMock.expect(odataJPAContext.getPageSize()).andReturn(10).anyTimes();
@@ -296,19 +294,6 @@ public class JPAProcessorImplTest {
     return odataJPAContext;
   }
 
-  private ODataJPATransaction getLocalJpaTransaction() {
-    ODataJPATransaction tx = EasyMock.createMock(ODataJPATransaction.class);
-    EasyMock.expect(tx.isActive()).andReturn(false);
-    tx.begin(); // testing void method
-    tx.commit();// testing void method
-    EasyMock.expect(tx.isActive()).andReturn(false);
-    tx.begin(); // testing void method
-    tx.commit();// testing void method
-    EasyMock.replay(tx);
-    return tx;
-  }
-
-
   private EntityManagerFactory mockEntityManagerFactory() {
     EntityManagerFactory emf = EasyMock.createMock(EntityManagerFactory.class);
     EasyMock.expect(emf.getMetamodel()).andStubReturn(mockMetaModel());

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/1c1f6d77/odata2-jpa-processor/jpa-web/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/extension/ODataJPATransactionLocalDefault.java
----------------------------------------------------------------------
diff --git 
a/odata2-jpa-processor/jpa-web/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/extension/ODataJPATransactionLocalDefault.java
 
b/odata2-jpa-processor/jpa-web/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/extension/ODataJPATransactionLocalDefault.java
deleted file mode 100644
index 9291962..0000000
--- 
a/odata2-jpa-processor/jpa-web/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/extension/ODataJPATransactionLocalDefault.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * 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.extension;
-
-
-import org.apache.olingo.odata2.jpa.processor.api.ODataJPATransaction;
-
-import javax.persistence.EntityManager;
-import javax.persistence.EntityTransaction;
-
-public class ODataJPATransactionLocalDefault implements ODataJPATransaction {
-
-  private EntityTransaction tx = null;
-
-  public ODataJPATransactionLocalDefault(EntityManager em) {
-      this.tx = em.getTransaction();
-  }
-
-  @Override
-  public void begin() {
-      tx.begin();
-  }
-
-  @Override
-  public void commit() {
-      tx.commit();
-  }
-
-  @Override
-  public void rollback() {
-      tx.rollback();
-  }
-
-  @Override
-  public boolean isActive() {
-      return tx.isActive();
-  }
-}

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/1c1f6d77/odata2-jpa-processor/jpa-web/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/web/JPAReferenceServiceFactory.java
----------------------------------------------------------------------
diff --git 
a/odata2-jpa-processor/jpa-web/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/web/JPAReferenceServiceFactory.java
 
b/odata2-jpa-processor/jpa-web/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/web/JPAReferenceServiceFactory.java
index 9452535..256ffdd 100644
--- 
a/odata2-jpa-processor/jpa-web/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/web/JPAReferenceServiceFactory.java
+++ 
b/odata2-jpa-processor/jpa-web/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/web/JPAReferenceServiceFactory.java
@@ -25,7 +25,6 @@ import 
org.apache.olingo.odata2.jpa.processor.api.ODataJPAServiceFactory;
 import org.apache.olingo.odata2.jpa.processor.api.OnJPAWriteContent;
 import 
org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPARuntimeException;
 import org.apache.olingo.odata2.jpa.processor.api.model.JPAEdmExtension;
-import 
org.apache.olingo.odata2.jpa.processor.ref.extension.ODataJPATransactionLocalDefault;
 import org.apache.olingo.odata2.jpa.processor.ref.extension.OnDBWriteContent;
 import 
org.apache.olingo.odata2.jpa.processor.ref.extension.SalesOrderProcessingExtension;
 import 
org.apache.olingo.odata2.jpa.processor.ref.factory.JPAEntityManagerFactory;
@@ -45,21 +44,19 @@ public class JPAReferenceServiceFactory extends 
ODataJPAServiceFactory {
     
oDataJPAContext.setEntityManagerFactory(JPAEntityManagerFactory.getEntityManagerFactory(PUNIT_NAME));
     oDataJPAContext.setPersistenceUnitName(PUNIT_NAME);
     oDataJPAContext.setJPAEdmMappingModel(MAPPING_MODEL);
-    oDataJPAContext.setJPAEdmExtension(new SalesOrderProcessingExtension());
+    oDataJPAContext
+        .setJPAEdmExtension((JPAEdmExtension) new 
SalesOrderProcessingExtension());
     oDataJPAContext.setPageSize(PAGE_SIZE);
     oDataJPAContext.setDefaultNaming(false);
     setErrorLevel();
     setOnWriteJPAContent(onDBWriteContent);
-    if(getDataJPATransaction() == null) {
-        setODataJPATransaction(new 
ODataJPATransactionLocalDefault(getODataJPAContext().getEntityManager()));
-    }
 
     return oDataJPAContext;
   }
 
   private void setErrorLevel() {
     ResourceBundle config = ResourceBundle.getBundle(CONFIG);
-    boolean error = Boolean.parseBoolean(config.getString(SHOW_DETAIL_ERROR));
+    boolean error = Boolean.parseBoolean((String) 
config.getObject(SHOW_DETAIL_ERROR));
     setDetailErrors(error);
   }
 }

Reply via email to