diff --git a/Core/nbproject/project.xml b/Core/nbproject/project.xml
index 2d905e7e49..d2328273c1 100644
--- a/Core/nbproject/project.xml
+++ b/Core/nbproject/project.xml
@@ -243,6 +243,7 @@
net.sf.sevenzipjbinding.simple
net.sf.sevenzipjbinding.simple.impl
org.sleuthkit.autopsy.actions
+ org.sleuthkit.autopsy.appservices
org.sleuthkit.autopsy.casemodule
org.sleuthkit.autopsy.casemodule.events
org.sleuthkit.autopsy.casemodule.services
@@ -254,17 +255,18 @@
org.sleuthkit.autopsy.corecomponents
org.sleuthkit.autopsy.coreutils
org.sleuthkit.autopsy.datamodel
+ org.sleuthkit.autopsy.datasourceprocessors
org.sleuthkit.autopsy.directorytree
org.sleuthkit.autopsy.events
org.sleuthkit.autopsy.externalresults
org.sleuthkit.autopsy.filesearch
- org.sleuthkit.autopsy.framework
org.sleuthkit.autopsy.ingest
org.sleuthkit.autopsy.keywordsearchservice
org.sleuthkit.autopsy.menuactions
org.sleuthkit.autopsy.modules.filetypeid
org.sleuthkit.autopsy.modules.hashdatabase
org.sleuthkit.autopsy.modules.vmextractor
+ org.sleuthkit.autopsy.progress
org.sleuthkit.autopsy.report
org.sleuthkit.datamodel
diff --git a/Core/src/org/sleuthkit/autopsy/framework/AutopsyService.java b/Core/src/org/sleuthkit/autopsy/appservices/AutopsyService.java
similarity index 98%
rename from Core/src/org/sleuthkit/autopsy/framework/AutopsyService.java
rename to Core/src/org/sleuthkit/autopsy/appservices/AutopsyService.java
index 2869b550f3..6e07fbe5fe 100644
--- a/Core/src/org/sleuthkit/autopsy/framework/AutopsyService.java
+++ b/Core/src/org/sleuthkit/autopsy/appservices/AutopsyService.java
@@ -16,9 +16,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.sleuthkit.autopsy.framework;
+package org.sleuthkit.autopsy.appservices;
import org.sleuthkit.autopsy.casemodule.Case;
+import org.sleuthkit.autopsy.progress.ProgressIndicator;
/**
* An interface for services that report status and may manage case and
diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/Case.java b/Core/src/org/sleuthkit/autopsy/casemodule/Case.java
index b76e4aca9e..e64a1e6341 100644
--- a/Core/src/org/sleuthkit/autopsy/casemodule/Case.java
+++ b/Core/src/org/sleuthkit/autopsy/casemodule/Case.java
@@ -92,11 +92,11 @@ import org.sleuthkit.autopsy.coreutils.Version;
import org.sleuthkit.autopsy.events.AutopsyEvent;
import org.sleuthkit.autopsy.events.AutopsyEventException;
import org.sleuthkit.autopsy.events.AutopsyEventPublisher;
-import org.sleuthkit.autopsy.framework.AutopsyService;
-import org.sleuthkit.autopsy.framework.AutopsyService.CaseContext;
-import org.sleuthkit.autopsy.framework.LoggingProgressIndicator;
-import org.sleuthkit.autopsy.framework.ModalDialogProgressIndicator;
-import org.sleuthkit.autopsy.framework.ProgressIndicator;
+import org.sleuthkit.autopsy.appservices.AutopsyService;
+import org.sleuthkit.autopsy.appservices.AutopsyService.CaseContext;
+import org.sleuthkit.autopsy.progress.LoggingProgressIndicator;
+import org.sleuthkit.autopsy.progress.ModalDialogProgressIndicator;
+import org.sleuthkit.autopsy.progress.ProgressIndicator;
import org.sleuthkit.autopsy.ingest.IngestJob;
import org.sleuthkit.autopsy.ingest.IngestManager;
import org.sleuthkit.autopsy.keywordsearchservice.KeywordSearchService;
@@ -463,7 +463,8 @@ public class Case {
* exception.
*/
@Messages({
- "Case.exceptionMessage.failedToReadMetadata=Failed to read case metadata."
+ "Case.exceptionMessage.failedToReadMetadata=Failed to read case metadata.",
+ "Case.exceptionMessage.cannotOpenMultiUserCaseNoSettings=Multi-user settings are missing (see Tools, Options, Multi-user tab), cannot open a multi-user case."
})
public static void openAsCurrentCase(String caseMetadataFilePath) throws CaseActionException {
CaseMetadata metadata;
@@ -472,6 +473,9 @@ public class Case {
} catch (CaseMetadataException ex) {
throw new CaseActionException(Bundle.Case_exceptionMessage_failedToReadMetadata(), ex);
}
+ if (CaseType.MULTI_USER_CASE == metadata.getCaseType() && !UserPreferences.getIsMultiUserModeEnabled()) {
+ throw new CaseActionException(Bundle.Case_exceptionMessage_cannotOpenMultiUserCaseNoSettings());
+ }
openAsCurrentCase(new Case(metadata), false);
}
diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/CaseActionCancelledException.java b/Core/src/org/sleuthkit/autopsy/casemodule/CaseActionCancelledException.java
index 042bfe912e..87635f40b9 100755
--- a/Core/src/org/sleuthkit/autopsy/casemodule/CaseActionCancelledException.java
+++ b/Core/src/org/sleuthkit/autopsy/casemodule/CaseActionCancelledException.java
@@ -22,7 +22,7 @@ package org.sleuthkit.autopsy.casemodule;
* Exception thrown when a case action (e.g., create, open, close, delete) is
* cancelled before it is completed.
*/
-class CaseActionCancelledException extends CaseActionException {
+public final class CaseActionCancelledException extends CaseActionException {
private static final long serialVersionUID = 1L;
diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java b/Core/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java
index 983cbd9149..533cab58c5 100644
--- a/Core/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java
+++ b/Core/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java
@@ -115,19 +115,9 @@ public final class CaseOpenAction extends CallableSystemAction implements Action
protected void done() {
try {
get();
- } catch (InterruptedException ex) {
- logger.log(Level.SEVERE, String.format("Error opening case with metadata file path %s", path), ex); //NON-NLS
- WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
- JOptionPane.showMessageDialog(
- WindowManager.getDefault().getMainWindow(),
- ex.getMessage(),
- NbBundle.getMessage(this.getClass(), "CaseOpenAction.msgDlg.cantOpenCase.title"), //NON-NLS
- JOptionPane.ERROR_MESSAGE);
- StartupWindowProvider.getInstance().open();
- } catch (ExecutionException ex) {
- if (null != ex.getCause() && !(ex.getCause() instanceof CaseActionCancelledException)) {
+ } catch (InterruptedException | ExecutionException ex) {
+ if (ex instanceof InterruptedException || (null != ex.getCause() && !(ex.getCause() instanceof CaseActionCancelledException))) {
logger.log(Level.SEVERE, String.format("Error opening case with metadata file path %s", path), ex); //NON-NLS
- WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
JOptionPane.showMessageDialog(
WindowManager.getDefault().getMainWindow(),
ex.getCause().getMessage(), //get the message of the wrapped exception
@@ -135,8 +125,9 @@ public final class CaseOpenAction extends CallableSystemAction implements Action
JOptionPane.ERROR_MESSAGE);
}
StartupWindowProvider.getInstance().open();
+ } finally {
+ WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
}
- WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
}
}.execute();
}
diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/ImageDSProcessor.java b/Core/src/org/sleuthkit/autopsy/casemodule/ImageDSProcessor.java
index 36abbd307a..6a48384416 100644
--- a/Core/src/org/sleuthkit/autopsy/casemodule/ImageDSProcessor.java
+++ b/Core/src/org/sleuthkit/autopsy/casemodule/ImageDSProcessor.java
@@ -33,7 +33,7 @@ import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessorProgress
import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessorCallback;
import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor;
import org.sleuthkit.autopsy.coreutils.DataSourceUtils;
-import org.sleuthkit.autopsy.framework.AutoIngestDataSourceProcessor;
+import org.sleuthkit.autopsy.datasourceprocessors.AutoIngestDataSourceProcessor;
/**
* A image file data source processor that implements the DataSourceProcessor
diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskDSProcessor.java b/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskDSProcessor.java
index f19ad01af1..26185cb9ba 100644
--- a/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskDSProcessor.java
+++ b/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskDSProcessor.java
@@ -31,7 +31,7 @@ import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessorProgress
import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor;
import org.sleuthkit.autopsy.coreutils.DriveUtils;
import org.sleuthkit.autopsy.imagewriter.ImageWriterSettings;
-import org.sleuthkit.autopsy.framework.AutoIngestDataSourceProcessor;
+import org.sleuthkit.autopsy.datasourceprocessors.AutoIngestDataSourceProcessor;
/**
* A local drive data source processor that implements the DataSourceProcessor
diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/LocalFilesDSProcessor.java b/Core/src/org/sleuthkit/autopsy/casemodule/LocalFilesDSProcessor.java
index e207734714..974244bd30 100644
--- a/Core/src/org/sleuthkit/autopsy/casemodule/LocalFilesDSProcessor.java
+++ b/Core/src/org/sleuthkit/autopsy/casemodule/LocalFilesDSProcessor.java
@@ -29,7 +29,7 @@ import org.openide.util.lookup.ServiceProviders;
import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessorCallback;
import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessorProgressMonitor;
import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor;
-import org.sleuthkit.autopsy.framework.AutoIngestDataSourceProcessor;
+import org.sleuthkit.autopsy.datasourceprocessors.AutoIngestDataSourceProcessor;
/**
* A local/logical files and/or directories data source processor that
diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/OpenRecentCasePanel.java b/Core/src/org/sleuthkit/autopsy/casemodule/OpenRecentCasePanel.java
index 562579258f..ba1d1d31cf 100644
--- a/Core/src/org/sleuthkit/autopsy/casemodule/OpenRecentCasePanel.java
+++ b/Core/src/org/sleuthkit/autopsy/casemodule/OpenRecentCasePanel.java
@@ -100,9 +100,9 @@ class OpenRecentCasePanel extends javax.swing.JPanel {
if (casePaths.length < 1) {
return;
}
- final String casePath = casePaths[imagesTable.getSelectedRow()];
+ final String caseMetadataFilePath = casePaths[imagesTable.getSelectedRow()];
final String caseName = caseNames[imagesTable.getSelectedRow()];
- if (!casePath.isEmpty()) {
+ if (!caseMetadataFilePath.isEmpty()) {
try {
StartupWindowProvider.getInstance().close();
CueBannerPanel.closeOpenRecentCasesWindow();
@@ -113,25 +113,25 @@ class OpenRecentCasePanel extends javax.swing.JPanel {
/*
* Open the case.
*/
- if (caseName.isEmpty() || casePath.isEmpty() || (!new File(casePath).exists())) {
+ if (caseName.isEmpty() || caseMetadataFilePath.isEmpty() || (!new File(caseMetadataFilePath).exists())) {
JOptionPane.showMessageDialog(WindowManager.getDefault().getMainWindow(),
NbBundle.getMessage(this.getClass(), "RecentItems.openRecentCase.msgDlg.text", caseName),
NbBundle.getMessage(this.getClass(), "CaseOpenAction.msgDlg.cantOpenCase.title"),
JOptionPane.ERROR_MESSAGE);
- RecentCases.getInstance().removeRecentCase(caseName, casePath); // remove the recent case if it doesn't exist anymore
+ RecentCases.getInstance().removeRecentCase(caseName, caseMetadataFilePath); // remove the recent case if it doesn't exist anymore
StartupWindowProvider.getInstance().open();
} else {
new Thread(() -> {
try {
- Case.openAsCurrentCase(casePath);
+ Case.openAsCurrentCase(caseMetadataFilePath);
} catch (CaseActionException ex) {
SwingUtilities.invokeLater(() -> {
- if (null != ex.getCause() && !(ex.getCause() instanceof CaseActionCancelledException)) {
- logger.log(Level.SEVERE, String.format("Error opening case with metadata file path %s", casePath), ex); //NON-NLS
+ if (!(ex instanceof CaseActionCancelledException)) {
+ logger.log(Level.SEVERE, String.format("Error opening case with metadata file path %s", caseMetadataFilePath), ex); //NON-NLS
JOptionPane.showMessageDialog(
WindowManager.getDefault().getMainWindow(),
- ex.getMessage(), // Should be user-friendly
- NbBundle.getMessage(this.getClass(), "CaseOpenAction.msgDlg.cantOpenCase.title"), //NON-NLS
+ ex.getMessage(),
+ NbBundle.getMessage(OpenRecentCasePanel.this.getClass(), "CaseOpenAction.msgDlg.cantOpenCase.title"), //NON-NLS
JOptionPane.ERROR_MESSAGE);
}
StartupWindowProvider.getInstance().open();
diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/RecentItems.java b/Core/src/org/sleuthkit/autopsy/casemodule/RecentItems.java
index b60cb3e800..5237c90487 100644
--- a/Core/src/org/sleuthkit/autopsy/casemodule/RecentItems.java
+++ b/Core/src/org/sleuthkit/autopsy/casemodule/RecentItems.java
@@ -64,9 +64,10 @@ class RecentItems implements ActionListener {
new Thread(() -> {
try {
Case.openAsCurrentCase(caseMetaDataFilePath);
+ StartupWindowProvider.getInstance().close();
} catch (CaseActionException ex) {
SwingUtilities.invokeLater(() -> {
- if (null != ex.getCause() && !(ex.getCause() instanceof CaseActionCancelledException)) {
+ if (!(ex instanceof CaseActionCancelledException)) {
logger.log(Level.SEVERE, String.format("Error opening case with metadata file path %s", caseMetaDataFilePath), ex); //NON-NLS
JOptionPane.showMessageDialog(
WindowManager.getDefault().getMainWindow(),
@@ -77,8 +78,7 @@ class RecentItems implements ActionListener {
StartupWindowProvider.getInstance().open();
});
}
- }).
- start();
+ }).start();
}
}
}
diff --git a/Core/src/org/sleuthkit/autopsy/framework/AutoIngestDataSourceProcessor.java b/Core/src/org/sleuthkit/autopsy/datasourceprocessors/AutoIngestDataSourceProcessor.java
similarity index 98%
rename from Core/src/org/sleuthkit/autopsy/framework/AutoIngestDataSourceProcessor.java
rename to Core/src/org/sleuthkit/autopsy/datasourceprocessors/AutoIngestDataSourceProcessor.java
index e4acab8234..11c0559795 100644
--- a/Core/src/org/sleuthkit/autopsy/framework/AutoIngestDataSourceProcessor.java
+++ b/Core/src/org/sleuthkit/autopsy/datasourceprocessors/AutoIngestDataSourceProcessor.java
@@ -16,7 +16,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.sleuthkit.autopsy.framework;
+package org.sleuthkit.autopsy.datasourceprocessors;
import java.nio.file.Path;
import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor;
diff --git a/Core/src/org/sleuthkit/autopsy/imagewriter/ImageWriterService.java b/Core/src/org/sleuthkit/autopsy/imagewriter/ImageWriterService.java
index cf6f042292..a3853f0b31 100644
--- a/Core/src/org/sleuthkit/autopsy/imagewriter/ImageWriterService.java
+++ b/Core/src/org/sleuthkit/autopsy/imagewriter/ImageWriterService.java
@@ -25,7 +25,7 @@ import org.openide.DialogDisplayer;
import org.openide.NotifyDescriptor;
import org.openide.util.NbBundle;
import org.openide.util.lookup.ServiceProvider;
-import org.sleuthkit.autopsy.framework.AutopsyService;
+import org.sleuthkit.autopsy.appservices.AutopsyService;
/**
* Creates and handles closing of ImageWriter objects. Currently, ImageWriter is
diff --git a/Core/src/org/sleuthkit/autopsy/framework/Bundle.properties b/Core/src/org/sleuthkit/autopsy/progress/Bundle.properties
similarity index 100%
rename from Core/src/org/sleuthkit/autopsy/framework/Bundle.properties
rename to Core/src/org/sleuthkit/autopsy/progress/Bundle.properties
diff --git a/Core/src/org/sleuthkit/autopsy/framework/LoggingProgressIndicator.java b/Core/src/org/sleuthkit/autopsy/progress/LoggingProgressIndicator.java
similarity index 98%
rename from Core/src/org/sleuthkit/autopsy/framework/LoggingProgressIndicator.java
rename to Core/src/org/sleuthkit/autopsy/progress/LoggingProgressIndicator.java
index 83e7db95e0..6ae7ebdb2d 100644
--- a/Core/src/org/sleuthkit/autopsy/framework/LoggingProgressIndicator.java
+++ b/Core/src/org/sleuthkit/autopsy/progress/LoggingProgressIndicator.java
@@ -16,7 +16,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.sleuthkit.autopsy.framework;
+package org.sleuthkit.autopsy.progress;
import java.util.logging.Level;
import org.sleuthkit.autopsy.coreutils.Logger;
diff --git a/Core/src/org/sleuthkit/autopsy/framework/ModalDialogProgressIndicator.java b/Core/src/org/sleuthkit/autopsy/progress/ModalDialogProgressIndicator.java
similarity index 99%
rename from Core/src/org/sleuthkit/autopsy/framework/ModalDialogProgressIndicator.java
rename to Core/src/org/sleuthkit/autopsy/progress/ModalDialogProgressIndicator.java
index a7dcfa5503..d49574bf24 100644
--- a/Core/src/org/sleuthkit/autopsy/framework/ModalDialogProgressIndicator.java
+++ b/Core/src/org/sleuthkit/autopsy/progress/ModalDialogProgressIndicator.java
@@ -16,7 +16,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.sleuthkit.autopsy.framework;
+package org.sleuthkit.autopsy.progress;
import java.awt.Dialog;
import java.awt.Frame;
diff --git a/Core/src/org/sleuthkit/autopsy/framework/ProgressIndicator.java b/Core/src/org/sleuthkit/autopsy/progress/ProgressIndicator.java
similarity index 98%
rename from Core/src/org/sleuthkit/autopsy/framework/ProgressIndicator.java
rename to Core/src/org/sleuthkit/autopsy/progress/ProgressIndicator.java
index 6f91dd3231..8e5b881182 100644
--- a/Core/src/org/sleuthkit/autopsy/framework/ProgressIndicator.java
+++ b/Core/src/org/sleuthkit/autopsy/progress/ProgressIndicator.java
@@ -16,7 +16,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.sleuthkit.autopsy.framework;
+package org.sleuthkit.autopsy.progress;
/**
* An interface for progress indicators. A progress indicator can run in
diff --git a/Core/src/org/sleuthkit/autopsy/framework/ProgressPanel.form b/Core/src/org/sleuthkit/autopsy/progress/ProgressPanel.form
similarity index 91%
rename from Core/src/org/sleuthkit/autopsy/framework/ProgressPanel.form
rename to Core/src/org/sleuthkit/autopsy/progress/ProgressPanel.form
index 59678117af..75597eef34 100644
--- a/Core/src/org/sleuthkit/autopsy/framework/ProgressPanel.form
+++ b/Core/src/org/sleuthkit/autopsy/progress/ProgressPanel.form
@@ -42,7 +42,7 @@
-
+
diff --git a/Core/src/org/sleuthkit/autopsy/framework/ProgressPanel.java b/Core/src/org/sleuthkit/autopsy/progress/ProgressPanel.java
similarity index 98%
rename from Core/src/org/sleuthkit/autopsy/framework/ProgressPanel.java
rename to Core/src/org/sleuthkit/autopsy/progress/ProgressPanel.java
index 4130eb4852..b918d1f9f0 100644
--- a/Core/src/org/sleuthkit/autopsy/framework/ProgressPanel.java
+++ b/Core/src/org/sleuthkit/autopsy/progress/ProgressPanel.java
@@ -16,7 +16,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.sleuthkit.autopsy.framework;
+package org.sleuthkit.autopsy.progress;
/**
* A progress panel consisting of a message label and a progress bar.
diff --git a/Core/src/org/sleuthkit/autopsy/framework/SilentProgressIndicator.java b/Core/src/org/sleuthkit/autopsy/progress/SilentProgressIndicator.java
similarity index 93%
rename from Core/src/org/sleuthkit/autopsy/framework/SilentProgressIndicator.java
rename to Core/src/org/sleuthkit/autopsy/progress/SilentProgressIndicator.java
index b7b03b8c44..c7ed9c671c 100644
--- a/Core/src/org/sleuthkit/autopsy/framework/SilentProgressIndicator.java
+++ b/Core/src/org/sleuthkit/autopsy/progress/SilentProgressIndicator.java
@@ -16,9 +16,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.sleuthkit.autopsy.framework;
+package org.sleuthkit.autopsy.progress;
-import org.sleuthkit.autopsy.framework.ProgressIndicator;
+import org.sleuthkit.autopsy.progress.ProgressIndicator;
/**
* A "silent" or "null" progress indicator.
diff --git a/Core/src/org/sleuthkit/autopsy/test/TestAutopsyService.java b/Core/src/org/sleuthkit/autopsy/test/TestAutopsyService.java
index f3e30a6b63..4fb2997691 100644
--- a/Core/src/org/sleuthkit/autopsy/test/TestAutopsyService.java
+++ b/Core/src/org/sleuthkit/autopsy/test/TestAutopsyService.java
@@ -21,8 +21,8 @@ package org.sleuthkit.autopsy.test;
import java.util.logging.Level;
import org.openide.util.lookup.ServiceProvider;
import org.sleuthkit.autopsy.coreutils.Logger;
-import org.sleuthkit.autopsy.framework.AutopsyService;
-import org.sleuthkit.autopsy.framework.ProgressIndicator;
+import org.sleuthkit.autopsy.appservices.AutopsyService;
+import org.sleuthkit.autopsy.progress.ProgressIndicator;
/**
* An implementation of the Autopsy service interface used for test purposes.
diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.java
index 20d2a989cb..9c44f701cd 100644
--- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.java
+++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestCasePanel.java
@@ -39,7 +39,9 @@ import javax.swing.SwingWorker;
import javax.swing.event.ListSelectionEvent;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
+import org.openide.util.NbBundle;
import org.openide.windows.WindowManager;
+import org.sleuthkit.autopsy.casemodule.CaseActionCancelledException;
import org.sleuthkit.autopsy.casemodule.CaseMetadata;
import org.sleuthkit.autopsy.casemodule.StartupWindowProvider;
import org.sleuthkit.autopsy.coreutils.Logger;
@@ -295,18 +297,16 @@ public final class AutoIngestCasePanel extends JPanel {
protected void done() {
try {
get();
- } catch (InterruptedException ex) {
- logger.log(Level.SEVERE, String.format("Error while opening case with case metadata file path %s", caseMetadataFilePath), ex);
- JOptionPane.showMessageDialog(WindowManager.getDefault().getMainWindow(),
- ex.getMessage(),
- org.openide.util.NbBundle.getMessage(AutoIngestCasePanel.class, "ReviewModeCasePanel.cannotOpenCase"),
- JOptionPane.ERROR_MESSAGE);
- } catch (ExecutionException ex) {
- logger.log(Level.SEVERE, String.format("Error while opening case with case metadata file path %s", caseMetadataFilePath), ex);
- JOptionPane.showMessageDialog(WindowManager.getDefault().getMainWindow(),
- ex.getCause().getMessage(),
- org.openide.util.NbBundle.getMessage(AutoIngestCasePanel.class, "ReviewModeCasePanel.cannotOpenCase"),
- JOptionPane.ERROR_MESSAGE);
+ } catch (InterruptedException | ExecutionException ex) {
+ if (null != ex.getCause() && !(ex.getCause() instanceof CaseActionCancelledException)) {
+ logger.log(Level.SEVERE, String.format("Error opening case with metadata file path %s", caseMetadataFilePath), ex); //NON-NLS
+ JOptionPane.showMessageDialog(
+ WindowManager.getDefault().getMainWindow(),
+ ex.getCause().getMessage(), //get the message of the wrapped exception
+ NbBundle.getMessage(this.getClass(), "CaseOpenAction.msgDlg.cantOpenCase.title"), //NON-NLS
+ JOptionPane.ERROR_MESSAGE);
+ }
+ StartupWindowProvider.getInstance().open();
} finally {
setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
}
diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestManager.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestManager.java
index 900a5a603b..d92e8d2dbe 100644
--- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestManager.java
+++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestManager.java
@@ -92,8 +92,8 @@ import static org.sleuthkit.autopsy.experimental.autoingest.ManifestNodeData.Pro
import org.sleuthkit.autopsy.experimental.configuration.AutoIngestUserPreferences;
import org.sleuthkit.autopsy.experimental.configuration.SharedConfiguration;
import org.sleuthkit.autopsy.experimental.configuration.SharedConfiguration.SharedConfigurationException;
-import org.sleuthkit.autopsy.framework.AutoIngestDataSourceProcessor;
-import org.sleuthkit.autopsy.framework.AutoIngestDataSourceProcessor.AutoIngestDataSourceProcessorException;
+import org.sleuthkit.autopsy.datasourceprocessors.AutoIngestDataSourceProcessor;
+import org.sleuthkit.autopsy.datasourceprocessors.AutoIngestDataSourceProcessor.AutoIngestDataSourceProcessorException;
import org.sleuthkit.autopsy.ingest.IngestJob;
import org.sleuthkit.autopsy.ingest.IngestJob.CancellationReason;
import org.sleuthkit.autopsy.ingest.IngestJobSettings;
diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutopsyManifestFileParser.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutopsyManifestFileParser.java
index 5b7fc5e3c9..f25182b018 100644
--- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutopsyManifestFileParser.java
+++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutopsyManifestFileParser.java
@@ -42,7 +42,7 @@ public final class AutopsyManifestFileParser implements ManifestFileParser {
private static final String ROOT_ELEM_TAG_NAME = "AutopsyManifest";
private static final String CASE_NAME_XPATH = "/AutopsyManifest/CaseName/text()";
private static final String DEVICE_ID_XPATH = "/AutopsyManifest/DeviceId/text()";
- private static final String DATA_SOURCE_NAME_XPATH = "/AutopsyManifest/DataSourcePath/text()";
+ private static final String DATA_SOURCE_NAME_XPATH = "/AutopsyManifest/DataSource/text()";
@Override
public boolean fileIsManifest(Path filePath) {
diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/IndexFinder.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/IndexFinder.java
index 6ecf83bdce..b4a09e226e 100644
--- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/IndexFinder.java
+++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/IndexFinder.java
@@ -27,7 +27,7 @@ import java.util.List;
import org.apache.commons.lang.math.NumberUtils;
import org.sleuthkit.autopsy.casemodule.Case;
import org.sleuthkit.autopsy.coreutils.Logger;
-import org.sleuthkit.autopsy.framework.AutopsyService;
+import org.sleuthkit.autopsy.appservices.AutopsyService;
/**
* This class handles the task of finding and identifying KWS index folders.
diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/SolrSearchService.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/SolrSearchService.java
index d54ff86062..eee3ac4dad 100644
--- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/SolrSearchService.java
+++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/SolrSearchService.java
@@ -40,8 +40,8 @@ import org.sleuthkit.autopsy.casemodule.CaseMetadata;
import org.sleuthkit.autopsy.core.RuntimeProperties;
import org.sleuthkit.autopsy.coreutils.FileUtil;
import org.sleuthkit.autopsy.coreutils.Logger;
-import org.sleuthkit.autopsy.framework.AutopsyService;
-import org.sleuthkit.autopsy.framework.ProgressIndicator;
+import org.sleuthkit.autopsy.appservices.AutopsyService;
+import org.sleuthkit.autopsy.progress.ProgressIndicator;
import org.sleuthkit.autopsy.keywordsearchservice.KeywordSearchService;
import org.sleuthkit.autopsy.keywordsearchservice.KeywordSearchServiceException;
import org.sleuthkit.datamodel.BlackboardArtifact;