@@ -35,9 +35,9 @@ import org.springframework.data.redis.core.convert.RedisConverter;
|
||||
import org.springframework.data.repository.query.ParameterAccessor;
|
||||
import org.springframework.data.repository.query.ParametersParameterAccessor;
|
||||
import org.springframework.data.repository.query.QueryMethod;
|
||||
import org.springframework.data.repository.query.QueryMethodEvaluationContextProvider;
|
||||
import org.springframework.data.repository.query.ResultProcessor;
|
||||
import org.springframework.data.repository.query.ReturnedType;
|
||||
import org.springframework.data.repository.query.ValueExpressionDelegate;
|
||||
import org.springframework.data.repository.query.parser.AbstractQueryCreator;
|
||||
import org.springframework.data.util.ReflectionUtils;
|
||||
import org.springframework.data.util.Streamable;
|
||||
@@ -54,9 +54,9 @@ public class RedisPartTreeQuery extends KeyValuePartTreeQuery {
|
||||
|
||||
private final RedisKeyValueAdapter adapter;
|
||||
|
||||
public RedisPartTreeQuery(QueryMethod queryMethod, QueryMethodEvaluationContextProvider evaluationContextProvider,
|
||||
public RedisPartTreeQuery(QueryMethod queryMethod, ValueExpressionDelegate valueExpressionDelegate,
|
||||
KeyValueOperations template, Class<? extends AbstractQueryCreator<?, ?>> queryCreator) {
|
||||
super(queryMethod, evaluationContextProvider, template, queryCreator);
|
||||
super(queryMethod, valueExpressionDelegate, template, queryCreator);
|
||||
this.adapter = (RedisKeyValueAdapter) template.getKeyValueAdapter();
|
||||
}
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@ import org.springframework.core.env.Environment;
|
||||
import org.springframework.core.env.StandardEnvironment;
|
||||
import org.springframework.core.io.ResourceLoader;
|
||||
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
||||
import org.springframework.core.type.AnnotationMetadata;
|
||||
import org.springframework.core.type.StandardAnnotationMetadata;
|
||||
import org.springframework.data.annotation.Id;
|
||||
import org.springframework.data.keyvalue.repository.KeyValueRepository;
|
||||
@@ -46,12 +47,12 @@ import org.springframework.data.repository.config.RepositoryConfigurationSource;
|
||||
*/
|
||||
class RedisRepositoryConfigurationExtensionUnitTests {
|
||||
|
||||
private StandardAnnotationMetadata metadata = new StandardAnnotationMetadata(Config.class, true);
|
||||
private AnnotationMetadata metadata = AnnotationMetadata.introspect(Config.class);
|
||||
private ResourceLoader loader = new PathMatchingResourcePatternResolver();
|
||||
private Environment environment = new StandardEnvironment();
|
||||
private BeanDefinitionRegistry registry = new DefaultListableBeanFactory();
|
||||
private RepositoryConfigurationSource configurationSource = new AnnotationRepositoryConfigurationSource(metadata,
|
||||
EnableRedisRepositories.class, loader, environment, registry);
|
||||
EnableRedisRepositories.class, loader, environment, registry, null);
|
||||
|
||||
private RedisRepositoryConfigurationExtension extension = new RedisRepositoryConfigurationExtension();
|
||||
|
||||
@@ -75,46 +76,46 @@ class RedisRepositoryConfigurationExtensionUnitTests {
|
||||
@Test // DATAREDIS-491
|
||||
void picksUpEnableKeyspaceEventsOnStartupCorrectly() {
|
||||
|
||||
metadata = new StandardAnnotationMetadata(Config.class, true);
|
||||
BeanDefinitionRegistry beanDefintionRegistry = getBeanDefinitionRegistry();
|
||||
metadata = AnnotationMetadata.introspect(Config.class);
|
||||
BeanDefinitionRegistry bdr = getBeanDefinitionRegistry();
|
||||
|
||||
assertThat(getEnableKeyspaceEvents(beanDefintionRegistry)).isEqualTo((Object) EnableKeyspaceEvents.ON_STARTUP);
|
||||
assertThat(getEnableKeyspaceEvents(bdr)).isEqualTo((Object) EnableKeyspaceEvents.ON_STARTUP);
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-491
|
||||
void picksUpEnableKeyspaceEventsDefaultCorrectly() {
|
||||
|
||||
metadata = new StandardAnnotationMetadata(ConfigWithKeyspaceEventsDisabled.class, true);
|
||||
BeanDefinitionRegistry beanDefintionRegistry = getBeanDefinitionRegistry();
|
||||
metadata = AnnotationMetadata.introspect(ConfigWithKeyspaceEventsDisabled.class);
|
||||
BeanDefinitionRegistry bdr = getBeanDefinitionRegistry();
|
||||
|
||||
assertThat(getEnableKeyspaceEvents(beanDefintionRegistry)).isEqualTo((Object) EnableKeyspaceEvents.OFF);
|
||||
assertThat(getEnableKeyspaceEvents(bdr)).isEqualTo((Object) EnableKeyspaceEvents.OFF);
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-505
|
||||
void picksUpDefaultKeyspaceNotificationsConfigParameterCorrectly() {
|
||||
|
||||
metadata = new StandardAnnotationMetadata(Config.class, true);
|
||||
BeanDefinitionRegistry beanDefintionRegistry = getBeanDefinitionRegistry();
|
||||
BeanDefinitionRegistry bdr = getBeanDefinitionRegistry();
|
||||
|
||||
assertThat(getKeyspaceNotificationsConfigParameter(beanDefintionRegistry)).isEqualTo((Object) "Ex");
|
||||
assertThat(getKeyspaceNotificationsConfigParameter(bdr)).isEqualTo((Object) "Ex");
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-505
|
||||
void picksUpCustomKeyspaceNotificationsConfigParameterCorrectly() {
|
||||
|
||||
metadata = new StandardAnnotationMetadata(ConfigWithKeyspaceEventsEnabledAndCustomEventConfig.class, true);
|
||||
BeanDefinitionRegistry beanDefintionRegistry = getBeanDefinitionRegistry();
|
||||
BeanDefinitionRegistry bdr = getBeanDefinitionRegistry();
|
||||
|
||||
assertThat(getKeyspaceNotificationsConfigParameter(beanDefintionRegistry)).isEqualTo((Object) "KEA");
|
||||
assertThat(getKeyspaceNotificationsConfigParameter(bdr)).isEqualTo((Object) "KEA");
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-1049
|
||||
void explicitlyEmptyKeyspaceNotificationsConfigParameterShouldBeCapturedCorrectly() {
|
||||
|
||||
metadata = new StandardAnnotationMetadata(ConfigWithEmptyConfigParameter.class, true);
|
||||
BeanDefinitionRegistry beanDefintionRegistry = getBeanDefinitionRegistry();
|
||||
BeanDefinitionRegistry bdr = getBeanDefinitionRegistry();
|
||||
|
||||
assertThat(getKeyspaceNotificationsConfigParameter(beanDefintionRegistry)).isEqualTo("");
|
||||
assertThat(getKeyspaceNotificationsConfigParameter(bdr)).isEqualTo("");
|
||||
}
|
||||
|
||||
private static void assertDoesNotHaveRepo(Class<?> repositoryInterface,
|
||||
@@ -147,7 +148,7 @@ class RedisRepositoryConfigurationExtensionUnitTests {
|
||||
BeanDefinitionRegistry registry = new SimpleBeanDefinitionRegistry();
|
||||
|
||||
RepositoryConfigurationSource configurationSource = new AnnotationRepositoryConfigurationSource(metadata,
|
||||
EnableRedisRepositories.class, loader, environment, registry);
|
||||
EnableRedisRepositories.class, loader, environment, registry, null);
|
||||
|
||||
RedisRepositoryConfigurationExtension extension = new RedisRepositoryConfigurationExtension();
|
||||
|
||||
@@ -156,13 +157,13 @@ class RedisRepositoryConfigurationExtensionUnitTests {
|
||||
return registry;
|
||||
}
|
||||
|
||||
private Object getEnableKeyspaceEvents(BeanDefinitionRegistry beanDefintionRegistry) {
|
||||
return beanDefintionRegistry.getBeanDefinition("redisKeyValueAdapter").getPropertyValues()
|
||||
private Object getEnableKeyspaceEvents(BeanDefinitionRegistry bdr) {
|
||||
return bdr.getBeanDefinition("redisKeyValueAdapter").getPropertyValues()
|
||||
.getPropertyValue("enableKeyspaceEvents").getValue();
|
||||
}
|
||||
|
||||
private Object getKeyspaceNotificationsConfigParameter(BeanDefinitionRegistry beanDefintionRegistry) {
|
||||
return beanDefintionRegistry.getBeanDefinition("redisKeyValueAdapter").getPropertyValues()
|
||||
private Object getKeyspaceNotificationsConfigParameter(BeanDefinitionRegistry bdr) {
|
||||
return bdr.getBeanDefinition("redisKeyValueAdapter").getPropertyValues()
|
||||
.getPropertyValue("keyspaceNotificationsConfigParameter").getValue();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user