diff --git a/java/execution/impl/src/com/intellij/execution/applet/AppletConfigurationType.java b/java/execution/impl/src/com/intellij/execution/applet/AppletConfigurationType.java index 3e03e6e8b1d1..86dba55114ba 100644 --- a/java/execution/impl/src/com/intellij/execution/applet/AppletConfigurationType.java +++ b/java/execution/impl/src/com/intellij/execution/applet/AppletConfigurationType.java @@ -16,8 +16,10 @@ package com.intellij.execution.applet; import com.intellij.execution.ExecutionBundle; +import com.intellij.execution.configuration.ConfigurationFactoryEx; import com.intellij.execution.configurations.ConfigurationFactory; import com.intellij.execution.configurations.ConfigurationType; +import com.intellij.execution.configurations.ModuleBasedConfiguration; import com.intellij.execution.configurations.RunConfiguration; import com.intellij.openapi.extensions.Extensions; import com.intellij.openapi.project.Project; @@ -33,10 +35,15 @@ public class AppletConfigurationType implements ConfigurationType { /**reflection*/ AppletConfigurationType() { - myFactory = new ConfigurationFactory(this) { + myFactory = new ConfigurationFactoryEx(this) { public RunConfiguration createTemplateConfiguration(Project project) { return new AppletConfiguration("", project, this); } + + @Override + public void onNewConfigurationCreated(@NotNull RunConfiguration configuration) { + ((ModuleBasedConfiguration)configuration).onNewConfigurationCreated(); + } }; } diff --git a/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurationType.java b/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurationType.java index dc3961a0bdf2..aaa321b09ad3 100644 --- a/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurationType.java +++ b/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurationType.java @@ -17,8 +17,10 @@ package com.intellij.execution.application; import com.intellij.execution.ExecutionBundle; import com.intellij.execution.RunConfigurationExtension; +import com.intellij.execution.configuration.ConfigurationFactoryEx; import com.intellij.execution.configurations.ConfigurationFactory; import com.intellij.execution.configurations.ConfigurationType; +import com.intellij.execution.configurations.ModuleBasedConfiguration; import com.intellij.execution.configurations.RunConfiguration; import com.intellij.openapi.extensions.Extensions; import com.intellij.openapi.project.Project; @@ -41,7 +43,7 @@ public class ApplicationConfigurationType implements ConfigurationType { /**reflection*/ public ApplicationConfigurationType() { - myFactory = new ConfigurationFactory(this) { + myFactory = new ConfigurationFactoryEx(this) { public RunConfiguration createTemplateConfiguration(Project project) { return new ApplicationConfiguration("", project, ApplicationConfigurationType.this); } @@ -50,6 +52,11 @@ public class ApplicationConfigurationType implements ConfigurationType { public Icon getIcon(@NotNull final RunConfiguration configuration) { return RunConfigurationExtension.getIcon((ApplicationConfiguration)configuration, getIcon()); } + + @Override + public void onNewConfigurationCreated(@NotNull RunConfiguration configuration) { + ((ModuleBasedConfiguration)configuration).onNewConfigurationCreated(); + } }; } 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 96ee2dd6ee39..d759ca12f91d 100644 --- a/platform/lang-api/src/com/intellij/execution/configurations/ModuleBasedConfiguration.java +++ b/platform/lang-api/src/com/intellij/execution/configurations/ModuleBasedConfiguration.java @@ -114,4 +114,12 @@ public abstract class ModuleBasedConfiguration