1 16 package org.springframework.webflow.engine.builder; 17 18 import org.springframework.beans.factory.BeanFactory; 19 import org.springframework.util.Assert; 20 import org.springframework.webflow.definition.registry.FlowDefinitionRegistry; 21 import org.springframework.webflow.definition.registry.NoSuchFlowDefinitionException; 22 import org.springframework.webflow.engine.Flow; 23 24 35 public class DefaultFlowServiceLocator extends BaseFlowServiceLocator { 36 37 40 private FlowDefinitionRegistry subflowRegistry; 41 42 45 private BeanFactory beanFactory; 46 47 53 public DefaultFlowServiceLocator(FlowDefinitionRegistry subflowRegistry, BeanFactory beanFactory) { 54 Assert.notNull(subflowRegistry, "The subflow registry is required"); 55 Assert.notNull(beanFactory, "The beanFactory is required"); 56 this.subflowRegistry = subflowRegistry; 57 this.beanFactory = beanFactory; 58 } 59 60 public Flow getSubflow(String id) throws FlowArtifactLookupException { 61 try { 62 return (Flow)subflowRegistry.getFlowDefinition(id); 63 } 64 catch (NoSuchFlowDefinitionException e) { 65 throw new FlowArtifactLookupException(id, Flow.class, 66 "Could not locate subflow definition with id '" + id + "'", e); 67 } 68 } 69 70 public BeanFactory getBeanFactory() { 71 return beanFactory; 72 } 73 74 78 protected FlowDefinitionRegistry getSubflowRegistry() { 79 return subflowRegistry; 80 } 81 } | Popular Tags |