You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by mi...@apache.org on 2016/11/09 21:50:11 UTC

olingo-odata2 git commit: [OLINGO-971] Improve CMP Support

Repository: olingo-odata2
Updated Branches:
  refs/heads/OLINGO-971-ImproveCmpSupport [created] 76502d22b


[OLINGO-971] Improve CMP Support


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

Branch: refs/heads/OLINGO-971-ImproveCmpSupport
Commit: 76502d22b97beb45a72b90eb75039c13e483bac4
Parents: 066b5fb
Author: mibo <mi...@apache.org>
Authored: Wed Nov 9 22:49:42 2016 +0100
Committer: mibo <mi...@apache.org>
Committed: Wed Nov 9 22:49:42 2016 +0100

----------------------------------------------------------------------
 .../processor/api/ODataJPAServiceFactory.java   |   2 +-
 .../core/model/JPAEdmBaseViewImpl.java          |   2 +-
 .../core/jpql/JPQLBuilderFactoryTest.java       | 208 +++++++++----------
 .../core/mock/ODataJPAContextMock.java          |   2 +
 4 files changed, 107 insertions(+), 107 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/76502d22/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 64444b5..6089be0 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
@@ -219,7 +219,7 @@ public abstract class ODataJPAServiceFactory extends ODataServiceFactory {
 
   private void validatePreConditions() throws ODataJPARuntimeException {
 
-    if (oDataJPAContext.getEntityManagerFactory() == null) {
+    if (oDataJPAContext.getEntityManager() == null) {
       throw ODataJPARuntimeException.throwException(ODataJPARuntimeException.ENTITY_MANAGER_NOT_INITIALIZED, null);
     }
 

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/76502d22/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/model/JPAEdmBaseViewImpl.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/model/JPAEdmBaseViewImpl.java b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/model/JPAEdmBaseViewImpl.java
index ee6f083..80d9d75 100644
--- a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/model/JPAEdmBaseViewImpl.java
+++ b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/model/JPAEdmBaseViewImpl.java
@@ -47,7 +47,7 @@ public abstract class JPAEdmBaseViewImpl implements JPAEdmBaseView {
 
   public JPAEdmBaseViewImpl(final ODataJPAContext context) {
     pUnitName = context.getPersistenceUnitName();
-    metaModel = context.getEntityManagerFactory().getMetamodel();
+    metaModel = context.getEntityManager().getMetamodel();
     jpaEdmMappingModelAccess =
         ODataJPAFactory.createFactory().getJPAAccessFactory().getJPAEdmMappingModelAccess(context);
     jpaEdmExtension = context.getJPAEdmExtension();

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/76502d22/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/jpql/JPQLBuilderFactoryTest.java
----------------------------------------------------------------------
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 58082b9..318c167 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
@@ -248,58 +248,34 @@ public class JPQLBuilderFactoryTest {
     } catch (IllegalAccessException e) {
       fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2);
     }
-    EntityManagerFactory emf = new EntityManagerFactory() {
-
-      @Override
-      public boolean isOpen() {
-        return false;
-      }
-
-      @Override
-      public Map<String, Object> getProperties() {
-        return null;
-      }
-
-      @Override
-      public PersistenceUnitUtil getPersistenceUnitUtil() {
-        return null;
-      }
-
-      @Override
-      public Metamodel getMetamodel() {
-        return null;
-      }
-
-      @Override
-      public CriteriaBuilder getCriteriaBuilder() {
-        return null;
-      }
-
-      @Override
-      public Cache getCache() {
-        return null;
-      }
-
-      @SuppressWarnings("rawtypes")
-      @Override
-      public EntityManager createEntityManager(final Map arg0) {
-        return null;
-      }
-
-      @Override
-      public EntityManager createEntityManager() {
-        return null;
-      }
-
-      @Override
-      public void close() {}
-    };
-    oDataJPAContextImpl.setEntityManagerFactory(emf);
+    final EntityManager em = EasyMock.createMock(EntityManager.class);
+    EasyMock.expect(em.getMetamodel()).andReturn(null);
+    EasyMock.expect(em.isOpen()).andReturn(true).anyTimes();
+    EasyMock.replay(em);
+
+    oDataJPAContextImpl.setEntityManagerFactory(new TestEntityManagerFactory(em));
     oDataJPAContextImpl.setPersistenceUnitName("pUnit");
 
     assertNotNull(jpaAccessFactory.getJPAProcessor(oDataJPAContextImpl));
     assertNotNull(jpaAccessFactory.getJPAEdmModelView(oDataJPAContextImpl));
+  }
 
+
+  @Test
+  public void testJPAAccessFactoryEntityManagerOnly() {
+    ODataJPAFactoryImpl oDataJPAFactoryImpl = new ODataJPAFactoryImpl();
+    JPAAccessFactory jpaAccessFactory = oDataJPAFactoryImpl.getJPAAccessFactory();
+    ODataJPAContextImpl oDataJPAContextImpl = new ODataJPAContextImpl();
+
+    final EntityManager em = EasyMock.createMock(EntityManager.class);
+    EasyMock.expect(em.getMetamodel()).andReturn(null);
+    EasyMock.expect(em.isOpen()).andReturn(true).anyTimes();
+    EasyMock.replay(em);
+
+    oDataJPAContextImpl.setEntityManager(em);
+
+    assertNotNull(jpaAccessFactory.getJPAProcessor(oDataJPAContextImpl));
+    assertNotNull(jpaAccessFactory.getJPAEdmModelView(oDataJPAContextImpl));
   }
 
   @Test
@@ -309,70 +285,92 @@ public class JPQLBuilderFactoryTest {
     ODataJPAAccessFactory jpaAccessFactory = oDataJPAFactoryImpl.getODataJPAAccessFactory();
     ODataJPAContextImpl oDataJPAContextImpl = new ODataJPAContextImpl();
 
-    EntityManagerFactory emf = new EntityManagerFactory() {
-
-      @Override
-      public boolean isOpen() {
-        // TODO Auto-generated method stub
-        return false;
-      }
-
-      @Override
-      public Map<String, Object> getProperties() {
-        // TODO Auto-generated method stub
-        return null;
-      }
-
-      @Override
-      public PersistenceUnitUtil getPersistenceUnitUtil() {
-        // TODO Auto-generated method stub
-        return null;
-      }
-
-      @Override
-      public Metamodel getMetamodel() {
-        // TODO Auto-generated method stub
-        return null;
-      }
-
-      @Override
-      public CriteriaBuilder getCriteriaBuilder() {
-        // TODO Auto-generated method stub
-        return null;
-      }
-
-      @Override
-      public Cache getCache() {
-        // TODO Auto-generated method stub
-        return null;
-      }
-
-      @SuppressWarnings("rawtypes")
-      @Override
-      public EntityManager createEntityManager(final Map arg0) {
-        // TODO Auto-generated method stub
-        return null;
-      }
-
-      @Override
-      public EntityManager createEntityManager() {
-        // TODO Auto-generated method stub
-        return null;
-      }
-
-      @Override
-      public void close() {
-        // TODO Auto-generated method stub
-
-      }
-    };
-    oDataJPAContextImpl.setEntityManagerFactory(emf);
+    final EntityManager em = EasyMock.createMock(EntityManager.class);
+    EasyMock.expect(em.getMetamodel()).andReturn(null);
+    EasyMock.expect(em.isOpen()).andReturn(true).anyTimes();
+    EasyMock.replay(em);
+
+    oDataJPAContextImpl.setEntityManagerFactory(new TestEntityManagerFactory(em));
     oDataJPAContextImpl.setPersistenceUnitName("pUnit");
 
     assertNotNull(jpaAccessFactory.getODataJPAMessageService(new Locale("en")));
     assertNotNull(jpaAccessFactory.createODataJPAContext());
     assertNotNull(jpaAccessFactory.createJPAEdmProvider(oDataJPAContextImpl));
     assertNotNull(jpaAccessFactory.createODataProcessor(oDataJPAContextImpl));
+  }
+
+  @Test
+  public void testOdataJpaAccessFactoryEntityManagerOnly() {
+    ODataJPAFactoryImpl oDataJPAFactoryImpl = new ODataJPAFactoryImpl();
+    ODataJPAAccessFactory jpaAccessFactory = oDataJPAFactoryImpl.getODataJPAAccessFactory();
+    ODataJPAContextImpl oDataJPAContextImpl = new ODataJPAContextImpl();
 
+    EntityManager em = EasyMock.createMock(EntityManager.class);
+    EasyMock.expect(em.getMetamodel()).andReturn(null);
+    EasyMock.expect(em.isOpen()).andReturn(true).anyTimes();
+    EasyMock.replay(em);
+
+    oDataJPAContextImpl.setEntityManager(em);
+    oDataJPAContextImpl.setPersistenceUnitName("pUnit");
+
+    assertNotNull(jpaAccessFactory.getODataJPAMessageService(new Locale("en")));
+    assertNotNull(jpaAccessFactory.createODataJPAContext());
+    assertNotNull(jpaAccessFactory.createJPAEdmProvider(oDataJPAContextImpl));
+    assertNotNull(jpaAccessFactory.createODataProcessor(oDataJPAContextImpl));
   }
+
+  private static class TestEntityManagerFactory implements EntityManagerFactory {
+
+    private EntityManager em;
+
+    public TestEntityManagerFactory(EntityManager entityManager) {
+      em = entityManager;
+    }
+
+    @Override
+    public boolean isOpen() {
+      return false;
+    }
+
+    @Override
+    public Map<String, Object> getProperties() {
+      return null;
+    }
+
+    @Override
+    public PersistenceUnitUtil getPersistenceUnitUtil() {
+      return null;
+    }
+
+    @Override
+    public Metamodel getMetamodel() {
+      return null;
+    }
+
+    @Override
+    public CriteriaBuilder getCriteriaBuilder() {
+      return null;
+    }
+
+    @Override
+    public Cache getCache() {
+      return null;
+    }
+
+    @SuppressWarnings("rawtypes")
+    @Override
+    public EntityManager createEntityManager(final Map arg0) {
+      return em;
+    }
+
+    @Override
+    public EntityManager createEntityManager() {
+      return em;
+    }
+
+    @Override
+    public void close() {
+    }
+  };
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/76502d22/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/ODataJPAContextMock.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/ODataJPAContextMock.java b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/ODataJPAContextMock.java
index 9e03c86..83cb0d3 100644
--- a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/ODataJPAContextMock.java
+++ b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/ODataJPAContextMock.java
@@ -62,6 +62,8 @@ public abstract class ODataJPAContextMock {
 
   private static EntityManager mockEntityManager() {
     EntityManager em = EasyMock.createMock(EntityManager.class);
+    EasyMock.expect(em.getMetamodel()).andReturn(null);
+    EasyMock.expect(em.isOpen()).andReturn(true).anyTimes();
     EasyMock.replay(em);
     return em;