Package org.springframework.webflow.config

Source Code of org.springframework.webflow.config.FlowExecutorFactoryBeanTests

package org.springframework.webflow.config;

import java.util.HashSet;
import java.util.Set;

import junit.framework.TestCase;

import org.springframework.webflow.definition.FlowDefinition;
import org.springframework.webflow.definition.registry.FlowDefinitionConstructionException;
import org.springframework.webflow.definition.registry.FlowDefinitionLocator;
import org.springframework.webflow.definition.registry.NoSuchFlowDefinitionException;
import org.springframework.webflow.engine.EndState;
import org.springframework.webflow.engine.Flow;
import org.springframework.webflow.engine.StubViewFactory;
import org.springframework.webflow.engine.Transition;
import org.springframework.webflow.engine.ViewState;
import org.springframework.webflow.engine.support.DefaultTargetStateResolver;
import org.springframework.webflow.execution.FlowExecutionListener;
import org.springframework.webflow.execution.FlowExecutionListenerAdapter;
import org.springframework.webflow.execution.factory.StaticFlowExecutionListenerLoader;

public class FlowExecutorFactoryBeanTests extends TestCase {
  private FlowExecutorFactoryBean factoryBean;

  public void setUp() {
    factoryBean = new FlowExecutorFactoryBean();
  }

  public void testGetFlowExecutorNoPropertiesSet() throws Exception {
    try {
      factoryBean.afterPropertiesSet();
    } catch (IllegalArgumentException e) {

    }
  }

  public void testGetFlowExecutorBasicConfig() throws Exception {
    factoryBean.setFlowDefinitionLocator(new FlowDefinitionLocator() {
      public FlowDefinition getFlowDefinition(String id) throws NoSuchFlowDefinitionException,
          FlowDefinitionConstructionException {
        Flow flow = new Flow(id);
        ViewState view = new ViewState(flow, "view", new StubViewFactory());
        view.getTransitionSet().add(new Transition(new DefaultTargetStateResolver("end")));
        new EndState(flow, "end");
        return flow;
      }
    });
    factoryBean.afterPropertiesSet();
    factoryBean.getObject();
  }

  public void testGetFlowExecutorOptionsSpecified() throws Exception {
    factoryBean.setFlowDefinitionLocator(new FlowDefinitionLocator() {
      public FlowDefinition getFlowDefinition(String id) throws NoSuchFlowDefinitionException,
          FlowDefinitionConstructionException {
        Flow flow = new Flow(id);
        ViewState view = new ViewState(flow, "view", new StubViewFactory());
        view.getTransitionSet().add(new Transition(new DefaultTargetStateResolver("end")));
        new EndState(flow, "end");
        return flow;
      }
    });
    Set<FlowElementAttribute> attributes = new HashSet<FlowElementAttribute>();
    attributes.add(new FlowElementAttribute("foo", "bar", null));
    factoryBean.setFlowExecutionAttributes(attributes);
    FlowExecutionListener listener = new FlowExecutionListenerAdapter() {

    };
    factoryBean.setFlowExecutionListenerLoader(new StaticFlowExecutionListenerLoader(listener));
    factoryBean.setMaxFlowExecutionSnapshots(2);
    factoryBean.setMaxFlowExecutions(1);
    factoryBean.afterPropertiesSet();
    factoryBean.getObject();
  }
}
TOP

Related Classes of org.springframework.webflow.config.FlowExecutorFactoryBeanTests

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.