source: josm/trunk/src/org/openstreetmap/josm/data/imagery/WMSCachedTileLoader.java@ 13633

Last change on this file since 13633 was 11453, checked in by Don-vip, 7 years ago

sonar - fb-contrib:BED_BOGUS_EXCEPTION_DECLARATION - Correctness - Non derivable method declares throwing an exception that isn't thrown

  • Property svn:eol-style set to native
File size: 1.9 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.data.imagery;
3
4import java.util.Map;
5
6import org.apache.commons.jcs.access.behavior.ICacheAccess;
7import org.openstreetmap.gui.jmapviewer.Tile;
8import org.openstreetmap.gui.jmapviewer.interfaces.TileJob;
9import org.openstreetmap.gui.jmapviewer.interfaces.TileLoaderListener;
10import org.openstreetmap.josm.data.cache.BufferedImageCacheEntry;
11import org.openstreetmap.josm.data.preferences.IntegerProperty;
12
13/**
14 * Tileloader for WMS based imagery. It is separate to use different ThreadPoolExecutor, as we want
15 * to define number of simultaneous downloads for WMS separately
16 *
17 * @author Wiktor Niesiobędzki
18 * @since 8526
19 */
20public class WMSCachedTileLoader extends TMSCachedTileLoader {
21
22 /**
23 * overrides the THREAD_LIMIT in superclass, as we want to have separate limit and pool for WMS
24 */
25 public static final IntegerProperty THREAD_LIMIT = new IntegerProperty("imagery.wms.loader.maxjobs", 3);
26
27 /**
28 * Creates a TileLoader with separate WMS downloader.
29 *
30 * @param listener that will be notified when tile is loaded
31 * @param cache reference
32 * @param connectTimeout to tile source
33 * @param readTimeout from tile source
34 * @param headers to be sent with requests
35 */
36 public WMSCachedTileLoader(TileLoaderListener listener, ICacheAccess<String, BufferedImageCacheEntry> cache,
37 int connectTimeout, int readTimeout, Map<String, String> headers) {
38
39 super(listener, cache, connectTimeout, readTimeout, headers);
40 setDownloadExecutor(TMSCachedTileLoader.getNewThreadPoolExecutor("WMS-downloader-%d", THREAD_LIMIT.get()));
41 }
42
43 @Override
44 public TileJob createTileLoaderJob(Tile tile) {
45 return new WMSCachedTileLoaderJob(listener, tile, cache, connectTimeout, readTimeout, headers, getDownloadExecutor());
46 }
47}
Note: See TracBrowser for help on using the repository browser.