FlowStatusHolder.java 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package jnpf.flowable.model.util;
  2. import cn.hutool.core.collection.CollectionUtil;
  3. import jnpf.util.StringUtil;
  4. import java.util.*;
  5. public class FlowStatusHolder {
  6. private static final ThreadLocal<List<String>> TASK_LIST = new ThreadLocal<>();
  7. private static final ThreadLocal<Map<String, String>> DELETE_TASK_LIST = new ThreadLocal<>();
  8. public static void addTaskIdList(List<String> taskIdList) {
  9. if (CollectionUtil.isNotEmpty(taskIdList)) {
  10. List<String> taskList = getTaskList();
  11. taskList.addAll(taskIdList);
  12. TASK_LIST.set(taskList);
  13. }
  14. }
  15. public static List<String> getTaskList() {
  16. return TASK_LIST.get() != null ? TASK_LIST.get() : new ArrayList<>();
  17. }
  18. public static void addDelTaskIdList(String taskId, String flowId) {
  19. if (StringUtil.isNotEmpty(taskId) && StringUtil.isNotEmpty(flowId)) {
  20. Map<String, String> delTaskMap = getDelTaskMap();
  21. delTaskMap.put(taskId, flowId);
  22. DELETE_TASK_LIST.set(delTaskMap);
  23. }
  24. }
  25. public static Map<String, String> getDelTaskMap() {
  26. return DELETE_TASK_LIST.get() != null ? DELETE_TASK_LIST.get() : new HashMap<>();
  27. }
  28. public static void clear() {
  29. TASK_LIST.remove();
  30. DELETE_TASK_LIST.remove();
  31. }
  32. }