1- package com .colisweb .jrubyscaladistances
1+ package com .colisweb .jrubyscaladistances . google
22
33import com .colisweb .distances .caches .{RedisCache , RedisConfiguration }
44import com .colisweb .distances .model .path .DirectedPathWithModeAt
@@ -10,24 +10,24 @@ import com.colisweb.distances.providers.google.{
1010 GoogleGeoApiContext
1111}
1212import com .colisweb .distances .{DistanceApi , Distances }
13+ import com .colisweb .jrubyscaladistances .JRubyRedisConfiguration
1314import com .google .maps .OkHttpRequestHandler
15+ import eu .timepit .refined .types .string .NonEmptyString
1416import io .circe .Codec
1517import io .circe .generic .extras .semiauto .deriveConfiguredCodec
16- import org .slf4j .LoggerFactory
18+ import org .slf4j .{ Logger , LoggerFactory }
1719import scalacache .Flags
18- import io .circe .generic .extras .defaults ._
19- import io .circe .generic .extras .semiauto ._
2020
2121import scala .concurrent .duration .FiniteDuration
2222import scala .util .Try
2323
24- final class JRubyScalaDistance (googleApiConfig : GoogleApiConfiguration , redisConfig : JRubyRedisConfiguration ) {
24+ final class JRubyGoogleScalaDistance (googleApiConfig : GoogleApiConfiguration , redisConfig : JRubyRedisConfiguration ) {
2525
26- val logger = LoggerFactory .getLogger(classOf [OkHttpRequestHandler ])
27- val loggingF = (message : String ) => logger.debug(message.replaceAll(" key=([^&]*)&" , " key=REDACTED&" ))
26+ val logger : Logger = LoggerFactory .getLogger(classOf [OkHttpRequestHandler ])
27+ val loggingF : String => Unit = (message : String ) => logger.debug(message.replaceAll(" key=([^&]*)&" , " key=REDACTED&" ))
2828
29- val googleGeoApiContext = GoogleGeoApiContext (
30- googleApiConfig.apiKey,
29+ val googleGeoApiContext : GoogleGeoApiContext = GoogleGeoApiContext (
30+ NonEmptyString .unsafeFrom( googleApiConfig.apiKey) ,
3131 googleApiConfig.connectTimeout,
3232 googleApiConfig.readTimeout,
3333 googleApiConfig.queryRateLimit,
@@ -38,6 +38,8 @@ final class JRubyScalaDistance(googleApiConfig: GoogleApiConfiguration, redisCon
3838
3939 import scalacache .modes .try_ ._
4040 import scalacache .serialization .circe ._
41+ import io .circe .generic .extras .defaults ._
42+ import io .circe .generic .extras .semiauto ._
4143
4244 implicit val distanceAndDurationCodec : Codec [DistanceAndDuration ] = deriveConfiguredCodec
4345
@@ -62,18 +64,18 @@ final class JRubyScalaDistance(googleApiConfig: GoogleApiConfiguration, redisCon
6264 .api
6365 }
6466
67+ def getShortestDrivingDistance (
68+ origin : Point ,
69+ destination : Point
70+ ): Try [DistanceAndDuration ] = getShortestDistance(origin, destination, TravelMode .Car ())
71+
6572 def getShortestDistance (
6673 origin : Point ,
6774 destination : Point ,
6875 travelMode : TravelMode
6976 ): Try [DistanceAndDuration ] =
7077 distanceApi.distance(DirectedPathWithModeAt (origin, destination, travelMode, None ))
7178
72- def getShortestDrivingDistance (
73- origin : Point ,
74- destination : Point
75- ): Try [DistanceAndDuration ] = getShortestDistance(origin, destination, TravelMode .Driving )
76-
7779 def shutdown (): Unit = googleGeoApiContext.geoApiContext.shutdown()
7880
7981}
0 commit comments