From e1a9084e7adfac3e9a4615067a1d3c3e5f6f0a0d Mon Sep 17 00:00:00 2001 From: sidheshenator Date: Fri, 15 May 2015 10:52:40 -0400 Subject: [PATCH 1/3] Run ingest option provided at appropriate directory tree nodes --- .../DirectoryTreeFilterNode.java | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeFilterNode.java b/Core/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeFilterNode.java index 15da98c0b7..50417a1ec3 100755 --- a/Core/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeFilterNode.java +++ b/Core/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeFilterNode.java @@ -39,6 +39,7 @@ import org.sleuthkit.datamodel.Content; import org.sleuthkit.datamodel.Directory; import org.sleuthkit.datamodel.Image; import org.sleuthkit.datamodel.TskCoreException; +import org.sleuthkit.datamodel.VirtualDirectory; /** * This class sets the actions for the nodes in the directory tree and creates @@ -113,8 +114,22 @@ class DirectoryTreeFilterNode extends FilterNode { NbBundle.getMessage(this.getClass(), "DirectoryTreeFilterNode.action.openFileSrcByAttr.text"))); } - //ingest action - actions.add(new AbstractAction( + + VirtualDirectory virtualDirectory = this.getLookup().lookup(VirtualDirectory.class); + // determine if the virtualDireory is at root-level (Logical File Set). + boolean isRootVD = false; + if(virtualDirectory != null) { + try { + if(virtualDirectory.getParent() == null) + isRootVD = true; + } catch (TskCoreException ex) { + logger.log(Level.WARNING, "Error determining the parent of the virtual directory", ex); // NON-NLS + } + } + + //ingest action only if the selected node is img node or a root level virtual directory. + if(img != null || isRootVD) { + actions.add(new AbstractAction( NbBundle.getMessage(this.getClass(), "DirectoryTreeFilterNode.action.runIngestMods.text")) { @Override public void actionPerformed(ActionEvent e) { @@ -122,6 +137,7 @@ class DirectoryTreeFilterNode extends FilterNode { ingestDialog.display(); } }); + } } //check if delete actions should be added From aa8bd589394fe1d1a54b27ac66d3c94e2eb96fce Mon Sep 17 00:00:00 2001 From: sidheshenator Date: Fri, 15 May 2015 10:59:21 -0400 Subject: [PATCH 2/3] Open file search by attribs option available for logical FS --- .../directorytree/DirectoryTreeFilterNode.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeFilterNode.java b/Core/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeFilterNode.java index 50417a1ec3..9de9257ce3 100755 --- a/Core/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeFilterNode.java +++ b/Core/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeFilterNode.java @@ -107,13 +107,7 @@ class DirectoryTreeFilterNode extends FilterNode { actions.add(ExtractAction.getInstance()); } - // file search action final Image img = this.getLookup().lookup(Image.class); - if (img != null) { - actions.add(new FileSearchAction( - NbBundle.getMessage(this.getClass(), "DirectoryTreeFilterNode.action.openFileSrcByAttr.text"))); - } - VirtualDirectory virtualDirectory = this.getLookup().lookup(VirtualDirectory.class); // determine if the virtualDireory is at root-level (Logical File Set). @@ -127,6 +121,12 @@ class DirectoryTreeFilterNode extends FilterNode { } } + // file search action only if the selected node is img node or a root level virtual directory. + if (img != null || isRootVD) { + actions.add(new FileSearchAction( + NbBundle.getMessage(this.getClass(), "DirectoryTreeFilterNode.action.openFileSrcByAttr.text"))); + } + //ingest action only if the selected node is img node or a root level virtual directory. if(img != null || isRootVD) { actions.add(new AbstractAction( From 1174a7798e8cab9f0ed20ce4a0b9fa6d5ccd1f63 Mon Sep 17 00:00:00 2001 From: sidheshenator Date: Fri, 15 May 2015 13:44:13 -0400 Subject: [PATCH 3/3] minor directorytreefilternode.getActions() refactoring --- .../DirectoryTreeFilterNode.java | 26 +++++++++---------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeFilterNode.java b/Core/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeFilterNode.java index 9de9257ce3..dbbb906a4e 100755 --- a/Core/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeFilterNode.java +++ b/Core/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeFilterNode.java @@ -112,31 +112,29 @@ class DirectoryTreeFilterNode extends FilterNode { VirtualDirectory virtualDirectory = this.getLookup().lookup(VirtualDirectory.class); // determine if the virtualDireory is at root-level (Logical File Set). boolean isRootVD = false; - if(virtualDirectory != null) { + if (virtualDirectory != null) { try { - if(virtualDirectory.getParent() == null) + if (virtualDirectory.getParent() == null) { isRootVD = true; + } } catch (TskCoreException ex) { logger.log(Level.WARNING, "Error determining the parent of the virtual directory", ex); // NON-NLS } } - // file search action only if the selected node is img node or a root level virtual directory. + // 'run ingest' action and 'file search' action are added only if the + // selected node is img node or a root level virtual directory. if (img != null || isRootVD) { actions.add(new FileSearchAction( NbBundle.getMessage(this.getClass(), "DirectoryTreeFilterNode.action.openFileSrcByAttr.text"))); - } - - //ingest action only if the selected node is img node or a root level virtual directory. - if(img != null || isRootVD) { actions.add(new AbstractAction( - NbBundle.getMessage(this.getClass(), "DirectoryTreeFilterNode.action.runIngestMods.text")) { - @Override - public void actionPerformed(ActionEvent e) { - final RunIngestModulesDialog ingestDialog = new RunIngestModulesDialog(Collections.singletonList(content)); - ingestDialog.display(); - } - }); + NbBundle.getMessage(this.getClass(), "DirectoryTreeFilterNode.action.runIngestMods.text")) { + @Override + public void actionPerformed(ActionEvent e) { + final RunIngestModulesDialog ingestDialog = new RunIngestModulesDialog(Collections.singletonList(content)); + ingestDialog.display(); + } + }); } }