mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
migrate AppletConfiguration and BndRunConfiguration to BaseState — part 2, fix tests
This commit is contained in:
@@ -46,17 +46,16 @@ public class AppletConfiguration extends ModuleBasedConfiguration<JavaRunConfigu
|
||||
super(new JavaRunConfigurationModule(project, false), factory);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
protected AppletConfigurationOptions createOptions() {
|
||||
return new AppletConfigurationOptions();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected AppletConfigurationOptions getOptions() {
|
||||
return (AppletConfigurationOptions)super.getOptions();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Class<AppletConfigurationOptions> getOptionsClass() {
|
||||
return AppletConfigurationOptions.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setMainClass(final PsiClass psiClass) {
|
||||
final Module originalModule = getConfigurationModule().getModule();
|
||||
|
||||
+1
-7
@@ -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<? extends LocatableRunConfigurationOptions> getOptionsClass() {
|
||||
protected Class<? extends LocatableRunConfigurationOptions> getOptionsClass() {
|
||||
return LocatableRunConfigurationOptions.class;
|
||||
}
|
||||
|
||||
|
||||
+13
-7
@@ -33,12 +33,6 @@ public abstract class ModuleBasedConfiguration<ConfigurationModule extends RunCo
|
||||
options.resetModificationCount();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
protected ModuleBasedConfigurationOptions<ConfigurationModule> createOptions() {
|
||||
return new ModuleBasedConfigurationOptions<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ModuleBasedConfigurationOptions<ConfigurationModule> getOptions() {
|
||||
//noinspection unchecked
|
||||
@@ -46,7 +40,7 @@ public abstract class ModuleBasedConfiguration<ConfigurationModule extends RunCo
|
||||
}
|
||||
|
||||
@Override
|
||||
Class<ModuleBasedConfigurationOptions> getOptionsClass() {
|
||||
protected Class<? extends ModuleBasedConfigurationOptions> getOptionsClass() {
|
||||
return ModuleBasedConfigurationOptions.class;
|
||||
}
|
||||
|
||||
@@ -98,6 +92,18 @@ public abstract class ModuleBasedConfiguration<ConfigurationModule extends RunCo
|
||||
return configuration;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readExternal(Element element) throws InvalidDataException {
|
||||
ConfigurationModule module = getConfigurationModule();
|
||||
super.readExternal(element);
|
||||
|
||||
// if null after read, it means that no such field at all in the data, but our clients expect that will be some not null ConfigurationModule wrapper
|
||||
if (getConfigurationModule() == null) {
|
||||
module.setModule(null);
|
||||
getOptions().setModule(module);
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("MethodDoesntCallSuperMethod")
|
||||
@Override
|
||||
public ModuleBasedConfiguration clone() {
|
||||
|
||||
+11
-10
@@ -14,6 +14,7 @@ import com.intellij.openapi.util.InvalidDataException;
|
||||
import com.intellij.openapi.util.JDOMExternalizerUtil;
|
||||
import com.intellij.openapi.util.UserDataHolderBase;
|
||||
import com.intellij.openapi.util.WriteExternalException;
|
||||
import com.intellij.util.ReflectionUtil;
|
||||
import com.intellij.util.SmartList;
|
||||
import com.intellij.util.xmlb.annotations.Attribute;
|
||||
import com.intellij.util.xmlb.annotations.Transient;
|
||||
@@ -55,8 +56,8 @@ public abstract class RunConfigurationBase extends UserDataHolderBase implements
|
||||
}
|
||||
|
||||
@NotNull
|
||||
protected RunConfigurationOptions createOptions() {
|
||||
return new RunConfigurationOptions();
|
||||
private RunConfigurationOptions createOptions() {
|
||||
return ReflectionUtil.newInstance(getOptionsClass());
|
||||
}
|
||||
|
||||
protected RunConfigurationOptions getOptions() {
|
||||
@@ -128,6 +129,8 @@ public abstract class RunConfigurationBase extends UserDataHolderBase implements
|
||||
final RunConfigurationBase runConfiguration = (RunConfigurationBase)super.clone();
|
||||
runConfiguration.myLogFiles = new ArrayList<>(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<? extends RunConfigurationOptions> getOptionsClass() {
|
||||
protected Class<? extends RunConfigurationOptions> getOptionsClass() {
|
||||
if (this instanceof PersistentStateComponent) {
|
||||
PersistentStateComponent instance = (PersistentStateComponent)this;
|
||||
return ComponentSerializationUtil.getStateClass(instance.getClass());
|
||||
}
|
||||
return RunConfigurationOptions.class;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user