package jnpf.dmsService.support;
|
|
import java.util.Optional;
|
|
/**
|
* Converts the persisted JNPF flow state into an idempotent number action.
|
*/
|
public final class DmsWenjianBianhaoFlowStateResolver {
|
|
public static final int TO_BE_SUBMIT = 0;
|
public static final int RUNNING = 1;
|
public static final int PASSED = 2;
|
public static final int REJECTED = 3;
|
public static final int CANCELLED = 4;
|
public static final int PAUSED = 5;
|
public static final int REVOKING = 6;
|
public static final int REVOKED = 7;
|
public static final int BACKED = 8;
|
public static final int RECALLED = 9;
|
public static final int EXCEPTION = 10;
|
|
private DmsWenjianBianhaoFlowStateResolver() {
|
}
|
|
public static Optional<Action> resolve(Integer flowState) {
|
if (flowState == null) {
|
return Optional.empty();
|
}
|
switch (flowState) {
|
case TO_BE_SUBMIT:
|
case RECALLED:
|
return Optional.of(Action.RESTORE_DRAFT);
|
case RUNNING:
|
return Optional.of(Action.FREEZE_SNAPSHOT);
|
case PASSED:
|
return Optional.of(Action.ISSUE_NUMBER);
|
case REJECTED:
|
return Optional.of(Action.REJECT);
|
case CANCELLED:
|
return Optional.of(Action.CANCEL);
|
case PAUSED:
|
case REVOKING:
|
case BACKED:
|
return Optional.of(Action.HOLD);
|
case REVOKED:
|
return Optional.of(Action.REVOKE);
|
case EXCEPTION:
|
return Optional.of(Action.ERROR);
|
default:
|
return Optional.empty();
|
}
|
}
|
|
public enum Action {
|
RESTORE_DRAFT,
|
FREEZE_SNAPSHOT,
|
ISSUE_NUMBER,
|
REJECT,
|
CANCEL,
|
HOLD,
|
REVOKE,
|
ERROR
|
}
|
}
|