From 81479adeb31c249c64c97f59cf8f434ccaa059ee Mon Sep 17 00:00:00 2001 From: adam-m Date: Tue, 31 Jan 2012 15:14:27 -0500 Subject: [PATCH 1/2] Improve maximize of inbox window --- .../autopsy/ingest/IngestTopComponent.form | 20 +++----- .../autopsy/ingest/IngestTopComponent.java | 51 ++++++++----------- 2 files changed, 29 insertions(+), 42 deletions(-) diff --git a/Ingest/src/org/sleuthkit/autopsy/ingest/IngestTopComponent.form b/Ingest/src/org/sleuthkit/autopsy/ingest/IngestTopComponent.form index 4240eb7d0e..3843f7e31f 100644 --- a/Ingest/src/org/sleuthkit/autopsy/ingest/IngestTopComponent.form +++ b/Ingest/src/org/sleuthkit/autopsy/ingest/IngestTopComponent.form @@ -47,16 +47,12 @@ - - - - - - - - - - + + + + + + @@ -65,9 +61,9 @@ - + - + diff --git a/Ingest/src/org/sleuthkit/autopsy/ingest/IngestTopComponent.java b/Ingest/src/org/sleuthkit/autopsy/ingest/IngestTopComponent.java index f24633a058..7fa6eb249d 100644 --- a/Ingest/src/org/sleuthkit/autopsy/ingest/IngestTopComponent.java +++ b/Ingest/src/org/sleuthkit/autopsy/ingest/IngestTopComponent.java @@ -273,35 +273,28 @@ public final class IngestTopComponent extends TopComponent implements DataExplor controlPanelLayout.setHorizontalGroup( controlPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(controlPanelLayout.createSequentialGroup() - .addContainerGap() .addGroup(controlPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(controlPanelLayout.createSequentialGroup() - .addComponent(topLable) - .addContainerGap(198, Short.MAX_VALUE)) + .addContainerGap() + .addGroup(controlPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(topLable) + .addComponent(servicesPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(startButton) + .addGroup(controlPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) + .addComponent(mainProgressBar, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(freqSlider, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))) .addGroup(controlPanelLayout.createSequentialGroup() - .addComponent(servicesPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(115, 115, 115)) + .addGap(59, 59, 59) + .addComponent(refreshFrequencyLabel)) .addGroup(controlPanelLayout.createSequentialGroup() - .addComponent(startButton) - .addContainerGap(258, Short.MAX_VALUE)) - .addGroup(controlPanelLayout.createSequentialGroup() - .addGroup(controlPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) - .addComponent(mainProgressBar, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(freqSlider, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .addContainerGap(115, Short.MAX_VALUE)))) - .addGroup(controlPanelLayout.createSequentialGroup() - .addGap(59, 59, 59) - .addComponent(refreshFrequencyLabel) - .addContainerGap(174, Short.MAX_VALUE)) - .addGroup(controlPanelLayout.createSequentialGroup() - .addGap(59, 59, 59) - .addComponent(ingestProgressLabel) - .addContainerGap(171, Short.MAX_VALUE)) + .addGap(59, 59, 59) + .addComponent(ingestProgressLabel))) + .addContainerGap(47, Short.MAX_VALUE)) .addGroup(controlPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(controlPanelLayout.createSequentialGroup() .addGap(74, 74, 74) .addComponent(refreshFreqLabel) - .addContainerGap(161, Short.MAX_VALUE))) + .addContainerGap(93, Short.MAX_VALUE))) ); controlPanelLayout.setVerticalGroup( controlPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) @@ -334,22 +327,20 @@ public final class IngestTopComponent extends TopComponent implements DataExplor mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(mainPanelLayout.createSequentialGroup() .addContainerGap() - .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, mainPanelLayout.createSequentialGroup() - .addComponent(controlPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addGap(71, 71, 71)) - .addGroup(mainPanelLayout.createSequentialGroup() - .addComponent(messageFrame, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(48, 48, 48)))) + .addComponent(controlPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGap(71, 71, 71)) + .addGroup(mainPanelLayout.createSequentialGroup() + .addComponent(messageFrame, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap(58, Short.MAX_VALUE)) ); mainPanelLayout.setVerticalGroup( mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(mainPanelLayout.createSequentialGroup() .addContainerGap() .addComponent(controlPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 357, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(30, 30, 30) + .addGap(18, 18, 18) .addComponent(messageFrame, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(127, 127, 127)) + .addGap(123, 123, 123)) ); mainScrollPane.setViewportView(mainPanel); From 54d1d50322f5093a10930c1f8d1b0b9928423cd3 Mon Sep 17 00:00:00 2001 From: adam-m Date: Tue, 31 Jan 2012 17:33:38 -0500 Subject: [PATCH 2/2] gracefully shutdown also the enqueue worker thread if it is running when case closed --- .../org/sleuthkit/autopsy/ingest/IngestManager.java | 13 ++++++++++--- .../autopsy/ingest/IngestTopComponent.java | 2 +- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Ingest/src/org/sleuthkit/autopsy/ingest/IngestManager.java b/Ingest/src/org/sleuthkit/autopsy/ingest/IngestManager.java index 423b98b332..5c445e110e 100644 --- a/Ingest/src/org/sleuthkit/autopsy/ingest/IngestManager.java +++ b/Ingest/src/org/sleuthkit/autopsy/ingest/IngestManager.java @@ -65,6 +65,7 @@ public class IngestManager { //workers private IngestFsContentThread fsContentIngester; private List imageIngesters; + private SwingWorker queueWorker; //services final Collection imageServices = enumerateImageServices(); final Collection fsContentServices = enumerateFsContentServices(); @@ -123,7 +124,7 @@ public class IngestManager { } tc.enableStartButton(false); - SwingWorker queueWorker = new EnqueueWorker(services, images); + queueWorker = new EnqueueWorker(services, images); queueWorker.execute(); //logger.log(Level.INFO, "Queues: " + imageQueue.toString() + " " + fsContentQueue.toString()); @@ -218,12 +219,17 @@ public class IngestManager { * stop currently running threads if any (e.g. when changing a case) */ void stopAll() { + //stop queue worker + if (queueWorker != null) { + queueWorker.cancel(true); + queueWorker = null; + } + //empty queues emptyFsContents(); emptyImages(); - //stop workers - + //stop service workers if (fsContentIngester != null) { boolean cancelled = fsContentIngester.cancel(true); if (!cancelled) { @@ -252,6 +258,7 @@ public class IngestManager { } catch (InterruptedException e) { } + logger.log(Level.INFO, "stopped all"); } /** diff --git a/Ingest/src/org/sleuthkit/autopsy/ingest/IngestTopComponent.java b/Ingest/src/org/sleuthkit/autopsy/ingest/IngestTopComponent.java index 7fa6eb249d..e6b037cc65 100644 --- a/Ingest/src/org/sleuthkit/autopsy/ingest/IngestTopComponent.java +++ b/Ingest/src/org/sleuthkit/autopsy/ingest/IngestTopComponent.java @@ -140,7 +140,7 @@ public final class IngestTopComponent extends TopComponent implements DataExplor public void propertyChange(PropertyChangeEvent evt) { if (evt.getPropertyName().equals(Case.CASE_CURRENT_CASE)) { Case oldCase = (Case) evt.getOldValue(); - if (oldCase == null) //nothing to do, not case had been opened + if (oldCase == null) //nothing to do, new case had been opened { return; }