Package org.springframework.batch.core.job.flow.support

Examples of org.springframework.batch.core.job.flow.support.SimpleFlow


  /* (non-Javadoc)
   * @see org.springframework.beans.factory.FactoryBean#getObject()
   */
  @Override
  public SimpleFlow getObject() throws Exception {
    SimpleFlow flow = flowType.getConstructor(String.class).newInstance(name);

    flow.setStateTransitionComparator(stateTransitionComparator);

    List<StateTransition> updatedTransitions = new ArrayList<StateTransition>();
    for (StateTransition stateTransition : stateTransitions) {
      State state = getProxyState(stateTransition.getState());
      updatedTransitions.add(StateTransition.switchOriginAndDestination(stateTransition, state,
          getNext(stateTransition.getNext())));
    }

    flow.setStateTransitions(updatedTransitions);
    flow.afterPropertiesSet();
    return flow;

  }
View Full Code Here


  }

  @Test
  public void testDecisionFlowWithExceptionInDecider() throws Throwable {

    SimpleFlow flow = new JsrFlow("job");
    JobExecutionDecider decider = new JobExecutionDecider() {
      @Override
      public FlowExecutionStatus decide(JobExecution jobExecution, StepExecution stepExecution) {
        assertNotNull(stepExecution);
        throw new RuntimeException("Foo");
      }
    };

    List<StateTransition> transitions = new ArrayList<StateTransition>();
    transitions.add(StateTransition.createStateTransition(new StepState(new StubStep("step1")), "decision"));
    DecisionState decision = new DecisionState(decider, "decision");
    transitions.add(StateTransition.createStateTransition(decision, "step2"));
    transitions.add(StateTransition.createStateTransition(decision, "SWITCH", "step3"));
    StepState step2 = new StepState(new StubStep("step2"));
    transitions.add(StateTransition.createStateTransition(step2, ExitStatus.COMPLETED.getExitCode(), "end0"));
    transitions.add(StateTransition.createStateTransition(step2, ExitStatus.FAILED.getExitCode(), "end1"));
    transitions.add(StateTransition.createEndStateTransition(new EndState(FlowExecutionStatus.COMPLETED, "end0")));
    transitions.add(StateTransition.createEndStateTransition(new EndState(FlowExecutionStatus.FAILED, "end1")));
    StepState step3 = new StepState(new StubStep("step3"));
    transitions.add(StateTransition.createStateTransition(step3, ExitStatus.FAILED.getExitCode(), "end2"));
    transitions.add(StateTransition.createStateTransition(step3, ExitStatus.COMPLETED.getExitCode(), "end3"));
    transitions.add(StateTransition.createEndStateTransition(new EndState(FlowExecutionStatus.FAILED, "end2")));
    transitions.add(StateTransition.createEndStateTransition(new EndState(FlowExecutionStatus.COMPLETED, "end3")));
    flow.setStateTransitions(transitions);

    job.setFlow(flow);
    try {
      job.execute(jobExecution);
    }
View Full Code Here

    }
  }

  @Test
  public void testGetStepExists() throws Exception {
    SimpleFlow flow = new JsrFlow("job");
    List<StateTransition> transitions = new ArrayList<StateTransition>();
    transitions.add(StateTransition.createStateTransition(new StepState(new StubStep("step1")), "step2"));
    transitions.add(StateTransition.createStateTransition(new StepState(new StubStep("step2")), "end0"));
    transitions.add(StateTransition.createEndStateTransition(new EndState(FlowExecutionStatus.COMPLETED, "end0")));
    flow.setStateTransitions(transitions);
    flow.afterPropertiesSet();
    job.setFlow(flow);
    job.afterPropertiesSet();

    Step step = job.getStep("step2");
    assertNotNull(step);
View Full Code Here

    assertEquals("step2", step.getName());
  }

  @Test
  public void testGetStepExistsWithPrefix() throws Exception {
    SimpleFlow flow = new JsrFlow("job");
    List<StateTransition> transitions = new ArrayList<StateTransition>();
    transitions.add(StateTransition.createStateTransition(new StepState("job.step", new StubStep("step")), "end0"));
    transitions.add(StateTransition.createEndStateTransition(new EndState(FlowExecutionStatus.COMPLETED, "end0")));
    flow.setStateTransitions(transitions);
    flow.afterPropertiesSet();
    job.setFlow(flow);
    job.setName(flow.getName());
    job.afterPropertiesSet();

    Step step = job.getStep("step");
    assertNotNull(step);
    assertEquals("step", step.getName());
View Full Code Here

    assertEquals("step", step.getName());
  }

  @Test
  public void testGetStepNamesWithPrefix() throws Exception {
    SimpleFlow flow = new JsrFlow("job");
    List<StateTransition> transitions = new ArrayList<StateTransition>();
    transitions.add(StateTransition.createStateTransition(new StepState("job.step", new StubStep("step")), "end0"));
    transitions.add(StateTransition.createEndStateTransition(new EndState(FlowExecutionStatus.COMPLETED, "end0")));
    flow.setStateTransitions(transitions);
    flow.afterPropertiesSet();
    job.setFlow(flow);
    job.setName(flow.getName());
    job.afterPropertiesSet();

    assertEquals("[step]", job.getStepNames().toString());
  }
