The following commit has been merged in the master branch: commit 219d38f19144976ff9198bacfe1576c755923f27 Author: David Paleino <da...@debian.org> Date: Thu Jun 17 13:36:12 2010 +0200
debian/patches/160-wmsplugin_max-connections.patch added, thanks to Matteo Gottardi. diff --git a/debian/changelog b/debian/changelog index 34d9723..9e09590 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +josm-plugins (0.0.svn21666-2) UNRELEASED; urgency=low + + * debian/patches/160-wmsplugin_max-connections.patch added, + thanks to Matteo Gottardi. + + -- David Paleino <da...@debian.org> Thu, 17 Jun 2010 13:35:45 +0200 + josm-plugins (0.0.svn21666-1) unstable; urgency=low * Updated to revision 21666 diff --git a/debian/patches/160-wmsplugin_max-connections.patch b/debian/patches/160-wmsplugin_max-connections.patch new file mode 100644 index 0000000..6f36d16 --- /dev/null +++ b/debian/patches/160-wmsplugin_max-connections.patch @@ -0,0 +1,121 @@ +From: Matteo Gottardi <matg...@tin.it> +Date: Wed, 16 Jun 2010 12:05:59 +0200 +Subject: [PATCH] max number of concurrent connections + +--- + wmsplugin/src/wmsplugin/WMSLayer.java | 15 +++++++++++++-- + wmsplugin/src/wmsplugin/WMSPlugin.java | 6 ++++++ + wmsplugin/src/wmsplugin/WMSPreferenceEditor.java | 13 ++++++++++++- + 3 files changed, 31 insertions(+), 3 deletions(-) + +--- josm-plugins.orig/wmsplugin/src/wmsplugin/WMSLayer.java ++++ josm-plugins/wmsplugin/src/wmsplugin/WMSLayer.java +@@ -37,12 +37,14 @@ import org.openstreetmap.josm.gui.dialog + import org.openstreetmap.josm.gui.layer.Layer; + import org.openstreetmap.josm.io.CacheFiles; + import org.openstreetmap.josm.tools.ImageProvider; ++import org.openstreetmap.josm.data.Preferences.PreferenceChangeEvent; ++import org.openstreetmap.josm.data.Preferences.PreferenceChangedListener; + + /** + * This is a layer that grabs the current screen from an WMS server. The data + * fetched this way is tiled and managed to the disc to reduce server load. + */ +-public class WMSLayer extends Layer { ++public class WMSLayer extends Layer implements PreferenceChangedListener { + protected static final Icon icon = + new ImageIcon(Toolkit.getDefaultToolkit().createImage(WMSPlugin.class.getResource("/images/wms_small.png"))); + +@@ -96,7 +98,7 @@ public class WMSLayer extends Layer { + } + resolution = mv.getDist100PixelText(); + +- executor = Executors.newFixedThreadPool(3); ++ executor = Executors.newFixedThreadPool( Main.pref.getInteger("wmsplugin.numThreads", WMSPlugin.simultaneousConnections) ); + if (baseURL != null && !baseURL.startsWith("html:") && !WMSGrabber.isUrlWithPatterns(baseURL)) { + if (!(baseURL.endsWith("&") || baseURL.endsWith("?"))) { + if (!confirmMalformedUrl(baseURL)) { +@@ -109,6 +111,8 @@ public class WMSLayer extends Layer { + } + } + } ++ ++ Main.pref.addPreferenceChangeListener(this); + } + + public boolean hasAutoDownload(){ +@@ -475,4 +479,11 @@ public class WMSLayer extends Layer { + WMSPlugin.refreshMenu(); + } + } ++ ++ public void preferenceChanged(PreferenceChangeEvent event) { ++ if (event.getKey().equals("wmsplugin.simultaneousConnections")) { ++ executor.shutdownNow(); ++ executor = Executors.newFixedThreadPool( Main.pref.getInteger("wmsplugin.numThreads", WMSPlugin.simultaneousConnections) ); ++ } ++ } + } +--- josm-plugins.orig/wmsplugin/src/wmsplugin/WMSPlugin.java ++++ josm-plugins/wmsplugin/src/wmsplugin/WMSPlugin.java +@@ -52,6 +52,7 @@ public class WMSPlugin extends Plugin { + static boolean doOverlap = false; + static int overlapEast = 14; + static int overlapNorth = 4; ++ static int simultaneousConnections = 3; + + // remember state of menu item to restore on changed preferences + static private boolean menuEnabled = false; +@@ -110,6 +111,11 @@ public class WMSPlugin extends Plugin { + overlapNorth = Integer.valueOf(prefs.get("wmsplugin.url.overlapNorth")); + } catch (Exception e) {} // If sth fails, we drop to default settings. + ++ // Load the settings for number of simultaneous connections ++ try { ++ simultaneousConnections = Integer.valueOf(prefs.get("wmsplugin.simultanousConnections")); ++ } catch (Exception e) {} // If sth fails, we drop to default settings. ++ + // And then the names+urls of WMS servers + int prefid = 0; + String name = null; +--- josm-plugins.orig/wmsplugin/src/wmsplugin/WMSPreferenceEditor.java ++++ josm-plugins/wmsplugin/src/wmsplugin/WMSPreferenceEditor.java +@@ -38,6 +38,7 @@ public class WMSPreferenceEditor impleme + JCheckBox overlapCheckBox; + JSpinner spinEast; + JSpinner spinNorth; ++ JSpinner spinSimConn; + + public void addGui(final PreferenceTabbedPane gui) { + JPanel p = gui.createPreferenceTab("wms", tr("WMS Plugin Preferences"), tr("Modify list of WMS servers displayed in the WMS plugin menu")); +@@ -180,6 +181,15 @@ public class WMSPreferenceEditor impleme + overlapPanel.add(spinNorth); + + p.add(overlapPanel); ++ ++ // Simultaneous connections ++ p.add(Box.createHorizontalGlue(), GBC.eol().fill(GridBagConstraints.HORIZONTAL)); ++ JLabel labelSimConn = new JLabel(tr("Simultaneous connections")); ++ spinSimConn = new JSpinner(new SpinnerNumberModel(WMSPlugin.simultaneousConnections, 1, 30, 1)); ++ JPanel overlapPanelSimConn = new JPanel(new FlowLayout()); ++ overlapPanelSimConn.add(labelSimConn); ++ overlapPanelSimConn.add(spinSimConn); ++ p.add(overlapPanelSimConn); + } + + public boolean ok() { +@@ -222,12 +232,13 @@ public class WMSPreferenceEditor impleme + WMSPlugin.doOverlap = overlapCheckBox.getModel().isSelected(); + WMSPlugin.overlapEast = (Integer) spinEast.getModel().getValue(); + WMSPlugin.overlapNorth = (Integer) spinNorth.getModel().getValue(); ++ WMSPlugin.simultaneousConnections = (Integer) spinSimConn.getModel().getValue(); + + Main.pref.put("wmsplugin.url.overlap", String.valueOf(WMSPlugin.doOverlap)); + Main.pref.put("wmsplugin.url.overlapEast", String.valueOf(WMSPlugin.overlapEast)); + Main.pref.put("wmsplugin.url.overlapNorth", String.valueOf(WMSPlugin.overlapNorth)); + +- Main.pref.put("wmsplugin.browser", browser.getEditor().getItem().toString()); ++ Main.pref.put("wmsplugin.simultaneousConnections", String.valueOf(WMSPlugin.simultaneousConnections)); + return false; + } + diff --git a/debian/patches/series b/debian/patches/series index 18bf2fc..b7b6e34 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -10,3 +10,4 @@ 30_slippymap.diff 20_livegps.diff 10_colorscheme.diff +160-wmsplugin_max-connections.patch -- Plugins for josm _______________________________________________ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/mailman/listinfo/pkg-grass-devel