Skip to content

Commit c68885d

Browse files
committed
Fix lateinit exception
1 parent 804d971 commit c68885d

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/main/java/org/radarbase/output/config/RestructureConfig.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -305,12 +305,12 @@ data class ResourceConfig(
305305
val local: LocalConfig? = null,
306306
val azure: AzureConfig? = null,
307307
) {
308-
@JsonIgnore
309-
lateinit var sourceType: ResourceType
308+
@get:JsonIgnore
309+
val sourceType: ResourceType by lazy {
310+
requireNotNull(type.toResourceType()) { "Unknown resource type $type, choose s3, hdfs or local" }
311+
}
310312

311313
fun validate() {
312-
sourceType = type.toResourceType()
313-
314314
when (sourceType) {
315315
ResourceType.S3 -> checkNotNull(s3) { "No S3 configuration provided." }
316316
ResourceType.HDFS -> checkNotNull(hdfs) { "No HDFS configuration provided." }.also { it.validate() }
@@ -336,7 +336,7 @@ fun String.toResourceType() = when(toLowerCase()) {
336336
"hdfs" -> ResourceType.HDFS
337337
"local" -> ResourceType.LOCAL
338338
"azure" -> ResourceType.AZURE
339-
else -> throw IllegalStateException("Unknown resource type $this, choose s3, hdfs or local")
339+
else -> null
340340
}
341341

342342
data class LocalConfig(

0 commit comments

Comments
 (0)