From 413937eb2d4e8fec50933a3137c8f2a09dcfe42a Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Fri, 1 Dec 2017 19:37:13 +0100 Subject: [PATCH] =?UTF-8?q?migrate=20AppletConfiguration=20and=20BndRunCon?= =?UTF-8?q?figuration=20to=20BaseState=20=E2=80=94=20part=202,=20fix=20tes?= =?UTF-8?q?ts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../execution/applet/AppletConfiguration.java | 11 +++++----- .../LocatableConfigurationBase.java | 8 +------ .../ModuleBasedConfiguration.java | 20 +++++++++++------- .../configurations/RunConfigurationBase.java | 21 ++++++++++--------- 4 files changed, 30 insertions(+), 30 deletions(-) diff --git a/java/execution/impl/src/com/intellij/execution/applet/AppletConfiguration.java b/java/execution/impl/src/com/intellij/execution/applet/AppletConfiguration.java index 1b49808ef077..7c31e1419f79 100644 --- a/java/execution/impl/src/com/intellij/execution/applet/AppletConfiguration.java +++ b/java/execution/impl/src/com/intellij/execution/applet/AppletConfiguration.java @@ -46,17 +46,16 @@ public class AppletConfiguration extends ModuleBasedConfiguration getOptionsClass() { + return AppletConfigurationOptions.class; + } + @Override public void setMainClass(final PsiClass psiClass) { final Module originalModule = getConfigurationModule().getModule(); diff --git a/platform/lang-api/src/com/intellij/execution/configurations/LocatableConfigurationBase.java b/platform/lang-api/src/com/intellij/execution/configurations/LocatableConfigurationBase.java index 53993757b0f1..bd125d32cd37 100644 --- a/platform/lang-api/src/com/intellij/execution/configurations/LocatableConfigurationBase.java +++ b/platform/lang-api/src/com/intellij/execution/configurations/LocatableConfigurationBase.java @@ -18,19 +18,13 @@ public abstract class LocatableConfigurationBase extends RunConfigurationBase im super(project, factory, name); } - @NotNull - @Override - protected RunConfigurationOptions createOptions() { - return new LocatableRunConfigurationOptions(); - } - @Override protected LocatableRunConfigurationOptions getOptions() { return (LocatableRunConfigurationOptions)super.getOptions(); } @Override - Class getOptionsClass() { + protected Class getOptionsClass() { return LocatableRunConfigurationOptions.class; } diff --git a/platform/lang-api/src/com/intellij/execution/configurations/ModuleBasedConfiguration.java b/platform/lang-api/src/com/intellij/execution/configurations/ModuleBasedConfiguration.java index 6e25751f3049..e84ef8463733 100644 --- a/platform/lang-api/src/com/intellij/execution/configurations/ModuleBasedConfiguration.java +++ b/platform/lang-api/src/com/intellij/execution/configurations/ModuleBasedConfiguration.java @@ -33,12 +33,6 @@ public abstract class ModuleBasedConfiguration createOptions() { - return new ModuleBasedConfigurationOptions<>(); - } - @Override protected ModuleBasedConfigurationOptions getOptions() { //noinspection unchecked @@ -46,7 +40,7 @@ public abstract class ModuleBasedConfiguration getOptionsClass() { + protected Class getOptionsClass() { return ModuleBasedConfigurationOptions.class; } @@ -98,6 +92,18 @@ public abstract class ModuleBasedConfiguration(myLogFiles); runConfiguration.myPredefinedLogFiles = new ArrayList<>(myPredefinedLogFiles); + + runConfiguration.myOptions = createOptions(); runConfiguration.myOptions.copyFrom(myOptions); copyCopyableDataTo(runConfiguration); @@ -206,16 +209,14 @@ public abstract class RunConfigurationBase extends UserDataHolderBase implements myPredefinedLogFiles.add(logFile); } - if (this instanceof PersistentStateComponent) { - PersistentStateComponent instance = (PersistentStateComponent)this; - myOptions = XmlSerializer.deserialize(element, ComponentSerializationUtil.getStateClass(instance.getClass())); - } - else { - myOptions = XmlSerializer.deserialize(element, getOptionsClass()); - } + myOptions = XmlSerializer.deserialize(element, getOptionsClass()); } - Class getOptionsClass() { + protected Class getOptionsClass() { + if (this instanceof PersistentStateComponent) { + PersistentStateComponent instance = (PersistentStateComponent)this; + return ComponentSerializationUtil.getStateClass(instance.getClass()); + } return RunConfigurationOptions.class; }