Skip to content

Commit 91e586f

Browse files
committed
change experimental Kotlin DurationUnit to Java TimeUnit
1 parent e1dc944 commit 91e586f

File tree

2 files changed

+38
-55
lines changed

2 files changed

+38
-55
lines changed

kotlin/src/main/kotlin/org/axonframework/extensions/kotlin/QueryGatewayExtensions.kt

Lines changed: 19 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,8 @@ import org.axonframework.messaging.responsetypes.ResponseTypes
1919
import org.axonframework.queryhandling.QueryGateway
2020
import java.util.*
2121
import java.util.concurrent.CompletableFuture
22+
import java.util.concurrent.TimeUnit
2223
import java.util.stream.Stream
23-
import kotlin.time.DurationUnit
24-
import kotlin.time.ExperimentalTime
2524

2625
/**
2726
* Reified version of [QueryGateway.query]
@@ -115,18 +114,17 @@ inline fun <reified R, reified Q> QueryGateway.queryForOptional(queryName: Strin
115114
* which expects an Stream object as a response using [org.axonframework.messaging.responsetypes.InstanceResponseType]
116115
* @param query Query to send
117116
* @param timeout a timeout for the query
118-
* @param durationUnit the selected DurationUnit for the given timeout
117+
* @param timeUnit the selected TimeUnit for the given timeout
119118
* @param [Q] the type of payload of the query
120119
* @param [R] the response class contained in the given responseType
121120
* @return [Stream] a stream of results
122121
* @see QueryGateway.scatterGather
123122
* @see ResponseTypes
124123
* @since 0.2.0
125124
*/
126-
@ExperimentalTime
127125
inline fun <reified R, reified Q> QueryGateway.scatterGatherForSingle(query: Q, timeout: Long,
128-
durationUnit: DurationUnit): Stream<R> {
129-
return this.scatterGather(query, ResponseTypes.instanceOf(R::class.java), timeout, durationUnit)
126+
timeUnit: TimeUnit): Stream<R> {
127+
return this.scatterGather(query, ResponseTypes.instanceOf(R::class.java), timeout, timeUnit)
130128
}
131129

132130
/**
@@ -135,37 +133,35 @@ inline fun <reified R, reified Q> QueryGateway.scatterGatherForSingle(query: Q,
135133
* @param query Query to send
136134
* @param queryName Name of the query
137135
* @param timeout a timeout for the query
138-
* @param durationUnit the selected DurationUnit for the given timeout
136+
* @param timeUnit the selected TimeUnit for the given timeout
139137
* @param [Q] the type of payload of the query
140138
* @param [R] the response class contained in the given responseType
141139
* @return [Stream] a stream of results
142140
* @see QueryGateway.scatterGather
143141
* @see ResponseTypes
144142
* @since 0.2.0
145143
*/
146-
@ExperimentalTime
147144
inline fun <reified R, reified Q> QueryGateway.scatterGatherForSingle(queryName: String, query: Q, timeout: Long,
148-
durationUnit: DurationUnit): Stream<R> {
149-
return this.scatterGather(queryName, query, ResponseTypes.instanceOf(R::class.java), timeout, durationUnit)
145+
timeUnit: TimeUnit): Stream<R> {
146+
return this.scatterGather(queryName, query, ResponseTypes.instanceOf(R::class.java), timeout, timeUnit)
150147
}
151148

152149
/**
153150
* Reified version of [QueryGateway.scatterGather]
154151
* which expects a collection as a response using [org.axonframework.messaging.responsetypes.MultipleInstancesResponseType]
155152
* @param query Query to send
156153
* @param timeout a timeout for the query
157-
* @param durationUnit the selected DurationUnit for the given timeout
154+
* @param timeUnit the selected TimeUnit for the given timeout
158155
* @param [Q] the type of payload of the query
159156
* @param [R] the response class contained in the given responseType
160157
* @return [Stream] a stream of results
161158
* @see QueryGateway.scatterGather
162159
* @see ResponseTypes
163160
* @since 0.2.0
164161
*/
165-
@ExperimentalTime
166162
inline fun <reified R, reified Q> QueryGateway.scatterGatherForMultiple(query: Q, timeout: Long,
167-
durationUnit: DurationUnit): Stream<List<R>> {
168-
return this.scatterGather(query, ResponseTypes.multipleInstancesOf(R::class.java), timeout, durationUnit)
163+
timeUnit: TimeUnit): Stream<List<R>> {
164+
return this.scatterGather(query, ResponseTypes.multipleInstancesOf(R::class.java), timeout, timeUnit)
169165
}
170166

