From 4d01d1206db41e5e934c3335d7e5a88cae99bc28 Mon Sep 17 00:00:00 2001 From: David Turanski Date: Fri, 28 Sep 2012 09:37:02 -0400 Subject: [PATCH] SGF-131. Fixed count() problem --- .../support/SimpleGemfireRepository.java | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/springframework/data/gemfire/repository/support/SimpleGemfireRepository.java b/src/main/java/org/springframework/data/gemfire/repository/support/SimpleGemfireRepository.java index e7c7fc2a..74b58b2e 100644 --- a/src/main/java/org/springframework/data/gemfire/repository/support/SimpleGemfireRepository.java +++ b/src/main/java/org/springframework/data/gemfire/repository/support/SimpleGemfireRepository.java @@ -12,14 +12,14 @@ import org.springframework.data.gemfire.repository.Wrapper; import org.springframework.data.repository.core.EntityInformation; import org.springframework.util.Assert; -import com.gemstone.gemfire.GemFireCheckedException; -import com.gemstone.gemfire.GemFireException; import com.gemstone.gemfire.cache.Region; +import com.gemstone.gemfire.cache.query.SelectResults; /** * Basic repository implementation. * * @author Oliver Gierke + * @author David Turanski */ public class SimpleGemfireRepository implements GemfireRepository { @@ -135,14 +135,8 @@ public class SimpleGemfireRepository implements Gemf */ @Override public long count() { - return template.execute(new GemfireCallback() { - @Override - @SuppressWarnings("rawtypes") - // TODO: Take into account keySetOnServer() - public Long doInGemfire(Region region) throws GemFireCheckedException, GemFireException { - return Long.valueOf(region.keySet().size()); - } - }); + SelectResults results = template.find("select count(*) from " + template.getRegion().getFullPath()); + return (long)results.iterator().next(); } /*