Exemplo n.º 1
0
  private EventsCriteria buildCriteria(
      Long startTime,
      Long endTime,
      String eventIds,
      String triggerIds,
      String categories,
      String tags,
      Boolean thin) {
    EventsCriteria criteria = new EventsCriteria();
    criteria.setStartTime(startTime);
    criteria.setEndTime(endTime);
    if (!isEmpty(eventIds)) {
      criteria.setEventIds(Arrays.asList(eventIds.split(",")));
    }
    if (!isEmpty(triggerIds)) {
      criteria.setTriggerIds(Arrays.asList(triggerIds.split(",")));
    }
    if (!isEmpty(categories)) {
      criteria.setCategories(Arrays.asList(categories.split(",")));
    }
    if (!isEmpty(tags)) {
      String[] tagTokens = tags.split(",");
      Map<String, String> tagsMap = new HashMap<>(tagTokens.length);
      for (String tagToken : tagTokens) {
        String[] fields = tagToken.split("\\|");
        if (fields.length == 2) {
          tagsMap.put(fields[0], fields[1]);
        } else {
          if (log.isDebugEnabled()) {
            log.debug("Invalid Tag Criteria " + Arrays.toString(fields));
          }
        }
      }
      criteria.setTags(tagsMap);
    }
    if (null != thin) {
      criteria.setThin(thin.booleanValue());
    }

    return criteria;
  }