From 3aad466133cb4eca624f6dfb0e81a3d3fce0756b Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Wed, 5 Apr 2017 11:52:12 -0400 Subject: [PATCH] 2518 moved startDataSourceProcessing call to AddImageWizardIterator --- .../AddImageWizardAddingProgressPanel.java | 58 ++++++++++--------- ...AddImageWizardDataSourceSettingsPanel.java | 13 +---- .../casemodule/AddImageWizardIterator.java | 10 +++- 3 files changed, 40 insertions(+), 41 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/AddImageWizardAddingProgressPanel.java b/Core/src/org/sleuthkit/autopsy/casemodule/AddImageWizardAddingProgressPanel.java index fad2b807ef..22a6ee9762 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/AddImageWizardAddingProgressPanel.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/AddImageWizardAddingProgressPanel.java @@ -61,7 +61,7 @@ class AddImageWizardAddingProgressPanel extends ShortcutWizardDescriptorPanel { private final AddImageAction addImageAction; - private DataSourceProcessor dsProcessor; + private DataSourceProcessor dsProcessor = null; private boolean cancelled; /** * flag to indicate that the image adding process is finished and this panel @@ -307,38 +307,40 @@ class AddImageWizardAddingProgressPanel extends ShortcutWizardDescriptorPanel { * DataSourceProcessor */ void startDataSourceProcessing(DataSourceProcessor dsp) { - final UUID dataSourceId = UUID.randomUUID(); - newContents.clear(); - cleanupTask = null; - readyToIngest = false; - dsProcessor = dsp; + if (dsProcessor == null) { //this can only be run once + final UUID dataSourceId = UUID.randomUUID(); + newContents.clear(); + cleanupTask = null; + readyToIngest = false; + dsProcessor = dsp; - // Add a cleanup task to interrupt the background process if the - // wizard exits while the background process is running. - cleanupTask = addImageAction.new CleanupTask() { - @Override - void cleanup() throws Exception { - cancelDataSourceProcessing(dataSourceId); - cancelled = true; - } - }; + // Add a cleanup task to interrupt the background process if the + // wizard exits while the background process is running. + cleanupTask = addImageAction.new CleanupTask() { + @Override + void cleanup() throws Exception { + cancelDataSourceProcessing(dataSourceId); + cancelled = true; + } + }; - cleanupTask.enable(); + cleanupTask.enable(); - new Thread(() -> { - Case.getCurrentCase().notifyAddingDataSource(dataSourceId); - }).start(); - DataSourceProcessorCallback cbObj = new DataSourceProcessorCallback() { - @Override - public void doneEDT(DataSourceProcessorCallback.DataSourceProcessorResult result, List errList, List contents) { - dataSourceProcessorDone(dataSourceId, result, errList, contents); - } - }; + new Thread(() -> { + Case.getCurrentCase().notifyAddingDataSource(dataSourceId); + }).start(); + DataSourceProcessorCallback cbObj = new DataSourceProcessorCallback() { + @Override + public void doneEDT(DataSourceProcessorCallback.DataSourceProcessorResult result, List errList, List contents) { + dataSourceProcessorDone(dataSourceId, result, errList, contents); + } + }; - setStateStarted(); + setStateStarted(); - // Kick off the DSProcessor - dsProcessor.run(getDSPProgressMonitorImpl(), cbObj); + // Kick off the DSProcessor + dsProcessor.run(getDSPProgressMonitorImpl(), cbObj); + } } /* diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/AddImageWizardDataSourceSettingsPanel.java b/Core/src/org/sleuthkit/autopsy/casemodule/AddImageWizardDataSourceSettingsPanel.java index d83b9ef46c..8f1dc59444 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/AddImageWizardDataSourceSettingsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/AddImageWizardDataSourceSettingsPanel.java @@ -47,12 +47,9 @@ class AddImageWizardDataSourceSettingsPanel extends ShortcutWizardDescriptorPane */ private AddImageWizardDataSourceSettingsVisual component; private boolean isNextEnable = false; - private final AddImageWizardAddingProgressPanel progressPanel; - private boolean processingStarted = false; // paths to any set hash lookup databases (can be null) - AddImageWizardDataSourceSettingsPanel(AddImageWizardAddingProgressPanel proPanel) { - this.progressPanel = proPanel; + AddImageWizardDataSourceSettingsPanel() { } /** @@ -199,13 +196,7 @@ class AddImageWizardDataSourceSettingsPanel extends ShortcutWizardDescriptorPane * @param settings the setting to be stored to */ @Override - public void storeSettings(WizardDescriptor settings) { - // Start processing the data source by handing it off to the selected DSP, - // so it gets going in the background while the user is still picking the Ingest modules - if (!processingStarted) { //storeSettings is called twice - processingStarted = true; - progressPanel.startDataSourceProcessing(component.getCurrentDSProcessor()); - } + public void storeSettings(WizardDescriptor settings) { } /** diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/AddImageWizardIterator.java b/Core/src/org/sleuthkit/autopsy/casemodule/AddImageWizardIterator.java index bf379e41f1..9dad21446e 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/AddImageWizardIterator.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/AddImageWizardIterator.java @@ -58,7 +58,7 @@ class AddImageWizardIterator implements WizardDescriptor.Iterator profiles = IngestProfiles.getIngestProfiles(); @@ -174,7 +174,13 @@ class AddImageWizardIterator implements WizardDescriptor.Iterator