From ed9f5963f0650f9c561ccf990aa5456e62bfd786 Mon Sep 17 00:00:00 2001 From: Devota Aabel Date: Mon, 28 Jan 2019 12:55:21 -0500 Subject: [PATCH 01/15] Directions Refresh new implementation --- build.gradle | 31 ++++---- .../samples/BasicDirectionsRefresh.java | 12 +++ services-directions-refresh/.gitignore | 1 + services-directions-refresh/build.gradle | 10 +++ .../v1/DirectionsRefreshService.java | 28 +++++++ .../v1/MapboxDirectionsRefresh.java | 73 +++++++++++++++++++ .../DirectionsRefreshAdapterFactory.java | 12 +++ .../v1/models/DirectionsRefreshResponse.java | 46 ++++++++++++ .../directionsrefresh/v1/package-info.java | 6 ++ .../api/directions/v5/DirectionsService.java | 4 +- .../api/directions/v5/MapboxDirections.java | 8 +- .../v5/models/DirectionsResponse.java | 15 +++- .../directions/v5/models/DirectionsRoute.java | 4 + services/build.gradle | 3 +- settings.gradle | 1 + 15 files changed, 235 insertions(+), 19 deletions(-) create mode 100644 samples/src/main/java/com/mapbox/samples/BasicDirectionsRefresh.java create mode 100644 services-directions-refresh/.gitignore create mode 100644 services-directions-refresh/build.gradle create mode 100644 services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/DirectionsRefreshService.java create mode 100644 services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java create mode 100644 services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshAdapterFactory.java create mode 100644 services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshResponse.java create mode 100644 services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/package-info.java diff --git a/build.gradle b/build.gradle index bb1bb44d8..34e2a1133 100644 --- a/build.gradle +++ b/build.gradle @@ -65,18 +65,19 @@ subprojects { } def TESTABLE_MODULES = ["services", - "services-core", - "services-directions", - "services-geocoding", - "services-geojson", - "services-matching", - "services-matrix", - "services-optimization", - "services-route-tiles", - "services-speech", - "services-staticmap", - "services-tilequery", - "services-turf"] + "services-core", + "services-directions", + "services-geocoding", + "services-geojson", + "services-matching", + "services-matrix", + "services-optimization", + "services-route-tiles", + "services-speech", + "services-staticmap", + "services-tilequery", + "services-turf", + "services-directions-refresh"] def RELEASE_MODULES = ["services", "services-core", @@ -85,9 +86,9 @@ def RELEASE_MODULES = ["services", subprojects { subproject -> if (TESTABLE_MODULES.contains(subproject.name)) { - subproject.apply plugin: "com.vanniktech.android.junit.jacoco" - subproject.apply from: "${rootDir}/gradle/jacoco.gradle" - subproject.apply from: "${rootDir}/gradle/checkstyle.gradle" + subproject.apply plugin: "com.vanniktech.android.junit.jacoco" + subproject.apply from: "${rootDir}/gradle/jacoco.gradle" + subproject.apply from: "${rootDir}/gradle/checkstyle.gradle" } if (RELEASE_MODULES.contains(subproject.name)) { diff --git a/samples/src/main/java/com/mapbox/samples/BasicDirectionsRefresh.java b/samples/src/main/java/com/mapbox/samples/BasicDirectionsRefresh.java new file mode 100644 index 000000000..76233a1d0 --- /dev/null +++ b/samples/src/main/java/com/mapbox/samples/BasicDirectionsRefresh.java @@ -0,0 +1,12 @@ +package com.mapbox.samples; + +public class BasicDirectionsRefresh { + + public static void main(String[] args) { + //todo + } + + private static void MapboxDirectionsRefresh() { + //todo + } +} diff --git a/services-directions-refresh/.gitignore b/services-directions-refresh/.gitignore new file mode 100644 index 000000000..796b96d1c --- /dev/null +++ b/services-directions-refresh/.gitignore @@ -0,0 +1 @@ +/build diff --git a/services-directions-refresh/build.gradle b/services-directions-refresh/build.gradle new file mode 100644 index 000000000..28c2bd0e6 --- /dev/null +++ b/services-directions-refresh/build.gradle @@ -0,0 +1,10 @@ +apply plugin: 'java-library' + +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + compile project(path: ':services-core') + compile project(path: ':services') +} + +sourceCompatibility = "6" +targetCompatibility = "6" diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/DirectionsRefreshService.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/DirectionsRefreshService.java new file mode 100644 index 000000000..5a17de7f3 --- /dev/null +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/DirectionsRefreshService.java @@ -0,0 +1,28 @@ +package com.mapbox.api.directionsrefresh.v1; + +import com.mapbox.api.directionsrefresh.v1.models.DirectionsRefreshResponse; + +import retrofit2.Call; +import retrofit2.http.GET; +import retrofit2.http.Header; +import retrofit2.http.Query; + +public interface DirectionsRefreshService { + + /** + * + * @param userAgent + * @param routeId + * @param annotations + * @param accessToken + * @return + * @since 4.4.0 + */ + @GET("directions-refresh/v1") + Call getCall( + @Header("User-Agent") String userAgent, + @Query("route_id") String routeId, + @Query("annotations") String annotations, + @Query("access_token") String accessToken + ); +} diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java new file mode 100644 index 000000000..1ac07e624 --- /dev/null +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java @@ -0,0 +1,73 @@ +package com.mapbox.api.directionsrefresh.v1; + +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; + +import com.google.auto.value.AutoValue; +import com.mapbox.api.directions.v5.DirectionsCriteria; +import com.mapbox.api.directions.v5.MapboxDirections; +import com.mapbox.api.directionsrefresh.v1.models.DirectionsRefreshResponse; +import com.mapbox.core.MapboxService; +import com.mapbox.core.constants.Constants; +import com.mapbox.core.utils.ApiCallHelper; +import com.mapbox.core.utils.TextUtils; + +import retrofit2.Call; + +@AutoValue +public abstract class MapboxDirectionsRefresh extends MapboxService { + + protected MapboxDirectionsRefresh() { + super(DirectionsRefreshService.class); + } + + protected Call initializeCall() { + return getService().getCall( + ApiCallHelper.getHeaderUserAgent(clientAppName()), + routeId(), + annotations(), + accessToken() + ); + } + + abstract String routeId(); + + abstract String annotations(); + + abstract String accessToken(); + + abstract String clientAppName(); + + public static Builder builder() { + return new AutoValue_MapboxDirectionsRefresh.Builder() + .baseUrl(Constants.BASE_API_URL); + } + + public abstract Builder toBuilder(); + + @AutoValue.Builder + public abstract static class Builder { + private String[] annotations; + + public abstract Builder routeId(String routeId); + + // todo nullable? + public Builder annotations(@Nullable @DirectionsCriteria.AnnotationCriteria String... annotations) { + this.annotations = annotations; + return this; + } + + abstract MapboxDirections.Builder annotation(@Nullable String annotation); + + public abstract MapboxDirections.Builder accessToken(@NonNull String accessToken); + + public abstract MapboxDirections.Builder clientAppName(@NonNull String clientAppName); + + abstract MapboxDirectionsRefresh autoBuild(); + + public MapboxDirectionsRefresh build() { + annotation(TextUtils.join(",", annotations)); + return autoBuild(); + } + } +} diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshAdapterFactory.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshAdapterFactory.java new file mode 100644 index 000000000..00850a15c --- /dev/null +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshAdapterFactory.java @@ -0,0 +1,12 @@ +package com.mapbox.api.directionsrefresh.v1.models; + +import com.google.gson.TypeAdapterFactory; +import com.ryanharter.auto.value.gson.GsonTypeAdapterFactory; + +@GsonTypeAdapterFactory +public abstract class DirectionsRefreshAdapterFactory implements TypeAdapterFactory { + + public static TypeAdapterFactory create() { + return new AutoValueGson_DirectionsRefreshAdapterFactory(); + } +} diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshResponse.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshResponse.java new file mode 100644 index 000000000..6f5246186 --- /dev/null +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshResponse.java @@ -0,0 +1,46 @@ +package com.mapbox.api.directionsrefresh.v1.models; + +import com.google.auto.value.AutoValue; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.TypeAdapter; +import com.mapbox.api.directions.v5.DirectionsAdapterFactory; +import com.mapbox.api.directions.v5.models.DirectionsRoute; + +import java.io.Serializable; + +@AutoValue +public abstract class DirectionsRefreshResponse implements Serializable { + + public abstract String code(); + + public abstract String message(); + + public abstract DirectionsRoute route(); + + public static Builder builder() { + return new AutoValue_DirectionsRefreshResponse.Builder(); + } + + public static TypeAdapter typeAdapter(Gson gson) { + return new AutoValue_DirectionsRefreshResponse.GsonTypeAdapter(gson); + } + + public static DirectionsRefreshResponse fromJson(String json) { + GsonBuilder gsonBuilder = new GsonBuilder(); + gsonBuilder.registerTypeAdapterFactory(DirectionsRefreshAdapterFactory.create()) + .registerTypeAdapterFactory(DirectionsAdapterFactory.create()); + return gsonBuilder.create().fromJson(json, DirectionsRefreshResponse.class); + } + + @AutoValue.Builder + public abstract static class Builder { + public abstract Builder code(String code); + + public abstract Builder message(String message); + + public abstract Builder route(DirectionsRoute directionsRoute); + + public abstract DirectionsRefreshResponse build(); + } +} diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/package-info.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/package-info.java new file mode 100644 index 000000000..bcc296a60 --- /dev/null +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/package-info.java @@ -0,0 +1,6 @@ +/** + * Contains classes for accessing the Mapbox Directions Refresh API. + * + * @since 4.4.0 + */ +package com.mapbox.api.directionsrefresh.v1; diff --git a/services-directions/src/main/java/com/mapbox/api/directions/v5/DirectionsService.java b/services-directions/src/main/java/com/mapbox/api/directions/v5/DirectionsService.java index 1acdf636f..69cf315a1 100644 --- a/services-directions/src/main/java/com/mapbox/api/directions/v5/DirectionsService.java +++ b/services-directions/src/main/java/com/mapbox/api/directions/v5/DirectionsService.java @@ -74,6 +74,8 @@ Call getCall( @Query("exclude") String exclude, @Query("approaches") String approaches, @Query("waypoint_names") String waypointNames, - @Query("waypoint_targets") String waypointTargets + @Query("waypoint_targets") String waypointTargets, + // todo change from route_id to save_Route when endpoint is updated per convo with Greg + @Query("route_id") Boolean saveRoute ); } diff --git a/services-directions/src/main/java/com/mapbox/api/directions/v5/MapboxDirections.java b/services-directions/src/main/java/com/mapbox/api/directions/v5/MapboxDirections.java index 26b65ac67..9a5ccc261 100644 --- a/services-directions/src/main/java/com/mapbox/api/directions/v5/MapboxDirections.java +++ b/services-directions/src/main/java/com/mapbox/api/directions/v5/MapboxDirections.java @@ -88,7 +88,8 @@ protected Call initializeCall() { exclude(), approaches(), waypointNames(), - waypointTargets()); + waypointTargets(), + saveRoute()); } @Override @@ -338,6 +339,9 @@ private static String formatWaypointTargets(Point[] waypointTargets) { @Nullable abstract String waypointTargets(); + @Nullable + abstract Boolean saveRoute(); + /** * Build a new {@link MapboxDirections} object with the initial values set for * {@link #baseUrl()}, {@link #profile()}, {@link #user()}, and {@link #geometries()}. @@ -772,6 +776,8 @@ public Builder addWaypointTargets(@Nullable Point... waypointTargets) { abstract Builder waypointTargets(@Nullable String waypointTargets); + abstract Builder saveRoute(); + abstract MapboxDirections autoBuild(); /** diff --git a/services-directions/src/main/java/com/mapbox/api/directions/v5/models/DirectionsResponse.java b/services-directions/src/main/java/com/mapbox/api/directions/v5/models/DirectionsResponse.java index 43038d7b3..fb845f7d6 100644 --- a/services-directions/src/main/java/com/mapbox/api/directions/v5/models/DirectionsResponse.java +++ b/services-directions/src/main/java/com/mapbox/api/directions/v5/models/DirectionsResponse.java @@ -2,6 +2,7 @@ import android.support.annotation.NonNull; import android.support.annotation.Nullable; + import com.google.auto.value.AutoValue; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -195,12 +196,24 @@ public abstract static class Builder { */ public abstract Builder uuid(@Nullable String uuid); + abstract DirectionsResponse autoBuild(); + + abstract List routes(); + + abstract String uuid(); + /** * Build a new {@link DirectionsResponse} object. * * @return a new {@link DirectionsResponse} using the provided values in this builder * @since 3.0.0 */ - public abstract DirectionsResponse build(); + public DirectionsResponse build() { + for (int i = 0; i < routes().size(); i++) { + routes().set(i, routes().get(i).toBuilder().routeId(uuid() + ":" + i).build()); + } + + return autoBuild(); + } } } diff --git a/services-directions/src/main/java/com/mapbox/api/directions/v5/models/DirectionsRoute.java b/services-directions/src/main/java/com/mapbox/api/directions/v5/models/DirectionsRoute.java index f0fbdaace..864440685 100644 --- a/services-directions/src/main/java/com/mapbox/api/directions/v5/models/DirectionsRoute.java +++ b/services-directions/src/main/java/com/mapbox/api/directions/v5/models/DirectionsRoute.java @@ -32,6 +32,8 @@ public static Builder builder() { return new AutoValue_DirectionsRoute.Builder(); } + public abstract String routeId(); + /** * The distance traveled from origin to destination. * @@ -234,6 +236,8 @@ public abstract static class Builder { */ public abstract Builder voiceLanguage(@Nullable String voiceLanguage); + abstract Builder routeId(String routeId); + /** * Build a new {@link DirectionsRoute} object. * diff --git a/services/build.gradle b/services/build.gradle index 829f2b89e..a81080539 100644 --- a/services/build.gradle +++ b/services/build.gradle @@ -5,7 +5,8 @@ sourceSets { '../services-matching/src/main/java', '../services-matrix/src/main/java', '../services-optimization/src/main/java', '../services-staticmap/src/main/java', '../services-speech/src/main/java', '../services-tilequery/src/main/java', - '../services-route-tiles/src/main/java'] + '../services-route-tiles/src/main/java', + '../services-directions/src/main/java'] } dependencies { diff --git a/settings.gradle b/settings.gradle index 75cf04a36..d55f65f81 100644 --- a/settings.gradle +++ b/settings.gradle @@ -13,4 +13,5 @@ include ':services-matching' include ':services-staticmap' include ':services-tilequery' include ':services-route-tiles' +include ':services-directions-refresh' include 'samples' From 073186e168547dd9314e08b7cf311176f43ff3c6 Mon Sep 17 00:00:00 2001 From: Devota Aabel Date: Mon, 4 Feb 2019 15:56:58 -0500 Subject: [PATCH 02/15] Adjusted APIs for new changes --- .../v1/DirectionsRefreshService.java | 9 +++++---- .../v1/MapboxDirectionsRefresh.java | 13 ++++--------- .../mapbox/api/directions/v5/DirectionsService.java | 2 +- .../mapbox/api/directions/v5/MapboxDirections.java | 6 +++--- 4 files changed, 13 insertions(+), 17 deletions(-) diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/DirectionsRefreshService.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/DirectionsRefreshService.java index 5a17de7f3..44f27a93c 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/DirectionsRefreshService.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/DirectionsRefreshService.java @@ -5,6 +5,7 @@ import retrofit2.Call; import retrofit2.http.GET; import retrofit2.http.Header; +import retrofit2.http.Path; import retrofit2.http.Query; public interface DirectionsRefreshService { @@ -13,16 +14,16 @@ public interface DirectionsRefreshService { * * @param userAgent * @param routeId - * @param annotations + * @param routeIndex * @param accessToken * @return * @since 4.4.0 */ - @GET("directions-refresh/v1") + @GET("directions-refresh/v1/{route_id}/{route_index}") Call getCall( @Header("User-Agent") String userAgent, - @Query("route_id") String routeId, - @Query("annotations") String annotations, + @Path("route_id") String routeId, + @Path("route_index") String routeIndex, @Query("access_token") String accessToken ); } diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java index 1ac07e624..aca3546b8 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java @@ -25,14 +25,14 @@ protected Call initializeCall() { return getService().getCall( ApiCallHelper.getHeaderUserAgent(clientAppName()), routeId(), - annotations(), + routeIndex(), accessToken() ); } abstract String routeId(); - abstract String annotations(); + abstract String routeIndex(); abstract String accessToken(); @@ -57,17 +57,12 @@ public Builder annotations(@Nullable @DirectionsCriteria.AnnotationCriteria Stri return this; } - abstract MapboxDirections.Builder annotation(@Nullable String annotation); + abstract MapboxDirections.Builder routeIndex(@Nullable String routeIndex); public abstract MapboxDirections.Builder accessToken(@NonNull String accessToken); public abstract MapboxDirections.Builder clientAppName(@NonNull String clientAppName); - abstract MapboxDirectionsRefresh autoBuild(); - - public MapboxDirectionsRefresh build() { - annotation(TextUtils.join(",", annotations)); - return autoBuild(); - } + abstract MapboxDirectionsRefresh build(); } } diff --git a/services-directions/src/main/java/com/mapbox/api/directions/v5/DirectionsService.java b/services-directions/src/main/java/com/mapbox/api/directions/v5/DirectionsService.java index 69cf315a1..b9d60b9f6 100644 --- a/services-directions/src/main/java/com/mapbox/api/directions/v5/DirectionsService.java +++ b/services-directions/src/main/java/com/mapbox/api/directions/v5/DirectionsService.java @@ -76,6 +76,6 @@ Call getCall( @Query("waypoint_names") String waypointNames, @Query("waypoint_targets") String waypointTargets, // todo change from route_id to save_Route when endpoint is updated per convo with Greg - @Query("route_id") Boolean saveRoute + @Query("enable_refresh") Boolean enableRefresh ); } diff --git a/services-directions/src/main/java/com/mapbox/api/directions/v5/MapboxDirections.java b/services-directions/src/main/java/com/mapbox/api/directions/v5/MapboxDirections.java index 9a5ccc261..904cb8cd0 100644 --- a/services-directions/src/main/java/com/mapbox/api/directions/v5/MapboxDirections.java +++ b/services-directions/src/main/java/com/mapbox/api/directions/v5/MapboxDirections.java @@ -89,7 +89,7 @@ protected Call initializeCall() { approaches(), waypointNames(), waypointTargets(), - saveRoute()); + enableRefresh()); } @Override @@ -340,7 +340,7 @@ private static String formatWaypointTargets(Point[] waypointTargets) { abstract String waypointTargets(); @Nullable - abstract Boolean saveRoute(); + abstract Boolean enableRefresh(); /** * Build a new {@link MapboxDirections} object with the initial values set for @@ -776,7 +776,7 @@ public Builder addWaypointTargets(@Nullable Point... waypointTargets) { abstract Builder waypointTargets(@Nullable String waypointTargets); - abstract Builder saveRoute(); + abstract Builder enableRefresh(); abstract MapboxDirections autoBuild(); From 9b4cb3b67ea55eb6b0e3f134fa8a895abf4a0e8b Mon Sep 17 00:00:00 2001 From: Devota Aabel Date: Wed, 6 Feb 2019 16:09:43 -0500 Subject: [PATCH 03/15] Updated directions refresh API with routeIndex and legIndex --- .../v1/DirectionsRefreshService.java | 8 +++++--- .../v1/MapboxDirectionsRefresh.java | 19 +++++++++++-------- .../v5/models/DirectionsResponse.java | 2 +- .../directions/v5/models/DirectionsRoute.java | 4 ++-- .../api/directions/v5/models/RouteLeg.java | 5 ++++- 5 files changed, 23 insertions(+), 15 deletions(-) diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/DirectionsRefreshService.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/DirectionsRefreshService.java index 44f27a93c..dcb12c7e9 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/DirectionsRefreshService.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/DirectionsRefreshService.java @@ -13,17 +13,19 @@ public interface DirectionsRefreshService { /** * * @param userAgent - * @param routeId + * @param requestId * @param routeIndex + * @param legIndex * @param accessToken * @return * @since 4.4.0 */ - @GET("directions-refresh/v1/{route_id}/{route_index}") + @GET("directions-refresh/v1/{request_id}/{route_index}/{leg_index}") Call getCall( @Header("User-Agent") String userAgent, - @Path("route_id") String routeId, + @Path("request_id") String requestId, @Path("route_index") String routeIndex, + @Path("leg_index") String legIndex, @Query("access_token") String accessToken ); } diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java index aca3546b8..da429d1a5 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java @@ -5,12 +5,10 @@ import com.google.auto.value.AutoValue; import com.mapbox.api.directions.v5.DirectionsCriteria; -import com.mapbox.api.directions.v5.MapboxDirections; import com.mapbox.api.directionsrefresh.v1.models.DirectionsRefreshResponse; import com.mapbox.core.MapboxService; import com.mapbox.core.constants.Constants; import com.mapbox.core.utils.ApiCallHelper; -import com.mapbox.core.utils.TextUtils; import retrofit2.Call; @@ -24,16 +22,19 @@ protected MapboxDirectionsRefresh() { protected Call initializeCall() { return getService().getCall( ApiCallHelper.getHeaderUserAgent(clientAppName()), - routeId(), + requestId(), routeIndex(), + legIndex(), accessToken() ); } - abstract String routeId(); + abstract String requestId(); abstract String routeIndex(); + abstract String legIndex(); + abstract String accessToken(); abstract String clientAppName(); @@ -49,7 +50,7 @@ public static Builder builder() { public abstract static class Builder { private String[] annotations; - public abstract Builder routeId(String routeId); + public abstract Builder requestId(String requestId); // todo nullable? public Builder annotations(@Nullable @DirectionsCriteria.AnnotationCriteria String... annotations) { @@ -57,11 +58,13 @@ public Builder annotations(@Nullable @DirectionsCriteria.AnnotationCriteria Stri return this; } - abstract MapboxDirections.Builder routeIndex(@Nullable String routeIndex); + abstract Builder routeIndex(@Nullable String routeIndex); + + abstract Builder legIndex(@Nullable String legIndex); - public abstract MapboxDirections.Builder accessToken(@NonNull String accessToken); + public abstract Builder accessToken(@NonNull String accessToken); - public abstract MapboxDirections.Builder clientAppName(@NonNull String clientAppName); + public abstract Builder clientAppName(@NonNull String clientAppName); abstract MapboxDirectionsRefresh build(); } diff --git a/services-directions/src/main/java/com/mapbox/api/directions/v5/models/DirectionsResponse.java b/services-directions/src/main/java/com/mapbox/api/directions/v5/models/DirectionsResponse.java index fb845f7d6..864aaae55 100644 --- a/services-directions/src/main/java/com/mapbox/api/directions/v5/models/DirectionsResponse.java +++ b/services-directions/src/main/java/com/mapbox/api/directions/v5/models/DirectionsResponse.java @@ -210,7 +210,7 @@ public abstract static class Builder { */ public DirectionsResponse build() { for (int i = 0; i < routes().size(); i++) { - routes().set(i, routes().get(i).toBuilder().routeId(uuid() + ":" + i).build()); + routes().set(i, routes().get(i).toBuilder().routeIndex(String.valueOf(i)).build()); } return autoBuild(); diff --git a/services-directions/src/main/java/com/mapbox/api/directions/v5/models/DirectionsRoute.java b/services-directions/src/main/java/com/mapbox/api/directions/v5/models/DirectionsRoute.java index 864440685..2c15d6e90 100644 --- a/services-directions/src/main/java/com/mapbox/api/directions/v5/models/DirectionsRoute.java +++ b/services-directions/src/main/java/com/mapbox/api/directions/v5/models/DirectionsRoute.java @@ -32,7 +32,7 @@ public static Builder builder() { return new AutoValue_DirectionsRoute.Builder(); } - public abstract String routeId(); + public abstract String routeIndex(); /** * The distance traveled from origin to destination. @@ -236,7 +236,7 @@ public abstract static class Builder { */ public abstract Builder voiceLanguage(@Nullable String voiceLanguage); - abstract Builder routeId(String routeId); + abstract Builder routeIndex(String routeIndex); /** * Build a new {@link DirectionsRoute} object. diff --git a/services-directions/src/main/java/com/mapbox/api/directions/v5/models/RouteLeg.java b/services-directions/src/main/java/com/mapbox/api/directions/v5/models/RouteLeg.java index 468077d6d..79b2e046f 100644 --- a/services-directions/src/main/java/com/mapbox/api/directions/v5/models/RouteLeg.java +++ b/services-directions/src/main/java/com/mapbox/api/directions/v5/models/RouteLeg.java @@ -74,6 +74,8 @@ public static Builder builder() { @Nullable public abstract LegAnnotation annotation(); + public abstract String legIndex(); + /** * Convert the current {@link RouteLeg} to its builder holding the currently assigned * values. This allows you to modify a single property and then rebuild the object resulting in @@ -83,7 +85,6 @@ public static Builder builder() { * in this {@link RouteLeg} * @since 3.1.0 */ - public abstract Builder toBuilder(); /** @@ -166,6 +167,8 @@ public abstract static class Builder { */ public abstract Builder annotation(@Nullable LegAnnotation annotation); + public abstract Builder legIndex(String legIndex); + /** * Build a new {@link RouteLeg} object. * From 62e18dc5ee736c4164e49c8867efff925b00e6b2 Mon Sep 17 00:00:00 2001 From: Devota Aabel Date: Mon, 11 Feb 2019 15:39:50 -0500 Subject: [PATCH 04/15] Updated for current API --- samples/build.gradle | 1 + services-directions-refresh/build.gradle | 11 +++++-- .../v1/DirectionsRefreshService.java | 2 +- .../v1/MapboxDirectionsRefresh.java | 30 +++++++++++++++---- .../v1/models/DirectionsRefreshResponse.java | 10 +++++-- .../api/directions/v5/MapboxDirections.java | 2 +- .../directions/v5/models/DirectionsRoute.java | 1 + .../api/directions/v5/models/RouteLeg.java | 1 + 8 files changed, 44 insertions(+), 14 deletions(-) diff --git a/samples/build.gradle b/samples/build.gradle index 9c2fdaf23..7bb3673a0 100644 --- a/samples/build.gradle +++ b/samples/build.gradle @@ -24,6 +24,7 @@ dependencies { implementation project(":services-staticmap") implementation project(":services-speech") implementation project(":services-tilequery") + compile project(path: ':services-directions-refresh') } buildConfig { diff --git a/services-directions-refresh/build.gradle b/services-directions-refresh/build.gradle index 28c2bd0e6..dcfbee55e 100644 --- a/services-directions-refresh/build.gradle +++ b/services-directions-refresh/build.gradle @@ -2,9 +2,14 @@ apply plugin: 'java-library' dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) - compile project(path: ':services-core') + api project(":services-core") + + // Annotations + compileOnly dependenciesList.supportAnnotation + + // AutoValue + compileOnly dependenciesList.autoValue + compileOnly dependenciesList.autoValueGson compile project(path: ':services') } -sourceCompatibility = "6" -targetCompatibility = "6" diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/DirectionsRefreshService.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/DirectionsRefreshService.java index dcb12c7e9..67aa95c6a 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/DirectionsRefreshService.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/DirectionsRefreshService.java @@ -20,7 +20,7 @@ public interface DirectionsRefreshService { * @return * @since 4.4.0 */ - @GET("directions-refresh/v1/{request_id}/{route_index}/{leg_index}") + @GET("directions-refresh/v5/mapbox/driving-traffic/{request_id}/{route_index}/{leg_index}") Call getCall( @Header("User-Agent") String userAgent, @Path("request_id") String requestId, diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java index da429d1a5..854412056 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java @@ -4,16 +4,19 @@ import android.support.annotation.Nullable; import com.google.auto.value.AutoValue; +import com.google.gson.GsonBuilder; +import com.mapbox.api.directions.v5.DirectionsAdapterFactory; import com.mapbox.api.directions.v5.DirectionsCriteria; +import com.mapbox.api.directionsrefresh.v1.models.DirectionsRefreshAdapterFactory; import com.mapbox.api.directionsrefresh.v1.models.DirectionsRefreshResponse; import com.mapbox.core.MapboxService; -import com.mapbox.core.constants.Constants; import com.mapbox.core.utils.ApiCallHelper; import retrofit2.Call; @AutoValue -public abstract class MapboxDirectionsRefresh extends MapboxService { +public abstract class MapboxDirectionsRefresh extends MapboxService { protected MapboxDirectionsRefresh() { super(DirectionsRefreshService.class); @@ -37,11 +40,24 @@ protected Call initializeCall() { abstract String accessToken(); + @Nullable abstract String clientAppName(); + @Override + protected GsonBuilder getGsonBuilder() { + return super.getGsonBuilder() + .registerTypeAdapterFactory(DirectionsRefreshAdapterFactory.create()) + .registerTypeAdapterFactory(DirectionsAdapterFactory.create()); + } + + @NonNull + @Override + protected abstract String baseUrl(); + public static Builder builder() { + //todo update once live in production return new AutoValue_MapboxDirectionsRefresh.Builder() - .baseUrl(Constants.BASE_API_URL); + .baseUrl("https://api-directions-refresh-internal.tilestream.net"); } public abstract Builder toBuilder(); @@ -58,14 +74,16 @@ public Builder annotations(@Nullable @DirectionsCriteria.AnnotationCriteria Stri return this; } - abstract Builder routeIndex(@Nullable String routeIndex); + public abstract Builder routeIndex(@NonNull String routeIndex); - abstract Builder legIndex(@Nullable String legIndex); + public abstract Builder legIndex(@NonNull String legIndex); public abstract Builder accessToken(@NonNull String accessToken); public abstract Builder clientAppName(@NonNull String clientAppName); - abstract MapboxDirectionsRefresh build(); + public abstract Builder baseUrl(String baseUrl); + + public abstract MapboxDirectionsRefresh build(); } } diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshResponse.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshResponse.java index 6f5246186..ef4a16d10 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshResponse.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshResponse.java @@ -1,16 +1,17 @@ package com.mapbox.api.directionsrefresh.v1.models; +import android.support.annotation.NonNull; + import com.google.auto.value.AutoValue; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.TypeAdapter; import com.mapbox.api.directions.v5.DirectionsAdapterFactory; +import com.mapbox.api.directions.v5.models.DirectionsJsonObject; import com.mapbox.api.directions.v5.models.DirectionsRoute; -import java.io.Serializable; - @AutoValue -public abstract class DirectionsRefreshResponse implements Serializable { +public abstract class DirectionsRefreshResponse extends DirectionsJsonObject { public abstract String code(); @@ -18,6 +19,7 @@ public abstract class DirectionsRefreshResponse implements Serializable { public abstract DirectionsRoute route(); + @NonNull public static Builder builder() { return new AutoValue_DirectionsRefreshResponse.Builder(); } @@ -33,6 +35,8 @@ public static DirectionsRefreshResponse fromJson(String json) { return gsonBuilder.create().fromJson(json, DirectionsRefreshResponse.class); } + public abstract Builder toBuilder(); + @AutoValue.Builder public abstract static class Builder { public abstract Builder code(String code); diff --git a/services-directions/src/main/java/com/mapbox/api/directions/v5/MapboxDirections.java b/services-directions/src/main/java/com/mapbox/api/directions/v5/MapboxDirections.java index 904cb8cd0..aa9f0d4ba 100644 --- a/services-directions/src/main/java/com/mapbox/api/directions/v5/MapboxDirections.java +++ b/services-directions/src/main/java/com/mapbox/api/directions/v5/MapboxDirections.java @@ -776,7 +776,7 @@ public Builder addWaypointTargets(@Nullable Point... waypointTargets) { abstract Builder waypointTargets(@Nullable String waypointTargets); - abstract Builder enableRefresh(); + public abstract Builder enableRefresh(Boolean enableRefresh); abstract MapboxDirections autoBuild(); diff --git a/services-directions/src/main/java/com/mapbox/api/directions/v5/models/DirectionsRoute.java b/services-directions/src/main/java/com/mapbox/api/directions/v5/models/DirectionsRoute.java index 2c15d6e90..ce1da6b96 100644 --- a/services-directions/src/main/java/com/mapbox/api/directions/v5/models/DirectionsRoute.java +++ b/services-directions/src/main/java/com/mapbox/api/directions/v5/models/DirectionsRoute.java @@ -32,6 +32,7 @@ public static Builder builder() { return new AutoValue_DirectionsRoute.Builder(); } + @Nullable public abstract String routeIndex(); /** diff --git a/services-directions/src/main/java/com/mapbox/api/directions/v5/models/RouteLeg.java b/services-directions/src/main/java/com/mapbox/api/directions/v5/models/RouteLeg.java index 79b2e046f..41f4738c8 100644 --- a/services-directions/src/main/java/com/mapbox/api/directions/v5/models/RouteLeg.java +++ b/services-directions/src/main/java/com/mapbox/api/directions/v5/models/RouteLeg.java @@ -74,6 +74,7 @@ public static Builder builder() { @Nullable public abstract LegAnnotation annotation(); + @Nullable public abstract String legIndex(); /** From e2efff6bb4fbb54e208f82bb8c4b93af02b46ad5 Mon Sep 17 00:00:00 2001 From: Devota Aabel Date: Mon, 11 Feb 2019 15:57:15 -0500 Subject: [PATCH 05/15] Added sample --- .../samples/BasicDirectionsRefresh.java | 67 +++++++++++++++++-- .../v1/models/DirectionsRefreshResponse.java | 4 ++ 2 files changed, 67 insertions(+), 4 deletions(-) diff --git a/samples/src/main/java/com/mapbox/samples/BasicDirectionsRefresh.java b/samples/src/main/java/com/mapbox/samples/BasicDirectionsRefresh.java index 76233a1d0..ab28e2d4e 100644 --- a/samples/src/main/java/com/mapbox/samples/BasicDirectionsRefresh.java +++ b/samples/src/main/java/com/mapbox/samples/BasicDirectionsRefresh.java @@ -1,12 +1,71 @@ package com.mapbox.samples; +import com.mapbox.api.directions.v5.MapboxDirections; +import com.mapbox.api.directions.v5.models.DirectionsResponse; +import com.mapbox.api.directionsrefresh.v1.MapboxDirectionsRefresh; +import com.mapbox.api.directionsrefresh.v1.models.DirectionsRefreshResponse; +import com.mapbox.geojson.Point; +import com.mapbox.sample.BuildConfig; + +import java.io.IOException; + +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; + +import static com.mapbox.api.directions.v5.DirectionsCriteria.ANNOTATION_CONGESTION; +import static com.mapbox.api.directions.v5.DirectionsCriteria.OVERVIEW_FULL; + public class BasicDirectionsRefresh { + public static void main(String[] args) throws IOException { + String requestId = simpleMapboxDirectionsRequest(); + simpleMapboxDirectionsRefreshRequest(requestId); + } + + /** + * Demonstrates how to make the most basic directions request. + * + * @throws IOException signals that an I/O exception of some sort has occurred + */ + private static String simpleMapboxDirectionsRequest() throws IOException { + MapboxDirections.Builder builder = MapboxDirections.builder(); - public static void main(String[] args) { - //todo + builder.accessToken(BuildConfig.MAPBOX_ACCESS_TOKEN); + builder.enableRefresh(true); + builder.origin(Point.fromLngLat(-95.6332, 29.7890)); + builder.destination(Point.fromLngLat(-95.3591, 29.7576)); + builder.overview(OVERVIEW_FULL); + builder.annotations(ANNOTATION_CONGESTION); + + Response response = builder.build().executeCall(); + + String requestId = response.body().routes().get(0).routeOptions().requestUuid(); + + System.out.println("Directions response: " + response + " " + requestId); + + return requestId; } + private static void simpleMapboxDirectionsRefreshRequest(String requestId) { + + MapboxDirectionsRefresh refresh = + MapboxDirectionsRefresh.builder() + .accessToken(BuildConfig.MAPBOX_ACCESS_TOKEN) + .requestId(requestId) + .routeIndex(String.valueOf(0)) + .legIndex(String.valueOf(0)) + .build(); + + refresh.enqueueCall(new Callback() { + @Override + public void onResponse(Call call, Response response) { + System.out.println("Refresh response: " + response); + } - private static void MapboxDirectionsRefresh() { - //todo + @Override + public void onFailure(Call call, Throwable throwable) { + System.out.println("" + call.request().url()); + System.out.printf("Failure: " + throwable); + } + }); } } diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshResponse.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshResponse.java index ef4a16d10..38b8bd2be 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshResponse.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshResponse.java @@ -1,6 +1,7 @@ package com.mapbox.api.directionsrefresh.v1.models; import android.support.annotation.NonNull; +import android.support.annotation.Nullable; import com.google.auto.value.AutoValue; import com.google.gson.Gson; @@ -13,10 +14,13 @@ @AutoValue public abstract class DirectionsRefreshResponse extends DirectionsJsonObject { + @Nullable //todo change to @NonNull public abstract String code(); + @Nullable public abstract String message(); + @Nullable public abstract DirectionsRoute route(); @NonNull From 9a320a97092445798efa3a97cb987fca0ccea5bb Mon Sep 17 00:00:00 2001 From: Devota Aabel Date: Mon, 11 Feb 2019 16:38:09 -0500 Subject: [PATCH 06/15] Added javadoc and cleanup --- samples/build.gradle | 2 +- .../samples/BasicDirectionsRefresh.java | 28 +++++++------------ services-directions-refresh/build.gradle | 2 +- .../v1/DirectionsRefreshService.java | 20 +++++++++---- .../v1/MapboxDirectionsRefresh.java | 7 +++-- .../DirectionsRefreshAdapterFactory.java | 12 ++++++++ .../v1/models/DirectionsRefreshResponse.java | 24 +++++++++++++++- .../api/directions/v5/DirectionsService.java | 1 - services/build.gradle | 2 +- 9 files changed, 67 insertions(+), 31 deletions(-) diff --git a/samples/build.gradle b/samples/build.gradle index 7bb3673a0..805ed4410 100644 --- a/samples/build.gradle +++ b/samples/build.gradle @@ -24,7 +24,7 @@ dependencies { implementation project(":services-staticmap") implementation project(":services-speech") implementation project(":services-tilequery") - compile project(path: ':services-directions-refresh') + implementation project(":services-directions-refresh") } buildConfig { diff --git a/samples/src/main/java/com/mapbox/samples/BasicDirectionsRefresh.java b/samples/src/main/java/com/mapbox/samples/BasicDirectionsRefresh.java index ab28e2d4e..91dff27fd 100644 --- a/samples/src/main/java/com/mapbox/samples/BasicDirectionsRefresh.java +++ b/samples/src/main/java/com/mapbox/samples/BasicDirectionsRefresh.java @@ -22,31 +22,23 @@ public static void main(String[] args) throws IOException { simpleMapboxDirectionsRefreshRequest(requestId); } - /** - * Demonstrates how to make the most basic directions request. - * - * @throws IOException signals that an I/O exception of some sort has occurred - */ private static String simpleMapboxDirectionsRequest() throws IOException { - MapboxDirections.Builder builder = MapboxDirections.builder(); - - builder.accessToken(BuildConfig.MAPBOX_ACCESS_TOKEN); - builder.enableRefresh(true); - builder.origin(Point.fromLngLat(-95.6332, 29.7890)); - builder.destination(Point.fromLngLat(-95.3591, 29.7576)); - builder.overview(OVERVIEW_FULL); - builder.annotations(ANNOTATION_CONGESTION); - - Response response = builder.build().executeCall(); - + MapboxDirections directions = MapboxDirections.builder() + .accessToken(BuildConfig.MAPBOX_ACCESS_TOKEN) + .enableRefresh(true) + .origin(Point.fromLngLat(-95.6332, 29.7890)) + .destination(Point.fromLngLat(-95.3591, 29.7576)) + .overview(OVERVIEW_FULL) + .annotations(ANNOTATION_CONGESTION).build(); + + Response response = directions.executeCall(); String requestId = response.body().routes().get(0).routeOptions().requestUuid(); - System.out.println("Directions response: " + response + " " + requestId); return requestId; } - private static void simpleMapboxDirectionsRefreshRequest(String requestId) { + private static void simpleMapboxDirectionsRefreshRequest(String requestId) { MapboxDirectionsRefresh refresh = MapboxDirectionsRefresh.builder() .accessToken(BuildConfig.MAPBOX_ACCESS_TOKEN) diff --git a/services-directions-refresh/build.gradle b/services-directions-refresh/build.gradle index dcfbee55e..20e63f199 100644 --- a/services-directions-refresh/build.gradle +++ b/services-directions-refresh/build.gradle @@ -10,6 +10,6 @@ dependencies { // AutoValue compileOnly dependenciesList.autoValue compileOnly dependenciesList.autoValueGson - compile project(path: ':services') + implementation project(":services") } diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/DirectionsRefreshService.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/DirectionsRefreshService.java index 67aa95c6a..5be03019d 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/DirectionsRefreshService.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/DirectionsRefreshService.java @@ -8,16 +8,24 @@ import retrofit2.http.Path; import retrofit2.http.Query; +/** + * Interface that defines the directions refresh service. This corresponds to v5 of the + * directions API, specifically driving directions. + * + * @since 4.4.0 + */ public interface DirectionsRefreshService { /** + * Constructs the html call using the information passed in through the + * {@link MapboxDirectionsRefresh.Builder}. * - * @param userAgent - * @param requestId - * @param routeIndex - * @param legIndex - * @param accessToken - * @return + * @param userAgent the user agent + * @param requestId a uuid specifying the request containing the route being refreshed + * @param routeIndex the index of the specified route + * @param legIndex the index of the leg to start the refresh response (inclusive) + * @param accessToken Mapbox access token + * @return the {@link DirectionsRefreshResponse} in a Call wrapper * @since 4.4.0 */ @GET("directions-refresh/v5/mapbox/driving-traffic/{request_id}/{route_index}/{leg_index}") diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java index 854412056..35131b56b 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java @@ -10,6 +10,7 @@ import com.mapbox.api.directionsrefresh.v1.models.DirectionsRefreshAdapterFactory; import com.mapbox.api.directionsrefresh.v1.models.DirectionsRefreshResponse; import com.mapbox.core.MapboxService; +import com.mapbox.core.constants.Constants; import com.mapbox.core.utils.ApiCallHelper; import retrofit2.Call; @@ -22,6 +23,7 @@ protected MapboxDirectionsRefresh() { super(DirectionsRefreshService.class); } + @Override protected Call initializeCall() { return getService().getCall( ApiCallHelper.getHeaderUserAgent(clientAppName()), @@ -55,9 +57,10 @@ protected GsonBuilder getGsonBuilder() { protected abstract String baseUrl(); public static Builder builder() { - //todo update once live in production return new AutoValue_MapboxDirectionsRefresh.Builder() - .baseUrl("https://api-directions-refresh-internal.tilestream.net"); + .baseUrl(Constants.BASE_API_URL) + .routeIndex(0) + .legIndex(0); } public abstract Builder toBuilder(); diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshAdapterFactory.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshAdapterFactory.java index 00850a15c..7c07ccd2a 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshAdapterFactory.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshAdapterFactory.java @@ -3,9 +3,21 @@ import com.google.gson.TypeAdapterFactory; import com.ryanharter.auto.value.gson.GsonTypeAdapterFactory; +/** + * Required so that AutoValue can generate specific type adapters when needed inside the + * directions refresh package. + * + * @since 4.4.0 + */ @GsonTypeAdapterFactory public abstract class DirectionsRefreshAdapterFactory implements TypeAdapterFactory { + /** + * Creates a TypeAdapter that AutoValue uses to generate specific type adapters. + * + * @return a {@link TypeAdapterFactory} to deserialize {@link DirectionsRefreshResponse} + * @since 4.4.0 + */ public static TypeAdapterFactory create() { return new AutoValueGson_DirectionsRefreshAdapterFactory(); } diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshResponse.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshResponse.java index 38b8bd2be..7491dd011 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshResponse.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshResponse.java @@ -14,9 +14,31 @@ @AutoValue public abstract class DirectionsRefreshResponse extends DirectionsJsonObject { - @Nullable //todo change to @NonNull + /** + * String indicating the state of the response. This is a separate code than the HTTP status code. + * On normal valid responses, the value will be Ok. The possible responses are listed below: + *
    + *
  • Ok:200 Normal success case
  • + *
  • NoRoute: 200 There was no route found for the given coordinates. Check + * for impossible routes (e.g. routes over oceans without ferry connections).
  • + *
  • NoSegment: 200 No road segment could be matched for coordinates. Check for + * coordinates too far away from a road.
  • + *
  • ProfileNotFound: 404 Use a valid profile as described above
  • + *
  • InvalidInput: 422
  • + *
+ * + * @return a string with one of the given values described in the list above + * @since 4.4.0 + */ + @NonNull public abstract String code(); + /** + * Optionally shows up in a response if an error or something unexpected occurred. + * + * @return a string containing the message + * @since 4.4.0 + */ @Nullable public abstract String message(); diff --git a/services-directions/src/main/java/com/mapbox/api/directions/v5/DirectionsService.java b/services-directions/src/main/java/com/mapbox/api/directions/v5/DirectionsService.java index b9d60b9f6..9245df6c7 100644 --- a/services-directions/src/main/java/com/mapbox/api/directions/v5/DirectionsService.java +++ b/services-directions/src/main/java/com/mapbox/api/directions/v5/DirectionsService.java @@ -75,7 +75,6 @@ Call getCall( @Query("approaches") String approaches, @Query("waypoint_names") String waypointNames, @Query("waypoint_targets") String waypointTargets, - // todo change from route_id to save_Route when endpoint is updated per convo with Greg @Query("enable_refresh") Boolean enableRefresh ); } diff --git a/services/build.gradle b/services/build.gradle index a81080539..8de2ccbea 100644 --- a/services/build.gradle +++ b/services/build.gradle @@ -5,7 +5,7 @@ sourceSets { '../services-matching/src/main/java', '../services-matrix/src/main/java', '../services-optimization/src/main/java', '../services-staticmap/src/main/java', '../services-speech/src/main/java', '../services-tilequery/src/main/java', - '../services-route-tiles/src/main/java', + '../services-route-tiles/src/main/java', './services-directions/src/main/java', '../services-directions/src/main/java'] } From 8aceed9624b5c6fb86ae6a0da63df9cb4ca0dfa8 Mon Sep 17 00:00:00 2001 From: Devota Aabel Date: Mon, 11 Feb 2019 16:50:48 -0500 Subject: [PATCH 07/15] Typo --- .../java/com/mapbox/api/directions/v5/models/RouteLeg.java | 6 +----- services/build.gradle | 3 +-- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/services-directions/src/main/java/com/mapbox/api/directions/v5/models/RouteLeg.java b/services-directions/src/main/java/com/mapbox/api/directions/v5/models/RouteLeg.java index 41f4738c8..468077d6d 100644 --- a/services-directions/src/main/java/com/mapbox/api/directions/v5/models/RouteLeg.java +++ b/services-directions/src/main/java/com/mapbox/api/directions/v5/models/RouteLeg.java @@ -74,9 +74,6 @@ public static Builder builder() { @Nullable public abstract LegAnnotation annotation(); - @Nullable - public abstract String legIndex(); - /** * Convert the current {@link RouteLeg} to its builder holding the currently assigned * values. This allows you to modify a single property and then rebuild the object resulting in @@ -86,6 +83,7 @@ public static Builder builder() { * in this {@link RouteLeg} * @since 3.1.0 */ + public abstract Builder toBuilder(); /** @@ -168,8 +166,6 @@ public abstract static class Builder { */ public abstract Builder annotation(@Nullable LegAnnotation annotation); - public abstract Builder legIndex(String legIndex); - /** * Build a new {@link RouteLeg} object. * diff --git a/services/build.gradle b/services/build.gradle index 8de2ccbea..a8f860bbb 100644 --- a/services/build.gradle +++ b/services/build.gradle @@ -5,8 +5,7 @@ sourceSets { '../services-matching/src/main/java', '../services-matrix/src/main/java', '../services-optimization/src/main/java', '../services-staticmap/src/main/java', '../services-speech/src/main/java', '../services-tilequery/src/main/java', - '../services-route-tiles/src/main/java', './services-directions/src/main/java', - '../services-directions/src/main/java'] + '../services-route-tiles/src/main/java', './services-directions-refresh/src/main/java'] } dependencies { From 70f6a11b230042ee0bb373f89ea35c0f9e84bab6 Mon Sep 17 00:00:00 2001 From: Devota Aabel Date: Mon, 11 Feb 2019 17:28:09 -0500 Subject: [PATCH 08/15] Added more javadoc --- .../v1/MapboxDirectionsRefresh.java | 84 ++++++++++++++++--- .../v1/models/DirectionsRefreshResponse.java | 72 +++++++++++++++- 2 files changed, 141 insertions(+), 15 deletions(-) diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java index 35131b56b..3e0164479 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java @@ -6,7 +6,6 @@ import com.google.auto.value.AutoValue; import com.google.gson.GsonBuilder; import com.mapbox.api.directions.v5.DirectionsAdapterFactory; -import com.mapbox.api.directions.v5.DirectionsCriteria; import com.mapbox.api.directionsrefresh.v1.models.DirectionsRefreshAdapterFactory; import com.mapbox.api.directionsrefresh.v1.models.DirectionsRefreshResponse; import com.mapbox.core.MapboxService; @@ -15,6 +14,13 @@ import retrofit2.Call; +/** + * The directions refresh API allows a route to be refreshed via it's annotations. The + * refreshEnabled parameter would have had to have been specified as true in the original + * directions request for a refresh to be possible. + * + * @since 4.4.0 + */ @AutoValue public abstract class MapboxDirectionsRefresh extends MapboxService { @@ -52,10 +58,12 @@ protected GsonBuilder getGsonBuilder() { .registerTypeAdapterFactory(DirectionsAdapterFactory.create()); } - @NonNull - @Override - protected abstract String baseUrl(); - + /** + * Build a new {@link MapboxDirectionsRefresh} builder with default initial values + * + * @return a {@link Builder} for creating a default {@link MapboxDirectionsRefresh} + * @since 4.4.0 + */ public static Builder builder() { return new AutoValue_MapboxDirectionsRefresh.Builder() .baseUrl(Constants.BASE_API_URL) @@ -63,30 +71,80 @@ public static Builder builder() { .legIndex(0); } - public abstract Builder toBuilder(); - + /** + * This builder is used to build a new request to the Mapbox Directions Refresh API. A request + * requires an access token and a request id. + * + * @since 4.4.0 + */ @AutoValue.Builder public abstract static class Builder { private String[] annotations; + /** + * Specified here is the uuid of the initial directions request. The original request must + * have specified enableRefresh. + * + * @param requestId id of the original directions request. This is found in the + * {@link com.mapbox.api.directions.v5.models.RouteOptions} object. + * @return this builder + * @since 4.4.0 + */ public abstract Builder requestId(String requestId); - // todo nullable? - public Builder annotations(@Nullable @DirectionsCriteria.AnnotationCriteria String... annotations) { - this.annotations = annotations; - return this; - } - + /** + * Index of original route in response. + * + * @param routeIndex index of route in response + * @return this builder + * @since 4.4.0 + */ public abstract Builder routeIndex(@NonNull String routeIndex); + /** + * Index of leg of which to start. The response will include the annotations of the specified + * leg through the end of the list of legs. + * + * @param legIndex index of leg + * @return this builder + * @since 4.4.0 + */ public abstract Builder legIndex(@NonNull String legIndex); + /** + * Required to call when this is being built. If no access token provided, + * {@link com.mapbox.core.exceptions.ServicesException} will be thrown. + * + * @param accessToken Mapbox access token + * @since 4.4.0 + */ public abstract Builder accessToken(@NonNull String accessToken); + /** + * Base package name or other simple string identifier. Used inside the calls user agent header. + * + * @param clientAppName base package name or other simple string identifier + * @return this builder for chaining options together + * @since 4.4.0 + */ public abstract Builder clientAppName(@NonNull String clientAppName); + /** + * Optionally change the APIs base URL to something other then the default Mapbox one. + * + * @param baseUrl base url used as endpoint + * @return this builder + * @since 4.4.0 + */ public abstract Builder baseUrl(String baseUrl); + /** + * Returns an instance of {@link MapboxDirectionsRefresh} for interacting with the endpoint + * with the specified values. + * + * @return instance of {@link MapboxDirectionsRefresh} with specified attributes + * @since 4.4.0 + */ public abstract MapboxDirectionsRefresh build(); } } diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshResponse.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshResponse.java index 7491dd011..4abe74278 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshResponse.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshResponse.java @@ -11,6 +11,11 @@ import com.mapbox.api.directions.v5.models.DirectionsJsonObject; import com.mapbox.api.directions.v5.models.DirectionsRoute; +/** + * Response object for Directions Refresh requests. + * + * @since 4.4.0 + */ @AutoValue public abstract class DirectionsRefreshResponse extends DirectionsJsonObject { @@ -42,18 +47,47 @@ public abstract class DirectionsRefreshResponse extends DirectionsJsonObject { @Nullable public abstract String message(); + /** + * Barebones {@link DirectionsRoute} which only contains a list of + * {@link com.mapbox.api.directions.v5.models.RouteLeg}s, which only contain lists of the + * refreshed annotations. + * + * @return barebones route with annotation data + * @since 4.4.0 + */ @Nullable public abstract DirectionsRoute route(); + /** + * Create a new instance of this class by using the {@link Builder} class. + * + * @return this classes {@link Builder} for creating a new instance + * @since 4.4.0 + */ @NonNull public static Builder builder() { return new AutoValue_DirectionsRefreshResponse.Builder(); } + /** + * Gson type adapter for parsing Gson to this class. + * + * @param gson the built {@link Gson} object + * @return the type adapter for this class + * @since 4.4.0 + */ public static TypeAdapter typeAdapter(Gson gson) { return new AutoValue_DirectionsRefreshResponse.GsonTypeAdapter(gson); } + /** + * Create a new instance of this class by passing in a formatted valid JSON String. + * + * @param json a formatted valid JSON string defining a Directions Refresh response + * @return a new instance of this class defined by the values passed inside this static factory + * method + * @since 4.4.0 + */ public static DirectionsRefreshResponse fromJson(String json) { GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.registerTypeAdapterFactory(DirectionsRefreshAdapterFactory.create()) @@ -61,16 +95,50 @@ public static DirectionsRefreshResponse fromJson(String json) { return gsonBuilder.create().fromJson(json, DirectionsRefreshResponse.class); } - public abstract Builder toBuilder(); - + /** + * This builder can be used to set the values describing the {@link DirectionsRefreshResponse}. + * @since 4.4.0 + */ @AutoValue.Builder public abstract static class Builder { + + /** + * String indicating the state of the response. This is a separate code than the HTTP status + * code. On normal valid responses, the value will be Ok. For a full list of possible responses, + * see {@link DirectionsRefreshResponse#code()}. + * + * @param code a string with one of the given values described in the list above + * @return this builder + * @since 4.4.0 + */ public abstract Builder code(String code); + /** + * Optionally shows up in a response if an error or something unexpected occurred. + * + * @param message a string containing the message + * @return this builder + * @since 4.4.0 + */ public abstract Builder message(String message); + /** + * Barebones {@link DirectionsRoute} which only contains a list of + * {@link com.mapbox.api.directions.v5.models.RouteLeg}s, which only contain lists of the + * refreshed annotations. + * + * @param directionsRoute + * @return this builder + * @since 4.4.0 + */ public abstract Builder route(DirectionsRoute directionsRoute); + /** + * Builds a new {@link DirectionsRefreshResponse} object. + * + * @return a new {@link DirectionsRefreshResponse} object + * @since 4.4.0 + */ public abstract DirectionsRefreshResponse build(); } } From bc6d50e6d331d258a7773a66ea2058394d4bf505 Mon Sep 17 00:00:00 2001 From: Devota Aabel Date: Tue, 12 Feb 2019 11:27:34 -0500 Subject: [PATCH 09/15] Renamed directions-refresh/v1 to v5 and updated to run on production --- .../mapbox/samples/BasicDirectionsRefresh.java | 8 +++++--- .../{v1 => v5}/DirectionsRefreshService.java | 4 ++-- .../{v1 => v5}/MapboxDirectionsRefresh.java | 16 +++++++++++----- .../models/DirectionsRefreshAdapterFactory.java | 2 +- .../models/DirectionsRefreshResponse.java | 2 +- .../{v1 => v5}/package-info.java | 2 +- 6 files changed, 21 insertions(+), 13 deletions(-) rename services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/{v1 => v5}/DirectionsRefreshService.java (92%) rename services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/{v1 => v5}/MapboxDirectionsRefresh.java (92%) rename services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/{v1 => v5}/models/DirectionsRefreshAdapterFactory.java (92%) rename services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/{v1 => v5}/models/DirectionsRefreshResponse.java (98%) rename services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/{v1 => v5}/package-info.java (68%) diff --git a/samples/src/main/java/com/mapbox/samples/BasicDirectionsRefresh.java b/samples/src/main/java/com/mapbox/samples/BasicDirectionsRefresh.java index 91dff27fd..d9b743b06 100644 --- a/samples/src/main/java/com/mapbox/samples/BasicDirectionsRefresh.java +++ b/samples/src/main/java/com/mapbox/samples/BasicDirectionsRefresh.java @@ -2,8 +2,8 @@ import com.mapbox.api.directions.v5.MapboxDirections; import com.mapbox.api.directions.v5.models.DirectionsResponse; -import com.mapbox.api.directionsrefresh.v1.MapboxDirectionsRefresh; -import com.mapbox.api.directionsrefresh.v1.models.DirectionsRefreshResponse; +import com.mapbox.api.directionsrefresh.v5.MapboxDirectionsRefresh; +import com.mapbox.api.directionsrefresh.v5.models.DirectionsRefreshResponse; import com.mapbox.geojson.Point; import com.mapbox.sample.BuildConfig; @@ -15,6 +15,7 @@ import static com.mapbox.api.directions.v5.DirectionsCriteria.ANNOTATION_CONGESTION; import static com.mapbox.api.directions.v5.DirectionsCriteria.OVERVIEW_FULL; +import static com.mapbox.api.directions.v5.DirectionsCriteria.PROFILE_DRIVING_TRAFFIC; public class BasicDirectionsRefresh { public static void main(String[] args) throws IOException { @@ -29,11 +30,12 @@ private static String simpleMapboxDirectionsRequest() throws IOException { .origin(Point.fromLngLat(-95.6332, 29.7890)) .destination(Point.fromLngLat(-95.3591, 29.7576)) .overview(OVERVIEW_FULL) + .profile(PROFILE_DRIVING_TRAFFIC) .annotations(ANNOTATION_CONGESTION).build(); Response response = directions.executeCall(); + System.out.println("Directions response: " + response); String requestId = response.body().routes().get(0).routeOptions().requestUuid(); - System.out.println("Directions response: " + response + " " + requestId); return requestId; } diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/DirectionsRefreshService.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/DirectionsRefreshService.java similarity index 92% rename from services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/DirectionsRefreshService.java rename to services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/DirectionsRefreshService.java index 5be03019d..a683e6253 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/DirectionsRefreshService.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/DirectionsRefreshService.java @@ -1,6 +1,6 @@ -package com.mapbox.api.directionsrefresh.v1; +package com.mapbox.api.directionsrefresh.v5; -import com.mapbox.api.directionsrefresh.v1.models.DirectionsRefreshResponse; +import com.mapbox.api.directionsrefresh.v5.models.DirectionsRefreshResponse; import retrofit2.Call; import retrofit2.http.GET; diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefresh.java similarity index 92% rename from services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java rename to services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefresh.java index 3e0164479..23ab982b4 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefresh.java @@ -1,4 +1,4 @@ -package com.mapbox.api.directionsrefresh.v1; +package com.mapbox.api.directionsrefresh.v5; import android.support.annotation.NonNull; import android.support.annotation.Nullable; @@ -6,8 +6,8 @@ import com.google.auto.value.AutoValue; import com.google.gson.GsonBuilder; import com.mapbox.api.directions.v5.DirectionsAdapterFactory; -import com.mapbox.api.directionsrefresh.v1.models.DirectionsRefreshAdapterFactory; -import com.mapbox.api.directionsrefresh.v1.models.DirectionsRefreshResponse; +import com.mapbox.api.directionsrefresh.v5.models.DirectionsRefreshAdapterFactory; +import com.mapbox.api.directionsrefresh.v5.models.DirectionsRefreshResponse; import com.mapbox.core.MapboxService; import com.mapbox.core.constants.Constants; import com.mapbox.core.utils.ApiCallHelper; @@ -25,6 +25,8 @@ public abstract class MapboxDirectionsRefresh extends MapboxService { + private static final String ZERO = String.valueOf(0); + protected MapboxDirectionsRefresh() { super(DirectionsRefreshService.class); } @@ -51,6 +53,10 @@ protected Call initializeCall() { @Nullable abstract String clientAppName(); + @NonNull + @Override + protected abstract String baseUrl(); + @Override protected GsonBuilder getGsonBuilder() { return super.getGsonBuilder() @@ -67,8 +73,8 @@ protected GsonBuilder getGsonBuilder() { public static Builder builder() { return new AutoValue_MapboxDirectionsRefresh.Builder() .baseUrl(Constants.BASE_API_URL) - .routeIndex(0) - .legIndex(0); + .routeIndex(ZERO) + .legIndex(ZERO); } /** diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshAdapterFactory.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/models/DirectionsRefreshAdapterFactory.java similarity index 92% rename from services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshAdapterFactory.java rename to services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/models/DirectionsRefreshAdapterFactory.java index 7c07ccd2a..ddf2df466 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshAdapterFactory.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/models/DirectionsRefreshAdapterFactory.java @@ -1,4 +1,4 @@ -package com.mapbox.api.directionsrefresh.v1.models; +package com.mapbox.api.directionsrefresh.v5.models; import com.google.gson.TypeAdapterFactory; import com.ryanharter.auto.value.gson.GsonTypeAdapterFactory; diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshResponse.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/models/DirectionsRefreshResponse.java similarity index 98% rename from services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshResponse.java rename to services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/models/DirectionsRefreshResponse.java index 4abe74278..da7cc0de4 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshResponse.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/models/DirectionsRefreshResponse.java @@ -1,4 +1,4 @@ -package com.mapbox.api.directionsrefresh.v1.models; +package com.mapbox.api.directionsrefresh.v5.models; import android.support.annotation.NonNull; import android.support.annotation.Nullable; diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/package-info.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/package-info.java similarity index 68% rename from services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/package-info.java rename to services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/package-info.java index bcc296a60..bb14f89d0 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/package-info.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/package-info.java @@ -3,4 +3,4 @@ * * @since 4.4.0 */ -package com.mapbox.api.directionsrefresh.v1; +package com.mapbox.api.directionsrefresh.v5; From 310951a5a427d8d3b8896bd4eaa6cce7265896c3 Mon Sep 17 00:00:00 2001 From: Devota Aabel Date: Tue, 12 Feb 2019 12:21:20 -0500 Subject: [PATCH 10/15] Fixed checkstyle --- .../api/directionsrefresh/v5/MapboxDirectionsRefresh.java | 2 +- .../v5/models/DirectionsRefreshResponse.java | 2 +- .../api/directionsrefresh/v5/models/package-info.java | 6 ++++++ .../com/mapbox/api/directions/v5/DirectionsService.java | 1 + .../com/mapbox/api/directions/v5/MapboxDirections.java | 7 +++++++ .../api/directions/v5/models/DirectionsResponse.java | 6 ++---- .../mapbox/api/directions/v5/models/DirectionsRoute.java | 6 ++++++ 7 files changed, 24 insertions(+), 6 deletions(-) create mode 100644 services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/models/package-info.java diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefresh.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefresh.java index 23ab982b4..29d9a3ad5 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefresh.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefresh.java @@ -65,7 +65,7 @@ protected GsonBuilder getGsonBuilder() { } /** - * Build a new {@link MapboxDirectionsRefresh} builder with default initial values + * Build a new {@link MapboxDirectionsRefresh} builder with default initial values. * * @return a {@link Builder} for creating a default {@link MapboxDirectionsRefresh} * @since 4.4.0 diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/models/DirectionsRefreshResponse.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/models/DirectionsRefreshResponse.java index da7cc0de4..3cf13ef23 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/models/DirectionsRefreshResponse.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/models/DirectionsRefreshResponse.java @@ -127,7 +127,7 @@ public abstract static class Builder { * {@link com.mapbox.api.directions.v5.models.RouteLeg}s, which only contain lists of the * refreshed annotations. * - * @param directionsRoute + * @param directionsRoute route containing annotation data * @return this builder * @since 4.4.0 */ diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/models/package-info.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/models/package-info.java new file mode 100644 index 000000000..cdd2f54ee --- /dev/null +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/models/package-info.java @@ -0,0 +1,6 @@ +/** + * Contains the model classes which represent the Directions Refresh API response. + * + * @since 4.4.0 + */ +package com.mapbox.api.directionsrefresh.v5.models; diff --git a/services-directions/src/main/java/com/mapbox/api/directions/v5/DirectionsService.java b/services-directions/src/main/java/com/mapbox/api/directions/v5/DirectionsService.java index 7e478e9a2..f730304f9 100644 --- a/services-directions/src/main/java/com/mapbox/api/directions/v5/DirectionsService.java +++ b/services-directions/src/main/java/com/mapbox/api/directions/v5/DirectionsService.java @@ -49,6 +49,7 @@ public interface DirectionsService { * @param viaWayPoints which input coordinates should be treated as via waypoints * @param waypointNames custom names for waypoints used for the arrival instruction * @param waypointTargets list of coordinate pairs for drop-off locations + * @param enableRefresh whether the routes should be refreshable * @return the {@link DirectionsResponse} in a Call wrapper * @since 1.0.0 */ diff --git a/services-directions/src/main/java/com/mapbox/api/directions/v5/MapboxDirections.java b/services-directions/src/main/java/com/mapbox/api/directions/v5/MapboxDirections.java index 642582f12..b081f6ad8 100644 --- a/services-directions/src/main/java/com/mapbox/api/directions/v5/MapboxDirections.java +++ b/services-directions/src/main/java/com/mapbox/api/directions/v5/MapboxDirections.java @@ -852,6 +852,13 @@ public Builder addWaypointTargets(@Nullable Point... waypointTargets) { abstract Builder waypointTargets(@Nullable String waypointTargets); + /** + * Whether the routes should be refreshable via the directions refresh API. + * + * @param enableRefresh whether the routes should be refreshable + * @return this builder + * @since 4.4.0 + */ public abstract Builder enableRefresh(Boolean enableRefresh); abstract MapboxDirections autoBuild(); diff --git a/services-directions/src/main/java/com/mapbox/api/directions/v5/models/DirectionsResponse.java b/services-directions/src/main/java/com/mapbox/api/directions/v5/models/DirectionsResponse.java index 864aaae55..f7b9f18ce 100644 --- a/services-directions/src/main/java/com/mapbox/api/directions/v5/models/DirectionsResponse.java +++ b/services-directions/src/main/java/com/mapbox/api/directions/v5/models/DirectionsResponse.java @@ -186,6 +186,8 @@ public abstract static class Builder { */ public abstract Builder routes(@NonNull List routes); + abstract List routes(); + /** * A universally unique identifier (UUID) for identifying and executing a similar specific route * in the future. @@ -198,10 +200,6 @@ public abstract static class Builder { abstract DirectionsResponse autoBuild(); - abstract List routes(); - - abstract String uuid(); - /** * Build a new {@link DirectionsResponse} object. * diff --git a/services-directions/src/main/java/com/mapbox/api/directions/v5/models/DirectionsRoute.java b/services-directions/src/main/java/com/mapbox/api/directions/v5/models/DirectionsRoute.java index ce1da6b96..7ed1886bb 100644 --- a/services-directions/src/main/java/com/mapbox/api/directions/v5/models/DirectionsRoute.java +++ b/services-directions/src/main/java/com/mapbox/api/directions/v5/models/DirectionsRoute.java @@ -32,6 +32,12 @@ public static Builder builder() { return new AutoValue_DirectionsRoute.Builder(); } + /** + * The index of this route in the original network response. + * + * @return string of an int value representing the index + * @since 4.4.0 + */ @Nullable public abstract String routeIndex(); From eb7a7803cbdd91741f8a5f8db267bb775b0de1aa Mon Sep 17 00:00:00 2001 From: Devota Aabel Date: Tue, 12 Feb 2019 12:22:10 -0500 Subject: [PATCH 11/15] Started unit tests --- services-directions-refresh/build.gradle | 4 ++ .../v5/MapboxDirectionsRefreshTest.java | 66 +++++++++++++++++++ .../test/resources/directions_refresh_v5.json | 1 + 3 files changed, 71 insertions(+) create mode 100644 services-directions-refresh/src/test/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefreshTest.java create mode 100644 services-directions-refresh/src/test/resources/directions_refresh_v5.json diff --git a/services-directions-refresh/build.gradle b/services-directions-refresh/build.gradle index 20e63f199..cbeb4e439 100644 --- a/services-directions-refresh/build.gradle +++ b/services-directions-refresh/build.gradle @@ -11,5 +11,9 @@ dependencies { compileOnly dependenciesList.autoValue compileOnly dependenciesList.autoValueGson implementation project(":services") + + // Test Dependencies + testImplementation dependenciesList.okhttp3Mockwebserver + testImplementation project(path: ':services-core', configuration: 'testOutput') } diff --git a/services-directions-refresh/src/test/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefreshTest.java b/services-directions-refresh/src/test/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefreshTest.java new file mode 100644 index 000000000..a6e553f8a --- /dev/null +++ b/services-directions-refresh/src/test/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefreshTest.java @@ -0,0 +1,66 @@ +package com.mapbox.api.directionsrefresh.v5; + +import com.mapbox.core.TestUtils; + +import org.hamcrest.junit.ExpectedException; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; + +import java.io.IOException; + +import okhttp3.HttpUrl; +import okhttp3.mockwebserver.MockResponse; +import okhttp3.mockwebserver.MockWebServer; +import okhttp3.mockwebserver.RecordedRequest; + +public class MapboxDirectionsRefreshTest extends TestUtils { + + private static final String DIRECTIONS_REFRESH_V5_FIXTURE = "directions_refresh_v5.json"; + + private MockWebServer server; + private HttpUrl mockUrl; + + @Before + public void setUp() throws IOException { + server = new MockWebServer(); + + server.setDispatcher(new okhttp3.mockwebserver.Dispatcher() { + @Override + public MockResponse dispatch(RecordedRequest request) throws InterruptedException { + + // Switch response on geometry parameter (only false supported, so nice and simple) + String resource = DIRECTIONS_REFRESH_V5_FIXTURE; + + try { + String body = loadJsonFixture(resource); + return new MockResponse().setBody(body); + } catch (IOException ioException) { + throw new RuntimeException(ioException); + } + } + }); + server.start(); + mockUrl = server.url(""); + } + + @After + public void tearDown() throws IOException { + server.shutdown(); + } + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + @Test + public void sanity() throws Exception { + MapboxDirectionsRefresh mapboxDirectionsRefresh = MapboxDirectionsRefresh.builder() + .accessToken(ACCESS_TOKEN) + .requestId("") + .build(); + + Assert.assertNotNull(mapboxDirectionsRefresh); + } +} diff --git a/services-directions-refresh/src/test/resources/directions_refresh_v5.json b/services-directions-refresh/src/test/resources/directions_refresh_v5.json new file mode 100644 index 000000000..94b8e2942 --- /dev/null +++ b/services-directions-refresh/src/test/resources/directions_refresh_v5.json @@ -0,0 +1 @@ +{"code":"Ok","route":{"legs":[{"annotation":{"duration":[4.3,1.4,1.6,1.1,1.1,2,1.5,2.9,2.2,3.9,2.5,1.7,1.8,0.4,2.4,4.6,1.1,4.1,0.7,1.1,5.4,4.8,2.6,3.5,2.8,1.4,1.2,0.2,3.5,0.2,0.4,1.2,0.7,0.7,0.6,0.7,0.8,0.5,0.8,0.7,0.6,0.9,0.8,0.8,0.8,0.4,1.4,2,1.9,2.6,2.9,2.9,2.6,2.3,2.4,3.1,2.4,3,2.7,1.1,2.4,2,0.6,0.2,1.9,2.1,1.3,0.9,0.6,0.9,6.4,2.7,2.6,2.2,0.6,0.7,0.9,0.5,0.5,0.6,1.7,2.1,1.9,1.1,2,1.6,0.4,3.5,1,1.1,1.6,1.7,1.3,1,3.8,3.1,1.4,1.3,2.4,1.8,1.4,1.3,1.3,1.6,2.4,2.3,3.1,1.8,1.7,1.7,2.1,1.9,2.2,2.1,2.6,7.7,2.5,2.1,0.8,1,0.6,2.1,2,2.1,1.7,1.2,5.3,2.2,3.2,3.9,3.4,2.5,2,2,1.9,2.4,1.8,1.4,1.6,1.4,1.1,1.5,1.5,3.4,2.2,3.3,1,0.9,1.9,79.6,11,2.1,0.8,1.6,2.4,2.1,9.9,12.6,12.8,5.2,2.8,3.2,1.7,2.5,3.1,2.1,0.7,17.2,1.1,0.4,0.1,1,0.6,0.2,1.2,1,1.1,5.2,3.7,7.7,1.6,9.9,5,1,0.7,2.8,14.2,7.4,4.6,2.5,2.3,3.6,3.7,3.6,12.5,1.1,0.9,1.2,1.7,2.5,1.9,0.8,1.8,2,0.6,0.8,1.9,1.4,3.2,1.8,2.1,0.9,0.7,0.5,0.3,2.5,2,0.6,0.8,1,2.3,1,2,2.3,2.1,1.3,1.2,2.4,0.9,1.7,1.8,0.3,1.1,2.5,0.3,0.5,0.4,0.4,0.2,0.1,0.6,0.6,0.9,0.7,0.5,0.7,0.5,0.2,0.2,0.3,0.2,0.5,0.7,0.5,0.2,0.3,0.5,0.3,0.3,0.3,0.3,0.3,0.2,0.2,0.4,0.6,0.6,2.3,0.9,0.7,0.2,0.4,0.3,0.4,0.7,0.3,0.3,0.2,0.2,0.3,0.2,0.6,0.2,0.4,0.3,0.4,0.3,0.5,0.6,0.3,1.1,0.3,0.3,0.4,0.2,0.3,0.3,0.2,0.3,0.1,0.4,0.4,0.2,0.4,0.2,1,1,1.2,0.8,1.4,1.7,2.2,2.8,2.2,3.8,1.5,1.3,1.5,0.9,1.1,0.9,1.2,0.6,1.6,3.6,2.2,2.1,2.2,3,2.1,1.9,1.3,1.5,1,1.2,0.8,0.7,0.7,1.1,1.4,1,0.6,0.9,0.9,1.6,0.9,0.3,0.3,0.5,0.5,0.6,0.8,0.6,0.6,0.7,0.9,1.5,0.6,1.5,0.5,0.7,0.5,0.6,0.7,1.5,1.6,1,0.2,0.4,0.6,0.4,0.2,0.2,0.4,0.4,0.4,0.3,1.2,0.5,0.5,0.5,0.3,0.5,1.1,0.3,0.3,0.3,0.5,0.9,1.5,1.4,1.9,1.3,1.4,1.2,0.9,0.8,1.2,1.3,1.8,0.8,0.8,1.9,1.6,1.5,2.1,1.1,0.6,1.7,1.3,1.6,0.9,0.3,0.6,0.3,0.3,0.6,0.6,0.6,0.6,0.6,1.8,0.6,0.6,0.4,0.8,0.4,0.8,0.8,1.3,1,1,1,1,0.5,0.5,1.6,1.1,0.7,0.5,0.5,0.5,0.5,0.5,5.3,2.4,10.9,2.4,5.7,16.2,7.7,6.7],"congestion":["severe","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","heavy","heavy","heavy","heavy","heavy","heavy","heavy","heavy","heavy","heavy","heavy","heavy","heavy","heavy","heavy","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","moderate","moderate","moderate","moderate","moderate","moderate","moderate","moderate","moderate","moderate","moderate","moderate","moderate","moderate","moderate","moderate","moderate","moderate","moderate","moderate","low","low","low","heavy","heavy","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","heavy","heavy","heavy","low","low","heavy","heavy","heavy","heavy","heavy","heavy","heavy","heavy","low","low","low","low","low","moderate","moderate","moderate","moderate","moderate","moderate","moderate","moderate","moderate","moderate","moderate","moderate","moderate","unknown","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","moderate","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","moderate","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low","low"],"maxspeed":[{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"speed":30,"unit":"mph"},{"speed":30,"unit":"mph"},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"unknown":true},{"unknown":true},{"unknown":true},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"speed":35,"unit":"mph"},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"unknown":true},{"speed":30,"unit":"mph"}]}}]}} \ No newline at end of file From f32c66cb0b5aa35d9af820a06545f029c018e628 Mon Sep 17 00:00:00 2001 From: Devota Aabel Date: Tue, 12 Feb 2019 13:48:22 -0500 Subject: [PATCH 12/15] Updated indices to be ints --- .../com/mapbox/samples/BasicDirectionsRefresh.java | 4 ++-- .../v5/DirectionsRefreshService.java | 4 ++-- .../directionsrefresh/v5/MapboxDirectionsRefresh.java | 11 +++++------ 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/samples/src/main/java/com/mapbox/samples/BasicDirectionsRefresh.java b/samples/src/main/java/com/mapbox/samples/BasicDirectionsRefresh.java index d9b743b06..c2e1f2b56 100644 --- a/samples/src/main/java/com/mapbox/samples/BasicDirectionsRefresh.java +++ b/samples/src/main/java/com/mapbox/samples/BasicDirectionsRefresh.java @@ -45,8 +45,8 @@ private static void simpleMapboxDirectionsRefreshRequest(String requestId) { MapboxDirectionsRefresh.builder() .accessToken(BuildConfig.MAPBOX_ACCESS_TOKEN) .requestId(requestId) - .routeIndex(String.valueOf(0)) - .legIndex(String.valueOf(0)) + .routeIndex(0) + .legIndex(0) .build(); refresh.enqueueCall(new Callback() { diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/DirectionsRefreshService.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/DirectionsRefreshService.java index a683e6253..c358d4d35 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/DirectionsRefreshService.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/DirectionsRefreshService.java @@ -32,8 +32,8 @@ public interface DirectionsRefreshService { Call getCall( @Header("User-Agent") String userAgent, @Path("request_id") String requestId, - @Path("route_index") String routeIndex, - @Path("leg_index") String legIndex, + @Path("route_index") int routeIndex, + @Path("leg_index") int legIndex, @Query("access_token") String accessToken ); } diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefresh.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefresh.java index 29d9a3ad5..872b566c9 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefresh.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefresh.java @@ -25,7 +25,7 @@ public abstract class MapboxDirectionsRefresh extends MapboxService { - private static final String ZERO = String.valueOf(0); + private static final int ZERO = 0; protected MapboxDirectionsRefresh() { super(DirectionsRefreshService.class); @@ -44,9 +44,9 @@ protected Call initializeCall() { abstract String requestId(); - abstract String routeIndex(); + abstract int routeIndex(); - abstract String legIndex(); + abstract int legIndex(); abstract String accessToken(); @@ -85,7 +85,6 @@ public static Builder builder() { */ @AutoValue.Builder public abstract static class Builder { - private String[] annotations; /** * Specified here is the uuid of the initial directions request. The original request must @@ -105,7 +104,7 @@ public abstract static class Builder { * @return this builder * @since 4.4.0 */ - public abstract Builder routeIndex(@NonNull String routeIndex); + public abstract Builder routeIndex(@NonNull int routeIndex); /** * Index of leg of which to start. The response will include the annotations of the specified @@ -115,7 +114,7 @@ public abstract static class Builder { * @return this builder * @since 4.4.0 */ - public abstract Builder legIndex(@NonNull String legIndex); + public abstract Builder legIndex(@NonNull int legIndex); /** * Required to call when this is being built. If no access token provided, From a6e16fccc69e0576f6e159291416f2033e4478d8 Mon Sep 17 00:00:00 2001 From: Devota Aabel Date: Tue, 12 Feb 2019 14:32:25 -0500 Subject: [PATCH 13/15] Added toBuilder --- .../directionsrefresh/v5/MapboxDirectionsRefresh.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefresh.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefresh.java index 872b566c9..b1d5711f2 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefresh.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefresh.java @@ -64,6 +64,17 @@ protected GsonBuilder getGsonBuilder() { .registerTypeAdapterFactory(DirectionsAdapterFactory.create()); } + /** + * Convert the current {@link MapboxDirectionsRefresh} to its builder holding the currently assigned + * values. This allows you to modify a single property and then rebuild the object resulting in + * an updated and modified {@link MapboxDirectionsRefresh}. + * + * @return a {@link MapboxDirectionsRefresh.Builder} with the same values set to match the ones defined + * in this {@link MapboxDirectionsRefresh} + * @since 4.4.0 + */ + public abstract Builder toBuilder(); + /** * Build a new {@link MapboxDirectionsRefresh} builder with default initial values. * From ad63326cfe61697cd2a4d1b946acbe7c4ba8247d Mon Sep 17 00:00:00 2001 From: Devota Aabel Date: Tue, 12 Feb 2019 16:08:45 -0500 Subject: [PATCH 14/15] Added unit tests and toBuilder method --- .../v5/MapboxDirectionsRefresh.java | 9 ++--- .../v5/MapboxDirectionsRefreshTest.java | 38 ++++++++++++++++++- 2 files changed, 41 insertions(+), 6 deletions(-) diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefresh.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefresh.java index b1d5711f2..1e28f79d8 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefresh.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefresh.java @@ -65,12 +65,11 @@ protected GsonBuilder getGsonBuilder() { } /** - * Convert the current {@link MapboxDirectionsRefresh} to its builder holding the currently assigned - * values. This allows you to modify a single property and then rebuild the object resulting in - * an updated and modified {@link MapboxDirectionsRefresh}. + * Convert the current {@link MapboxDirectionsRefresh} to its builder holding the currently + * assigned values. This allows you to modify a single property and then rebuild the object + * resulting in an updated and modified {@link MapboxDirectionsRefresh}. * - * @return a {@link MapboxDirectionsRefresh.Builder} with the same values set to match the ones defined - * in this {@link MapboxDirectionsRefresh} + * @return a {@link MapboxDirectionsRefresh.Builder} with the same values * @since 4.4.0 */ public abstract Builder toBuilder(); diff --git a/services-directions-refresh/src/test/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefreshTest.java b/services-directions-refresh/src/test/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefreshTest.java index a6e553f8a..039ca24a5 100644 --- a/services-directions-refresh/src/test/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefreshTest.java +++ b/services-directions-refresh/src/test/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefreshTest.java @@ -1,5 +1,6 @@ package com.mapbox.api.directionsrefresh.v5; +import com.mapbox.api.directionsrefresh.v5.models.DirectionsRefreshResponse; import com.mapbox.core.TestUtils; import org.hamcrest.junit.ExpectedException; @@ -15,6 +16,10 @@ import okhttp3.mockwebserver.MockResponse; import okhttp3.mockwebserver.MockWebServer; import okhttp3.mockwebserver.RecordedRequest; +import retrofit2.Response; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; public class MapboxDirectionsRefreshTest extends TestUtils { @@ -31,7 +36,6 @@ public void setUp() throws IOException { @Override public MockResponse dispatch(RecordedRequest request) throws InterruptedException { - // Switch response on geometry parameter (only false supported, so nice and simple) String resource = DIRECTIONS_REFRESH_V5_FIXTURE; try { @@ -63,4 +67,36 @@ public void sanity() throws Exception { Assert.assertNotNull(mapboxDirectionsRefresh); } + + @Test + public void testResponse() throws IOException { + MapboxDirectionsRefresh mapboxDirectionsRefresh = MapboxDirectionsRefresh.builder() + .accessToken(ACCESS_TOKEN) + .requestId("") + .baseUrl(mockUrl.toString()) + .build(); + + Response response = mapboxDirectionsRefresh.executeCall(); + DirectionsRefreshResponse directionsRefreshResponse = response.body(); + + assertEquals(200, response.code()); + assertEquals("Ok", directionsRefreshResponse.code()); + assertNotNull(directionsRefreshResponse.route().legs()); + assertNotNull(directionsRefreshResponse.route().legs().get(0).annotation()); + } + + @Test + public void testRoute() throws IOException { + MapboxDirectionsRefresh mapboxDirectionsRefresh = MapboxDirectionsRefresh.builder() + .accessToken(ACCESS_TOKEN) + .requestId("") + .baseUrl(mockUrl.toString()) + .build(); + + Response response = mapboxDirectionsRefresh.executeCall(); + DirectionsRefreshResponse directionsRefreshResponse = response.body(); + + assertNotNull(directionsRefreshResponse.route().legs()); + assertNotNull(directionsRefreshResponse.route().legs().get(0).annotation()); + } } From abc90d21d0948039795d404c4c3b51e7ac492cd6 Mon Sep 17 00:00:00 2001 From: Devota Aabel Date: Tue, 12 Feb 2019 16:12:56 -0500 Subject: [PATCH 15/15] Updated to v1 --- .../java/com/mapbox/samples/BasicDirectionsRefresh.java | 4 ++-- .../{v5 => v1}/DirectionsRefreshService.java | 8 ++++---- .../{v5 => v1}/MapboxDirectionsRefresh.java | 6 +++--- .../models/DirectionsRefreshAdapterFactory.java | 2 +- .../{v5 => v1}/models/DirectionsRefreshResponse.java | 2 +- .../directionsrefresh/{v5 => v1}/models/package-info.java | 2 +- .../api/directionsrefresh/{v5 => v1}/package-info.java | 2 +- .../{v5 => v1}/MapboxDirectionsRefreshTest.java | 8 ++++---- ...ections_refresh_v5.json => directions_refresh_v1.json} | 0 9 files changed, 17 insertions(+), 17 deletions(-) rename services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/{v5 => v1}/DirectionsRefreshService.java (85%) rename services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/{v5 => v1}/MapboxDirectionsRefresh.java (96%) rename services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/{v5 => v1}/models/DirectionsRefreshAdapterFactory.java (92%) rename services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/{v5 => v1}/models/DirectionsRefreshResponse.java (98%) rename services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/{v5 => v1}/models/package-info.java (67%) rename services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/{v5 => v1}/package-info.java (68%) rename services-directions-refresh/src/test/java/com/mapbox/api/directionsrefresh/{v5 => v1}/MapboxDirectionsRefreshTest.java (91%) rename services-directions-refresh/src/test/resources/{directions_refresh_v5.json => directions_refresh_v1.json} (100%) diff --git a/samples/src/main/java/com/mapbox/samples/BasicDirectionsRefresh.java b/samples/src/main/java/com/mapbox/samples/BasicDirectionsRefresh.java index c2e1f2b56..c74063163 100644 --- a/samples/src/main/java/com/mapbox/samples/BasicDirectionsRefresh.java +++ b/samples/src/main/java/com/mapbox/samples/BasicDirectionsRefresh.java @@ -2,8 +2,8 @@ import com.mapbox.api.directions.v5.MapboxDirections; import com.mapbox.api.directions.v5.models.DirectionsResponse; -import com.mapbox.api.directionsrefresh.v5.MapboxDirectionsRefresh; -import com.mapbox.api.directionsrefresh.v5.models.DirectionsRefreshResponse; +import com.mapbox.api.directionsrefresh.v1.MapboxDirectionsRefresh; +import com.mapbox.api.directionsrefresh.v1.models.DirectionsRefreshResponse; import com.mapbox.geojson.Point; import com.mapbox.sample.BuildConfig; diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/DirectionsRefreshService.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/DirectionsRefreshService.java similarity index 85% rename from services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/DirectionsRefreshService.java rename to services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/DirectionsRefreshService.java index c358d4d35..32613e158 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/DirectionsRefreshService.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/DirectionsRefreshService.java @@ -1,6 +1,6 @@ -package com.mapbox.api.directionsrefresh.v5; +package com.mapbox.api.directionsrefresh.v1; -import com.mapbox.api.directionsrefresh.v5.models.DirectionsRefreshResponse; +import com.mapbox.api.directionsrefresh.v1.models.DirectionsRefreshResponse; import retrofit2.Call; import retrofit2.http.GET; @@ -9,7 +9,7 @@ import retrofit2.http.Query; /** - * Interface that defines the directions refresh service. This corresponds to v5 of the + * Interface that defines the directions refresh service. This corresponds to v1 of the * directions API, specifically driving directions. * * @since 4.4.0 @@ -28,7 +28,7 @@ public interface DirectionsRefreshService { * @return the {@link DirectionsRefreshResponse} in a Call wrapper * @since 4.4.0 */ - @GET("directions-refresh/v5/mapbox/driving-traffic/{request_id}/{route_index}/{leg_index}") + @GET("directions-refresh/v1/mapbox/driving-traffic/{request_id}/{route_index}/{leg_index}") Call getCall( @Header("User-Agent") String userAgent, @Path("request_id") String requestId, diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefresh.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java similarity index 96% rename from services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefresh.java rename to services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java index 1e28f79d8..fe0449d65 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefresh.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefresh.java @@ -1,4 +1,4 @@ -package com.mapbox.api.directionsrefresh.v5; +package com.mapbox.api.directionsrefresh.v1; import android.support.annotation.NonNull; import android.support.annotation.Nullable; @@ -6,8 +6,8 @@ import com.google.auto.value.AutoValue; import com.google.gson.GsonBuilder; import com.mapbox.api.directions.v5.DirectionsAdapterFactory; -import com.mapbox.api.directionsrefresh.v5.models.DirectionsRefreshAdapterFactory; -import com.mapbox.api.directionsrefresh.v5.models.DirectionsRefreshResponse; +import com.mapbox.api.directionsrefresh.v1.models.DirectionsRefreshAdapterFactory; +import com.mapbox.api.directionsrefresh.v1.models.DirectionsRefreshResponse; import com.mapbox.core.MapboxService; import com.mapbox.core.constants.Constants; import com.mapbox.core.utils.ApiCallHelper; diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/models/DirectionsRefreshAdapterFactory.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshAdapterFactory.java similarity index 92% rename from services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/models/DirectionsRefreshAdapterFactory.java rename to services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshAdapterFactory.java index ddf2df466..7c07ccd2a 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/models/DirectionsRefreshAdapterFactory.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshAdapterFactory.java @@ -1,4 +1,4 @@ -package com.mapbox.api.directionsrefresh.v5.models; +package com.mapbox.api.directionsrefresh.v1.models; import com.google.gson.TypeAdapterFactory; import com.ryanharter.auto.value.gson.GsonTypeAdapterFactory; diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/models/DirectionsRefreshResponse.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshResponse.java similarity index 98% rename from services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/models/DirectionsRefreshResponse.java rename to services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshResponse.java index 3cf13ef23..f71eefda3 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/models/DirectionsRefreshResponse.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/DirectionsRefreshResponse.java @@ -1,4 +1,4 @@ -package com.mapbox.api.directionsrefresh.v5.models; +package com.mapbox.api.directionsrefresh.v1.models; import android.support.annotation.NonNull; import android.support.annotation.Nullable; diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/models/package-info.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/package-info.java similarity index 67% rename from services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/models/package-info.java rename to services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/package-info.java index cdd2f54ee..1eaad7d11 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/models/package-info.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/models/package-info.java @@ -3,4 +3,4 @@ * * @since 4.4.0 */ -package com.mapbox.api.directionsrefresh.v5.models; +package com.mapbox.api.directionsrefresh.v1.models; diff --git a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/package-info.java b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/package-info.java similarity index 68% rename from services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/package-info.java rename to services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/package-info.java index bb14f89d0..bcc296a60 100644 --- a/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v5/package-info.java +++ b/services-directions-refresh/src/main/java/com/mapbox/api/directionsrefresh/v1/package-info.java @@ -3,4 +3,4 @@ * * @since 4.4.0 */ -package com.mapbox.api.directionsrefresh.v5; +package com.mapbox.api.directionsrefresh.v1; diff --git a/services-directions-refresh/src/test/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefreshTest.java b/services-directions-refresh/src/test/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefreshTest.java similarity index 91% rename from services-directions-refresh/src/test/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefreshTest.java rename to services-directions-refresh/src/test/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefreshTest.java index 039ca24a5..624547f39 100644 --- a/services-directions-refresh/src/test/java/com/mapbox/api/directionsrefresh/v5/MapboxDirectionsRefreshTest.java +++ b/services-directions-refresh/src/test/java/com/mapbox/api/directionsrefresh/v1/MapboxDirectionsRefreshTest.java @@ -1,6 +1,6 @@ -package com.mapbox.api.directionsrefresh.v5; +package com.mapbox.api.directionsrefresh.v1; -import com.mapbox.api.directionsrefresh.v5.models.DirectionsRefreshResponse; +import com.mapbox.api.directionsrefresh.v1.models.DirectionsRefreshResponse; import com.mapbox.core.TestUtils; import org.hamcrest.junit.ExpectedException; @@ -23,7 +23,7 @@ public class MapboxDirectionsRefreshTest extends TestUtils { - private static final String DIRECTIONS_REFRESH_V5_FIXTURE = "directions_refresh_v5.json"; + private static final String DIRECTIONS_REFRESH_V1_FIXTURE = "directions_refresh_v1.json"; private MockWebServer server; private HttpUrl mockUrl; @@ -36,7 +36,7 @@ public void setUp() throws IOException { @Override public MockResponse dispatch(RecordedRequest request) throws InterruptedException { - String resource = DIRECTIONS_REFRESH_V5_FIXTURE; + String resource = DIRECTIONS_REFRESH_V1_FIXTURE; try { String body = loadJsonFixture(resource); diff --git a/services-directions-refresh/src/test/resources/directions_refresh_v5.json b/services-directions-refresh/src/test/resources/directions_refresh_v1.json similarity index 100% rename from services-directions-refresh/src/test/resources/directions_refresh_v5.json rename to services-directions-refresh/src/test/resources/directions_refresh_v1.json