From cd1d4244d37e46ef77024b26e078ba67f32d30b3 Mon Sep 17 00:00:00 2001 From: sidheshenator Date: Tue, 17 Mar 2015 15:04:02 -0400 Subject: [PATCH 1/5] View File in Directory available for local and derived files --- .../org/sleuthkit/autopsy/datamodel/LocalFileNode.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/LocalFileNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/LocalFileNode.java index f45439857d..4b92651f01 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/LocalFileNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/LocalFileNode.java @@ -31,15 +31,13 @@ import org.sleuthkit.autopsy.directorytree.ExtractAction; import org.sleuthkit.autopsy.directorytree.HashSearchAction; import org.sleuthkit.autopsy.directorytree.NewWindowViewAction; import org.sleuthkit.autopsy.actions.AddContentTagAction; +import org.sleuthkit.autopsy.directorytree.ViewContextAction; import org.sleuthkit.datamodel.AbstractFile; /** * A Node for a LocalFile or DerivedFile content object. - * - * TODO should be able to extend FileNode after FileNode extends - * AbstractFsContentNode */ -public class LocalFileNode extends AbstractAbstractFileNode { +public class LocalFileNode extends FileNode { public LocalFileNode(AbstractFile af) { super(af); @@ -84,6 +82,10 @@ public class LocalFileNode extends AbstractAbstractFileNode { @Override public Action[] getActions(boolean context) { List actionsList = new ArrayList<>(); + if (this.getDirectoryBrowseMode()) { + actionsList.add(new ViewContextAction(NbBundle.getMessage(this.getClass(), "FileNode.viewFileInDir.text"), this)); + actionsList.add(null); // creates a menu separator + } actionsList.add(new NewWindowViewAction( NbBundle.getMessage(this.getClass(), "LocalFileNode.getActions.viewInNewWin.text"), this)); actionsList.add(new ExternalViewerAction( From d2a8c0f6145ef2898064429412252ee4a0e5c8cf Mon Sep 17 00:00:00 2001 From: sidheshenator Date: Tue, 17 Mar 2015 15:45:37 -0400 Subject: [PATCH 2/5] added LocalFileNode.viewFileInDir.text to the bundle --- Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties index 712be298ae..bc28375e08 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties @@ -107,6 +107,7 @@ ExtractedContentNode.name.text=Extracted Content ExtractedContentNode.createSheet.name.name=Name ExtractedContentNode.createSheet.name.displayName=Name ExtractedContentNode.createSheet.name.desc=no description +LocalFileNode.viewFileInDir.text=View File in Directory FileNode.viewFileInDir.text=View File in Directory FileNode.getActions.viewInNewWin.text=View in New Window FileNode.getActions.openInExtViewer.text=Open in External Viewer From 9974e57dc670084ff5bc600739d1a694b091e3b7 Mon Sep 17 00:00:00 2001 From: sidheshenator Date: Tue, 17 Mar 2015 15:49:36 -0400 Subject: [PATCH 3/5] added appropriate resource bundle --- Core/src/org/sleuthkit/autopsy/datamodel/LocalFileNode.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/LocalFileNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/LocalFileNode.java index 4b92651f01..a32b36ceb3 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/LocalFileNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/LocalFileNode.java @@ -83,7 +83,7 @@ public class LocalFileNode extends FileNode { public Action[] getActions(boolean context) { List actionsList = new ArrayList<>(); if (this.getDirectoryBrowseMode()) { - actionsList.add(new ViewContextAction(NbBundle.getMessage(this.getClass(), "FileNode.viewFileInDir.text"), this)); + actionsList.add(new ViewContextAction(NbBundle.getMessage(this.getClass(), "LocalFileNode.viewFileInDir.text"), this)); actionsList.add(null); // creates a menu separator } actionsList.add(new NewWindowViewAction( From 28b9a3431fa3009f93b16c7c034c94491ddd1b27 Mon Sep 17 00:00:00 2001 From: sidheshenator Date: Tue, 17 Mar 2015 16:09:43 -0400 Subject: [PATCH 4/5] refactored. Removed unchanged superclass methods implementations --- .../autopsy/datamodel/LocalFileNode.java | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/LocalFileNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/LocalFileNode.java index a32b36ceb3..e860148b26 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/LocalFileNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/LocalFileNode.java @@ -99,19 +99,4 @@ public class LocalFileNode extends FileNode { actionsList.addAll(ContextMenuExtensionPoint.getActions()); return actionsList.toArray(new Action[0]); } - - @Override - public T accept(ContentNodeVisitor v) { - return v.visit(this); - } - - @Override - public T accept(DisplayableItemNodeVisitor v) { - return v.visit(this); - } - - @Override - public boolean isLeafTypeNode() { - return true; //!this.hasContentChildren(); - } } From 74d5b2a0a7ff25a3bc7272884e9c6d1d1cb6f6e1 Mon Sep 17 00:00:00 2001 From: sidheshenator Date: Tue, 24 Mar 2015 10:49:41 -0400 Subject: [PATCH 5/5] extend AbstractAbstractFileNode instead of FileNode --- .../autopsy/datamodel/LocalFileNode.java | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/LocalFileNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/LocalFileNode.java index e860148b26..e368271a89 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/LocalFileNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/LocalFileNode.java @@ -37,7 +37,7 @@ import org.sleuthkit.datamodel.AbstractFile; /** * A Node for a LocalFile or DerivedFile content object. */ -public class LocalFileNode extends FileNode { +public class LocalFileNode extends AbstractAbstractFileNode { public LocalFileNode(AbstractFile af) { super(af); @@ -82,10 +82,8 @@ public class LocalFileNode extends FileNode { @Override public Action[] getActions(boolean context) { List actionsList = new ArrayList<>(); - if (this.getDirectoryBrowseMode()) { - actionsList.add(new ViewContextAction(NbBundle.getMessage(this.getClass(), "LocalFileNode.viewFileInDir.text"), this)); + actionsList.add(new ViewContextAction(NbBundle.getMessage(this.getClass(), "LocalFileNode.viewFileInDir.text"), this.content)); actionsList.add(null); // creates a menu separator - } actionsList.add(new NewWindowViewAction( NbBundle.getMessage(this.getClass(), "LocalFileNode.getActions.viewInNewWin.text"), this)); actionsList.add(new ExternalViewerAction( @@ -99,4 +97,19 @@ public class LocalFileNode extends FileNode { actionsList.addAll(ContextMenuExtensionPoint.getActions()); return actionsList.toArray(new Action[0]); } -} + + @Override + public T accept(ContentNodeVisitor v) { + return v.visit(this); + } + + @Override + public T accept(DisplayableItemNodeVisitor v) { + return v.visit(this); + } + + @Override + public boolean isLeafTypeNode() { + return true; //!this.hasContentChildren(); + } +} \ No newline at end of file