Ignore:
Timestamp:
2019-11-03T22:11:11+01:00 (6 years ago)
Author:
Don-vip
Message:

see #16796 - use IGpxTrack in GpxData (patch by Bjoeni)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/gpx/GpxData.java

    r15497 r15502  
    7373     * A list of tracks this file consists of
    7474     */
    75     private final ArrayList<GpxTrack> privateTracks = new ArrayList<>();
     75    private final ArrayList<IGpxTrack> privateTracks = new ArrayList<>();
    7676    /**
    7777     * GPX routes in this file
     
    100100     * @see #getTracks()
    101101     */
    102     public final Collection<GpxTrack> tracks = new ListeningCollection<GpxTrack>(privateTracks, this::invalidate) {
     102    public final Collection<IGpxTrack> tracks = new ListeningCollection<IGpxTrack>(privateTracks, this::invalidate) {
    103103
    104104        @Override
    105         protected void removed(GpxTrack cursor) {
     105        protected void removed(IGpxTrack cursor) {
    106106            cursor.removeListener(proxy);
    107107            super.removed(cursor);
     
    109109
    110110        @Override
    111         protected void added(GpxTrack cursor) {
     111        protected void added(IGpxTrack cursor) {
    112112            super.added(cursor);
    113113            cursor.addListener(proxy);
     
    174174
    175175        if (cutOverlapping) {
    176             for (GpxTrack trk : other.privateTracks) {
     176            for (IGpxTrack trk : other.privateTracks) {
    177177                cutOverlapping(trk, connect);
    178178            }
     
    186186    }
    187187
    188     private void cutOverlapping(GpxTrack trk, boolean connect) {
     188    private void cutOverlapping(IGpxTrack trk, boolean connect) {
    189189        List<IGpxTrackSegment> segsOld = new ArrayList<>(trk.getSegments());
    190190        List<IGpxTrackSegment> segsNew = new ArrayList<>();
     
    366366        if (segSpans == null) {
    367367            segSpans = new ArrayList<>();
    368             for (GpxTrack trk : privateTracks) {
     368            for (IGpxTrack trk : privateTracks) {
    369369                for (IGpxTrackSegment seg : trk.getSegments()) {
    370370                    GpxTrackSegmentSpan s = GpxTrackSegmentSpan.tryGetFromSegment(seg);
     
    392392     * @return The tracks.
    393393     */
    394     public synchronized Collection<GpxTrack> getTracks() {
     394    public synchronized Collection<IGpxTrack> getTracks() {
    395395        return Collections.unmodifiableCollection(privateTracks);
    396396    }
     
    418418     * @since 12156
    419419     */
    420     public synchronized void addTrack(GpxTrack track) {
     420    public synchronized void addTrack(IGpxTrack track) {
    421421        if (privateTracks.stream().anyMatch(t -> t == track)) {
    422422            throw new IllegalArgumentException(MessageFormat.format("The track was already added to this data: {0}", track));
     
    432432     * @since 12156
    433433     */
    434     public synchronized void removeTrack(GpxTrack track) {
     434    public synchronized void removeTrack(IGpxTrack track) {
    435435        if (!privateTracks.removeIf(t -> t == track)) {
    436436            throw new IllegalArgumentException(MessageFormat.format("The track was not in this data: {0}", track));
     
    626626     * @return The stream
    627627     * @see #getTracks()
    628      * @see GpxTrack#getSegments()
     628     * @see IGpxTrack#getSegments()
    629629     * @see IGpxTrackSegment#getWayPoints()
    630630     * @since 12156
     
    698698            }
    699699        }
    700         for (GpxTrack trk : privateTracks) {
     700        for (IGpxTrack trk : privateTracks) {
    701701            Bounds trkBounds = trk.getBounds();
    702702            if (trkBounds != null) {
     
    716716     */
    717717    public synchronized double length() {
    718         return privateTracks.stream().mapToDouble(GpxTrack::length).sum();
     718        return privateTracks.stream().mapToDouble(IGpxTrack::length).sum();
    719719    }
    720720
     
    724724     * @return  minimum and maximum dates in array of 2 elements
    725725     */
    726     public static Date[] getMinMaxTimeForTrack(GpxTrack trk) {
     726    public static Date[] getMinMaxTimeForTrack(IGpxTrack trk) {
    727727        final LongSummaryStatistics statistics = trk.getSegments().stream()
    728728                .flatMap(seg -> seg.getWayPoints().stream())
     
    793793        double py = p.north();
    794794        double rx = 0.0, ry = 0.0, sx, sy, x, y;
    795         for (GpxTrack track : privateTracks) {
     795        for (IGpxTrack track : privateTracks) {
    796796            for (IGpxTrackSegment seg : track.getSegments()) {
    797797                WayPoint r = null;
     
    907907    public static class LinesIterator implements Iterator<Line> {
    908908
    909         private Iterator<GpxTrack> itTracks;
     909        private Iterator<IGpxTrack> itTracks;
    910910        private int idxTracks;
    911911        private Iterator<IGpxTrackSegment> itTrackSegments;
     
    915915        private final boolean[] trackVisibility;
    916916        private Map<String, Object> trackAttributes;
    917         private GpxTrack curTrack;
     917        private IGpxTrack curTrack;
    918918
    919919        /**
Note: See TracChangeset for help on using the changeset viewer.