Commit 5f003fc
committed
refactor: apply idiomatic-Kotlin simplifications across the SDK
Readability cleanups across sdk-core and the adapter modules, replacing
"Java-in-Kotlin" patterns with their idiomatic equivalents. Every change is
body-only or adds a private member: no public signature changes (apiCheck
unchanged), and the full gated build — tests, detekt, ktlint, binary
compatibility, the Kover floor, and the R8 shrink guard — passes.
Collection operators replace hand-rolled loops and accumulators:
- HttpPipelineBuilder / AsyncHttpPipelineBuilder: arrayOfNulls + index-fill +
unchecked cast -> Array(size) { ordered[it] }, dropping two
@Suppress("UNCHECKED_CAST") and an obsolete KDoc workaround note.
- DigestChallengeHandler.pickChallenge: a five-continue accumulation loop ->
challenges.mapNotNull(::toCandidate), with the per-challenge validation moved
into an extracted toCandidate() that keeps one early return per gate.
- DefaultRedirectStep (filter/forEach), UrlRedactor (mapTo), ResponsePipeline
(fold), Annotations (filterIsInstance), LinkHeaderPaginationStrategy
(sequence/mapNotNull/firstOrNull), TristateModule (forEachIndexed).
Control flow and casts:
- RetryStep: when (val readyState = prepareNextAttempt(...)) subject form;
data object Proceed.
- JdkHttpTransport: exhaustive when over the two-constant HttpVersion enum
(no else, so a future constant fails to compile).
- WriteAllInto: subject when (read).
- RequestAdapter: capture request.body into a local so it smart-casts, dropping
the cross-module !!.
- AuthChallengeParser: long || punctuation chains -> private Set<Char> membership.
- PageNumberPaginationStrategy: try/catch(NumberFormatException) ->
raw?.toIntOrNull() ?: fallback.
- LoggableResponseBody.contentLength: nested if -> a single Elvis fold.
Boilerplate de-duplicated via private helpers:
- MdcAwareExecutor: the capture/wrap pair repeated across seven overrides ->
two MdcSnapshot.wrap helpers (capture stays at the call site).
- SpanLoggingExtensions: per-key MDC restore -> restoreMdc().
- TeeSink: the tap-budget clamp arithmetic -> tapAllowance().
- Io.installProvider: hand-thrown IllegalStateException -> check(...) with a
lazily built message.
Idiom polish:
- MediaType: manual StringBuilder -> buildString (capacity hint kept).
- DispatchContext: string concatenation -> templates.
- Configuration.parseDuration: Character.toUpperCase -> Char.uppercaseChar().
- RequestRebuilder: drop @Suppress("UNUSED_VARIABLE") via catch (ignored: ...).
- ThrowOnHttpErrorStep: explicit return type on an anonymous mediaType() override.
- ForeignSinkAdapter / ForeignSourceAdapter: return Timeout.NONE inline.
- RestrictedHeaders (okhttp + jdkhttp): drop the no-op .lowercase() on
already-lower-case literals.1 parent f8585a6 commit 5f003fc
29 files changed
Lines changed: 140 additions & 142 deletions
File tree
- sdk-async-virtualthreads/src/main/kotlin/org/dexpace/sdk/async/virtualthreads
- sdk-core/src/main/kotlin/org/dexpace/sdk/core
- config
- http
- auth
- common
- context
- pipeline
- steps
- response
- instrumentation
- io
- pagination
- pipeline
- step
- retry
- util
- sdk-io-okio3/src/main/kotlin/org/dexpace/sdk/io/internal
- sdk-serde-jackson/src/main/kotlin/org/dexpace/sdk/serde/jackson
- sdk-transport-jdkhttp/src/main/kotlin/org/dexpace/sdk/transport/jdkhttp
- internal
- sdk-transport-okhttp/src/main/kotlin/org/dexpace/sdk/transport/okhttp/internal
Lines changed: 12 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
47 | 51 | | |
48 | 52 | | |
49 | | - | |
| 53 | + | |
50 | 54 | | |
51 | 55 | | |
52 | 56 | | |
53 | 57 | | |
54 | | - | |
| 58 | + | |
55 | 59 | | |
56 | 60 | | |
57 | 61 | | |
58 | 62 | | |
59 | | - | |
| 63 | + | |
60 | 64 | | |
61 | 65 | | |
62 | 66 | | |
63 | 67 | | |
64 | 68 | | |
65 | 69 | | |
66 | 70 | | |
67 | | - | |
| 71 | + | |
68 | 72 | | |
69 | 73 | | |
70 | 74 | | |
71 | 75 | | |
72 | | - | |
| 76 | + | |
73 | 77 | | |
74 | 78 | | |
75 | 79 | | |
| |||
78 | 82 | | |
79 | 83 | | |
80 | 84 | | |
81 | | - | |
| 85 | + | |
82 | 86 | | |
83 | 87 | | |
84 | 88 | | |
85 | 89 | | |
86 | | - | |
| 90 | + | |
87 | 91 | | |
88 | 92 | | |
89 | 93 | | |
| |||
92 | 96 | | |
93 | 97 | | |
94 | 98 | | |
95 | | - | |
| 99 | + | |
96 | 100 | | |
97 | 101 | | |
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
202 | 202 | | |
203 | 203 | | |
204 | 204 | | |
205 | | - | |
| 205 | + | |
206 | 206 | | |
207 | 207 | | |
208 | 208 | | |
| |||
Lines changed: 6 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
290 | 290 | | |
291 | 291 | | |
292 | 292 | | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
293 | 297 | | |
294 | 298 | | |
295 | | - | |
296 | | - | |
297 | | - | |
298 | | - | |
| 299 | + | |
299 | 300 | | |
300 | 301 | | |
301 | 302 | | |
302 | | - | |
303 | | - | |
| 303 | + | |
304 | 304 | | |
Lines changed: 28 additions & 21 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
96 | 96 | | |
97 | 97 | | |
98 | 98 | | |
99 | | - | |
| 99 | + | |
100 | 100 | | |
101 | 101 | | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
| 102 | + | |
| 103 | + | |
106 | 104 | | |
107 | | - | |
108 | 105 | | |
109 | 106 | | |
110 | 107 | | |
111 | 108 | | |
112 | 109 | | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | | - | |
117 | | - | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | | - | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | | - | |
127 | | - | |
| 110 | + | |
128 | 111 | | |
129 | 112 | | |
130 | 113 | | |
| |||
133 | 116 | | |
134 | 117 | | |
135 | 118 | | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
136 | 143 | | |
137 | 144 | | |
138 | 145 | | |
| |||
Lines changed: 8 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
108 | 110 | | |
109 | | - | |
| 111 | + | |
110 | 112 | | |
111 | | - | |
112 | | - | |
113 | 113 | | |
114 | 114 | | |
115 | 115 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
64 | | - | |
| 64 | + | |
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
| |||
81 | 81 | | |
82 | 82 | | |
83 | 83 | | |
84 | | - | |
| 84 | + | |
85 | 85 | | |
86 | 86 | | |
Lines changed: 1 addition & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
99 | 99 | | |
100 | 100 | | |
101 | 101 | | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
| 102 | + | |
106 | 103 | | |
107 | 104 | | |
108 | 105 | | |
| |||
Lines changed: 1 addition & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
110 | 110 | | |
111 | 111 | | |
112 | 112 | | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | 113 | | |
117 | 114 | | |
118 | 115 | | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | | - | |
| 116 | + | |
123 | 117 | | |
124 | 118 | | |
125 | 119 | | |
| |||
Lines changed: 3 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
258 | 258 | | |
259 | 259 | | |
260 | 260 | | |
261 | | - | |
262 | | - | |
263 | | - | |
264 | | - | |
265 | | - | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
266 | 264 | | |
267 | 265 | | |
268 | 266 | | |
| |||
Lines changed: 1 addition & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
122 | 122 | | |
123 | 123 | | |
124 | 124 | | |
125 | | - | |
126 | | - | |
| 125 | + | |
127 | 126 | | |
128 | 127 | | |
129 | 128 | | |
| |||
0 commit comments