DATAJPA-19 - Adapted generics changes.
This commit is contained in:
@@ -49,7 +49,7 @@ public class QueryLookupStrategyTests {
|
||||
@Test
|
||||
public void assertUseDeclaredQuery() {
|
||||
|
||||
JpaRepositoryFactoryBean<?> factory =
|
||||
JpaRepositoryFactoryBean<?, ?, ?> factory =
|
||||
context.getBean("&roleRepository",
|
||||
JpaRepositoryFactoryBean.class);
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ public class CustomGenericJpaRepository<T, ID extends Serializable> extends
|
||||
* @param domainClass
|
||||
* @param entityManager
|
||||
*/
|
||||
public CustomGenericJpaRepository(JpaEntityInformation<T> metadata,
|
||||
public CustomGenericJpaRepository(JpaEntityInformation<T, ID> metadata,
|
||||
EntityManager entityManager) {
|
||||
|
||||
super(metadata, entityManager);
|
||||
|
||||
@@ -55,7 +55,7 @@ public class CustomGenericJpaRepositoryFactory extends JpaRepositoryFactory {
|
||||
protected Object getTargetRepository(RepositoryMetadata metadata,
|
||||
EntityManager em) {
|
||||
|
||||
JpaEntityInformation<Object> entityMetadata =
|
||||
JpaEntityInformation<Object, Serializable> entityMetadata =
|
||||
mock(JpaEntityInformation.class);
|
||||
when(entityMetadata.getJavaType()).thenReturn(
|
||||
(Class<Object>) metadata.getDomainClass());
|
||||
|
||||
@@ -15,6 +15,8 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository.custom;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import javax.persistence.EntityManager;
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
@@ -28,8 +30,8 @@ import org.springframework.data.repository.support.RepositoryFactorySupport;
|
||||
* @author Gil Markham
|
||||
* @author Oliver Gierke
|
||||
*/
|
||||
public class CustomGenericJpaRepositoryFactoryBean<T extends JpaRepository<?, ?>>
|
||||
extends JpaRepositoryFactoryBean<T> {
|
||||
public class CustomGenericJpaRepositoryFactoryBean<T extends JpaRepository<Object, Serializable>>
|
||||
extends JpaRepositoryFactoryBean<T, Object, Serializable> {
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
|
||||
@@ -19,6 +19,7 @@ import static org.junit.Assert.*;
|
||||
import static org.mockito.Matchers.*;
|
||||
import static org.mockito.Mockito.*;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -49,7 +50,7 @@ import org.springframework.data.repository.support.RepositoryFactorySupport;
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
public class JpaRepositoryFactoryBeanUnitTests {
|
||||
|
||||
JpaRepositoryFactoryBean<SimpleSampleRepository> factoryBean;
|
||||
JpaRepositoryFactoryBean<SimpleSampleRepository, User, Integer> factoryBean;
|
||||
|
||||
@Mock
|
||||
EntityManager entityManager;
|
||||
@@ -79,7 +80,7 @@ public class JpaRepositoryFactoryBeanUnitTests {
|
||||
|
||||
// Setup standard factory configuration
|
||||
factoryBean =
|
||||
new DummyJpaRepositoryFactoryBean<SimpleSampleRepository>();
|
||||
new DummyJpaRepositoryFactoryBean<SimpleSampleRepository, User, Integer>();
|
||||
factoryBean.setRepositoryInterface(SimpleSampleRepository.class);
|
||||
factoryBean.setEntityManager(entityManager);
|
||||
}
|
||||
@@ -128,12 +129,13 @@ public class JpaRepositoryFactoryBeanUnitTests {
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void preventsUnsetRepositoryInterface() throws Exception {
|
||||
|
||||
factoryBean = new JpaRepositoryFactoryBean<SimpleSampleRepository>();
|
||||
factoryBean =
|
||||
new JpaRepositoryFactoryBean<SimpleSampleRepository, User, Integer>();
|
||||
factoryBean.afterPropertiesSet();
|
||||
}
|
||||
|
||||
private class DummyJpaRepositoryFactoryBean<T extends JpaRepository<?, ?>>
|
||||
extends JpaRepositoryFactoryBean<T> {
|
||||
private class DummyJpaRepositoryFactoryBean<T extends JpaRepository<S, ID>, S, ID extends Serializable>
|
||||
extends JpaRepositoryFactoryBean<T, S, ID> {
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
|
||||
@@ -18,6 +18,7 @@ package org.springframework.data.jpa.repository.support;
|
||||
import static junit.framework.Assert.*;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.Serializable;
|
||||
|
||||
import javax.persistence.EntityManager;
|
||||
|
||||
@@ -45,7 +46,7 @@ public class JpaRepositoryFactoryUnitTests {
|
||||
@Mock
|
||||
EntityManager entityManager;
|
||||
@Mock
|
||||
JpaEntityInformation<?> metadata;
|
||||
JpaEntityInformation<Object, Serializable> metadata;
|
||||
|
||||
|
||||
@Before
|
||||
@@ -55,11 +56,12 @@ public class JpaRepositoryFactoryUnitTests {
|
||||
factory = new JpaRepositoryFactory(entityManager) {
|
||||
|
||||
@Override
|
||||
protected JpaEntityInformation<?> getEntityMetadata(
|
||||
java.lang.Class<?> domainClass) {
|
||||
@SuppressWarnings("unchecked")
|
||||
public <T, ID extends Serializable> JpaEntityInformation<T, ID> getEntityInformation(
|
||||
Class<T> domainClass) {
|
||||
|
||||
return metadata;
|
||||
}
|
||||
return (JpaEntityInformation<T, ID>) metadata;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user