public List<Transition> outTransitions(Issue issue) { String status = issue.status(); State state = machine.state(status); checkArgument(state != null, "Unknown status: %s", status); return state.outManualTransitions(issue); }
public List<String> statusKeys() { return machine.stateKeys(); }
public StateMachine build() { Preconditions.checkArgument(!states.isEmpty(), "At least one state is required"); return new StateMachine(this); } }
@Test public void stateKey() { StateMachine machine = StateMachine.builder() .states("OPEN", "RESOLVED", "CLOSED") .transition(Transition.builder("resolve").from("OPEN").to("RESOLVED").build()) .build(); assertThat(machine.state("OPEN")).isNotNull(); assertThat(machine.state("OPEN").transition("resolve")).isNotNull(); } }
@Override public void start() { StateMachine.Builder builder = StateMachine.builder() // order is important for UI .states(Issue.STATUS_OPEN, Issue.STATUS_CONFIRMED, Issue.STATUS_REOPENED, Issue.STATUS_RESOLVED, Issue.STATUS_CLOSED); buildManualTransitions(builder); buildAutomaticTransitions(builder); buildSecurityHotspotTransitions(builder); machine = builder.build(); }
@Override public void start() { StateMachine.Builder builder = StateMachine.builder() // order is important for UI .states(Issue.STATUS_OPEN, Issue.STATUS_CONFIRMED, Issue.STATUS_REOPENED, Issue.STATUS_RESOLVED, Issue.STATUS_CLOSED); buildManualTransitions(builder); buildAutomaticTransitions(builder); machine = builder.build(); }
private State stateOf(DefaultIssue issue) { String status = issue.status(); State state = machine.state(status); String issueKey = issue.key(); checkState(state != null, "Unknown status: %s [issue=%s]", status, issueKey); return state; }
public List<String> statusKeys() { return machine.stateKeys(); }
public StateMachine build() { Preconditions.checkArgument(!states.isEmpty(), "At least one state is required"); return new StateMachine(this); } }
@Test public void init_state_machine() { assertThat(workflow.machine()).isNull(); workflow.start(); assertThat(workflow.machine()).isNotNull(); assertThat(workflow.machine().state(STATUS_OPEN)).isNotNull(); assertThat(workflow.machine().state(STATUS_CONFIRMED)).isNotNull(); assertThat(workflow.machine().state(STATUS_CLOSED)).isNotNull(); assertThat(workflow.machine().state(STATUS_REOPENED)).isNotNull(); assertThat(workflow.machine().state(STATUS_RESOLVED)).isNotNull(); workflow.stop(); }
private State stateOf(DefaultIssue issue) { String status = issue.status(); State state = machine.state(status); String issueKey = issue.key(); checkState(state != null, "Unknown status: %s [issue=%s]", status, issueKey); return state; }
public List<Transition> outTransitions(Issue issue) { String status = issue.status(); State state = machine.state(status); checkArgument(state != null, "Unknown status: %s", status); return state.outManualTransitions(issue); }