DATAJPA-1158 - Removed remaining references to OpenJPA.
As we now rely on JPA 2.1 as lower baseline for JPA implementations, we already generally removed the support for OpenJPA as it currently doesn't ship any JPA 2.1 compatible version. This commit removes all remaining references and code paths.
This commit is contained in:
47
pom.xml
47
pom.xml
@@ -25,7 +25,6 @@
|
||||
<hibernate>5.2.9.Final</hibernate>
|
||||
<hsqldb1>1.8.0.10</hsqldb1>
|
||||
<jpa>2.0.0</jpa>
|
||||
<openjpa>2.4.1</openjpa>
|
||||
<springdata.commons>2.0.0.BUILD-SNAPSHOT</springdata.commons>
|
||||
|
||||
<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
|
||||
@@ -189,25 +188,6 @@
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.openjpa</groupId>
|
||||
<artifactId>openjpa-persistence-jdbc</artifactId>
|
||||
<version>${openjpa}</version>
|
||||
<optional>true</optional>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>commons-logging</groupId>
|
||||
<artifactId>commons-logging</artifactId>
|
||||
</exclusion>
|
||||
<!-- Transitive dependency pulls in JUnit 3.8.1 -->
|
||||
<!-- http://sourceforge.net/tracker/?func=detail&aid=2572567&group_id=31479&atid=402282 -->
|
||||
<exclusion>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<!-- QueryDsl -->
|
||||
<dependency>
|
||||
<groupId>com.querydsl</groupId>
|
||||
@@ -297,12 +277,6 @@
|
||||
<version>${spring}</version>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.openjpa</groupId>
|
||||
<artifactId>openjpa</artifactId>
|
||||
<version>${openjpa}</version>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.hsqldb</groupId>
|
||||
<artifactId>hsqldb</artifactId>
|
||||
@@ -363,27 +337,6 @@
|
||||
<argLine>-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</argLine>
|
||||
</configuration>
|
||||
</execution>
|
||||
<!--
|
||||
<execution>
|
||||
<id>openjpa-tests</id>
|
||||
<goals>
|
||||
<goal>test</goal>
|
||||
</goals>
|
||||
<phase>test</phase>
|
||||
<configuration>
|
||||
<includes>
|
||||
<include>**/OpenJpa*Tests.java</include>
|
||||
</includes>
|
||||
<argLine>-javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco}/org.jacoco.agent-${jacoco}-runtime.jar=destfile=${jacoco.destfile} -javaagent:${settings.localRepository}/org/apache/openjpa/openjpa/${openjpa}/openjpa-${openjpa}.jar</argLine>
|
||||
<classpathDependencyExcludes>
|
||||
<classpathDepencyExclude>org.hsqldb:hsqldb</classpathDepencyExclude>
|
||||
</classpathDependencyExcludes>
|
||||
<additionalClasspathElements>
|
||||
<additionalClasspathElement>${settings.localRepository}/org/hsqldb/hsqldb/${hsqldb1}/hsqldb-${hsqldb1}.jar</additionalClasspathElement>
|
||||
</additionalClasspathElements>
|
||||
</configuration>
|
||||
</execution>
|
||||
-->
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
|
||||
@@ -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<Object> executeQueryWithResultStream(Query jpaQuery) {
|
||||
return new OpenJpaResultStreamingIterator<Object>(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 <T> the domain type to return
|
||||
* @since 1.8
|
||||
*/
|
||||
private static class OpenJpaResultStreamingIterator<T> implements CloseableIterator<T> {
|
||||
|
||||
private final Iterator<T> 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<T> 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<T>(em, EclipseLinkTemplates.DEFAULT);
|
||||
case HIBERNATE:
|
||||
return new JPAQuery<T>(em, HQLTemplates.DEFAULT);
|
||||
case OPEN_JPA:
|
||||
return new JPAQuery<T>(em, OpenJPATemplates.DEFAULT);
|
||||
case GENERIC_JPA:
|
||||
default:
|
||||
return new JPAQuery<T>(em);
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
@@ -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", "", ""));
|
||||
|
||||
Reference in New Issue
Block a user