diff --git a/pom.xml b/pom.xml index b9cbeaf1b..c91137a6d 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,6 @@ 5.2.9.Final 1.8.0.10 2.0.0 - 2.4.1 2.0.0.BUILD-SNAPSHOT reuseReports @@ -189,25 +188,6 @@ true - - org.apache.openjpa - openjpa-persistence-jdbc - ${openjpa} - true - - - commons-logging - commons-logging - - - - - junit - junit - - - - com.querydsl @@ -297,12 +277,6 @@ ${spring} runtime - - org.apache.openjpa - openjpa - ${openjpa} - runtime - org.hsqldb hsqldb @@ -363,27 +337,6 @@ -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco}/org.jacoco.agent-${jacoco}-runtime.jar=destfile=${jacoco.destfile} -javaagent:${settings.localRepository}/org/eclipse/persistence/org.eclipse.persistence.jpa/${eclipselink}/org.eclipse.persistence.jpa-${eclipselink}.jar -javaagent:${settings.localRepository}/org/springframework/spring-instrument/${spring}/spring-instrument-${spring}.jar - diff --git a/src/main/java/org/springframework/data/jpa/provider/PersistenceProvider.java b/src/main/java/org/springframework/data/jpa/provider/PersistenceProvider.java index 108693bbf..bbfafc30b 100644 --- a/src/main/java/org/springframework/data/jpa/provider/PersistenceProvider.java +++ b/src/main/java/org/springframework/data/jpa/provider/PersistenceProvider.java @@ -21,20 +21,11 @@ import static org.springframework.data.jpa.provider.PersistenceProvider.Constant import java.util.Arrays; import java.util.Collection; import java.util.Collections; -import java.util.Iterator; -import java.util.List; import javax.persistence.EntityManager; import javax.persistence.Query; import javax.persistence.metamodel.Metamodel; -import org.apache.openjpa.enhance.PersistenceCapable; -import org.apache.openjpa.persistence.OpenJPAPersistence; -import org.apache.openjpa.persistence.OpenJPAQuery; -import org.apache.openjpa.persistence.jdbc.FetchDirection; -import org.apache.openjpa.persistence.jdbc.JDBCFetchPlan; -import org.apache.openjpa.persistence.jdbc.LRSSizeAlgorithm; -import org.apache.openjpa.persistence.jdbc.ResultSetType; import org.eclipse.persistence.jpa.JpaQuery; import org.eclipse.persistence.queries.ScrollableCursor; import org.hibernate.ScrollMode; @@ -121,7 +112,8 @@ public enum PersistenceProvider implements QueryExtractor, ProxyIdAccessor { /** * EclipseLink persistence provider. */ - ECLIPSELINK(Collections.singleton(ECLIPSELINK_ENTITY_MANAGER_INTERFACE), Collections.singleton(ECLIPSELINK_JPA_METAMODEL_TYPE)) { + ECLIPSELINK(Collections.singleton(ECLIPSELINK_ENTITY_MANAGER_INTERFACE), + Collections.singleton(ECLIPSELINK_JPA_METAMODEL_TYPE)) { public String extractQueryString(Query query) { return ((JpaQuery) query).getDatabaseQuery().getJPQLString(); @@ -163,48 +155,6 @@ public enum PersistenceProvider implements QueryExtractor, ProxyIdAccessor { } }, - /** - * OpenJpa persistence provider. - */ - OPEN_JPA(Collections.singleton(OPENJPA_ENTITY_MANAGER_INTERFACE), Collections.singleton(OPENJPA_JPA_METAMODEL_TYPE)) { - - /* - * (non-Javadoc) - * @see org.springframework.data.jpa.repository.query.QueryExtractor#extractQueryString(javax.persistence.Query) - */ - @Override - public String extractQueryString(Query query) { - return ((OpenJPAQuery) query).getQueryString(); - } - - /* - * (non-Javadoc) - * @see org.springframework.data.jpa.repository.support.ProxyIdAccessor#isProxy(java.lang.Object) - */ - @Override - public boolean shouldUseAccessorFor(Object entity) { - return entity instanceof PersistenceCapable; - } - - /* - * (non-Javadoc) - * @see org.springframework.data.jpa.repository.support.ProxyIdAccessor#getIdentifierFrom(java.lang.Object) - */ - @Override - public Object getIdentifierFrom(Object entity) { - return ((PersistenceCapable) entity).pcFetchObjectId(); - } - - /* - * (non-Javadoc) - * @see org.springframework.data.jpa.provider.PersistenceProvider#executeQueryWithResultStream(javax.persistence.Query) - */ - @Override - public CloseableIterator executeQueryWithResultStream(Query jpaQuery) { - return new OpenJpaResultStreamingIterator(jpaQuery); - } - }, - /** * Unknown special provider. Use standard JPA. */ @@ -503,67 +453,4 @@ public enum PersistenceProvider implements QueryExtractor, ProxyIdAccessor { } } } - - /** - * {@link CloseableIterator} for OpenJpa. - * - * @author Thomas Darimont - * @author Oliver Gierke - * @param the domain type to return - * @since 1.8 - */ - private static class OpenJpaResultStreamingIterator implements CloseableIterator { - - private final Iterator iterator; - - /** - * Createsa new {@link OpenJpaResultStreamingIterator} for the given JPA {@link Query}. - * - * @param jpaQuery must not be {@literal null}. - */ - @SuppressWarnings({ "rawtypes", "unchecked" }) - public OpenJpaResultStreamingIterator(Query jpaQuery) { - - OpenJPAQuery kq = OpenJPAPersistence.cast(jpaQuery); - - JDBCFetchPlan fetch = (JDBCFetchPlan) kq.getFetchPlan(); - fetch.setFetchBatchSize(20); - fetch.setResultSetType(ResultSetType.SCROLL_SENSITIVE); - fetch.setFetchDirection(FetchDirection.FORWARD); - fetch.setLRSSizeAlgorithm(LRSSizeAlgorithm.LAST); - - List resultList = kq.getResultList(); - iterator = resultList.iterator(); - } - - /* - * (non-Javadoc) - * @see java.util.Iterator#hasNext() - */ - @Override - public boolean hasNext() { - return iterator == null ? false : iterator.hasNext(); - } - - /* - * (non-Javadoc) - * @see java.util.Iterator#next() - */ - @Override - public T next() { - return iterator.next(); - } - - /* - * (non-Javadoc) - * @see org.springframework.data.util.CloseableIterator#close() - */ - @Override - public void close() { - - if (iterator != null) { - OpenJPAPersistence.close(iterator); - } - } - } } diff --git a/src/main/java/org/springframework/data/jpa/repository/support/Querydsl.java b/src/main/java/org/springframework/data/jpa/repository/support/Querydsl.java index 423c878c4..6c14c1bd9 100644 --- a/src/main/java/org/springframework/data/jpa/repository/support/Querydsl.java +++ b/src/main/java/org/springframework/data/jpa/repository/support/Querydsl.java @@ -37,7 +37,6 @@ import com.querydsl.core.types.dsl.PathBuilder; import com.querydsl.jpa.EclipseLinkTemplates; import com.querydsl.jpa.HQLTemplates; import com.querydsl.jpa.JPQLQuery; -import com.querydsl.jpa.OpenJPATemplates; import com.querydsl.jpa.impl.AbstractJPAQuery; import com.querydsl.jpa.impl.JPAQuery; @@ -83,8 +82,6 @@ public class Querydsl { return new JPAQuery(em, EclipseLinkTemplates.DEFAULT); case HIBERNATE: return new JPAQuery(em, HQLTemplates.DEFAULT); - case OPEN_JPA: - return new JPAQuery(em, OpenJPATemplates.DEFAULT); case GENERIC_JPA: default: return new JPAQuery(em); diff --git a/src/test/java/org/springframework/data/jpa/provider/PersistenceProviderUnitTests.java b/src/test/java/org/springframework/data/jpa/provider/PersistenceProviderUnitTests.java index eadde71d0..78fcdfb58 100644 --- a/src/test/java/org/springframework/data/jpa/provider/PersistenceProviderUnitTests.java +++ b/src/test/java/org/springframework/data/jpa/provider/PersistenceProviderUnitTests.java @@ -50,16 +50,6 @@ public class PersistenceProviderUnitTests { this.shadowingClassLoader = new ShadowingClassLoader(getClass().getClassLoader()); } - @Test - public void detectsOpenJpaPersistenceProvider() throws Exception { - - shadowingClassLoader.excludePackage("org.apache.openjpa.persistence"); - - EntityManager em = mockProviderSpecificEntityManagerInterface(OPENJPA_ENTITY_MANAGER_INTERFACE); - - assertThat(fromEntityManager(em), is(OPEN_JPA)); - } - @Test public void detectsEclipseLinkPersistenceProvider() throws Exception { diff --git a/src/test/java/org/springframework/data/jpa/repository/UserRepositoryTests.java b/src/test/java/org/springframework/data/jpa/repository/UserRepositoryTests.java index 0997ca794..626e59ae0 100644 --- a/src/test/java/org/springframework/data/jpa/repository/UserRepositoryTests.java +++ b/src/test/java/org/springframework/data/jpa/repository/UserRepositoryTests.java @@ -16,7 +16,6 @@ package org.springframework.data.jpa.repository; import static org.assertj.core.api.Assertions.*; -import static org.hamcrest.core.IsEqual.*; import static org.springframework.data.domain.Example.*; import static org.springframework.data.domain.ExampleMatcher.*; import static org.springframework.data.domain.Sort.Direction.*; @@ -42,8 +41,6 @@ import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Root; -import org.hamcrest.core.IsNot; -import org.junit.Assume; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; @@ -69,7 +66,6 @@ import org.springframework.data.jpa.domain.sample.Address; import org.springframework.data.jpa.domain.sample.Role; import org.springframework.data.jpa.domain.sample.SpecialUser; import org.springframework.data.jpa.domain.sample.User; -import org.springframework.data.jpa.provider.PersistenceProvider; import org.springframework.data.jpa.repository.sample.SampleEvaluationContextExtension.SampleSecurityContextHolder; import org.springframework.data.jpa.repository.sample.UserRepository; import org.springframework.test.context.ContextConfiguration; @@ -1883,9 +1879,6 @@ public class UserRepositoryTests { @Test // DATAJPA-218 public void findAllByExampleWithIncludeNull() { - // something is wrong with OpenJPA - I do not know what - Assume.assumeThat(PersistenceProvider.fromEntityManager(em), IsNot.not(equalTo(PersistenceProvider.OPEN_JPA))); - flushTestUsers(); firstUser.setAddress(new Address("andor", "caemlyn", "", ""));