示例#1
0
  /** @param data */
  private void filterDurationAndName(List<JobReportData> data) {
    if (!StringUtils.isEmpty(jobReportOptions.getDurationStart())) {
      try {
        int duration = findDuration(jobReportOptions.getDurationStart());
        for (Iterator<JobReportData> iter = data.iterator(); iter.hasNext(); ) {
          JobReportData job = iter.next();
          if (duration > job.getDuration()) {
            iter.remove();
          }
        }
      } catch (Exception e) {
        LOG.warn("Error with min duration value of " + jobReportOptions.getDurationStart());
      }
    }
    if (!StringUtils.isEmpty(jobReportOptions.getDurationEnd())) {
      try {
        int duration = findDuration(jobReportOptions.getDurationEnd());
        for (Iterator<JobReportData> iter = data.iterator(); iter.hasNext(); ) {
          JobReportData job = iter.next();
          if (duration < job.getDuration()) {
            iter.remove();
          }
        }
      } catch (Exception e) {
        LOG.warn("Error with max duration value of " + jobReportOptions.getDurationEnd());
      }
    }
    if (!StringUtils.isEmpty(jobReportOptions.getProjectNameMatch())) {
      try {

        String match =
            jobReportOptions
                .getProjectNameMatch()
                .toLowerCase()
                .replace(".", "\\.")
                .replace("\\", "\\\\")
                .replace("*", ".*");
        for (Iterator<JobReportData> iter = data.iterator(); iter.hasNext(); ) {
          JobReportData job = iter.next();
          if (!job.getProjectName().toLowerCase().matches(match)) {
            iter.remove();
          }
        }
      } catch (Exception e) {
        LOG.warn("Error with max duration value of " + jobReportOptions.getDurationEnd());
      }
    }
  }
示例#2
0
 /** @param all */
 private void filterDate(List<JobInstance> all) {
   Date date = jobReportOptions.getStartTime();
   if (date != null) {
     for (Iterator<JobInstance> iter = all.iterator(); iter.hasNext(); ) {
       JobInstance job = iter.next();
       Date st = job.getStartTime() != null ? job.getStartTime() : job.getCreated();
       if (!date.before(st)) {
         iter.remove();
       }
     }
   }
   date = jobReportOptions.getEndTime();
   if (date != null) {
     for (Iterator<JobInstance> iter = all.iterator(); iter.hasNext(); ) {
       JobInstance job = iter.next();
       Date st = job.getStartTime() != null ? job.getStartTime() : job.getCreated();
       if (!date.after(st)) {
         iter.remove();
       }
     }
   }
   if (NumberUtils.isDigits(jobReportOptions.getMinUsers())) {
     try {
       int users = Integer.parseInt(jobReportOptions.getMinUsers());
       for (Iterator<JobInstance> iter = all.iterator(); iter.hasNext(); ) {
         JobInstance job = iter.next();
         if (job.getTotalVirtualUsers() < users) {
           iter.remove();
         }
       }
     } catch (NumberFormatException e) {
       LOG.warn("Error with min users value of " + jobReportOptions.getMinUsers());
     }
   }
   if (NumberUtils.isDigits(jobReportOptions.getMaxUsers())) {
     try {
       int users = Integer.parseInt(jobReportOptions.getMaxUsers());
       for (Iterator<JobInstance> iter = all.iterator(); iter.hasNext(); ) {
         JobInstance job = iter.next();
         if (job.getTotalVirtualUsers() > users) {
           iter.remove();
         }
       }
     } catch (NumberFormatException e) {
       LOG.warn("Error with max users value of " + jobReportOptions.getMaxUsers());
     }
   }
   if (NumberUtils.isDigits(jobReportOptions.getJobIdStart())) {
     try {
       int jobIdStart = NumberUtils.toInt(jobReportOptions.getJobIdStart());
       for (Iterator<JobInstance> iter = all.iterator(); iter.hasNext(); ) {
         JobInstance job = iter.next();
         if (job.getId() < jobIdStart) {
           iter.remove();
         }
       }
     } catch (NumberFormatException e) {
       LOG.warn("Error with max users value of " + jobReportOptions.getMaxUsers());
     }
   }
   if (NumberUtils.isDigits(jobReportOptions.getJobIdEnd())) {
     try {
       int jobIdStart = NumberUtils.toInt(jobReportOptions.getJobIdEnd());
       for (Iterator<JobInstance> iter = all.iterator(); iter.hasNext(); ) {
         JobInstance job = iter.next();
         if (job.getId() > jobIdStart) {
           iter.remove();
         }
       }
     } catch (NumberFormatException e) {
       LOG.warn("Error with max users value of " + jobReportOptions.getMaxUsers());
     }
   }
 }