SGF-163 - made repository.findAll() consistent with count() for client regions

This commit is contained in:
David Turanski
2013-03-07 16:45:58 -05:00
parent 4a6021fbc3
commit 0163b43dd3
7 changed files with 164 additions and 34 deletions

View File

@@ -32,27 +32,35 @@ public class GemfireDataSourceParser extends AbstractBeanDefinitionParser {
*/
@Override
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
AbstractBeanDefinition poolDefinition = (AbstractBeanDefinition) new PoolParser().parse(element, parserContext);
MutablePropertyValues poolProps = poolDefinition.getPropertyValues();
MutablePropertyValues poolProps = poolDefinition.getPropertyValues();
poolProps.add("name", GemfireConstants.DEFAULT_GEMFIRE_POOL_NAME);
if (!element.hasAttribute("subscription-enabled")) {
poolProps.add("subscriptionEnabled", true);
}
parserContext.getRegistry().registerBeanDefinition(GemfireConstants.DEFAULT_GEMFIRE_POOL_NAME,poolDefinition);
AbstractBeanDefinition clientCacheDefinition = (AbstractBeanDefinition)new ClientCacheParser().parse(element, parserContext);
parserContext.getRegistry().registerBeanDefinition(GemfireConstants.DEFAULT_GEMFIRE_POOL_NAME, poolDefinition);
AbstractBeanDefinition clientCacheDefinition = (AbstractBeanDefinition) new ClientCacheParser().parse(element,
parserContext);
MutablePropertyValues props = clientCacheDefinition.getPropertyValues();
props.add("pool", poolDefinition);
clientCacheDefinition.setPropertyValues(props);
parserContext.getRegistry().registerBeanDefinition(GemfireConstants.DEFAULT_GEMFIRE_CACHE_NAME,clientCacheDefinition);
System.out.println("registered " + GemfireConstants.DEFAULT_GEMFIRE_CACHE_NAME+ ":" + clientCacheDefinition.getBeanClassName());
BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(GemfireDataSourcePostProcessor.class);
parserContext.getRegistry().registerBeanDefinition(GemfireConstants.DEFAULT_GEMFIRE_CACHE_NAME,
clientCacheDefinition);
System.out.println("registered " + GemfireConstants.DEFAULT_GEMFIRE_CACHE_NAME + ":"
+ clientCacheDefinition.getBeanClassName());
BeanDefinitionBuilder builder = BeanDefinitionBuilder
.genericBeanDefinition(GemfireDataSourcePostProcessor.class);
builder.addConstructorArgReference(GemfireConstants.DEFAULT_GEMFIRE_CACHE_NAME);
BeanDefinitionReaderUtils.registerWithGeneratedName(builder.getBeanDefinition(), parserContext.getRegistry());
return null;

View File

@@ -100,13 +100,8 @@ public class SimpleGemfireRepository<T, ID extends Serializable> implements Gemf
*/
@Override
public Collection<T> findAll() {
return template.execute(new GemfireCallback<Collection<T>>() {
@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
public Collection<T> doInGemfire(Region region) {
return region.values();
}
});
SelectResults<T> results = template.find("select * from " + template.getRegion().getFullPath());
return (Collection<T>)results.asList();
}
/*