/** @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()); } } }
/** @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()); } } }