171167
/**
@@ -174,37 +170,35 @@ inline fun <reified R, reified Q> QueryGateway.scatterGatherForMultiple(query: Q
174170
* @param query Query to send
175171
* @param queryName Name of the query
176172
* @param timeout a timeout for the query
177-
* @param durationUnit the selected DurationUnit for the given timeout
173+
* @param timeUnit the selected TimeUnit for the given timeout
178174
* @param [Q] the type of payload of the query
179175
* @param [R] the response class contained in the given responseType
180176
* @return [Stream] a stream of results
181177
* @see QueryGateway.scatterGather
182178
* @see ResponseTypes
183179
* @since 0.2.0
184180
*/
185-
@ExperimentalTime
186181
inline fun <reified R, reified Q> QueryGateway.scatterGatherForMultiple(queryName: String, query: Q, timeout: Long,
187-
durationUnit: DurationUnit): Stream<List<R>> {
188-
return this.scatterGather(queryName, query, ResponseTypes.multipleInstancesOf(R::class.java), timeout, durationUnit)
182+
timeUnit: TimeUnit): Stream<List<R>> {
183+
return this.scatterGather(queryName, query, ResponseTypes.multipleInstancesOf(R::class.java), timeout, timeUnit)
189184
}
190185

191186
/**
192187
* Reified version of [QueryGateway.scatterGather]
193188
* which expects a collection as a response using [org.axonframework.messaging.responsetypes.OptionalResponseType]
194189
* @param query Query to send
195190
* @param timeout a timeout for the query
196-
* @param durationUnit the selected DurationUnit for the given timeout
191+
* @param timeUnit the selected TimeUnit for the given timeout
197192
* @param [Q] the type of payload of the query
198193
* @param [R] the response class contained in the given responseType
199194
* @return [Stream] a stream of results
200195
* @see QueryGateway.scatterGather
201196
* @see ResponseTypes
202197
* @since 0.2.0
203198
*/
204-
@ExperimentalTime
205199
inline fun <reified R, reified Q> QueryGateway.scatterGatherForOptional(query: Q, timeout: Long,
206-
durationUnit: DurationUnit): Stream<Optional<R>> {
207-
return this.scatterGather(query, ResponseTypes.optionalInstanceOf(R::class.java), timeout, durationUnit)
200+
timeUnit: TimeUnit): Stream<Optional<R>> {
201+
return this.scatterGather(query, ResponseTypes.optionalInstanceOf(R::class.java), timeout, timeUnit)
208202
}
209203

210204
/**
@@ -213,16 +207,15 @@ inline fun <reified R, reified Q> QueryGateway.scatterGatherForOptional(query: Q
213207
* @param query Query to send
214208
* @param queryName Name of the query
215209
* @param timeout a timeout for the query
216-
* @param durationUnit the selected DurationUnit for the given timeout
210+
* @param timeUnit the selected TimeUnit for the given timeout
217211
* @param [Q] the type of payload of the query
218212
* @param [R] the response class contained in the given responseType
219213
* @return [Stream] a stream of results
220214
* @see QueryGateway.scatterGather
221215
* @see ResponseTypes
222216
* @since 0.2.0
223217
*/
224-
@ExperimentalTime
225218
inline fun <reified R, reified Q> QueryGateway.scatterGatherForOptional(queryName: String, query: Q, timeout: Long,
226-
durationUnit: DurationUnit): Stream<Optional<R>> {
227-
return this.scatterGather(queryName, query, ResponseTypes.optionalInstanceOf(R::class.java), timeout, durationUnit)
219+
timeUnit: TimeUnit): Stream<Optional<R>> {
220+
return this.scatterGather(queryName, query, ResponseTypes.optionalInstanceOf(R::class.java), timeout, timeUnit)
228221
}

kotlin/src/test/kotlin/org/axonframework/extensions/kotlin/QueryGatewayExtensionsTest.kt

Lines changed: 19 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@ import java.util.concurrent.CompletableFuture
2727
import java.util.concurrent.TimeUnit
2828
import java.util.stream.Stream
2929
import kotlin.test.*
30-
import kotlin.time.DurationUnit
31-
import kotlin.time.ExperimentalTime
3230

