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;
|
package org.sleuthkit.autopsy.actions;
|
||||||
|
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.TreeSet;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import javax.swing.AbstractAction;
|
import javax.swing.AbstractAction;
|
||||||
import javax.swing.JMenu;
|
import javax.swing.JMenu;
|
||||||
@ -89,8 +93,11 @@ abstract class AddTagAction extends AbstractAction implements Presenter.Popup {
|
|||||||
TagsManager tagsManager = Case.getCurrentCase().getServices().getTagsManager();
|
TagsManager tagsManager = Case.getCurrentCase().getServices().getTagsManager();
|
||||||
List<TagName> tagNames = null;
|
List<TagName> tagNames = null;
|
||||||
try {
|
try {
|
||||||
tagNames = tagsManager.getAllTagNamesForDisplay();
|
Set<TagName> tagNamesSet = new TreeSet<>();
|
||||||
Collections.sort(tagNames);
|
tagNamesSet.addAll(tagsManager.getUserTagNames());
|
||||||
|
tagNamesSet.addAll(tagsManager.getTagNamesInUse());
|
||||||
|
tagNamesSet.addAll(tagsManager.getPredefinedTagNames());
|
||||||
|
tagNames = new ArrayList(tagNamesSet);
|
||||||
} catch (TskCoreException ex) {
|
} catch (TskCoreException ex) {
|
||||||
Logger.getLogger(TagsManager.class.getName()).log(Level.SEVERE, "Failed to get tag names", ex); //NON-NLS
|
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.Window;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.TreeSet;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import javax.swing.AbstractAction;
|
import javax.swing.AbstractAction;
|
||||||
import javax.swing.ActionMap;
|
import javax.swing.ActionMap;
|
||||||
@ -117,7 +120,11 @@ public class GetTagNameAndCommentDialog extends JDialog {
|
|||||||
TagsManager tagsManager = Case.getCurrentCase().getServices().getTagsManager();
|
TagsManager tagsManager = Case.getCurrentCase().getServices().getTagsManager();
|
||||||
List<TagName> currentTagNames = null;
|
List<TagName> currentTagNames = null;
|
||||||
try {
|
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) {
|
} catch (TskCoreException ex) {
|
||||||
Logger.getLogger(GetTagNameAndCommentDialog.class.getName()).log(Level.SEVERE, "Failed to get tag names", ex); //NON-NLS
|
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.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.TreeSet;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import javax.swing.AbstractAction;
|
import javax.swing.AbstractAction;
|
||||||
import javax.swing.ActionMap;
|
import javax.swing.ActionMap;
|
||||||
@ -98,7 +100,11 @@ public class GetTagNameDialog extends JDialog {
|
|||||||
TagsManager tagsManager = Case.getCurrentCase().getServices().getTagsManager();
|
TagsManager tagsManager = Case.getCurrentCase().getServices().getTagsManager();
|
||||||
List<TagName> currentTagNames = null;
|
List<TagName> currentTagNames = null;
|
||||||
try {
|
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) {
|
} catch (TskCoreException ex) {
|
||||||
Logger.getLogger(GetTagNameDialog.class.getName()).log(Level.SEVERE, "Failed to get tag names", ex); //NON-NLS
|
Logger.getLogger(GetTagNameDialog.class.getName()).log(Level.SEVERE, "Failed to get tag names", ex); //NON-NLS
|
||||||
}
|
}
|
||||||
|
@ -143,6 +143,7 @@
|
|||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="tagNamesListMouseClicked"/>
|
<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>
|
</Events>
|
||||||
<AuxValues>
|
<AuxValues>
|
||||||
<AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<UserTagName>"/>
|
<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) {
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||||
tagNamesListMouseClicked(evt);
|
tagNamesListMouseClicked(evt);
|
||||||
}
|
}
|
||||||
|
public void mousePressed(java.awt.event.MouseEvent evt) {
|
||||||
|
tagNamesListMousePressed(evt);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
jScrollPane1.setViewportView(tagNamesList);
|
jScrollPane1.setViewportView(tagNamesList);
|
||||||
|
|
||||||
@ -236,6 +239,10 @@ public class TagNamesSettingsPanel extends javax.swing.JPanel implements Options
|
|||||||
enableButtons();
|
enableButtons();
|
||||||
}//GEN-LAST:event_tagNamesListMouseClicked
|
}//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
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||||
private javax.swing.JButton deleteTagNameButton;
|
private javax.swing.JButton deleteTagNameButton;
|
||||||
private javax.swing.JPanel jPanel1;
|
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
|
* Gets a list of all tag names currently in the case database.
|
||||||
* artifacts.
|
|
||||||
*
|
*
|
||||||
* @return A list, possibly empty, of TagName data transfer objects (DTOs).
|
* @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
|
* Gets a list of all user tag names from the preference file.
|
||||||
* from the properties file.
|
|
||||||
*
|
*
|
||||||
* @return A list, possibly empty, of TagName data transfer objects (DTOs).
|
* @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 {
|
public synchronized List<TagName> getUserTagNames() {
|
||||||
if (null == caseDb) {
|
|
||||||
throw new TskCoreException("Tags manager has been closed");
|
|
||||||
}
|
|
||||||
lazyLoadExistingTagNames();
|
lazyLoadExistingTagNames();
|
||||||
Set<TagName> tagNameSet = new HashSet<>();
|
List<TagName> tagNameList = new ArrayList<>();
|
||||||
// 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
|
|
||||||
String setting = ModuleSettings.getConfigSetting(TAGS_SETTINGS_NAME, TAG_NAMES_SETTING_KEY);
|
String setting = ModuleSettings.getConfigSetting(TAGS_SETTINGS_NAME, TAG_NAMES_SETTING_KEY);
|
||||||
if (null != setting && !setting.isEmpty()) {
|
if (null != setting && !setting.isEmpty()) {
|
||||||
List<String> tagNameTuples = Arrays.asList(setting.split(";"));
|
List<String> tagNameTuples = Arrays.asList(setting.split(";"));
|
||||||
for (String tagNameTuple : tagNameTuples) {
|
for (String tagNameTuple : tagNameTuples) {
|
||||||
String[] tagNameAttributes = tagNameTuple.split(",");
|
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