/**
   * @author Yogesh.Manware
   * @param request
   * @return
   */
  public String abortActivities(String request) {
    JsonObject json = GsonUtils.readJsonObject(request);
    String scope = GsonUtils.extractString(json, "scope");

    Type listType = new TypeToken<List<Long>>() {}.getType();

    @SuppressWarnings("unchecked")
    List<Long> activities =
        (List<Long>)
            GsonUtils.extractList(GsonUtils.extractJsonArray(json, "activities"), listType);
    NotificationMap notificationMap = new NotificationMap();

    if (AbortScope.SubHierarchy.toString().equalsIgnoreCase(scope)) {
      notificationMap = activityInstanceUtils.abortActivities(AbortScope.SubHierarchy, activities);
    } else if (AbortScope.RootHierarchy.toString().equalsIgnoreCase(scope)) {
      notificationMap = activityInstanceUtils.abortActivities(AbortScope.RootHierarchy, activities);
    } else {
      throw new IllegalArgumentException("Scope not valid : " + scope);
    }
    return GsonUtils.toJsonHTMLSafeString(notificationMap);
  }