some cosmetic changes and initial documentation update
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user