Added support for new TagName rank

This commit is contained in:
Kelly Kelly 2020-05-14 15:51:49 -04:00
parent 60331a3721
commit 0227b0ac2e
2 changed files with 28 additions and 17 deletions

View File

@ -22,10 +22,8 @@ import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.Set; import java.util.Set;
import java.util.logging.Level; import java.util.logging.Level;
@ -68,19 +66,19 @@ final class TagNameDefinition implements Comparable<TagNameDefinition> {
private final TagName.HTML_COLOR color; private final TagName.HTML_COLOR color;
private final TskData.FileKnown knownStatus; private final TskData.FileKnown knownStatus;
private static final Map<String, TagNameDefinition> STANDARD_TAGS_DEFINITIONS = new HashMap<>(); private static final List<TagNameDefinition> STANDARD_TAGS_DEFINITIONS = new ArrayList<>();
private static final Map<String, TagNameDefinition> PROJECT_VIC_TAG_DEFINITIONS = new HashMap<>(); private static final List<TagNameDefinition> PROJECT_VIC_TAG_DEFINITIONS = new ArrayList<>();
static { static {
STANDARD_TAGS_DEFINITIONS.put(Bundle.TagNameDefinition_predefTagNames_bookmark_text(), new TagNameDefinition(Bundle.TagNameDefinition_predefTagNames_bookmark_text(), "", TagName.HTML_COLOR.NONE, TskData.FileKnown.UNKNOWN)); STANDARD_TAGS_DEFINITIONS.add(new TagNameDefinition(Bundle.TagNameDefinition_predefTagNames_bookmark_text(), "", TagName.HTML_COLOR.NONE, TskData.FileKnown.UNKNOWN));
STANDARD_TAGS_DEFINITIONS.put(Bundle.TagNameDefinition_predefTagNames_followUp_text(), new TagNameDefinition(Bundle.TagNameDefinition_predefTagNames_followUp_text(), "", TagName.HTML_COLOR.NONE, TskData.FileKnown.UNKNOWN)); STANDARD_TAGS_DEFINITIONS.add(new TagNameDefinition(Bundle.TagNameDefinition_predefTagNames_followUp_text(), "", TagName.HTML_COLOR.NONE, TskData.FileKnown.UNKNOWN));
STANDARD_TAGS_DEFINITIONS.put(Bundle.TagNameDefinition_predefTagNames_notableItem_text(), new TagNameDefinition(Bundle.TagNameDefinition_predefTagNames_notableItem_text(), "", TagName.HTML_COLOR.NONE, TskData.FileKnown.BAD)); STANDARD_TAGS_DEFINITIONS.add(new TagNameDefinition(Bundle.TagNameDefinition_predefTagNames_notableItem_text(), "", TagName.HTML_COLOR.NONE, TskData.FileKnown.BAD));
PROJECT_VIC_TAG_DEFINITIONS.put(CATEGORY_ONE_NAME, new TagNameDefinition(CATEGORY_ONE_NAME, "", TagName.HTML_COLOR.RED, TskData.FileKnown.BAD)); PROJECT_VIC_TAG_DEFINITIONS.add(new TagNameDefinition(CATEGORY_ONE_NAME, "", TagName.HTML_COLOR.RED, TskData.FileKnown.BAD));
PROJECT_VIC_TAG_DEFINITIONS.put(CATEGORY_TWO_NAME, new TagNameDefinition(CATEGORY_TWO_NAME, "", TagName.HTML_COLOR.LIME, TskData.FileKnown.BAD)); PROJECT_VIC_TAG_DEFINITIONS.add(new TagNameDefinition(CATEGORY_TWO_NAME, "", TagName.HTML_COLOR.LIME, TskData.FileKnown.BAD));
PROJECT_VIC_TAG_DEFINITIONS.put(CATEGORY_THREE_NAME, new TagNameDefinition(CATEGORY_THREE_NAME, "", TagName.HTML_COLOR.YELLOW, TskData.FileKnown.BAD)); PROJECT_VIC_TAG_DEFINITIONS.add(new TagNameDefinition(CATEGORY_THREE_NAME, "", TagName.HTML_COLOR.YELLOW, TskData.FileKnown.BAD));
PROJECT_VIC_TAG_DEFINITIONS.put(CATEGORY_FOUR_NAME, new TagNameDefinition(CATEGORY_FOUR_NAME, "", TagName.HTML_COLOR.PURPLE, TskData.FileKnown.UNKNOWN)); PROJECT_VIC_TAG_DEFINITIONS.add(new TagNameDefinition(CATEGORY_FOUR_NAME, "", TagName.HTML_COLOR.PURPLE, TskData.FileKnown.UNKNOWN));
PROJECT_VIC_TAG_DEFINITIONS.put(CATEGORY_FIVE_NAME, new TagNameDefinition(CATEGORY_FIVE_NAME, "", TagName.HTML_COLOR.FUCHSIA, TskData.FileKnown.UNKNOWN)); PROJECT_VIC_TAG_DEFINITIONS.add(new TagNameDefinition(CATEGORY_FIVE_NAME, "", TagName.HTML_COLOR.FUCHSIA, TskData.FileKnown.UNKNOWN));
} }
/** /**
@ -100,17 +98,23 @@ final class TagNameDefinition implements Comparable<TagNameDefinition> {
} }
static Collection<TagNameDefinition> getProjectVICDefaultDefinitions() { static Collection<TagNameDefinition> getProjectVICDefaultDefinitions() {
return Collections.unmodifiableCollection(PROJECT_VIC_TAG_DEFINITIONS.values()); return Collections.unmodifiableCollection(PROJECT_VIC_TAG_DEFINITIONS);
} }
static Collection<TagNameDefinition> getStandardTagNameDefinitions() { static Collection<TagNameDefinition> getStandardTagNameDefinitions() {
return Collections.unmodifiableCollection(STANDARD_TAGS_DEFINITIONS.values()); return Collections.unmodifiableCollection(STANDARD_TAGS_DEFINITIONS);
} }
static List<String> getStandardTagNames() { static List<String> getStandardTagNames() {
List<String> strList = new ArrayList<>(); List<String> strList = new ArrayList<>();
strList.addAll(STANDARD_TAGS_DEFINITIONS.keySet());
strList.addAll(PROJECT_VIC_TAG_DEFINITIONS.keySet()); for (TagNameDefinition def : STANDARD_TAGS_DEFINITIONS) {
strList.add(def.getDisplayName());
}
for (TagNameDefinition def : PROJECT_VIC_TAG_DEFINITIONS) {
strList.add(def.getDisplayName());
}
return strList; return strList;
} }

View File

@ -289,11 +289,18 @@ public class CategoryManager {
} }
} }
/**
* Returns the a list of the given TagName values sorted by rank.
*
* @param tagNames A list of TagNames to be sorted.
*
* @return A sorted list of TagName values.
*/
private List<TagName> getSortedTagNames(List<TagName> tagNames) { private List<TagName> getSortedTagNames(List<TagName> tagNames) {
Comparator<TagName> compareByDisplayName = new Comparator<TagName>() { Comparator<TagName> compareByDisplayName = new Comparator<TagName>() {
@Override @Override
public int compare(TagName tagName1, TagName tagName2) { public int compare(TagName tagName1, TagName tagName2) {
return tagName1.getDisplayName().compareTo(tagName2.getDisplayName()); return ((Integer) tagName1.getRank()).compareTo(tagName2.getRank());
} }
}; };