Changeset 31176 in osm for applications


Ignore:
Timestamp:
2015-06-02T11:30:58+02:00 (10 years ago)
Author:
nokutu
Message:

Code cleaned and logs improved

Location:
applications/editors/josm/plugins/mapillary
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/mapillary/.classpath

    r31175 r31176  
    33        <classpathentry kind="src" path="src"/>
    44        <classpathentry combineaccessrules="false" kind="src" path="/JOSM"/>
    5         <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
     5        <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    66        <classpathentry kind="lib" path="/home/nokutu/Dropbox/programacion/GSoC/josm/plugins/mapillary/lib/sanselan-0.97-incubator.jar"/>
    77        <classpathentry kind="output" path="bin"/>
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryData.java

    r31166 r31176  
    2828
    2929        private final List<MapillaryImage> images;
    30         private MapillaryImage selectedImage = null;
    31         private List<MapillaryImage> multiSelectedImages;
     30        private MapillaryImage selectedImage;
     31        private final List<MapillaryImage> multiSelectedImages;
    3232
    3333        public MapillaryData() {
    3434                images = new CopyOnWriteArrayList<>();
    3535                multiSelectedImages = new ArrayList<>();
     36                selectedImage = null;
    3637        }
    3738
     
    4142                }
    4243                return INSTANCE;
    43         }
    44 
    45         public static void deleteInstance() {
    46                 INSTANCE = null;
    47         }
    48 
    49         public MapillaryData(List<MapillaryImage> images) {
    50                 this.images = images;
    5144        }
    5245
     
    154147        /**
    155148         * Selects a new image and then starts a new MapillaryImageDownloadThread
    156          * thread in order to download its surrounding thumbnails and images. If the
     149         * thread in order to download its surrounding thumbnails. If the
    157150         * user does ctrl+click, this isn't triggered.
    158151         *
    159152         * @param image
    160153         *            The MapillaryImage which is going to be selected
    161          * @param clearThumbnail
    162          *            Whether if the old selected MapillaryImage's thumbnail should
    163          *            be deleted or not.
    164          * @param clearImageWhether
    165          *            if the old selected MapillaryImage's full resolution image
    166          *            should be deleted or not.
    167154         */
    168155        public void setSelectedImage(MapillaryImage image) {
     
    236223                        CacheEntryAttributes attributes, LoadResult result) {
    237224                // DO NOTHING
    238 
    239225        }
    240226}
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryExportAction.java

    r31173 r31176  
    3939                dlg.setVisible(true);
    4040
     41                // Checks if the inputs are correct and starts the export process.
    4142                if (pane.getValue() != null
    4243                                && (int) pane.getValue() == JOptionPane.OK_OPTION
     
    5152                        }
    5253                }
    53 
    5454                dlg.dispose();
    5555        }
    5656
    5757        /**
    58          * Exports the given images from the database
     58         * Exports the given images from the database.
    5959         */
    6060        public void export(List<MapillaryImage> images) {
    61                 new Thread(new MapillaryExportManager(tr("Downloading..."), images,
     61                new Thread(new MapillaryExportManager(images,
    6262                                dialog.chooser.getSelectedFile().toString())).start();
    6363        }
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryExportDialog.java

    r31164 r31176  
    4949                group.add(sequence);
    5050                group.add(selected);
     51                // Some options are disabled depending on the circumstances
    5152                if (MapillaryData.getInstance().getSelectedImage() == null
    5253                                || MapillaryData.getInstance().getSelectedImage().getSequence() == null) {
     
    6061                choose.addActionListener(this);
    6162
     63                // All options belong to the same jpanel so the are in line.
    6264                JPanel jpanel = new JPanel();
    6365                jpanel.setLayout(new BoxLayout(jpanel, BoxLayout.PAGE_AXIS));
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryImage.java

    r31166 r31176  
    1515        private Double ca;
    1616        private boolean isModified = false;
    17         public MapillarySequence sequence;
     17        private MapillarySequence sequence;
    1818
    1919        /**
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryImageDisplay.java

    r31166 r31176  
    2424 *
    2525 * @author Jorge
    26  *
     26 * @see ImageDisplay
     27 * @see MapillaryToggleDialog
    2728 */
    2829public class MapillaryImageDisplay extends JComponent {
     
    310311        }
    311312
     313        /**
     314         * Sets a new picture to be displayed.
     315         *
     316         * @param image
     317         */
    312318        public void setImage(BufferedImage image) {
    313319                synchronized (this) {
     
    320326                repaint();
    321327        }
    322        
     328
     329        /**
     330         * Returns the picture that is being displayerd
     331         *
     332         * @return
     333         */
    323334        public BufferedImage getImage() {
    324335                return this.image;
    325336        }
    326337
     338        /**
     339         * Paints the visible part of the picture.
     340         */
    327341        public void paintComponent(Graphics g) {
    328342                Image image;
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryLayer.java

    r31173 r31176  
    7575                        CACHE = JCSCacheManager.getCache("Mapillary");
    7676                } catch (IOException e) {
    77                         // TODO Auto-generated catch block
    78                         e.printStackTrace();
     77                        Main.error(e);
    7978                }
    8079                if (Main.map != null && Main.map.mapView != null) {
     
    9594        }
    9695
    97         public static MapillaryLayer getInstance() {
     96        public synchronized static MapillaryLayer getInstance() {
    9897                if (MapillaryLayer.INSTANCE == null)
    9998                        MapillaryLayer.INSTANCE = new MapillaryLayer();
     
    109108                        if (!this.bounds.contains(bounds)) {
    110109                                this.bounds.add(bounds);
    111                                 new MapillaryDownloader(mapillaryData).getImages(
    112                                                 bounds.getMin(), bounds.getMax());
    113                         }
    114                 }
    115         }
    116 
    117         /**
    118          * Returs the MapillaryData object, which acts as the database of the Layer.
     110                                new MapillaryDownloader().getImages(bounds.getMin(),
     111                                                bounds.getMax());
     112                        }
     113                }
     114        }
     115
     116        /**
     117         * Returns the MapillaryData object, which acts as the database of the
     118         * Layer.
    119119         *
    120120         * @return
     
    125125
    126126        /**
    127          * Method invoqued when the layer is destroyed.
     127         * Method invoked when the layer is destroyed.
    128128         */
    129129        @Override
     
    134134                MapillaryLayer.INSTANCE = null;
    135135                MapillaryPlugin.setMenuEnabled(MapillaryPlugin.EXPORT_MENU, false);
    136                 MapillaryData.deleteInstance();
     136                MapillaryData.INSTANCE = null;
    137137                Main.map.mapView.removeMouseListener(this);
    138138                MapView.removeEditLayerChangeListener(this);
     
    147147        @Override
    148148        public boolean isModified() {
    149                 for (MapillaryImage image : mapillaryData.getImages()) {
    150                         if (image.isModified()) {
     149                for (MapillaryImage image : mapillaryData.getImages())
     150                        if (image.isModified())
    151151                                return true;
    152                         }
    153                 }
    154152                return false;
    155153        }
     
    208206                                int width = icon.getIconWidth();
    209207                                int height = icon.getIconHeight();
    210                                
     208
    211209                                // Rotate the image
    212210                                double rotationRequired = Math.toRadians(image.getCa());
    213211                                double locationX = width / 2;
    214212                                double locationY = height / 2;
    215                                 AffineTransform tx = AffineTransform.getRotateInstance(rotationRequired, locationX, locationY);
    216                                 AffineTransformOp op = new AffineTransformOp(tx, AffineTransformOp.TYPE_BILINEAR);
    217                                
    218                                 g.drawImage(op.filter(bi, null), p.x - (width / 2), p.y - (height / 2),
    219                                                 Main.map.mapView);
    220                                
     213                                AffineTransform tx = AffineTransform.getRotateInstance(
     214                                                rotationRequired, locationX, locationY);
     215                                AffineTransformOp op = new AffineTransformOp(tx,
     216                                                AffineTransformOp.TYPE_BILINEAR);
     217
     218                                g.drawImage(op.filter(bi, null), p.x - (width / 2), p.y
     219                                                - (height / 2), Main.map.mapView);
    221220                        }
    222221                }
     
    278277        @Override
    279278        public void mouseClicked(MouseEvent e) {
    280                 if (e.getButton() != MouseEvent.BUTTON1) {
     279                if (e.getButton() != MouseEvent.BUTTON1)
    281280                        return;
    282                 }
    283                 if (Main.map.mapView.getActiveLayer() != this) {
     281                if (Main.map.mapView.getActiveLayer() != this)
    284282                        return;
    285                 }
    286283                Point clickPoint = e.getPoint();
    287284                double snapDistance = 10;
     
    290287                for (MapillaryImage image : mapillaryData.getImages()) {
    291288                        Point imagePoint = Main.map.mapView.getPoint(image.getLatLon());
    292                         // move the note point to the center of the icon where users are
    293                         // most likely to click when selecting
    294289                        imagePoint.setLocation(imagePoint.getX(), imagePoint.getY());
    295290                        double dist = clickPoint.distanceSq(imagePoint);
     
    371366                                sleep(1000);
    372367                        } catch (InterruptedException e) {
    373                                 // TODO Auto-generated catch block
    374                                 e.printStackTrace();
     368                                Main.error(e);
    375369                        }
    376370                        MapillaryLayer.getInstance().download();
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryPlugin.java

    r31173 r31176  
    2929        public static final int ICON_SIZE = 24;
    3030
    31         MapillaryDownloadAction downloadAction;
    32         MapillaryExportAction exportAction;
     31        private final MapillaryDownloadAction downloadAction;
     32        private final MapillaryExportAction exportAction;
    3333
    3434        public static JMenuItem DOWNLOAD_MENU;
    3535        public static JMenuItem EXPORT_MENU;
    3636
    37         public static String DIR;
    38 
    3937        public MapillaryPlugin(PluginInformation info) {
    4038                super(info);
     39                Main.logLevel = 1;
    4140                downloadAction = new MapillaryDownloadAction();
    4241                exportAction = new MapillaryExportAction();
     
    4746                                false, 14);
    4847                EXPORT_MENU.setEnabled(false);
    49                 MapillaryPlugin.DIR = this.getPluginDir();
    50 
    5148        }
    5249
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/cache/MapillaryCache.java

    r31159 r31176  
    66
    77import org.apache.commons.jcs.access.behavior.ICacheAccess;
     8import org.openstreetmap.josm.Main;
    89import org.openstreetmap.josm.data.cache.BufferedImageCacheEntry;
    910import org.openstreetmap.josm.data.cache.JCSCachedTileLoaderJob;
     
    3637                        }
    3738                } catch (MalformedURLException e) {
    38                         // TODO Auto-generated catch block
    39                         e.printStackTrace();
     39                        Main.error(e);
    4040                }
    4141        }
     
    6666        // @Override
    6767        protected boolean handleNotFound() {
    68                 // TODO Auto-generated method stub
    6968                return false;
    7069        }
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/downloads/MapillaryDownloader.java

    r31164 r31176  
    22
    33import org.openstreetmap.josm.Main;
    4 import org.openstreetmap.josm.plugins.mapillary.MapillaryData;
    54import org.openstreetmap.josm.data.Bounds;
    65import org.openstreetmap.josm.data.coor.LatLon;
     
    2120        private String[] parameters = { "lat", "lon", "distance", "limit",
    2221                        "min_lat", "min_lon", "max_lat", "max_lon" };
    23         private MapillaryData data;
    2422
    25         public MapillaryDownloader(MapillaryData data) {
    26                 this.data = data;
     23        public MapillaryDownloader() {
    2724        }
    2825
     
    4946                url2 += buildParameters(hash);
    5047                try {
    51                         Main.worker.submit(new MapillarySquareDownloadManagerThread(this.data,
    52                                         url1, url2, new Bounds(minLatLon, maxLatLon)));
     48                        Main.worker.submit(new MapillarySquareDownloadManagerThread(url1, url2, new Bounds(minLatLon, maxLatLon)));
    5349                } catch (Exception e) {
     50                        Main.error(e);
    5451                }
    5552        }
     
    5754        private String buildParameters(ConcurrentHashMap<String, Double> hash) {
    5855                String ret = "?client_id=" + CLIENT_ID;
    59                 for (int i = 0; i < parameters.length; i++) {
     56                for (int i = 0; i < parameters.length; i++)
    6057                        if (hash.get(parameters[i]) != null)
    6158                                ret += "&" + parameters[i] + "=" + hash.get(parameters[i]);
    62                 }
    6359                return ret;
    6460        }
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/downloads/MapillaryExportDownloadThread.java

    r31166 r31176  
    1111
    1212import org.apache.commons.jcs.access.CacheAccess;
     13import org.openstreetmap.josm.Main;
    1314import org.openstreetmap.josm.data.cache.BufferedImageCacheEntry;
    1415import org.openstreetmap.josm.data.cache.CacheEntry;
     
    5657                                        .submit(this, false);
    5758                } catch (MalformedURLException e) {
    58                         // TODO Auto-generated catch block
    59                         e.printStackTrace();
     59                        Main.error(e);
    6060                } catch (IOException e) {
    61                         // TODO -generated catch block
    62                         e.printStackTrace();
     61                        Main.error(e);
    6362                }
    6463        }
     
    7271
    7372                } catch (InterruptedException e) {
    74                         // TODO Auto-generated catch block
    75                         e.printStackTrace();
     73                        Main.error(e);
    7674                } catch (IOException e) {
    77                         // TODO Auto-generated catch block
    78                         e.printStackTrace();
     75                        Main.error(e);
    7976                }
    8077        }
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/downloads/MapillaryExportManager.java

    r31166 r31176  
    11package org.openstreetmap.josm.plugins.mapillary.downloads;
    22
     3import static org.openstreetmap.josm.tools.I18n.tr;
    34import java.awt.image.BufferedImage;
    45import java.io.IOException;
     
    89import java.util.concurrent.TimeUnit;
    910
     11import org.openstreetmap.josm.Main;
    1012import org.openstreetmap.josm.gui.PleaseWaitRunnable;
    1113import org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor;
     
    3335        String path;
    3436
    35         public MapillaryExportManager(String title, List<MapillaryImage> images,
    36                         String path) {
    37                 super(title,
    38                                 new PleaseWaitProgressMonitor("Exporting Mapillary Images"),
    39                                 true);
     37        public MapillaryExportManager(List<MapillaryImage> images, String path) {
     38                super(tr("Downloading") + "...", new PleaseWaitProgressMonitor(
     39                                "Exporting Mapillary Images"), true);
    4040                queue = new ArrayBlockingQueue<>(10);
    4141                queueImages = new ArrayBlockingQueue<>(10);
     
    4848        protected void cancel() {
    4949                // TODO Auto-generated method stub
    50 
    5150        }
    5251
     
    5453        protected void realRun() throws SAXException, IOException,
    5554                        OsmTransferException {
     55                // Starts a writer thread in order to write the pictures on the disk.
    5656                Thread writer = new Thread(new MapillaryExportWriterThread(path, queue,
    5757                                queueImages, images.size(), this.getProgressMonitor()));
    58                 writer.start();
     58                Main.worker.submit(writer);
    5959                ThreadPoolExecutor ex = new ThreadPoolExecutor(20, 35, 25,
    6060                                TimeUnit.SECONDS, new ArrayBlockingQueue<Runnable>(10));
     
    6464                                                queueImages));
    6565                        } catch (Exception e) {
    66                                 System.out.println("Exception");
     66                                Main.error(e);
    6767                        }
    6868                        try {
     69                                // If the queue is full, waits for it to have more space
     70                                // available before executing anything else.
    6971                                while (ex.getQueue().remainingCapacity() == 0)
    7072                                        Thread.sleep(100);
    7173                        } catch (Exception e) {
    72                                 System.out.println(e);
     74                                Main.error(e);
    7375                        }
    7476                }
     
    7678                        writer.join();
    7779                } catch (Exception e) {
     80                        Main.error(e);
    7881                }
    7982
     
    8386        protected void finish() {
    8487                // TODO Auto-generated method stub
    85 
    8688        }
    87 
    8889}
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/downloads/MapillaryExportWriterThread.java

    r31168 r31176  
    2222import org.apache.sanselan.formats.tiff.write.TiffOutputField;
    2323import org.apache.sanselan.formats.tiff.write.TiffOutputSet;
     24import org.openstreetmap.josm.Main;
    2425import org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor;
    2526import org.openstreetmap.josm.gui.progress.ProgressMonitor;
     
    3435public class MapillaryExportWriterThread implements Runnable {
    3536
    36         private String path;
    37         private ArrayBlockingQueue<BufferedImage> queue;
    38         private ArrayBlockingQueue<MapillaryImage> queueImages;
    39         private int amount;
    40         private ProgressMonitor monitor;
     37        private final String path;
     38        private final ArrayBlockingQueue<BufferedImage> queue;
     39        private final ArrayBlockingQueue<MapillaryImage> queueImages;
     40        private final int amount;
     41        private final ProgressMonitor monitor;
    4142
    4243        public MapillaryExportWriterThread(String path,
     
    6364                                mimg = queueImages.take();
    6465                                finalPath = path + "/" + mimg.getKey();
     66                                // Creates a temporal file that is going to be deleted after
     67                                // writing the EXIF tags.
    6568                                tempFile = new File(finalPath + ".tmp");
    66 
    6769                                ImageIO.write(img, "jpg", tempFile);
    6870
     
    7274                                                .getOrCreateGPSDirectory();
    7375                                FieldType fieldType = TiffFieldTypeConstants.FIELD_TYPE_RATIONAL;
    74                                 TiffOutputField directionref = TiffOutputField.create(GPSTagConstants.GPS_TAG_GPS_IMG_DIRECTION_REF, outputSet.byteOrder, "T");
     76                                TiffOutputField directionref = TiffOutputField.create(
     77                                                GPSTagConstants.GPS_TAG_GPS_IMG_DIRECTION_REF,
     78                                                outputSet.byteOrder, "T");
    7579                                exifDirectory.add(directionref);
    76                                 TiffOutputField direction = TiffOutputField.create(
    77                                                 new TagInfo("GPS Img Direction", 17, fieldType , 1, TiffDirectoryConstants.EXIF_DIRECTORY_GPS), outputSet.byteOrder, mimg.getCa());
     80                                TiffOutputField direction = TiffOutputField.create(new TagInfo(
     81                                                "GPS Img Direction", 17, fieldType, 1,
     82                                                TiffDirectoryConstants.EXIF_DIRECTORY_GPS),
     83                                                outputSet.byteOrder, mimg.getCa());
    7884                                exifDirectory.add(direction);
    7985                                try {
     
    8187                                                        .getLatLon().lat());
    8288                                } catch (ImageWriteException e) {
    83                                         // TODO Auto-generated catch block
    84                                         e.printStackTrace();
     89                                        Main.error(e);
    8590                                }
    8691                                OutputStream os = new BufferedOutputStream(
     
    9095                                tempFile.delete();
    9196                                os.close();
    92 
    93                         } catch (InterruptedException e1) {
    94                                 // TODO Auto-generated catch block
    95                                 e1.printStackTrace();
     97                        } catch (InterruptedException e) {
     98                                Main.error(e);
    9699                        } catch (IOException e) {
    97                                 // TODO Auto-generated catch block
    98                                 e.printStackTrace();
     100                                Main.error(e);
    99101                        } catch (ImageReadException e) {
    100                                 // TODO Auto-generated catch block
    101                                 e.printStackTrace();
     102                                Main.error(e);
    102103                        } catch (ImageWriteException e) {
    103                                 // TODO Auto-generated catch block
    104                                 e.printStackTrace();
     104                                Main.error(e);
    105105                        }
    106106
     107                        // Increases the progress bar.
    107108                        monitor.worked(PleaseWaitProgressMonitor.PROGRESS_BAR_MAX / amount);
    108109                        monitor.setCustomText("Downloaded " + (i + 1) + "/" + amount);
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/downloads/MapillarySequenceDownloadThread.java

    r31170 r31176  
    1414import java.util.concurrent.ExecutorService;
    1515
     16import org.openstreetmap.josm.Main;
    1617import org.openstreetmap.josm.data.Bounds;
    1718import org.openstreetmap.josm.plugins.mapillary.MapillaryData;
     
    2930public class MapillarySequenceDownloadThread implements Runnable {
    3031
    31         private MapillaryData data;
    3232        private String url;
    3333        private ExecutorService ex;
    3434        private Bounds bounds;
    3535
    36         public MapillarySequenceDownloadThread(ExecutorService ex,
    37                         MapillaryData data, String url, Bounds bounds) {
    38                 this.data = data;
     36        public MapillarySequenceDownloadThread(ExecutorService ex, String url, Bounds bounds) {
    3937                this.url = url;
    4038                this.ex = ex;
     
    4745                        br = new BufferedReader(new InputStreamReader(
    4846                                        new URL(url).openStream()));
    49                         /*
    50                          * String jsonLine = ""; while (br.ready()) { jsonLine +=
    51                          * br.readLine(); }
    52                          */
    5347                        JsonObject jsonall = Json.createReader(br).readObject();
    5448
     
    7165                                                                                .getJsonNumber(j).doubleValue()));
    7266                                        } catch (Exception e) {
    73                                                 // Mapillary service bug here
    74                                                 // System.out.println(cas.length());
    75                                                 // System.out.println(coords.length());
    76                                                 // System.out.println(keys.length());
    7767                                                System.out.println(e);
    7868                                        }
    7969                                }
    8070                                MapillarySequence sequence = new MapillarySequence();
    81                                 //sequence.setTimestamp(jsonobj.getString("created_at"));
    8271                                int first = -1;
    8372                                int last = -1;
     
    10594                                        img.setSequence(sequence);
    10695                                }
    107                                 data.addWithoutUpdate(finalImages);
     96                                MapillaryData.getInstance().addWithoutUpdate(finalImages);
    10897                                sequence.add(finalImages);
    10998                        }
    11099                } catch (IOException e) {
    111                         return;
     100                        Main.error(e);
    112101                }
    113                 return;
    114102        }
    115103}
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/downloads/MapillarySquareDownloadManagerThread.java

    r31166 r31176  
    55import java.util.concurrent.ArrayBlockingQueue;
    66
     7import org.openstreetmap.josm.Main;
    78import org.openstreetmap.josm.data.Bounds;
    89import org.openstreetmap.josm.plugins.mapillary.MapillaryData;
     
    2021
    2122        @SuppressWarnings("unused")
    22         private String urlImages;
    23         private String urlSequences;
    24         private MapillaryData data;
    25         private Bounds bounds;
     23        private final String urlImages;
     24        private final String urlSequences;
     25        private final Bounds bounds;
    2626
    27         public MapillarySquareDownloadManagerThread(MapillaryData data,
    28                         String urlImages, String urlSequences, Bounds bounds) {
    29                 this.data = data;
     27        public MapillarySquareDownloadManagerThread(String urlImages, String urlSequences, Bounds bounds) {
    3028                this.urlImages = urlImages;
    3129                this.urlSequences = urlSequences;
     
    3432
    3533        public void run() {
    36                 fullfillSequences();
    37                 return;
     34                downloadSequences();
    3835        }
    3936
    40         public void fullfillSequences() {
     37        public void downloadSequences() {
    4138                ThreadPoolExecutor ex = new ThreadPoolExecutor(20, 35, 25,
    4239                                TimeUnit.SECONDS, new ArrayBlockingQueue<Runnable>(5));
    43                 ;
    4440                int page = 0;
    4541                while (!ex.isShutdown()) {
    46                         ex.execute(new MapillarySequenceDownloadThread(ex, data,
     42                        ex.execute(new MapillarySequenceDownloadThread(ex,
    4743                                        urlSequences + "&page=" + page + "&limit=1", bounds));
    4844                        try {
     
    5046                                        Thread.sleep(100);
    5147                        } catch (Exception e) {
    52                                 System.out.println(e);
     48                                Main.error(e);
    5349                        }
    5450                        page++;
     
    5854                        }
    5955                } catch (Exception e) {
    60                         System.out.println(e);
     56                        Main.error(e);
    6157                }
    62                 data.dataUpdated();
     58                MapillaryData.getInstance().dataUpdated();
    6359        }
    6460}
  • applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/downloads/MapillarySquareDownloadThread.java

    r31166 r31176  
    1212import java.util.concurrent.ExecutorService;
    1313
     14import org.openstreetmap.josm.Main;
    1415import org.openstreetmap.josm.plugins.mapillary.MapillaryData;
    1516import org.openstreetmap.josm.plugins.mapillary.MapillaryImage;
     
    2223 */
    2324public class MapillarySquareDownloadThread implements Runnable {
    24         String url;
    25         MapillaryData data;
    26         ExecutorService ex;
     25        private final String url;
     26        private final ExecutorService ex;
    2727
    2828        public MapillarySquareDownloadThread(ExecutorService ex,
    2929                        MapillaryData data, String url) {
    3030                this.ex = ex;
    31                 this.data = data;
    3231                this.url = url;
    3332        }
     
    3837                        br = new BufferedReader(new InputStreamReader(
    3938                                        new URL(url).openStream()));
    40                         /*
    41                          * String jsonLine = ""; while (br.ready()) { jsonLine +=
    42                          * br.readLine(); }
    43                          */
    4439                        JsonObject jsonobj = Json.createReader(br).readObject();
    4540                        if (!jsonobj.getBoolean("more")) {
     
    5752                                                        .getJsonNumber("ca").doubleValue()));
    5853                                } catch (Exception e) {
    59                                         System.out.println(e);
     54                                        Main.error(e);
    6055                                }
    6156                        }
    62                         data.add(images);
    63                         return;
     57                        MapillaryData.getInstance().add(images);
    6458                } catch (Exception e) {
    65                         return;
     59                        Main.error(e);
    6660                }
    6761        }
Note: See TracChangeset for help on using the changeset viewer.