From c0b7d8f94ca401edbbd38067910a0c1b1400e8a6 Mon Sep 17 00:00:00 2001 From: Konstantin Nisht Date: Wed, 30 Oct 2024 19:35:51 +0100 Subject: [PATCH] [eel] IJPL-165252: Use NIO to detect non-empty directories in NPW (cherry picked from commit f2f7c243e6bf58fd2cd05fb8230ff3c261f0d1d3) IJ-CR-148300 GitOrigin-RevId: ce6d1caf48f997316a5b8d4ba335227ed749fbba --- .../src/com/intellij/openapi/ui/validation/validations.kt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/ui/validation/validations.kt b/platform/platform-impl/src/com/intellij/openapi/ui/validation/validations.kt index b43786bd3b6b..dda174746c72 100644 --- a/platform/platform-impl/src/com/intellij/openapi/ui/validation/validations.kt +++ b/platform/platform-impl/src/com/intellij/openapi/ui/validation/validations.kt @@ -7,8 +7,10 @@ import com.intellij.openapi.project.Project import com.intellij.openapi.project.rootManager import com.intellij.ui.UIBundle import java.io.IOException +import java.nio.file.Files import java.nio.file.InvalidPathException import java.nio.file.Path +import java.nio.file.Paths val CHECK_NON_EMPTY: DialogValidation.WithParameter<() -> String> = validationErrorIf(UIBundle.message("kotlin.dsl.validation.missing.value")) { it.isEmpty() } @@ -28,8 +30,9 @@ val CHECK_NAME_FORMAT: DialogValidation.WithParameter<() -> String> = validation } val CHECK_NON_EMPTY_DIRECTORY: DialogValidation.WithParameter<() -> String> = validationFileErrorFor { file -> - val children by lazy { file.list() } - if (file.exists() && children != null && children.isNotEmpty()) { + val path = file.toPath() + val children by lazy { Files.list(path).toList() } + if (Files.exists(path) && children != null && children.isNotEmpty()) { UIBundle.message("label.project.wizard.new.project.directory.not.empty.warning", file.name) } else null