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

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


    assertEquals(1, jobExecution.getStepExecutions().size());
    assertEquals(BatchStatus.STOPPED, jobExecution.getStatus());
  }

  public void testEndStateFailed() throws Exception {
    SimpleFlow flow = new JsrFlow("job");
    List<StateTransition> transitions = new ArrayList<StateTransition>();
    transitions.add(StateTransition.createStateTransition(new StepState(new StubStep("step1")), "end"));
    transitions
    .add(StateTransition.createStateTransition(new EndState(FlowExecutionStatus.FAILED, "end"), "step2"));
    transitions.add(StateTransition.createStateTransition(new StepState(new StubStep("step2")), ExitStatus.FAILED
        .getExitCode(), "end0"));
    transitions.add(StateTransition.createStateTransition(new StepState(new StubStep("step2")),
        ExitStatus.COMPLETED.getExitCode(), "end1"));
    transitions.add(StateTransition.createEndStateTransition(new EndState(FlowExecutionStatus.FAILED, "end0")));
    transitions.add(StateTransition.createEndStateTransition(new EndState(FlowExecutionStatus.COMPLETED, "end1")));
    flow.setStateTransitions(transitions);
    job.setFlow(flow);
    job.afterPropertiesSet();
    job.doExecute(jobExecution);
    assertEquals(BatchStatus.FAILED, jobExecution.getStatus());
    assertEquals(1, jobExecution.getStepExecutions().size());
View Full Code Here


    assertEquals(1, jobExecution.getStepExecutions().size());
  }

  @Test
  public void testEndStateStoppedWithRestart() throws Exception {
    SimpleFlow flow = new JsrFlow("job");
    List<StateTransition> transitions = new ArrayList<StateTransition>();
    transitions.add(StateTransition.createStateTransition(new StepState(new StubStep("step1")), "end"));
    transitions.add(StateTransition
        .createStateTransition(new EndState(FlowExecutionStatus.STOPPED, "end"), "step2"));
    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")));
    flow.setStateTransitions(transitions);
    job.setFlow(flow);
    job.afterPropertiesSet();

    // To test a restart we have to use the AbstractJob.execute()...
    job.execute(jobExecution);
View Full Code Here

  }

  @Test
  public void testBranching() throws Exception {
    SimpleFlow flow = new JsrFlow("job");
    List<StateTransition> transitions = new ArrayList<StateTransition>();
    StepState step1 = new StepState(new StubStep("step1"));
    transitions.add(StateTransition.createStateTransition(step1, "step2"));
    transitions.add(StateTransition.createStateTransition(step1, "COMPLETED", "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);
    job.afterPropertiesSet();
    job.doExecute(jobExecution);
    StepExecution stepExecution = getStepExecution(jobExecution, "step2");
    assertEquals(ExitStatus.COMPLETED, stepExecution.getExitStatus());
View Full Code Here

    assertEquals(2, jobExecution.getStepExecutions().size());
  }

  @Test
  public void testBasicFlow() throws Throwable {
    SimpleFlow flow = new JsrFlow("job");
    List<StateTransition> transitions = new ArrayList<StateTransition>();
    transitions.add(StateTransition.createStateTransition(new StepState(new StubStep("step")), "end0"));
    transitions.add(StateTransition.createEndStateTransition(new EndState(FlowExecutionStatus.COMPLETED, "end0")));
    flow.setStateTransitions(transitions);
    job.setFlow(flow);
    job.execute(jobExecution);
    if (!jobExecution.getAllFailureExceptions().isEmpty()) {
      throw jobExecution.getAllFailureExceptions().get(0);
    }
View Full Code Here

  }

  @Test
  public void testDecisionFlow() throws Throwable {

    SimpleFlow flow = new JsrFlow("job");
    Decider decider = new Decider() {

      @Override
      public String decide(javax.batch.runtime.StepExecution[] executions)
          throws Exception {
        assertNotNull(executions);
        return "SWITCH";
      }
    };

    List<StateTransition> transitions = new ArrayList<StateTransition>();
    transitions.add(StateTransition.createStateTransition(new StepState(new StubStep("step1")), "decision"));
    StepState decision = new StepState(new StubDecisionStep("decision", decider));
    transitions.add(StateTransition.createStateTransition(decision, "SWITCH", "step3"));
    transitions.add(StateTransition.createStateTransition(decision, "step2"));
    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);
    job.doExecute(jobExecution);

    StepExecution stepExecution = getStepExecution(jobExecution, "step3");
View Full Code Here

    fb.setJobRepository(new JobRepositorySupport());
    fb.setStartLimit(5);
    fb.setListeners(new StepListener[] { new StepExecutionListenerSupport() });
    fb.setTaskExecutor(new SyncTaskExecutor());

    fb.setFlow(new SimpleFlow("foo"));

    Object step = fb.getObject();
    assertTrue(step instanceof FlowStep);
    Object handler = ReflectionTestUtils.getField(step, "flow");
    assertTrue(handler instanceof SimpleFlow);
View Full Code Here

      return new DummyStep();
    }

    @Bean
    public SimpleFlow simpleFlow() {
      SimpleFlow simpleFlow = new SimpleFlow("simpleFlow");
      List<StateTransition> transitions = new ArrayList<StateTransition>();
      transitions.add(StateTransition.createStateTransition(new StepState(dummyStep()), "end0"));
      transitions.add(StateTransition.createEndStateTransition(new EndState(FlowExecutionStatus.COMPLETED, "end0")));
      simpleFlow.setStateTransitions(transitions);
      return simpleFlow;
    }
View Full Code Here

  protected Flow flow() {
    if (!dirty) {
      // optimization in case this method is called consecutively
      return flow;
    }
    flow = new SimpleFlow(name);
    // optimization for flows that only have one state that itself is a flow:
    if (currentState instanceof FlowState && states.size() == 1) {
      return ((FlowState) currentState).getFlows().iterator().next();
    }
    addDanglingEndStates();
View Full Code Here

    jobExecution = jobRepository.createJobExecution("job", new JobParameters());
  }

  @Test
  public void testGetSteps() throws Exception {
    SimpleFlow flow = new SimpleFlow("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

    assertEquals(2, job.getStepNames().size());
  }

  @Test
  public void testTwoSteps() throws Exception {
    SimpleFlow flow = new SimpleFlow("job");
    List<StateTransition> transitions = new ArrayList<StateTransition>();
    transitions.add(StateTransition.createStateTransition(new StepState(new StubStep("step1")), "step2"));
    StepState step2 = new StepState(new StubStep("step2"));
    transitions.add(StateTransition.createStateTransition(step2, ExitStatus.FAILED.getExitCode(), "end0"));
    transitions.add(StateTransition.createStateTransition(step2, ExitStatus.COMPLETED.getExitCode(), "end1"));
    transitions.add(StateTransition.createEndStateTransition(new EndState(FlowExecutionStatus.FAILED, "end0")));
    transitions.add(StateTransition.createEndStateTransition(new EndState(FlowExecutionStatus.COMPLETED, "end1")));
    flow.setStateTransitions(transitions);
    job.setFlow(flow);
    job.afterPropertiesSet();
    job.doExecute(jobExecution);
    StepExecution stepExecution = getStepExecution(jobExecution, "step2");
    assertEquals(ExitStatus.COMPLETED, stepExecution.getExitStatus());
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.