some cosmetic changes and initial documentation update

This commit is contained in:
David Turanski
2013-02-12 08:06:44 -05:00
parent 699f3bad51
commit 9b9bc5dbb4
7 changed files with 392 additions and 62 deletions

View File

@@ -32,6 +32,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import com.gemstone.gemfire.cache.execute.Function;
import com.gemstone.gemfire.cache.execute.FunctionService;
/**
* @author David Turanski
*
@@ -41,30 +42,29 @@ import com.gemstone.gemfire.cache.execute.FunctionService;
public class AnnotationDrivenFunctionsTest {
@Autowired
ApplicationContext applicationContext;
@Test
public void testAnnotatedFunctions() {
assertTrue(FunctionService.isRegistered("foo"));
Function function = FunctionService.getFunction("foo");
assertFalse(function.isHA());
assertFalse(function.optimizeForWrite());
assertFalse(function.hasResult());
assertTrue(FunctionService.isRegistered("bar"));
function = FunctionService.getFunction("bar");
assertTrue(function.isHA());
assertFalse(function.optimizeForWrite());
assertTrue(function.hasResult());
assertTrue(FunctionService.isRegistered("foo2"));
function = FunctionService.getFunction("foo2");
assertTrue(function.isHA());
assertTrue(function.optimizeForWrite());
assertTrue(function.hasResult());
assertTrue(FunctionService.isRegistered("injectFilter"));
function = FunctionService.getFunction("injectFilter");
assertTrue(function.isHA());
@@ -75,26 +75,26 @@ public class AnnotationDrivenFunctionsTest {
@Component
public static class FooFunction {
@GemfireFunction
public void foo () {
public void foo() {
}
@GemfireFunction(HA=true,optimizeForWrite=false)
public String bar () {
@GemfireFunction(HA = true, optimizeForWrite = false)
public String bar() {
return null;
}
}
@Component
public static class Foo2Function {
@GemfireFunction(id="foo2", HA=true,optimizeForWrite=true)
public List<String> foo (Object someVal, @RegionData Map<?,?> region, Object someOtherValue) {
@GemfireFunction(id = "foo2", HA = true, optimizeForWrite = true)
public List<String> foo(Object someVal, @RegionData Map<?, ?> region, Object someOtherValue) {
return null;
}
@GemfireFunction(id="injectFilter", HA=true,optimizeForWrite=true)
public List<String> injectFilter (@Filter Set<?> keySet) {
@GemfireFunction(id = "injectFilter", HA = true, optimizeForWrite = true)
public List<String> injectFilter(@Filter Set<?> keySet) {
return null;
}
}
}

View File

@@ -40,36 +40,33 @@ import com.gemstone.gemfire.distributed.DistributedMember;
*
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes={TestClientCacheConfig.class})
@ContextConfiguration(classes = { TestClientCacheConfig.class })
public class FunctionExecutionClientCacheTests {
@Autowired
ApplicationContext context;
@Test
public void testContextCreated() throws Exception {
ClientCache cache = context.getBean("gemfireCache",ClientCache.class);
Pool pool = context.getBean("gemfirePool",Pool.class);
public void testContextCreated() throws Exception {
ClientCache cache = context.getBean("gemfireCache", ClientCache.class);
Pool pool = context.getBean("gemfirePool", Pool.class);
assertEquals("gemfirePool", pool.getName());
assertEquals(1, cache.getDefaultPool().getServers().size());
assertEquals(pool.getServers().get(0), cache.getDefaultPool().getServers().get(0));
context.getBean("r1",Region.class);
context.getBean("r1", Region.class);
GemfireOnServerFunctionTemplate template = context.getBean(GemfireOnServerFunctionTemplate.class);
assertTrue(template.getResultCollector() instanceof MyResultCollector);
}
}
@ImportResource("/org/springframework/data/gemfire/function/config/FunctionExecutionCacheClientTests-context.xml")
@EnableGemfireFunctionExecutions (basePackages = "org.springframework.data.gemfire.function.config.three",
excludeFilters = {
/*@ComponentScan.Filter(type=FilterType.ANNOTATION, value=OnRegion.class),
@ComponentScan.Filter(type=FilterType.ANNOTATION, value=OnServer.class)*/
}
)
@EnableGemfireFunctionExecutions(basePackages = "org.springframework.data.gemfire.function.config.three", excludeFilters = {
/*@ComponentScan.Filter(type=FilterType.ANNOTATION, value=OnRegion.class),
@ComponentScan.Filter(type=FilterType.ANNOTATION, value=OnServer.class)*/
})
@Configuration
class TestClientCacheConfig {
@Bean
@@ -87,7 +84,7 @@ class MyResultCollector implements ResultCollector {
@Override
public void addResult(DistributedMember arg0, Object arg1) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
@@ -96,7 +93,7 @@ class MyResultCollector implements ResultCollector {
@Override
public void clearResults() {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
@@ -105,7 +102,7 @@ class MyResultCollector implements ResultCollector {
@Override
public void endResults() {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
@@ -125,7 +122,5 @@ class MyResultCollector implements ResultCollector {
// TODO Auto-generated method stub
return null;
}
}

View File

@@ -30,40 +30,36 @@ import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import com.gemstone.gemfire.cache.Region;
/**
* @author David Turanski
*
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes={TestConfig.class},
initializers=GemfireTestApplicationContextInitializer.class)
@ContextConfiguration(classes = { TestConfig.class }, initializers = GemfireTestApplicationContextInitializer.class)
public class FunctionExecutionIntegrationTests {
@Autowired
ApplicationContext context;
@Test
public void testProxyFactoryBeanCreated() throws Exception {
OnRegionFunctionProxyFactoryBean factoryBean = (OnRegionFunctionProxyFactoryBean)context.getBean("&testFunction");
Class<?> serviceInterface = TestUtils.readField("serviceInterface",factoryBean);
OnRegionFunctionProxyFactoryBean factoryBean = (OnRegionFunctionProxyFactoryBean) context
.getBean("&testFunction");
Class<?> serviceInterface = TestUtils.readField("serviceInterface", factoryBean);
assertEquals(serviceInterface, TestOnRegionFunction.class);
Region<?,?> r1 = context.getBean("r1",Region.class);
GemfireOnRegionFunctionTemplate template = TestUtils.readField("gemfireFunctionOperations",factoryBean);
assertSame(r1, TestUtils.readField("region",template));
}
}
Region<?, ?> r1 = context.getBean("r1", Region.class);
GemfireOnRegionFunctionTemplate template = TestUtils.readField("gemfireFunctionOperations", factoryBean);
assertSame(r1, TestUtils.readField("region", template));
}
}
@ImportResource("/org/springframework/data/gemfire/function/config/FunctionExecutionIntegrationTests-context.xml")
@EnableGemfireFunctionExecutions(basePackages = "org.springframework.data.gemfire.function.config.two")
@Configuration
class TestConfig {
}