Repository: olingo-odata2 Updated Branches: refs/heads/master a823475b5 -> 7236755aa
[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/master Commit: 76502d22b97beb45a72b90eb75039c13e483bac4 Parents: 066b5fb Author: mibo <[email protected]> Authored: Wed Nov 9 22:49:42 2016 +0100 Committer: mibo <[email protected]> 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;
