Examples of JsrFlow


Examples of org.springframework.batch.core.jsr.job.flow.support.JsrFlow

    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

Examples of org.springframework.batch.core.jsr.job.flow.support.JsrFlow

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

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

Examples of org.springframework.batch.core.jsr.job.flow.support.JsrFlow

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

  @Test
  public void testFailedStep() throws Exception {
    SimpleFlow flow = new JsrFlow("job");
    List<StateTransition> transitions = new ArrayList<StateTransition>();
    transitions.add(StateTransition.createStateTransition(new StateSupport("step1", FlowExecutionStatus.FAILED),
        "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

Examples of org.springframework.batch.core.jsr.job.flow.support.JsrFlow

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

  @Test
  public void testFailedStepRestarted() throws Exception {
    SimpleFlow flow = new JsrFlow("job");
    List<StateTransition> transitions = new ArrayList<StateTransition>();
    transitions.add(StateTransition.createStateTransition(new StepState(new StubStep("step1")), "step2"));
    State step2State = new StateSupport("step2") {
      @Override
      public FlowExecutionStatus handle(FlowExecutor executor) throws Exception {
        JobExecution jobExecution = executor.getJobExecution();
        StepExecution stepExecution = jobExecution.createStepExecution(getName());
        jobRepository.add(stepExecution);
        if (fail) {
          return FlowExecutionStatus.FAILED;
        }
        else {
          return FlowExecutionStatus.COMPLETED;
        }
      }
    };
    transitions.add(StateTransition.createStateTransition(step2State, ExitStatus.COMPLETED.getExitCode(), "end0"));
    transitions.add(StateTransition.createStateTransition(step2State, 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();
    fail = true;
    job.execute(jobExecution);
    assertEquals(ExitStatus.FAILED, jobExecution.getExitStatus());
View Full Code Here

Examples of org.springframework.batch.core.jsr.job.flow.support.JsrFlow

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

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

Examples of org.springframework.batch.core.jsr.job.flow.support.JsrFlow

    assertEquals(BatchStatus.STOPPED, jobExecution.getStatus());
  }

  @Test
  public void testInterrupted() throws Exception {
    SimpleFlow flow = new JsrFlow("job");
    List<StateTransition> transitions = new ArrayList<StateTransition>();
    transitions.add(StateTransition.createStateTransition(new StepState(new StubStep("step1") {
      @Override
      public void execute(StepExecution stepExecution) throws JobInterruptedException {
        stepExecution.setStatus(BatchStatus.STOPPING);
        jobRepository.update(stepExecution);
      }
    }), "end0"));
    transitions.add(StateTransition.createEndStateTransition(new EndState(FlowExecutionStatus.COMPLETED, "end0")));
    flow.setStateTransitions(transitions);
    flow.afterPropertiesSet();
    job.setFlow(flow);
    job.afterPropertiesSet();
    job.execute(jobExecution);
    assertEquals(BatchStatus.STOPPED, jobExecution.getStatus());
    checkRepository(BatchStatus.STOPPED, ExitStatus.STOPPED);
View Full Code Here

Examples of org.springframework.batch.core.jsr.job.flow.support.JsrFlow

    assertEquals(JobInterruptedException.class, jobExecution.getFailureExceptions().get(0).getClass());
  }

  @Test
  public void testUnknownStatusStopsJob() throws Exception {
    SimpleFlow flow = new JsrFlow("job");
    List<StateTransition> transitions = new ArrayList<StateTransition>();
    transitions.add(StateTransition.createStateTransition(new StepState(new StubStep("step1") {
      @Override
      public void execute(StepExecution stepExecution) throws JobInterruptedException {
        stepExecution.setStatus(BatchStatus.UNKNOWN);
        stepExecution.setTerminateOnly();
        jobRepository.update(stepExecution);
      }
    }), "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();
    job.execute(jobExecution);
    assertEquals(BatchStatus.UNKNOWN, jobExecution.getStatus());
    checkRepository(BatchStatus.UNKNOWN, ExitStatus.STOPPED);
View Full Code Here

Examples of org.springframework.batch.core.jsr.job.flow.support.JsrFlow

    assertEquals(JobInterruptedException.class, jobExecution.getFailureExceptions().get(0).getClass());
  }

  @Test
  public void testInterruptedSplit() 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") {
      @Override
      public void execute(StepExecution stepExecution) throws JobInterruptedException {
        if (!stepExecution.getJobExecution().getExecutionContext().containsKey("STOPPED")) {
          stepExecution.getJobExecution().getExecutionContext().put("STOPPED", true);
          stepExecution.setStatus(BatchStatus.STOPPED);
          jobRepository.update(stepExecution);
        }
        else {
          fail("The Job should have stopped by now");
        }
      }
    }), "end0"));
    transitions.add(StateTransition.createEndStateTransition(new EndState(FlowExecutionStatus.COMPLETED, "end0")));
    flow1.setStateTransitions(new ArrayList<StateTransition>(transitions));
    flow1.afterPropertiesSet();
    flow2.setStateTransitions(new ArrayList<StateTransition>(transitions));
    flow2.afterPropertiesSet();

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

Examples of org.springframework.batch.core.jsr.job.flow.support.JsrFlow

    }
  }

  @Test
  public void testInterruptedException() throws Exception {
    SimpleFlow flow = new JsrFlow("job");
    List<StateTransition> transitions = new ArrayList<StateTransition>();
    transitions.add(StateTransition.createStateTransition(new StepState(new StubStep("step1") {
      @Override
      public void execute(StepExecution stepExecution) throws JobInterruptedException {
        throw new JobInterruptedException("Stopped");
      }
    }), "end0"));
    transitions.add(StateTransition.createEndStateTransition(new EndState(FlowExecutionStatus.COMPLETED, "end0")));
    flow.setStateTransitions(transitions);
    flow.afterPropertiesSet();
    job.setFlow(flow);
    job.afterPropertiesSet();
    job.execute(jobExecution);
    assertEquals(BatchStatus.STOPPED, jobExecution.getStatus());
    checkRepository(BatchStatus.STOPPED, ExitStatus.STOPPED);
View Full Code Here

Examples of org.springframework.batch.core.jsr.job.flow.support.JsrFlow

    assertEquals(JobInterruptedException.class, jobExecution.getFailureExceptions().get(0).getClass());
  }

  @Test
  public void testInterruptedSplitException() 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") {
      @Override
      public void execute(StepExecution stepExecution) throws JobInterruptedException {
        throw new JobInterruptedException("Stopped");
      }
    }), "end0"));
    transitions.add(StateTransition.createEndStateTransition(new EndState(FlowExecutionStatus.COMPLETED, "end0")));
    flow1.setStateTransitions(new ArrayList<StateTransition>(transitions));
    flow1.afterPropertiesSet();
    flow2.setStateTransitions(new ArrayList<StateTransition>(transitions));
    flow2.afterPropertiesSet();

    transitions = new ArrayList<StateTransition>();
    transitions.add(StateTransition.createStateTransition(new SplitState(Arrays.<Flow> asList(flow1, flow2),
        "split"), "end0"));
    transitions.add(StateTransition.createEndStateTransition(new EndState(FlowExecutionStatus.COMPLETED, "end0")));
View Full Code Here
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.