Ignore:
Timestamp:
2017-05-13T14:21:55+02:00 (7 years ago)
Author:
zverik
Message:

Fixed deprecated method calls

Location:
applications/editors/josm/plugins/imagery_offset_db/src/iodb
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/imagery_offset_db/src/iodb/GetImageryOffsetAction.java

    r32528 r33309  
    66import java.awt.event.ActionEvent;
    77import java.awt.event.KeyEvent;
     8import java.io.IOException;
    89import java.io.InputStream;
    910import java.io.UnsupportedEncodingException;
     
    2021import org.openstreetmap.josm.data.coor.LatLon;
    2122import org.openstreetmap.josm.data.projection.Projection;
    22 import org.openstreetmap.josm.gui.layer.ImageryLayer;
     23import org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer;
    2324import org.openstreetmap.josm.tools.ImageProvider;
    2425import org.openstreetmap.josm.tools.Shortcut;
     26import org.xml.sax.SAXException;
    2527
    2628/**
     
    5658        Projection proj = Main.map.mapView.getProjection();
    5759        LatLon center = proj.eastNorth2latlon(Main.map.mapView.getCenter());
    58         ImageryLayer layer = ImageryOffsetTools.getTopImageryLayer();
     60        AbstractTileSourceLayer layer = ImageryOffsetTools.getTopImageryLayer();
    5961        String imagery = ImageryOffsetTools.getImageryID(layer);
    6062        if (imagery == null)
     
    7476        if (Main.map == null || Main.map.mapView == null || !Main.map.isVisible())
    7577            state = false;
    76         ImageryLayer layer = ImageryOffsetTools.getTopImageryLayer();
     78        AbstractTileSourceLayer layer = ImageryOffsetTools.getTopImageryLayer();
    7779        if (ImageryOffsetTools.getImageryID(layer) == null)
    7880            state = false;
     
    128130         * @param imagery Imagery ID for the layer.
    129131         */
    130         DownloadOffsetsTask(LatLon center, ImageryLayer layer, String imagery) {
     132        DownloadOffsetsTask(LatLon center, AbstractTileSourceLayer layer, String imagery) {
    131133            super(null, tr("Loading imagery offsets..."));
    132134            try {
     
    162164            try {
    163165                offsets = new IODBReader(inp).parse();
    164             } catch (Exception e) {
     166            } catch (IOException | SAXException e) {
    165167                throw new UploadException(tr("Error processing XML response: {0}", e.getMessage()));
    166168            }
  • applications/editors/josm/plugins/imagery_offset_db/src/iodb/ImageryOffset.java

    r32528 r33309  
    33
    44import java.util.Map;
     5import org.openstreetmap.josm.Main;
    56
    67import org.openstreetmap.josm.data.coor.CoordinateFormat;
     8import org.openstreetmap.josm.data.coor.EastNorth;
    79import org.openstreetmap.josm.data.coor.LatLon;
     10import org.openstreetmap.josm.data.imagery.OffsetBookmark;
     11import org.openstreetmap.josm.data.projection.Projection;
    812
    913/**
  • applications/editors/josm/plugins/imagery_offset_db/src/iodb/ImageryOffsetTools.java

    r32528 r33309  
    1010import org.openstreetmap.josm.data.coor.EastNorth;
    1111import org.openstreetmap.josm.data.coor.LatLon;
     12import org.openstreetmap.josm.data.imagery.OffsetBookmark;
    1213import org.openstreetmap.josm.data.projection.Projection;
    1314import org.openstreetmap.josm.gui.MapView;
    14 import org.openstreetmap.josm.gui.layer.ImageryLayer;
     15import org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer;
    1516
    1617/**
     
    3435     * @return the layer, or null if it hasn't been found.
    3536     */
    36     public static ImageryLayer getTopImageryLayer() {
     37    public static AbstractTileSourceLayer getTopImageryLayer() {
    3738        if (Main.map == null || Main.map.mapView == null)
    3839            return null;
    39         List<ImageryLayer> layers = Main.getLayerManager().getLayersOfType(ImageryLayer.class);
    40         for (ImageryLayer layer : layers) {
     40        List<AbstractTileSourceLayer> layers = Main.getLayerManager().getLayersOfType(AbstractTileSourceLayer.class);
     41        for (AbstractTileSourceLayer layer : layers) {
    4142            String url = layer.getInfo().getUrl();
    4243            if (layer.isVisible() && url != null && !url.contains("gps-")) {
     
    6465     * @see #applyLayerOffset
    6566     */
    66     public static LatLon getLayerOffset(ImageryLayer layer, LatLon center) {
     67    public static LatLon getLayerOffset(AbstractTileSourceLayer layer, LatLon center) {
    6768        Projection proj = Main.getProjection();
    6869        EastNorth offsetCenter = Main.map.mapView.getCenter();
    69         EastNorth centerOffset = offsetCenter.add(-layer.getDx(), -layer.getDy());
     70        EastNorth centerOffset = offsetCenter.add(-layer.getDisplaySettings().getDx(),
     71                -layer.getDisplaySettings().getDy());
    7072        LatLon offsetLL = proj.eastNorth2latlon(centerOffset);
    7173        return offsetLL;
     
    7779     * @see #getLayerOffset
    7880     */
    79     public static void applyLayerOffset(ImageryLayer layer, ImageryOffset offset) {
    80         double[] dxy = calculateOffset(offset);
    81         layer.setOffset(dxy[0], dxy[1]);
     81    public static void applyLayerOffset(AbstractTileSourceLayer layer, ImageryOffset offset) {
     82        OffsetBookmark bookmark = calculateOffset(offset);
     83        layer.getDisplaySettings().setOffsetBookmark(bookmark);
    8284    }
    8385
     
    8789     * @see #applyLayerOffset
    8890     */
    89     public static double[] calculateOffset(ImageryOffset offset) {
     91    public static OffsetBookmark calculateOffset(ImageryOffset offset) {
    9092        Projection proj = Main.getProjection();
    9193        EastNorth center = proj.latlon2eastNorth(offset.getPosition());
    9294        EastNorth offsetPos = proj.latlon2eastNorth(offset.getImageryPos());
    93         return new double[] {center.getX() - offsetPos.getX(), center.getY() - offsetPos.getY()};
     95        EastNorth offsetXY = new EastNorth(center.getX() - offsetPos.getX(), center.getY() - offsetPos.getY());
     96        OffsetBookmark b = new OffsetBookmark(proj.toCode(), offset.getImagery(), "Autogenerated",
     97                offsetXY.getX(), offsetXY.getY(), offset.getPosition().lon(), offset.getPosition().lat());
     98        return b;
    9499    }
    95100
     
    99104     * @return imagery id.
    100105     */
    101     public static String getImageryID(ImageryLayer layer) {
     106    public static String getImageryID(AbstractTileSourceLayer layer) {
    102107        return layer == null ? null :
    103108            ImageryIdGenerator.getImageryID(layer.getInfo().getUrl(), layer.getInfo().getImageryType());
  • applications/editors/josm/plugins/imagery_offset_db/src/iodb/ImageryOffsetWatcher.java

    r32528 r33309  
    1414import org.openstreetmap.josm.Main;
    1515import org.openstreetmap.josm.data.coor.LatLon;
     16import org.openstreetmap.josm.data.imagery.OffsetBookmark;
    1617import org.openstreetmap.josm.gui.MapView;
    1718import org.openstreetmap.josm.gui.NavigatableComponent.ZoomChangeListener;
    18 import org.openstreetmap.josm.gui.layer.ImageryLayer;
     19import org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer;
    1920import org.openstreetmap.josm.gui.layer.Layer;
    2021import org.openstreetmap.josm.gui.layer.LayerManager.LayerAddEvent;
     
    2425import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeEvent;
    2526import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeListener;
     27import org.openstreetmap.josm.gui.layer.imagery.TileSourceDisplaySettings;
    2628import org.openstreetmap.josm.tools.Destroyable;
    2729
     
    113115            return;
    114116        }
    115         ImageryLayer layer = ImageryOffsetTools.getTopImageryLayer();
     117        AbstractTileSourceLayer layer = ImageryOffsetTools.getTopImageryLayer();
    116118        if (layer == null) {
    117119            setOffsetGood(true);
    118120            return;
    119121        }
     122        TileSourceDisplaySettings displaySettings = layer.getDisplaySettings();
    120123        LatLon center = ImageryOffsetTools.getMapCenter();
    121124        Integer hash = layer.hashCode();
     
    124127            // create entry for this layer and mark as needing alignment
    125128            data = new ImageryLayerData();
    126             data.lastDx = layer.getDx();
    127             data.lastDy = layer.getDy();
     129            data.lastDx = displaySettings.getDx();
     130            data.lastDy = displaySettings.getDy();
    128131            boolean r = false;
    129132            if (Math.abs(data.lastDx) + Math.abs(data.lastDy) > THRESHOLD) {
     
    135138        } else {
    136139            // now, we have a returning layer.
    137             if (Math.abs(data.lastDx - layer.getDx()) + Math.abs(data.lastDy - layer.getDy()) > THRESHOLD) {
     140            if (Math.abs(data.lastDx - displaySettings.getDx()) + Math.abs(data.lastDy - displaySettings.getDy()) > THRESHOLD) {
    138141                // offset has changed, record the current position
    139                 data.lastDx = layer.getDx();
    140                 data.lastDy = layer.getDy();
     142                data.lastDx = displaySettings.getDx();
     143                data.lastDy = displaySettings.getDy();
    141144                data.lastChecked = center;
    142145                storeLayerOffset(layer);
     
    154157     */
    155158    public void markGood() {
    156         ImageryLayer layer = ImageryOffsetTools.getTopImageryLayer();
     159        AbstractTileSourceLayer layer = ImageryOffsetTools.getTopImageryLayer();
    157160        if (layer != null) {
     161            TileSourceDisplaySettings displaySettings = layer.getDisplaySettings();
    158162            LatLon center = ImageryOffsetTools.getMapCenter();
    159163            Integer hash = layer.hashCode();
     
    162166                // create entry for this layer and mark as good
    163167                data = new ImageryLayerData();
    164                 data.lastDx = layer.getDx();
    165                 data.lastDy = layer.getDy();
     168                data.lastDx = displaySettings.getDx();
     169                data.lastDy = displaySettings.getDy();
    166170                data.lastChecked = center;
    167171                layers.put(hash, data);
    168172            } else {
    169                 data.lastDx = layer.getDx();
    170                 data.lastDy = layer.getDy();
     173                data.lastDx = displaySettings.getDx();
     174                data.lastDy = displaySettings.getDy();
    171175                data.lastChecked = center;
    172176            }
     
    199203    public void layerAdded(LayerAddEvent e) {
    200204        Layer newLayer = e.getAddedLayer();
    201         if (newLayer instanceof ImageryLayer)
    202             loadLayerOffset((ImageryLayer) newLayer);
     205        if (newLayer instanceof AbstractTileSourceLayer)
     206            loadLayerOffset((AbstractTileSourceLayer) newLayer);
    203207        checkOffset();
    204208    }
     
    218222     * projections: nobody uses them anyway.
    219223     */
    220     private void storeLayerOffset(ImageryLayer layer) {
     224    private void storeLayerOffset(AbstractTileSourceLayer layer) {
    221225        String id = ImageryOffsetTools.getImageryID(layer);
    222226        if (!Main.pref.getBoolean("iodb.remember.offsets", true) || id == null)
     
    229233        }
    230234        LatLon center = ImageryOffsetTools.getMapCenter();
    231         offsets.add(id + ":" + center.lat() + ":" + center.lon() + ":" + layer.getDx() + ":" + layer.getDy());
     235        offsets.add(id + ":" + center.lat() + ":" + center.lon() + ":" +
     236                layer.getDisplaySettings().getDx() + ":" + layer.getDisplaySettings().getDy());
    232237        Main.pref.putCollection("iodb.stored.offsets", offsets);
    233238    }
     
    236241     * Loads the current imagery layer offset from preferences.
    237242     */
    238     private void loadLayerOffset(ImageryLayer layer) {
     243    private void loadLayerOffset(AbstractTileSourceLayer layer) {
    239244        String id = ImageryOffsetTools.getImageryID(layer);
    240245        if (!Main.pref.getBoolean("iodb.remember.offsets", true) || id == null)
     
    249254                        dparts[i] = Double.parseDouble(parts[i+1]);
    250255                    }
    251                 } catch (Exception e) {
     256                } catch (NumberFormatException e) {
    252257                    continue;
    253258                }
     
    255260                if (lastPos.greatCircleDistance(ImageryOffsetTools.getMapCenter()) < Math.max(maxDistance, 3.0) * 1000) {
    256261                    // apply offset
    257                     layer.setOffset(dparts[2], dparts[3]);
     262                    OffsetBookmark bookmark = new OffsetBookmark(Main.getProjection().toCode(),
     263                            layer.getName(), "Restored", dparts[2], dparts[3]);
     264                    layer.getDisplaySettings().setOffsetBookmark(bookmark);
    258265                    return;
    259266                }
  • applications/editors/josm/plugins/imagery_offset_db/src/iodb/OffsetDialog.java

    r32910 r33309  
    4040import org.openstreetmap.josm.gui.MapView;
    4141import org.openstreetmap.josm.gui.NavigatableComponent.ZoomChangeListener;
    42 import org.openstreetmap.josm.gui.layer.ImageryLayer;
     42import org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer;
    4343import org.openstreetmap.josm.gui.layer.MapViewPaintable;
    4444import org.openstreetmap.josm.tools.HttpClient;
     
    270270    public void applyOffset() {
    271271        if (selectedOffset instanceof ImageryOffset) {
    272             ImageryLayer layer = ImageryOffsetTools.getTopImageryLayer();
     272            AbstractTileSourceLayer layer = ImageryOffsetTools.getTopImageryLayer();
    273273            ImageryOffsetTools.applyLayerOffset(layer, (ImageryOffset) selectedOffset);
    274274            ImageryOffsetWatcher.getInstance().markGood();
  • applications/editors/josm/plugins/imagery_offset_db/src/iodb/OffsetDialogButton.java

    r32910 r33309  
    2828import org.openstreetmap.josm.data.coor.LatLon;
    2929import org.openstreetmap.josm.data.projection.Projection;
    30 import org.openstreetmap.josm.gui.layer.ImageryLayer;
     30import org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer;
    3131import org.openstreetmap.josm.tools.ImageProvider;
    3232
     
    127127     */
    128128    private double[] getLengthAndDirection(ImageryOffset offset) {
    129         ImageryLayer layer = ImageryOffsetTools.getTopImageryLayer();
    130         double[] dxy = layer == null ? new double[] {0.0, 0.0} : new double[] {layer.getDx(), layer.getDy()};
     129        AbstractTileSourceLayer layer = ImageryOffsetTools.getTopImageryLayer();
     130        double[] dxy = layer == null ? new double[] {0.0, 0.0} :
     131                new double[] {layer.getDisplaySettings().getDx(), layer.getDisplaySettings().getDy()};
    131132        return getLengthAndDirection(offset, dxy[0], dxy[1]);
    132133    }
  • applications/editors/josm/plugins/imagery_offset_db/src/iodb/StoreImageryOffsetAction.java

    r32528 r33309  
    2020import org.openstreetmap.josm.data.osm.Way;
    2121import org.openstreetmap.josm.gui.JosmUserIdentityManager;
    22 import org.openstreetmap.josm.gui.layer.ImageryLayer;
     22import org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer;
    2323
    2424/**
     
    5252            return;
    5353
    54         ImageryLayer layer = ImageryOffsetTools.getTopImageryLayer();
     54        AbstractTileSourceLayer layer = ImageryOffsetTools.getTopImageryLayer();
    5555        if (layer == null)
    5656            return;
     
    9191        if (calibration == null) {
    9292            // register imagery offset
    93             if (Math.abs(layer.getDx()) < 1e-8 && Math.abs(layer.getDy()) < 1e-8) {
     93            if (Math.abs(layer.getDisplaySettings().getDx()) < 1e-8 && Math.abs(layer.getDisplaySettings().getDy()) < 1e-8) {
    9494                if (JOptionPane.showConfirmDialog(Main.parent,
    9595                        tr("The topmost imagery layer has no offset. Are you sure you want to upload this?"),
Note: See TracChangeset for help on using the changeset viewer.