in metron-platform/metron-pcap/src/main/java/org/apache/metron/pcap/utils/FileFilterUtil.java [98:137]
public static List<String> filterByTimestampLT(long beginTs, long endTs, List<Path> paths) {
List<String> filteredFiles = new ArrayList<>();
//noinspection unchecked - hadoop fs uses non-generic Comparable interface
Collections.sort(paths);
Iterator<Path> filesIt = paths.iterator();
Path leftTrailing = filesIt.hasNext() ? filesIt.next() : null;
if (leftTrailing == null) {
return filteredFiles;
}
boolean first = true;
Long fileTS = PcapFilenameHelper.getTimestamp(leftTrailing.getName());
if (fileTS != null
&& greaterThanOrEqualTo(fileTS, beginTs) && lessThanOrEqualTo(fileTS, endTs)) {
filteredFiles.add(leftTrailing.toString());
first = false;
}
if (first && !filesIt.hasNext()) {
filteredFiles.add(leftTrailing.toString());
return filteredFiles;
}
while (filesIt.hasNext()) {
Path p = filesIt.next();
fileTS = PcapFilenameHelper.getTimestamp(p.getName());
if (fileTS != null
&& greaterThanOrEqualTo(fileTS, beginTs) && lessThanOrEqualTo(fileTS, endTs)) {
if (first) {
filteredFiles.add(leftTrailing.toString());
first = false;
}
filteredFiles.add(p.toString());
} else {
leftTrailing = p;
}
}
return filteredFiles;
}