Exemplo n.º 1
0
  /**
   * 根据工作流的定义事物返回对应示例。
   *
   * @param thing
   * @return
   */
  public static List<Workflow> getWorkflowInstances(Thing thing) {
    List<Workflow> flows = new ArrayList<Workflow>();
    for (String key : workflows.keySet()) {
      Workflow workflow = workflows.get(key);
      Thing fthing = workflow.getThing();
      if (fthing == thing) {
        flows.add(workflow);
      }
    }

    return flows;
  }
Exemplo n.º 2
0
  /**
   * 返回当前所有工作流多定义的事物列表。
   *
   * @return
   */
  public static List<Thing> getWorkflowThings() {
    List<Thing> things = new ArrayList<Thing>();
    Map<String, String> thingMap = new HashMap<String, String>();

    for (String key : workflows.keySet()) {
      Workflow workflow = workflows.get(key);
      Thing thing = workflow.getThing();
      String path = thing.getMetadata().getPath();
      if (thingMap.get(path) == null) {
        things.add(thing);
        thingMap.put(path, path);
      }
    }

    return things;
  }
Exemplo n.º 3
0
  /**
   * 移除工作流。
   *
   * @param workflow
   */
  public static void removeWorkflow(Workflow workflow) {
    String id = workflow.getThing().getMetadata().getPath() + ":" + workflow.getWorkflowId();

    workflows.remove(id);
  }
Exemplo n.º 4
0
  /**
   * 放入工作流,主要是放入决定是否放入到缓存中。
   *
   * @param workflow
   */
  public static void putWorkflow(Workflow workflow) {
    String id = workflow.getThing().getMetadata().getPath() + ":" + workflow.getWorkflowId();

    workflows.put(id, workflow);
  }