Skip to content

Commit 7432118

Browse files
committed
add sapa map type safe bindings
1 parent bd3e366 commit 7432118

5 files changed

Lines changed: 48 additions & 2 deletions

File tree

services-directions-models/src/main/java/com/mapbox/api/directions/v5/models/BannerComponents.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,12 @@ public abstract class BannerComponents extends DirectionsJsonObject
7979
*/
8080
public static final String SIGNBOARD = "signboard";
8181

82+
/*
83+
* This view gives guidance through guide maps and is used to complete maneuvers.
84+
*/
85+
@SuppressWarnings("checkstyle:javadocvariable")
86+
public static final String SAPAGUIDEMAP = "sapaguidemap";
87+
8288
/**
8389
* This view gives guidance through junctions and is used to complete maneuvers.
8490
*/
@@ -111,7 +117,8 @@ public abstract class BannerComponents extends DirectionsJsonObject
111117
@Retention(RetentionPolicy.CLASS)
112118
@StringDef( {
113119
JCT,
114-
SIGNBOARD
120+
SIGNBOARD,
121+
SAPAGUIDEMAP
115122
})
116123
public @interface BannerComponentsSubType {
117124
}

services-directions-models/src/main/java/com/mapbox/api/directions/v5/models/RestStop.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import com.google.gson.Gson;
88
import com.google.gson.GsonBuilder;
99
import com.google.gson.TypeAdapter;
10+
import com.google.gson.annotations.SerializedName;
1011
import com.mapbox.api.directions.v5.DirectionsAdapterFactory;
1112
import com.mapbox.api.directions.v5.DirectionsCriteria;
1213

@@ -39,6 +40,16 @@ public abstract class RestStop extends DirectionsJsonObject {
3940
@Nullable
4041
public abstract List<Amenity> amenities();
4142

43+
/*
44+
* The guideMap image URL without extension. Optionally included if data is available.
45+
* The guideMap image can be retrieved as `svg`, `png` by appending `.svg`, `.png` to
46+
* the URL string accordingly.
47+
*/
48+
@SuppressWarnings("checkstyle:javadocmethod")
49+
@Nullable
50+
@SerializedName("guidemap")
51+
public abstract String guideMap();
52+
4253
/**
4354
* Create a new instance of this class by using the {@link Builder} class.
4455
*
@@ -112,6 +123,15 @@ public abstract static class Builder extends DirectionsJsonObject.Builder<Builde
112123
@NonNull
113124
public abstract Builder amenities(@Nullable List<Amenity> amenities);
114125

126+
/*
127+
* The guideMap image URL without extension. Optionally included if data is available.
128+
* The guideMap image can be retrieved as `svg`, `png` by appending `.svg`, `.png` to
129+
* the URL string accordingly.
130+
*/
131+
@SuppressWarnings("checkstyle:javadocmethod")
132+
@NonNull
133+
public abstract Builder guideMap(@Nullable String guideMap);
134+
115135
/**
116136
* Build a new {@link RestStop} object.
117137
*

services-directions-models/src/test/java/com/mapbox/api/directions/v5/models/BannerComponentTest.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,4 +245,19 @@ public void testToFromJsonSignboardSubType() {
245245

246246
assertEquals(bannerComponents, bannerComponentsFromJson);
247247
}
248+
249+
@Test
250+
public void testToFromJsonSapaMapSubType() {
251+
252+
BannerComponents bannerComponents = BannerComponents.builder()
253+
.text("")
254+
.type("guidance-view")
255+
.subType("sapaguidemap")
256+
.build();
257+
258+
String jsonString = bannerComponents.toJson();
259+
BannerComponents bannerComponentsFromJson = BannerComponents.fromJson(jsonString);
260+
261+
assertEquals(bannerComponents, bannerComponentsFromJson);
262+
}
248263
}

services-directions-models/src/test/java/com/mapbox/api/directions/v5/models/RestStopTest.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ public void sanity() throws Exception {
1717
RestStop restStop = RestStop.builder()
1818
.name("ABCD")
1919
.type("service_area")
20+
.guideMap("https://mapbox.guidemap.test.com")
2021
.amenities(Collections.emptyList())
2122
.build();
2223
assertNotNull(restStop);
@@ -28,6 +29,7 @@ public void serializableObject() throws Exception {
2829
.builder()
2930
.name("ABCD")
3031
.type("service_area")
32+
.guideMap("https://mapbox.guidemap.test.com")
3133
.amenities(Collections.emptyList())
3234
.build();
3335

@@ -45,6 +47,7 @@ public void toFromJson() {
4547
.builder()
4648
.name("ABCD")
4749
.type("service_area")
50+
.guideMap("https://mapbox.guidemap.test.com")
4851
.amenities(Collections.emptyList())
4952
.build();
5053

@@ -61,6 +64,7 @@ public void fromJson_correctlyBuildsFromJson() throws Exception {
6164
RestStop restStop = response.routes().get(0).legs().get(0).steps().get(1).intersections().get(0).restStop();
6265

6366
assertNotNull(restStop);
67+
assertNotNull(restStop.guideMap());
6468
assertNotNull(restStop.amenities());
6569
assertEquals("SA", restStop.name());
6670
assertEquals("service_area", restStop.type());

services-directions-models/src/test/resources/directions_v5_amenities.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)