mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-13 00:16:16 +00:00
Made TagsManager methods more general, moved tag name display logic to TagsManager clients
This commit is contained in:
parent
e7a5f59081
commit
a32b95943f
@ -19,8 +19,12 @@
|
||||
package org.sleuthkit.autopsy.actions;
|
||||
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
import java.util.logging.Level;
|
||||
import javax.swing.AbstractAction;
|
||||
import javax.swing.JMenu;
|
||||
@ -89,8 +93,11 @@ abstract class AddTagAction extends AbstractAction implements Presenter.Popup {
|
||||
TagsManager tagsManager = Case.getCurrentCase().getServices().getTagsManager();
|
||||
List<TagName> tagNames = null;
|
||||
try {
|
||||
tagNames = tagsManager.getAllTagNamesForDisplay();
|
||||
Collections.sort(tagNames);
|
||||
Set<TagName> tagNamesSet = new TreeSet<>();
|
||||
tagNamesSet.addAll(tagsManager.getUserTagNames());
|
||||
tagNamesSet.addAll(tagsManager.getTagNamesInUse());
|
||||
tagNamesSet.addAll(tagsManager.getPredefinedTagNames());
|
||||
tagNames = new ArrayList(tagNamesSet);
|
||||
} catch (TskCoreException ex) {
|
||||
Logger.getLogger(TagsManager.class.getName()).log(Level.SEVERE, "Failed to get tag names", ex); //NON-NLS
|
||||
}
|
||||
|
@ -21,8 +21,11 @@ package org.sleuthkit.autopsy.actions;
|
||||
import java.awt.Window;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
import java.util.logging.Level;
|
||||
import javax.swing.AbstractAction;
|
||||
import javax.swing.ActionMap;
|
||||
@ -117,7 +120,11 @@ public class GetTagNameAndCommentDialog extends JDialog {
|
||||
TagsManager tagsManager = Case.getCurrentCase().getServices().getTagsManager();
|
||||
List<TagName> currentTagNames = null;
|
||||
try {
|
||||
currentTagNames = tagsManager.getAllTagNamesForDisplay();
|
||||
Set<TagName> tagNamesSet = new TreeSet<>();
|
||||
tagNamesSet.addAll(tagsManager.getUserTagNames());
|
||||
tagNamesSet.addAll(tagsManager.getTagNamesInUse());
|
||||
tagNamesSet.addAll(tagsManager.getPredefinedTagNames());
|
||||
currentTagNames = new ArrayList(tagNamesSet);
|
||||
} catch (TskCoreException ex) {
|
||||
Logger.getLogger(GetTagNameAndCommentDialog.class.getName()).log(Level.SEVERE, "Failed to get tag names", ex); //NON-NLS
|
||||
}
|
||||
|
@ -24,6 +24,8 @@ import java.awt.event.KeyEvent;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
import java.util.logging.Level;
|
||||
import javax.swing.AbstractAction;
|
||||
import javax.swing.ActionMap;
|
||||
@ -98,7 +100,11 @@ public class GetTagNameDialog extends JDialog {
|
||||
TagsManager tagsManager = Case.getCurrentCase().getServices().getTagsManager();
|
||||
List<TagName> currentTagNames = null;
|
||||
try {
|
||||
currentTagNames = tagsManager.getAllTagNamesForDisplay();
|
||||
Set<TagName> tagNamesSet = new TreeSet<>();
|
||||
tagNamesSet.addAll(tagsManager.getUserTagNames());
|
||||
tagNamesSet.addAll(tagsManager.getTagNamesInUse());
|
||||
tagNamesSet.addAll(tagsManager.getPredefinedTagNames());
|
||||
currentTagNames = new ArrayList(tagNamesSet);
|
||||
} catch (TskCoreException ex) {
|
||||
Logger.getLogger(GetTagNameDialog.class.getName()).log(Level.SEVERE, "Failed to get tag names", ex); //NON-NLS
|
||||
}
|
||||
|
@ -143,6 +143,7 @@
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="tagNamesListMouseClicked"/>
|
||||
<EventHandler event="mousePressed" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="tagNamesListMousePressed"/>
|
||||
</Events>
|
||||
<AuxValues>
|
||||
<AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<UserTagName>"/>
|
||||
|
@ -97,6 +97,9 @@ public class TagNamesSettingsPanel extends javax.swing.JPanel implements Options
|
||||
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||
tagNamesListMouseClicked(evt);
|
||||
}
|
||||
public void mousePressed(java.awt.event.MouseEvent evt) {
|
||||
tagNamesListMousePressed(evt);
|
||||
}
|
||||
});
|
||||
jScrollPane1.setViewportView(tagNamesList);
|
||||
|
||||
@ -236,6 +239,10 @@ public class TagNamesSettingsPanel extends javax.swing.JPanel implements Options
|
||||
enableButtons();
|
||||
}//GEN-LAST:event_tagNamesListMouseClicked
|
||||
|
||||
private void tagNamesListMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tagNamesListMousePressed
|
||||
enableButtons();
|
||||
}//GEN-LAST:event_tagNamesListMousePressed
|
||||
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
private javax.swing.JButton deleteTagNameButton;
|
||||
private javax.swing.JPanel jPanel1;
|
||||
|
@ -64,8 +64,7 @@ public class TagsManager implements Closeable {
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a list of all tag names currently available for tagging content or
|
||||
* artifacts.
|
||||
* Gets a list of all tag names currently in the case database.
|
||||
*
|
||||
* @return A list, possibly empty, of TagName data transfer objects (DTOs).
|
||||
*
|
||||
@ -81,33 +80,34 @@ public class TagsManager implements Closeable {
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a list of all tag names currently being used or tag names loaded
|
||||
* from the properties file.
|
||||
* Gets a list of all user tag names from the preference file.
|
||||
*
|
||||
* @return A list, possibly empty, of TagName data transfer objects (DTOs).
|
||||
*
|
||||
* @throws TskCoreException If there is an error reading from the case
|
||||
* database.
|
||||
*/
|
||||
public synchronized List<TagName> getAllTagNamesForDisplay() throws TskCoreException {
|
||||
if (null == caseDb) {
|
||||
throw new TskCoreException("Tags manager has been closed");
|
||||
}
|
||||
public synchronized List<TagName> getUserTagNames() {
|
||||
lazyLoadExistingTagNames();
|
||||
Set<TagName> tagNameSet = new HashSet<>();
|
||||
// Add bookmark tag and other tag names that are in use
|
||||
tagNameSet.add(uniqueTagNames.get(NbBundle.getMessage(this.getClass(), "TagsManager.predefTagNames.bookmark.text")));
|
||||
tagNameSet.addAll(getTagNamesInUse());
|
||||
// Add any tag names defined by the user
|
||||
List<TagName> tagNameList = new ArrayList<>();
|
||||
String setting = ModuleSettings.getConfigSetting(TAGS_SETTINGS_NAME, TAG_NAMES_SETTING_KEY);
|
||||
if (null != setting && !setting.isEmpty()) {
|
||||
List<String> tagNameTuples = Arrays.asList(setting.split(";"));
|
||||
for (String tagNameTuple : tagNameTuples) {
|
||||
String[] tagNameAttributes = tagNameTuple.split(",");
|
||||
tagNameSet.add(uniqueTagNames.get(tagNameAttributes[0]));
|
||||
tagNameList.add(uniqueTagNames.get(tagNameAttributes[0]));
|
||||
}
|
||||
}
|
||||
return new ArrayList<>(tagNameSet);
|
||||
return tagNameList;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a list of all predefined tag names.
|
||||
*
|
||||
* @return A list of TagName data transfer objects (DTOs).
|
||||
*/
|
||||
public synchronized List<TagName> getPredefinedTagNames() {
|
||||
lazyLoadExistingTagNames();
|
||||
List<TagName> tagNameList = new ArrayList<>();
|
||||
tagNameList.add(uniqueTagNames.get(NbBundle.getMessage(this.getClass(), "TagsManager.predefTagNames.bookmark.text")));
|
||||
return tagNameList;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user