3331
/**
3432
* Tests Query Gateway extensions.
@@ -45,13 +43,11 @@ class QueryGatewayExtensionsTest {
4543
private val listReturnValue: CompletableFuture<List<String>> = CompletableFuture.completedFuture(listOf("Value", "Second value"))
4644
private val subjectGateway = mockk<QueryGateway>()
4745
private val timeout: Long = 1000
48-
@ExperimentalTime
49-
private val durationUnit = DurationUnit.valueOf(TimeUnit.SECONDS.name)
46+
private val timeUnit = TimeUnit.SECONDS
5047
private val streamInstanceReturnValue = Stream.of("Value")
5148
private val streamMultipleReturnValue = Stream.of(listOf("Value", "Second Value"))
5249
private val streamOptionalReturnValue = Stream.of(Optional.of("Value"))
5350

54-
@ExperimentalTime
5551
@BeforeTest
5652
fun before() {
5753
every { subjectGateway.query(exampleQuery, matchInstanceResponseType<String>()) } returns instanceReturnValue
@@ -60,12 +56,12 @@ class QueryGatewayExtensionsTest {
6056
every { subjectGateway.query(queryName, exampleQuery, matchInstanceResponseType<String>()) } returns instanceReturnValue
6157
every { subjectGateway.query(queryName, exampleQuery, matchOptionalResponseType<String>()) } returns optionalReturnValue
6258
every { subjectGateway.query(queryName, exampleQuery, matchMultipleInstancesResponseType<String>()) } returns listReturnValue
63-
every { subjectGateway.scatterGather(exampleQuery, matchInstanceResponseType<String>(), timeout, durationUnit) } returns streamInstanceReturnValue
64-
every { subjectGateway.scatterGather(exampleQuery, matchMultipleInstancesResponseType<String>(), timeout, durationUnit) } returns streamMultipleReturnValue
65-
every { subjectGateway.scatterGather(exampleQuery, matchOptionalResponseType<String>(), timeout, durationUnit) } returns streamOptionalReturnValue
66-
every { subjectGateway.scatterGather(queryName, exampleQuery, matchInstanceResponseType<String>(), timeout, durationUnit) } returns streamInstanceReturnValue
67-
every { subjectGateway.scatterGather(queryName, exampleQuery, matchMultipleInstancesResponseType<String>(), timeout, durationUnit) } returns streamMultipleReturnValue
68-
every { subjectGateway.scatterGather(queryName, exampleQuery, matchOptionalResponseType<String>(), timeout, durationUnit) } returns streamOptionalReturnValue
59+
every { subjectGateway.scatterGather(exampleQuery, matchInstanceResponseType<String>(), timeout, timeUnit) } returns streamInstanceReturnValue
60+
every { subjectGateway.scatterGather(exampleQuery, matchMultipleInstancesResponseType<String>(), timeout, timeUnit) } returns streamMultipleReturnValue
61+
every { subjectGateway.scatterGather(exampleQuery, matchOptionalResponseType<String>(), timeout, timeUnit) } returns streamOptionalReturnValue
62+
every { subjectGateway.scatterGather(queryName, exampleQuery, matchInstanceResponseType<String>(), timeout, timeUnit) } returns streamInstanceReturnValue
63+
every { subjectGateway.scatterGather(queryName, exampleQuery, matchMultipleInstancesResponseType<String>(), timeout, timeUnit) } returns streamMultipleReturnValue
64+
every { subjectGateway.scatterGather(queryName, exampleQuery, matchOptionalResponseType<String>(), timeout, timeUnit) } returns streamOptionalReturnValue
6965
}
7066

7167
@AfterTest
@@ -200,85 +196,79 @@ class QueryGatewayExtensionsTest {
200196
verify(exactly = 1) { nullableQueryGateway.query(queryName, exampleQuery, matchExpectedResponseType(String::class.java)) }
201197
}
202198

203-
@ExperimentalTime
204199
@Test
205200
fun `ScatterGather for Single should invoke scatterGather method with correct generic parameters`() {
206201
val result = subjectGateway.scatterGatherForSingle<String, ExampleQuery>(
207202
query = exampleQuery,
208203
timeout = timeout,
209-
durationUnit = durationUnit
204+
timeUnit = timeUnit
210205
)
211206

212207
assertSame(result, streamInstanceReturnValue)
213-
verify(exactly = 1) { subjectGateway.scatterGather(exampleQuery, matchExpectedResponseType(String::class.java), timeout, durationUnit) }
208+
verify(exactly = 1) { subjectGateway.scatterGather(exampleQuery, matchExpectedResponseType(String::class.java), timeout, timeUnit) }
214209
}
215210

216-
@ExperimentalTime
217211
@Test
218212
fun `ScatterGather for Multiple should invoke scatterGather method with correct generic parameters`() {
219213
val result = subjectGateway.scatterGatherForMultiple<String, ExampleQuery>(
220214
query = exampleQuery,
221215
timeout = timeout,
222-
durationUnit = durationUnit
216+
timeUnit = timeUnit
223217
)
224218

225219
assertSame(result, streamMultipleReturnValue)
226-
verify(exactly = 1) { subjectGateway.scatterGather(exampleQuery, matchMultipleInstancesResponseType<String>(), timeout, durationUnit) }
220+
verify(exactly = 1) { subjectGateway.scatterGather(exampleQuery, matchMultipleInstancesResponseType<String>(), timeout, timeUnit) }
227221
}
228222

229-
@ExperimentalTime
230223
@Test
231224
fun `ScatterGather for Optional should invoke scatterGather method with correct generic parameters`() {
232225
val result = subjectGateway.scatterGatherForOptional<String, ExampleQuery>(
233226
query = exampleQuery,
234227
timeout = timeout,
235-
durationUnit = durationUnit
228+
timeUnit = timeUnit
236229
)
237230

238231
assertSame(result, streamOptionalReturnValue)
239-
verify(exactly = 1) { subjectGateway.scatterGather(exampleQuery, matchOptionalResponseType<String>(), timeout, durationUnit) }
232+
verify(exactly = 1) { subjectGateway.scatterGather(exampleQuery, matchOptionalResponseType<String>(), timeout, timeUnit) }
240233
}
241234

242-
@ExperimentalTime
243235
@Test
244236
fun `ScatterGather for Single should invoke scatterGather method with explicit query name`() {
245237
val result = subjectGateway.scatterGatherForSingle<String, ExampleQuery>(
246238
queryName = queryName,
247239
query = exampleQuery,
248240
timeout = timeout,
249-
durationUnit = durationUnit
241+
timeUnit = timeUnit
250242
)
251243

252244
assertSame(result, streamInstanceReturnValue)
253-
verify(exactly = 1) { subjectGateway.scatterGather(queryName, exampleQuery, matchExpectedResponseType(String::class.java), timeout, durationUnit) }
245+
verify(exactly = 1) { subjectGateway.scatterGather(queryName, exampleQuery, matchExpectedResponseType(String::class.java), timeout, timeUnit) }
254246
}
255247

256-
@ExperimentalTime
257248
@Test
258249
fun `ScatterGather for Multiple should invoke scatterGather method with explicit query name`() {
259250
val result = subjectGateway.scatterGatherForMultiple<String, ExampleQuery>(
260251
queryName = queryName,
261252
query = exampleQuery,
262253
timeout = timeout,
263-
durationUnit = durationUnit
254+
timeUnit = timeUnit
264255
)
265256

266257
assertSame(result, streamMultipleReturnValue)
267-
verify(exactly = 1) { subjectGateway.scatterGather(queryName, exampleQuery, matchMultipleInstancesResponseType<String>(), timeout, durationUnit) }
258+
verify(exactly = 1) { subjectGateway.scatterGather(queryName, exampleQuery, matchMultipleInstancesResponseType<String>(), timeout, timeUnit) }
268259
}
269260

270-
@ExperimentalTime
271261
@Test
272262
fun `ScatterGather for Optional should invoke scatterGather method with explicit query name`() {
273263
val result = subjectGateway.scatterGatherForOptional<String, ExampleQuery>(
274264
queryName = queryName,
275265
query = exampleQuery,
276266
timeout = timeout,
277-
durationUnit = durationUnit
267+
timeUnit = timeUnit
278268
)
279269

280270
assertSame(result, streamOptionalReturnValue)
281-
verify(exactly = 1) { subjectGateway.scatterGather(queryName, exampleQuery, matchOptionalResponseType<String>(), timeout, durationUnit) }
271+
verify(exactly = 1) { subjectGateway.scatterGather(queryName, exampleQuery, matchOptionalResponseType<String>(), timeout, timeUnit) }
282272
}
283273

284274
}

0 commit comments

Comments
 (0)