This is an automated email from the ASF dual-hosted git repository.

mibo pushed a commit to branch pr-33-fix
in repository https://gitbox.apache.org/repos/asf/olingo-odata2.git

commit d1fb871e7e4f176cd8f43a1df1b879e99b1faed2
Author: Michael Bolz <[email protected]>
AuthorDate: Wed Nov 17 07:02:40 2021 +0100

    Fixing incompatibilities
---
 .../jpa/processor/core/ODataJPAContextImpl.java    | 13 +++++------
 .../core/jpql/JPQLBuilderFactoryTest.java          | 27 ++++++++++++----------
 pom.xml                                            |  1 +
 3 files changed, 22 insertions(+), 19 deletions(-)

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 b327ad7..075d0a1 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
@@ -33,7 +33,7 @@ public class ODataJPAContextImpl implements ODataJPAContext {
 
   private String pUnitName;
   private EntityManagerFactory emf;
-  private static final ThreadLocal<EntityManager> emThreadLocal = new 
ThreadLocal<>();
+  private static final ThreadLocal<EntityManager> emThreadLocal = new 
ThreadLocal<EntityManager>();
   private ODataContext odataContext;
   private ODataProcessor processor;
   private EdmProvider edmProvider;
@@ -123,17 +123,16 @@ public class ODataJPAContextImpl implements 
ODataJPAContext {
   @Override
   public EntityManager getEntityManager() {
     EntityManager em = emThreadLocal.get();
-        if (em == null || !em.isOpen()) {
-            em = emf.createEntityManager();
-            setEntityManager(em);
-        }
-        return em;
+    if (em == null || !em.isOpen()) {
+        em = emf.createEntityManager();
+        setEntityManager(em);
+    }
+    return em;
   }
 
   @Override
   public void setJPAEdmExtension(final JPAEdmExtension jpaEdmExtension) {
     this.jpaEdmExtension = jpaEdmExtension;
-
   }
 
   @Override
diff --git 
a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/jpql/JPQLBuilderFactoryTest.java
 
b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/jpql/JPQLBuilderFactoryTest.java
index 5aef018..8dd062c 100644
--- 
a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/jpql/JPQLBuilderFactoryTest.java
+++ 
b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/jpql/JPQLBuilderFactoryTest.java
@@ -238,20 +238,20 @@ public class JPQLBuilderFactoryTest {
     ODataJPAContextImpl oDataJPAContextImpl = new ODataJPAContextImpl();
     Class<?> clazz = oDataJPAContextImpl.getClass();
     try {
-      Field field = clazz.getDeclaredField("em");
-      field.setAccessible(true);
-      field.set(oDataJPAContextImpl, new 
JPAProcessorImplTest().getLocalEntityManager());
+//      Field field = clazz.getDeclaredField("emThreadLocal");
+//      field.setAccessible(true);
+//      ThreadLocal<EntityManager> emThreadLocal = new 
ThreadLocal<EntityManager>();
+//      emThreadLocal.set(new JPAProcessorImplTest().getLocalEntityManager());
+//      field.set(oDataJPAContextImpl, emThreadLocal);
+      oDataJPAContextImpl.setEntityManager(new 
JPAProcessorImplTest().getLocalEntityManager());
     } catch (SecurityException e) {
       fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + 
ODataJPATestConstants.EXCEPTION_MSG_PART_2);
-    } catch (NoSuchFieldException e) {
-      fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + 
ODataJPATestConstants.EXCEPTION_MSG_PART_2);
     } catch (IllegalArgumentException e) {
       fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + 
ODataJPATestConstants.EXCEPTION_MSG_PART_2);
-    } catch (IllegalAccessException e) {
-      fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + 
ODataJPATestConstants.EXCEPTION_MSG_PART_2);
     }
     final EntityManager em = EasyMock.createMock(EntityManager.class);
-    EasyMock.expect(em.getMetamodel()).andReturn(null);
+    Metamodel metamodel = EasyMock.createMock(Metamodel.class);
+    EasyMock.expect(em.getMetamodel()).andReturn(metamodel).anyTimes();
     EasyMock.expect(em.isOpen()).andReturn(true).anyTimes();
     EasyMock.replay(em);
 
@@ -270,7 +270,8 @@ public class JPQLBuilderFactoryTest {
     ODataJPAContextImpl oDataJPAContextImpl = new ODataJPAContextImpl();
 
     final EntityManager em = EasyMock.createMock(EntityManager.class);
-    EasyMock.expect(em.getMetamodel()).andReturn(null);
+    Metamodel metamodel = EasyMock.createMock(Metamodel.class);
+    EasyMock.expect(em.getMetamodel()).andReturn(metamodel).anyTimes();
     EasyMock.expect(em.isOpen()).andReturn(true).anyTimes();
     EasyMock.replay(em);
 
@@ -288,8 +289,9 @@ public class JPQLBuilderFactoryTest {
     ODataJPAContextImpl oDataJPAContextImpl = new ODataJPAContextImpl();
 
     final EntityManager em = EasyMock.createMock(EntityManager.class);
-    EasyMock.expect(em.getMetamodel()).andReturn(null);
-    EasyMock.expect(em.isOpen()).andReturn(true).anyTimes();
+    Metamodel metamodel = EasyMock.createMock(Metamodel.class);
+    EasyMock.expect(em.getMetamodel()).andReturn(metamodel).anyTimes();
+    EasyMock.expect(em.isOpen()).andReturn(true);
     EasyMock.replay(em);
 
     oDataJPAContextImpl.setEntityManagerFactory(new 
TestEntityManagerFactory(em));
@@ -308,7 +310,8 @@ public class JPQLBuilderFactoryTest {
     ODataJPAContextImpl oDataJPAContextImpl = new ODataJPAContextImpl();
 
     EntityManager em = EasyMock.createMock(EntityManager.class);
-    EasyMock.expect(em.getMetamodel()).andReturn(null);
+    Metamodel metamodel = EasyMock.createMock(Metamodel.class);
+    EasyMock.expect(em.getMetamodel()).andReturn(metamodel).anyTimes();
     EasyMock.expect(em.isOpen()).andReturn(true).anyTimes();
     EasyMock.replay(em);
 
diff --git a/pom.xml b/pom.xml
index d786a88..9e5b8ad 100644
--- a/pom.xml
+++ b/pom.xml
@@ -46,6 +46,7 @@
 
        <properties>
                
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+               <maven.compiler.release>8</maven.compiler.release>
                <javadoc.phase>package</javadoc.phase>
 
         <!-- required for correct Sonar coverage data reporting (list of 
artifactIds) -->

Reply via email to