diff --git a/theodolite/src/main/kotlin/theodolite/benchmark/ConfigMapResourceSet.kt b/theodolite/src/main/kotlin/theodolite/benchmark/ConfigMapResourceSet.kt index 2192f43a088c5cb79ba514cde6225a5efef4a181..eea5b15cb1db7242328033a1bc46fb224d287bc2 100644 --- a/theodolite/src/main/kotlin/theodolite/benchmark/ConfigMapResourceSet.kt +++ b/theodolite/src/main/kotlin/theodolite/benchmark/ConfigMapResourceSet.kt @@ -13,7 +13,7 @@ import java.lang.IllegalArgumentException @JsonDeserialize class ConfigMapResourceSet : ResourceSet, KubernetesResource { lateinit var name: String - lateinit var files: List<String> // load all files, iff files is not set + var files: List<String>? = null // load all files, iff files is not set override fun getResourceSet(client: NamespacedKubernetesClient): Collection<Pair<String, HasMetadata>> { var resources: Map<String, String> @@ -29,9 +29,9 @@ class ConfigMapResourceSet : ResourceSet, KubernetesResource { throw DeploymentFailedException("Cannot find or read ConfigMap with name '$name'.", e) } - if (::files.isInitialized) { - val filteredResources = resources.filter { files.contains(it.key) } - if (filteredResources.size != files.size) { + files?.run { + val filteredResources = resources.filter { this.contains(it.key) } + if (filteredResources.size != this.size) { throw DeploymentFailedException("Could not find all specified Kubernetes manifests files") } resources = filteredResources diff --git a/theodolite/src/main/kotlin/theodolite/benchmark/FileSystemResourceSet.kt b/theodolite/src/main/kotlin/theodolite/benchmark/FileSystemResourceSet.kt index cfd7197193ba98dd10500f8612282cb170749e32..e95a637ab88f11902062de73b0c34603b08aded3 100644 --- a/theodolite/src/main/kotlin/theodolite/benchmark/FileSystemResourceSet.kt +++ b/theodolite/src/main/kotlin/theodolite/benchmark/FileSystemResourceSet.kt @@ -21,17 +21,16 @@ import kotlin.io.path.listDirectoryEntries @JsonDeserialize class FileSystemResourceSet: ResourceSet, KubernetesResource { lateinit var path: String - lateinit var files: List<String> + var files: List<String>? = null override fun getResourceSet(client: NamespacedKubernetesClient): Collection<Pair<String, HasMetadata>> { // if files is set ... - if(::files.isInitialized){ - return files + return files?.run { + return this .map { Paths.get(path, it) } .map { loadSingleResource(resource = it, client = client) } - } - - return try { + } ?: + try { Paths.get(path) .listDirectoryEntries() .filter { it.toString().endsWith(".yaml") || it.toString().endsWith(".yml") }