From 2e7dea638aefe0b0eef5c7ee4c3fbd08c951b8b8 Mon Sep 17 00:00:00 2001 From: anna Date: Tue, 16 Nov 2010 20:56:49 +0300 Subject: [PATCH] logs detection: do not drill into folder as recursive patterns were never supported --- .../execution/configurations/LogFileOptions.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/platform/lang-api/src/com/intellij/execution/configurations/LogFileOptions.java b/platform/lang-api/src/com/intellij/execution/configurations/LogFileOptions.java index d7a9ffa2e94e..7f7e92bc3f3e 100644 --- a/platform/lang-api/src/com/intellij/execution/configurations/LogFileOptions.java +++ b/platform/lang-api/src/com/intellij/execution/configurations/LogFileOptions.java @@ -27,6 +27,7 @@ import org.jetbrains.annotations.Nullable; import java.io.File; import java.util.ArrayList; import java.util.HashSet; +import java.util.List; import java.util.Set; import java.util.regex.Pattern; @@ -80,7 +81,7 @@ public class LogFileOptions implements JDOMExternalizable { final ArrayList files = new ArrayList(); final String basePath = myPathPattern.substring(0, dirIndex); final String pattern = myPathPattern.substring(dirIndex + File.separator.length()); - FileUtil.collectMatchedFiles(new File(basePath), Pattern.compile(FileUtil.convertAntToRegexp(pattern)), files); + collectMatchedFiles(new File(basePath), Pattern.compile(FileUtil.convertAntToRegexp(pattern)), files); if (!files.isEmpty()) { if (myShowAll) { for (File file : files) { @@ -107,6 +108,19 @@ public class LogFileOptions implements JDOMExternalizable { return result; } + public static void collectMatchedFiles(final File root, final Pattern pattern, final List files) { + final File[] dirs = root.listFiles(); + if (dirs == null) return; + for (File dir : dirs) { + if (dir.isFile()) { + final String path = FileUtil.toSystemIndependentName(FileUtil.getRelativePath(root, dir)); + if (pattern.matcher(path).matches()) { + files.add(dir); + } + } + } + } + public boolean isEnabled() { return myEnabled; }