diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/QueryRequest.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AdHocQueryRequest.java similarity index 93% rename from KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/QueryRequest.java rename to KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AdHocQueryRequest.java index 739fe787e868aa487b7399ac4508e138e3829bab..b3a3ec463d33a5af5fda3035a44fcd8338e2fa8f 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/QueryRequest.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AdHocQueryRequest.java @@ -23,7 +23,7 @@ /** * Stores data about a search before it is done. */ -final class QueryRequest { +final class AdHocQueryRequest { private final KeywordSearchQuery query; private final String queryString; @@ -36,7 +36,7 @@ final class QueryRequest { * @param id ID that callers simply increment from 0 * @param query Query that will be performed. */ - QueryRequest(Map<String, Object> map, int id, KeywordSearchQuery query) { + AdHocQueryRequest(Map<String, Object> map, int id, KeywordSearchQuery query) { this.queryString = query.getEscapedQueryString(); this.queryProperties = map; this.query = query; diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchResultFactory.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AdHocSearchChildFactory.java similarity index 91% rename from KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchResultFactory.java rename to KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AdHocSearchChildFactory.java index 290fe8b08616214254d3a41806dd9cf26ac4ee79..4424ead2982a504677de107f150ce89d6262e574 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchResultFactory.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AdHocSearchChildFactory.java @@ -48,7 +48,7 @@ import org.sleuthkit.autopsy.datamodel.EmptyNode; import org.sleuthkit.autopsy.datamodel.KeyValue; import org.sleuthkit.autopsy.datamodel.KeyValueNode; -import org.sleuthkit.autopsy.keywordsearch.KeywordSearchResultFactory.KeyValueQueryContent; +import org.sleuthkit.autopsy.keywordsearch.AdHocSearchChildFactory.KeywordHitKey; import org.sleuthkit.datamodel.AbstractFile; import org.sleuthkit.datamodel.BlackboardArtifact; import org.sleuthkit.datamodel.BlackboardAttribute; @@ -66,9 +66,9 @@ * Responsible for assembling nodes and columns in the right way and performing * lazy queries as needed. */ -class KeywordSearchResultFactory extends ChildFactory<KeyValue> { +class AdHocSearchChildFactory extends ChildFactory<KeyValue> { - private static final Logger logger = Logger.getLogger(KeywordSearchResultFactory.class.getName()); + private static final Logger logger = Logger.getLogger(AdHocSearchChildFactory.class.getName()); //common properties (superset of all Node properties) to be displayed as columns static final List<String> COMMON_PROPERTIES @@ -82,9 +82,9 @@ class KeywordSearchResultFactory extends ChildFactory<KeyValue> { .map(Object::toString)) .collect(Collectors.toList()); - private final Collection<QueryRequest> queryRequests; + private final Collection<AdHocQueryRequest> queryRequests; - KeywordSearchResultFactory(Collection<QueryRequest> queryRequests) { + AdHocSearchChildFactory(Collection<AdHocQueryRequest> queryRequests) { this.queryRequests = queryRequests; } @@ -98,7 +98,7 @@ class KeywordSearchResultFactory extends ChildFactory<KeyValue> { @Override protected boolean createKeys(List<KeyValue> toPopulate) { - for (QueryRequest queryRequest : queryRequests) { + for (AdHocQueryRequest queryRequest : queryRequests) { /** * Check the validity of the requested query. */ @@ -155,7 +155,7 @@ private boolean createFlatKeys(KeywordSearchQuery queryRequest, List<KeyValue> t } int hitNumber = 0; - List<KeyValueQueryContent> tempList = new ArrayList<>(); + List<KeywordHitKey> tempList = new ArrayList<>(); for (KeywordHit hit : getOneHitPerObject(queryResults)) { /** @@ -203,7 +203,7 @@ private boolean createFlatKeys(KeywordSearchQuery queryRequest, List<KeyValue> t hitName = contentName; } hitNumber++; - tempList.add(new KeyValueQueryContent(hitName, properties, hitNumber, hit.getSolrObjectId(), content, artifact, queryRequest, queryResults)); + tempList.add(new KeywordHitKey(hitName, properties, hitNumber, hit.getSolrObjectId(), content, artifact, queryRequest, queryResults)); } @@ -253,8 +253,8 @@ Collection<KeywordHit> getOneHitPerObject(QueryResults queryResults) { protected Node createNodeForKey(KeyValue key) { Node resultNode; - if (key instanceof KeyValueQueryContent) { - AdHocQueryResult adHocQueryResult = new AdHocQueryResult((KeyValueQueryContent) key); + if (key instanceof KeywordHitKey) { + AdHocQueryResult adHocQueryResult = new AdHocQueryResult((KeywordHitKey) key); /** * Place the Content, Artifact and hit results into the lookup for @@ -262,17 +262,17 @@ protected Node createNodeForKey(KeyValue key) { */ ArrayList<Object> lookups = new ArrayList<>(); lookups.add(adHocQueryResult); - if (((KeyValueQueryContent) key).getContent() != null) { - lookups.add(((KeyValueQueryContent) key).getContent()); + if (((KeywordHitKey) key).getContent() != null) { + lookups.add(((KeywordHitKey) key).getContent()); } - if (((KeyValueQueryContent) key).getArtifact() != null) { - lookups.add(((KeyValueQueryContent) key).getArtifact()); + if (((KeywordHitKey) key).getArtifact() != null) { + lookups.add(((KeywordHitKey) key).getArtifact()); } Node kvNode = new KeyValueNode(key, Children.LEAF, Lookups.fixed(lookups.toArray())); //wrap in KeywordSearchFilterNode for the markup content, might need to override FilterNode for more customization - resultNode = new KeywordSearchFilterNode(kvNode); + resultNode = new AdHocSearchFilterNode(kvNode); } else { resultNode = new EmptyNode("This Node Is Empty"); resultNode.setDisplayName(NbBundle.getMessage(this.getClass(), "KeywordSearchResultFactory.createNodeForKey.noResultsFound.text")); @@ -298,7 +298,7 @@ final class AdHocQueryResult { * which the hit was found. * @param results The query results. */ - AdHocQueryResult(KeyValueQueryContent key) { + AdHocQueryResult(KeywordHitKey key) { this.solrObjectId = key.getSolrObjectId(); this.results = key.getHits(); } @@ -327,7 +327,7 @@ QueryResults getResults() { * Used to display keyword search results in table. Eventually turned into a * node. */ - class KeyValueQueryContent extends KeyValue { + class KeywordHitKey extends KeyValue { private final long solrObjectId; @@ -350,7 +350,7 @@ class KeyValueQueryContent extends KeyValue { * @param query Query used in search * @param hits Full set of search results (for all files! @@@) */ - KeyValueQueryContent(String name, Map<String, Object> map, int id, long solrObjectId, Content content, BlackboardArtifact artifact, KeywordSearchQuery query, QueryResults hits) { + KeywordHitKey(String name, Map<String, Object> map, int id, long solrObjectId, Content content, BlackboardArtifact artifact, KeywordSearchQuery query, QueryResults hits) { super(name, map, id); this.solrObjectId = solrObjectId; this.content = content; diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchQueryDelegator.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AdHocSearchDelegator.java similarity index 89% rename from KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchQueryDelegator.java rename to KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AdHocSearchDelegator.java index f2dfb53622b75249c1b6fc039703596937fbe921..9afb18e1001a67c0ffc168e9690a3a95efb07c6a 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchQueryDelegator.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AdHocSearchDelegator.java @@ -37,14 +37,14 @@ * Delegates the actual work to the various implementations of * KeywordSearchQuery. */ -class KeywordSearchQueryDelegator { +class AdHocSearchDelegator { - private List<KeywordList> keywordLists; + private final List<KeywordList> keywordLists; private List<KeywordSearchQuery> queryDelegates; private static int resultWindowCount = 0; //keep track of unique window ids to display - private static Logger logger = Logger.getLogger(KeywordSearchQueryDelegator.class.getName()); + private static final Logger logger = Logger.getLogger(AdHocSearchDelegator.class.getName()); - public KeywordSearchQueryDelegator(List<KeywordList> keywordLists) { + public AdHocSearchDelegator(List<KeywordList> keywordLists) { this.keywordLists = keywordLists; init(); } @@ -66,14 +66,14 @@ private void init() { * Post results into a new DataResultViewer. */ public void execute() { - Collection<QueryRequest> queryRequests = new ArrayList<>(); + Collection<AdHocQueryRequest> queryRequests = new ArrayList<>(); int queryID = 0; StringBuilder queryConcat = new StringBuilder(); // concatenation of all query strings for (KeywordSearchQuery q : queryDelegates) { Map<String, Object> kvs = new LinkedHashMap<>(); final String queryStr = q.getQueryString(); queryConcat.append(queryStr).append(" "); - queryRequests.add(new QueryRequest(kvs, ++queryID, q)); + queryRequests.add(new AdHocQueryRequest(kvs, ++queryID, q)); } String queryConcatStr = queryConcat.toString(); @@ -85,7 +85,7 @@ public void execute() { Node rootNode; if (queryRequests.size() > 0) { Children childNodes = - Children.create(new KeywordSearchResultFactory(queryRequests), true); + Children.create(new AdHocSearchChildFactory(queryRequests), true); rootNode = new AbstractNode(childNodes); } else { diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchFilterNode.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AdHocSearchFilterNode.java similarity index 95% rename from KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchFilterNode.java rename to KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AdHocSearchFilterNode.java index 6dc49ff484ff2597a76a1de354d807faddd40428..3177bbbbb47d27d39133dd61905f86ff36f6d836 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchFilterNode.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AdHocSearchFilterNode.java @@ -53,15 +53,17 @@ /** * FilterNode containing properties and actions for keyword search. + * + * Wraps the generic KeyValue node and customizes the property sheet and lookup */ -class KeywordSearchFilterNode extends FilterNode { +class AdHocSearchFilterNode extends FilterNode { /** * Instantiate a KeywordSearchFilterNode. * * @param original The original source node. */ - KeywordSearchFilterNode(Node original) { + AdHocSearchFilterNode(Node original) { super(original, null, new ProxyLookup(original.getLookup())); } @@ -116,7 +118,7 @@ private class GetPopupActionsContentVisitor extends ContentVisitor.Default<List< @Override public List<Action> visit(Report r) { List<Action> actionsList = new ArrayList<>(); - actionsList.add(new NewWindowViewAction(NbBundle.getMessage(this.getClass(), "KeywordSearchFilterNode.getFileActions.viewInNewWinActionLbl"), KeywordSearchFilterNode.this)); + actionsList.add(new NewWindowViewAction(NbBundle.getMessage(this.getClass(), "KeywordSearchFilterNode.getFileActions.viewInNewWinActionLbl"), AdHocSearchFilterNode.this)); actionsList.addAll(ContextMenuExtensionPoint.getActions()); return actionsList; @@ -161,7 +163,7 @@ public List<Action> visit(VirtualDirectory dir) { private List<Action> getFileActions(boolean enableHashSearch) { List<Action> actionsList = new ArrayList<>(); - actionsList.add(new NewWindowViewAction(NbBundle.getMessage(this.getClass(), "KeywordSearchFilterNode.getFileActions.viewInNewWinActionLbl"), KeywordSearchFilterNode.this)); + 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())); actionsList.add(null); actionsList.add(ExtractAction.getInstance()); diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchPanel.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AdHocSearchPanel.java similarity index 96% rename from KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchPanel.java rename to KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AdHocSearchPanel.java index 1e74bceefe7cea3d08e5e1358f5674f094f915c7..13798614c5319851e7ca4e9786cd2ae7cf9efb57 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchPanel.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AdHocSearchPanel.java @@ -30,12 +30,12 @@ * class and extended classes model the user's intentions, not necessarily how * the search manager and 3rd party tools actually perform the search. */ -abstract class KeywordSearchPanel extends javax.swing.JPanel { +abstract class AdHocSearchPanel extends javax.swing.JPanel { private final String keywordSearchErrorDialogHeader = org.openide.util.NbBundle.getMessage(this.getClass(), "AbstractKeywordSearchPerformer.search.dialogErrorHeader"); protected int filesIndexed; - KeywordSearchPanel() { + AdHocSearchPanel() { initListeners(); } @@ -110,7 +110,7 @@ public void search() { } } - KeywordSearchQueryDelegator man = null; + AdHocSearchDelegator man = null; final List<KeywordList> keywordLists = getKeywordLists(); if (keywordLists.isEmpty()) { @@ -119,7 +119,7 @@ public void search() { KeywordSearchUtil.DIALOG_MESSAGE_TYPE.ERROR); return; } - man = new KeywordSearchQueryDelegator(keywordLists); + man = new AdHocSearchDelegator(keywordLists); if (man.validate()) { man.execute(); diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownListSearchPanel.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownListSearchPanel.java index 40cc83cd9201fcde78eb9c18141f45353ea3a2bd..89e59cd2eb07225f76c61978711dd12d92afb9d0 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownListSearchPanel.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownListSearchPanel.java @@ -44,7 +44,8 @@ * Viewer panel widget for keyword lists that is used in the ingest config and * options area. */ -class DropdownListSearchPanel extends KeywordSearchPanel { +@SuppressWarnings("PMD.SingularField") // UI widgets cause lots of false positives +class DropdownListSearchPanel extends AdHocSearchPanel { private static final Logger logger = Logger.getLogger(DropdownListSearchPanel.class.getName()); private static DropdownListSearchPanel instance; @@ -131,7 +132,7 @@ public void propertyChange(PropertyChangeEvent evt) { @Override public void actionPerformed(ActionEvent e) { if (ingestRunning) { - SearchRunner.getInstance().addKeywordListsToAllJobs(listsTableModel.getSelectedLists()); + IngestSearchRunner.getInstance().addKeywordListsToAllJobs(listsTableModel.getSelectedLists()); logger.log(Level.INFO, "Submitted enqueued lists to ingest"); //NON-NLS } else { searchAction(e); diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownSingleTermSearchPanel.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownSingleTermSearchPanel.java index 7422f95b9fe14a00f11c2a540fa7ad11984e44bd..8dd9a20b0b30574f50057692af3af8c5c5c9e238 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownSingleTermSearchPanel.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownSingleTermSearchPanel.java @@ -43,7 +43,8 @@ * perform this task at the desired size, and neither could numerous other * fonts. */ -public class DropdownSingleTermSearchPanel extends KeywordSearchPanel { +@SuppressWarnings("PMD.SingularField") // UI widgets cause lots of false positives +public class DropdownSingleTermSearchPanel extends AdHocSearchPanel { private static final long serialVersionUID = 1L; private static final Logger LOGGER = Logger.getLogger(DropdownSingleTermSearchPanel.class.getName()); diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentViewer.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentViewer.java index 62a1837e4d15d26f77c6453096de7177e55c825c..9d3acafaf4681dcff7bfd8df7a3763910e5c14d1 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentViewer.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentViewer.java @@ -34,7 +34,7 @@ import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException; import org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer; import org.sleuthkit.autopsy.coreutils.Logger; -import org.sleuthkit.autopsy.keywordsearch.KeywordSearchResultFactory.AdHocQueryResult; +import org.sleuthkit.autopsy.keywordsearch.AdHocSearchChildFactory.AdHocQueryResult; import org.sleuthkit.datamodel.AbstractFile; import org.sleuthkit.datamodel.Account; import org.sleuthkit.datamodel.BlackboardArtifact; diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/SearchRunner.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/IngestSearchRunner.java similarity index 96% rename from KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/SearchRunner.java rename to KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/IngestSearchRunner.java index 396e95dc0da0f5f260ff08209c7d5a6f4b9eda49..70fd3ba370361e228894c3285edd29a3bfee5833 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/SearchRunner.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/IngestSearchRunner.java @@ -55,10 +55,10 @@ * Singleton keyword search manager: Launches search threads for each job and * performs commits, both on timed intervals. */ -final class SearchRunner { +final class IngestSearchRunner { - private static final Logger logger = Logger.getLogger(SearchRunner.class.getName()); - private static SearchRunner instance = null; + private static final Logger logger = Logger.getLogger(IngestSearchRunner.class.getName()); + private static IngestSearchRunner instance = null; private IngestServices services = IngestServices.getInstance(); private Ingester ingester = null; private long currentUpdateIntervalMs; @@ -71,7 +71,7 @@ final class SearchRunner { // maps a jobID to the search private Map<Long, SearchJobInfo> jobs = new ConcurrentHashMap<>(); - SearchRunner() { + IngestSearchRunner() { currentUpdateIntervalMs = ((long) KeywordSearchSettings.getUpdateFrequency().getTime()) * 60 * 1000; ingester = Ingester.getDefault(); jobProcessingExecutor = new ScheduledThreadPoolExecutor(NUM_SEARCH_SCHEDULING_THREADS, new ThreadFactoryBuilder().setNameFormat(SEARCH_SCHEDULER_THREAD_NAME).build()); @@ -81,9 +81,9 @@ final class SearchRunner { * * @return the singleton object */ - public static synchronized SearchRunner getInstance() { + public static synchronized IngestSearchRunner getInstance() { if (instance == null) { - instance = new SearchRunner(); + instance = new IngestSearchRunner(); } return instance; } @@ -167,7 +167,7 @@ public synchronized void stopJob(long jobId) { } //stop currentSearcher - SearchRunner.Searcher currentSearcher = job.getCurrentSearcher(); + IngestSearchRunner.Searcher currentSearcher = job.getCurrentSearcher(); if ((currentSearcher != null) && (!currentSearcher.isDone())) { logger.log(Level.INFO, "Cancelling search job {0}", jobId); //NON-NLS currentSearcher.cancel(true); @@ -229,7 +229,7 @@ private void doFinalSearch(SearchJobInfo job) { logger.log(Level.INFO, "Checking for previous search for search job {0} before executing final search", job.getJobId()); //NON-NLS job.waitForCurrentWorker(); - SearchRunner.Searcher finalSearcher = new SearchRunner.Searcher(job, true); + IngestSearchRunner.Searcher finalSearcher = new IngestSearchRunner.Searcher(job, true); job.setCurrentSearcher(finalSearcher); //save the ref logger.log(Level.INFO, "Kicking off final search for search job {0}", job.getJobId()); //NON-NLS finalSearcher.execute(); //start thread @@ -252,7 +252,7 @@ private void doFinalSearch(SearchJobInfo job) { */ private final class PeriodicSearchTask implements Runnable { - private final Logger logger = Logger.getLogger(SearchRunner.PeriodicSearchTask.class.getName()); + private final Logger logger = Logger.getLogger(IngestSearchRunner.PeriodicSearchTask.class.getName()); @Override public void run() { @@ -341,7 +341,7 @@ private class SearchJobInfo { // Map of keyword to the object ids that contain a hit private Map<Keyword, Set<Long>> currentResults; //guarded by SearchJobInfo.this - private SearchRunner.Searcher currentSearcher; + private IngestSearchRunner.Searcher currentSearcher; private AtomicLong moduleReferenceCount = new AtomicLong(0); private final Object finalSearchLock = new Object(); //used for a condition wait @@ -393,11 +393,11 @@ private void setWorkerRunning(boolean flag) { workerRunning = flag; } - private synchronized SearchRunner.Searcher getCurrentSearcher() { + private synchronized IngestSearchRunner.Searcher getCurrentSearcher() { return currentSearcher; } - private synchronized void setCurrentSearcher(SearchRunner.Searcher searchRunner) { + private synchronized void setCurrentSearcher(IngestSearchRunner.Searcher searchRunner) { currentSearcher = searchRunner; } @@ -453,7 +453,7 @@ private final class Searcher extends SwingWorker<Object, Void> { private List<KeywordList> keywordLists; private Map<Keyword, KeywordList> keywordToList; //keyword to list name mapping private AggregateProgressHandle progressGroup; - private final Logger logger = Logger.getLogger(SearchRunner.Searcher.class.getName()); + private final Logger logger = Logger.getLogger(IngestSearchRunner.Searcher.class.getName()); private boolean finalRun = false; Searcher(SearchJobInfo job) { @@ -483,7 +483,7 @@ public boolean cancel() { if (progressGroup != null) { progressGroup.setDisplayName(displayName + " " + NbBundle.getMessage(this.getClass(), "SearchRunner.doInBackGround.cancelMsg")); } - return SearchRunner.Searcher.this.cancel(true); + return IngestSearchRunner.Searcher.this.cancel(true); } }, null); diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchIngestModule.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchIngestModule.java index 83cdafb88a97eadcf2ca6a592c1e5d71028ce205..f9c06d34ade91d9b9d02dcd8329317b92952cf70 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchIngestModule.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchIngestModule.java @@ -288,7 +288,7 @@ public ProcessResult process(AbstractFile abstractFile) { return ProcessResult.OK; } List<String> keywordListNames = settings.getNamesOfEnabledKeyWordLists(); - SearchRunner.getInstance().startJob(context, keywordListNames); + IngestSearchRunner.getInstance().startJob(context, keywordListNames); startedSearching = true; } @@ -309,13 +309,13 @@ public void shutDown() { if (context.fileIngestIsCancelled()) { logger.log(Level.INFO, "Keyword search ingest module instance {0} stopping search job due to ingest cancellation", instanceNum); //NON-NLS - SearchRunner.getInstance().stopJob(jobId); + IngestSearchRunner.getInstance().stopJob(jobId); cleanup(); return; } // Remove from the search list and trigger final commit and final search - SearchRunner.getInstance().endJob(jobId); + IngestSearchRunner.getInstance().endJob(jobId); // We only need to post the summary msg from the last module per job if (refCounter.decrementAndGet(jobId) == 0) { diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/SolrSearchService.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/SolrSearchService.java index 3fea1a51eeeb4e98c61cab3515a392e15fe1e862..ec6542812de6f0477f6dfb4c36ecc32125b58706 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/SolrSearchService.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/SolrSearchService.java @@ -390,7 +390,7 @@ public void closeCaseResources(CaseContext context) throws AutopsyServiceExcepti * in less than roughly two seconds. This stuff should be reworked using * an ExecutorService and tasks with Futures. */ - KeywordSearchResultFactory.BlackboardResultWriter.stopAllWriters(); + AdHocSearchChildFactory.BlackboardResultWriter.stopAllWriters(); try { Thread.sleep(2000); } catch (InterruptedException ex) {