diff --git a/java/compiler/impl/src/com/intellij/packaging/impl/run/BuildArtifactsBeforeRunTaskProvider.java b/java/compiler/impl/src/com/intellij/packaging/impl/run/BuildArtifactsBeforeRunTaskProvider.java index 667bd73ea91e..c7bab6b06867 100644 --- a/java/compiler/impl/src/com/intellij/packaging/impl/run/BuildArtifactsBeforeRunTaskProvider.java +++ b/java/compiler/impl/src/com/intellij/packaging/impl/run/BuildArtifactsBeforeRunTaskProvider.java @@ -109,7 +109,7 @@ public class BuildArtifactsBeforeRunTaskProvider extends BeforeRunTaskProvider pointers = task.getArtifactPointers(); - if (!task.isEnabled() || pointers.isEmpty()) { + if (pointers.isEmpty()) { return CompilerBundle.message("build.artifacts.before.run.description.empty"); } if (pointers.size() == 1) { 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 7d1ea6033393..032d56d85e1e 100644 --- a/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurationType.java +++ b/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurationType.java @@ -16,7 +16,6 @@ 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; @@ -48,11 +47,6 @@ public class ApplicationConfigurationType implements ConfigurationType { return new ApplicationConfiguration("", project, ApplicationConfigurationType.this); } - @Override - public Icon getIcon(@NotNull final RunConfiguration configuration) { - return getIcon(); - } - @Override public void onNewConfigurationCreated(@NotNull RunConfiguration configuration) { ((ModuleBasedConfiguration)configuration).onNewConfigurationCreated(); diff --git a/platform/lang-api/src/com/intellij/execution/BeforeRunTask.java b/platform/lang-api/src/com/intellij/execution/BeforeRunTask.java index fad6015d02f0..0c3f7c244e9d 100644 --- a/platform/lang-api/src/com/intellij/execution/BeforeRunTask.java +++ b/platform/lang-api/src/com/intellij/execution/BeforeRunTask.java @@ -47,7 +47,6 @@ public abstract class BeforeRunTask implements Cloneabl } public void writeExternal(Element element) { - element.setAttribute("enabled", String.valueOf(myIsEnabled)); } public void readExternal(Element element) { @@ -55,6 +54,8 @@ public abstract class BeforeRunTask implements Cloneabl if (attribValue == null) { attribValue = element.getAttributeValue("value"); // maintain compatibility with old format } + if (attribValue == null) + attribValue = "true"; myIsEnabled = Boolean.valueOf(attribValue).booleanValue(); } diff --git a/platform/lang-impl/src/com/intellij/execution/RunManagerEx.java b/platform/lang-impl/src/com/intellij/execution/RunManagerEx.java index db6ea1442367..cffb8b051f43 100644 --- a/platform/lang-impl/src/com/intellij/execution/RunManagerEx.java +++ b/platform/lang-impl/src/com/intellij/execution/RunManagerEx.java @@ -62,14 +62,11 @@ public abstract class RunManagerEx extends RunManager { @NotNull public abstract List getBeforeRunTasks(RunConfiguration settings); - @NotNull - public abstract List getBeforeRunTasks(RunConfiguration settings, boolean includeOnlyActiveTasks); - @NotNull public abstract List getBeforeRunTasks(RunConfiguration settings, Key taskProviderID); @NotNull - public abstract List getBeforeRunTasks(Key taskProviderID, boolean includeOnlyActiveTasks); + public abstract List getBeforeRunTasks(Key taskProviderID); public abstract RunnerAndConfigurationSettings findConfigurationByName(@Nullable final String name); diff --git a/platform/lang-impl/src/com/intellij/execution/impl/BeforeRunStepsPanel.java b/platform/lang-impl/src/com/intellij/execution/impl/BeforeRunStepsPanel.java index ac80749045af..65c8ddd4526a 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/BeforeRunStepsPanel.java +++ b/platform/lang-impl/src/com/intellij/execution/impl/BeforeRunStepsPanel.java @@ -117,7 +117,7 @@ class BeforeRunStepsPanel extends JPanel { myRunConfiguration = settings.getConfiguration(); originalTasks.clear(); - originalTasks.addAll(RunManagerImpl.getInstanceImpl(myRunConfiguration.getProject()).getBeforeRunTasks(myRunConfiguration, true)); + originalTasks.addAll(RunManagerImpl.getInstanceImpl(myRunConfiguration.getProject()).getBeforeRunTasks(myRunConfiguration)); myModel.replaceAll(originalTasks); myShowSettingsBeforeRunCheckBox.setSelected(settings.isEditBeforeRun()); myShowSettingsBeforeRunCheckBox.setEnabled(!(myRunConfiguration instanceof UnknownRunConfiguration)); @@ -202,11 +202,11 @@ class BeforeRunStepsPanel extends JPanel { = (RunConfigurationBeforeRunProvider.RunConfigurableBeforeRunTask)task; RunConfiguration configuration = runTask.getSettings().getConfiguration(); - List tasks = RunManagerImpl.getInstanceImpl(configuration.getProject()).getBeforeRunTasks(configuration, true); + List tasks = RunManagerImpl.getInstanceImpl(configuration.getProject()).getBeforeRunTasks(configuration); for (BeforeRunTask beforeRunTask : tasks) { if (beforeRunTask instanceof RunConfigurationBeforeRunProvider.RunConfigurableBeforeRunTask) { - configurationSet.add(((RunConfigurationBeforeRunProvider.RunConfigurableBeforeRunTask)beforeRunTask).getSettings().getConfiguration()); - getAllRunBeforeRuns(beforeRunTask, configurationSet); + if (configurationSet.add(((RunConfigurationBeforeRunProvider.RunConfigurableBeforeRunTask)beforeRunTask).getSettings().getConfiguration())) + getAllRunBeforeRuns(beforeRunTask, configurationSet); } } } diff --git a/platform/lang-impl/src/com/intellij/execution/impl/ConfigurationSettingsEditorWrapper.java b/platform/lang-impl/src/com/intellij/execution/impl/ConfigurationSettingsEditorWrapper.java index 7d1d7a436db0..9abefe10dbc9 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/ConfigurationSettingsEditorWrapper.java +++ b/platform/lang-impl/src/com/intellij/execution/impl/ConfigurationSettingsEditorWrapper.java @@ -125,7 +125,7 @@ public class ConfigurationSettingsEditorWrapper extends SettingsEditor getStepsBeforeLaunch() { - return Collections.unmodifiableList(myBeforeRunStepsPanel.getTasks(false)); + return Collections.unmodifiableList(myBeforeRunStepsPanel.getTasks(true)); } public boolean isStoreProjectConfiguration() { diff --git a/platform/lang-impl/src/com/intellij/execution/impl/ExecutionManagerImpl.java b/platform/lang-impl/src/com/intellij/execution/impl/ExecutionManagerImpl.java index f15e9fa2c222..484cb35ac961 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/ExecutionManagerImpl.java +++ b/platform/lang-impl/src/com/intellij/execution/impl/ExecutionManagerImpl.java @@ -97,12 +97,7 @@ public class ExecutionManagerImpl extends ExecutionManager implements ProjectCom final RunManagerImpl runManager = RunManagerImpl.getInstanceImpl(myProject); final List activeTasks = new ArrayList(); - final List tasks = runManager.getBeforeRunTasks(runConfiguration); - for (BeforeRunTask task : tasks) { - if (task != null && task.isEnabled()) { - activeTasks.add(task); - } - } + activeTasks.addAll(runManager.getBeforeRunTasks(runConfiguration)); ConfigurationPerRunnerSettings configurationSettings = state != null ? state.getConfigurationSettings() : null; final DataContext projectContext = SimpleDataContext.getProjectContext(myProject); diff --git a/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java b/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java index 96921c9ed8f5..48754f47d68e 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java +++ b/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java @@ -162,12 +162,7 @@ class RunConfigurable extends BaseConfigurable { if (userObject instanceof SingleConfigurationConfigurable) { final SingleConfigurationConfigurable settings = (SingleConfigurationConfigurable)userObject; RunnerAndConfigurationSettings snapshot; - try { - snapshot = settings.getSnapshot(); - } - catch (ConfigurationException e) { - snapshot = settings.getSettings(); - } + snapshot = settings.getSettings(); configuration = settings.getConfiguration(); name = settings.getNameText(); setIcon(ProgramRunnerUtil.getConfigurationIcon(snapshot, !settings.isValid(), runManager.isTemporary(configuration))); diff --git a/platform/lang-impl/src/com/intellij/execution/impl/RunManagerImpl.java b/platform/lang-impl/src/com/intellij/execution/impl/RunManagerImpl.java index 25555d1ee971..667f3b4fc5ce 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/RunManagerImpl.java +++ b/platform/lang-impl/src/com/intellij/execution/impl/RunManagerImpl.java @@ -67,7 +67,6 @@ public class RunManagerImpl extends RunManagerEx implements JDOMExternalizable, protected static final String SELECTED_ATTR = "selected"; @NonNls private static final String METHOD = "method"; @NonNls private static final String OPTION = "option"; - @NonNls private static final String VALUE = "value"; private List myUnknownElements = null; private JDOMExternalizableStringList myOrder = new JDOMExternalizableStringList(); @@ -460,8 +459,6 @@ public class RunManagerImpl extends RunManagerEx implements JDOMExternalizable, } } for (BeforeRunTask task : tasks) { - if (templateTasks != null && task.equals(templateTasks.get(task.getProviderId()))) - continue; // not neccesary saving if the task is the same as template final Element child = new Element(OPTION); child.setAttribute(NAME_ATTR, task.getProviderId().toString()); task.writeExternal(child); @@ -596,7 +593,9 @@ public class RunManagerImpl extends RunManagerEx implements JDOMExternalizable, final BeforeRunTask beforeRunTask = provider.createTask(settings.getConfiguration()); if (beforeRunTask != null) { beforeRunTask.readExternal(methodElement); - result.add(beforeRunTask); + if (beforeRunTask.isEnabled()) { + result.add(beforeRunTask); + } } } } @@ -720,48 +719,30 @@ public class RunManagerImpl extends RunManagerEx implements JDOMExternalizable, } @NotNull - public List getBeforeRunTasks(Key taskProviderID, boolean includeOnlyActiveTasks) { + public List getBeforeRunTasks(Key taskProviderID) { final List tasks = new ArrayList(); - if (includeOnlyActiveTasks) { - final List checkedTemplates = new ArrayList(); - List settingsList = new ArrayList(myConfigurations.values()); - for (RunnerAndConfigurationSettings settings : settingsList) { - final List runTasks = getBeforeRunTasks(settings.getConfiguration()); - for (BeforeRunTask task : runTasks) { - if (task != null && task.isEnabled() && task.getProviderId() == taskProviderID) { - tasks.add((T)task); - } - else { - final RunnerAndConfigurationSettings template = getConfigurationTemplate(settings.getFactory()); - if (!checkedTemplates.contains(template)) { - checkedTemplates.add(template); - final List templateTasks = getBeforeRunTasks(template.getConfiguration()); - for (BeforeRunTask templateTask : templateTasks) { - if (templateTask != null && templateTask.isEnabled() && templateTask.getProviderId() == taskProviderID) { - tasks.add((T)templateTask); - } + final List checkedTemplates = new ArrayList(); + List settingsList = new ArrayList(myConfigurations.values()); + for (RunnerAndConfigurationSettings settings : settingsList) { + final List runTasks = getBeforeRunTasks(settings.getConfiguration()); + for (BeforeRunTask task : runTasks) { + if (task != null && task.isEnabled() && task.getProviderId() == taskProviderID) { + tasks.add((T)task); + } + else { + final RunnerAndConfigurationSettings template = getConfigurationTemplate(settings.getFactory()); + if (!checkedTemplates.contains(template)) { + checkedTemplates.add(template); + final List templateTasks = getBeforeRunTasks(template.getConfiguration()); + for (BeforeRunTask templateTask : templateTasks) { + if (templateTask != null && templateTask.isEnabled() && templateTask.getProviderId() == taskProviderID) { + tasks.add((T)templateTask); } } } } } } - else { - for (RunnerAndConfigurationSettings settings : myTemplateConfigurationsMap.values()) { - final List tasks_ = getBeforeRunTasks(settings.getConfiguration()); - for (BeforeRunTask task : tasks_) { - if (task != null && task.getProviderId() == taskProviderID) - tasks.add((T)task); - } - } - for (RunnerAndConfigurationSettings settings : myConfigurations.values()) { - final List tasks_ = getBeforeRunTasks(settings.getConfiguration()); - for (BeforeRunTask task : tasks_) { - if (task != null && task.getProviderId() == taskProviderID) - tasks.add((T)task); - } - } - } return tasks; } @@ -826,32 +807,25 @@ public class RunManagerImpl extends RunManagerEx implements JDOMExternalizable, @NotNull public List getBeforeRunTasks(final RunConfiguration settings) { - return getBeforeRunTasks(settings, false); - } - @NotNull - @Override - public List getBeforeRunTasks(RunConfiguration settings, boolean includeOnlyActiveTasks) { final List tasks = myConfigurationToBeforeTasksMap.get(settings); if (tasks != null) { - return getCopies(tasks, includeOnlyActiveTasks); + return getCopies(tasks); } - return getTemplateBeforeRunTask(settings, includeOnlyActiveTasks); + return getTemplateBeforeRunTask(settings); } - private List getTemplateBeforeRunTask(RunConfiguration settings, boolean includeOnlyActiveTasks) { + private List getTemplateBeforeRunTask(RunConfiguration settings) { final RunnerAndConfigurationSettings template = getConfigurationTemplate(settings.getFactory()); final List templateTasks = myConfigurationToBeforeTasksMap.get(template.getConfiguration()); if (templateTasks != null) { - return getCopies(templateTasks, includeOnlyActiveTasks); + return getCopies(templateTasks); } final List _tasks = new ArrayList(); for (BeforeRunTaskProvider provider : Extensions .getExtensions(BeforeRunTaskProvider.EXTENSION_POINT_NAME, myProject)) { BeforeRunTask task = provider.createTask(settings); - if (task != null) { - if (includeOnlyActiveTasks && !task.isEnabled()) - continue; + if (task != null && task.isEnabled()) { Key providerID = provider.getId(); _tasks.add(task); settings.getFactory().configureBeforeRunTaskDefaults(providerID, task); @@ -861,11 +835,11 @@ public class RunManagerImpl extends RunManagerEx implements JDOMExternalizable, } @NotNull - private static List getCopies(List original, boolean includeOnlyActiveTasks) { + private static List getCopies(List original) { List result = new ArrayList(); if (original != null) { for (BeforeRunTask task : original) { - if (includeOnlyActiveTasks && !task.isEnabled()) + if (!task.isEnabled()) continue; result.add(task.clone()); } @@ -883,21 +857,8 @@ public class RunManagerImpl extends RunManagerEx implements JDOMExternalizable, if (shouldFire) fireRunConfigurationChanged(settings); } - public final void setBeforeRunTasks(final RunConfiguration runConfiguration, List tasks) { - List templates = getTemplateBeforeRunTask(runConfiguration, false); - Set> idsToSet = new HashSet>(); - List result = new ArrayList(tasks); - for (BeforeRunTask task : tasks) { - idsToSet.add(task.getProviderId()); - } - int i = 0; - for (BeforeRunTask template : templates) { - if (!idsToSet.contains(template.getProviderId())) { - result.add(i, template); - i++; - } - } - myConfigurationToBeforeTasksMap.put(runConfiguration, result); + public final void setBeforeRunTasks(final RunConfiguration runConfiguration, @NotNull List tasks) { + myConfigurationToBeforeTasksMap.put(runConfiguration, tasks); fireBeforeRunTasksUpdated(); } diff --git a/platform/platform-api/src/com/intellij/ui/CollectionListModel.java b/platform/platform-api/src/com/intellij/ui/CollectionListModel.java index 161529538472..12ddaa9bff41 100644 --- a/platform/platform-api/src/com/intellij/ui/CollectionListModel.java +++ b/platform/platform-api/src/com/intellij/ui/CollectionListModel.java @@ -98,4 +98,9 @@ public class CollectionListModel extends AbstractListModel { removeAll(); add(elements); } + + @Override + public String toString() { + return getClass().getName() + " (" + getSize() + " elements)"; + } } diff --git a/platform/testFramework/src/com/intellij/mock/MockRunManager.java b/platform/testFramework/src/com/intellij/mock/MockRunManager.java index 4f47bbd45014..7ceb5eb0b85c 100644 --- a/platform/testFramework/src/com/intellij/mock/MockRunManager.java +++ b/platform/testFramework/src/com/intellij/mock/MockRunManager.java @@ -111,18 +111,12 @@ public class MockRunManager extends RunManagerEx { @NotNull @Override public List getBeforeRunTasks(RunConfiguration settings) { - return null; - } - - @NotNull - @Override - public List getBeforeRunTasks(RunConfiguration settings, boolean includeOnlyActiveTasks) { return Collections.emptyList(); } @NotNull @Override - public List getBeforeRunTasks(Key taskProviderID, boolean includeOnlyActiveTasks) { + public List getBeforeRunTasks(Key taskProviderID) { return Collections.emptyList(); } diff --git a/plugins/ant/src/com/intellij/lang/ant/config/explorer/AntTargetNodeDescriptor.java b/plugins/ant/src/com/intellij/lang/ant/config/explorer/AntTargetNodeDescriptor.java index b5fe79ba9959..12450fafdb4b 100644 --- a/plugins/ant/src/com/intellij/lang/ant/config/explorer/AntTargetNodeDescriptor.java +++ b/plugins/ant/src/com/intellij/lang/ant/config/explorer/AntTargetNodeDescriptor.java @@ -97,7 +97,7 @@ final class AntTargetNodeDescriptor extends AntNodeDescriptor { final RunManagerEx runManager = RunManagerEx.getInstanceEx(myProject); final VirtualFile vFile = buildFile.getVirtualFile(); if (vFile != null) { - for (AntBeforeRunTask task : runManager.getBeforeRunTasks(AntBeforeRunTaskProvider.ID, true)) { + for (AntBeforeRunTask task : runManager.getBeforeRunTasks(AntBeforeRunTaskProvider.ID)) { if (task.isRunningTarget(myTarget)) { myHighlightedText.getEnding().addText(" (Before Run/Debug)", ourPostfixAttributes); break; diff --git a/plugins/ant/src/com/intellij/lang/ant/config/impl/AntBeforeRunTask.java b/plugins/ant/src/com/intellij/lang/ant/config/impl/AntBeforeRunTask.java index da5fe11c2bc6..9612ca7417f2 100644 --- a/plugins/ant/src/com/intellij/lang/ant/config/impl/AntBeforeRunTask.java +++ b/plugins/ant/src/com/intellij/lang/ant/config/impl/AntBeforeRunTask.java @@ -69,9 +69,6 @@ public class AntBeforeRunTask extends BeforeRunTask{ } public boolean isRunningTarget(AntBuildTarget target) { - if (!isEnabled()) { - return false; - } final VirtualFile vFile = target.getModel().getBuildFile().getVirtualFile(); if (vFile == null) { return false; diff --git a/plugins/ant/src/com/intellij/lang/ant/config/impl/AntBeforeRunTaskProvider.java b/plugins/ant/src/com/intellij/lang/ant/config/impl/AntBeforeRunTaskProvider.java index 96dffca033d0..d1b589dba850 100644 --- a/plugins/ant/src/com/intellij/lang/ant/config/impl/AntBeforeRunTaskProvider.java +++ b/plugins/ant/src/com/intellij/lang/ant/config/impl/AntBeforeRunTaskProvider.java @@ -66,7 +66,7 @@ public class AntBeforeRunTaskProvider extends BeforeRunTaskProvider"); @@ -144,7 +144,7 @@ public class AntBeforeRunTaskProvider extends BeforeRunTaskProvider projectAndGoal = getProjectAndGoalChecked(task); - if (projectAndGoal != null) desc = projectAndGoal.first.getDisplayName() + ":" + projectAndGoal.second; - } + Pair projectAndGoal = getProjectAndGoalChecked(task); + if (projectAndGoal != null) desc = projectAndGoal.first.getDisplayName() + ":" + projectAndGoal.second; return desc == null ? TasksBundle.message("maven.tasks.before.run.empty") : TasksBundle.message("maven.tasks.before.run", desc); diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/tasks/MavenTasksManager.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/tasks/MavenTasksManager.java index 55cdc3ae5d16..303d91189726 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/tasks/MavenTasksManager.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/tasks/MavenTasksManager.java @@ -162,7 +162,7 @@ public class MavenTasksManager extends MavenSimpleProjectComponent implements Pe } } RunManagerEx runManager = RunManagerEx.getInstanceEx(myProject); - for (MavenBeforeRunTask each : runManager.getBeforeRunTasks(MavenBeforeRunTasksProvider.ID, true)) { + for (MavenBeforeRunTask each : runManager.getBeforeRunTasks(MavenBeforeRunTasksProvider.ID)) { if (each.isFor(project, goal)) { result.add(TasksBundle.message("maven.tasks.goal.before.run")); break; diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/tasks/actions/ToggleBeforeRunTaskAction.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/tasks/actions/ToggleBeforeRunTaskAction.java index 62949c591b88..cbbf24fc8c6a 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/tasks/actions/ToggleBeforeRunTaskAction.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/tasks/actions/ToggleBeforeRunTaskAction.java @@ -40,8 +40,8 @@ public class ToggleBeforeRunTaskAction extends MavenToggleAction { final DataContext context = e.getDataContext(); final Pair desc = getTaskDesc(context); if (desc != null) { - for (MavenBeforeRunTask each : getRunManager(context).getBeforeRunTasks(MavenBeforeRunTasksProvider.ID, true)) { - if (each.isEnabled() && each.isFor(desc.first, desc.second)) return true; + for (MavenBeforeRunTask each : getRunManager(context).getBeforeRunTasks(MavenBeforeRunTasksProvider.ID)) { + if (each.isFor(desc.first, desc.second)) return true; } } return false; diff --git a/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGConfigurationType.java b/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGConfigurationType.java index 08cb9c134888..7dfc48dfa35b 100644 --- a/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGConfigurationType.java +++ b/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGConfigurationType.java @@ -23,9 +23,7 @@ package com.theoryinpractice.testng.configuration; import com.intellij.execution.Location; -import com.intellij.execution.RunConfigurationExtension; import com.intellij.execution.RunManagerEx; -import com.intellij.execution.RunnerAndConfigurationSettings; import com.intellij.execution.configuration.ConfigurationFactoryEx; import com.intellij.execution.configurations.*; import com.intellij.execution.impl.RunManagerImpl; @@ -57,11 +55,6 @@ public class TestNGConfigurationType implements ConfigurationType return new TestNGConfiguration("", project, this); } - @Override - public Icon getIcon(@NotNull final RunConfiguration configuration) { - return ICON; - } - @Override public void onNewConfigurationCreated(@NotNull RunConfiguration configuration) { ((ModuleBasedConfiguration)configuration).onNewConfigurationCreated();