mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
migrate ApplicationConfiguration to BaseState — sync old fields
This commit is contained in:
+1
-1
@@ -7,7 +7,7 @@ import com.intellij.execution.configurations.ConfigurationWithAlternativeJre;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public interface CommonJavaRunConfigurationParameters extends CommonProgramRunConfigurationParameters, ConfigurationWithAlternativeJre {
|
||||
void setVMParameters(String value);
|
||||
void setVMParameters(@Nullable String value);
|
||||
|
||||
String getVMParameters();
|
||||
|
||||
|
||||
+1
-1
@@ -79,7 +79,7 @@ public abstract class AbstractApplicationConfigurationProducer<T extends Applica
|
||||
public boolean isConfigurationFromContext(T appConfiguration, ConfigurationContext context) {
|
||||
final PsiElement location = context.getPsiLocation();
|
||||
final PsiClass aClass = ApplicationConfigurationType.getMainClass(location);
|
||||
if (aClass != null && Comparing.equal(JavaExecutionUtil.getRuntimeQualifiedName(aClass), appConfiguration.getOptions().getMainClassName())) {
|
||||
if (aClass != null && Comparing.equal(JavaExecutionUtil.getRuntimeQualifiedName(aClass), appConfiguration.getMainClassName())) {
|
||||
final PsiMethod method = PsiTreeUtil.getParentOfType(location, PsiMethod.class, false);
|
||||
if (method != null && TestFrameworks.getInstance().isTestMethod(method)) {
|
||||
return false;
|
||||
|
||||
+4
-5
@@ -71,7 +71,7 @@ public class ApplicationConfigurable extends SettingsEditor<ApplicationConfigura
|
||||
configuration.setMainClassName(aClass != null ? JavaExecutionUtil.getRuntimeQualifiedName(aClass) : className);
|
||||
configuration.setAlternativeJrePath(myJrePathEditor.getJrePathOrName());
|
||||
configuration.setAlternativeJrePathEnabled(myJrePathEditor.isAlternativeJreSelected());
|
||||
configuration.getOptions().setSwingInspectorEnabled((myVersionDetector.isJre50Configured(configuration) || myVersionDetector.isModuleJre50Configured(configuration)) && myShowSwingInspectorCheckbox.isSelected());
|
||||
configuration.setSwingInspectorEnabled((myVersionDetector.isJre50Configured(configuration) || myVersionDetector.isModuleJre50Configured(configuration)) && myShowSwingInspectorCheckbox.isSelected());
|
||||
configuration.setShortenCommandLine((ShortenCommandLine)myShortenClasspathModeCombo.getComponent().getSelectedItem());
|
||||
configuration.setIncludeProvidedScope(myIncludeProvidedDeps.getComponent().isSelected());
|
||||
|
||||
@@ -82,9 +82,8 @@ public class ApplicationConfigurable extends SettingsEditor<ApplicationConfigura
|
||||
myCommonProgramParameters.reset(configuration);
|
||||
myModuleSelector.reset(configuration);
|
||||
|
||||
ApplicationConfigurationOptions options = configuration.getOptions();
|
||||
getMainClassField().setText(options.getMainClassName() != null ? options.getMainClassName().replaceAll("\\$", "\\.") : "");
|
||||
myJrePathEditor.setPathOrName(options.getAlternativeJrePath(), options.isAlternativeJrePathEnabled());
|
||||
getMainClassField().setText(configuration.getMainClassName() != null ? configuration.getMainClassName().replaceAll("\\$", "\\.") : "");
|
||||
myJrePathEditor.setPathOrName(configuration.getAlternativeJrePath(), configuration.isAlternativeJrePathEnabled());
|
||||
myShortenClasspathModeCombo.getComponent().setSelectedItem(configuration.getShortenCommandLine());
|
||||
myIncludeProvidedDeps.getComponent().setSelected(configuration.isProvidedScopeIncluded());
|
||||
|
||||
@@ -94,7 +93,7 @@ public class ApplicationConfigurable extends SettingsEditor<ApplicationConfigura
|
||||
private void updateShowSwingInspector(final ApplicationConfiguration configuration) {
|
||||
if (myVersionDetector.isJre50Configured(configuration) || myVersionDetector.isModuleJre50Configured(configuration)) {
|
||||
myShowSwingInspectorCheckbox.setEnabled(true);
|
||||
myShowSwingInspectorCheckbox.setSelected(configuration.getOptions().isSwingInspectorEnabled());
|
||||
myShowSwingInspectorCheckbox.setSelected(configuration.isSwingInspectorEnabled());
|
||||
myShowSwingInspectorCheckbox.setText(ExecutionBundle.message("show.swing.inspector"));
|
||||
}
|
||||
else {
|
||||
|
||||
+47
-24
@@ -62,8 +62,11 @@ public class ApplicationConfiguration extends ModuleBasedConfiguration<JavaRunCo
|
||||
super(name, new JavaRunConfigurationModule(project, true), factory);
|
||||
}
|
||||
|
||||
/**
|
||||
* Because we have to keep backward compatibility, never use `getOptions()` to get or set values - use only designated getters/setters.
|
||||
*/
|
||||
@Override
|
||||
public ApplicationConfigurationOptions getOptions() {
|
||||
protected ApplicationConfigurationOptions getOptions() {
|
||||
return (ApplicationConfigurationOptions)super.getOptions();
|
||||
}
|
||||
|
||||
@@ -73,7 +76,7 @@ public class ApplicationConfiguration extends ModuleBasedConfiguration<JavaRunCo
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setMainClass(final PsiClass psiClass) {
|
||||
public void setMainClass(@NotNull PsiClass psiClass) {
|
||||
final Module originalModule = getConfigurationModule().getModule();
|
||||
setMainClassName(JavaExecutionUtil.getRuntimeQualifiedName(psiClass));
|
||||
setModule(JavaExecutionUtil.findModule(psiClass));
|
||||
@@ -113,7 +116,8 @@ public class ApplicationConfiguration extends ModuleBasedConfiguration<JavaRunCo
|
||||
|
||||
@Nullable
|
||||
public String getMainClassName() {
|
||||
return getOptions().getMainClassName();
|
||||
//noinspection deprecation
|
||||
return MAIN_CLASS_NAME;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -130,30 +134,30 @@ public class ApplicationConfiguration extends ModuleBasedConfiguration<JavaRunCo
|
||||
if (getMainClassName() == null) {
|
||||
return null;
|
||||
}
|
||||
return ProgramRunnerUtil.shortenName(JavaExecutionUtil.getShortClassName(getOptions().getMainClassName()), 6) + ".main()";
|
||||
return ProgramRunnerUtil.shortenName(JavaExecutionUtil.getShortClassName(getMainClassName()), 6) + ".main()";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setMainClassName(@Nullable String qualifiedName) {
|
||||
getOptions().setMainClassName(qualifiedName);
|
||||
//noinspection deprecation
|
||||
MAIN_CLASS_NAME = qualifiedName;
|
||||
getOptions().setMainClassName(qualifiedName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void checkConfiguration() throws RuntimeConfigurationException {
|
||||
JavaParametersUtil.checkAlternativeJRE(this);
|
||||
final JavaRunConfigurationModule configurationModule = getConfigurationModule();
|
||||
final PsiClass psiClass = configurationModule.checkModuleAndClassName(getOptions().getMainClassName(), ExecutionBundle.message("no.main.class.specified.error.text"));
|
||||
final PsiClass psiClass = configurationModule.checkModuleAndClassName(getMainClassName(), ExecutionBundle.message("no.main.class.specified.error.text"));
|
||||
if (!PsiMethodUtil.hasMainMethod(psiClass)) {
|
||||
throw new RuntimeConfigurationWarning(ExecutionBundle.message("main.method.not.found.in.class.error.message", getOptions().getMainClassName()));
|
||||
throw new RuntimeConfigurationWarning(ExecutionBundle.message("main.method.not.found.in.class.error.message", getMainClassName()));
|
||||
}
|
||||
ProgramParametersUtil.checkWorkingDirectoryExist(this, getProject(), configurationModule.getModule());
|
||||
JavaRunConfigurationExtensionManager.checkConfigurationIsValid(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVMParameters(String value) {
|
||||
public void setVMParameters(@Nullable String value) {
|
||||
getOptions().setVmParameters(value);
|
||||
}
|
||||
|
||||
@@ -163,23 +167,30 @@ public class ApplicationConfiguration extends ModuleBasedConfiguration<JavaRunCo
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setProgramParameters(String value) {
|
||||
public void setProgramParameters(@Nullable String value) {
|
||||
//noinspection deprecation
|
||||
PROGRAM_PARAMETERS = value;
|
||||
getOptions().setProgramParameters(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getProgramParameters() {
|
||||
return getOptions().getProgramParameters();
|
||||
//noinspection deprecation
|
||||
return PROGRAM_PARAMETERS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setWorkingDirectory(String value) {
|
||||
getOptions().setWorkingDirectory(ExternalizablePath.urlValue(value));
|
||||
public void setWorkingDirectory(@Nullable String value) {
|
||||
String normalizedValue = ExternalizablePath.urlValue(value);
|
||||
//noinspection deprecation
|
||||
WORKING_DIRECTORY = normalizedValue;
|
||||
getOptions().setWorkingDirectory(normalizedValue);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getWorkingDirectory() {
|
||||
return ExternalizablePath.localPathValue(getOptions().getWorkingDirectory());
|
||||
//noinspection deprecation
|
||||
return ExternalizablePath.localPathValue(WORKING_DIRECTORY);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -207,7 +218,7 @@ public class ApplicationConfiguration extends ModuleBasedConfiguration<JavaRunCo
|
||||
@Override
|
||||
@Nullable
|
||||
public String getRunClass() {
|
||||
return getOptions().getMainClassName();
|
||||
return getMainClassName();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -218,7 +229,8 @@ public class ApplicationConfiguration extends ModuleBasedConfiguration<JavaRunCo
|
||||
|
||||
@Override
|
||||
public boolean isAlternativeJrePathEnabled() {
|
||||
return getOptions().isAlternativeJrePathEnabled();
|
||||
//noinspection deprecation
|
||||
return ALTERNATIVE_JRE_PATH_ENABLED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -231,7 +243,8 @@ public class ApplicationConfiguration extends ModuleBasedConfiguration<JavaRunCo
|
||||
@Nullable
|
||||
@Override
|
||||
public String getAlternativeJrePath() {
|
||||
return getOptions().getAlternativeJrePath();
|
||||
//noinspection deprecation
|
||||
return ALTERNATIVE_JRE_PATH;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -251,7 +264,7 @@ public class ApplicationConfiguration extends ModuleBasedConfiguration<JavaRunCo
|
||||
|
||||
@Override
|
||||
public Collection<Module> getValidModules() {
|
||||
return JavaRunConfigurationModule.getModulesForClass(getProject(), getOptions().getMainClassName());
|
||||
return JavaRunConfigurationModule.getModulesForClass(getProject(), getMainClassName());
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@@ -259,9 +272,6 @@ public class ApplicationConfiguration extends ModuleBasedConfiguration<JavaRunCo
|
||||
public void readExternal(@NotNull final Element element) {
|
||||
super.readExternal(element);
|
||||
|
||||
JavaRunConfigurationExtensionManager.getInstance().readExternal(this, element);
|
||||
setShortenCommandLine(ShortenCommandLine.readShortenClasspathMethod(element));
|
||||
|
||||
ApplicationConfigurationOptions options = getOptions();
|
||||
MAIN_CLASS_NAME = options.getMainClassName();
|
||||
PROGRAM_PARAMETERS = options.getProgramParameters();
|
||||
@@ -269,6 +279,9 @@ public class ApplicationConfiguration extends ModuleBasedConfiguration<JavaRunCo
|
||||
ALTERNATIVE_JRE_PATH = options.getAlternativeJrePath();
|
||||
ALTERNATIVE_JRE_PATH_ENABLED = options.isAlternativeJrePathEnabled();
|
||||
ENABLE_SWING_INSPECTOR = options.isSwingInspectorEnabled();
|
||||
|
||||
JavaRunConfigurationExtensionManager.getInstance().readExternal(this, element);
|
||||
setShortenCommandLine(ShortenCommandLine.readShortenClasspathMethod(element));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -290,6 +303,17 @@ public class ApplicationConfiguration extends ModuleBasedConfiguration<JavaRunCo
|
||||
myShortenCommandLine = mode;
|
||||
}
|
||||
|
||||
public boolean isSwingInspectorEnabled() {
|
||||
//noinspection deprecation
|
||||
return ENABLE_SWING_INSPECTOR;
|
||||
}
|
||||
|
||||
public void setSwingInspectorEnabled(boolean value) {
|
||||
//noinspection deprecation
|
||||
ENABLE_SWING_INSPECTOR = value;
|
||||
getOptions().setSwingInspectorEnabled(value);
|
||||
}
|
||||
|
||||
public static class JavaApplicationCommandLineState<T extends ApplicationConfiguration> extends BaseJavaApplicationCommandLineState<T> {
|
||||
public JavaApplicationCommandLineState(@NotNull final T configuration, final ExecutionEnvironment environment) {
|
||||
super(environment, configuration);
|
||||
@@ -302,11 +326,10 @@ public class ApplicationConfiguration extends ModuleBasedConfiguration<JavaRunCo
|
||||
params.setShortenCommandLine(configuration.getShortenCommandLine(), configuration.getProject());
|
||||
|
||||
final JavaRunConfigurationModule module = myConfiguration.getConfigurationModule();
|
||||
ApplicationConfigurationOptions options = myConfiguration.getOptions();
|
||||
final String jreHome = options.isAlternativeJrePathEnabled() ? options.getAlternativeJrePath() : null;
|
||||
final String jreHome = myConfiguration.isAlternativeJrePathEnabled() ? myConfiguration.getAlternativeJrePath() : null;
|
||||
if (module.getModule() != null) {
|
||||
DumbService.getInstance(module.getProject()).runWithAlternativeResolveEnabled(() -> {
|
||||
int classPathType = JavaParametersUtil.getClasspathType(module, options.getMainClassName(), false, myConfiguration.isProvidedScopeIncluded());
|
||||
int classPathType = JavaParametersUtil.getClasspathType(module, myConfiguration.getMainClassName(), false, myConfiguration.isProvidedScopeIncluded());
|
||||
JavaParametersUtil.configureModule(module, params, classPathType, jreHome);
|
||||
});
|
||||
}
|
||||
@@ -314,7 +337,7 @@ public class ApplicationConfiguration extends ModuleBasedConfiguration<JavaRunCo
|
||||
JavaParametersUtil.configureProject(module.getProject(), params, JavaParameters.JDK_AND_CLASSES_AND_TESTS, jreHome);
|
||||
}
|
||||
|
||||
params.setMainClass(options.getMainClassName());
|
||||
params.setMainClass(myConfiguration.getMainClassName());
|
||||
|
||||
setupJavaParameters(params);
|
||||
|
||||
|
||||
+2
-2
@@ -10,10 +10,10 @@ import java.util.*
|
||||
|
||||
open class ApplicationConfigurationOptions : JvmConfigurationOptions() {
|
||||
@get:OptionTag("PROGRAM_PARAMETERS")
|
||||
var programParameters by string()
|
||||
open var programParameters by string()
|
||||
|
||||
@get:OptionTag("WORKING_DIRECTORY")
|
||||
var workingDirectory by string()
|
||||
open var workingDirectory by string()
|
||||
|
||||
@get:OptionTag("INCLUDE_PROVIDED_SCOPE")
|
||||
var includeProvidedScope by property(false)
|
||||
|
||||
@@ -128,7 +128,7 @@ public class JarApplicationConfiguration extends LocatableConfigurationBase impl
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVMParameters(String value) {
|
||||
public void setVMParameters(@Nullable String value) {
|
||||
myBean.VM_PARAMETERS = value;
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
package com.intellij.execution.scratch;
|
||||
|
||||
import com.intellij.application.options.ModulesComboBox;
|
||||
import com.intellij.execution.application.ApplicationConfigurationOptions;
|
||||
import com.intellij.execution.ui.CommonJavaParametersPanel;
|
||||
import com.intellij.execution.ui.ConfigurationModuleSelector;
|
||||
import com.intellij.execution.ui.DefaultJreSelector;
|
||||
@@ -125,9 +124,8 @@ public class JavaScratchConfigurable extends SettingsEditor<JavaScratchConfigura
|
||||
myCommonProgramParameters.reset(configuration);
|
||||
myModuleSelector.reset(configuration);
|
||||
|
||||
ApplicationConfigurationOptions options = configuration.getOptions();
|
||||
myMainClass.getComponent().setText(options.getMainClassName() != null ? options.getMainClassName().replaceAll("\\$", "\\.") : "");
|
||||
myJrePathEditor.setPathOrName(options.getAlternativeJrePath(), options.isAlternativeJrePathEnabled());
|
||||
myMainClass.getComponent().setText(configuration.getMainClassName() != null ? configuration.getMainClassName().replaceAll("\\$", "\\.") : "");
|
||||
myJrePathEditor.setPathOrName(configuration.getAlternativeJrePath(), configuration.isAlternativeJrePathEnabled());
|
||||
setVFileToEditor(configuration.getScratchVirtualFile());
|
||||
}
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ public abstract class MvcRunConfiguration extends ModuleBasedConfiguration<RunCo
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVMParameters(String vmParams) {
|
||||
public void setVMParameters(@Nullable String vmParams) {
|
||||
this.vmParams = vmParams;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -315,7 +315,7 @@ public class GroovyScriptRunConfiguration extends ModuleBasedConfiguration<RunCo
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVMParameters(String value) {
|
||||
public void setVMParameters(@Nullable String value) {
|
||||
vmParams = value;
|
||||
}
|
||||
|
||||
|
||||
@@ -38,6 +38,7 @@ import com.intellij.util.ArrayUtil;
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@@ -211,7 +212,7 @@ public class JUnitConfiguration extends JavaTestConfigurationBase {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVMParameters(String value) {
|
||||
public void setVMParameters(@Nullable String value) {
|
||||
myData.setVMParameters(value);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -134,7 +134,7 @@ public class TestNGConfiguration extends JavaTestConfigurationBase {
|
||||
return testObject != null ? testObject.getActionName() : null;
|
||||
}
|
||||
|
||||
public void setVMParameters(String value) {
|
||||
public void setVMParameters(@Nullable String value) {
|
||||
data.setVMParameters(value);
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -110,7 +110,7 @@ public class CreateSnapShotAction extends AnAction {
|
||||
if (config.getConfiguration() instanceof ApplicationConfiguration) {
|
||||
ApplicationConfiguration appConfig = (ApplicationConfiguration) config.getConfiguration();
|
||||
appConfigurations.add(config);
|
||||
if (appConfig.getOptions().isSwingInspectorEnabled()) {
|
||||
if (appConfig.isSwingInspectorEnabled()) {
|
||||
SnapShooterConfigurationSettings settings = SnapShooterConfigurationSettings.get(appConfig);
|
||||
snapshotConfiguration = config;
|
||||
if (settings.getLastPort() > 0) {
|
||||
@@ -280,7 +280,7 @@ public class CreateSnapShotAction extends AnAction {
|
||||
if (rc < 0) return null;
|
||||
snapshotConfiguration = configurations.get(rc);
|
||||
}
|
||||
((ApplicationConfiguration) snapshotConfiguration.getConfiguration()).getOptions().setSwingInspectorEnabled(true);
|
||||
((ApplicationConfiguration)snapshotConfiguration.getConfiguration()).setSwingInspectorEnabled(true);
|
||||
return snapshotConfiguration;
|
||||
}
|
||||
|
||||
|
||||
+3
-5
@@ -7,7 +7,6 @@ package com.intellij.uiDesigner.snapShooter;
|
||||
import com.intellij.designer.DesignerEditorPanelFacade;
|
||||
import com.intellij.execution.RunConfigurationExtension;
|
||||
import com.intellij.execution.application.ApplicationConfiguration;
|
||||
import com.intellij.execution.application.ApplicationConfigurationOptions;
|
||||
import com.intellij.execution.configurations.JavaParameters;
|
||||
import com.intellij.execution.configurations.RunConfigurationBase;
|
||||
import com.intellij.execution.configurations.RunnerSettings;
|
||||
@@ -42,20 +41,19 @@ public class SnapShooterConfigurationExtension extends RunConfigurationExtension
|
||||
if (!isApplicableFor(configuration)) {
|
||||
return;
|
||||
}
|
||||
ApplicationConfiguration appConfiguration = (ApplicationConfiguration) configuration;
|
||||
ApplicationConfiguration appConfiguration = (ApplicationConfiguration)configuration;
|
||||
SnapShooterConfigurationSettings settings = appConfiguration.getUserData(SnapShooterConfigurationSettings.SNAP_SHOOTER_KEY);
|
||||
if (settings == null) {
|
||||
settings = new SnapShooterConfigurationSettings();
|
||||
appConfiguration.putUserData(SnapShooterConfigurationSettings.SNAP_SHOOTER_KEY, settings);
|
||||
}
|
||||
ApplicationConfigurationOptions options = appConfiguration.getOptions();
|
||||
boolean swingInspectorEnabled = options.isSwingInspectorEnabled();
|
||||
boolean swingInspectorEnabled = appConfiguration.isSwingInspectorEnabled();
|
||||
if (swingInspectorEnabled) {
|
||||
settings.setLastPort(NetUtils.tryToFindAvailableSocketPort());
|
||||
}
|
||||
|
||||
if (swingInspectorEnabled && settings.getLastPort() != -1) {
|
||||
params.getProgramParametersList().prepend(options.getMainClassName());
|
||||
params.getProgramParametersList().prepend(appConfiguration.getMainClassName());
|
||||
params.getProgramParametersList().prepend(Integer.toString(settings.getLastPort()));
|
||||
// add +1 because idea_rt.jar will be added as the last entry to the classpath
|
||||
params.getProgramParametersList().prepend(Integer.toString(params.getClassPath().getPathList().size() + 1));
|
||||
|
||||
Reference in New Issue
Block a user