diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/services/TagNameDefinition.java b/Core/src/org/sleuthkit/autopsy/casemodule/services/TagNameDefinition.java index 0c65f3c58d..2a13b81c10 100755 --- a/Core/src/org/sleuthkit/autopsy/casemodule/services/TagNameDefinition.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/services/TagNameDefinition.java @@ -22,10 +22,8 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; -import java.util.HashMap; import java.util.HashSet; import java.util.List; -import java.util.Map; import java.util.Objects; import java.util.Set; import java.util.logging.Level; @@ -68,19 +66,19 @@ final class TagNameDefinition implements Comparable { private final TagName.HTML_COLOR color; private final TskData.FileKnown knownStatus; - private static final Map STANDARD_TAGS_DEFINITIONS = new HashMap<>(); - private static final Map PROJECT_VIC_TAG_DEFINITIONS = new HashMap<>(); + private static final List STANDARD_TAGS_DEFINITIONS = new ArrayList<>(); + private static final List PROJECT_VIC_TAG_DEFINITIONS = new ArrayList<>(); 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.put(Bundle.TagNameDefinition_predefTagNames_followUp_text(), 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_bookmark_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.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.put(CATEGORY_TWO_NAME, 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.put(CATEGORY_FOUR_NAME, 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_ONE_NAME, "", TagName.HTML_COLOR.RED, TskData.FileKnown.BAD)); + PROJECT_VIC_TAG_DEFINITIONS.add(new TagNameDefinition(CATEGORY_TWO_NAME, "", TagName.HTML_COLOR.LIME, TskData.FileKnown.BAD)); + PROJECT_VIC_TAG_DEFINITIONS.add(new TagNameDefinition(CATEGORY_THREE_NAME, "", TagName.HTML_COLOR.YELLOW, TskData.FileKnown.BAD)); + PROJECT_VIC_TAG_DEFINITIONS.add(new TagNameDefinition(CATEGORY_FOUR_NAME, "", TagName.HTML_COLOR.PURPLE, 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 { } static Collection getProjectVICDefaultDefinitions() { - return Collections.unmodifiableCollection(PROJECT_VIC_TAG_DEFINITIONS.values()); + return Collections.unmodifiableCollection(PROJECT_VIC_TAG_DEFINITIONS); } static Collection getStandardTagNameDefinitions() { - return Collections.unmodifiableCollection(STANDARD_TAGS_DEFINITIONS.values()); + return Collections.unmodifiableCollection(STANDARD_TAGS_DEFINITIONS); } static List getStandardTagNames() { List 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; } diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/CategoryManager.java b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/CategoryManager.java index 5eaf8b4ad7..684346b41d 100644 --- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/CategoryManager.java +++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/CategoryManager.java @@ -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 getSortedTagNames(List tagNames) { Comparator compareByDisplayName = new Comparator() { @Override public int compare(TagName tagName1, TagName tagName2) { - return tagName1.getDisplayName().compareTo(tagName2.getDisplayName()); + return ((Integer) tagName1.getRank()).compareTo(tagName2.getRank()); } };