Skip to content

Commit e297af2

Browse files
chore(internal): refactor query param serialization impl and tests (#287)
1 parent 11ae6b9 commit e297af2

32 files changed

+399
-288
lines changed

onebusaway-sdk-kotlin-core/src/main/kotlin/org/onebusaway/models/ArrivalAndDepartureListParams.kt

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,15 @@ private constructor(
3939

4040
override fun _headers(): Headers = additionalHeaders
4141

42-
override fun _queryParams(): QueryParams {
43-
val queryParams = QueryParams.builder()
44-
this.minutesAfter?.let { queryParams.put("minutesAfter", listOf(it.toString())) }
45-
this.minutesBefore?.let { queryParams.put("minutesBefore", listOf(it.toString())) }
46-
this.time?.let {
47-
queryParams.put("time", listOf(DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(it)))
48-
}
49-
queryParams.putAll(additionalQueryParams)
50-
return queryParams.build()
51-
}
42+
override fun _queryParams(): QueryParams =
43+
QueryParams.builder()
44+
.apply {
45+
minutesAfter?.let { put("minutesAfter", it.toString()) }
46+
minutesBefore?.let { put("minutesBefore", it.toString()) }
47+
time?.let { put("time", DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(it)) }
48+
putAll(additionalQueryParams)
49+
}
50+
.build()
5251

5352
fun getPathParam(index: Int): String {
5453
return when (index) {

onebusaway-sdk-kotlin-core/src/main/kotlin/org/onebusaway/models/ArrivalAndDepartureRetrieveParams.kt

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -40,16 +40,17 @@ private constructor(
4040

4141
override fun _headers(): Headers = additionalHeaders
4242

43-
override fun _queryParams(): QueryParams {
44-
val queryParams = QueryParams.builder()
45-
this.serviceDate.let { queryParams.put("serviceDate", listOf(it.toString())) }
46-
this.tripId.let { queryParams.put("tripId", listOf(it.toString())) }
47-
this.stopSequence?.let { queryParams.put("stopSequence", listOf(it.toString())) }
48-
this.time?.let { queryParams.put("time", listOf(it.toString())) }
49-
this.vehicleId?.let { queryParams.put("vehicleId", listOf(it.toString())) }
50-
queryParams.putAll(additionalQueryParams)
51-
return queryParams.build()
52-
}
43+
override fun _queryParams(): QueryParams =
44+
QueryParams.builder()
45+
.apply {
46+
put("serviceDate", serviceDate.toString())
47+
put("tripId", tripId)
48+
stopSequence?.let { put("stopSequence", it.toString()) }
49+
time?.let { put("time", it.toString()) }
50+
vehicleId?.let { put("vehicleId", it) }
51+
putAll(additionalQueryParams)
52+
}
53+
.build()
5354

5455
fun getPathParam(index: Int): String {
5556
return when (index) {

onebusaway-sdk-kotlin-core/src/main/kotlin/org/onebusaway/models/ReportProblemWithStopRetrieveParams.kt

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -49,18 +49,17 @@ private constructor(
4949

5050
override fun _headers(): Headers = additionalHeaders
5151

52-
override fun _queryParams(): QueryParams {
53-
val queryParams = QueryParams.builder()
54-
this.code?.let { queryParams.put("code", listOf(it.toString())) }
55-
this.userComment?.let { queryParams.put("userComment", listOf(it.toString())) }
56-
this.userLat?.let { queryParams.put("userLat", listOf(it.toString())) }
57-
this.userLocationAccuracy?.let {
58-
queryParams.put("userLocationAccuracy", listOf(it.toString()))
59-
}
60-
this.userLon?.let { queryParams.put("userLon", listOf(it.toString())) }
61-
queryParams.putAll(additionalQueryParams)
62-
return queryParams.build()
63-
}
52+
override fun _queryParams(): QueryParams =
53+
QueryParams.builder()
54+
.apply {
55+
code?.let { put("code", it.asString()) }
56+
userComment?.let { put("userComment", it) }
57+
userLat?.let { put("userLat", it.toString()) }
58+
userLocationAccuracy?.let { put("userLocationAccuracy", it.toString()) }
59+
userLon?.let { put("userLon", it.toString()) }
60+
putAll(additionalQueryParams)
61+
}
62+
.build()
6463

6564
fun getPathParam(index: Int): String {
6665
return when (index) {

onebusaway-sdk-kotlin-core/src/main/kotlin/org/onebusaway/models/ReportProblemWithTripRetrieveParams.kt

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -69,23 +69,22 @@ private constructor(
6969

7070
override fun _headers(): Headers = additionalHeaders
7171

72-
override fun _queryParams(): QueryParams {
73-
val queryParams = QueryParams.builder()
74-
this.code?.let { queryParams.put("code", listOf(it.toString())) }
75-
this.serviceDate?.let { queryParams.put("serviceDate", listOf(it.toString())) }
76-
this.stopId?.let { queryParams.put("stopID", listOf(it.toString())) }
77-
this.userComment?.let { queryParams.put("userComment", listOf(it.toString())) }
78-
this.userLat?.let { queryParams.put("userLat", listOf(it.toString())) }
79-
this.userLocationAccuracy?.let {
80-
queryParams.put("userLocationAccuracy", listOf(it.toString()))
81-
}
82-
this.userLon?.let { queryParams.put("userLon", listOf(it.toString())) }
83-
this.userOnVehicle?.let { queryParams.put("userOnVehicle", listOf(it.toString())) }
84-
this.userVehicleNumber?.let { queryParams.put("userVehicleNumber", listOf(it.toString())) }
85-
this.vehicleId?.let { queryParams.put("vehicleID", listOf(it.toString())) }
86-
queryParams.putAll(additionalQueryParams)
87-
return queryParams.build()
88-
}
72+
override fun _queryParams(): QueryParams =
73+
QueryParams.builder()
74+
.apply {
75+
code?.let { put("code", it.asString()) }
76+
serviceDate?.let { put("serviceDate", it.toString()) }
77+
stopId?.let { put("stopID", it) }
78+
userComment?.let { put("userComment", it) }
79+
userLat?.let { put("userLat", it.toString()) }
80+
userLocationAccuracy?.let { put("userLocationAccuracy", it.toString()) }
81+
userLon?.let { put("userLon", it.toString()) }
82+
userOnVehicle?.let { put("userOnVehicle", it.toString()) }
83+
userVehicleNumber?.let { put("userVehicleNumber", it) }
84+
vehicleId?.let { put("vehicleID", it) }
85+
putAll(additionalQueryParams)
86+
}
87+
.build()
8988

9089
fun getPathParam(index: Int): String {
9190
return when (index) {

onebusaway-sdk-kotlin-core/src/main/kotlin/org/onebusaway/models/RoutesForLocationListParams.kt

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -40,17 +40,18 @@ private constructor(
4040

4141
override fun _headers(): Headers = additionalHeaders
4242

43-
override fun _queryParams(): QueryParams {
44-
val queryParams = QueryParams.builder()
45-
this.lat.let { queryParams.put("lat", listOf(it.toString())) }
46-
this.lon.let { queryParams.put("lon", listOf(it.toString())) }
47-
this.latSpan?.let { queryParams.put("latSpan", listOf(it.toString())) }
48-
this.lonSpan?.let { queryParams.put("lonSpan", listOf(it.toString())) }
49-
this.query?.let { queryParams.put("query", listOf(it.toString())) }
50-
this.radius?.let { queryParams.put("radius", listOf(it.toString())) }
51-
queryParams.putAll(additionalQueryParams)
52-
return queryParams.build()
53-
}
43+
override fun _queryParams(): QueryParams =
44+
QueryParams.builder()
45+
.apply {
46+
put("lat", lat.toString())
47+
put("lon", lon.toString())
48+
latSpan?.let { put("latSpan", it.toString()) }
49+
lonSpan?.let { put("lonSpan", it.toString()) }
50+
query?.let { put("query", it) }
51+
radius?.let { put("radius", it.toString()) }
52+
putAll(additionalQueryParams)
53+
}
54+
.build()
5455

5556
fun toBuilder() = Builder().from(this)
5657

onebusaway-sdk-kotlin-core/src/main/kotlin/org/onebusaway/models/ScheduleForRouteRetrieveParams.kt

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,13 @@ private constructor(
3333

3434
override fun _headers(): Headers = additionalHeaders
3535

36-
override fun _queryParams(): QueryParams {
37-
val queryParams = QueryParams.builder()
38-
this.date?.let { queryParams.put("date", listOf(it.toString())) }
39-
queryParams.putAll(additionalQueryParams)
40-
return queryParams.build()
41-
}
36+
override fun _queryParams(): QueryParams =
37+
QueryParams.builder()
38+
.apply {
39+
date?.let { put("date", it.toString()) }
40+
putAll(additionalQueryParams)
41+
}
42+
.build()
4243

4344
fun getPathParam(index: Int): String {
4445
return when (index) {

onebusaway-sdk-kotlin-core/src/main/kotlin/org/onebusaway/models/ScheduleForStopRetrieveParams.kt

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,13 @@ private constructor(
3333

3434
override fun _headers(): Headers = additionalHeaders
3535

36-
override fun _queryParams(): QueryParams {
37-
val queryParams = QueryParams.builder()
38-
this.date?.let { queryParams.put("date", listOf(it.toString())) }
39-
queryParams.putAll(additionalQueryParams)
40-
return queryParams.build()
41-
}
36+
override fun _queryParams(): QueryParams =
37+
QueryParams.builder()
38+
.apply {
39+
date?.let { put("date", it.toString()) }
40+
putAll(additionalQueryParams)
41+
}
42+
.build()
4243

4344
fun getPathParam(index: Int): String {
4445
return when (index) {

onebusaway-sdk-kotlin-core/src/main/kotlin/org/onebusaway/models/SearchForRouteListParams.kt

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,14 @@ private constructor(
3030

3131
override fun _headers(): Headers = additionalHeaders
3232

33-
override fun _queryParams(): QueryParams {
34-
val queryParams = QueryParams.builder()
35-
this.input.let { queryParams.put("input", listOf(it.toString())) }
36-
this.maxCount?.let { queryParams.put("maxCount", listOf(it.toString())) }
37-
queryParams.putAll(additionalQueryParams)
38-
return queryParams.build()
39-
}
33+
override fun _queryParams(): QueryParams =
34+
QueryParams.builder()
35+
.apply {
36+
put("input", input)
37+
maxCount?.let { put("maxCount", it.toString()) }
38+
putAll(additionalQueryParams)
39+
}
40+
.build()
4041

4142
fun toBuilder() = Builder().from(this)
4243

onebusaway-sdk-kotlin-core/src/main/kotlin/org/onebusaway/models/SearchForStopListParams.kt

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,14 @@ private constructor(
3030

3131
override fun _headers(): Headers = additionalHeaders
3232

33-
override fun _queryParams(): QueryParams {
34-
val queryParams = QueryParams.builder()
35-
this.input.let { queryParams.put("input", listOf(it.toString())) }
36-
this.maxCount?.let { queryParams.put("maxCount", listOf(it.toString())) }
37-
queryParams.putAll(additionalQueryParams)
38-
return queryParams.build()
39-
}
33+
override fun _queryParams(): QueryParams =
34+
QueryParams.builder()
35+
.apply {
36+
put("input", input)
37+
maxCount?.let { put("maxCount", it.toString()) }
38+
putAll(additionalQueryParams)
39+
}
40+
.build()
4041

4142
fun toBuilder() = Builder().from(this)
4243

onebusaway-sdk-kotlin-core/src/main/kotlin/org/onebusaway/models/StopsForLocationListParams.kt

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -44,17 +44,18 @@ private constructor(
4444

4545
override fun _headers(): Headers = additionalHeaders
4646

47-
override fun _queryParams(): QueryParams {
48-
val queryParams = QueryParams.builder()
49-
this.lat.let { queryParams.put("lat", listOf(it.toString())) }
50-
this.lon.let { queryParams.put("lon", listOf(it.toString())) }
51-
this.latSpan?.let { queryParams.put("latSpan", listOf(it.toString())) }
52-
this.lonSpan?.let { queryParams.put("lonSpan", listOf(it.toString())) }
53-
this.query?.let { queryParams.put("query", listOf(it.toString())) }
54-
this.radius?.let { queryParams.put("radius", listOf(it.toString())) }
55-
queryParams.putAll(additionalQueryParams)
56-
return queryParams.build()
57-
}
47+
override fun _queryParams(): QueryParams =
48+
QueryParams.builder()
49+
.apply {
50+
put("lat", lat.toString())
51+
put("lon", lon.toString())
52+
latSpan?.let { put("latSpan", it.toString()) }
53+
lonSpan?.let { put("lonSpan", it.toString()) }
54+
query?.let { put("query", it) }
55+
radius?.let { put("radius", it.toString()) }
56+
putAll(additionalQueryParams)
57+
}
58+
.build()
5859

5960
fun toBuilder() = Builder().from(this)
6061

0 commit comments

Comments
 (0)