package org.springframework.webflow.config; import java.util.HashMap; import java.util.Map; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.webflow.definition.registry.FlowDefinitionRegistry; public class FlowDefinitionRegistryJavaConfigTests extends AbstractFlowRegistryConfigurationTests { protected ApplicationContext initApplicationContext() { return new AnnotationConfigApplicationContext(WebFlowConfig.class); } static class WebFlowConfig extends AbstractFlowConfiguration { @Bean public FlowDefinitionRegistry flowRegistry() { Map<String, Object> flowAttributes = new HashMap<String, Object>(); flowAttributes.put("foo", "bar"); flowAttributes.put("bar", 2); return getFlowDefinitionRegistryBuilder().setParent(parentRegistry()) .addFlowLocation("org/springframework/webflow/config/flow.xml", "flow", flowAttributes) .addFlowLocation("/some/path/that/is/bogus.xml") .addFlowLocationPattern("org/springframework/webflow/config/flows/*.xml") .addFlowBuilder(new FooFlowBuilder()) .addFlowBuilder(new FooFlowBuilder(), "foo2") .addFlowBuilder(new FooFlowBuilder(), "foo3", flowAttributes) .build(); } @Bean public FlowDefinitionRegistry parentRegistry() { return getFlowDefinitionRegistryBuilder() .addFlowLocation("org/springframework/webflow/config/flow.xml", "parentFlow") .build(); } } }