View Full Code Here

    assertEquals("[step]", job.getStepNames().toString());
  }

  @Test
  public void testGetStepNotExists() throws Exception {
    SimpleFlow flow = new JsrFlow("job");
    List<StateTransition> transitions = new ArrayList<StateTransition>();
    transitions.add(StateTransition.createStateTransition(new StepState(new StubStep("step1")), "step2"));
    transitions.add(StateTransition.createStateTransition(new StepState(new StubStep("step2")), "end0"));
    transitions.add(StateTransition.createEndStateTransition(new EndState(FlowExecutionStatus.COMPLETED, "end0")));
    flow.setStateTransitions(transitions);
    flow.afterPropertiesSet();
    job.setFlow(flow);
    job.afterPropertiesSet();

    Step step = job.getStep("foo");
    assertNull(step);
View Full Code Here

    assertNull(step);
  }

  @Test
  public void testGetStepNotStepState() throws Exception {
    SimpleFlow flow = new JsrFlow("job");
    List<StateTransition> transitions = new ArrayList<StateTransition>();
    transitions.add(StateTransition.createStateTransition(new StepState(new StubStep("step1")), "step2"));
    transitions.add(StateTransition.createStateTransition(new StepState(new StubStep("step2")), "end0"));
    transitions.add(StateTransition.createEndStateTransition(new EndState(FlowExecutionStatus.COMPLETED, "end0")));
    flow.setStateTransitions(transitions);
    flow.afterPropertiesSet();
    job.setFlow(flow);
    job.afterPropertiesSet();

    Step step = job.getStep("end0");
    assertNull(step);
View Full Code Here

    assertNull(step);
  }

  @Test
  public void testGetStepNestedFlow() throws Exception {
    SimpleFlow nested = new JsrFlow("nested");
    List<StateTransition> transitions = new ArrayList<StateTransition>();
    transitions.add(StateTransition.createStateTransition(new StepState(new StubStep("step2")), "end1"));
    transitions.add(StateTransition.createEndStateTransition(new EndState(FlowExecutionStatus.COMPLETED, "end1")));
    nested.setStateTransitions(transitions);
    nested.afterPropertiesSet();

    SimpleFlow flow = new JsrFlow("job");
    transitions = new ArrayList<StateTransition>();
    transitions.add(StateTransition.createStateTransition(new StepState(new StubStep("step1")), "nested"));
    transitions.add(StateTransition.createStateTransition(new FlowState(nested, "nested"), "end0"));
    transitions.add(StateTransition.createEndStateTransition(new EndState(FlowExecutionStatus.COMPLETED, "end0")));
    flow.setStateTransitions(transitions);
    flow.afterPropertiesSet();
    job.setFlow(flow);
    job.afterPropertiesSet();

    List<String> names = new ArrayList<String>(job.getStepNames());
    Collections.sort(names);
View Full Code Here

    assertEquals("[step1, step2]", names.toString());
  }

  @Test
  public void testGetStepSplitFlow() throws Exception {
    SimpleFlow flow = new JsrFlow("job");
    SimpleFlow flow1 = new JsrFlow("flow1");
    SimpleFlow flow2 = new JsrFlow("flow2");

    List<StateTransition> transitions = new ArrayList<StateTransition>();
    transitions.add(StateTransition.createStateTransition(new StepState(new StubStep("step1")), "end0"));
    transitions.add(StateTransition.createEndStateTransition(new EndState(FlowExecutionStatus.COMPLETED, "end0")));
    flow1.setStateTransitions(new ArrayList<StateTransition>(transitions));
    flow1.afterPropertiesSet();
    transitions = new ArrayList<StateTransition>();
    transitions.add(StateTransition.createStateTransition(new StepState(new StubStep("step2")), "end1"));
    transitions.add(StateTransition.createEndStateTransition(new EndState(FlowExecutionStatus.COMPLETED, "end1")));
    flow2.setStateTransitions(new ArrayList<StateTransition>(transitions));
    flow2.afterPropertiesSet();

    transitions = new ArrayList<StateTransition>();
    transitions.add(StateTransition.createStateTransition(new SplitState(Arrays.<Flow> asList(flow1, flow2),
        "split"), "end2"));
    transitions.add(StateTransition.createEndStateTransition(new EndState(FlowExecutionStatus.COMPLETED, "end2")));
View Full Code Here

    job.setJobExplorer(jobExplorer);
  }

  @Test
  public void testGetSteps() throws Exception {
    SimpleFlow flow = new JsrFlow("job");
    List<StateTransition> transitions = new ArrayList<StateTransition>();
    transitions.add(StateTransition.createStateTransition(new StepState(new StubStep("step1")), "step2"));
    transitions.add(StateTransition.createStateTransition(new StepState(new StubStep("step2")), "end0"));
    transitions.add(StateTransition.createEndStateTransition(new EndState(FlowExecutionStatus.COMPLETED, "end0")));
    flow.setStateTransitions(transitions);
    flow.afterPropertiesSet();
    job.setFlow(flow);
    job.afterPropertiesSet();
    assertEquals(2, job.getStepNames().size());
  }
View Full Code Here

TOP

Related Classes of org.springframework.batch.core.job.flow.support.SimpleFlow

Copyright © 2018 www.massapicom. 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.