mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-06 21:00:22 +00:00
Review
This commit is contained in:
parent
821b733428
commit
37756a5f90
@ -905,8 +905,6 @@ final public class MapPanel extends javax.swing.JPanel {
|
||||
int lastY = 0;
|
||||
|
||||
boolean first = true;
|
||||
|
||||
GeneralPath polygon = new GeneralPath(GeneralPath.WIND_EVEN_ODD, track.size());
|
||||
|
||||
for (MapWaypoint wp : track) {
|
||||
Point2D p = map.getTileFactory().geoToPixel(wp.getPosition(), map.getZoom());
|
||||
@ -955,6 +953,13 @@ final public class MapPanel extends javax.swing.JPanel {
|
||||
this.areas = areas;
|
||||
}
|
||||
|
||||
/**
|
||||
* Shade in the area on the map.
|
||||
*
|
||||
* @param area The waypoints defining the outline of the area.
|
||||
* @param g Graphics2D
|
||||
* @param map JXMapViewer
|
||||
*/
|
||||
private void drawArea(Set<MapWaypoint> area, Graphics2D g, JXMapViewer map) {
|
||||
if (area.isEmpty()) {
|
||||
return;
|
||||
@ -978,9 +983,10 @@ final public class MapPanel extends javax.swing.JPanel {
|
||||
polygon.closePath();
|
||||
|
||||
Color areaColor = area.iterator().next().getColor();
|
||||
g.setPaint(new Color((float)(areaColor.getRed() / 255.0),
|
||||
(float)(areaColor.getGreen() / 255.0),
|
||||
(float)(areaColor.getBlue() / 255.0),
|
||||
final double maxColorValue = 255.0;
|
||||
g.setPaint(new Color((float)(areaColor.getRed() / maxColorValue),
|
||||
(float)(areaColor.getGreen() / maxColorValue),
|
||||
(float)(areaColor.getBlue() / maxColorValue),
|
||||
.2f));
|
||||
g.fill(polygon);
|
||||
g.draw(polygon);
|
||||
|
@ -22,21 +22,17 @@ import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.logging.Level;
|
||||
import org.openide.util.NbBundle.Messages;
|
||||
import org.sleuthkit.datamodel.BlackboardArtifact;
|
||||
import org.sleuthkit.datamodel.BlackboardAttribute;
|
||||
import org.sleuthkit.datamodel.blackboardutils.attributes.BlackboardJsonAttrUtil;
|
||||
import org.sleuthkit.datamodel.blackboardutils.attributes.BlackboardJsonAttrUtil.InvalidJsonException;
|
||||
import org.sleuthkit.datamodel.blackboardutils.attributes.GeoAreaPoints;
|
||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||
|
||||
/**
|
||||
* A GPS track with which wraps the TSK_GPS_AREA artifact.
|
||||
*/
|
||||
public final class Area extends GeoPath {
|
||||
private static final Logger LOGGER = Logger.getLogger(Track.class.getName());
|
||||
|
||||
/**
|
||||
* Construct a new Area for the given artifact.
|
||||
*
|
||||
@ -108,14 +104,12 @@ public final class Area extends GeoPath {
|
||||
private GeoAreaPoints getPointsList(Map<BlackboardAttribute.ATTRIBUTE_TYPE, BlackboardAttribute> attributeMap) throws GeoLocationDataException {
|
||||
BlackboardAttribute attribute = attributeMap.get(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_GEO_AREAPOINTS);
|
||||
if (attribute == null) {
|
||||
LOGGER.log(Level.SEVERE, "No TSK_GEO_AREAPOINTS attribute was present on the artifact.");
|
||||
throw new GeoLocationDataException("No TSK_GEO_AREAPOINTS attribute present in attribute map to parse.");
|
||||
}
|
||||
|
||||
try {
|
||||
return BlackboardJsonAttrUtil.fromAttribute(attribute, GeoAreaPoints.class);
|
||||
} catch (InvalidJsonException ex) {
|
||||
LOGGER.log(Level.SEVERE, "TSK_GEO_AREAPOINTS could not be properly parsed from TSK_GEO_AREAPOINTS attribute.");
|
||||
throw new GeoLocationDataException("Unable to parse area points in TSK_GEO_AREAPOINTS attribute", ex);
|
||||
}
|
||||
}
|
||||
|
@ -22,6 +22,8 @@ package org.sleuthkit.autopsy.geolocation.datamodel;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.logging.Level;
|
||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||
import org.sleuthkit.datamodel.BlackboardArtifact;
|
||||
import org.sleuthkit.datamodel.Content;
|
||||
import org.sleuthkit.datamodel.SleuthkitCase;
|
||||
@ -31,6 +33,8 @@ import org.sleuthkit.datamodel.TskCoreException;
|
||||
* Class representing a series of waypoints that form a path.
|
||||
*/
|
||||
public class GeoPath {
|
||||
private static final Logger LOGGER = Logger.getLogger(GeoPath.class.getName());
|
||||
|
||||
private final List<Waypoint> waypointList;
|
||||
private final String pathName;
|
||||
private final BlackboardArtifact artifact;
|
||||
@ -85,6 +89,7 @@ public class GeoPath {
|
||||
tracks.add(new Track(artifact));
|
||||
|
||||
} catch (GeoLocationDataException e) {
|
||||
LOGGER.log(Level.WARNING, "Error loading track from artifact with ID " + artifact.getArtifactID(), e);
|
||||
allParsedSuccessfully = false;
|
||||
}
|
||||
}
|
||||
@ -108,7 +113,7 @@ public class GeoPath {
|
||||
* @throws GeoLocationDataException
|
||||
*/
|
||||
public static GeoLocationParseResult<Area> getAreas(SleuthkitCase skCase, List<? extends Content> sourceList) throws GeoLocationDataException {
|
||||
List<BlackboardArtifact> artifacts = null;
|
||||
List<BlackboardArtifact> artifacts;
|
||||
boolean allParsedSuccessfully = true;
|
||||
List<Area> areas = new ArrayList<>();
|
||||
try {
|
||||
@ -119,6 +124,7 @@ public class GeoPath {
|
||||
areas.add(new Area(artifact));
|
||||
|
||||
} catch (GeoLocationDataException e) {
|
||||
LOGGER.log(Level.WARNING, "Error loading track from artifact with ID " + artifact.getArtifactID(), e);
|
||||
allParsedSuccessfully = false;
|
||||
}
|
||||
}
|
||||
@ -126,7 +132,7 @@ public class GeoPath {
|
||||
} catch (TskCoreException ex) {
|
||||
throw new GeoLocationDataException("Unable to get artifacts for type: TSK_GPS_BOOKMARK", ex);
|
||||
}
|
||||
return new GeoLocationParseResult<Area>(areas, allParsedSuccessfully);
|
||||
return new GeoLocationParseResult<>(areas, allParsedSuccessfully);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -22,20 +22,17 @@ import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.logging.Level;
|
||||
import org.openide.util.NbBundle.Messages;
|
||||
import org.sleuthkit.datamodel.BlackboardArtifact;
|
||||
import org.sleuthkit.datamodel.BlackboardAttribute;
|
||||
import org.sleuthkit.datamodel.blackboardutils.attributes.BlackboardJsonAttrUtil;
|
||||
import org.sleuthkit.datamodel.blackboardutils.attributes.BlackboardJsonAttrUtil.InvalidJsonException;
|
||||
import org.sleuthkit.datamodel.blackboardutils.attributes.GeoTrackPoints;
|
||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||
|
||||
/**
|
||||
* A GPS track with which wraps the TSK_GPS_TRACK artifact.
|
||||
*/
|
||||
public final class Track extends GeoPath {
|
||||
private static final Logger LOGGER = Logger.getLogger(Track.class.getName());
|
||||
|
||||
private final Long startTimestamp;
|
||||
private final Long endTimeStamp;
|
||||
@ -134,14 +131,12 @@ public final class Track extends GeoPath {
|
||||
private GeoTrackPoints getPointsList(Map<BlackboardAttribute.ATTRIBUTE_TYPE, BlackboardAttribute> attributeMap) throws GeoLocationDataException {
|
||||
BlackboardAttribute attribute = attributeMap.get(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_GEO_TRACKPOINTS);
|
||||
if (attribute == null) {
|
||||
LOGGER.log(Level.SEVERE, "No TSK_GEO_TRACKPOINTS attribute was present on the artifact.");
|
||||
throw new GeoLocationDataException("No TSK_GEO_TRACKPOINTS attribute present in attribute map to parse.");
|
||||
}
|
||||
|
||||
try {
|
||||
return BlackboardJsonAttrUtil.fromAttribute(attribute, GeoTrackPoints.class);
|
||||
} catch (InvalidJsonException ex) {
|
||||
LOGGER.log(Level.SEVERE, "TSK_GEO_TRACKPOINTS could not be properly parsed from TSK_GEO_TRACKPOINTS attribute.");
|
||||
throw new GeoLocationDataException("Unable to parse track points in TSK_GEO_TRACKPOINTS attribute", ex);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user