mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-15 09:17:42 +00:00
Merge pull request #2780 from sleuthkit/release-4.4.0
Release 4.4.0 branch merge
This commit is contained in:
commit
a31feb6fb4
@ -243,6 +243,7 @@
|
|||||||
<package>net.sf.sevenzipjbinding.simple</package>
|
<package>net.sf.sevenzipjbinding.simple</package>
|
||||||
<package>net.sf.sevenzipjbinding.simple.impl</package>
|
<package>net.sf.sevenzipjbinding.simple.impl</package>
|
||||||
<package>org.sleuthkit.autopsy.actions</package>
|
<package>org.sleuthkit.autopsy.actions</package>
|
||||||
|
<package>org.sleuthkit.autopsy.appservices</package>
|
||||||
<package>org.sleuthkit.autopsy.casemodule</package>
|
<package>org.sleuthkit.autopsy.casemodule</package>
|
||||||
<package>org.sleuthkit.autopsy.casemodule.events</package>
|
<package>org.sleuthkit.autopsy.casemodule.events</package>
|
||||||
<package>org.sleuthkit.autopsy.casemodule.services</package>
|
<package>org.sleuthkit.autopsy.casemodule.services</package>
|
||||||
@ -254,17 +255,18 @@
|
|||||||
<package>org.sleuthkit.autopsy.corecomponents</package>
|
<package>org.sleuthkit.autopsy.corecomponents</package>
|
||||||
<package>org.sleuthkit.autopsy.coreutils</package>
|
<package>org.sleuthkit.autopsy.coreutils</package>
|
||||||
<package>org.sleuthkit.autopsy.datamodel</package>
|
<package>org.sleuthkit.autopsy.datamodel</package>
|
||||||
|
<package>org.sleuthkit.autopsy.datasourceprocessors</package>
|
||||||
<package>org.sleuthkit.autopsy.directorytree</package>
|
<package>org.sleuthkit.autopsy.directorytree</package>
|
||||||
<package>org.sleuthkit.autopsy.events</package>
|
<package>org.sleuthkit.autopsy.events</package>
|
||||||
<package>org.sleuthkit.autopsy.externalresults</package>
|
<package>org.sleuthkit.autopsy.externalresults</package>
|
||||||
<package>org.sleuthkit.autopsy.filesearch</package>
|
<package>org.sleuthkit.autopsy.filesearch</package>
|
||||||
<package>org.sleuthkit.autopsy.framework</package>
|
|
||||||
<package>org.sleuthkit.autopsy.ingest</package>
|
<package>org.sleuthkit.autopsy.ingest</package>
|
||||||
<package>org.sleuthkit.autopsy.keywordsearchservice</package>
|
<package>org.sleuthkit.autopsy.keywordsearchservice</package>
|
||||||
<package>org.sleuthkit.autopsy.menuactions</package>
|
<package>org.sleuthkit.autopsy.menuactions</package>
|
||||||
<package>org.sleuthkit.autopsy.modules.filetypeid</package>
|
<package>org.sleuthkit.autopsy.modules.filetypeid</package>
|
||||||
<package>org.sleuthkit.autopsy.modules.hashdatabase</package>
|
<package>org.sleuthkit.autopsy.modules.hashdatabase</package>
|
||||||
<package>org.sleuthkit.autopsy.modules.vmextractor</package>
|
<package>org.sleuthkit.autopsy.modules.vmextractor</package>
|
||||||
|
<package>org.sleuthkit.autopsy.progress</package>
|
||||||
<package>org.sleuthkit.autopsy.report</package>
|
<package>org.sleuthkit.autopsy.report</package>
|
||||||
<package>org.sleuthkit.datamodel</package>
|
<package>org.sleuthkit.datamodel</package>
|
||||||
</public-packages>
|
</public-packages>
|
||||||
|
@ -16,9 +16,10 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package org.sleuthkit.autopsy.framework;
|
package org.sleuthkit.autopsy.appservices;
|
||||||
|
|
||||||
import org.sleuthkit.autopsy.casemodule.Case;
|
import org.sleuthkit.autopsy.casemodule.Case;
|
||||||
|
import org.sleuthkit.autopsy.progress.ProgressIndicator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An interface for services that report status and may manage case and
|
* An interface for services that report status and may manage case and
|
@ -92,11 +92,11 @@ import org.sleuthkit.autopsy.coreutils.Version;
|
|||||||
import org.sleuthkit.autopsy.events.AutopsyEvent;
|
import org.sleuthkit.autopsy.events.AutopsyEvent;
|
||||||
import org.sleuthkit.autopsy.events.AutopsyEventException;
|
import org.sleuthkit.autopsy.events.AutopsyEventException;
|
||||||
import org.sleuthkit.autopsy.events.AutopsyEventPublisher;
|
import org.sleuthkit.autopsy.events.AutopsyEventPublisher;
|
||||||
import org.sleuthkit.autopsy.framework.AutopsyService;
|
import org.sleuthkit.autopsy.appservices.AutopsyService;
|
||||||
import org.sleuthkit.autopsy.framework.AutopsyService.CaseContext;
|
import org.sleuthkit.autopsy.appservices.AutopsyService.CaseContext;
|
||||||
import org.sleuthkit.autopsy.framework.LoggingProgressIndicator;
|
import org.sleuthkit.autopsy.progress.LoggingProgressIndicator;
|
||||||
import org.sleuthkit.autopsy.framework.ModalDialogProgressIndicator;
|
import org.sleuthkit.autopsy.progress.ModalDialogProgressIndicator;
|
||||||
import org.sleuthkit.autopsy.framework.ProgressIndicator;
|
import org.sleuthkit.autopsy.progress.ProgressIndicator;
|
||||||
import org.sleuthkit.autopsy.ingest.IngestJob;
|
import org.sleuthkit.autopsy.ingest.IngestJob;
|
||||||
import org.sleuthkit.autopsy.ingest.IngestManager;
|
import org.sleuthkit.autopsy.ingest.IngestManager;
|
||||||
import org.sleuthkit.autopsy.keywordsearchservice.KeywordSearchService;
|
import org.sleuthkit.autopsy.keywordsearchservice.KeywordSearchService;
|
||||||
@ -463,7 +463,8 @@ public class Case {
|
|||||||
* exception.
|
* exception.
|
||||||
*/
|
*/
|
||||||
@Messages({
|
@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 {
|
public static void openAsCurrentCase(String caseMetadataFilePath) throws CaseActionException {
|
||||||
CaseMetadata metadata;
|
CaseMetadata metadata;
|
||||||
@ -472,6 +473,9 @@ public class Case {
|
|||||||
} catch (CaseMetadataException ex) {
|
} catch (CaseMetadataException ex) {
|
||||||
throw new CaseActionException(Bundle.Case_exceptionMessage_failedToReadMetadata(), 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);
|
openAsCurrentCase(new Case(metadata), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ package org.sleuthkit.autopsy.casemodule;
|
|||||||
* Exception thrown when a case action (e.g., create, open, close, delete) is
|
* Exception thrown when a case action (e.g., create, open, close, delete) is
|
||||||
* cancelled before it is completed.
|
* cancelled before it is completed.
|
||||||
*/
|
*/
|
||||||
class CaseActionCancelledException extends CaseActionException {
|
public final class CaseActionCancelledException extends CaseActionException {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@ -115,19 +115,9 @@ public final class CaseOpenAction extends CallableSystemAction implements Action
|
|||||||
protected void done() {
|
protected void done() {
|
||||||
try {
|
try {
|
||||||
get();
|
get();
|
||||||
} catch (InterruptedException ex) {
|
} 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
|
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)) {
|
|
||||||
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(
|
JOptionPane.showMessageDialog(
|
||||||
WindowManager.getDefault().getMainWindow(),
|
WindowManager.getDefault().getMainWindow(),
|
||||||
ex.getCause().getMessage(), //get the message of the wrapped exception
|
ex.getCause().getMessage(), //get the message of the wrapped exception
|
||||||
@ -135,9 +125,10 @@ public final class CaseOpenAction extends CallableSystemAction implements Action
|
|||||||
JOptionPane.ERROR_MESSAGE);
|
JOptionPane.ERROR_MESSAGE);
|
||||||
}
|
}
|
||||||
StartupWindowProvider.getInstance().open();
|
StartupWindowProvider.getInstance().open();
|
||||||
}
|
} finally {
|
||||||
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}.execute();
|
}.execute();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -33,7 +33,7 @@ import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessorProgress
|
|||||||
import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessorCallback;
|
import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessorCallback;
|
||||||
import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor;
|
import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor;
|
||||||
import org.sleuthkit.autopsy.coreutils.DataSourceUtils;
|
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
|
* A image file data source processor that implements the DataSourceProcessor
|
||||||
|
@ -31,7 +31,7 @@ import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessorProgress
|
|||||||
import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor;
|
import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor;
|
||||||
import org.sleuthkit.autopsy.coreutils.DriveUtils;
|
import org.sleuthkit.autopsy.coreutils.DriveUtils;
|
||||||
import org.sleuthkit.autopsy.imagewriter.ImageWriterSettings;
|
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
|
* A local drive data source processor that implements the DataSourceProcessor
|
||||||
|
@ -29,7 +29,7 @@ import org.openide.util.lookup.ServiceProviders;
|
|||||||
import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessorCallback;
|
import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessorCallback;
|
||||||
import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessorProgressMonitor;
|
import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessorProgressMonitor;
|
||||||
import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor;
|
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
|
* A local/logical files and/or directories data source processor that
|
||||||
|
@ -100,9 +100,9 @@ class OpenRecentCasePanel extends javax.swing.JPanel {
|
|||||||
if (casePaths.length < 1) {
|
if (casePaths.length < 1) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final String casePath = casePaths[imagesTable.getSelectedRow()];
|
final String caseMetadataFilePath = casePaths[imagesTable.getSelectedRow()];
|
||||||
final String caseName = caseNames[imagesTable.getSelectedRow()];
|
final String caseName = caseNames[imagesTable.getSelectedRow()];
|
||||||
if (!casePath.isEmpty()) {
|
if (!caseMetadataFilePath.isEmpty()) {
|
||||||
try {
|
try {
|
||||||
StartupWindowProvider.getInstance().close();
|
StartupWindowProvider.getInstance().close();
|
||||||
CueBannerPanel.closeOpenRecentCasesWindow();
|
CueBannerPanel.closeOpenRecentCasesWindow();
|
||||||
@ -113,25 +113,25 @@ class OpenRecentCasePanel extends javax.swing.JPanel {
|
|||||||
/*
|
/*
|
||||||
* Open the case.
|
* 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(),
|
JOptionPane.showMessageDialog(WindowManager.getDefault().getMainWindow(),
|
||||||
NbBundle.getMessage(this.getClass(), "RecentItems.openRecentCase.msgDlg.text", caseName),
|
NbBundle.getMessage(this.getClass(), "RecentItems.openRecentCase.msgDlg.text", caseName),
|
||||||
NbBundle.getMessage(this.getClass(), "CaseOpenAction.msgDlg.cantOpenCase.title"),
|
NbBundle.getMessage(this.getClass(), "CaseOpenAction.msgDlg.cantOpenCase.title"),
|
||||||
JOptionPane.ERROR_MESSAGE);
|
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();
|
StartupWindowProvider.getInstance().open();
|
||||||
} else {
|
} else {
|
||||||
new Thread(() -> {
|
new Thread(() -> {
|
||||||
try {
|
try {
|
||||||
Case.openAsCurrentCase(casePath);
|
Case.openAsCurrentCase(caseMetadataFilePath);
|
||||||
} catch (CaseActionException ex) {
|
} catch (CaseActionException ex) {
|
||||||
SwingUtilities.invokeLater(() -> {
|
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", casePath), ex); //NON-NLS
|
logger.log(Level.SEVERE, String.format("Error opening case with metadata file path %s", caseMetadataFilePath), ex); //NON-NLS
|
||||||
JOptionPane.showMessageDialog(
|
JOptionPane.showMessageDialog(
|
||||||
WindowManager.getDefault().getMainWindow(),
|
WindowManager.getDefault().getMainWindow(),
|
||||||
ex.getMessage(), // Should be user-friendly
|
ex.getMessage(),
|
||||||
NbBundle.getMessage(this.getClass(), "CaseOpenAction.msgDlg.cantOpenCase.title"), //NON-NLS
|
NbBundle.getMessage(OpenRecentCasePanel.this.getClass(), "CaseOpenAction.msgDlg.cantOpenCase.title"), //NON-NLS
|
||||||
JOptionPane.ERROR_MESSAGE);
|
JOptionPane.ERROR_MESSAGE);
|
||||||
}
|
}
|
||||||
StartupWindowProvider.getInstance().open();
|
StartupWindowProvider.getInstance().open();
|
||||||
|
@ -64,9 +64,10 @@ class RecentItems implements ActionListener {
|
|||||||
new Thread(() -> {
|
new Thread(() -> {
|
||||||
try {
|
try {
|
||||||
Case.openAsCurrentCase(caseMetaDataFilePath);
|
Case.openAsCurrentCase(caseMetaDataFilePath);
|
||||||
|
StartupWindowProvider.getInstance().close();
|
||||||
} catch (CaseActionException ex) {
|
} catch (CaseActionException ex) {
|
||||||
SwingUtilities.invokeLater(() -> {
|
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
|
logger.log(Level.SEVERE, String.format("Error opening case with metadata file path %s", caseMetaDataFilePath), ex); //NON-NLS
|
||||||
JOptionPane.showMessageDialog(
|
JOptionPane.showMessageDialog(
|
||||||
WindowManager.getDefault().getMainWindow(),
|
WindowManager.getDefault().getMainWindow(),
|
||||||
@ -77,8 +78,7 @@ class RecentItems implements ActionListener {
|
|||||||
StartupWindowProvider.getInstance().open();
|
StartupWindowProvider.getInstance().open();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}).
|
}).start();
|
||||||
start();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package org.sleuthkit.autopsy.framework;
|
package org.sleuthkit.autopsy.datasourceprocessors;
|
||||||
|
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor;
|
import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor;
|
@ -25,7 +25,7 @@ import org.openide.DialogDisplayer;
|
|||||||
import org.openide.NotifyDescriptor;
|
import org.openide.NotifyDescriptor;
|
||||||
import org.openide.util.NbBundle;
|
import org.openide.util.NbBundle;
|
||||||
import org.openide.util.lookup.ServiceProvider;
|
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
|
* Creates and handles closing of ImageWriter objects. Currently, ImageWriter is
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package org.sleuthkit.autopsy.framework;
|
package org.sleuthkit.autopsy.progress;
|
||||||
|
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
@ -16,7 +16,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package org.sleuthkit.autopsy.framework;
|
package org.sleuthkit.autopsy.progress;
|
||||||
|
|
||||||
import java.awt.Dialog;
|
import java.awt.Dialog;
|
||||||
import java.awt.Frame;
|
import java.awt.Frame;
|
@ -16,7 +16,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* 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
|
* An interface for progress indicators. A progress indicator can run in
|
@ -42,7 +42,7 @@
|
|||||||
<Component class="javax.swing.JLabel" name="progressMessage">
|
<Component class="javax.swing.JLabel" name="progressMessage">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/framework/Bundle.properties" key="ProgressPanel.progressMessage.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/progress/Bundle.properties" key="ProgressPanel.progressMessage.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
@ -16,7 +16,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* 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.
|
* A progress panel consisting of a message label and a progress bar.
|
@ -16,9 +16,9 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* 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.
|
* A "silent" or "null" progress indicator.
|
@ -21,8 +21,8 @@ package org.sleuthkit.autopsy.test;
|
|||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import org.openide.util.lookup.ServiceProvider;
|
import org.openide.util.lookup.ServiceProvider;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
import org.sleuthkit.autopsy.framework.AutopsyService;
|
import org.sleuthkit.autopsy.appservices.AutopsyService;
|
||||||
import org.sleuthkit.autopsy.framework.ProgressIndicator;
|
import org.sleuthkit.autopsy.progress.ProgressIndicator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An implementation of the Autopsy service interface used for test purposes.
|
* An implementation of the Autopsy service interface used for test purposes.
|
||||||
|
@ -39,7 +39,9 @@ import javax.swing.SwingWorker;
|
|||||||
import javax.swing.event.ListSelectionEvent;
|
import javax.swing.event.ListSelectionEvent;
|
||||||
import javax.swing.table.DefaultTableModel;
|
import javax.swing.table.DefaultTableModel;
|
||||||
import javax.swing.table.TableColumn;
|
import javax.swing.table.TableColumn;
|
||||||
|
import org.openide.util.NbBundle;
|
||||||
import org.openide.windows.WindowManager;
|
import org.openide.windows.WindowManager;
|
||||||
|
import org.sleuthkit.autopsy.casemodule.CaseActionCancelledException;
|
||||||
import org.sleuthkit.autopsy.casemodule.CaseMetadata;
|
import org.sleuthkit.autopsy.casemodule.CaseMetadata;
|
||||||
import org.sleuthkit.autopsy.casemodule.StartupWindowProvider;
|
import org.sleuthkit.autopsy.casemodule.StartupWindowProvider;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
@ -295,18 +297,16 @@ public final class AutoIngestCasePanel extends JPanel {
|
|||||||
protected void done() {
|
protected void done() {
|
||||||
try {
|
try {
|
||||||
get();
|
get();
|
||||||
} catch (InterruptedException ex) {
|
} catch (InterruptedException | ExecutionException ex) {
|
||||||
logger.log(Level.SEVERE, String.format("Error while opening case with case metadata file path %s", caseMetadataFilePath), ex);
|
if (null != ex.getCause() && !(ex.getCause() instanceof CaseActionCancelledException)) {
|
||||||
JOptionPane.showMessageDialog(WindowManager.getDefault().getMainWindow(),
|
logger.log(Level.SEVERE, String.format("Error opening case with metadata file path %s", caseMetadataFilePath), ex); //NON-NLS
|
||||||
ex.getMessage(),
|
JOptionPane.showMessageDialog(
|
||||||
org.openide.util.NbBundle.getMessage(AutoIngestCasePanel.class, "ReviewModeCasePanel.cannotOpenCase"),
|
WindowManager.getDefault().getMainWindow(),
|
||||||
JOptionPane.ERROR_MESSAGE);
|
ex.getCause().getMessage(), //get the message of the wrapped exception
|
||||||
} catch (ExecutionException ex) {
|
NbBundle.getMessage(this.getClass(), "CaseOpenAction.msgDlg.cantOpenCase.title"), //NON-NLS
|
||||||
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);
|
JOptionPane.ERROR_MESSAGE);
|
||||||
|
}
|
||||||
|
StartupWindowProvider.getInstance().open();
|
||||||
} finally {
|
} finally {
|
||||||
setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
||||||
}
|
}
|
||||||
|
@ -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.AutoIngestUserPreferences;
|
||||||
import org.sleuthkit.autopsy.experimental.configuration.SharedConfiguration;
|
import org.sleuthkit.autopsy.experimental.configuration.SharedConfiguration;
|
||||||
import org.sleuthkit.autopsy.experimental.configuration.SharedConfiguration.SharedConfigurationException;
|
import org.sleuthkit.autopsy.experimental.configuration.SharedConfiguration.SharedConfigurationException;
|
||||||
import org.sleuthkit.autopsy.framework.AutoIngestDataSourceProcessor;
|
import org.sleuthkit.autopsy.datasourceprocessors.AutoIngestDataSourceProcessor;
|
||||||
import org.sleuthkit.autopsy.framework.AutoIngestDataSourceProcessor.AutoIngestDataSourceProcessorException;
|
import org.sleuthkit.autopsy.datasourceprocessors.AutoIngestDataSourceProcessor.AutoIngestDataSourceProcessorException;
|
||||||
import org.sleuthkit.autopsy.ingest.IngestJob;
|
import org.sleuthkit.autopsy.ingest.IngestJob;
|
||||||
import org.sleuthkit.autopsy.ingest.IngestJob.CancellationReason;
|
import org.sleuthkit.autopsy.ingest.IngestJob.CancellationReason;
|
||||||
import org.sleuthkit.autopsy.ingest.IngestJobSettings;
|
import org.sleuthkit.autopsy.ingest.IngestJobSettings;
|
||||||
|
@ -42,7 +42,7 @@ public final class AutopsyManifestFileParser implements ManifestFileParser {
|
|||||||
private static final String ROOT_ELEM_TAG_NAME = "AutopsyManifest";
|
private static final String ROOT_ELEM_TAG_NAME = "AutopsyManifest";
|
||||||
private static final String CASE_NAME_XPATH = "/AutopsyManifest/CaseName/text()";
|
private static final String CASE_NAME_XPATH = "/AutopsyManifest/CaseName/text()";
|
||||||
private static final String DEVICE_ID_XPATH = "/AutopsyManifest/DeviceId/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
|
@Override
|
||||||
public boolean fileIsManifest(Path filePath) {
|
public boolean fileIsManifest(Path filePath) {
|
||||||
|
@ -27,7 +27,7 @@ import java.util.List;
|
|||||||
import org.apache.commons.lang.math.NumberUtils;
|
import org.apache.commons.lang.math.NumberUtils;
|
||||||
import org.sleuthkit.autopsy.casemodule.Case;
|
import org.sleuthkit.autopsy.casemodule.Case;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
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.
|
* This class handles the task of finding and identifying KWS index folders.
|
||||||
|
@ -40,8 +40,8 @@ import org.sleuthkit.autopsy.casemodule.CaseMetadata;
|
|||||||
import org.sleuthkit.autopsy.core.RuntimeProperties;
|
import org.sleuthkit.autopsy.core.RuntimeProperties;
|
||||||
import org.sleuthkit.autopsy.coreutils.FileUtil;
|
import org.sleuthkit.autopsy.coreutils.FileUtil;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
import org.sleuthkit.autopsy.framework.AutopsyService;
|
import org.sleuthkit.autopsy.appservices.AutopsyService;
|
||||||
import org.sleuthkit.autopsy.framework.ProgressIndicator;
|
import org.sleuthkit.autopsy.progress.ProgressIndicator;
|
||||||
import org.sleuthkit.autopsy.keywordsearchservice.KeywordSearchService;
|
import org.sleuthkit.autopsy.keywordsearchservice.KeywordSearchService;
|
||||||
import org.sleuthkit.autopsy.keywordsearchservice.KeywordSearchServiceException;
|
import org.sleuthkit.autopsy.keywordsearchservice.KeywordSearchServiceException;
|
||||||
import org.sleuthkit.datamodel.BlackboardArtifact;
|
import org.sleuthkit.datamodel.BlackboardArtifact;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user