Skip to content

Commit da8167a

Browse files
author
Seth Bourget
committed
Fix for malformed URL when using contours minutes/meters.
1 parent df6742d commit da8167a

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
### v7.3.0 - October 04, 2024
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
@@ -168,6 +187,7 @@ public void build_usingRawStringForMinutes() throws ServicesException, IOExcepti
168187
String requestUrlString = client.cloneCall().request().url().toString();
169188
assertTrue(requestUrlString.contains("contours_minutes=5" + commaEquivalent +
170189
"30" + commaEquivalent + "55"));
190+
assertFalse(requestUrlString.contains("contours_meters"));
171191
}
172192

173193
@Test

0 commit comments

Comments
 (0)