diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchFilterNode.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchFilterNode.java index 8e0343f85d..74c2403983 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchFilterNode.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchFilterNode.java @@ -19,7 +19,6 @@ package org.sleuthkit.autopsy.keywordsearch; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import javax.swing.Action; import org.openide.nodes.FilterNode; @@ -27,7 +26,6 @@ import org.openide.nodes.Node; import org.openide.nodes.Node.Property; import org.openide.nodes.PropertySupport; import org.openide.nodes.Sheet; -import org.openide.util.Exceptions; import org.openide.util.lookup.Lookups; import org.openide.util.lookup.ProxyLookup; import org.sleuthkit.autopsy.directorytree.ExternalViewerAction; diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchNode.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchNode.java deleted file mode 100644 index b12e17cdd0..0000000000 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchNode.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Autopsy Forensic Browser - * - * Copyright 2011 Basis Technology Corp. - * Contact: carrier sleuthkit org - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.sleuthkit.autopsy.keywordsearch; - -import java.util.ArrayList; -import java.util.Map; -import org.openide.nodes.AbstractNode; -import org.openide.nodes.Node; -import org.sleuthkit.autopsy.datamodel.RootContentChildren; -import org.sleuthkit.datamodel.Content; -import org.sleuthkit.datamodel.AbstractFile; - -/** - * Root Node for keyword search results - */ -class KeywordSearchNode extends AbstractNode { - - KeywordSearchNode(final Map keys, final String solrQuery) { - - super(new RootContentChildren(new ArrayList(keys.keySet())) { - - @Override - protected Node[] createNodes(Object key) { - Node[] originalNodes = super.createNodes(key); - Node[] filterNodes = new Node[originalNodes.length]; - - // Use filter node to add a MarkupSource for the search results - // to the lookup - int i = 0; - for (Node original : originalNodes) { - HighlightedMatchesSource markup = new HighlightedMatchesSource((Content)key, solrQuery, false); - int previewChunk = keys.get((AbstractFile)key); - filterNodes[i++] = new KeywordSearchFilterNode(markup, original, solrQuery, previewChunk); - } - - return filterNodes; - } - }); - } -} diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchQuery.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchQuery.java index 64a5c519fc..0705102117 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchQuery.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchQuery.java @@ -48,12 +48,6 @@ public interface KeywordSearchQuery { */ public void setFilter(KeywordQueryFilter filter); - - - /** - * execute the query and publish results - */ - public void execute(); /** * escape the query string and use the escaped string in the query diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/LuceneQuery.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/LuceneQuery.java index 1ece158c29..7b4289a260 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/LuceneQuery.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/LuceneQuery.java @@ -21,7 +21,6 @@ package org.sleuthkit.autopsy.keywordsearch; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; -import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.logging.Level; @@ -34,12 +33,7 @@ import org.apache.solr.client.solrj.response.QueryResponse; import org.apache.solr.client.solrj.response.TermsResponse.Term; import org.apache.solr.common.SolrDocument; import org.apache.solr.common.SolrDocumentList; -import org.openide.nodes.Node; -import org.openide.windows.TopComponent; import org.sleuthkit.autopsy.casemodule.Case; -import org.sleuthkit.autopsy.corecomponents.DataResultTopComponent; -import org.sleuthkit.autopsy.corecomponents.TableFilterNode; -import org.sleuthkit.autopsy.keywordsearch.KeywordSearchResultFactory.ResultWriter; import org.sleuthkit.datamodel.BlackboardArtifact; import org.sleuthkit.datamodel.BlackboardArtifact.ARTIFACT_TYPE; import org.sleuthkit.datamodel.BlackboardAttribute; @@ -118,41 +112,6 @@ public class LuceneQuery implements KeywordSearchQuery { return results; } - @Override - public void execute() { - escape(); - - final Map> matches; - - try { - matches = performQuery(); - } catch (NoOpenCoreException ex) { - return; - } - - String pathText = "Keyword query: " + query; - - if (matches.isEmpty()) { - KeywordSearchUtil.displayDialog("Keyword Search", "No results for keyword: " + query, KeywordSearchUtil.DIALOG_MESSAGE_TYPE.INFO); - return; - } - - //map of unique fs hit and chunk id or 0 - LinkedHashMap fsMatches = ContentHit.flattenResults(matches); - - //get listname - String listName = ""; - - Node rootNode = new KeywordSearchNode(fsMatches, queryEscaped); - Node filteredRootNode = new TableFilterNode(rootNode, true); - - TopComponent searchResultWin = DataResultTopComponent.createInstance("Keyword search", pathText, filteredRootNode, matches.size()); - searchResultWin.requestActive(); // make it the active top component - - //write to bb - new ResultWriter(matches, this, listName).execute(); - - } @Override public boolean validate() { diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/TermComponentQuery.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/TermComponentQuery.java index caf6e0e811..104b4c0c03 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/TermComponentQuery.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/TermComponentQuery.java @@ -262,101 +262,5 @@ public class TermComponentQuery implements KeywordSearchQuery { return results; } - - @Override - public void execute() { - SolrQuery q = createQuery(); - - logger.log(Level.INFO, "Executing TermsComponent query: " + q.toString()); - - final SwingWorker, Void> worker = new TermsQueryWorker(q); - worker.execute(); - } - - /** - * map Terms to generic Nodes with key/value pairs properties - * @param terms - */ - private void publishNodes(List terms) { - - Collection things = new ArrayList(); - - Iterator it = terms.iterator(); - int termID = 0; - //long totalMatches = 0; - while (it.hasNext()) { - Term term = it.next(); - Map kvs = new LinkedHashMap(); - //long matches = term.getFrequency(); - final String match = term.getTerm(); - KeywordSearchResultFactory.setCommonProperty(kvs, KeywordSearchResultFactory.CommonPropertyTypes.MATCH, match); - //setCommonProperty(kvs, CommonPropertyTypes.MATCH_RANK, Long.toString(matches)); - //things.add(new KeyValue(match, kvs, ++termID)); - things.add(new KeyValueQuery(match, kvs, ++termID, this)); - //totalMatches += matches; - } - - Node rootNode = null; - if (things.size() > 0) { - Children childThingNodes = - Children.create(new KeywordSearchResultFactory(new Keyword(termsQuery, false), things, Presentation.DETAIL), true); - - rootNode = new AbstractNode(childThingNodes); - } else { - rootNode = Node.EMPTY; - } - - final String pathText = "Term query"; - // String pathText = "RegEx query: " + termsQuery - //+ " Files with exact matches: " + Long.toString(totalMatches) + " (also listing approximate matches)"; - - TopComponent searchResultWin = DataResultTopComponent.createInstance("Keyword search", pathText, rootNode, things.size()); - searchResultWin.requestActive(); // make it the active top component - - } - - class TermsQueryWorker extends SwingWorker, Void> { - - private SolrQuery q; - private ProgressHandle progress; - - TermsQueryWorker(SolrQuery q) { - this.q = q; - } - - @Override - protected List doInBackground() throws Exception { - progress = ProgressHandleFactory.createHandle("Terms query task"); - progress.start(); - progress.progress("Running Terms query."); - - terms = executeQuery(q); - - progress.progress("Terms query completed."); - - return terms; - } - - @Override - protected void done() { - if (!this.isCancelled()) { - try { - List terms = get(); - if (terms.isEmpty()) { - KeywordSearchUtil.displayDialog("Keyword Search", "No results for regex search: " + termsQuery, KeywordSearchUtil.DIALOG_MESSAGE_TYPE.INFO); - - } else { - publishNodes(terms); - } - } catch (InterruptedException e) { - logger.log(Level.INFO, "Exception while executing regex query,", e); - - } catch (ExecutionException e) { - logger.log(Level.INFO, "Exception while executing regex query,", e); - } finally { - progress.finish(); - } - } - } - } + }