diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AdHocSearchFilterNode.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AdHocSearchFilterNode.java index cff13cc16e2..fb7731a66cf 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AdHocSearchFilterNode.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AdHocSearchFilterNode.java @@ -52,15 +52,15 @@ /** * FilterNode containing properties and actions for keyword search. - * + * * Wraps the generic KeyValue node and customizes the property sheet and lookup */ class AdHocSearchFilterNode extends FilterNode { /** * Instantiate a KeywordSearchFilterNode. - * - * @param original The original source node. + * + * @param original The original source node. */ AdHocSearchFilterNode(Node original) { super(original, null, new ProxyLookup(original.getLookup())); @@ -160,10 +160,20 @@ public List visit(VirtualDirectory dir) { private List getFileActions() { List actionsList = new ArrayList<>(); + + boolean hasAbstractFile = getOriginal().getLookup().lookup(AbstractFile.class) != null; + actionsList.add(new NewWindowViewAction(NbBundle.getMessage(this.getClass(), "KeywordSearchFilterNode.getFileActions.viewInNewWinActionLbl"), AdHocSearchFilterNode.this)); - actionsList.add(new ExternalViewerAction(NbBundle.getMessage(this.getClass(), "KeywordSearchFilterNode.getFileActions.openExternViewActLbl"), getOriginal())); + + if (hasAbstractFile) { + actionsList.add(new ExternalViewerAction(NbBundle.getMessage(this.getClass(), "KeywordSearchFilterNode.getFileActions.openExternViewActLbl"), getOriginal())); + } + actionsList.add(null); - actionsList.add(ExtractAction.getInstance()); + if (hasAbstractFile) { + actionsList.add(ExtractAction.getInstance()); + } + actionsList.add(ExportCSVAction.getInstance()); actionsList.add(null); // creates a menu separator actionsList.add(AddContentTagAction.getInstance());