diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownToolbar.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownToolbar.java index a1ce0a7425ac980362d0758c0d438aae55bfffb1..19f3801d3de81c0e80d04d7834ca9d1755cc5dc3 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownToolbar.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownToolbar.java @@ -159,41 +159,50 @@ public void propertyChange(PropertyChangeEvent evt) { String changed = evt.getPropertyName(); if (changed.equals(Case.Events.CURRENT_CASE.toString())) { if (null != evt.getNewValue()) { + boolean disableSearch = false; /* * A case has been opened. */ try { Server server = KeywordSearch.getServer(); - Index indexInfo = server.getIndexInfo(); - if (server.coreIsOpen() && IndexFinder.getCurrentSolrVersion().equals(indexInfo.getSolrVersion())) { - /* - * Solr version is current, so check the Solr - * schema version and selectively enable the ad - * hoc search UI components. - */ - boolean schemaIsCurrent = IndexFinder.getCurrentSchemaVersion().equals(indexInfo.getSchemaVersion()); - listsButton.setEnabled(schemaIsCurrent); - searchDropButton.setEnabled(true); - dropPanel.setRegexSearchEnabled(schemaIsCurrent); - active = true; - } else { - /* - * Unsupported Solr version, disable the ad hoc - * search UI components. - */ - searchDropButton.setEnabled(false); - listsButton.setEnabled(false); - active = false; + if (server.coreIsOpen() == false) { + disableSearch = true; + } + else { + Index indexInfo = server.getIndexInfo(); + if (IndexFinder.getCurrentSolrVersion().equals(indexInfo.getSolrVersion())) { + /* + * Solr version is current, so check the Solr + * schema version and selectively enable the ad + * hoc search UI components. + */ + boolean schemaIsCurrent = IndexFinder.getCurrentSchemaVersion().equals(indexInfo.getSchemaVersion()); + listsButton.setEnabled(schemaIsCurrent); + searchDropButton.setEnabled(true); + dropPanel.setRegexSearchEnabled(schemaIsCurrent); + active = true; + } else { + /* + * Unsupported Solr version, disable the ad hoc + * search UI components. + */ + disableSearch = true; + } } } catch (KeywordSearchModuleException ex) { /* * Error, disable the ad hoc search UI components. */ logger.log(Level.SEVERE, "Error getting text index info", ex); //NON-NLS + disableSearch = true; + } + + if (disableSearch) { searchDropButton.setEnabled(false); listsButton.setEnabled(false); active = false; } + } else { /* * A case has been closed. diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentViewer.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentViewer.java index a111bc877a0e568b2589727476a905761312831b..47c71a8213dc694157f3da3241055ccd611ea561 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentViewer.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentViewer.java @@ -327,6 +327,9 @@ private void setPanel(List<IndexedText> sources) { */ private boolean solrHasContent(Long objectId) { final Server solrServer = KeywordSearch.getServer(); + if (solrServer.coreIsOpen() == false) + return false; + try { return solrServer.queryIsIndexed(objectId); } catch (NoOpenCoreException | KeywordSearchModuleException ex) { diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/SolrSearchService.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/SolrSearchService.java index 8e7f89c6c5522fd5615e1f008841357871b862a2..63ee08c10c524c48317be2fc112faa781eb6d0aa 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/SolrSearchService.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/SolrSearchService.java @@ -179,7 +179,7 @@ public String getServiceName() { "SolrSearch.checkingForLatestIndex.msg=Looking for text index with latest Solr and schema version", "SolrSearch.indentifyingIndex.msg=Identifying text index for upgrade", "SolrSearch.copyIndex.msg=Copying existing text index", - "SolrSearch.openCore.msg=Creating/Opening text index", + "SolrSearch.openCore.msg=Opening text index", "SolrSearch.complete.msg=Text index successfully opened"}) public void openCaseResources(CaseContext context) throws AutopsyServiceException { ProgressIndicator progress = context.getProgressIndicator();