From 2555fea5dae0efe5ca7f275d084a250c355ec89e Mon Sep 17 00:00:00 2001 From: Emux Date: Fri, 11 Aug 2017 21:17:43 +0300 Subject: [PATCH] UrlTileSource: customize api key name #49 --- .../source/geojson/MapzenGeojsonTileSource.java | 1 + .../org/oscim/tiling/source/UrlTileSourceTest.java | 5 +++-- vtm/src/org/oscim/tiling/source/UrlTileSource.java | 13 ++++++++++--- .../tiling/source/mvt/MapzenMvtTileSource.java | 1 + 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/vtm-json/src/org/oscim/tiling/source/geojson/MapzenGeojsonTileSource.java b/vtm-json/src/org/oscim/tiling/source/geojson/MapzenGeojsonTileSource.java index 2f0b3d42..8c4cb276 100644 --- a/vtm-json/src/org/oscim/tiling/source/geojson/MapzenGeojsonTileSource.java +++ b/vtm-json/src/org/oscim/tiling/source/geojson/MapzenGeojsonTileSource.java @@ -31,6 +31,7 @@ public class MapzenGeojsonTileSource extends GeojsonTileSource { public Builder() { super(DEFAULT_URL, DEFAULT_PATH, 1, 17); + keyName("api_key"); } public T locale(String locale) { diff --git a/vtm-tests/test/org/oscim/tiling/source/UrlTileSourceTest.java b/vtm-tests/test/org/oscim/tiling/source/UrlTileSourceTest.java index 1e92293b..8812c463 100644 --- a/vtm-tests/test/org/oscim/tiling/source/UrlTileSourceTest.java +++ b/vtm-tests/test/org/oscim/tiling/source/UrlTileSourceTest.java @@ -1,5 +1,6 @@ /* - * Copyright 2016 devemux86 + * Copyright 2013 Hannes Janetzek + * Copyright 2016-2017 devemux86 * * This file is part of the OpenScienceMap project (http://www.opensciencemap.org). * @@ -34,7 +35,7 @@ public class UrlTileSourceTest { @Test public void setApiKey_shouldAppendApiKey() throws Exception { tileSource.setApiKey("testkey"); - assertThat(tileSource.getTileUrl(new Tile(0, 0, (byte) 0))).endsWith("?api_key=testkey"); + assertThat(tileSource.getTileUrl(new Tile(0, 0, (byte) 0))).endsWith("?key=testkey"); } @Test diff --git a/vtm/src/org/oscim/tiling/source/UrlTileSource.java b/vtm/src/org/oscim/tiling/source/UrlTileSource.java index caf20786..10671017 100644 --- a/vtm/src/org/oscim/tiling/source/UrlTileSource.java +++ b/vtm/src/org/oscim/tiling/source/UrlTileSource.java @@ -1,6 +1,6 @@ /* * Copyright 2013 Hannes Janetzek - * Copyright 2016 devemux86 + * Copyright 2016-2017 devemux86 * Copyright 2016 Izumi Kawashima * * This file is part of the OpenScienceMap project (http://www.opensciencemap.org). @@ -33,10 +33,10 @@ public abstract class UrlTileSource extends TileSource { protected String tilePath; protected String url; private HttpEngine.Factory engineFactory; + private String keyName = "key"; private String apiKey; protected Builder() { - } protected Builder(String url, String tilePath, int zoomMin, int zoomMax) { @@ -46,6 +46,11 @@ public abstract class UrlTileSource extends TileSource { this.zoomMax = zoomMax; } + public T keyName(String keyName) { + this.keyName = keyName; + return self(); + } + public T apiKey(String apiKey) { this.apiKey = apiKey; return self(); @@ -75,6 +80,7 @@ public abstract class UrlTileSource extends TileSource { private HttpEngine.Factory mHttpFactory; private Map mRequestHeaders = Collections.emptyMap(); private TileUrlFormatter mTileUrlFormatter = URL_FORMATTER; + private String mKeyName = "key"; private String mApiKey; public interface TileUrlFormatter { @@ -83,6 +89,7 @@ public abstract class UrlTileSource extends TileSource { protected UrlTileSource(Builder builder) { super(builder); + mKeyName = builder.keyName; mApiKey = builder.apiKey; mUrl = makeUrl(builder.url); mTilePath = builder.tilePath.split("\\{|\\}"); @@ -138,7 +145,7 @@ public abstract class UrlTileSource extends TileSource { StringBuilder sb = new StringBuilder(); sb.append(mUrl).append(mTileUrlFormatter.formatTilePath(this, tile)); if (mApiKey != null) { - sb.append("?api_key=").append(mApiKey); + sb.append("?").append(mKeyName).append("=").append(mApiKey); } return sb.toString(); } diff --git a/vtm/src/org/oscim/tiling/source/mvt/MapzenMvtTileSource.java b/vtm/src/org/oscim/tiling/source/mvt/MapzenMvtTileSource.java index 2ed1030b..b9f4d7e4 100644 --- a/vtm/src/org/oscim/tiling/source/mvt/MapzenMvtTileSource.java +++ b/vtm/src/org/oscim/tiling/source/mvt/MapzenMvtTileSource.java @@ -31,6 +31,7 @@ public class MapzenMvtTileSource extends UrlTileSource { public Builder() { super(DEFAULT_URL, DEFAULT_PATH, 1, 17); + keyName("api_key"); } public T locale(String locale) {