diff --git a/pom.xml b/pom.xml index 903436dc3..e9a2077ca 100644 --- a/pom.xml +++ b/pom.xml @@ -22,6 +22,7 @@ DATAJPA + 3.3.7 2.5.1 3.6.10.Final 1.8.0.10 @@ -115,7 +116,6 @@ ${aspectj} test - org.springframework spring-aspects @@ -144,7 +144,6 @@ ${hibernate} true - org.eclipse.persistence org.eclipse.persistence.jpa @@ -171,6 +170,21 @@ + + org.datanucleus + datanucleus-accessplatform-jpa-rdbms + ${datanucleus} + pom + true + runtime + + + org.datanucleus + datanucleus-jpa-query + + + + com.mysema.querydsl @@ -258,6 +272,21 @@ + + + datanucleus-tests + + test + + test + + + **/DataNucleus*Tests.java + + -javaagent:${settings.localRepository}/org/datanucleus/datanucleus-core/3.2.12/datanucleus-core-3.2.12.jar=-api=JPA + + + unit-tests @@ -270,6 +299,7 @@ + integration-tests @@ -284,12 +314,14 @@ **/*UnitTests.java **/OpenJpa* + **/DataNucleus* **/EclipseLink* **/infrastructure/* -javaagent:${settings.localRepository}/org/springframework/spring-instrument/${spring}/spring-instrument-${spring}.jar + eclipselink-tests @@ -303,6 +335,7 @@ -javaagent:${settings.localRepository}/org/springframework/spring-instrument/${spring}/spring-instrument-${spring}.jar + openjpa-tests @@ -322,6 +355,7 @@ + diff --git a/src/test/java/org/springframework/data/jpa/repository/DataNucleusJpaVendorAdapter.java b/src/test/java/org/springframework/data/jpa/repository/DataNucleusJpaVendorAdapter.java new file mode 100644 index 000000000..c4ce6601d --- /dev/null +++ b/src/test/java/org/springframework/data/jpa/repository/DataNucleusJpaVendorAdapter.java @@ -0,0 +1,35 @@ +/* + * Copyright 2013-2014 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.jpa.repository; + +import javax.persistence.spi.PersistenceProvider; + +import org.datanucleus.api.jpa.PersistenceProviderImpl; +import org.springframework.orm.jpa.vendor.AbstractJpaVendorAdapter; + +/** + * @author Oliver Gierke + */ +public class DataNucleusJpaVendorAdapter extends AbstractJpaVendorAdapter { + + /* + * (non-Javadoc) + * @see org.springframework.orm.jpa.JpaVendorAdapter#getPersistenceProvider() + */ + public PersistenceProvider getPersistenceProvider() { + return new PersistenceProviderImpl(); + } +} diff --git a/src/test/java/org/springframework/data/jpa/repository/DataNucleusNamespaceUserRepositoryTests.java b/src/test/java/org/springframework/data/jpa/repository/DataNucleusNamespaceUserRepositoryTests.java new file mode 100644 index 000000000..3d8caab97 --- /dev/null +++ b/src/test/java/org/springframework/data/jpa/repository/DataNucleusNamespaceUserRepositoryTests.java @@ -0,0 +1,29 @@ +/* + * Copyright 2008-2014 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.jpa.repository; + +import org.springframework.data.jpa.repository.sample.UserRepository; +import org.springframework.test.context.ContextConfiguration; + +/** + * Testcase to run {@link UserRepository} integration tests on top of DataNucleus. + * + * @author Oliver Gierke + */ +@ContextConfiguration(value = "classpath:datanucleus.xml") +public class DataNucleusNamespaceUserRepositoryTests extends NamespaceUserRepositoryTests { + +} diff --git a/src/test/resources/datanucleus.xml b/src/test/resources/datanucleus.xml new file mode 100644 index 000000000..f278e37b6 --- /dev/null +++ b/src/test/resources/datanucleus.xml @@ -0,0 +1,16 @@ + + + + + + + true + + +