diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestDashboard.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestDashboard.java index dddb387cdb..bb71d008f6 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestDashboard.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestDashboard.java @@ -52,7 +52,7 @@ final class AutoIngestDashboard extends JPanel { private final static String ADMIN_ACCESS_FILE_PATH = Paths.get(PlatformUtil.getUserConfigDirectory(), ADMIN_ACCESS_FILE_NAME).toString(); private final static String AID_REFRESH_THREAD_NAME = "AID-refresh-jobs-%d"; private final static int AID_REFRESH_INTERVAL_SECS = 30; - private final static int AID_DELAY_BEFORE_FIRST_REFRESH = 1; + private final static int AID_DELAY_BEFORE_FIRST_REFRESH = 0; private static final long serialVersionUID = 1L; private static final Logger LOGGER = Logger.getLogger(AutoIngestDashboard.class.getName()); private AutoIngestMonitor autoIngestMonitor; @@ -240,19 +240,18 @@ final class AutoIngestDashboard extends JPanel { ServicesMonitor.getInstance().addSubscriber(servicesList, propChangeListener); autoIngestMonitor = new AutoIngestMonitor(); - new Thread(() -> { try { autoIngestMonitor.startUp(); + scheduledRefreshThreadPoolExecutor.scheduleWithFixedDelay(() -> { + EventQueue.invokeLater(() -> { + refreshTables(); + }); + }, AID_DELAY_BEFORE_FIRST_REFRESH, AID_REFRESH_INTERVAL_SECS, TimeUnit.SECONDS); } catch (AutoIngestMonitor.AutoIngestMonitorException ex) { LOGGER.log(Level.SEVERE, "Unable to start up Auto Ingest Monitor", ex); } }).start(); - scheduledRefreshThreadPoolExecutor.scheduleWithFixedDelay(() -> { - EventQueue.invokeLater(() -> { - refreshTables(); - }); - }, AID_DELAY_BEFORE_FIRST_REFRESH, AID_REFRESH_INTERVAL_SECS, TimeUnit.SECONDS); } /** diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestMonitor.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestMonitor.java index 8f7a9c0696..4e0de76bad 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestMonitor.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestMonitor.java @@ -30,7 +30,6 @@ import java.util.Date; import java.util.HashSet; import java.util.List; import java.util.Map; -import java.util.Observable; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledThreadPoolExecutor; @@ -59,7 +58,7 @@ import org.sleuthkit.autopsy.experimental.autoingest.AutoIngestNodeControlEvent. * An auto ingest monitor responsible for monitoring and reporting the * processing of auto ingest jobs. */ -final class AutoIngestMonitor extends Observable implements PropertyChangeListener { +final class AutoIngestMonitor implements PropertyChangeListener { private static final Logger LOGGER = Logger.getLogger(AutoIngestMonitor.class.getName()); private static final int DEFAULT_PRIORITY = 0; @@ -172,8 +171,6 @@ final class AutoIngestMonitor extends Observable implements PropertyChangeListen synchronized (jobsLock) { jobsSnapshot.removePendingJob(event.getJob()); jobsSnapshot.addOrReplaceRunningJob(event.getJob()); - setChanged(); - notifyObservers(); } } @@ -201,8 +198,6 @@ final class AutoIngestMonitor extends Observable implements PropertyChangeListen break; } } - setChanged(); - notifyObservers(); } } @@ -217,8 +212,6 @@ final class AutoIngestMonitor extends Observable implements PropertyChangeListen jobsSnapshot.removePendingJob(job); jobsSnapshot.removeRunningJob(job); jobsSnapshot.addOrReplaceCompletedJob(job); - setChanged(); - notifyObservers(); } } @@ -246,18 +239,14 @@ final class AutoIngestMonitor extends Observable implements PropertyChangeListen * @param event A node state change event. */ private void handleAutoIngestNodeStateEvent(AutoIngestNodeStateEvent event) { - AutoIngestNodeState oldNodeState = null; if (event.getEventType() == AutoIngestManager.Event.SHUTDOWN) { // Remove node from collection. - oldNodeState = nodeStates.remove(event.getNodeName()); + nodeStates.remove(event.getNodeName()); } else { // Otherwise either create an entry for the given node name or update // an existing entry in the map. nodeStates.put(event.getNodeName(), new AutoIngestNodeState(event.getNodeName(), event.getEventType())); } - setChanged(); - // Trigger a dashboard refresh. - notifyObservers(oldNodeState == null ? nodeStates.get(event.getNodeName()) : oldNodeState); } /** @@ -797,9 +786,6 @@ final class AutoIngestMonitor extends Observable implements PropertyChangeListen // Ask running auto ingest nodes to report their status. refreshNodeState(); - - setChanged(); - notifyObservers(); } }