mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-104484 Console ExceptionFilters are added twice for debugging java app
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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() {
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user