mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
run configuration extensions: remove duplicates
This commit is contained in:
+47
@@ -0,0 +1,47 @@
|
||||
/*
|
||||
* Copyright 2000-2011 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;
|
||||
|
||||
import com.intellij.execution.configuration.RunConfigurationExtensionsManager;
|
||||
import com.intellij.execution.configurations.RunConfigurationBase;
|
||||
import com.intellij.execution.configurations.RuntimeConfigurationException;
|
||||
import com.intellij.openapi.components.ServiceManager;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
|
||||
/**
|
||||
* User: anna
|
||||
* Date: 10/4/11
|
||||
*/
|
||||
public class JavaRunConfigurationExtensionManager extends RunConfigurationExtensionsManager<RunConfigurationBase, RunConfigurationExtension> {
|
||||
private static final Logger LOG = Logger.getInstance("#" + RunConfigurationExtension.class.getName());
|
||||
|
||||
public JavaRunConfigurationExtensionManager() {
|
||||
super(RunConfigurationExtension.EP_NAME);
|
||||
}
|
||||
|
||||
public static JavaRunConfigurationExtensionManager getInstance() {
|
||||
return ServiceManager.getService(JavaRunConfigurationExtensionManager.class);
|
||||
}
|
||||
|
||||
public static void checkConfigurationIsValid(RunConfigurationBase configuration) throws RuntimeConfigurationException {
|
||||
try {
|
||||
getInstance().validateConfiguration(configuration, false);
|
||||
}
|
||||
catch (Exception e) {
|
||||
LOG.error(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -22,44 +22,50 @@
|
||||
*/
|
||||
package com.intellij.execution;
|
||||
|
||||
import com.intellij.execution.configurations.*;
|
||||
import com.intellij.execution.process.OSProcessHandler;
|
||||
import com.intellij.execution.configuration.AbstractRunConfiguration;
|
||||
import com.intellij.execution.configuration.RunConfigurationExtensionBase;
|
||||
import com.intellij.execution.configurations.GeneralCommandLine;
|
||||
import com.intellij.execution.configurations.JavaParameters;
|
||||
import com.intellij.execution.configurations.RunConfigurationBase;
|
||||
import com.intellij.execution.configurations.RunnerSettings;
|
||||
import com.intellij.openapi.extensions.ExtensionPointName;
|
||||
import com.intellij.openapi.extensions.Extensions;
|
||||
import com.intellij.openapi.options.SettingsEditor;
|
||||
import com.intellij.openapi.options.SettingsEditorGroup;
|
||||
import com.intellij.openapi.util.InvalidDataException;
|
||||
import com.intellij.openapi.util.Key;
|
||||
import com.intellij.openapi.util.WriteExternalException;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.refactoring.listeners.RefactoringElementListener;
|
||||
import com.intellij.ui.LayeredIcon;
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.TreeMap;
|
||||
|
||||
public abstract class RunConfigurationExtension {
|
||||
public abstract class RunConfigurationExtension extends RunConfigurationExtensionBase<RunConfigurationBase>{
|
||||
public static final ExtensionPointName<RunConfigurationExtension> EP_NAME = new ExtensionPointName<RunConfigurationExtension>("com.intellij.runConfigurationExtension");
|
||||
public static final Key<List> RUN_EXTENSIONS = Key.create("run.extension.elemnts");
|
||||
public abstract void handleStartProcess(final RunConfigurationBase configuration,
|
||||
final OSProcessHandler handler,
|
||||
RunnerSettings runnerSettings);
|
||||
@Nullable
|
||||
public abstract SettingsEditor createEditor(RunConfigurationBase configuration);
|
||||
public abstract String getEditorTitle();
|
||||
public abstract String getName();
|
||||
|
||||
|
||||
public abstract <T extends RunConfigurationBase > void updateJavaParameters(final T configuration, final JavaParameters params, RunnerSettings runnerSettings);
|
||||
|
||||
protected abstract void readExternal(RunConfigurationBase runConfiguration, Element element) throws InvalidDataException;
|
||||
protected abstract void writeExternal(RunConfigurationBase runConfiguration, Element element) throws WriteExternalException;
|
||||
public abstract void patchConfiguration(RunConfigurationBase runJavaConfiguration);
|
||||
public abstract void checkConfiguration(RunConfigurationBase runJavaConfiguration) throws RuntimeConfigurationException;
|
||||
|
||||
@Override
|
||||
protected void patchCommandLine(@NotNull RunConfigurationBase configuration,
|
||||
RunnerSettings runnerSettings,
|
||||
@NotNull GeneralCommandLine cmdLine,
|
||||
@NotNull AbstractRunConfiguration.RunnerType type) {}
|
||||
|
||||
@Override
|
||||
protected boolean isEnabledFor(@NotNull RunConfigurationBase applicableConfiguration, @Nullable RunnerSettings runnerSettings) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void extendTemplateConfiguration(@NotNull RunConfigurationBase configuration) {
|
||||
}
|
||||
|
||||
public void cleanUserData(RunConfigurationBase runConfigurationBase) {}
|
||||
|
||||
@@ -84,22 +90,12 @@ public abstract class RunConfigurationExtension {
|
||||
return listener;
|
||||
}
|
||||
|
||||
public static void appendEditors(RunConfigurationBase configuration, SettingsEditorGroup group) {
|
||||
for (RunConfigurationExtension extension : Extensions.getExtensions(EP_NAME)) {
|
||||
final SettingsEditor editor = extension.createEditor(configuration);
|
||||
if (editor != null) {
|
||||
group.addEditor(extension.getEditorTitle(), editor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static void readSettings(RunConfigurationBase runConfiguration, Element parentNode) throws InvalidDataException {
|
||||
final List children = parentNode.getChildren("extension");
|
||||
final Map<String, RunConfigurationExtension> extensions = new HashMap<String, RunConfigurationExtension>();
|
||||
for (RunConfigurationExtension extension : Extensions.getExtensions(EP_NAME)) {
|
||||
extensions.put(extension.getName(), extension);
|
||||
extensions.put(extension.getSerializationId(), extension);
|
||||
}
|
||||
for (Object o : children) {
|
||||
final Element element = (Element)o;
|
||||
@@ -128,15 +124,15 @@ public abstract class RunConfigurationExtension {
|
||||
|
||||
for (RunConfigurationExtension extension : Extensions.getExtensions(EP_NAME)) {
|
||||
Element el = new Element("extension");
|
||||
el.setAttribute("name", extension.getName());
|
||||
el.setAttribute("name", extension.getSerializationId());
|
||||
try {
|
||||
extension.writeExternal(runConfiguration, el);
|
||||
}
|
||||
catch (WriteExternalException e) {
|
||||
map.remove(extension.getName());
|
||||
map.remove(extension.getSerializationId());
|
||||
continue;
|
||||
}
|
||||
map.put(extension.getName(), el);
|
||||
map.put(extension.getSerializationId(), el);
|
||||
}
|
||||
|
||||
for (Element val : map.values()) {
|
||||
@@ -145,18 +141,6 @@ public abstract class RunConfigurationExtension {
|
||||
}
|
||||
|
||||
|
||||
public static void patchCreatedConfiguration(RunConfigurationBase configuration) {
|
||||
for (RunConfigurationExtension extension : Extensions.getExtensions(EP_NAME)) {
|
||||
extension.patchConfiguration(configuration);
|
||||
}
|
||||
}
|
||||
|
||||
public static void checkConfigurationIsValid(RunConfigurationBase configuration) throws RuntimeConfigurationException {
|
||||
for (RunConfigurationExtension extension : Extensions.getExtensions(EP_NAME)) {
|
||||
extension.checkConfiguration(configuration);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isListenerDisabled(RunConfigurationBase configuration, Object listener) {
|
||||
return false;
|
||||
}
|
||||
|
||||
+3
-6
@@ -84,7 +84,7 @@ public class ApplicationConfiguration extends ModuleBasedConfiguration<JavaRunCo
|
||||
public SettingsEditor<? extends RunConfiguration> getConfigurationEditor() {
|
||||
SettingsEditorGroup<ApplicationConfiguration> group = new SettingsEditorGroup<ApplicationConfiguration>();
|
||||
group.addEditor(ExecutionBundle.message("run.configuration.configuration.tab.title"), new ApplicationConfigurable(getProject()));
|
||||
RunConfigurationExtension.appendEditors(this, group);
|
||||
JavaRunConfigurationExtensionManager.getInstance().appendEditors(this, group);
|
||||
group.addEditor(ExecutionBundle.message("logs.tab.title"), new LogConfigurationPanel<ApplicationConfiguration>());
|
||||
return group;
|
||||
}
|
||||
@@ -147,7 +147,7 @@ public class ApplicationConfiguration extends ModuleBasedConfiguration<JavaRunCo
|
||||
throw new RuntimeConfigurationWarning(ExecutionBundle.message("main.method.not.found.in.class.error.message", MAIN_CLASS_NAME));
|
||||
}
|
||||
|
||||
RunConfigurationExtension.checkConfigurationIsValid(this);
|
||||
JavaRunConfigurationExtensionManager.checkConfigurationIsValid(this);
|
||||
}
|
||||
|
||||
public void setVMParameters(String value) {
|
||||
@@ -267,10 +267,7 @@ public class ApplicationConfiguration extends ModuleBasedConfiguration<JavaRunCo
|
||||
protected OSProcessHandler startProcess() throws ExecutionException {
|
||||
final OSProcessHandler handler = super.startProcess();
|
||||
RunnerSettings runnerSettings = getRunnerSettings();
|
||||
for(RunConfigurationExtension ext: Extensions.getExtensions(RunConfigurationExtension.EP_NAME)) {
|
||||
ext.handleStartProcess(ApplicationConfiguration.this, handler, runnerSettings);
|
||||
}
|
||||
|
||||
JavaRunConfigurationExtensionManager.getInstance().attachExtensionsToProcess(ApplicationConfiguration.this, handler, runnerSettings);
|
||||
return handler;
|
||||
}
|
||||
}
|
||||
|
||||
+4
-4
@@ -54,24 +54,24 @@ public class ApplicationConfigurationProducer extends JavaRuntimeConfigurationPr
|
||||
final PsiClass aClass = method.getContainingClass();
|
||||
if (ConfigurationUtil.MAIN_CLASS.value(aClass)) {
|
||||
myPsiElement = method;
|
||||
return createConfiguration(aClass, context);
|
||||
return createConfiguration(aClass, context, location);
|
||||
}
|
||||
currentElement = method.getParent();
|
||||
}
|
||||
final PsiClass aClass = ApplicationConfigurationType.getMainClass(element);
|
||||
if (aClass == null) return null;
|
||||
myPsiElement = aClass;
|
||||
return createConfiguration(aClass, context);
|
||||
return createConfiguration(aClass, context, location);
|
||||
}
|
||||
|
||||
private RunnerAndConfigurationSettings createConfiguration(final PsiClass aClass, final ConfigurationContext context) {
|
||||
private RunnerAndConfigurationSettings createConfiguration(final PsiClass aClass, final ConfigurationContext context, Location location) {
|
||||
final Project project = aClass.getProject();
|
||||
RunnerAndConfigurationSettings settings = cloneTemplateConfiguration(project, context);
|
||||
final ApplicationConfiguration configuration = (ApplicationConfiguration)settings.getConfiguration();
|
||||
configuration.MAIN_CLASS_NAME = JavaExecutionUtil.getRuntimeQualifiedName(aClass);
|
||||
configuration.setName(configuration.getGeneratedName());
|
||||
setupConfigurationModule(context, configuration);
|
||||
RunConfigurationExtension.patchCreatedConfiguration(configuration);
|
||||
JavaRunConfigurationExtensionManager.getInstance().extendCreatedConfiguration(configuration, location);
|
||||
return settings;
|
||||
}
|
||||
|
||||
|
||||
+2
-3
@@ -17,6 +17,7 @@ package com.intellij.execution.configuration;
|
||||
|
||||
import com.intellij.execution.Location;
|
||||
import com.intellij.execution.configurations.GeneralCommandLine;
|
||||
import com.intellij.execution.configurations.RunConfigurationBase;
|
||||
import com.intellij.execution.configurations.RunnerSettings;
|
||||
import com.intellij.execution.process.ProcessHandler;
|
||||
import com.intellij.openapi.options.SettingsEditor;
|
||||
@@ -26,12 +27,10 @@ import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
/**
|
||||
* @author traff
|
||||
*/
|
||||
public abstract class RunConfigurationExtension<T extends AbstractRunConfiguration> {
|
||||
public abstract class RunConfigurationExtensionBase<T extends RunConfigurationBase> {
|
||||
@NotNull
|
||||
protected abstract String getSerializationId();
|
||||
|
||||
+2
-1
@@ -3,6 +3,7 @@ package com.intellij.execution.configuration;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.intellij.execution.Location;
|
||||
import com.intellij.execution.configurations.GeneralCommandLine;
|
||||
import com.intellij.execution.configurations.RunConfigurationBase;
|
||||
import com.intellij.execution.configurations.RunnerSettings;
|
||||
import com.intellij.execution.process.ProcessHandler;
|
||||
import com.intellij.openapi.extensions.ExtensionPointName;
|
||||
@@ -24,7 +25,7 @@ import java.util.TreeMap;
|
||||
/**
|
||||
* @author traff
|
||||
*/
|
||||
public class RunConfigurationExtensionsManager<U extends AbstractRunConfiguration, T extends RunConfigurationExtension<U>> {
|
||||
public class RunConfigurationExtensionsManager<U extends RunConfigurationBase, T extends RunConfigurationExtensionBase<U>> {
|
||||
public static final Key<List<Element>> RUN_EXTENSIONS = Key.create("run.extension.elements");
|
||||
private static final String EXT_ID_ATTR = "ID";
|
||||
private static final String EXTENSION_ROOT_ATTR = "EXTENSION";
|
||||
|
||||
@@ -697,5 +697,5 @@
|
||||
|
||||
<editorTabTitleProvider implementation="com.intellij.openapi.fileEditor.impl.UniqueNameEditorTabTitleProvider"/>
|
||||
<fileDocumentManagerListener implementation="com.intellij.openapi.fileEditor.impl.TrailingSpacesStripper"/>
|
||||
|
||||
<applicationService serviceImplementation="com.intellij.execution.JavaRunConfigurationExtensionManager"/>
|
||||
</extensions>
|
||||
|
||||
@@ -273,10 +273,7 @@ public abstract class MvcRunConfiguration extends ModuleBasedConfiguration<RunCo
|
||||
protected OSProcessHandler startProcess() throws ExecutionException {
|
||||
final OSProcessHandler handler = super.startProcess();
|
||||
final RunnerSettings runnerSettings = getRunnerSettings();
|
||||
for(RunConfigurationExtension ext: Extensions.getExtensions(RunConfigurationExtension.EP_NAME)) {
|
||||
ext.handleStartProcess(MvcRunConfiguration.this, handler, runnerSettings);
|
||||
}
|
||||
|
||||
JavaRunConfigurationExtensionManager.getInstance().attachExtensionsToProcess(MvcRunConfiguration.this, handler, runnerSettings);
|
||||
return handler;
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -16,8 +16,8 @@
|
||||
|
||||
package com.intellij.execution.junit;
|
||||
|
||||
import com.intellij.execution.JavaRunConfigurationExtensionManager;
|
||||
import com.intellij.execution.Location;
|
||||
import com.intellij.execution.RunConfigurationExtension;
|
||||
import com.intellij.execution.RunnerAndConfigurationSettings;
|
||||
import com.intellij.execution.actions.ConfigurationContext;
|
||||
import com.intellij.openapi.module.Module;
|
||||
@@ -57,7 +57,7 @@ public class AllInPackageConfigurationProducer extends JUnitConfigurationProduce
|
||||
data.TEST_OBJECT = JUnitConfiguration.TEST_PACKAGE;
|
||||
data.setScope(setupPackageConfiguration(context, project, configuration, data.getScope()));
|
||||
configuration.setGeneratedName();
|
||||
RunConfigurationExtension.patchCreatedConfiguration(configuration);
|
||||
JavaRunConfigurationExtensionManager.getInstance().extendCreatedConfiguration(configuration, location);
|
||||
return settings;
|
||||
}
|
||||
|
||||
|
||||
@@ -85,7 +85,7 @@ public class JUnitConfiguration extends ModuleBasedConfiguration<JavaRunConfigur
|
||||
public SettingsEditor<? extends RunConfiguration> getConfigurationEditor() {
|
||||
SettingsEditorGroup<JUnitConfiguration> group = new SettingsEditorGroup<JUnitConfiguration>();
|
||||
group.addEditor(ExecutionBundle.message("run.configuration.configuration.tab.title"), new JUnitConfigurable(getProject()));
|
||||
RunConfigurationExtension.appendEditors(this, group);
|
||||
JavaRunConfigurationExtensionManager.getInstance().appendEditors(this, group);
|
||||
group.addEditor(ExecutionBundle.message("logs.tab.title"), new LogConfigurationPanel<JUnitConfiguration>());
|
||||
return group;
|
||||
}
|
||||
@@ -105,7 +105,7 @@ public class JUnitConfiguration extends ModuleBasedConfiguration<JavaRunConfigur
|
||||
|
||||
public void checkConfiguration() throws RuntimeConfigurationException {
|
||||
myData.getTestObject(getProject(), this).checkConfiguration();
|
||||
RunConfigurationExtension.checkConfigurationIsValid(this);
|
||||
JavaRunConfigurationExtensionManager.checkConfigurationIsValid(this);
|
||||
}
|
||||
|
||||
public Collection<Module> getValidModules() {
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
|
||||
package com.intellij.execution.junit;
|
||||
|
||||
import com.intellij.execution.JavaRunConfigurationExtensionManager;
|
||||
import com.intellij.execution.Location;
|
||||
import com.intellij.execution.RunConfigurationExtension;
|
||||
import com.intellij.execution.RunnerAndConfigurationSettings;
|
||||
import com.intellij.execution.actions.ConfigurationContext;
|
||||
import com.intellij.openapi.actionSystem.DataContext;
|
||||
@@ -47,7 +47,7 @@ public class PatternConfigurationProducer extends JUnitConfigurationProducer {
|
||||
data.TEST_OBJECT = JUnitConfiguration.TEST_PATTERN;
|
||||
data.setScope(setupPackageConfiguration(context, project, configuration, data.getScope()));
|
||||
configuration.setGeneratedName();
|
||||
RunConfigurationExtension.patchCreatedConfiguration(configuration);
|
||||
JavaRunConfigurationExtensionManager.getInstance().extendCreatedConfiguration(configuration, location);
|
||||
return settings;
|
||||
}
|
||||
|
||||
|
||||
@@ -16,10 +16,7 @@
|
||||
|
||||
package com.intellij.execution.junit;
|
||||
|
||||
import com.intellij.execution.JavaExecutionUtil;
|
||||
import com.intellij.execution.Location;
|
||||
import com.intellij.execution.RunConfigurationExtension;
|
||||
import com.intellij.execution.RunnerAndConfigurationSettings;
|
||||
import com.intellij.execution.*;
|
||||
import com.intellij.execution.actions.ConfigurationContext;
|
||||
import com.intellij.openapi.actionSystem.LangDataKeys;
|
||||
import com.intellij.openapi.module.Module;
|
||||
@@ -47,7 +44,7 @@ public class TestClassConfigurationProducer extends JUnitConfigurationProducer {
|
||||
final Module originalModule = configuration.getConfigurationModule().getModule();
|
||||
configuration.beClassConfiguration(myTestClass);
|
||||
configuration.restoreOriginalModule(originalModule);
|
||||
RunConfigurationExtension.patchCreatedConfiguration(configuration);
|
||||
JavaRunConfigurationExtensionManager.getInstance().extendCreatedConfiguration(configuration, location);
|
||||
return settings;
|
||||
}
|
||||
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
|
||||
package com.intellij.execution.junit;
|
||||
|
||||
import com.intellij.execution.JavaRunConfigurationExtensionManager;
|
||||
import com.intellij.execution.Location;
|
||||
import com.intellij.execution.RunConfigurationExtension;
|
||||
import com.intellij.execution.RunnerAndConfigurationSettings;
|
||||
import com.intellij.execution.actions.ConfigurationContext;
|
||||
import com.intellij.openapi.module.Module;
|
||||
@@ -41,7 +41,7 @@ public class TestMethodConfigurationProducer extends JUnitConfigurationProducer
|
||||
final Module originalModule = configuration.getConfigurationModule().getModule();
|
||||
configuration.beMethodConfiguration(myMethodLocation);
|
||||
configuration.restoreOriginalModule(originalModule);
|
||||
RunConfigurationExtension.patchCreatedConfiguration(configuration);
|
||||
JavaRunConfigurationExtensionManager.getInstance().extendCreatedConfiguration(configuration, location);
|
||||
return settings;
|
||||
}
|
||||
|
||||
|
||||
@@ -255,9 +255,7 @@ public abstract class TestObject implements JavaCommandLine {
|
||||
public ExecutionResult execute(final Executor executor, @NotNull final ProgramRunner runner) throws ExecutionException {
|
||||
final JUnitProcessHandler handler = createHandler();
|
||||
final RunnerSettings runnerSettings = getRunnerSettings();
|
||||
for(final RunConfigurationExtension ext: Extensions.getExtensions(RunConfigurationExtension.EP_NAME)) {
|
||||
ext.handleStartProcess(myConfiguration, handler, runnerSettings);
|
||||
}
|
||||
JavaRunConfigurationExtensionManager.getInstance().attachExtensionsToProcess(myConfiguration, handler, runnerSettings);
|
||||
final TestProxy unboundOutputRoot = new TestProxy(new RootTestInfo());
|
||||
final JUnitConsoleProperties consoleProperties = new JUnitConsoleProperties(myConfiguration, executor);
|
||||
final JUnitTreeConsoleView consoleView = new JUnitTreeConsoleView(consoleProperties, runnerSettings, getConfigurationSettings(), unboundOutputRoot);
|
||||
|
||||
+2
-3
@@ -29,7 +29,6 @@ import com.intellij.execution.configurations.*;
|
||||
import com.intellij.execution.junit.RefactoringListeners;
|
||||
import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
import com.intellij.execution.testframework.SourceScope;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.components.PathMacroManager;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.options.SettingsEditor;
|
||||
@@ -265,7 +264,7 @@ public class TestNGConfiguration extends ModuleBasedConfiguration<JavaRunConfigu
|
||||
public SettingsEditor<? extends RunConfiguration> getConfigurationEditor() {
|
||||
SettingsEditorGroup<TestNGConfiguration> group = new SettingsEditorGroup<TestNGConfiguration>();
|
||||
group.addEditor(ExecutionBundle.message("run.configuration.configuration.tab.title"), new TestNGConfigurationEditor(getProject()));
|
||||
RunConfigurationExtension.appendEditors(this, group);
|
||||
JavaRunConfigurationExtensionManager.getInstance().appendEditors(this, group);
|
||||
group.addEditor(ExecutionBundle.message("logs.tab.title"), new LogConfigurationPanel<TestNGConfiguration>());
|
||||
return group;
|
||||
}
|
||||
@@ -307,7 +306,7 @@ public class TestNGConfiguration extends ModuleBasedConfiguration<JavaRunConfigu
|
||||
throw new RuntimeConfigurationException("Unable to parse '" + data.getSuiteName() + "' specified");
|
||||
}
|
||||
}
|
||||
RunConfigurationExtension.checkConfigurationIsValid(this);
|
||||
JavaRunConfigurationExtensionManager.checkConfigurationIsValid(this);
|
||||
//TODO add various checks here
|
||||
}
|
||||
|
||||
|
||||
+2
-5
@@ -20,10 +20,7 @@
|
||||
*/
|
||||
package com.theoryinpractice.testng.configuration;
|
||||
|
||||
import com.intellij.execution.Location;
|
||||
import com.intellij.execution.PsiLocation;
|
||||
import com.intellij.execution.RunConfigurationExtension;
|
||||
import com.intellij.execution.RunnerAndConfigurationSettings;
|
||||
import com.intellij.execution.*;
|
||||
import com.intellij.execution.actions.ConfigurationContext;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -80,7 +77,7 @@ public class TestNGInClassConfigurationProducer extends TestNGConfigurationProdu
|
||||
|
||||
configuration.restoreOriginalModule(originalModule);
|
||||
settings.setName(configuration.getName());
|
||||
RunConfigurationExtension.patchCreatedConfiguration(configuration);
|
||||
JavaRunConfigurationExtensionManager.getInstance().extendCreatedConfiguration(configuration, location);
|
||||
return settings;
|
||||
}
|
||||
|
||||
|
||||
+2
-3
@@ -15,11 +15,10 @@
|
||||
*/
|
||||
package com.theoryinpractice.testng.configuration;
|
||||
|
||||
import com.intellij.execution.JavaRunConfigurationExtensionManager;
|
||||
import com.intellij.execution.Location;
|
||||
import com.intellij.execution.RunConfigurationExtension;
|
||||
import com.intellij.execution.RunnerAndConfigurationSettings;
|
||||
import com.intellij.execution.actions.ConfigurationContext;
|
||||
import com.intellij.execution.junit.JUnitUtil;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleUtil;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -59,7 +58,7 @@ public class TestNGPackageConfigurationProducer extends TestNGConfigurationProdu
|
||||
data.TEST_OBJECT = TestType.PACKAGE.getType();
|
||||
data.setScope(setupPackageConfiguration(context, project, configuration, data.getScope()));
|
||||
configuration.setGeneratedName();
|
||||
RunConfigurationExtension.patchCreatedConfiguration(configuration);
|
||||
JavaRunConfigurationExtensionManager.getInstance().extendCreatedConfiguration(configuration, location);
|
||||
return settings;
|
||||
}
|
||||
|
||||
|
||||
+1
-3
@@ -131,9 +131,7 @@ public class TestNGRunnableState extends JavaCommandLineState {
|
||||
console.initUI();
|
||||
unboundOutputRoot.setPrinter(console.getPrinter());
|
||||
Disposer.register(console, unboundOutputRoot);
|
||||
for (RunConfigurationExtension ext : Extensions.getExtensions(RunConfigurationExtension.EP_NAME)) {
|
||||
ext.handleStartProcess(config, processHandler, runnerSettings);
|
||||
}
|
||||
JavaRunConfigurationExtensionManager.getInstance().attachExtensionsToProcess(config, processHandler, runnerSettings);
|
||||
final SearchingForTestsTask task = createSearchingForTestsTask(myServerSocket, config, myTempFile);
|
||||
processHandler.addProcessListener(new ProcessAdapter() {
|
||||
@Override
|
||||
|
||||
+2
-2
@@ -20,9 +20,9 @@
|
||||
*/
|
||||
package com.theoryinpractice.testng.configuration;
|
||||
|
||||
import com.intellij.execution.JavaRunConfigurationExtensionManager;
|
||||
import com.intellij.execution.Location;
|
||||
import com.intellij.execution.RunnerAndConfigurationSettings;
|
||||
import com.intellij.execution.RunConfigurationExtension;
|
||||
import com.intellij.execution.actions.ConfigurationContext;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -60,7 +60,7 @@ public class TestNGSuiteConfigurationProducer extends TestNGConfigurationProduce
|
||||
configuration.restoreOriginalModule(originalModule);
|
||||
configuration.setGeneratedName();
|
||||
settings.setName(configuration.getName());
|
||||
RunConfigurationExtension.patchCreatedConfiguration(configuration);
|
||||
JavaRunConfigurationExtensionManager.getInstance().extendCreatedConfiguration(configuration, location);
|
||||
return settings;
|
||||
}
|
||||
|
||||
|
||||
+12
-7
@@ -16,15 +16,16 @@
|
||||
|
||||
package com.intellij.uiDesigner.snapShooter;
|
||||
|
||||
import com.intellij.execution.Location;
|
||||
import com.intellij.execution.RunConfigurationExtension;
|
||||
import com.intellij.execution.application.ApplicationConfiguration;
|
||||
import com.intellij.execution.configurations.JavaParameters;
|
||||
import com.intellij.execution.configurations.RunConfigurationBase;
|
||||
import com.intellij.execution.configurations.RunnerSettings;
|
||||
import com.intellij.execution.configurations.RuntimeConfigurationException;
|
||||
import com.intellij.execution.process.OSProcessHandler;
|
||||
import com.intellij.execution.process.ProcessAdapter;
|
||||
import com.intellij.execution.process.ProcessEvent;
|
||||
import com.intellij.execution.process.ProcessHandler;
|
||||
import com.intellij.ide.ui.LafManagerListener;
|
||||
import com.intellij.openapi.actionSystem.DataProvider;
|
||||
import com.intellij.openapi.components.BaseComponent;
|
||||
@@ -44,6 +45,7 @@ import com.jgoodies.forms.layout.FormLayout;
|
||||
import gnu.trove.THashMap;
|
||||
import org.jdom.Document;
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Set;
|
||||
@@ -55,7 +57,7 @@ import java.util.TreeSet;
|
||||
public class SnapShooterConfigurationExtension extends RunConfigurationExtension {
|
||||
@Override
|
||||
public void updateJavaParameters(RunConfigurationBase configuration, JavaParameters params, RunnerSettings runnerSettings) {
|
||||
if (!(configuration instanceof ApplicationConfiguration)) {
|
||||
if (!isApplicableFor(configuration)) {
|
||||
return;
|
||||
}
|
||||
ApplicationConfiguration appConfiguration = (ApplicationConfiguration) configuration;
|
||||
@@ -100,7 +102,11 @@ public class SnapShooterConfigurationExtension extends RunConfigurationExtension
|
||||
}
|
||||
}
|
||||
|
||||
public void handleStartProcess(final RunConfigurationBase configuration, final OSProcessHandler handler, RunnerSettings runnerSettings) {
|
||||
protected boolean isApplicableFor(@NotNull RunConfigurationBase configuration) {
|
||||
return configuration instanceof ApplicationConfiguration;
|
||||
}
|
||||
|
||||
public void attachToProcess(final RunConfigurationBase configuration, final ProcessHandler handler, RunnerSettings runnerSettings) {
|
||||
SnapShooterConfigurationSettings settings = configuration.getUserData(SnapShooterConfigurationSettings.SNAP_SHOOTER_KEY);
|
||||
if (settings != null) {
|
||||
final Runnable runnable = settings.getNotifyRunnable();
|
||||
@@ -126,13 +132,12 @@ public class SnapShooterConfigurationExtension extends RunConfigurationExtension
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
public String getSerializationId() {
|
||||
return "snapshooter";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readExternal(RunConfigurationBase runConfiguration, Element element) throws InvalidDataException {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -141,11 +146,11 @@ public class SnapShooterConfigurationExtension extends RunConfigurationExtension
|
||||
}
|
||||
|
||||
@Override
|
||||
public void patchConfiguration(RunConfigurationBase runJavaConfiguration) {
|
||||
public void extendCreatedConfiguration(RunConfigurationBase runJavaConfiguration, Location location) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void checkConfiguration(RunConfigurationBase runJavaConfiguration)
|
||||
public void validateConfiguration(RunConfigurationBase runJavaConfiguration, boolean isExecution)
|
||||
throws RuntimeConfigurationException {
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user