Ignore:
Timestamp:
2016-07-23T18:46:45+02:00 (8 years ago)
Author:
Don-vip
Message:

see #11390 - sonar - squid:S1604 - Java 8: Anonymous inner classes containing only one method should become lambdas

Location:
trunk/src/org/openstreetmap/josm/gui/layer
Files:
19 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/layer/AbstractTileSourceLayer.java

    r10596 r10611  
    18801880            double bufferX, double bufferY) {
    18811881        PrecacheTask precacheTask = new PrecacheTask(progressMonitor);
    1882         final Set<Tile> requestedTiles = new ConcurrentSkipListSet<>(new Comparator<Tile>() {
    1883             @Override
    1884             public int compare(Tile o1, Tile o2) {
    1885                 return String.CASE_INSENSITIVE_ORDER.compare(o1.getKey(), o2.getKey());
    1886             }
    1887         });
     1882        final Set<Tile> requestedTiles = new ConcurrentSkipListSet<>(
     1883                (o1, o2) -> String.CASE_INSENSITIVE_ORDER.compare(o1.getKey(), o2.getKey()));
    18881884        for (LatLon point: points) {
    18891885
  • trunk/src/org/openstreetmap/josm/gui/layer/AlignImageryPanel.java

    r10000 r10611  
    77import java.awt.Font;
    88import java.awt.GridBagLayout;
    9 import java.awt.event.ActionEvent;
    10 import java.awt.event.ActionListener;
    119
    1210import javax.swing.JButton;
     
    5553        closeButton.setBorderPainted(false);
    5654        closeButton.setToolTipText(tr("Hide this message and never show it again"));
    57         closeButton.addActionListener(new ActionListener() {
    58             @Override
    59             public void actionPerformed(ActionEvent e) {
    60                 if (Main.isDisplayingMapView()) {
    61                     Main.map.removeTopPanel(AlignImageryPanel.class);
    62                     if (doNotShowAgain.isSelected()) {
    63                         showAgain.put(Boolean.FALSE);
    64                     }
     55        closeButton.addActionListener(e -> {
     56            if (Main.isDisplayingMapView()) {
     57                Main.map.removeTopPanel(AlignImageryPanel.class);
     58                if (doNotShowAgain.isSelected()) {
     59                    showAgain.put(Boolean.FALSE);
    6560                }
    6661            }
  • trunk/src/org/openstreetmap/josm/gui/layer/GpxLayer.java

    r10364 r10611  
    183183        final JScrollPane sp = new JScrollPane(new HtmlPanel(info.toString()));
    184184        sp.setPreferredSize(new Dimension(sp.getPreferredSize().width+20, 370));
    185         SwingUtilities.invokeLater(new Runnable() {
    186             @Override
    187             public void run() {
    188                 sp.getVerticalScrollBar().setValue(0);
    189             }
    190         });
     185        SwingUtilities.invokeLater(() -> sp.getVerticalScrollBar().setValue(0));
    191186        return sp;
    192187    }
  • trunk/src/org/openstreetmap/josm/gui/layer/ImageryLayer.java

    r10571 r10611  
    301301     */
    302302    public static ImageProcessor createImageProcessor(final BufferedImageOp op, final boolean inPlace) {
    303         return new ImageProcessor() {
    304             @Override
    305             public BufferedImage process(BufferedImage image) {
    306                 return op.filter(image, inPlace ? image : null);
    307             }
    308         };
     303        return image -> op.filter(image, inPlace ? image : null);
    309304    }
    310305
  • trunk/src/org/openstreetmap/josm/gui/layer/Layer.java

    r10600 r10611  
    516516
    517517            // run later to not block loading the UI.
    518             SwingUtilities.invokeLater(new Runnable() {
    519                 @Override
    520                 public void run() {
    521                     JOptionPane.showMessageDialog(Main.parent,
    522                             message,
    523                             tr("Warning"),
    524                             JOptionPane.WARNING_MESSAGE);
    525                 }
    526             });
     518            SwingUtilities.invokeLater(() -> JOptionPane.showMessageDialog(Main.parent,
     519                    message,
     520                    tr("Warning"),
     521                    JOptionPane.WARNING_MESSAGE));
    527522        }
    528523    }
  • trunk/src/org/openstreetmap/josm/gui/layer/LayerManager.java

    r10598 r10611  
    178178        // we force this on to the EDT Thread to make events fire from there.
    179179        // The synchronization lock needs to be held by the EDT.
    180         GuiHelper.runInEDTAndWaitWithException(new Runnable() {
    181             @Override
    182             public void run() {
    183                 realAddLayer(layer);
    184             }
    185         });
     180        GuiHelper.runInEDTAndWaitWithException(() -> realAddLayer(layer));
    186181    }
    187182
     
    208203        // we force this on to the EDT Thread to make events fire from there.
    209204        // The synchronization lock needs to be held by the EDT.
    210         GuiHelper.runInEDTAndWaitWithException(new Runnable() {
    211             @Override
    212             public void run() {
    213                 realRemoveLayer(layer);
    214             }
    215         });
     205        GuiHelper.runInEDTAndWaitWithException(() -> realRemoveLayer(layer));
    216206    }
    217207
     
    247237        // we force this on to the EDT Thread to make events fire from there.
    248238        // The synchronization lock needs to be held by the EDT.
    249         GuiHelper.runInEDTAndWaitWithException(new Runnable() {
    250             @Override
    251             public void run() {
    252                 realMoveLayer(layer, position);
    253             }
    254         });
     239        GuiHelper.runInEDTAndWaitWithException(() -> realMoveLayer(layer, position));
    255240    }
    256241
  • trunk/src/org/openstreetmap/josm/gui/layer/MainLayerManager.java

    r10600 r10611  
    228228        // we force this on to the EDT Thread to make events fire from there.
    229229        // The synchronization lock needs to be held by the EDT.
    230         GuiHelper.runInEDTAndWaitWithException(new Runnable() {
    231             @Override
    232             public void run() {
    233                 realSetActiveLayer(layer);
    234             }
    235         });
     230        GuiHelper.runInEDTAndWaitWithException(() -> realSetActiveLayer(layer));
    236231    }
    237232
  • trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java

    r10600 r10611  
    3030import java.util.Map;
    3131import java.util.Set;
    32 import java.util.concurrent.Callable;
    3332import java.util.concurrent.CopyOnWriteArrayList;
    3433import java.util.regex.Pattern;
     
    994993    @Override
    995994    public boolean checkSaveConditions() {
    996         if (isDataSetEmpty() && 1 != GuiHelper.runInEDTAndWaitAndReturn(new Callable<Integer>() {
    997             @Override
    998             public Integer call() {
    999                 if (GraphicsEnvironment.isHeadless()) {
    1000                     return 2;
    1001                 }
    1002                 ExtendedDialog dialog = new ExtendedDialog(
    1003                         Main.parent,
    1004                         tr("Empty document"),
    1005                         new String[] {tr("Save anyway"), tr("Cancel")}
    1006                 );
    1007                 dialog.setContent(tr("The document contains no data."));
    1008                 dialog.setButtonIcons(new String[] {"save", "cancel"});
    1009                 return dialog.showDialog().getValue();
    1010             }
     995        if (isDataSetEmpty() && 1 != GuiHelper.runInEDTAndWaitAndReturn(() -> {
     996            if (GraphicsEnvironment.isHeadless()) {
     997                return 2;
     998            }
     999            ExtendedDialog dialog = new ExtendedDialog(
     1000                    Main.parent,
     1001                    tr("Empty document"),
     1002                    new String[] {tr("Save anyway"), tr("Cancel")}
     1003            );
     1004            dialog.setContent(tr("The document contains no data."));
     1005            dialog.setButtonIcons(new String[] {"save", "cancel"});
     1006            return dialog.showDialog().getValue();
    10111007        })) {
    10121008            return false;
     
    10141010
    10151011        ConflictCollection conflictsCol = getConflicts();
    1016         if (conflictsCol != null && !conflictsCol.isEmpty() && 1 != GuiHelper.runInEDTAndWaitAndReturn(new Callable<Integer>() {
    1017             @Override
    1018             public Integer call() {
    1019                 ExtendedDialog dialog = new ExtendedDialog(
    1020                         Main.parent,
    1021                         /* I18N: Display title of the window showing conflicts */
    1022                         tr("Conflicts"),
    1023                         new String[] {tr("Reject Conflicts and Save"), tr("Cancel")}
    1024                 );
    1025                 dialog.setContent(
    1026                         tr("There are unresolved conflicts. Conflicts will not be saved and handled as if you rejected all. Continue?"));
    1027                 dialog.setButtonIcons(new String[] {"save", "cancel"});
    1028                 return dialog.showDialog().getValue();
    1029             }
     1012        if (conflictsCol != null && !conflictsCol.isEmpty() && 1 != GuiHelper.runInEDTAndWaitAndReturn(() -> {
     1013            ExtendedDialog dialog = new ExtendedDialog(
     1014                    Main.parent,
     1015                    /* I18N: Display title of the window showing conflicts */
     1016                    tr("Conflicts"),
     1017                    new String[] {tr("Reject Conflicts and Save"), tr("Cancel")}
     1018            );
     1019            dialog.setContent(
     1020                    tr("There are unresolved conflicts. Conflicts will not be saved and handled as if you rejected all. Continue?"));
     1021            dialog.setButtonIcons(new String[] {"save", "cancel"});
     1022            return dialog.showDialog().getValue();
    10301023        })) {
    10311024            return false;
  • trunk/src/org/openstreetmap/josm/gui/layer/TMSLayer.java

    r10184 r10611  
    7373    @Override
    7474    protected TMSTileSource getTileSource(ImageryInfo info) {
    75         return getTileSourceStatic(info, new Runnable() {
    76             @Override
    77             public void run() {
    78                 Main.debug("Attribution loaded, running loadAllErrorTiles");
    79                 TMSLayer.this.loadAllErrorTiles(false);
    80             }
     75        return getTileSourceStatic(info, () -> {
     76            Main.debug("Attribution loaded, running loadAllErrorTiles");
     77            TMSLayer.this.loadAllErrorTiles(false);
    8178        });
    8279    }
  • trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java

    r10420 r10611  
    3030import java.util.Collection;
    3131import java.util.Collections;
    32 import java.util.Comparator;
    3332import java.util.Date;
    3433import java.util.Dictionary;
     
    6059import javax.swing.event.DocumentEvent;
    6160import javax.swing.event.DocumentListener;
    62 import javax.swing.event.ListSelectionEvent;
    63 import javax.swing.event.ListSelectionListener;
    6461import javax.swing.filechooser.FileFilter;
    6562
     
    460457            });
    461458            imgList.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    462             imgList.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
    463 
    464                 @Override
    465                 public void valueChanged(ListSelectionEvent arg0) {
    466                     int index = imgList.getSelectedIndex();
    467                     Integer orientation = ExifReader.readOrientation(yLayer.data.get(index).getFile());
    468                     imgDisp.setImage(yLayer.data.get(index).getFile(), orientation);
    469                     Date date = yLayer.data.get(index).getExifTime();
    470                     if (date != null) {
    471                         DateFormat df = DateUtils.getDateTimeFormat(DateFormat.SHORT, DateFormat.MEDIUM);
    472                         lbExifTime.setText(df.format(date));
    473                         tfGpsTime.setText(df.format(date));
    474                         tfGpsTime.setCaretPosition(tfGpsTime.getText().length());
    475                         tfGpsTime.setEnabled(true);
    476                         tfGpsTime.requestFocus();
    477                     } else {
    478                         lbExifTime.setText(tr("No date"));
    479                         tfGpsTime.setText("");
    480                         tfGpsTime.setEnabled(false);
    481                     }
     459            imgList.getSelectionModel().addListSelectionListener(evt -> {
     460                int index = imgList.getSelectedIndex();
     461                Integer orientation = ExifReader.readOrientation(yLayer.data.get(index).getFile());
     462                imgDisp.setImage(yLayer.data.get(index).getFile(), orientation);
     463                Date date = yLayer.data.get(index).getExifTime();
     464                if (date != null) {
     465                    DateFormat df = DateUtils.getDateTimeFormat(DateFormat.SHORT, DateFormat.MEDIUM);
     466                    lbExifTime.setText(df.format(date));
     467                    tfGpsTime.setText(df.format(date));
     468                    tfGpsTime.setCaretPosition(tfGpsTime.getText().length());
     469                    tfGpsTime.setEnabled(true);
     470                    tfGpsTime.requestFocus();
     471                } else {
     472                    lbExifTime.setText(tr("No date"));
     473                    tfGpsTime.setText("");
     474                    tfGpsTime.setEnabled(false);
    482475                }
    483476            });
     
    485478
    486479            JButton openButton = new JButton(tr("Open another photo"));
    487             openButton.addActionListener(new ActionListener() {
    488 
    489                 @Override
    490                 public void actionPerformed(ActionEvent ae) {
    491                     AbstractFileChooser fc = DiskAccessAction.createAndOpenFileChooser(true, false, null,
    492                             JpgImporter.FILE_FILTER_WITH_FOLDERS, JFileChooser.FILES_ONLY, "geoimage.lastdirectory");
    493                     if (fc == null)
    494                         return;
    495                     File sel = fc.getSelectedFile();
    496 
    497                     Integer orientation = ExifReader.readOrientation(sel);
    498                     imgDisp.setImage(sel, orientation);
    499 
    500                     Date date = ExifReader.readTime(sel);
    501                     if (date != null) {
    502                         lbExifTime.setText(DateUtils.getDateTimeFormat(DateFormat.SHORT, DateFormat.MEDIUM).format(date));
    503                         tfGpsTime.setText(DateUtils.getDateFormat(DateFormat.SHORT).format(date)+' ');
    504                         tfGpsTime.setEnabled(true);
    505                     } else {
    506                         lbExifTime.setText(tr("No date"));
    507                         tfGpsTime.setText("");
    508                         tfGpsTime.setEnabled(false);
    509                     }
     480            openButton.addActionListener(ae -> {
     481                AbstractFileChooser fc = DiskAccessAction.createAndOpenFileChooser(true, false, null,
     482                        JpgImporter.FILE_FILTER_WITH_FOLDERS, JFileChooser.FILES_ONLY, "geoimage.lastdirectory");
     483                if (fc == null)
     484                    return;
     485                File sel = fc.getSelectedFile();
     486
     487                Integer orientation = ExifReader.readOrientation(sel);
     488                imgDisp.setImage(sel, orientation);
     489
     490                Date date = ExifReader.readTime(sel);
     491                if (date != null) {
     492                    lbExifTime.setText(DateUtils.getDateTimeFormat(DateFormat.SHORT, DateFormat.MEDIUM).format(date));
     493                    tfGpsTime.setText(DateUtils.getDateFormat(DateFormat.SHORT).format(date)+' ');
     494                    tfGpsTime.setEnabled(true);
     495                } else {
     496                    lbExifTime.setText(tr("No date"));
     497                    tfGpsTime.setText("");
     498                    tfGpsTime.setEnabled(false);
    510499                }
    511500            });
     
    10921081        }
    10931082
    1094         Collections.sort(dateImgLst, new Comparator<ImageEntry>() {
    1095             @Override
    1096             public int compare(ImageEntry arg0, ImageEntry arg1) {
    1097                 return arg0.getExifTime().compareTo(arg1.getExifTime());
    1098             }
    1099         });
     1083        Collections.sort(dateImgLst, (o1, o2) -> o1.getExifTime().compareTo(o2.getExifTime()));
    11001084
    11011085        return dateImgLst;
  • trunk/src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java

    r10604 r10611  
    6666import org.openstreetmap.josm.gui.layer.LayerManager.LayerOrderChangeEvent;
    6767import org.openstreetmap.josm.gui.layer.LayerManager.LayerRemoveEvent;
    68 import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeEvent;
    69 import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeListener;
    7068import org.openstreetmap.josm.gui.util.GuiHelper;
    7169import org.openstreetmap.josm.io.JpgImporter;
     
    431429
    432430        if (selected != null && !data.isEmpty()) {
    433             GuiHelper.runInEDTAndWait(new Runnable() {
    434                 @Override
    435                 public void run() {
    436                     for (int i = 0; i < data.size(); i++) {
    437                         if (selected.equals(data.get(i))) {
    438                             currentPhoto = i;
    439                             ImageViewerDialog.showImage(GeoImageLayer.this, data.get(i));
    440                             break;
    441                         }
     431            GuiHelper.runInEDTAndWait(() -> {
     432                for (int i = 0; i < data.size(); i++) {
     433                    if (selected.equals(data.get(i))) {
     434                        currentPhoto = i;
     435                        ImageViewerDialog.showImage(GeoImageLayer.this, data.get(i));
     436                        break;
    442437                    }
    443438                }
     
    881876        };
    882877
    883         mapModeListener = new MapModeChangeListener() {
    884             @Override
    885             public void mapModeChange(MapMode oldMapMode, MapMode newMapMode) {
    886                 if (newMapMode == null || isSupportedMapMode(newMapMode)) {
    887                     Main.map.mapView.addMouseListener(mouseAdapter);
    888                 } else {
    889                     Main.map.mapView.removeMouseListener(mouseAdapter);
    890                 }
     878        mapModeListener = (oldMapMode, newMapMode) -> {
     879            if (newMapMode == null || isSupportedMapMode(newMapMode)) {
     880                Main.map.mapView.addMouseListener(mouseAdapter);
     881            } else {
     882                Main.map.mapView.removeMouseListener(mouseAdapter);
    891883            }
    892884        };
     
    895887        mapModeListener.mapModeChange(null, Main.map.mapMode);
    896888
    897         Main.getLayerManager().addActiveLayerChangeListener(new ActiveLayerChangeListener() {
    898             @Override
    899             public void activeOrEditLayerChanged(ActiveLayerChangeEvent e) {
    900                 if (Main.getLayerManager().getActiveLayer() == GeoImageLayer.this) {
    901                     // only in select mode it is possible to click the images
    902                     Main.map.selectSelectTool(false);
    903                 }
     889        Main.getLayerManager().addActiveLayerChangeListener(e -> {
     890            if (Main.getLayerManager().getActiveLayer() == GeoImageLayer.this) {
     891                // only in select mode it is possible to click the images
     892                Main.map.selectSelectTool(false);
    904893            }
    905894        });
  • trunk/src/org/openstreetmap/josm/gui/layer/gpx/ChooseTrackVisibilityAction.java

    r9880 r10611  
    1010import java.awt.GridBagLayout;
    1111import java.awt.event.ActionEvent;
    12 import java.awt.event.ActionListener;
    1312import java.awt.event.MouseAdapter;
    1413import java.awt.event.MouseEvent;
     
    2726import javax.swing.JToggleButton;
    2827import javax.swing.ListSelectionModel;
    29 import javax.swing.event.ListSelectionEvent;
    30 import javax.swing.event.ListSelectionListener;
    3128import javax.swing.table.DefaultTableModel;
    3229import javax.swing.table.TableCellRenderer;
     
    205202    /** listens to selection changes in the table and redraws the map */
    206203    private void listenToSelectionChanges() {
    207         table.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
    208             @Override
    209             public void valueChanged(ListSelectionEvent e) {
    210                 if (noUpdates || !(e.getSource() instanceof ListSelectionModel)) {
    211                     return;
    212                 }
    213                 updateVisibilityFromTable();
    214             }
     204        table.getSelectionModel().addListSelectionListener(e -> {
     205            if (noUpdates || !(e.getSource() instanceof ListSelectionModel)) {
     206                return;
     207            }
     208            updateVisibilityFromTable();
    215209        });
    216210    }
     
    230224
    231225        dateFilter = new DateFilterPanel(layer, "gpx.traces", false);
    232         dateFilter.setFilterAppliedListener(new ActionListener() {
    233             @Override public void actionPerformed(ActionEvent e) {
    234                 noUpdates = true;
    235                 selectVisibleTracksInTable();
    236                 noUpdates = false;
    237                 Main.map.mapView.preferenceChanged(null);
    238                 Main.map.repaint(100);
    239             }
     226        dateFilter.setFilterAppliedListener(e -> {
     227            noUpdates = true;
     228            selectVisibleTracksInTable();
     229            noUpdates = false;
     230            Main.map.mapView.preferenceChanged(null);
     231            Main.map.repaint(100);
    240232        });
    241233        dateFilter.loadFromPrefs();
  • trunk/src/org/openstreetmap/josm/gui/layer/gpx/DateFilterPanel.java

    r10378 r10611  
    66import java.awt.Component;
    77import java.awt.GridBagLayout;
    8 import java.awt.event.ActionEvent;
    98import java.awt.event.ActionListener;
    109import java.util.Date;
     
    1413import javax.swing.JPanel;
    1514import javax.swing.Timer;
    16 import javax.swing.event.ChangeEvent;
    1715import javax.swing.event.ChangeListener;
    1816
     
    7068    }
    7169
    72     private final transient ChangeListener changeListener = new ChangeListener() {
    73         @Override public void stateChanged(ChangeEvent e) {
    74             if (isEnabled()) applyFilterWithDelay();
    75         }
     70    private final transient ChangeListener changeListener = e -> {
     71        if (isEnabled()) applyFilterWithDelay();
    7672    };
    7773
    78     private final Timer t = new Timer(200, new ActionListener() {
    79         @Override public void actionPerformed(ActionEvent e) {
    80             applyFilter();
    81         }
    82     });
     74    private final Timer t = new Timer(200, e -> applyFilter());
    8375
    8476    /**
  • trunk/src/org/openstreetmap/josm/gui/layer/gpx/DownloadAlongPanel.java

    r9917 r10611  
    1414import javax.swing.JSpinner;
    1515import javax.swing.SpinnerNumberModel;
    16 import javax.swing.event.ChangeEvent;
    1716import javax.swing.event.ChangeListener;
    1817
     
    179178        };
    180179
    181         addChangeListener(new ChangeListener() {
    182             @Override public void stateChanged(ChangeEvent e) {
    183                 options[0].setEnabled(isDownloadOsmData() || isDownloadGpxData());
    184             }
    185         });
     180        addChangeListener(e -> options[0].setEnabled(isDownloadOsmData() || isDownloadGpxData()));
    186181
    187182        int ret = HelpAwareOptionPane.showOptionDialog(Main.parent, this, title,
  • trunk/src/org/openstreetmap/josm/gui/layer/gpx/ImportAudioAction.java

    r10436 r10611  
    1212import java.util.Collection;
    1313import java.util.Collections;
    14 import java.util.Comparator;
    1514
    1615import javax.swing.AbstractAction;
     
    8988            // long as they don't overlap, that's fine)
    9089            if (sel.length > 1) {
    91                 Arrays.sort(sel, new Comparator<File>() {
    92                     @Override
    93                     public int compare(File a, File b) {
    94                         return a.lastModified() <= b.lastModified() ? -1 : 1;
    95                     }
    96                 });
     90                Arrays.sort(sel, (a, b) -> a.lastModified() <= b.lastModified() ? -1 : 1);
    9791            }
    9892            StringBuilder names = new StringBuilder();
     
    284278        /* we must have got at least one waypoint now */
    285279
    286         Collections.sort((ArrayList<WayPoint>) waypoints, new Comparator<WayPoint>() {
    287             @Override
    288             public int compare(WayPoint a, WayPoint b) {
    289                 return a.time <= b.time ? -1 : 1;
    290             }
    291         });
     280        Collections.sort((ArrayList<WayPoint>) waypoints, (a, b) -> a.time <= b.time ? -1 : 1);
    292281
    293282        firstTime = -1.0; /* this time of the first waypoint, not first trackpoint */
     
    299288            AudioMarker am = new AudioMarker(w.getCoor(), w, url, ml, w.time, offset);
    300289            /*
    301              * timeFromAudio intended for future use to shift markers of this type on
    302              * synchronization
     290             * timeFromAudio intended for future use to shift markers of this type on synchronization
    303291             */
    304292            if (w == wayPointFromTimeStamp) {
  • trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/ImageMarker.java

    r9779 r10611  
    77import java.awt.Image;
    88import java.awt.event.ActionEvent;
    9 import java.awt.event.ActionListener;
    109import java.net.URL;
    1110import java.util.Collections;
     
    5554        p2.add(scale);
    5655        p.add(p2, BorderLayout.SOUTH);
    57         scale.addActionListener(new ActionListener() {
    58             @Override
    59             public void actionPerformed(ActionEvent ev) {
    60                 p.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
    61                 if (scale.getModel().isSelected()) {
    62                     ((JLabel) vp.getView()).setIcon(loadScaledImage(imageUrl, Math.max(vp.getWidth(), vp.getHeight())));
    63                 } else {
    64                     ((JLabel) vp.getView()).setIcon(new ImageIcon(imageUrl));
    65                 }
    66                 p.setCursor(Cursor.getDefaultCursor());
     56        scale.addActionListener(ev1 -> {
     57            p.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
     58            if (scale.getModel().isSelected()) {
     59                ((JLabel) vp.getView()).setIcon(loadScaledImage(imageUrl, Math.max(vp.getWidth(), vp.getHeight())));
     60            } else {
     61                ((JLabel) vp.getView()).setIcon(new ImageIcon(imageUrl));
    6762            }
     63            p.setCursor(Cursor.getDefaultCursor());
    6864        });
    6965        scale.setSelected(true);
  • trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/Marker.java

    r10173 r10611  
    183183    // Add one Marker specifying the default behaviour.
    184184    static {
    185         Marker.markerProducers.add(new MarkerProducers() {
    186             @Override
    187             public Collection<Marker> createMarkers(WayPoint wpt, File relativePath, MarkerLayer parentLayer, double time, double offset) {
    188                 String uri = null;
    189                 // cheapest way to check whether "link" object exists and is a non-empty collection of GpxLink objects...
    190                 Collection<GpxLink> links = wpt.<GpxLink>getCollection(GpxConstants.META_LINKS);
    191                 if (links != null) {
    192                     for (GpxLink oneLink : links) {
    193                         uri = oneLink.uri;
    194                         break;
     185        Marker.markerProducers.add((wpt, relativePath, parentLayer, time, offset) -> {
     186            String uri = null;
     187            // cheapest way to check whether "link" object exists and is a non-empty collection of GpxLink objects...
     188            Collection<GpxLink> links = wpt.<GpxLink>getCollection(GpxConstants.META_LINKS);
     189            if (links != null) {
     190                for (GpxLink oneLink : links) {
     191                    uri = oneLink.uri;
     192                    break;
     193                }
     194            }
     195
     196            URL url = uriToUrl(uri, relativePath);
     197
     198            String urlStr = url == null ? "" : url.toString();
     199            String symbolName = wpt.getString("symbol");
     200            if (symbolName == null) {
     201                symbolName = wpt.getString(GpxConstants.PT_SYM);
     202            }
     203            // text marker is returned in every case, see #10208
     204            final Marker marker = new Marker(wpt.getCoor(), wpt, symbolName, parentLayer, time, offset);
     205            if (url == null) {
     206                return Collections.singleton(marker);
     207            } else if (urlStr.endsWith(".wav")) {
     208                final AudioMarker audioMarker = new AudioMarker(wpt.getCoor(), wpt, url, parentLayer, time, offset);
     209                Extensions exts = (Extensions) wpt.get(GpxConstants.META_EXTENSIONS);
     210                if (exts != null && exts.containsKey("offset")) {
     211                    try {
     212                        audioMarker.syncOffset = Double.parseDouble(exts.get("sync-offset"));
     213                    } catch (NumberFormatException nfe) {
     214                        Main.warn(nfe);
    195215                    }
    196216                }
    197 
    198                 URL url = uriToUrl(uri, relativePath);
    199 
    200                 String urlStr = url == null ? "" : url.toString();
    201                 String symbolName = wpt.getString("symbol");
    202                 if (symbolName == null) {
    203                     symbolName = wpt.getString(GpxConstants.PT_SYM);
    204                 }
    205                 // text marker is returned in every case, see #10208
    206                 final Marker marker = new Marker(wpt.getCoor(), wpt, symbolName, parentLayer, time, offset);
    207                 if (url == null) {
    208                     return Collections.singleton(marker);
    209                 } else if (urlStr.endsWith(".wav")) {
    210                     final AudioMarker audioMarker = new AudioMarker(wpt.getCoor(), wpt, url, parentLayer, time, offset);
    211                     Extensions exts = (Extensions) wpt.get(GpxConstants.META_EXTENSIONS);
    212                     if (exts != null && exts.containsKey("offset")) {
    213                         try {
    214                             audioMarker.syncOffset = Double.parseDouble(exts.get("sync-offset"));
    215                         } catch (NumberFormatException nfe) {
    216                             Main.warn(nfe);
    217                         }
    218                     }
    219                     return Arrays.asList(marker, audioMarker);
    220                 } else if (urlStr.endsWith(".png") || urlStr.endsWith(".jpg") || urlStr.endsWith(".jpeg") || urlStr.endsWith(".gif")) {
    221                     return Arrays.asList(marker, new ImageMarker(wpt.getCoor(), url, parentLayer, time, offset));
    222                 } else {
    223                     return Arrays.asList(marker, new WebMarker(wpt.getCoor(), url, parentLayer, time, offset));
    224                 }
     217                return Arrays.asList(marker, audioMarker);
     218            } else if (urlStr.endsWith(".png") || urlStr.endsWith(".jpg") || urlStr.endsWith(".jpeg") || urlStr.endsWith(".gif")) {
     219                return Arrays.asList(marker, new ImageMarker(wpt.getCoor(), url, parentLayer, time, offset));
     220            } else {
     221                return Arrays.asList(marker, new WebMarker(wpt.getCoor(), url, parentLayer, time, offset));
    225222            }
    226223        });
  • trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/MarkerLayer.java

    r10458 r10611  
    2020import java.util.Collection;
    2121import java.util.Collections;
    22 import java.util.Comparator;
    2322import java.util.List;
    2423
     
    235234        if (from instanceof MarkerLayer) {
    236235            data.addAll(((MarkerLayer) from).data);
    237             Collections.sort(data, new Comparator<Marker>() {
    238                 @Override
    239                 public int compare(Marker o1, Marker o2) {
    240                     return Double.compare(o1.time, o2.time);
    241                 }
    242             });
     236            Collections.sort(data, (o1, o2) -> Double.compare(o1.time, o2.time));
    243237        }
    244238    }
  • trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/PlayHeadMarker.java

    r10212 r10611  
    77import java.awt.Point;
    88import java.awt.Rectangle;
    9 import java.awt.event.ActionEvent;
    10 import java.awt.event.ActionListener;
    119import java.awt.event.MouseAdapter;
    1210import java.awt.event.MouseEvent;
     
    290288        if (timer == null) {
    291289            animationInterval = Main.pref.getDouble("marker.audioanimationinterval", 1.0); //milliseconds
    292             timer = new Timer((int) (animationInterval * 1000.0), new ActionListener() {
    293                 @Override
    294                 public void actionPerformed(ActionEvent e) {
    295                     timerAction();
    296                 }
    297             });
     290            timer = new Timer((int) (animationInterval * 1000.0), e -> timerAction());
    298291            timer.setInitialDelay(0);
    299292        } else {
Note: See TracChangeset for help on using the changeset viewer.