Changeset 31179 in osm for applications/editors/josm


Ignore:
Timestamp:
2015-06-02T13:27:08+02:00 (10 years ago)
Author:
nokutu
Message:

Solved bugs with end of sequence pictures and implemented a mechanism to protect against bad sequences comming from Mapillary API

Location:
applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryToggleDialog.java

    r31178 r31179  
    106106                        }
    107107                        if (this.image != null) {
     108                                this.nextButton.setEnabled(true);
     109                                this.previousButton.setEnabled(true);
     110                                if (this.image.next() == null)
     111                                        this.nextButton.setEnabled(false);
     112                                if (this.image.previous() == null)
     113                                        this.previousButton.setEnabled(false);
     114                                       
    108115                                CacheAccess<String, BufferedImageCacheEntry> prev;
    109116                                try {
     
    166173                        if (MapillaryToggleDialog.getInstance().getImage() != null) {
    167174                                MapillaryData.getInstance().selectNext();
    168                                 Main.map.mapView.zoomTo(MapillaryData.getInstance()
    169                                                 .getSelectedImage().getLatLon());
     175                                if (MapillaryData.getInstance()
     176                                                .getSelectedImage() != null)
     177                                        Main.map.mapView.zoomTo(MapillaryData.getInstance()
     178                                                        .getSelectedImage().getLatLon());
    170179                        }
    171180                }
     
    189198                        if (MapillaryToggleDialog.getInstance().getImage() != null) {
    190199                                MapillaryData.getInstance().selectPrevious();
    191                                 Main.map.mapView.zoomTo(MapillaryData.getInstance()
    192                                                 .getSelectedImage().getLatLon());
     200                                if (MapillaryData.getInstance()
     201                                                .getSelectedImage() != null)
     202                                        Main.map.mapView.zoomTo(MapillaryData.getInstance()
     203                                                        .getSelectedImage().getLatLon());
    193204                        }
    194205                }
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/downloads/MapillarySequenceDownloadThread.java

    r31178 r31179  
    3434        private Bounds bounds;
    3535
    36         public MapillarySequenceDownloadThread(ExecutorService ex, String url, Bounds bounds) {
     36        public MapillarySequenceDownloadThread(ExecutorService ex, String url,
     37                        Bounds bounds) {
    3738                this.url = url;
    3839                this.ex = ex;
     
    5152                        }
    5253                        JsonArray jsonseq = jsonall.getJsonArray("ss");
     54                        // At the moment there is a bug with some sequences at Mapillay API,
     55                        // so if they are worng he use this variable to skip them.
     56                        boolean isSequenceWrong = false;
    5357                        for (int i = 0; i < jsonseq.size(); i++) {
    5458                                JsonObject jsonobj = jsonseq.getJsonObject(i);
     
    6468                                                                                .getJsonNumber(0).doubleValue(), cas
    6569                                                                                .getJsonNumber(j).doubleValue()));
     70                                        } catch (IndexOutOfBoundsException e) {
     71                                                Main.error(e);
     72                                                isSequenceWrong = true;
    6673                                        } catch (Exception e) {
    6774                                                Main.error(e);
    6875                                        }
    6976                                }
     77                                if (isSequenceWrong)
     78                                        break;
    7079                                MapillarySequence sequence = new MapillarySequence();
    7180                                int first = -1;
Note: See TracChangeset for help on using the changeset viewer.