19 package org.sleuthkit.autopsy.discovery.search;
21 import java.util.ArrayList;
22 import java.util.Arrays;
23 import java.util.Collections;
24 import java.util.Comparator;
25 import java.util.List;
26 import org.openide.util.NbBundle;
34 private final List<Comparator<Result>>
comparators =
new ArrayList<>();
60 case BY_KEYWORD_LIST_NAMES:
86 for (Comparator<Result> comp : comparators) {
87 result = comp.compare(result1, result2);
156 return new Comparator<Result>() {
164 String file1ParentPath;
167 }
catch (TskCoreException ingored) {
170 String file2ParentPath;
173 }
catch (TskCoreException ingored) {
176 return compareStrings(file1ParentPath.toLowerCase(), file2ParentPath.toLowerCase());
217 return -1 * Long.compare(((
ResultFile) result1).getFirstInstance().getSize(), ((
ResultFile) result2).getFirstInstance().getSize());
304 String string1 = s1 == null ?
"" : s1;
305 String string2 = s2 == null ?
"" : s2;
306 return string1.compareTo(string2);
314 "FileSorter.SortingMethod.datasource.displayName=Data Source",
315 "FileSorter.SortingMethod.filename.displayName=File Name",
316 "FileSorter.SortingMethod.filesize.displayName=File Size",
317 "FileSorter.SortingMethod.filetype.displayName=File Type",
318 "FileSorter.SortingMethod.frequency.displayName=Central Repo Frequency",
319 "FileSorter.SortingMethod.keywordlist.displayName=Keyword List Names",
320 "FileSorter.SortingMethod.fullPath.displayName=Full Path",
321 "FileSorter.SortingMethod.domain.displayName=Domain"})
323 BY_FILE_NAME(
new ArrayList<>(),
324 Bundle.FileSorter_SortingMethod_filename_displayName()),
325 BY_DATA_SOURCE(
new ArrayList<>(),
326 Bundle.FileSorter_SortingMethod_datasource_displayName()),
327 BY_FILE_SIZE(
new ArrayList<>(),
328 Bundle.FileSorter_SortingMethod_filesize_displayName()),
330 Bundle.FileSorter_SortingMethod_filetype_displayName()),
332 Bundle.FileSorter_SortingMethod_frequency_displayName()),
334 Bundle.FileSorter_SortingMethod_keywordlist_displayName()),
335 BY_FULL_PATH(
new ArrayList<>(),
336 Bundle.FileSorter_SortingMethod_fullPath_displayName()),
337 BY_DOMAIN_NAME(
new ArrayList<>(),
338 Bundle.FileSorter_SortingMethod_domain_displayName());
350 SortingMethod(List<DiscoveryAttributes.AttributeType> attributes, String displayName) {
351 this.requiredAttributes = attributes;
352 this.displayName = displayName;
366 return Collections.unmodifiableList(requiredAttributes);
375 return Arrays.asList(BY_FILE_SIZE, BY_FULL_PATH, BY_FILE_NAME, BY_DATA_SOURCE);
384 return Arrays.asList(BY_DOMAIN_NAME, BY_DATA_SOURCE);
static Comparator< Result > getParentPathComparator()
int compare(Result result1, Result result2)
static Comparator< Result > getMIMETypeComparator()
static Comparator< Result > getDataSourceComparator()
final List< Comparator< Result > > comparators
SortingMethod(List< DiscoveryAttributes.AttributeType > attributes, String displayName)
static Comparator< Result > getFrequencyComparator()
SearchData.Frequency getFrequency()
static Comparator< Result > getKeywordListNameComparator()
List< String > getKeywordListNames()
abstract SearchData.Type getType()
static Comparator< Result > getDefaultComparator()
final List< DiscoveryAttributes.AttributeType > requiredAttributes
static Comparator< Result > getDomainNameComparator()
static List< SortingMethod > getOptionsForOrderingDomains()
static Comparator< Result > getFileNameComparator()
AbstractFile getFirstInstance()
static Comparator< Result > getFileSizeComparator()
ResultsSorter(SortingMethod method)
List< DiscoveryAttributes.AttributeType > getRequiredAttributes()
static Comparator< Result > getMostRecentDateTimeComparator()
static Comparator< Result > getTypeComparator()
abstract long getDataSourceObjectId()
static List< SortingMethod > getOptionsForOrderingFiles()
static int compareStrings(String s1, String s2)