improved checks for availability of eamdb and related resources

This commit is contained in:
Brian Sweeney 2018-08-08 21:59:30 -06:00
parent a7738ce0bf
commit 06b6e1a89f
2 changed files with 18 additions and 6 deletions

View File

@ -87,8 +87,12 @@ public final class CommonAttributePanel extends javax.swing.JDialog {
private static boolean isEamDbAvailable() {
try {
EamDb DbManager = EamDb.getInstance();
return DbManager != null;
return (EamDb.isEnabled() &&
EamDb.getInstance() != null &&
EamDb.getInstance().getCases().size() > 1 &&
Case.isCaseOpen() &&
Case.getCurrentCase() != null &&
EamDb.getInstance().getCase(Case.getCurrentCase()) != null);
} catch (EamDbException ex) {
LOGGER.log(Level.SEVERE, "Unexpected exception while checking for EamDB enabled.", ex);
}
@ -331,7 +335,7 @@ public final class CommonAttributePanel extends javax.swing.JDialog {
}
}
private Map<Integer, String> mapDataSources(List<CorrelationCase> cases) throws Exception {
private Map<Integer, String> mapDataSources(List<CorrelationCase> cases) throws EamDbException {
Map<Integer, String> casemap = new HashMap<>();
CorrelationCase currentCorCase = EamDb.getInstance().getCase(Case.getCurrentCase());
for (CorrelationCase correlationCase : cases) {

View File

@ -48,9 +48,17 @@ final public class CommonFilesSearchAction extends CallableSystemAction {
public boolean isEnabled(){
boolean shouldBeEnabled = false;
try {
shouldBeEnabled = Case.isCaseOpen()
&& Case.getCurrentCase().getDataSources().size() > 1
|| (EamDb.isEnabled() && EamDb.getInstance().getCases().size() > 1);
//dont refactor any of this to pull out common expressions - order of evaluation of each expression is significant
shouldBeEnabled =
(Case.isCaseOpen() &&
Case.getCurrentCase().getDataSources().size() > 1)
||
(EamDb.isEnabled() &&
EamDb.getInstance() != null &&
EamDb.getInstance().getCases().size() > 1 &&
Case.isCaseOpen() &&
Case.getCurrentCase() != null &&
EamDb.getInstance().getCase(Case.getCurrentCase()) != null);
} catch(TskCoreException ex) {
LOGGER.log(Level.SEVERE, "Error getting data sources for action enabled check", ex);