mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-15 01:07:42 +00:00
minor cleanup of time related code
This commit is contained in:
parent
392a05724e
commit
b89ba9a83e
@ -39,21 +39,19 @@ public class ZoomOut extends Action {
|
|||||||
super(Bundle.ZoomOut_action_text());
|
super(Bundle.ZoomOut_action_text());
|
||||||
setLongText(Bundle.ZoomOut_longText());
|
setLongText(Bundle.ZoomOut_longText());
|
||||||
setGraphic(new ImageView(MAGNIFIER_OUT));
|
setGraphic(new ImageView(MAGNIFIER_OUT));
|
||||||
setEventHandler(actionEvent -> {
|
setEventHandler(actionEvent -> controller.pushZoomOutTime());
|
||||||
controller.pushZoomOutTime();
|
|
||||||
});
|
|
||||||
|
|
||||||
//disable action when the current time range already encompases the entire case.
|
//disable action when the current time range already encompases the entire case.
|
||||||
disabledProperty().bind(new BooleanBinding() {
|
disabledProperty().bind(new BooleanBinding() {
|
||||||
private final FilteredEventsModel eventsModel = controller.getEventsModel();
|
private final FilteredEventsModel eventsModel = controller.getEventsModel();
|
||||||
|
|
||||||
{
|
{
|
||||||
bind(eventsModel.zoomParametersProperty());
|
bind(eventsModel.zoomParametersProperty(), eventsModel.timeRangeProperty());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean computeValue() {
|
protected boolean computeValue() {
|
||||||
return eventsModel.zoomParametersProperty().getValue().getTimeRange().contains(eventsModel.getSpanningInterval());
|
return eventsModel.timeRangeProperty().get().contains(eventsModel.getSpanningInterval());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@ import java.util.Collection;
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import javafx.beans.Observable;
|
import javafx.beans.Observable;
|
||||||
@ -31,7 +32,6 @@ import javafx.beans.property.ReadOnlyObjectWrapper;
|
|||||||
import javafx.collections.ListChangeListener;
|
import javafx.collections.ListChangeListener;
|
||||||
import javafx.collections.MapChangeListener;
|
import javafx.collections.MapChangeListener;
|
||||||
import javax.annotation.concurrent.GuardedBy;
|
import javax.annotation.concurrent.GuardedBy;
|
||||||
import org.joda.time.DateTimeZone;
|
|
||||||
import org.joda.time.Interval;
|
import org.joda.time.Interval;
|
||||||
import org.sleuthkit.autopsy.casemodule.Case;
|
import org.sleuthkit.autopsy.casemodule.Case;
|
||||||
import org.sleuthkit.autopsy.casemodule.events.BlackBoardArtifactTagAddedEvent;
|
import org.sleuthkit.autopsy.casemodule.events.BlackBoardArtifactTagAddedEvent;
|
||||||
@ -153,7 +153,7 @@ public final class FilteredEventsModel {
|
|||||||
if (zoomParams.getTypeZoomLevel().equals(requestedTypeZoom.get()) == false
|
if (zoomParams.getTypeZoomLevel().equals(requestedTypeZoom.get()) == false
|
||||||
|| zoomParams.getDescriptionLOD().equals(requestedLOD.get()) == false
|
|| zoomParams.getDescriptionLOD().equals(requestedLOD.get()) == false
|
||||||
|| zoomParams.getFilter().equals(requestedFilter.get()) == false
|
|| zoomParams.getFilter().equals(requestedFilter.get()) == false
|
||||||
|| zoomParams.getTimeRange().equals(requestedTimeRange.get()) == false) {
|
|| Objects.equals(zoomParams.getTimeRange(), requestedTimeRange.get()) == false) {
|
||||||
|
|
||||||
requestedTypeZoom.set(zoomParams.getTypeZoomLevel());
|
requestedTypeZoom.set(zoomParams.getTypeZoomLevel());
|
||||||
requestedFilter.set(zoomParams.getFilter());
|
requestedFilter.set(zoomParams.getFilter());
|
||||||
@ -294,7 +294,7 @@ public final class FilteredEventsModel {
|
|||||||
* repository, ignoring any filters or requested ranges
|
* repository, ignoring any filters or requested ranges
|
||||||
*/
|
*/
|
||||||
public Interval getSpanningInterval() {
|
public Interval getSpanningInterval() {
|
||||||
return new Interval(getMinTime() * 1000, 1000 + getMaxTime() * 1000, DateTimeZone.UTC);
|
return new Interval(getMinTime() * 1000, 1000 + getMaxTime() * 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -93,12 +93,10 @@ import org.sleuthkit.autopsy.timeline.utils.RangeDivisionInfo;
|
|||||||
*/
|
*/
|
||||||
public class CountsViewPane extends AbstractVisualizationPane<String, Number, Node, EventCountsChart> {
|
public class CountsViewPane extends AbstractVisualizationPane<String, Number, Node, EventCountsChart> {
|
||||||
|
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(CountsViewPane.class.getName());
|
||||||
private static final Effect SELECTED_NODE_EFFECT = new Lighting();
|
private static final Effect SELECTED_NODE_EFFECT = new Lighting();
|
||||||
|
|
||||||
private static final Logger LOGGER = Logger.getLogger(CountsViewPane.class.getName());
|
|
||||||
|
|
||||||
private final NumberAxis countAxis = new NumberAxis();
|
private final NumberAxis countAxis = new NumberAxis();
|
||||||
|
|
||||||
private final CategoryAxis dateAxis = new CategoryAxis(FXCollections.<String>observableArrayList());
|
private final CategoryAxis dateAxis = new CategoryAxis(FXCollections.<String>observableArrayList());
|
||||||
|
|
||||||
private final SimpleObjectProperty<ScaleType> scale = new SimpleObjectProperty<>(ScaleType.LOGARITHMIC);
|
private final SimpleObjectProperty<ScaleType> scale = new SimpleObjectProperty<>(ScaleType.LOGARITHMIC);
|
||||||
@ -166,16 +164,15 @@ public class CountsViewPane extends AbstractVisualizationPane<String, Number, No
|
|||||||
DateTime start = timeRange.getStart();
|
DateTime start = timeRange.getStart();
|
||||||
while (timeRange.contains(start)) {
|
while (timeRange.contains(start)) {
|
||||||
|
|
||||||
final String dateString = start.toString(rangeInfo.getTickFormatter());
|
final String startString = start.toString(rangeInfo.getTickFormatter());
|
||||||
DateTime end = start.plus(rangeInfo.getPeriodSize().getPeriod());
|
DateTime end = start.plus(rangeInfo.getPeriodSize().getPeriod());
|
||||||
final Interval interval = new Interval(start, end);
|
final Interval interval = new Interval(start, end);
|
||||||
|
//increment for next iteration
|
||||||
|
start = end;
|
||||||
|
|
||||||
//query for current range
|
//query for current range
|
||||||
Map<EventType, Long> eventCounts = filteredEvents.getEventCounts(interval);
|
Map<EventType, Long> eventCounts = filteredEvents.getEventCounts(interval);
|
||||||
|
|
||||||
//increment for next iteration
|
|
||||||
start = end;
|
|
||||||
|
|
||||||
int dateMax = 0; //used in max tracking
|
int dateMax = 0; //used in max tracking
|
||||||
|
|
||||||
//for each type add data to graph
|
//for each type add data to graph
|
||||||
@ -190,7 +187,7 @@ public class CountsViewPane extends AbstractVisualizationPane<String, Number, No
|
|||||||
final double adjustedCount = count == 0 ? 0 : scale.get().adjust(count);
|
final double adjustedCount = count == 0 ? 0 : scale.get().adjust(count);
|
||||||
|
|
||||||
dateMax += adjustedCount;
|
dateMax += adjustedCount;
|
||||||
final XYChart.Data<String, Number> xyData = new BarChart.Data<>(dateString, adjustedCount);
|
final XYChart.Data<String, Number> xyData = new BarChart.Data<>(startString, adjustedCount);
|
||||||
|
|
||||||
xyData.nodeProperty().addListener((Observable o) -> {
|
xyData.nodeProperty().addListener((Observable o) -> {
|
||||||
final Node node = xyData.getNode();
|
final Node node = xyData.getNode();
|
||||||
@ -202,9 +199,8 @@ public class CountsViewPane extends AbstractVisualizationPane<String, Number, No
|
|||||||
NbBundle.getMessage(this.getClass(), "CountsViewPane.tooltip.text",
|
NbBundle.getMessage(this.getClass(), "CountsViewPane.tooltip.text",
|
||||||
count,
|
count,
|
||||||
et.getDisplayName(),
|
et.getDisplayName(),
|
||||||
dateString,
|
startString,
|
||||||
interval.getEnd().toString(
|
interval.getEnd().toString(rangeInfo.getTickFormatter())));
|
||||||
rangeInfo.getTickFormatter())));
|
|
||||||
tooltip.setGraphic(new ImageView(et.getFXImage()));
|
tooltip.setGraphic(new ImageView(et.getFXImage()));
|
||||||
Tooltip.install(node, tooltip);
|
Tooltip.install(node, tooltip);
|
||||||
|
|
||||||
@ -219,7 +215,7 @@ public class CountsViewPane extends AbstractVisualizationPane<String, Number, No
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
node.addEventHandler(MouseEvent.MOUSE_CLICKED, new BarClickHandler(node, dateString, interval, et));
|
node.addEventHandler(MouseEvent.MOUSE_CLICKED, new BarClickHandler(node, startString, interval, et));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -82,7 +82,6 @@ public class RangeDivisionInfo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private RangeDivisionInfo(Interval timeRange, int periodsInRange, TimeUnits periodSize, DateTimeFormatter tickformatter, long lowerBound, long upperBound) {
|
private RangeDivisionInfo(Interval timeRange, int periodsInRange, TimeUnits periodSize, DateTimeFormatter tickformatter, long lowerBound, long upperBound) {
|
||||||
super();
|
|
||||||
this.numberOfBlocks = periodsInRange;
|
this.numberOfBlocks = periodsInRange;
|
||||||
this.blockSize = periodSize;
|
this.blockSize = periodSize;
|
||||||
this.tickFormatter = tickformatter;
|
this.tickFormatter = tickformatter;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user