From 4c0f26b324ce6b51b6e707a29c262f794ba84ac4 Mon Sep 17 00:00:00 2001 From: "Samuel H. Kenyon" Date: Wed, 30 Apr 2014 15:02:43 -0400 Subject: [PATCH] updated the use of fullHitInfo flag and list names used in KeywordSearchResultFactory, which in turn corrects how results show up in the GUI browser --- .../KeywordSearchResultFactory.java | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchResultFactory.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchResultFactory.java index 01bebd7274..83a5e1577e 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchResultFactory.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchResultFactory.java @@ -172,13 +172,18 @@ class KeywordSearchResultFactory extends ChildFactory { return false; } - //get listname + // Get listname String listName = ""; - KeywordList list = KeywordSearchListsXML.getCurrent().getListWithKeyword(keywordSearchQuery.getQueryString()); - if (list != null) { - listName = list.getName(); + // fullHitInfo determines whether a hit is posted in a list as a raw query string or formatted with Keyword.toString() + boolean fullHitInfo = true; + if (queryRequests.size() > 1) { + KeywordList list = KeywordSearchListsXML.getCurrent().getListWithKeyword(keywordSearchQuery.getQueryString()); + if (list != null) { + listName = list.getName(); + } + fullHitInfo = false; } - + final boolean literal_query = keywordSearchQuery.isLiteral(); int resID = 0; @@ -234,7 +239,7 @@ class KeywordSearchResultFactory extends ChildFactory { //cannot reuse snippet in BlackboardResultWriter //because for regex searches in UI we compress results by showing a file per regex once (even if multiple term hits) //whereas in bb we write every hit per file separately - new BlackboardResultWriter(queryResults, keywordSearchQuery, listName).execute(); + new BlackboardResultWriter(queryResults, keywordSearchQuery, listName, fullHitInfo).execute(); return true; } @@ -381,12 +386,14 @@ class KeywordSearchResultFactory extends ChildFactory { private String listName; private QueryResults hits; private Collection newArtifacts = new ArrayList<>(); + private boolean fullHitInfo; private static final int QUERY_DISPLAY_LEN = 40; - BlackboardResultWriter(QueryResults hits, KeywordSearchQuery query, String listName) { + BlackboardResultWriter(QueryResults hits, KeywordSearchQuery query, String listName, boolean fullHitInfo) { this.hits = hits; this.query = query; this.listName = listName; + this.fullHitInfo = fullHitInfo; } protected void finalizeWorker() { @@ -418,8 +425,8 @@ class KeywordSearchResultFactory extends ChildFactory { }); // Create blackboard artifacts - // notifyInbox == false, fullHitInfo == true - newArtifacts = hits.writeAllHitsToBlackBoard(query, listName, progress, null, this, false, true); + boolean notifyInbox = false; + newArtifacts = hits.writeAllHitsToBlackBoard(query, listName, progress, null, this, notifyInbox, fullHitInfo); } finally { finalizeWorker(); }