From 0b27196ad415bca34d7baac43cb6312e98f919e4 Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Fri, 17 Nov 2017 15:37:19 -0500 Subject: [PATCH] 3201 merge changes from 3199 and resolve conflicts --- .../services/TagNameDefinition.java | 34 +++++++++++++++--- .../casemodule/services/TagNameDialog.java | 8 ++--- .../casemodule/services/TagOptionsPanel.java | 2 +- .../casemodule/services/TagsManager.java | 35 +------------------ .../datamodel/DrawableTagsManager.java | 4 +-- 5 files changed, 38 insertions(+), 45 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/services/TagNameDefinition.java b/Core/src/org/sleuthkit/autopsy/casemodule/services/TagNameDefinition.java index 211bbe82e4..c9458dfbd7 100755 --- a/Core/src/org/sleuthkit/autopsy/casemodule/services/TagNameDefinition.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/services/TagNameDefinition.java @@ -1,7 +1,7 @@ /* * Autopsy Forensic Browser * - * Copyright 2011-2016 Basis Technology Corp. + * Copyright 2011-2017 Basis Technology Corp. * Contact: carrier sleuthkit org * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -25,9 +25,14 @@ import java.util.List; import java.util.Objects; import java.util.Set; import javax.annotation.concurrent.Immutable; +import org.openide.util.Exceptions; +import org.openide.util.NbBundle; +import org.sleuthkit.autopsy.casemodule.Case; import org.sleuthkit.autopsy.coreutils.ModuleSettings; import org.sleuthkit.datamodel.TagName; import org.sleuthkit.autopsy.datamodel.tags.Category; +import org.sleuthkit.datamodel.SleuthkitCase; +import org.sleuthkit.datamodel.TskCoreException; import org.sleuthkit.datamodel.TskData; /** @@ -36,11 +41,14 @@ import org.sleuthkit.datamodel.TskData; @Immutable final class TagNameDefinition implements Comparable { + @NbBundle.Messages({"TagNameDefinition.predefTagNames.bookmark.text=Bookmark", + "TagNameDefinition.predefTagNames.followUp.text=Follow Up", + "TagNameDefinition.predefTagNames.notableItem.text=Notable Item"}) private static final String TAGS_SETTINGS_NAME = "Tags"; //NON-NLS private static final String TAG_NAMES_SETTING_KEY = "TagNames"; //NON-NLS - private static final List STANDARD_NOTABLE_TAG_DISPLAY_NAMES = Arrays.asList(TagsManager.getNotableItemText(), Category.ONE.getDisplayName(), Category.TWO.getDisplayName(), Category.THREE.getDisplayName()); // NON-NLS - static final List STANDARD_TAG_DISPLAY_NAMES = Arrays.asList(TagsManager.getBookmarkText(), TagsManager.getFollowUpText(), - TagsManager.getNotableItemText(), Category.ONE.getDisplayName(), + private static final List STANDARD_NOTABLE_TAG_DISPLAY_NAMES = Arrays.asList(Bundle.TagNameDefinition_predefTagNames_notableItem_text(), Category.ONE.getDisplayName(), Category.TWO.getDisplayName(), Category.THREE.getDisplayName()); // NON-NLS + private static final List STANDARD_TAG_DISPLAY_NAMES = Arrays.asList(Bundle.TagNameDefinition_predefTagNames_bookmark_text(), Bundle.TagNameDefinition_predefTagNames_followUp_text(), + Bundle.TagNameDefinition_predefTagNames_notableItem_text(), Category.ONE.getDisplayName(), Category.TWO.getDisplayName(), Category.THREE.getDisplayName(), Category.FOUR.getDisplayName(), Category.FIVE.getDisplayName()); private final String displayName; @@ -65,6 +73,10 @@ final class TagNameDefinition implements Comparable { this.knownStatus = status; } + static List getStandardTagNames() { + return STANDARD_TAG_DISPLAY_NAMES; + } + /** * Gets the display name for the tag name. * @@ -165,6 +177,16 @@ final class TagNameDefinition implements Comparable { return displayName + "," + description + "," + color.name() + "," + knownStatus.toString(); } + private TagName saveToCase(SleuthkitCase caseDb) { + TagName tagName = null; + try { + tagName = caseDb.addTagName(displayName, description, color, knownStatus); + } catch (TskCoreException ex) { + Exceptions.printStackTrace(ex); + } + return tagName; + } + /** * Gets tag name definitions from the tag settings file as well as the * default tag name definitions. @@ -221,6 +243,10 @@ final class TagNameDefinition implements Comparable { setting.append(";"); } setting.append(tagName.toSettingsFormat()); + if (Case.isCaseOpen()) { + SleuthkitCase caseDb = Case.getCurrentCase().getSleuthkitCase(); + tagName.saveToCase(caseDb); + } } ModuleSettings.setConfigSetting(TAGS_SETTINGS_NAME, TAG_NAMES_SETTING_KEY, setting.toString()); } diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/services/TagNameDialog.java b/Core/src/org/sleuthkit/autopsy/casemodule/services/TagNameDialog.java index e310c066e5..c8d1351763 100755 --- a/Core/src/org/sleuthkit/autopsy/casemodule/services/TagNameDialog.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/services/TagNameDialog.java @@ -1,7 +1,7 @@ /* * Autopsy Forensic Browser * - * Copyright 2011-2016 Basis Technology Corp. + * Copyright 2011-2017 Basis Technology Corp. * Contact: carrier sleuthkit org * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -135,10 +135,10 @@ final class TagNameDialog extends javax.swing.JDialog { NbBundle.getMessage(TagNameDialog.class, "TagNameDialog.JOptionPane.tagNameEmpty.title"), JOptionPane.ERROR_MESSAGE); return; - } - + } //if a tag name contains illegal characters and is not the name of one of the standard tags - if (TagsManager.containsIllegalCharacters(newTagDisplayName) && !TagNameDefinition.STANDARD_TAG_DISPLAY_NAMES.contains(newTagDisplayName)) { + if (TagsManager.containsIllegalCharacters(newTagDisplayName) && !TagNameDefinition.getStandardTagNames().contains(newTagDisplayName)) { + JOptionPane.showMessageDialog(null, NbBundle.getMessage(TagNameDialog.class, "TagNameDialog.JOptionPane.tagNameIllegalCharacters.message"), NbBundle.getMessage(TagNameDialog.class, "TagNameDialog.JOptionPane.tagNameIllegalCharacters.title"), diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/services/TagOptionsPanel.java b/Core/src/org/sleuthkit/autopsy/casemodule/services/TagOptionsPanel.java index fd3663ea7a..61314e6f1f 100755 --- a/Core/src/org/sleuthkit/autopsy/casemodule/services/TagOptionsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/services/TagOptionsPanel.java @@ -411,7 +411,7 @@ final class TagOptionsPanel extends javax.swing.JPanel implements OptionsPanel { boolean isSelected = tagNamesList.getSelectedIndex() != -1; boolean enableEdit = !ingestIsRunning && isSelected; editTagNameButton.setEnabled(enableEdit); - boolean enableDelete = enableEdit && !TagNameDefinition.STANDARD_TAG_DISPLAY_NAMES.contains(tagNamesList.getSelectedValue().getDisplayName()); + boolean enableDelete = enableEdit && !TagNameDefinition.getStandardTagNames().contains(tagNamesList.getSelectedValue().getDisplayName()); deleteTagNameButton.setEnabled(enableDelete); if (isSelected) { diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/services/TagsManager.java b/Core/src/org/sleuthkit/autopsy/casemodule/services/TagsManager.java index 49b25b54db..5699034f7b 100755 --- a/Core/src/org/sleuthkit/autopsy/casemodule/services/TagsManager.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/services/TagsManager.java @@ -27,7 +27,6 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.logging.Level; -import org.openide.util.NbBundle; import org.sleuthkit.autopsy.casemodule.Case; import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.datamodel.BlackboardArtifact; @@ -46,41 +45,9 @@ import org.sleuthkit.datamodel.TskData; public class TagsManager implements Closeable { private static final Logger LOGGER = Logger.getLogger(TagsManager.class.getName()); - @NbBundle.Messages({"TagsManager.predefTagNames.bookmark.text=Bookmark", - "TagsManager.predefTagNames.followUp.text=Follow Up", - "TagsManager.predefTagNames.notableItem.text=Notable Item"}) - private static final String FOLLOW_UP = Bundle.TagsManager_predefTagNames_followUp_text(); - private static final String BOOKMARK = Bundle.TagsManager_predefTagNames_bookmark_text(); - private static final String NOTABLE_ITEM = Bundle.TagsManager_predefTagNames_notableItem_text(); + private final SleuthkitCase caseDb; - /** - * Get the text for the Follow Up tag. - * - * @return FOLLOW_UP - */ - public static String getFollowUpText() { - return FOLLOW_UP; - } - - /** - * Get the text for the Bookmark tag. - * - * @return BOOKMARK - */ - public static String getBookmarkText() { - return BOOKMARK; - } - - /** - * Get the text for the Notable Item tag. - * - * @return NOTABLE_ITEM - */ - static String getNotableItemText() { - return NOTABLE_ITEM; - } - /** * Tests whether or not a given tag display name contains an illegal * character. diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/DrawableTagsManager.java b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/DrawableTagsManager.java index 6859a12830..0497068924 100755 --- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/DrawableTagsManager.java +++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/DrawableTagsManager.java @@ -138,7 +138,7 @@ public class DrawableTagsManager { public TagName getFollowUpTagName() throws TskCoreException { synchronized (autopsyTagsManagerLock) { if (Objects.isNull(followUpTagName)) { - followUpTagName = getTagName(TagsManager.getFollowUpText()); + followUpTagName = getTagName(NbBundle.getMessage(DrawableTagsManager.class, "DrawableTagsManager.followUp")); } return followUpTagName; } @@ -147,7 +147,7 @@ public class DrawableTagsManager { private Object getBookmarkTagName() throws TskCoreException { synchronized (autopsyTagsManagerLock) { if (Objects.isNull(bookmarkTagName)) { - bookmarkTagName = getTagName(TagsManager.getBookmarkText()); + bookmarkTagName = getTagName(NbBundle.getMessage(DrawableTagsManager.class, "DrawableTagsManager.bookMark")); } return bookmarkTagName; }