Ignore:
Timestamp:
2013-03-29T09:31:36+01:00 (11 years ago)
Author:
akks
Message:

fix #8549, patch by Zverikk: Remove [deprecated] imagery offset server support

File:
1 edited

Legend:

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

    r5513 r5808  
    2626import javax.swing.JPopupMenu;
    2727import javax.swing.JSeparator;
    28 import javax.swing.SwingUtilities;
    2928
    3029import org.openstreetmap.josm.Main;
    3130import org.openstreetmap.josm.actions.ImageryAdjustAction;
    3231import org.openstreetmap.josm.data.ProjectionBounds;
    33 import org.openstreetmap.josm.data.coor.EastNorth;
    3432import org.openstreetmap.josm.data.imagery.ImageryInfo;
    3533import org.openstreetmap.josm.data.imagery.ImageryInfo.ImageryType;
     
    3836import org.openstreetmap.josm.data.preferences.IntegerProperty;
    3937import org.openstreetmap.josm.gui.MenuScroller;
    40 import org.openstreetmap.josm.io.imagery.OffsetServer;
    41 import org.openstreetmap.josm.io.imagery.OsmosnimkiOffsetServer;
    4238import org.openstreetmap.josm.tools.ImageProvider;
    4339
     
    6662    protected int sharpenLevel;
    6763
    68     protected boolean offsetServerSupported;
    69     protected boolean offsetServerUsed;
    70     protected OffsetServerThread offsetServerThread;
    71 
    7264    private final ImageryAdjustAction adjustAction = new ImageryAdjustAction(this);
    73     private final AbstractAction useServerOffsetAction = new AbstractAction(tr("(use server offset)")) {
    74         @Override
    75         public void actionPerformed(ActionEvent e) {
    76             enableOffsetServer(true);
    77         }
    78     };
    79 
    80     protected OffsetServerThread createoffsetServerThread() {
    81         return new OffsetServerThread(new OsmosnimkiOffsetServer(
    82                 OsmosnimkiOffsetServer.PROP_SERVER_URL.get()));
    83     }
    8465
    8566    public ImageryLayer(ImageryInfo info) {
     
    9475        }
    9576        this.sharpenLevel = PROP_SHARPEN_LEVEL.get();
    96         if (OffsetServer.PROP_SERVER_ENABLED.get()) {
    97             offsetServerThread = createoffsetServerThread();
    98             offsetServerThread.start();
    99         }
    10077    }
    10178
     
    164141        public void actionPerformed(ActionEvent ev) {
    165142            setOffset(b.dx, b.dy);
    166             enableOffsetServer(false);
    167143            Main.main.menu.imageryMenu.refreshOffsetMenu();
    168144            Main.map.repaint();
     
    183159        public boolean supportLayers(List<Layer> layers) {
    184160            return false;
    185         }
    186     }
    187 
    188     public void enableOffsetServer(boolean enable) {
    189         offsetServerUsed = enable;
    190         if (offsetServerUsed && !offsetServerThread.isAlive()) {
    191             offsetServerThread = createoffsetServerThread();
    192             offsetServerThread.start();
    193161        }
    194162    }
     
    202170    public JComponent getOffsetMenuItem(JComponent subMenu) {
    203171        JMenuItem adjustMenuItem = new JMenuItem(adjustAction);
    204         if (OffsetBookmark.allBookmarks.isEmpty() && !offsetServerSupported) return adjustMenuItem;
     172        if (OffsetBookmark.allBookmarks.isEmpty()) return adjustMenuItem;
    205173
    206174        subMenu.add(adjustMenuItem);
    207         if (offsetServerSupported) {
    208             JCheckBoxMenuItem item = new JCheckBoxMenuItem(useServerOffsetAction);
    209             if (offsetServerUsed) {
    210                 item.setSelected(true);
    211             }
    212             subMenu.add(item);
    213         }
    214175        subMenu.add(new JSeparator());
    215176        boolean hasBookmarks = false;
     
    220181            }
    221182            JCheckBoxMenuItem item = new JCheckBoxMenuItem(new ApplyOffsetAction(b));
    222             if (b.dx == dx && b.dy == dy && !offsetServerUsed) {
     183            if (b.dx == dx && b.dy == dy) {
    223184                item.setSelected(true);
    224185            }
     
    235196            }
    236197        }
    237         return (hasBookmarks || offsetServerSupported) ? subMenu : adjustMenuItem;
     198        return hasBookmarks ? subMenu : adjustMenuItem;
    238199    }
    239200
     
    265226    }
    266227
    267     protected class OffsetServerThread extends Thread {
    268         OffsetServer offsetServer;
    269         EastNorth oldCenter = new EastNorth(Double.NaN, Double.NaN);
    270 
    271         public OffsetServerThread(OffsetServer offsetServer) {
    272             this.offsetServer = offsetServer;
    273             setDaemon(true);
    274         }
    275 
    276         private void updateOffset() {
    277             if (Main.map == null || Main.map.mapView == null) return;
    278             EastNorth center = Main.map.mapView.getCenter();
    279             if (center.equals(oldCenter)) return;
    280             oldCenter = center;
    281 
    282             EastNorth offset = offsetServer.getOffset(getInfo(), center);
    283             if (offset != null) {
    284                 setOffset(offset.east(),offset.north());
    285             }
    286         }
    287 
    288         @Override
    289         public void run() {
    290             if (!offsetServerSupported) {
    291                 if (!offsetServer.isLayerSupported(info)) return;
    292                 offsetServerSupported = true;
    293             }
    294             offsetServerUsed = true;
    295             SwingUtilities.invokeLater(new Runnable() {
    296                 @Override
    297                 public void run() {
    298                     Main.main.menu.imageryMenu.refreshOffsetMenu();
    299                 }
    300             });
    301             try {
    302                 while (offsetServerUsed) {
    303                     updateOffset();
    304                     Thread.sleep(1000);
    305                 }
    306             } catch (InterruptedException e) {
    307             }
    308             offsetServerUsed = false;
    309         }
    310     }
    311 
    312228    /* (non-Javadoc)
    313229     * @see org.openstreetmap.josm.gui.layer.Layer#destroy()
Note: See TracChangeset for help on using the changeset viewer.