mirror of
https://github.com/Pygmalion69/OpenTopoMapViewer.git
synced 2025-10-06 00:02:42 +02:00
Use Profile enum
This commit is contained in:
@@ -31,7 +31,7 @@ class ExportInstrumentedTest {
|
||||
listOf(8.686507, 49.41943) // maxLon, maxLat
|
||||
)
|
||||
|
||||
val response = with(helper) { client.export(bbox = bbox, profile ="driving-car") }
|
||||
val response = with(helper) { client.export(bbox = bbox, profile = Profile.DRIVING_CAR) }
|
||||
|
||||
assertNotNull("Export response should not be null", response)
|
||||
// Basic sanity checks on structure
|
||||
|
@@ -31,7 +31,7 @@ class IsochronesInstrumentedTest {
|
||||
)
|
||||
// 5 minutes (300 seconds)
|
||||
val range = listOf(300)
|
||||
val profile = "driving-car"
|
||||
val profile = Profile.DRIVING_CAR
|
||||
|
||||
val response = with(helper) {
|
||||
client.getIsochrones(
|
||||
|
@@ -31,7 +31,7 @@ class MatrixInstrumentedTest {
|
||||
listOf(8.681495, 49.41461), // Heidelberg center
|
||||
listOf(8.687872, 49.420318) // Nearby point
|
||||
)
|
||||
val profile = "driving-car"
|
||||
val profile = Profile.DRIVING_CAR
|
||||
val metrics = listOf("duration", "distance")
|
||||
|
||||
val response = with(helper) {
|
||||
|
@@ -8,8 +8,8 @@ import org.junit.Assert.assertNotNull
|
||||
import org.junit.Assert.assertTrue
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.nitri.ors.model.optimization.Job
|
||||
import org.nitri.ors.model.optimization.Vehicle
|
||||
import org.nitri.ors.domain.optimization.Job
|
||||
import org.nitri.ors.domain.optimization.Vehicle
|
||||
import org.nitri.ors.helper.OptimizationHelper
|
||||
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
|
@@ -7,11 +7,11 @@ import kotlinx.coroutines.runBlocking
|
||||
import org.junit.Assert.*
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.nitri.ors.model.route.GeoJsonRouteResponse
|
||||
import org.nitri.ors.domain.route.GeoJsonRouteResponse
|
||||
import org.nitri.ors.helper.RouteHelper
|
||||
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
class RouteRepositoryInstrumentedTest {
|
||||
class RouteInstrumentedTest {
|
||||
|
||||
private fun create(context: Context): Pair<DefaultOrsClient, RouteHelper> {
|
||||
val apiKey = context.getString(R.string.ors_api_key)
|
||||
@@ -55,7 +55,8 @@ class RouteRepositoryInstrumentedTest {
|
||||
val start = Pair(8.681495, 49.41461)
|
||||
val end = Pair(8.687872, 49.420318)
|
||||
|
||||
val route: GeoJsonRouteResponse = with(repository) { client.getRouteGeoJson(start, end, "driving-car") }
|
||||
val route: GeoJsonRouteResponse = with(repository) { client.getRouteGeoJson(start, end,
|
||||
Profile.DRIVING_CAR) }
|
||||
|
||||
assertNotNull("Route should not be null", route)
|
||||
}
|
@@ -31,7 +31,7 @@ class SnapInstrumentedTest {
|
||||
listOf(8.681495, 49.41461), // Heidelberg center
|
||||
listOf(8.687872, 49.420318) // Nearby point
|
||||
)
|
||||
val profile = "driving-car"
|
||||
val profile = Profile.DRIVING_CAR
|
||||
val radius = 50 // meters
|
||||
|
||||
val response = with(helper) {
|
||||
@@ -63,7 +63,7 @@ class SnapInstrumentedTest {
|
||||
listOf(8.681495, 49.41461),
|
||||
listOf(8.687872, 49.420318)
|
||||
)
|
||||
val profile = "driving-car"
|
||||
val profile = Profile.DRIVING_CAR
|
||||
val radius = 50
|
||||
|
||||
val response = with(helper) {
|
||||
@@ -93,7 +93,7 @@ class SnapInstrumentedTest {
|
||||
listOf(8.681495, 49.41461),
|
||||
listOf(8.687872, 49.420318)
|
||||
)
|
||||
val profile = "driving-car"
|
||||
val profile = Profile.DRIVING_CAR
|
||||
val radius = 50
|
||||
|
||||
val response = with(repository) {
|
||||
|
@@ -1,28 +1,28 @@
|
||||
package org.nitri.ors
|
||||
|
||||
import android.content.Context
|
||||
import org.nitri.ors.model.elevation.ElevationLineRequest
|
||||
import org.nitri.ors.model.elevation.ElevationLineResponse
|
||||
import org.nitri.ors.model.elevation.ElevationPointRequest
|
||||
import org.nitri.ors.model.elevation.ElevationPointResponse
|
||||
import org.nitri.ors.model.export.ExportRequest
|
||||
import org.nitri.ors.model.export.ExportResponse
|
||||
import org.nitri.ors.model.export.TopoJsonExportResponse
|
||||
import org.nitri.ors.model.geocode.GeocodeSearchResponse
|
||||
import org.nitri.ors.model.isochrones.IsochronesRequest
|
||||
import org.nitri.ors.model.isochrones.IsochronesResponse
|
||||
import org.nitri.ors.model.matrix.MatrixRequest
|
||||
import org.nitri.ors.model.matrix.MatrixResponse
|
||||
import org.nitri.ors.model.optimization.OptimizationRequest
|
||||
import org.nitri.ors.model.optimization.OptimizationResponse
|
||||
import org.nitri.ors.model.pois.PoisGeoJsonResponse
|
||||
import org.nitri.ors.model.pois.PoisRequest
|
||||
import org.nitri.ors.model.route.GeoJsonRouteResponse
|
||||
import org.nitri.ors.model.route.RouteRequest
|
||||
import org.nitri.ors.model.route.RouteResponse
|
||||
import org.nitri.ors.model.snap.SnapGeoJsonResponse
|
||||
import org.nitri.ors.model.snap.SnapRequest
|
||||
import org.nitri.ors.model.snap.SnapResponse
|
||||
import org.nitri.ors.domain.elevation.ElevationLineRequest
|
||||
import org.nitri.ors.domain.elevation.ElevationLineResponse
|
||||
import org.nitri.ors.domain.elevation.ElevationPointRequest
|
||||
import org.nitri.ors.domain.elevation.ElevationPointResponse
|
||||
import org.nitri.ors.domain.export.ExportRequest
|
||||
import org.nitri.ors.domain.export.ExportResponse
|
||||
import org.nitri.ors.domain.export.TopoJsonExportResponse
|
||||
import org.nitri.ors.domain.geocode.GeocodeSearchResponse
|
||||
import org.nitri.ors.domain.isochrones.IsochronesRequest
|
||||
import org.nitri.ors.domain.isochrones.IsochronesResponse
|
||||
import org.nitri.ors.domain.matrix.MatrixRequest
|
||||
import org.nitri.ors.domain.matrix.MatrixResponse
|
||||
import org.nitri.ors.domain.optimization.OptimizationRequest
|
||||
import org.nitri.ors.domain.optimization.OptimizationResponse
|
||||
import org.nitri.ors.domain.pois.PoisGeoJsonResponse
|
||||
import org.nitri.ors.domain.pois.PoisRequest
|
||||
import org.nitri.ors.domain.route.GeoJsonRouteResponse
|
||||
import org.nitri.ors.domain.route.RouteRequest
|
||||
import org.nitri.ors.domain.route.RouteResponse
|
||||
import org.nitri.ors.domain.snap.SnapGeoJsonResponse
|
||||
import org.nitri.ors.domain.snap.SnapRequest
|
||||
import org.nitri.ors.domain.snap.SnapResponse
|
||||
import org.nitri.ors.restclient.OpenRouteServiceRestClient
|
||||
|
||||
class DefaultOrsClient(apiKey: String, context: Context) : OrsClient {
|
||||
@@ -43,66 +43,66 @@ class DefaultOrsClient(apiKey: String, context: Context) : OrsClient {
|
||||
}
|
||||
|
||||
override suspend fun getRouteGeoJson(
|
||||
profile: String,
|
||||
profile: Profile,
|
||||
routeRequest: RouteRequest
|
||||
): GeoJsonRouteResponse {
|
||||
return api.getRouteGeoJson(profile, routeRequest)
|
||||
return api.getRouteGeoJson(profile.key, routeRequest)
|
||||
}
|
||||
|
||||
override suspend fun export(
|
||||
profile: String,
|
||||
profile: Profile,
|
||||
exportRequest: ExportRequest
|
||||
): ExportResponse {
|
||||
return api.export(profile, exportRequest)
|
||||
return api.export(profile.key, exportRequest)
|
||||
}
|
||||
|
||||
override suspend fun exportJson(
|
||||
profile: String,
|
||||
profile: Profile,
|
||||
exportRequest: ExportRequest
|
||||
): ExportResponse {
|
||||
return api.exportJson(profile, exportRequest)
|
||||
return api.exportJson(profile.key, exportRequest)
|
||||
}
|
||||
|
||||
override suspend fun exportTopoJson(
|
||||
profile: String,
|
||||
profile: Profile,
|
||||
exportRequest: ExportRequest
|
||||
): TopoJsonExportResponse {
|
||||
return api.exportTopoJson(profile, exportRequest)
|
||||
return api.exportTopoJson(profile.key, exportRequest)
|
||||
}
|
||||
|
||||
override suspend fun getIsochrones(
|
||||
profile: String,
|
||||
profile: Profile,
|
||||
isochronesRequest: IsochronesRequest
|
||||
): IsochronesResponse {
|
||||
return api.getIsochrones(profile, isochronesRequest)
|
||||
return api.getIsochrones(profile.key, isochronesRequest)
|
||||
}
|
||||
|
||||
override suspend fun getMatrix(
|
||||
profile: String,
|
||||
profile: Profile,
|
||||
matrixRequest: MatrixRequest
|
||||
): MatrixResponse {
|
||||
return api.getMatrix(profile, matrixRequest)
|
||||
return api.getMatrix(profile.key, matrixRequest)
|
||||
}
|
||||
|
||||
override suspend fun getSnap(
|
||||
profile: String,
|
||||
profile: Profile,
|
||||
snapRequest: SnapRequest
|
||||
): SnapResponse {
|
||||
return api.getSnap(profile, snapRequest)
|
||||
return api.getSnap(profile.key, snapRequest)
|
||||
}
|
||||
|
||||
override suspend fun getSnapJson(
|
||||
profile: String,
|
||||
profile: Profile,
|
||||
snapRequest: SnapRequest
|
||||
): SnapResponse {
|
||||
return api.getSnapJson(profile, snapRequest)
|
||||
return api.getSnapJson(profile.key, snapRequest)
|
||||
}
|
||||
|
||||
override suspend fun getSnapGeoJson(
|
||||
profile: String,
|
||||
profile: Profile,
|
||||
snapRequest: SnapRequest
|
||||
): SnapGeoJsonResponse {
|
||||
return api.getSnapGeoJson(profile, snapRequest)
|
||||
return api.getSnapGeoJson(profile.key, snapRequest)
|
||||
}
|
||||
|
||||
override suspend fun getPois(poisRequest: PoisRequest): PoisGeoJsonResponse {
|
||||
|
@@ -1,27 +1,27 @@
|
||||
package org.nitri.ors
|
||||
|
||||
import org.nitri.ors.model.elevation.ElevationLineRequest
|
||||
import org.nitri.ors.model.elevation.ElevationLineResponse
|
||||
import org.nitri.ors.model.elevation.ElevationPointRequest
|
||||
import org.nitri.ors.model.elevation.ElevationPointResponse
|
||||
import org.nitri.ors.model.export.ExportRequest
|
||||
import org.nitri.ors.model.export.ExportResponse
|
||||
import org.nitri.ors.model.export.TopoJsonExportResponse
|
||||
import org.nitri.ors.model.geocode.GeocodeSearchResponse
|
||||
import org.nitri.ors.model.isochrones.IsochronesRequest
|
||||
import org.nitri.ors.model.isochrones.IsochronesResponse
|
||||
import org.nitri.ors.model.matrix.MatrixRequest
|
||||
import org.nitri.ors.model.matrix.MatrixResponse
|
||||
import org.nitri.ors.model.optimization.OptimizationRequest
|
||||
import org.nitri.ors.model.optimization.OptimizationResponse
|
||||
import org.nitri.ors.model.pois.PoisGeoJsonResponse
|
||||
import org.nitri.ors.model.pois.PoisRequest
|
||||
import org.nitri.ors.model.route.GeoJsonRouteResponse
|
||||
import org.nitri.ors.model.route.RouteRequest
|
||||
import org.nitri.ors.model.route.RouteResponse
|
||||
import org.nitri.ors.model.snap.SnapGeoJsonResponse
|
||||
import org.nitri.ors.model.snap.SnapRequest
|
||||
import org.nitri.ors.model.snap.SnapResponse
|
||||
import org.nitri.ors.domain.elevation.ElevationLineRequest
|
||||
import org.nitri.ors.domain.elevation.ElevationLineResponse
|
||||
import org.nitri.ors.domain.elevation.ElevationPointRequest
|
||||
import org.nitri.ors.domain.elevation.ElevationPointResponse
|
||||
import org.nitri.ors.domain.export.ExportRequest
|
||||
import org.nitri.ors.domain.export.ExportResponse
|
||||
import org.nitri.ors.domain.export.TopoJsonExportResponse
|
||||
import org.nitri.ors.domain.geocode.GeocodeSearchResponse
|
||||
import org.nitri.ors.domain.isochrones.IsochronesRequest
|
||||
import org.nitri.ors.domain.isochrones.IsochronesResponse
|
||||
import org.nitri.ors.domain.matrix.MatrixRequest
|
||||
import org.nitri.ors.domain.matrix.MatrixResponse
|
||||
import org.nitri.ors.domain.optimization.OptimizationRequest
|
||||
import org.nitri.ors.domain.optimization.OptimizationResponse
|
||||
import org.nitri.ors.domain.pois.PoisGeoJsonResponse
|
||||
import org.nitri.ors.domain.pois.PoisRequest
|
||||
import org.nitri.ors.domain.route.GeoJsonRouteResponse
|
||||
import org.nitri.ors.domain.route.RouteRequest
|
||||
import org.nitri.ors.domain.route.RouteResponse
|
||||
import org.nitri.ors.domain.snap.SnapGeoJsonResponse
|
||||
import org.nitri.ors.domain.snap.SnapRequest
|
||||
import org.nitri.ors.domain.snap.SnapResponse
|
||||
|
||||
enum class Profile(val key: String) {
|
||||
DRIVING_CAR("driving-car"),
|
||||
@@ -35,29 +35,32 @@ enum class Profile(val key: String) {
|
||||
WHEELCHAIR("wheelchair")
|
||||
}
|
||||
|
||||
@JvmInline value class Lon(val v: Double)
|
||||
@JvmInline value class Lat(val v: Double)
|
||||
data class LonLat(val lon: Double, val lat: Double)
|
||||
|
||||
interface OrsClient {
|
||||
|
||||
// Directions
|
||||
suspend fun getRoute(profile: Profile, routeRequest: RouteRequest): RouteResponse
|
||||
suspend fun getRouteGpx(profile: Profile, routeRequest: RouteRequest): String
|
||||
suspend fun getRouteGeoJson(profile: String, routeRequest: RouteRequest): GeoJsonRouteResponse
|
||||
suspend fun getRouteGeoJson(profile: Profile, routeRequest: RouteRequest): GeoJsonRouteResponse
|
||||
|
||||
// Export
|
||||
suspend fun export(profile: String, exportRequest: ExportRequest): ExportResponse
|
||||
suspend fun exportJson(profile: String, exportRequest: ExportRequest): ExportResponse
|
||||
suspend fun exportTopoJson(profile: String, exportRequest: ExportRequest): TopoJsonExportResponse
|
||||
suspend fun export(profile: Profile, exportRequest: ExportRequest): ExportResponse
|
||||
suspend fun exportJson(profile: Profile, exportRequest: ExportRequest): ExportResponse
|
||||
suspend fun exportTopoJson(profile: Profile, exportRequest: ExportRequest): TopoJsonExportResponse
|
||||
|
||||
// Isochrones
|
||||
suspend fun getIsochrones(profile: String, isochronesRequest: IsochronesRequest): IsochronesResponse
|
||||
suspend fun getIsochrones(profile: Profile, isochronesRequest: IsochronesRequest): IsochronesResponse
|
||||
|
||||
// Matrix
|
||||
suspend fun getMatrix(profile: String, matrixRequest: MatrixRequest): MatrixResponse
|
||||
suspend fun getMatrix(profile: Profile, matrixRequest: MatrixRequest): MatrixResponse
|
||||
|
||||
// Snapping
|
||||
suspend fun getSnap(profile: String, snapRequest: SnapRequest): SnapResponse
|
||||
suspend fun getSnapJson(profile: String, snapRequest: SnapRequest): SnapResponse
|
||||
suspend fun getSnapGeoJson(profile: String, snapRequest: SnapRequest): SnapGeoJsonResponse
|
||||
suspend fun getSnap(profile: Profile, snapRequest: SnapRequest): SnapResponse
|
||||
suspend fun getSnapJson(profile: Profile, snapRequest: SnapRequest): SnapResponse
|
||||
suspend fun getSnapGeoJson(profile: Profile, snapRequest: SnapRequest): SnapGeoJsonResponse
|
||||
|
||||
// POIs
|
||||
suspend fun getPois(poisRequest: PoisRequest): PoisGeoJsonResponse
|
||||
|
@@ -1,28 +1,28 @@
|
||||
package org.nitri.ors.api
|
||||
|
||||
import okhttp3.ResponseBody
|
||||
import org.nitri.ors.model.elevation.ElevationLineRequest
|
||||
import org.nitri.ors.model.elevation.ElevationLineResponse
|
||||
import org.nitri.ors.model.elevation.ElevationPointRequest
|
||||
import org.nitri.ors.model.elevation.ElevationPointResponse
|
||||
import org.nitri.ors.model.export.ExportRequest
|
||||
import org.nitri.ors.model.export.ExportResponse
|
||||
import org.nitri.ors.model.export.TopoJsonExportResponse
|
||||
import org.nitri.ors.model.geocode.GeocodeSearchResponse
|
||||
import org.nitri.ors.model.isochrones.IsochronesRequest
|
||||
import org.nitri.ors.model.isochrones.IsochronesResponse
|
||||
import org.nitri.ors.model.matrix.MatrixRequest
|
||||
import org.nitri.ors.model.matrix.MatrixResponse
|
||||
import org.nitri.ors.model.optimization.OptimizationRequest
|
||||
import org.nitri.ors.model.optimization.OptimizationResponse
|
||||
import org.nitri.ors.model.pois.PoisGeoJsonResponse
|
||||
import org.nitri.ors.model.pois.PoisRequest
|
||||
import org.nitri.ors.model.route.GeoJsonRouteResponse
|
||||
import org.nitri.ors.model.route.RouteRequest
|
||||
import org.nitri.ors.model.route.RouteResponse
|
||||
import org.nitri.ors.model.snap.SnapGeoJsonResponse
|
||||
import org.nitri.ors.model.snap.SnapRequest
|
||||
import org.nitri.ors.model.snap.SnapResponse
|
||||
import org.nitri.ors.domain.elevation.ElevationLineRequest
|
||||
import org.nitri.ors.domain.elevation.ElevationLineResponse
|
||||
import org.nitri.ors.domain.elevation.ElevationPointRequest
|
||||
import org.nitri.ors.domain.elevation.ElevationPointResponse
|
||||
import org.nitri.ors.domain.export.ExportRequest
|
||||
import org.nitri.ors.domain.export.ExportResponse
|
||||
import org.nitri.ors.domain.export.TopoJsonExportResponse
|
||||
import org.nitri.ors.domain.geocode.GeocodeSearchResponse
|
||||
import org.nitri.ors.domain.isochrones.IsochronesRequest
|
||||
import org.nitri.ors.domain.isochrones.IsochronesResponse
|
||||
import org.nitri.ors.domain.matrix.MatrixRequest
|
||||
import org.nitri.ors.domain.matrix.MatrixResponse
|
||||
import org.nitri.ors.domain.optimization.OptimizationRequest
|
||||
import org.nitri.ors.domain.optimization.OptimizationResponse
|
||||
import org.nitri.ors.domain.pois.PoisGeoJsonResponse
|
||||
import org.nitri.ors.domain.pois.PoisRequest
|
||||
import org.nitri.ors.domain.route.GeoJsonRouteResponse
|
||||
import org.nitri.ors.domain.route.RouteRequest
|
||||
import org.nitri.ors.domain.route.RouteResponse
|
||||
import org.nitri.ors.domain.snap.SnapGeoJsonResponse
|
||||
import org.nitri.ors.domain.snap.SnapRequest
|
||||
import org.nitri.ors.domain.snap.SnapResponse
|
||||
import retrofit2.Response
|
||||
import retrofit2.http.Body
|
||||
import retrofit2.http.GET
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package org.nitri.ors.model.elevation
|
||||
package org.nitri.ors.domain.elevation
|
||||
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package org.nitri.ors.model.elevation
|
||||
package org.nitri.ors.domain.elevation
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package org.nitri.ors.model.elevation
|
||||
package org.nitri.ors.domain.elevation
|
||||
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package org.nitri.ors.model.elevation
|
||||
package org.nitri.ors.domain.elevation
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package org.nitri.ors.model.export
|
||||
package org.nitri.ors.domain.export
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package org.nitri.ors.model.export
|
||||
package org.nitri.ors.domain.export
|
||||
|
||||
import kotlinx.serialization.KSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package org.nitri.ors.model.export
|
||||
package org.nitri.ors.domain.export
|
||||
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package org.nitri.ors.model.geocode
|
||||
package org.nitri.ors.domain.geocode
|
||||
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package org.nitri.ors.model.isochrones
|
||||
package org.nitri.ors.domain.isochrones
|
||||
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package org.nitri.ors.model.isochrones
|
||||
package org.nitri.ors.domain.isochrones
|
||||
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package org.nitri.ors.model.matrix
|
||||
package org.nitri.ors.domain.matrix
|
||||
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package org.nitri.ors.model.matrix
|
||||
package org.nitri.ors.domain.matrix
|
||||
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
import org.nitri.ors.model.meta.Metadata
|
||||
import org.nitri.ors.domain.meta.Metadata
|
||||
|
||||
/**
|
||||
* Represents the response from an ORS Matrix API request.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package org.nitri.ors.model.meta
|
||||
package org.nitri.ors.domain.meta
|
||||
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package org.nitri.ors.model.optimization
|
||||
package org.nitri.ors.domain.optimization
|
||||
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package org.nitri.ors.model.optimization
|
||||
package org.nitri.ors.domain.optimization
|
||||
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package org.nitri.ors.model.pois
|
||||
package org.nitri.ors.domain.pois
|
||||
|
||||
import kotlinx.serialization.Required
|
||||
import kotlinx.serialization.Serializable
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package org.nitri.ors.model.pois
|
||||
package org.nitri.ors.domain.pois
|
||||
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package org.nitri.ors.model.route
|
||||
package org.nitri.ors.domain.route
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
import org.nitri.ors.model.meta.Metadata
|
||||
import org.nitri.ors.domain.meta.Metadata
|
||||
|
||||
@Serializable
|
||||
data class GeoJsonRouteResponse(
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package org.nitri.ors.model.route
|
||||
package org.nitri.ors.domain.route
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlinx.serialization.json.JsonElement
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package org.nitri.ors.model.route
|
||||
package org.nitri.ors.domain.route
|
||||
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package org.nitri.ors.model.route
|
||||
package org.nitri.ors.domain.route
|
||||
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
import org.nitri.ors.model.meta.Metadata
|
||||
import org.nitri.ors.domain.meta.Metadata
|
||||
|
||||
@Serializable
|
||||
data class RouteResponse(
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package org.nitri.ors.model.snap
|
||||
package org.nitri.ors.domain.snap
|
||||
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
import org.nitri.ors.model.meta.Metadata
|
||||
import org.nitri.ors.domain.meta.Metadata
|
||||
|
||||
/**
|
||||
* Snap response in GeoJSON format
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package org.nitri.ors.model.snap
|
||||
package org.nitri.ors.domain.snap
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package org.nitri.ors.model.snap
|
||||
package org.nitri.ors.domain.snap
|
||||
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
import org.nitri.ors.model.meta.Metadata
|
||||
import org.nitri.ors.domain.meta.Metadata
|
||||
|
||||
/**
|
||||
* Response for ORS /v2/snap/{profile}[/json]
|
||||
|
@@ -5,10 +5,10 @@ import kotlinx.serialization.json.JsonElement
|
||||
import kotlinx.serialization.json.JsonObject
|
||||
import kotlinx.serialization.json.JsonPrimitive
|
||||
import org.nitri.ors.OrsClient
|
||||
import org.nitri.ors.model.elevation.ElevationLineRequest
|
||||
import org.nitri.ors.model.elevation.ElevationLineResponse
|
||||
import org.nitri.ors.model.elevation.ElevationPointRequest
|
||||
import org.nitri.ors.model.elevation.ElevationPointResponse
|
||||
import org.nitri.ors.domain.elevation.ElevationLineRequest
|
||||
import org.nitri.ors.domain.elevation.ElevationLineResponse
|
||||
import org.nitri.ors.domain.elevation.ElevationPointRequest
|
||||
import org.nitri.ors.domain.elevation.ElevationPointResponse
|
||||
|
||||
class ElevationHelper() {
|
||||
|
||||
|
@@ -1,14 +1,14 @@
|
||||
package org.nitri.ors.helper
|
||||
|
||||
import org.nitri.ors.OrsClient
|
||||
import org.nitri.ors.api.OpenRouteServiceApi
|
||||
import org.nitri.ors.model.export.ExportRequest
|
||||
import org.nitri.ors.model.export.ExportResponse
|
||||
import org.nitri.ors.model.export.TopoJsonExportResponse
|
||||
import org.nitri.ors.Profile
|
||||
import org.nitri.ors.domain.export.ExportRequest
|
||||
import org.nitri.ors.domain.export.ExportResponse
|
||||
import org.nitri.ors.domain.export.TopoJsonExportResponse
|
||||
|
||||
class ExportHelper() {
|
||||
|
||||
suspend fun OrsClient.export(bbox: List<List<Double>>, geometry: Boolean? = null, profile: String): ExportResponse {
|
||||
suspend fun OrsClient.export(bbox: List<List<Double>>, geometry: Boolean? = null, profile: Profile): ExportResponse {
|
||||
val request = ExportRequest(
|
||||
bbox = bbox,
|
||||
id = "export_request",
|
||||
@@ -17,7 +17,7 @@ class ExportHelper() {
|
||||
return export(profile, request)
|
||||
}
|
||||
|
||||
suspend fun OrsClient.exportJson(bbox: List<List<Double>>, geometry: Boolean? = null, profile: String): ExportResponse {
|
||||
suspend fun OrsClient.exportJson(bbox: List<List<Double>>, geometry: Boolean? = null, profile: Profile): ExportResponse {
|
||||
val request = ExportRequest(
|
||||
bbox = bbox,
|
||||
id = "export_request_json",
|
||||
@@ -26,7 +26,7 @@ class ExportHelper() {
|
||||
return exportJson(profile, request)
|
||||
}
|
||||
|
||||
suspend fun OrsClient.exportTopoJson(bbox: List<List<Double>>, geometry: Boolean? = null, profile: String): TopoJsonExportResponse {
|
||||
suspend fun OrsClient.exportTopoJson(bbox: List<List<Double>>, geometry: Boolean? = null, profile: Profile): TopoJsonExportResponse {
|
||||
val request = ExportRequest(
|
||||
bbox = bbox,
|
||||
id = "export_request_topo_json",
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package org.nitri.ors.helper
|
||||
|
||||
import org.nitri.ors.OrsClient
|
||||
import org.nitri.ors.model.geocode.GeocodeSearchResponse
|
||||
import org.nitri.ors.domain.geocode.GeocodeSearchResponse
|
||||
|
||||
/**
|
||||
* Repository for ORS Geocoding endpoints using GET requests only.
|
||||
|
@@ -1,15 +1,16 @@
|
||||
package org.nitri.ors.helper
|
||||
|
||||
import org.nitri.ors.OrsClient
|
||||
import org.nitri.ors.model.isochrones.IsochronesRequest
|
||||
import org.nitri.ors.model.isochrones.IsochronesResponse
|
||||
import org.nitri.ors.Profile
|
||||
import org.nitri.ors.domain.isochrones.IsochronesRequest
|
||||
import org.nitri.ors.domain.isochrones.IsochronesResponse
|
||||
|
||||
class IsochronesHelper() {
|
||||
|
||||
suspend fun OrsClient.getIsochrones(
|
||||
locations: List<List<Double>>,
|
||||
range: List<Int>,
|
||||
profile: String,
|
||||
profile: Profile,
|
||||
attributes: List<String>? = null,
|
||||
rangeType: String? = null,
|
||||
): IsochronesResponse {
|
||||
|
@@ -1,8 +1,9 @@
|
||||
package org.nitri.ors.helper
|
||||
|
||||
import org.nitri.ors.OrsClient
|
||||
import org.nitri.ors.model.matrix.MatrixRequest
|
||||
import org.nitri.ors.model.matrix.MatrixResponse
|
||||
import org.nitri.ors.Profile
|
||||
import org.nitri.ors.domain.matrix.MatrixRequest
|
||||
import org.nitri.ors.domain.matrix.MatrixResponse
|
||||
|
||||
class MatrixHelper() {
|
||||
|
||||
@@ -11,7 +12,7 @@ class MatrixHelper() {
|
||||
*/
|
||||
suspend fun OrsClient.getMatrix(
|
||||
locations: List<List<Double>>,
|
||||
profile: String,
|
||||
profile: Profile,
|
||||
metrics: List<String>? = null,
|
||||
sources: List<Int>? = null,
|
||||
destinations: List<Int>? = null,
|
||||
|
@@ -2,12 +2,12 @@ package org.nitri.ors.helper
|
||||
|
||||
import kotlinx.serialization.json.JsonElement
|
||||
import org.nitri.ors.OrsClient
|
||||
import org.nitri.ors.model.optimization.CustomMatrix
|
||||
import org.nitri.ors.model.optimization.Job
|
||||
import org.nitri.ors.model.optimization.OptimizationRequest
|
||||
import org.nitri.ors.model.optimization.OptimizationResponse
|
||||
import org.nitri.ors.model.optimization.Shipment
|
||||
import org.nitri.ors.model.optimization.Vehicle
|
||||
import org.nitri.ors.domain.optimization.CustomMatrix
|
||||
import org.nitri.ors.domain.optimization.Job
|
||||
import org.nitri.ors.domain.optimization.OptimizationRequest
|
||||
import org.nitri.ors.domain.optimization.OptimizationResponse
|
||||
import org.nitri.ors.domain.optimization.Shipment
|
||||
import org.nitri.ors.domain.optimization.Vehicle
|
||||
|
||||
/**
|
||||
* Repository for the OpenRouteService Optimization endpoint using OrsClient.
|
||||
|
@@ -1,10 +1,10 @@
|
||||
package org.nitri.ors.helper
|
||||
|
||||
import org.nitri.ors.OrsClient
|
||||
import org.nitri.ors.model.pois.GeoJsonGeometry
|
||||
import org.nitri.ors.model.pois.Geometry
|
||||
import org.nitri.ors.model.pois.PoisGeoJsonResponse
|
||||
import org.nitri.ors.model.pois.PoisRequest
|
||||
import org.nitri.ors.domain.pois.GeoJsonGeometry
|
||||
import org.nitri.ors.domain.pois.Geometry
|
||||
import org.nitri.ors.domain.pois.PoisGeoJsonResponse
|
||||
import org.nitri.ors.domain.pois.PoisRequest
|
||||
|
||||
class PoisHelper() {
|
||||
|
||||
|
@@ -2,14 +2,14 @@ package org.nitri.ors.helper
|
||||
|
||||
import org.nitri.ors.OrsClient
|
||||
import org.nitri.ors.Profile
|
||||
import org.nitri.ors.model.route.GeoJsonRouteResponse
|
||||
import org.nitri.ors.model.route.RouteRequest
|
||||
import org.nitri.ors.model.route.RouteResponse
|
||||
import org.nitri.ors.domain.route.GeoJsonRouteResponse
|
||||
import org.nitri.ors.domain.route.RouteRequest
|
||||
import org.nitri.ors.domain.route.RouteResponse
|
||||
|
||||
class RouteHelper() {
|
||||
|
||||
private fun profileFromKey(key: String): Profile =
|
||||
Profile.values().firstOrNull { it.key == key }
|
||||
Profile.entries.firstOrNull { it.key == key }
|
||||
?: throw IllegalArgumentException("Unknown profile key: $key")
|
||||
|
||||
suspend fun OrsClient.getRoute(
|
||||
@@ -52,7 +52,7 @@ class RouteHelper() {
|
||||
suspend fun OrsClient.getRouteGeoJson(
|
||||
start: Pair<Double, Double>,
|
||||
end: Pair<Double, Double>,
|
||||
profile: String
|
||||
profile: Profile
|
||||
): GeoJsonRouteResponse {
|
||||
val request = RouteRequest(
|
||||
coordinates = listOf(
|
||||
|
@@ -1,9 +1,10 @@
|
||||
package org.nitri.ors.helper
|
||||
|
||||
import org.nitri.ors.OrsClient
|
||||
import org.nitri.ors.model.snap.SnapGeoJsonResponse
|
||||
import org.nitri.ors.model.snap.SnapRequest
|
||||
import org.nitri.ors.model.snap.SnapResponse
|
||||
import org.nitri.ors.Profile
|
||||
import org.nitri.ors.domain.snap.SnapGeoJsonResponse
|
||||
import org.nitri.ors.domain.snap.SnapRequest
|
||||
import org.nitri.ors.domain.snap.SnapResponse
|
||||
|
||||
class SnapHelper() {
|
||||
|
||||
@@ -13,7 +14,7 @@ class SnapHelper() {
|
||||
suspend fun OrsClient.getSnap(
|
||||
locations: List<List<Double>>,
|
||||
radius: Int,
|
||||
profile: String,
|
||||
profile: Profile,
|
||||
id: String? = null,
|
||||
): SnapResponse {
|
||||
val request = SnapRequest(
|
||||
@@ -30,7 +31,7 @@ class SnapHelper() {
|
||||
suspend fun OrsClient.getSnapJson(
|
||||
locations: List<List<Double>>,
|
||||
radius: Int,
|
||||
profile: String,
|
||||
profile: Profile,
|
||||
id: String? = null,
|
||||
): SnapResponse {
|
||||
val request = SnapRequest(
|
||||
@@ -47,7 +48,7 @@ class SnapHelper() {
|
||||
suspend fun OrsClient.getSnapGeoJson(
|
||||
locations: List<List<Double>>,
|
||||
radius: Int,
|
||||
profile: String,
|
||||
profile: Profile,
|
||||
id: String? = null,
|
||||
): SnapGeoJsonResponse {
|
||||
val request = SnapRequest(
|
||||
|
@@ -6,10 +6,10 @@ import org.junit.Test
|
||||
import org.mockito.Mockito.mock
|
||||
import org.mockito.Mockito.verify
|
||||
import org.mockito.Mockito.`when`
|
||||
import org.nitri.ors.model.route.Route
|
||||
import org.nitri.ors.model.route.RouteRequest
|
||||
import org.nitri.ors.model.route.RouteResponse
|
||||
import org.nitri.ors.model.route.RouteSummary
|
||||
import org.nitri.ors.domain.route.Route
|
||||
import org.nitri.ors.domain.route.RouteRequest
|
||||
import org.nitri.ors.domain.route.RouteResponse
|
||||
import org.nitri.ors.domain.route.RouteSummary
|
||||
import org.nitri.ors.helper.RouteHelper
|
||||
|
||||
class RouteHelperTest {
|
||||
|
Reference in New Issue
Block a user