mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-13 08:26:15 +00:00
Modified DataModelActionsFactory to deal with artifact source content
This commit is contained in:
parent
b82816009e
commit
a537d0457b
@ -18,7 +18,6 @@
|
|||||||
*/
|
*/
|
||||||
package org.sleuthkit.autopsy.datamodel;
|
package org.sleuthkit.autopsy.datamodel;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
@ -76,7 +75,7 @@ public class BlackboardArtifactTagNode extends DisplayableItemNode {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Action[] getActions(boolean context) {
|
public Action[] getActions(boolean context) {
|
||||||
List<Action> actions = DataModelActionsFactory.getActions(tag.getContent()); // RJCTODO: Get extra stuff from Tags
|
List<Action> actions = DataModelActionsFactory.getActions(tag.getContent(), true);
|
||||||
actions.add(null); // Adds a menu item separator.
|
actions.add(null); // Adds a menu item separator.
|
||||||
actions.add(DeleteBlackboardArtifactTagAction.getInstance());
|
actions.add(DeleteBlackboardArtifactTagAction.getInstance());
|
||||||
return actions.toArray(new Action[0]);
|
return actions.toArray(new Action[0]);
|
||||||
|
@ -19,7 +19,6 @@
|
|||||||
|
|
||||||
package org.sleuthkit.autopsy.datamodel;
|
package org.sleuthkit.autopsy.datamodel;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
@ -75,7 +74,7 @@ public class ContentTagNode extends DisplayableItemNode {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Action[] getActions(boolean context) {
|
public Action[] getActions(boolean context) {
|
||||||
List<Action> actions = DataModelActionsFactory.getActions(tag.getContent());
|
List<Action> actions = DataModelActionsFactory.getActions(tag.getContent(), false);
|
||||||
actions.add(null); // Adds a menu item separator.
|
actions.add(null); // Adds a menu item separator.
|
||||||
actions.add(DeleteContentTagAction.getInstance());
|
actions.add(DeleteContentTagAction.getInstance());
|
||||||
return actions.toArray(new Action[0]);
|
return actions.toArray(new Action[0]);
|
||||||
|
@ -42,33 +42,33 @@ import org.sleuthkit.datamodel.VirtualDirectory;
|
|||||||
* This class provides methods for creating sets of actions for data model objects.
|
* This class provides methods for creating sets of actions for data model objects.
|
||||||
*/
|
*/
|
||||||
class DataModelActionsFactory {
|
class DataModelActionsFactory {
|
||||||
static List<Action> getActions(Content content) {
|
static List<Action> getActions(Content content, boolean isArtifactSource) {
|
||||||
if (content instanceof File) {
|
if (content instanceof File) {
|
||||||
return getActions((File)content);
|
return getActions((File)content, isArtifactSource);
|
||||||
}
|
}
|
||||||
else if (content instanceof LayoutFile) {
|
else if (content instanceof LayoutFile) {
|
||||||
return getActions((LayoutFile)content);
|
return getActions((LayoutFile)content, isArtifactSource);
|
||||||
}
|
}
|
||||||
else if (content instanceof Directory) {
|
else if (content instanceof Directory) {
|
||||||
return getActions((Directory)content);
|
return getActions((Directory)content, isArtifactSource);
|
||||||
}
|
}
|
||||||
else if (content instanceof VirtualDirectory) {
|
else if (content instanceof VirtualDirectory) {
|
||||||
return getActions((VirtualDirectory)content);
|
return getActions((VirtualDirectory)content, isArtifactSource);
|
||||||
}
|
}
|
||||||
else if (content instanceof LocalFile) {
|
else if (content instanceof LocalFile) {
|
||||||
return getActions((LocalFile)content);
|
return getActions((LocalFile)content, isArtifactSource);
|
||||||
}
|
}
|
||||||
else if (content instanceof DerivedFile) {
|
else if (content instanceof DerivedFile) {
|
||||||
return getActions((DerivedFile)content);
|
return getActions((DerivedFile)content, isArtifactSource);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
return new ArrayList<>();
|
return new ArrayList<>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static List<Action> getActions(File file) {
|
static List<Action> getActions(File file, boolean isArtifactSource) {
|
||||||
List<Action> actions = new ArrayList<>();
|
List<Action> actions = new ArrayList<>();
|
||||||
actions.add(new ViewContextAction("View File in Directory", file));
|
actions.add(new ViewContextAction((isArtifactSource ? "View Source File in Directory" : "View File in Directory"), file));
|
||||||
final FileNode fileNode = new FileNode(file);
|
final FileNode fileNode = new FileNode(file);
|
||||||
actions.add(null); // creates a menu separator
|
actions.add(null); // creates a menu separator
|
||||||
actions.add(new NewWindowViewAction("View in New Window", fileNode));
|
actions.add(new NewWindowViewAction("View in New Window", fileNode));
|
||||||
@ -78,14 +78,16 @@ class DataModelActionsFactory {
|
|||||||
actions.add(new HashSearchAction("Search for files with the same MD5 hash", fileNode));
|
actions.add(new HashSearchAction("Search for files with the same MD5 hash", fileNode));
|
||||||
actions.add(null); // creates a menu separator
|
actions.add(null); // creates a menu separator
|
||||||
actions.add(AddContentTagAction.getInstance());
|
actions.add(AddContentTagAction.getInstance());
|
||||||
actions.add(AddBlackboardArtifactTagAction.getInstance());
|
if (isArtifactSource) {
|
||||||
|
actions.add(AddBlackboardArtifactTagAction.getInstance());
|
||||||
|
}
|
||||||
actions.addAll(ContextMenuExtensionPoint.getActions());
|
actions.addAll(ContextMenuExtensionPoint.getActions());
|
||||||
return actions;
|
return actions;
|
||||||
}
|
}
|
||||||
|
|
||||||
static List<Action> getActions(LayoutFile file) {
|
static List<Action> getActions(LayoutFile file, boolean isArtifactSource) {
|
||||||
List<Action> actions = new ArrayList<>();
|
List<Action> actions = new ArrayList<>();
|
||||||
actions.add(new ViewContextAction("View File in Directory", file));
|
actions.add(new ViewContextAction((isArtifactSource ? "View Source File in Directory" : "View File in Directory"), file));
|
||||||
LayoutFileNode layoutFileNode = new LayoutFileNode(file);
|
LayoutFileNode layoutFileNode = new LayoutFileNode(file);
|
||||||
actions.add(null); // creates a menu separator
|
actions.add(null); // creates a menu separator
|
||||||
actions.add(new NewWindowViewAction("View in New Window", layoutFileNode));
|
actions.add(new NewWindowViewAction("View in New Window", layoutFileNode));
|
||||||
@ -94,14 +96,16 @@ class DataModelActionsFactory {
|
|||||||
actions.add(ExtractAction.getInstance());//
|
actions.add(ExtractAction.getInstance());//
|
||||||
actions.add(null); // creates a menu separator
|
actions.add(null); // creates a menu separator
|
||||||
actions.add(AddContentTagAction.getInstance());
|
actions.add(AddContentTagAction.getInstance());
|
||||||
actions.add(AddBlackboardArtifactTagAction.getInstance());
|
if (isArtifactSource) {
|
||||||
|
actions.add(AddBlackboardArtifactTagAction.getInstance());
|
||||||
|
}
|
||||||
actions.addAll(ContextMenuExtensionPoint.getActions());
|
actions.addAll(ContextMenuExtensionPoint.getActions());
|
||||||
return actions;
|
return actions;
|
||||||
}
|
}
|
||||||
|
|
||||||
static List<Action> getActions(Directory directory) {
|
static List<Action> getActions(Directory directory, boolean isArtifactSource) {
|
||||||
List<Action> actions = new ArrayList<>();
|
List<Action> actions = new ArrayList<>();
|
||||||
actions.add(new ViewContextAction("View File in Directory", directory));
|
actions.add(new ViewContextAction((isArtifactSource ? "View Source File in Directory" : "View File in Directory"), directory));
|
||||||
DirectoryNode directoryNode = new DirectoryNode(directory);
|
DirectoryNode directoryNode = new DirectoryNode(directory);
|
||||||
actions.add(null); // creates a menu separator
|
actions.add(null); // creates a menu separator
|
||||||
actions.add(new NewWindowViewAction("View in New Window", directoryNode));
|
actions.add(new NewWindowViewAction("View in New Window", directoryNode));
|
||||||
@ -110,14 +114,16 @@ class DataModelActionsFactory {
|
|||||||
actions.add(ExtractAction.getInstance());
|
actions.add(ExtractAction.getInstance());
|
||||||
actions.add(null); // creates a menu separator
|
actions.add(null); // creates a menu separator
|
||||||
actions.add(AddContentTagAction.getInstance());
|
actions.add(AddContentTagAction.getInstance());
|
||||||
actions.add(AddBlackboardArtifactTagAction.getInstance());
|
if (isArtifactSource) {
|
||||||
|
actions.add(AddBlackboardArtifactTagAction.getInstance());
|
||||||
|
}
|
||||||
actions.addAll(ContextMenuExtensionPoint.getActions()); // RJCTODO: Separator should not be added by provider
|
actions.addAll(ContextMenuExtensionPoint.getActions()); // RJCTODO: Separator should not be added by provider
|
||||||
return actions;
|
return actions;
|
||||||
}
|
}
|
||||||
|
|
||||||
static List<Action> getActions(VirtualDirectory directory) {
|
static List<Action> getActions(VirtualDirectory directory, boolean isArtifactSource) {
|
||||||
List<Action> actions = new ArrayList<>();
|
List<Action> actions = new ArrayList<>();
|
||||||
actions.add(new ViewContextAction("View File in Directory", directory));
|
actions.add(new ViewContextAction((isArtifactSource ? "View Source File in Directory" : "View File in Directory"), directory));
|
||||||
VirtualDirectoryNode directoryNode = new VirtualDirectoryNode(directory);
|
VirtualDirectoryNode directoryNode = new VirtualDirectoryNode(directory);
|
||||||
actions.add(null); // creates a menu separator
|
actions.add(null); // creates a menu separator
|
||||||
actions.add(new NewWindowViewAction("View in New Window", directoryNode));
|
actions.add(new NewWindowViewAction("View in New Window", directoryNode));
|
||||||
@ -126,14 +132,16 @@ class DataModelActionsFactory {
|
|||||||
actions.add(ExtractAction.getInstance());
|
actions.add(ExtractAction.getInstance());
|
||||||
actions.add(null); // creates a menu separator
|
actions.add(null); // creates a menu separator
|
||||||
actions.add(AddContentTagAction.getInstance());
|
actions.add(AddContentTagAction.getInstance());
|
||||||
actions.add(AddBlackboardArtifactTagAction.getInstance());
|
if (isArtifactSource) {
|
||||||
|
actions.add(AddBlackboardArtifactTagAction.getInstance());
|
||||||
|
}
|
||||||
actions.addAll(ContextMenuExtensionPoint.getActions());
|
actions.addAll(ContextMenuExtensionPoint.getActions());
|
||||||
return actions;
|
return actions;
|
||||||
}
|
}
|
||||||
|
|
||||||
static List<Action> getActions(LocalFile file) {
|
static List<Action> getActions(LocalFile file, boolean isArtifactSource) {
|
||||||
List<Action> actions = new ArrayList<>();
|
List<Action> actions = new ArrayList<>();
|
||||||
actions.add(new ViewContextAction("View File in Directory", file));
|
actions.add(new ViewContextAction((isArtifactSource ? "View Source File in Directory" : "View File in Directory"), file));
|
||||||
final LocalFileNode localFileNode = new LocalFileNode(file);
|
final LocalFileNode localFileNode = new LocalFileNode(file);
|
||||||
actions.add(null); // creates a menu separator
|
actions.add(null); // creates a menu separator
|
||||||
actions.add(new NewWindowViewAction("View in New Window", localFileNode));
|
actions.add(new NewWindowViewAction("View in New Window", localFileNode));
|
||||||
@ -142,14 +150,16 @@ class DataModelActionsFactory {
|
|||||||
actions.add(ExtractAction.getInstance());
|
actions.add(ExtractAction.getInstance());
|
||||||
actions.add(null); // creates a menu separator
|
actions.add(null); // creates a menu separator
|
||||||
actions.add(AddContentTagAction.getInstance());
|
actions.add(AddContentTagAction.getInstance());
|
||||||
actions.add(AddBlackboardArtifactTagAction.getInstance());
|
if (isArtifactSource) {
|
||||||
|
actions.add(AddBlackboardArtifactTagAction.getInstance());
|
||||||
|
}
|
||||||
actions.addAll(ContextMenuExtensionPoint.getActions());
|
actions.addAll(ContextMenuExtensionPoint.getActions());
|
||||||
return actions;
|
return actions;
|
||||||
}
|
}
|
||||||
|
|
||||||
static List<Action> getActions(DerivedFile file) {
|
static List<Action> getActions(DerivedFile file, boolean isArtifactSource) {
|
||||||
List<Action> actions = new ArrayList<>();
|
List<Action> actions = new ArrayList<>();
|
||||||
actions.add(new ViewContextAction("View File in Directory", file));
|
actions.add(new ViewContextAction((isArtifactSource ? "View Source File in Directory" : "View File in Directory"), file));
|
||||||
final LocalFileNode localFileNode = new LocalFileNode(file);
|
final LocalFileNode localFileNode = new LocalFileNode(file);
|
||||||
actions.add(null); // creates a menu separator
|
actions.add(null); // creates a menu separator
|
||||||
actions.add(new NewWindowViewAction("View in New Window", localFileNode));
|
actions.add(new NewWindowViewAction("View in New Window", localFileNode));
|
||||||
@ -158,15 +168,10 @@ class DataModelActionsFactory {
|
|||||||
actions.add(ExtractAction.getInstance());
|
actions.add(ExtractAction.getInstance());
|
||||||
actions.add(null); // creates a menu separator
|
actions.add(null); // creates a menu separator
|
||||||
actions.add(AddContentTagAction.getInstance());
|
actions.add(AddContentTagAction.getInstance());
|
||||||
actions.add(AddBlackboardArtifactTagAction.getInstance());
|
if (isArtifactSource) {
|
||||||
|
actions.add(AddBlackboardArtifactTagAction.getInstance());
|
||||||
|
}
|
||||||
actions.addAll(ContextMenuExtensionPoint.getActions());
|
actions.addAll(ContextMenuExtensionPoint.getActions());
|
||||||
return actions;
|
return actions;
|
||||||
}
|
|
||||||
|
|
||||||
static List<Action> getActions(AbstractFile file) {
|
|
||||||
List<Action> actions = new ArrayList<>();
|
|
||||||
actions.add(new ViewContextAction("View File in Directory", file));
|
|
||||||
// RJCTODO
|
|
||||||
return actions;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user