Changeset 13733 in josm for trunk/src/org/openstreetmap/josm/gui
- Timestamp:
- 2018-05-12T14:18:57+02:00 (6 years ago)
- Location:
- trunk/src/org/openstreetmap/josm/gui
- Files:
-
- 1 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/bbox/SlippyMapBBoxChooser.java
r13434 r13733 21 21 import java.util.Set; 22 22 import java.util.concurrent.CopyOnWriteArrayList; 23 import java.util.concurrent.TimeUnit; 23 24 24 25 import javax.swing.ButtonModel; … … 158 159 TileLoaderFactory cachedLoaderFactory = AbstractCachedTileSourceLayer.getTileLoaderFactory("TMS", TMSCachedTileLoader.class); 159 160 if (cachedLoaderFactory != null) { 160 cachedLoader = cachedLoaderFactory.makeTileLoader(this, headers );161 cachedLoader = cachedLoaderFactory.makeTileLoader(this, headers, TimeUnit.HOURS.toSeconds(1)); 161 162 } else { 162 163 cachedLoader = null; -
trunk/src/org/openstreetmap/josm/gui/layer/AbstractTileSourceLayer.java
r13674 r13733 203 203 // prepared to be moved to the painter 204 204 protected TileCoordinateConverter coordinateConverter; 205 private final long minimumTileExpire; 205 206 206 207 /** … … 214 215 getFilterSettings().addFilterChangeListener(this); 215 216 getDisplaySettings().addSettingsChangeListener(this); 217 this.minimumTileExpire = info.getMinimumTileExpire(); 216 218 } 217 219 … … 274 276 Map<String, String> headers = getHeaders(tileSource); 275 277 276 tileLoader = getTileLoaderFactory().makeTileLoader(this, headers );278 tileLoader = getTileLoaderFactory().makeTileLoader(this, headers, minimumTileExpire); 277 279 278 280 try { … … 1759 1761 public PrecacheTask(ProgressMonitor progressMonitor) { 1760 1762 this.progressMonitor = progressMonitor; 1761 this.tileLoader = getTileLoaderFactory().makeTileLoader(this, getHeaders(tileSource) );1763 this.tileLoader = getTileLoaderFactory().makeTileLoader(this, getHeaders(tileSource), minimumTileExpire); 1762 1764 if (this.tileLoader instanceof TMSCachedTileLoader) { 1763 1765 ((TMSCachedTileLoader) this.tileLoader).setDownloadExecutor( -
trunk/src/org/openstreetmap/josm/gui/layer/ImageryLayer.java
r13244 r13733 196 196 switch(info.getImageryType()) { 197 197 case WMS: 198 case WMS_ENDPOINT: 198 199 return new WMSLayer(info); 199 200 case WMTS: -
trunk/src/org/openstreetmap/josm/gui/layer/WMSLayer.java
r13674 r13733 25 25 import org.openstreetmap.josm.data.imagery.TemplatedWMSTileSource; 26 26 import org.openstreetmap.josm.data.imagery.WMSCachedTileLoader; 27 import org.openstreetmap.josm.data.imagery.WMSEndpointTileSource; 27 28 import org.openstreetmap.josm.data.preferences.BooleanProperty; 28 29 import org.openstreetmap.josm.data.preferences.IntegerProperty; … … 57 58 private static final String CACHE_REGION_NAME = "WMS"; 58 59 59 private finalList<String> serverProjections;60 private List<String> serverProjections; 60 61 61 62 /** … … 65 66 public WMSLayer(ImageryInfo info) { 66 67 super(info); 67 CheckParameterUtil.ensureThat(info.getImageryType() == ImageryType.WMS , "ImageryType is WMS");68 CheckParameterUtil.ensureThat(info.getImageryType() == ImageryType.WMS || info.getImageryType() == ImageryType.WMS_ENDPOINT, "ImageryType is WMS"); 68 69 CheckParameterUtil.ensureParameterNotNull(info.getUrl(), "info.url"); 69 TemplatedWMSTileSource.checkUrl(info.getUrl()); 70 if (info.getImageryType() == ImageryType.WMS) { 71 TemplatedWMSTileSource.checkUrl(info.getUrl()); 72 73 } 70 74 this.serverProjections = new ArrayList<>(info.getServerProjections()); 71 75 } … … 89 93 @Override 90 94 protected AbstractWMSTileSource getTileSource() { 91 AbstractWMSTileSource tileSource = new TemplatedWMSTileSource( 92 info, chooseProjection(Main.getProjection())); 95 AbstractWMSTileSource tileSource; 96 if (info.getImageryType() == ImageryType.WMS) { 97 tileSource = new TemplatedWMSTileSource(info, chooseProjection(Main.getProjection())); 98 } else { 99 /* 100 * Chicken-and-egg problem. We want to create tile source, but supported projections we can get only 101 * from this tile source. So create tilesource first with dummy Main.getProjection(), and then update 102 * once we update server projections. 103 * 104 * Thus: 105 * * it is not required to provide projections for wms_endpoint imagery types 106 * * we always use current definitions returned by server 107 */ 108 WMSEndpointTileSource endpointTileSource = new WMSEndpointTileSource(info, Main.getProjection()); 109 this.serverProjections = endpointTileSource.getServerProjections(); 110 endpointTileSource.setTileProjection(chooseProjection(Main.getProjection())); 111 tileSource = endpointTileSource; 112 } 93 113 info.setAttribution(tileSource); 94 114 return tileSource; -
trunk/src/org/openstreetmap/josm/gui/layer/WMTSLayer.java
r12630 r13733 13 13 import org.openstreetmap.josm.data.imagery.WMSCachedTileLoader; 14 14 import org.openstreetmap.josm.data.imagery.WMTSTileSource; 15 import org.openstreetmap.josm.data.imagery.WMTSTileSource.WMTSGetCapabilitiesException; 15 16 import org.openstreetmap.josm.data.projection.Projection; 16 17 import org.openstreetmap.josm.gui.MainApplication; … … 64 65 } 65 66 return null; 66 } catch (IOException e) {67 } catch (IOException | WMTSGetCapabilitiesException e) { 67 68 Logging.warn(e); 68 69 throw new IllegalArgumentException(e);
Note:
See TracChangeset
for help on using the changeset viewer.