From 331f24abf5449626ccdd52f23f8e876f3e18646e Mon Sep 17 00:00:00 2001 From: Devin148 Date: Thu, 6 Dec 2012 14:41:34 -0500 Subject: [PATCH] Check IngestManager to see if ingest is ongoing --- .../hashdatabase/HashDbIngestModule.java | 10 ---- .../hashdatabase/HashDbManagementPanel.java | 9 ++-- .../hashdatabase/HashDbPanelSearchAction.java | 1 + .../hashdatabase/HashDbSearchPanel.form | 17 +++---- .../hashdatabase/HashDbSearchPanel.java | 50 +++++++++---------- .../hashdatabase/HashDbSimplePanel.java | 8 +-- 6 files changed, 40 insertions(+), 55 deletions(-) diff --git a/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbIngestModule.java b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbIngestModule.java index 7c435d440b..044296c1c1 100644 --- a/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbIngestModule.java +++ b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbIngestModule.java @@ -86,9 +86,6 @@ public class HashDbIngestModule implements IngestModuleAbstractFile { @Override public void init(IngestModuleInit initContext) { services = IngestServices.getDefault(); - getPanel().setIngestRunning(true); - HashDbSimplePanel.setIngestRunning(true); - HashDbSearchPanel.getDefault().setIngestRunning(true); this.services.postMessage(IngestMessage.createMessage(++messageId, IngestMessage.MessageType.INFO, this, "Started")); this.skCase = Case.getCurrentCase().getSleuthkitCase(); try { @@ -154,10 +151,6 @@ public class HashDbIngestModule implements IngestModuleAbstractFile { detailsSb.append(""); services.postMessage(IngestMessage.createMessage(++messageId, IngestMessage.MessageType.INFO, this, "Hash Ingest Complete", detailsSb.toString())); - - getPanel().setIngestRunning(false); - HashDbSimplePanel.setIngestRunning(false); - HashDbSearchPanel.getDefault().setIngestRunning(false); } /** @@ -167,9 +160,6 @@ public class HashDbIngestModule implements IngestModuleAbstractFile { @Override public void stop() { //manager.postMessage(IngestMessage.createMessage(++messageId, IngestMessage.MessageType.INFO, this, "STOP")); - getPanel().setIngestRunning(false); - HashDbSimplePanel.setIngestRunning(false); - HashDbSearchPanel.getDefault().setIngestRunning(false); } /** diff --git a/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbManagementPanel.java b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbManagementPanel.java index c518afd0a8..d64b93ec92 100644 --- a/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbManagementPanel.java +++ b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbManagementPanel.java @@ -42,12 +42,13 @@ import javax.swing.table.AbstractTableModel; import javax.swing.table.TableCellRenderer; import org.sleuthkit.autopsy.corecomponents.OptionsPanel; import org.sleuthkit.autopsy.coreutils.Logger; +import org.sleuthkit.autopsy.ingest.IngestManager; final class HashDbManagementPanel extends javax.swing.JPanel implements OptionsPanel { private HashSetTableModel hashSetTableModel; private static final Logger logger = Logger.getLogger(HashDbManagementPanel.class.getName()); - private static boolean ingestRunning = false; + private boolean ingestRunning = false; //keep track of dbs being indexed, since HashDb objects are reloaded, @@ -134,9 +135,10 @@ final class HashDbManagementPanel extends javax.swing.JPanel implements OptionsP * Don't allow any changes if ingest is running. * @param running Whether ingest is running or not. */ - void setIngestRunning(boolean running) { + private void setIngestStatus(boolean running) { ingestRunning = running; ingestWarningLabel.setVisible(running); + importButton.setEnabled(!running); int selection = getSelection(); if(selection != -1) { @@ -493,6 +495,7 @@ final class HashDbManagementPanel extends javax.swing.JPanel implements OptionsP HashDbXML.getCurrent().reload(); // Reload XML initUI(null); // Update the UI hashSetTableModel.resync(); // resync the table + setIngestStatus(IngestManager.getDefault().isIngestRunning()); // check if ingest is running } @Override @@ -758,7 +761,7 @@ final class HashDbManagementPanel extends javax.swing.JPanel implements OptionsP theLabel.setForeground(Color.black); theButton.setEnabled(false); } - if (ingestRunning) { + if (IngestManager.getDefault().isIngestRunning()) { theButton.setEnabled(false); } } diff --git a/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbPanelSearchAction.java b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbPanelSearchAction.java index 613c3a24a5..ab35df8b77 100644 --- a/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbPanelSearchAction.java +++ b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbPanelSearchAction.java @@ -91,6 +91,7 @@ class HashDbPanelSearchAction extends CallableSystemAction { dialog.close(); } }); + panel.refresh(); dialog.display(panel); } diff --git a/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbSearchPanel.form b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbSearchPanel.form index 76fa27089f..a9be670c18 100644 --- a/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbSearchPanel.form +++ b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbSearchPanel.form @@ -37,16 +37,16 @@ - - - - - - - + + + + + + + @@ -152,9 +152,6 @@ - - - diff --git a/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbSearchPanel.java b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbSearchPanel.java index 7c50fc25f6..e400c9e14b 100644 --- a/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbSearchPanel.java +++ b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbSearchPanel.java @@ -30,6 +30,7 @@ import javax.swing.table.DefaultTableModel; import javax.swing.text.AttributeSet; import javax.swing.text.BadLocationException; import javax.swing.text.PlainDocument; +import org.sleuthkit.autopsy.ingest.IngestManager; /** * Searches for files by md5 hash, based off the hash given in this panel. @@ -37,7 +38,6 @@ import javax.swing.text.PlainDocument; public class HashDbSearchPanel extends javax.swing.JPanel implements ActionListener { private static final Logger logger = Logger.getLogger(HashDbSearchPanel.class.getName()); private static HashDbSearchPanel instance; - private static boolean ingestRunning = false; /** * @return the default instance of this panel @@ -48,11 +48,32 @@ public class HashDbSearchPanel extends javax.swing.JPanel implements ActionListe } return instance; } + + /** + * Check if ingest is currently running and refresh the panel accordingly. + */ + public void refresh() { + boolean running = IngestManager.getDefault().isIngestRunning(); + if(running) { + titleLabel.setForeground(Color.red); + titleLabel.setText("Ingest is ongoing; this service will be unavailable until it finishes."); + } else { + titleLabel.setForeground(Color.black); + titleLabel.setText("Search for files with the following MD5 hash(es):"); + } + hashField.setEditable(!running); + searchButton.setEnabled(!running); + addButton.setEnabled(!running); + removeButton.setEnabled(!running); + hashTable.setEnabled(!running); + hashLabel.setEnabled(!running); + saveBox.setEnabled(!running); + } /** * Creates new form HashDbSearchPanel */ - public HashDbSearchPanel() { + private HashDbSearchPanel() { setName(HashDbPanelSearchAction.ACTION_NAME); initComponents(); customInit(); @@ -102,27 +123,6 @@ public class HashDbSearchPanel extends javax.swing.JPanel implements ActionListe void addCancelActionListener(ActionListener l) { cancelButton.addActionListener(l); } - - /** - * Don't allow any changes if ingest is running - */ - void setIngestRunning(boolean running) { - ingestRunning = running; - if(running) { - titleLabel.setForeground(Color.red); - titleLabel.setText("Ingest is ongoing; this service will be unavailable until it finishes."); - } else { - titleLabel.setForeground(Color.black); - titleLabel.setText("Search for files with the following MD5 hash(es):"); - } - hashField.setEditable(!ingestRunning); - searchButton.setEnabled(!ingestRunning); - addButton.setEnabled(!ingestRunning); - removeButton.setEnabled(!ingestRunning); - hashTable.setEnabled(!ingestRunning); - hashLabel.setEnabled(!ingestRunning); - saveBox.setEnabled(!ingestRunning); - } /** * This method is called from within the constructor to initialize the form. @@ -182,7 +182,6 @@ public class HashDbSearchPanel extends javax.swing.JPanel implements ActionListe org.openide.awt.Mnemonics.setLocalizedText(removeButton, org.openide.util.NbBundle.getMessage(HashDbSearchPanel.class, "HashDbSearchPanel.removeButton.text")); // NOI18N - titleLabel.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(titleLabel, org.openide.util.NbBundle.getMessage(HashDbSearchPanel.class, "HashDbSearchPanel.titleLabel.text")); // NOI18N errorField.setForeground(new java.awt.Color(255, 0, 0)); @@ -222,9 +221,8 @@ public class HashDbSearchPanel extends javax.swing.JPanel implements ActionListe .addComponent(saveBox))) .addGap(0, 0, Short.MAX_VALUE)) .addGroup(layout.createSequentialGroup() - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(errorField) - .addGap(18, 18, 18) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(searchButton) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(cancelButton))) diff --git a/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbSimplePanel.java b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbSimplePanel.java index bcaf949a06..9dfee56671 100644 --- a/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbSimplePanel.java +++ b/HashDatabase/src/org/sleuthkit/autopsy/hashdatabase/HashDbSimplePanel.java @@ -32,6 +32,7 @@ import javax.swing.JOptionPane; import javax.swing.JTable; import javax.swing.table.AbstractTableModel; import javax.swing.table.TableColumn; +import org.sleuthkit.autopsy.ingest.IngestManager; /** * @@ -42,7 +43,6 @@ public class HashDbSimplePanel extends javax.swing.JPanel { private static final Logger logger = Logger.getLogger(HashDbSimplePanel.class.getName()); private HashTableModel knownBadTableModel; private HashDb nsrl; - private static boolean ingestRunning = false; /** Creates new form HashDbSimplePanel */ public HashDbSimplePanel() { @@ -51,10 +51,6 @@ public class HashDbSimplePanel extends javax.swing.JPanel { customizeComponents(); } - static void setIngestRunning(boolean running) { - ingestRunning = running; - } - private void reloadCalc() { final HashDbXML xmlHandle = HashDbXML.getCurrent(); final HashDb nsrlDb = xmlHandle.getNSRLSet(); @@ -256,7 +252,7 @@ public class HashDbSimplePanel extends javax.swing.JPanel { @Override public boolean isCellEditable(int rowIndex, int columnIndex) { - return !ingestRunning && columnIndex == 0; + return !IngestManager.getDefault().isIngestRunning() && columnIndex == 0; } @Override