public Builder transition(Transition transition) { Preconditions.checkArgument(states.contains(transition.from()), "Originating state does not exist: " + transition.from()); Preconditions.checkArgument(states.contains(transition.to()), "Destination state does not exist: " + transition.to()); outTransitions.put(transition.from(), transition); return this; }
public void doAutomaticTransition(DefaultIssue issue, IssueChangeContext issueChangeContext) { Transition transition = stateOf(issue).outAutomaticTransition(issue); if (transition != null) { functionExecutor.execute(transition.functions(), issue, issueChangeContext); updater.setStatus(issue, transition.to(), issueChangeContext); } }
public boolean doManualTransition(DefaultIssue issue, String transitionKey, IssueChangeContext issueChangeContext) { Transition transition = stateOf(issue).transition(transitionKey); if (!transition.automatic()) { functionExecutor.execute(transition.functions(), issue, issueChangeContext); updater.setStatus(issue, transition.to(), issueChangeContext); return true; } return false; }
@Test public void test_simplest_transition() { Transition transition = Transition.builder("close") .from("OPEN").to("CLOSED") .build(); assertThat(transition.key()).isEqualTo("close"); assertThat(transition.from()).isEqualTo("OPEN"); assertThat(transition.to()).isEqualTo("CLOSED"); assertThat(transition.conditions()).isEmpty(); assertThat(transition.functions()).isEmpty(); assertThat(transition.requiredProjectPermission()).isNull(); }
@Test public void test_builder() { Transition transition = Transition.builder("close") .from("OPEN").to("CLOSED") .conditions(condition1, condition2) .functions(function1, function2) .requiredProjectPermission(UserRole.ISSUE_ADMIN) .build(); assertThat(transition.key()).isEqualTo("close"); assertThat(transition.from()).isEqualTo("OPEN"); assertThat(transition.to()).isEqualTo("CLOSED"); assertThat(transition.conditions()).containsOnly(condition1, condition2); assertThat(transition.functions()).containsOnly(function1, function2); assertThat(transition.automatic()).isFalse(); assertThat(transition.requiredProjectPermission()).isEqualTo(UserRole.ISSUE_ADMIN); }
public Builder transition(Transition transition) { Preconditions.checkArgument(states.contains(transition.from()), "Originating state does not exist: " + transition.from()); Preconditions.checkArgument(states.contains(transition.to()), "Destination state does not exist: " + transition.to()); outTransitions.put(transition.from(), transition); return this; }
public void doAutomaticTransition(DefaultIssue issue, IssueChangeContext issueChangeContext) { Transition transition = stateOf(issue).outAutomaticTransition(issue); if (transition != null) { functionExecutor.execute(transition.functions(), issue, issueChangeContext); updater.setStatus(issue, transition.to(), issueChangeContext); } }
public boolean doTransition(DefaultIssue issue, String transitionKey, IssueChangeContext issueChangeContext) { Transition transition = stateOf(issue).transition(transitionKey); if (!transition.automatic()) { functionExecutor.execute(transition.functions(), issue, issueChangeContext); updater.setStatus(issue, transition.to(), issueChangeContext); return true; } return false; }