Ignore:
Timestamp:
2011-01-13T23:27:42+01:00 (14 years ago)
Author:
pieren
Message:

Move the grabber single instance from CadastrePlugin singleton to each WMSLayer instance to allow several municipalities grabbing in parallel.

Location:
applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CadastrePlugin.java

    r23190 r25045  
    124124    static JMenu cadastreJMenu;
    125125
    126     public static CadastreGrabber cadastreGrabber = new CadastreGrabber();
    127 
    128126    public static String source = "";
    129127
  • applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/DownloadSVGBuilding.java

    r23190 r25045  
    3737
    3838    private WMSLayer wmsLayer;
    39     private CadastreGrabber grabber = CadastrePlugin.cadastreGrabber;
    4039    private CadastreInterface wmsInterface;
    4140    private String svg = null;
     
    4948
    5049        this.wmsLayer = wmsLayer;
    51         this.wmsInterface = grabber.getWmsInterface();
     50        this.wmsInterface = wmsLayer.grabber.getWmsInterface();
    5251    }
    5352
     
    7069        } catch (WMSException e) {
    7170            errorMessage = e.getMessage();
    72             grabber.getWmsInterface().resetCookie();
     71            wmsLayer.grabber.getWmsInterface().resetCookie();
    7372        }
    7473    }
     
    7675    @Override
    7776    protected void cancel() {
    78         grabber.getWmsInterface().cancel();
     77        wmsLayer.grabber.getWmsInterface().cancel();
    7978    }
    8079
  • applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/DownloadSVGTask.java

    r23190 r25045  
    4242
    4343    private WMSLayer wmsLayer;
    44     private CadastreGrabber grabber = CadastrePlugin.cadastreGrabber;
    4544    private CadastreInterface wmsInterface;
    4645    private String svg = null;
     
    5251
    5352        this.wmsLayer = wmsLayer;
    54         this.wmsInterface = grabber.getWmsInterface();
     53        this.wmsInterface = wmsLayer.grabber.getWmsInterface();
    5554    }
    5655
     
    7574        } catch (WMSException e) {
    7675            errorMessage = e.getMessage();
    77             grabber.getWmsInterface().resetCookie();
     76            wmsLayer.grabber.getWmsInterface().resetCookie();
    7877        }
    7978    }
     
    8180    @Override
    8281    protected void cancel() {
    83         grabber.getWmsInterface().cancel();
     82        wmsLayer.grabber.getWmsInterface().cancel();
    8483    }
    8584
  • applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/DownloadWMSPlanImage.java

    r24934 r25045  
    2424   
    2525    private class Task extends PleaseWaitRunnable {
    26         private CadastreGrabber grabber = CadastrePlugin.cadastreGrabber;
    2726        public Task(WMSLayer wmsLayer, Bounds bounds) {
    2827            super(tr("Downloading {0}", wmsLayer.getName()));
     
    3433            errorMessage = null;
    3534            try {
    36                 if (grabber.getWmsInterface().retrieveInterface(wmsLayer)) {
     35                if (wmsLayer.grabber.getWmsInterface().retrieveInterface(wmsLayer)) {
    3736                    if (!wmsLayer.getImages().isEmpty()) {
    3837                        //JOptionPane.showMessageDialog(Main.parent,tr("Image already loaded"));
     
    4645                        // till here
    4746                        dontGeoreference = true;
    48                     } else if (grabber.getWmsInterface().downloadCancelled){
     47                    } else if (wmsLayer.grabber.getWmsInterface().downloadCancelled){
    4948                        // do nothing
    5049                    } else {
     
    5958                        if (wmsLayer.isRaster()) {
    6059                            // set raster image commune bounding box based on current view (before adjustment)
    61                             grabber.getWmsInterface().retrieveCommuneBBox(wmsLayer);
     60                            wmsLayer.grabber.getWmsInterface().retrieveCommuneBBox(wmsLayer);
    6261                            wmsLayer.setRasterBounds(bounds);
    6362                            // grab new images from wms server into active layer
    64                             wmsLayer.grab(grabber, bounds);
    65                             if (grabber.getWmsInterface().downloadCancelled) {
     63                            wmsLayer.grab(bounds);
     64                            if (wmsLayer.grabber.getWmsInterface().downloadCancelled) {
    6665                                wmsLayer.clearImages();
    6766                                Main.map.mapView.repaint();
     
    8988            } catch (WMSException e) {
    9089                errorMessage = e.getMessage();
    91                 grabber.getWmsInterface().resetCookie();
     90                wmsLayer.grabber.getWmsInterface().resetCookie();
    9291            }
    9392        }
     
    9594        @Override
    9695        protected void cancel() {
    97             grabber.getWmsInterface().cancel();
     96            wmsLayer.grabber.getWmsInterface().cancel();
    9897            dontGeoreference = true;
    9998        }
  • applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/DownloadWMSVectorImage.java

    r24934 r25045  
    1717    private WMSLayer wmsLayer;
    1818    private Bounds bounds;
    19     private CadastreGrabber grabber = CadastrePlugin.cadastreGrabber;
    2019    private static String errorMessage;
    2120
     
    3231        errorMessage = null;
    3332        try {
    34             if (grabber.getWmsInterface().retrieveInterface(wmsLayer)) {
     33            if (wmsLayer.grabber.getWmsInterface().retrieveInterface(wmsLayer)) {
    3534                if (wmsLayer.getImages().isEmpty()) {
    3635                    // first time we grab an image for this layer
     
    5049                    } else {
    5150                        // set vectorized commune bounding box by opening the standard web window
    52                         grabber.getWmsInterface().retrieveCommuneBBox(wmsLayer);
     51                        wmsLayer.grabber.getWmsInterface().retrieveCommuneBBox(wmsLayer);
    5352                    }
    5453                }
    5554                // grab new images from wms server into active layer
    56                 wmsLayer.grab(grabber, bounds);
     55                wmsLayer.grab(bounds);
    5756            }
    5857        } catch (DuplicateLayerException e) {
     
    6160        } catch (WMSException e) {
    6261            errorMessage = e.getMessage();
    63             grabber.getWmsInterface().resetCookie();
     62            wmsLayer.grabber.getWmsInterface().resetCookie();
    6463        }
    6564    }
     
    6766    @Override
    6867    protected void cancel() {
    69         grabber.getWmsInterface().cancel();
     68        wmsLayer.grabber.getWmsInterface().cancel();
    7069        if (wmsLayer != null)
    7170            wmsLayer.grabThread.setCancelled(true);
  • applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/GrabThread.java

    r25033 r25045  
     1// License: GPL. v2 and later. Copyright 2008-2009 by Pieren <pieren3@gmail.com> and others
    12package cadastre_fr;
    23
  • applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/MenuActionNewLocation.java

    r24907 r25045  
    6565        String codeDepartement = "";
    6666        String codeCommune = "";
    67         boolean changeInterface = false;
    6867        JLabel labelSectionNewLocation = new JLabel(tr("Add a new municipality layer"));
    6968        JPanel p = new JPanel(new GridBagLayout());
     
    105104            location = inputTown.getText().toUpperCase();
    106105            codeDepartement = departements[inputDepartement.getSelectedIndex()*2];
    107             changeInterface = true;
    108106            Main.pref.put("cadastrewms.location", location);
    109107            Main.pref.put("cadastrewms.codeCommune", codeCommune);
     
    130128        } else if (existingLayers != null && existingLayers.size() > 0 && Main.map.mapView.getActiveLayer() instanceof WMSLayer) {
    131129            wmsLayer = (WMSLayer)Main.map.mapView.getActiveLayer();
    132             changeInterface = true;
    133130        }
    134131
    135         if (changeInterface)
    136             CadastrePlugin.cadastreGrabber.getWmsInterface().resetInterfaceRefIfNewLayer(wmsLayer.getName());
    137132        return wmsLayer;
    138133    }
  • applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/MenuActionResetCookie.java

    r18544 r25045  
    2020
    2121    public void actionPerformed(ActionEvent e) {
    22         CadastrePlugin.cadastreGrabber.getWmsInterface().resetCookie();
     22        //CadastrePlugin.cadastreGrabber.getWmsInterface().resetCookie();
    2323    }
    2424}
  • applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/WMSLayer.java

    r25033 r25045  
    4646    private int lambertZone = -1;
    4747
     48    public CadastreGrabber grabber = new CadastreGrabber();
     49
    4850    protected static final Icon icon = new ImageIcon(Toolkit.getDefaultToolkit().createImage(
    4951            CadastrePlugin.class.getResource("/images/cadastre_small.png")));
     
    126128    }
    127129
    128     public void grab(CadastreGrabber grabber, Bounds b) throws IOException {
     130    public void grab(Bounds b) throws IOException {
    129131        grabThread.setCancelled(false);
    130132        grabThread.setGrabber(grabber);
Note: See TracChangeset for help on using the changeset viewer.