Skip to content

Commit cc22be7

Browse files
Seth BourgetDzmitryFomchyn
andauthored
Fix for malformed URL when using contours minutes/meters. (#1599)
Co-authored-by: Dzmitry Fomchyn <[email protected]>
1 parent f519b6f commit cc22be7

File tree

3 files changed

+26
-5
lines changed

3 files changed

+26
-5
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
Mapbox welcomes participation and contributions from everyone.
44

55
### main
6+
- Fixed malformed URL that resulted from previous inclusion of `contours_meters` as an Isochrone option. [#1599](https://github.com/mapbox/mapbox-java/pull/1599)
67

78
- Fixed an issue where Isochrone API's `contours_meters` required at least two input values, instead of only one.
89

services-isochrone/src/main/java/com/mapbox/api/isochrone/MapboxIsochrone.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,8 @@ protected Call<FeatureCollection> initializeCall() {
8787
public static Builder builder() {
8888
return new AutoValue_MapboxIsochrone.Builder()
8989
.baseUrl(Constants.BASE_API_URL)
90-
.contoursMinutes("")
91-
.contoursMeters("")
90+
.contoursMinutes(null)
91+
.contoursMeters(null)
9292
.user(IsochroneCriteria.PROFILE_DEFAULT_USER);
9393
}
9494

@@ -108,7 +108,7 @@ public static Builder builder() {
108108
@NonNull
109109
abstract String coordinates();
110110

111-
@NonNull
111+
@Nullable
112112
abstract String contoursMinutes();
113113

114114
@Nullable
@@ -268,7 +268,7 @@ public Builder addContoursMeters(Integer... listOfMeterValues) {
268268
*/
269269
// Required for matching with MapboxIsochrone addContoursMinutes() method.
270270
@SuppressWarnings("WeakerAccess")
271-
abstract Builder contoursMinutes(@NonNull String stringListOfMinuteValues);
271+
abstract Builder contoursMinutes(@Nullable String stringListOfMinuteValues);
272272

273273
/**
274274
* A single String which is a comma-separated list of values(s) in meters
@@ -281,7 +281,7 @@ public Builder addContoursMeters(Integer... listOfMeterValues) {
281281
* meters which represent each contour
282282
* @return this builder for chaining options together
283283
*/
284-
abstract Builder contoursMeters(@NonNull String stringListOfMeterValues);
284+
abstract Builder contoursMeters(@Nullable String stringListOfMeterValues);
285285

286286
/**
287287
* A list of separate String which has a list of comma-separated

services-isochrone/src/test/java/com/mapbox/api/isochrone/MapboxIsochroneTest.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,25 @@ public void build_usingIntegerListForMinutes() throws ServicesException, IOExcep
153153

154154
assertTrue(requestUrlString.contains("contours_minutes=14" + commaEquivalent
155155
+ "36" + commaEquivalent + "52"));
156+
assertFalse(requestUrlString.contains("contours_meters"));
157+
}
158+
159+
@Test
160+
public void build_usingIntegerListForMeters() throws ServicesException, IOException {
161+
MapboxIsochrone client = MapboxIsochrone.builder()
162+
.accessToken(ACCESS_TOKEN)
163+
.coordinates(testPoint)
164+
.addContoursMeters(14,36,52)
165+
.profile(testProfile)
166+
.baseUrl(mockUrl.toString())
167+
.build();
168+
String requestUrlString = client.cloneCall().request().url().toString();
169+
170+
System.out.print(requestUrlString);
171+
172+
assertTrue(requestUrlString.contains("contours_meters=14" + commaEquivalent
173+
+ "36" + commaEquivalent + "52"));
174+
assertFalse(requestUrlString.contains("contours_minutes"));
156175
}
157176

158177
@Test
@@ -200,6 +219,7 @@ public void build_usingRawStringForMinutes() throws ServicesException, IOExcepti
200219
String requestUrlString = client.cloneCall().request().url().toString();
201220
assertTrue(requestUrlString.contains("contours_minutes=5" + commaEquivalent +
202221
"30" + commaEquivalent + "55"));
222+
assertFalse(requestUrlString.contains("contours_meters"));
203223
}
204224

205225
@Test

0 commit comments

Comments
 (0)