| | |
| | | private static final Map<TaskStatus, Set<TaskStatus>> ALLOWED_TRANSITIONS = new HashMap<>(); |
| | | |
| | | static { |
| | | // PENDING -> IN_PROGRESS, CANCELLED |
| | | // PENDING -> DEPARTING, CANCELLED |
| | | Set<TaskStatus> pendingTransitions = new HashSet<>(); |
| | | pendingTransitions.add(TaskStatus.IN_PROGRESS); |
| | | pendingTransitions.add(TaskStatus.DEPARTING); |
| | | pendingTransitions.add(TaskStatus.CANCELLED); |
| | | ALLOWED_TRANSITIONS.put(TaskStatus.PENDING, pendingTransitions); |
| | | |
| | | // IN_PROGRESS -> COMPLETED, CANCELLED, PENDING |
| | | // DEPARTING -> ARRIVED, CANCELLED |
| | | Set<TaskStatus> departingTransitions = new HashSet<>(); |
| | | departingTransitions.add(TaskStatus.ARRIVED); |
| | | departingTransitions.add(TaskStatus.CANCELLED); |
| | | ALLOWED_TRANSITIONS.put(TaskStatus.DEPARTING, departingTransitions); |
| | | |
| | | // ARRIVED -> RETURNING |
| | | Set<TaskStatus> arrivedTransitions = new HashSet<>(); |
| | | arrivedTransitions.add(TaskStatus.RETURNING); |
| | | ALLOWED_TRANSITIONS.put(TaskStatus.ARRIVED, arrivedTransitions); |
| | | |
| | | // RETURNING -> COMPLETED |
| | | Set<TaskStatus> returningTransitions = new HashSet<>(); |
| | | returningTransitions.add(TaskStatus.COMPLETED); |
| | | ALLOWED_TRANSITIONS.put(TaskStatus.RETURNING, returningTransitions); |
| | | |
| | | // IN_PROGRESS -> COMPLETED, CANCELLED, PENDING (兼容旧数据) |
| | | Set<TaskStatus> inProgressTransitions = new HashSet<>(); |
| | | inProgressTransitions.add(TaskStatus.COMPLETED); |
| | | inProgressTransitions.add(TaskStatus.CANCELLED); |