diff --git a/java/debugger/impl/src/com/intellij/debugger/DefaultDebugEnvironment.java b/java/debugger/impl/src/com/intellij/debugger/DefaultDebugEnvironment.java index 5a842e420a0d..76515d8fddfe 100644 --- a/java/debugger/impl/src/com/intellij/debugger/DefaultDebugEnvironment.java +++ b/java/debugger/impl/src/com/intellij/debugger/DefaultDebugEnvironment.java @@ -19,10 +19,7 @@ import com.intellij.execution.ExecutionException; import com.intellij.execution.ExecutionResult; import com.intellij.execution.Executor; import com.intellij.execution.configurations.*; -import com.intellij.execution.filters.ExceptionFilters; -import com.intellij.execution.filters.TextConsoleBuilder; import com.intellij.execution.runners.ProgramRunner; -import com.intellij.execution.runners.RunContentBuilder; import com.intellij.openapi.project.Project; import com.intellij.psi.search.GlobalSearchScope; @@ -54,17 +51,11 @@ public class DefaultDebugEnvironment implements DebugEnvironment { myRemoteConnection = remoteConnection; myPollConnection = pollConnection; - mySearchScope = RunContentBuilder.createSearchScope(project, runProfile); + mySearchScope = SearchScopeProvider.createSearchScope(project, runProfile); } @Override public ExecutionResult createExecutionResult() throws ExecutionException { - if (myState instanceof CommandLineState) { - final TextConsoleBuilder consoleBuilder = ((CommandLineState)myState).getConsoleBuilder(); - if (consoleBuilder != null) { - consoleBuilder.filters(ExceptionFilters.getFilters(mySearchScope)); - } - } return myState.execute(myExecutor, myRunner); } diff --git a/java/remote-servers/impl/src/com/intellij/remoteServer/impl/runtime/deployment/debug/JavaDebuggerLauncherImpl.java b/java/remote-servers/impl/src/com/intellij/remoteServer/impl/runtime/deployment/debug/JavaDebuggerLauncherImpl.java index 9fb0d3f81e3c..0ff284e054dd 100644 --- a/java/remote-servers/impl/src/com/intellij/remoteServer/impl/runtime/deployment/debug/JavaDebuggerLauncherImpl.java +++ b/java/remote-servers/impl/src/com/intellij/remoteServer/impl/runtime/deployment/debug/JavaDebuggerLauncherImpl.java @@ -11,11 +11,11 @@ import com.intellij.diagnostic.logging.LogFilesManager; import com.intellij.execution.*; import com.intellij.execution.configurations.RemoteConnection; import com.intellij.execution.configurations.RunProfile; +import com.intellij.execution.configurations.SearchScopeProvider; import com.intellij.execution.executors.DefaultDebugExecutor; import com.intellij.execution.impl.ConsoleViewImpl; import com.intellij.execution.process.ProcessHandler; import com.intellij.execution.runners.ExecutionEnvironment; -import com.intellij.execution.runners.RunContentBuilder; import com.intellij.execution.ui.RunContentDescriptor; import com.intellij.execution.ui.actions.CloseAction; import com.intellij.openapi.actionSystem.DefaultActionGroup; @@ -121,7 +121,7 @@ public class JavaDebuggerLauncherImpl extends JavaDebuggerLauncher { public RemoteServerDebugEnvironment(Project project, RemoteConnection remoteConnection, RunProfile runProfile) { myProject = project; - mySearchScope = RunContentBuilder.createSearchScope(project, runProfile); + mySearchScope = SearchScopeProvider.createSearchScope(project, runProfile); myRemoteConnection = remoteConnection; myRunProfile = runProfile; } diff --git a/platform/lang-api/src/com/intellij/execution/configurations/CommandLineState.java b/platform/lang-api/src/com/intellij/execution/configurations/CommandLineState.java index bf52dde1a415..b2593ef26de6 100644 --- a/platform/lang-api/src/com/intellij/execution/configurations/CommandLineState.java +++ b/platform/lang-api/src/com/intellij/execution/configurations/CommandLineState.java @@ -31,6 +31,8 @@ import com.intellij.openapi.actionSystem.Presentation; import com.intellij.openapi.actionSystem.ToggleAction; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.project.DumbAware; +import com.intellij.openapi.project.Project; +import com.intellij.psi.search.GlobalSearchScope; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -48,7 +50,11 @@ public abstract class CommandLineState implements RunProfileState { protected CommandLineState(ExecutionEnvironment environment) { myEnvironment = environment; - myConsoleBuilder = myEnvironment != null ? TextConsoleBuilderFactory.getInstance().createBuilder(myEnvironment.getProject()) : null; + if (myEnvironment != null) { + final Project project = myEnvironment.getProject(); + final GlobalSearchScope searchScope = SearchScopeProvider.createSearchScope(project, myEnvironment.getRunProfile()); + myConsoleBuilder = TextConsoleBuilderFactory.getInstance().createBuilder(project, searchScope); + } } public ExecutionEnvironment getEnvironment() { diff --git a/platform/lang-api/src/com/intellij/execution/configurations/SearchScopeProvider.java b/platform/lang-api/src/com/intellij/execution/configurations/SearchScopeProvider.java new file mode 100644 index 000000000000..ea6b158e0bc2 --- /dev/null +++ b/platform/lang-api/src/com/intellij/execution/configurations/SearchScopeProvider.java @@ -0,0 +1,46 @@ +/* + * Copyright 2000-2014 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.execution.configurations; + +import com.intellij.openapi.module.Module; +import com.intellij.openapi.project.Project; +import com.intellij.psi.search.GlobalSearchScope; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * @author Vojtech Krasa + */ +public class SearchScopeProvider { + @NotNull + public static GlobalSearchScope createSearchScope(@NotNull Project project, @Nullable RunProfile runProfile) { + Module[] modules = null; + if (runProfile instanceof ModuleRunProfile) { + modules = ((ModuleRunProfile)runProfile).getModules(); + } + if (modules == null || modules.length == 0) { + return GlobalSearchScope.allScope(project); + } + else { + GlobalSearchScope scope = GlobalSearchScope.moduleRuntimeScope(modules[0], true); + for (int idx = 1; idx < modules.length; idx++) { + Module module = modules[idx]; + scope = scope.uniteWith(GlobalSearchScope.moduleRuntimeScope(module, true)); + } + return scope; + } + } +} diff --git a/platform/lang-impl/src/com/intellij/execution/runners/RunContentBuilder.java b/platform/lang-impl/src/com/intellij/execution/runners/RunContentBuilder.java index 4dad34eb6a1b..0cc259a0ab45 100644 --- a/platform/lang-impl/src/com/intellij/execution/runners/RunContentBuilder.java +++ b/platform/lang-impl/src/com/intellij/execution/runners/RunContentBuilder.java @@ -18,10 +18,13 @@ package com.intellij.execution.runners; import com.intellij.diagnostic.logging.LogConsoleManagerBase; import com.intellij.diagnostic.logging.LogFilesManager; import com.intellij.diagnostic.logging.OutputFileUtil; -import com.intellij.execution.*; -import com.intellij.execution.configurations.ModuleRunProfile; +import com.intellij.execution.DefaultExecutionResult; +import com.intellij.execution.ExecutionManager; +import com.intellij.execution.ExecutionResult; +import com.intellij.execution.Executor; import com.intellij.execution.configurations.RunConfigurationBase; import com.intellij.execution.configurations.RunProfile; +import com.intellij.execution.configurations.SearchScopeProvider; import com.intellij.execution.impl.ConsoleViewImpl; import com.intellij.execution.process.ProcessHandler; import com.intellij.execution.ui.*; @@ -32,7 +35,6 @@ import com.intellij.ide.actions.ContextHelpAction; import com.intellij.openapi.Disposable; import com.intellij.openapi.actionSystem.*; import com.intellij.openapi.application.ApplicationManager; -import com.intellij.openapi.module.Module; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Disposer; import com.intellij.psi.search.GlobalSearchScope; @@ -74,7 +76,7 @@ public class RunContentBuilder extends LogConsoleManagerBase { public RunContentBuilder(ProgramRunner runner, ExecutionResult executionResult, @NotNull ExecutionEnvironment environment) { - super(environment.getProject(), createSearchScope(environment.getProject(), environment.getRunProfile())); + super(environment.getProject(), SearchScopeProvider.createSearchScope(environment.getProject(), environment.getRunProfile())); myRunner = runner; myExecutor = environment.getExecutor(); myManager = new LogFilesManager(environment.getProject(), this, this); @@ -92,23 +94,10 @@ public class RunContentBuilder extends LogConsoleManagerBase { myManager = new LogFilesManager(project, this, this); } + @Deprecated @NotNull public static GlobalSearchScope createSearchScope(Project project, RunProfile runProfile) { - Module[] modules = null; - if (runProfile instanceof ModuleRunProfile) { - modules = ((ModuleRunProfile)runProfile).getModules(); - } - if (modules == null || modules.length == 0) { - return GlobalSearchScope.allScope(project); - } - else { - GlobalSearchScope scope = GlobalSearchScope.moduleRuntimeScope(modules[0], true); - for (int idx = 1; idx < modules.length; idx++) { - Module module = modules[idx]; - scope = scope.uniteWith(GlobalSearchScope.moduleRuntimeScope(module, true)); - } - return scope; - } + return SearchScopeProvider.createSearchScope(project, runProfile); } public ExecutionResult getExecutionResult() { diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenConsoleImpl.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenConsoleImpl.java index 7773291096f9..a6379460a234 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenConsoleImpl.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenConsoleImpl.java @@ -15,7 +15,10 @@ */ package org.jetbrains.idea.maven.project; -import com.intellij.execution.filters.*; +import com.intellij.execution.filters.HyperlinkInfo; +import com.intellij.execution.filters.RegexpFilter; +import com.intellij.execution.filters.TextConsoleBuilder; +import com.intellij.execution.filters.TextConsoleBuilderFactory; import com.intellij.execution.process.ProcessAdapter; import com.intellij.execution.process.ProcessEvent; import com.intellij.execution.process.ProcessHandler; @@ -30,7 +33,6 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.wm.ToolWindow; import com.intellij.openapi.wm.ToolWindowId; import com.intellij.openapi.wm.ToolWindowManager; -import com.intellij.psi.search.GlobalSearchScope; import com.intellij.ui.content.Content; import com.intellij.ui.content.ContentFactory; import com.intellij.ui.content.MessageView; @@ -77,8 +79,6 @@ public class MavenConsoleImpl extends MavenConsole { public static TextConsoleBuilder createConsoleBuilder(final Project project) { TextConsoleBuilder builder = TextConsoleBuilderFactory.getInstance().createBuilder(project); - - builder.filters(ExceptionFilters.getFilters(GlobalSearchScope.allScope(project))); builder.addFilter(new RegexpFilter(project, CONSOLE_FILTER_REGEXP) { @Nullable @Override