diff --git a/Core/src/org/sleuthkit/autopsy/timeline/ui/countsview/Bundle.properties b/Core/src/org/sleuthkit/autopsy/timeline/ui/countsview/Bundle.properties index 35dcbfbe5a..74777a9815 100644 --- a/Core/src/org/sleuthkit/autopsy/timeline/ui/countsview/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/timeline/ui/countsview/Bundle.properties @@ -26,12 +26,6 @@ Timeline.ui.countsview.menuItem.selectTimeRange=Select Time Range Timeline.ui.countsview.menuItem.selectEventType=Select Event Type Timeline.ui.countsview.menuItem.selectTimeandType=Select Time and Type Timeline.ui.countsview.menuItem.zoomIntoTimeRange=Zoom into Time Range -CountsViewPane.loggedTask.name=Updating Counts Graph -CountsViewPane.loggedTask.prepUpdate=preparing update -CountsViewPane.loggedTask.resetUI=resetting ui -CountsViewPane.tooltip.text={0} {1} events\nbetween {2}\nand {3} -CountsViewPane.loggedTask.updatingCounts=updating counts -CountsViewPane.loggedTask.wrappingUp=wrapping up CountsViewPane.scaleLabel.text=Scale\: CountsViewPane.logRadio.text=Logarithmic CountsViewPane.linearRadio.text=Linear diff --git a/Core/src/org/sleuthkit/autopsy/timeline/ui/countsview/CountsViewPane.java b/Core/src/org/sleuthkit/autopsy/timeline/ui/countsview/CountsViewPane.java index e72b0403db..04c33d0898 100644 --- a/Core/src/org/sleuthkit/autopsy/timeline/ui/countsview/CountsViewPane.java +++ b/Core/src/org/sleuthkit/autopsy/timeline/ui/countsview/CountsViewPane.java @@ -69,6 +69,11 @@ import org.sleuthkit.autopsy.timeline.datamodel.FilteredEventsModel; import org.sleuthkit.autopsy.timeline.datamodel.eventtype.EventType; import org.sleuthkit.autopsy.timeline.datamodel.eventtype.RootEventType; import org.sleuthkit.autopsy.timeline.ui.AbstractVisualizationPane; +import static org.sleuthkit.autopsy.timeline.ui.countsview.Bundle.CountsViewPane_loggedTask_name; +import static org.sleuthkit.autopsy.timeline.ui.countsview.Bundle.CountsViewPane_loggedTask_prepUpdate; +import static org.sleuthkit.autopsy.timeline.ui.countsview.Bundle.CountsViewPane_loggedTask_resetUI; +import static org.sleuthkit.autopsy.timeline.ui.countsview.Bundle.CountsViewPane_loggedTask_updatingCounts; +import static org.sleuthkit.autopsy.timeline.ui.countsview.Bundle.CountsViewPane_tooltip_text; import org.sleuthkit.autopsy.timeline.utils.RangeDivisionInfo; /** @@ -117,8 +122,18 @@ public class CountsViewPane extends AbstractVisualizationPane getUpdateTask() { - return new LoggedTask(NbBundle.getMessage(this.getClass(), "CountsViewPane.loggedTask.name"), true) { + return new LoggedTask(CountsViewPane_loggedTask_name(), true) { @Override protected Boolean call() throws Exception { @@ -126,13 +141,11 @@ public class CountsViewPane extends AbstractVisualizationPane { - setCursor(Cursor.WAIT); - }); + updateMessage(CountsViewPane_loggedTask_prepUpdate()); + Platform.runLater(() -> setCursor(Cursor.WAIT)); final RangeDivisionInfo rangeInfo = RangeDivisionInfo.getRangeDivisionInfo(filteredEvents.timeRangeProperty().get()); - chart.setRangeInfo(rangeInfo); + chart.setRangeInfo(rangeInfo); //do we need this. It seems like a hack. //extend range to block bounderies (ie day, month, year) final long lowerBound = rangeInfo.getLowerBound(); final long upperBound = rangeInfo.getUpperBound(); @@ -140,29 +153,30 @@ public class CountsViewPane extends AbstractVisualizationPane { - updateMessage(NbBundle.getMessage(this.getClass(), "CountsViewPane.loggedTask.resetUI")); + eventTypeMap.clear(); dataSeries.clear(); dateAxis.getCategories().clear(); - - DateTime start = timeRange.getStart(); - while (timeRange.contains(start)) { - //add bar/'category' label for the current interval - final String dateString = start.toString(rangeInfo.getTickFormatter()); - dateAxis.getCategories().add(dateString); - - //increment for next iteration - start = start.plus(rangeInfo.getPeriodSize().getPeriod()); - } - - //make all series to ensure they get created in consistent order - EventType.allTypes.forEach(CountsViewPane.this::getSeries); }); - DateTime start = timeRange.getStart(); + while (timeRange.contains(start)) { + //add bar/'category' label for the current interval + final String dateString = start.toString(rangeInfo.getTickFormatter()); + Platform.runLater(() -> { + + dateAxis.getCategories().add(dateString); + }); + //increment for next iteration + start = start.plus(rangeInfo.getPeriodSize().getPeriod()); + } + + //make all series to ensure they get created in consistent order + EventType.allTypes.forEach(CountsViewPane.this::getSeries); + + start = timeRange.getStart(); while (timeRange.contains(start)) { final String startString = start.toString(rangeInfo.getTickFormatter()); @@ -197,8 +211,7 @@ public class CountsViewPane extends AbstractVisualizationPane { - updateMessage( - NbBundle.getMessage(this.getClass(), "CountsViewPane.loggedTask.updatingCounts")); getSeries(et).getData().add(xyData); if (scale.get().equals(ScaleType.LINEAR)) { countAxis.setTickUnit(Math.pow(10, Math.max(0, Math.floor(Math.log10(fmax)) - 1))); @@ -235,29 +247,26 @@ public class CountsViewPane extends AbstractVisualizationPane { - updateMessage( - NbBundle.getMessage(this.getClass(), "CountsViewPane.loggedTask.updatingCounts")); - updateProgress(fp, rangeInfo.getPeriodsInRange()); - }); + updateMessage(CountsViewPane_loggedTask_updatingCounts()); + updateProgress(fp, rangeInfo.getPeriodsInRange()); } } } - - Platform.runLater(() -> { - updateMessage(NbBundle.getMessage(this.getClass(), "CountsViewPane.loggedTask.wrappingUp")); - updateProgress(1, 1); - layoutDateLabels(); - setCursor(Cursor.NONE); - }); - + updateProgress(1, 1); return max > 0; } + + @Override + + protected void succeeded() { + super.succeeded(); + layoutDateLabels(); + setCursor(Cursor.DEFAULT); + } }; } @@ -337,16 +346,15 @@ public class CountsViewPane extends AbstractVisualizationPane { XYChart.Series series = new XYChart.Series<>(); series.setName(et.getDisplayName()); - dataSeries.add(series); + dataSeries.add(series); return series; }); - + // XYChart.Series series = eventTypeMap.get(et); // if (series == null) { // // } // return series; - } /** @@ -393,7 +401,7 @@ public class CountsViewPane extends AbstractVisualizationPane { @@ -410,7 +418,7 @@ public class CountsViewPane extends AbstractVisualizationPane { @@ -424,7 +432,7 @@ public class CountsViewPane extends AbstractVisualizationPane { @@ -434,7 +442,7 @@ public class CountsViewPane extends AbstractVisualizationPane { @@ -514,9 +522,9 @@ public class CountsViewPane extends AbstractVisualizationPane