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;