From 907f014df496d3fcdcc0d7d538cb886c0383ecf9 Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Wed, 16 May 2012 10:15:06 +0400 Subject: [PATCH] initComponent() simplified --- .../impl/stores/ComponentStoreImpl.java | 34 ++++++------------- .../impl/stores/IComponentStore.java | 5 ++- .../com/intellij/mock/MockProjectStore.java | 2 +- 3 files changed, 14 insertions(+), 27 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/components/impl/stores/ComponentStoreImpl.java b/platform/platform-impl/src/com/intellij/openapi/components/impl/stores/ComponentStoreImpl.java index ad9042e4212c..fdcbddded929 100644 --- a/platform/platform-impl/src/com/intellij/openapi/components/impl/stores/ComponentStoreImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/components/impl/stores/ComponentStoreImpl.java @@ -19,7 +19,6 @@ import com.intellij.diagnostic.IdeErrorsDialog; import com.intellij.diagnostic.PluginException; import com.intellij.ide.plugins.PluginManager; import com.intellij.openapi.application.ApplicationManager; -import com.intellij.openapi.application.ex.ApplicationEx; import com.intellij.openapi.application.ex.ApplicationManagerEx; import com.intellij.openapi.components.*; import com.intellij.openapi.components.impl.ComponentManagerImpl; @@ -66,39 +65,28 @@ abstract class ComponentStoreImpl implements IComponentStore { throw new UnsupportedOperationException("Method getDefaultsStorage is not supported in " + getClass()); } - public String initComponent(@NotNull final Object component, final boolean service) { - boolean isSerializable = component instanceof JDOMExternalizable || - component instanceof PersistentStateComponent || - component instanceof SettingsSavingComponent; - - if (!isSerializable) return null; + public void initComponent(@NotNull final Object component, final boolean service) { if (component instanceof SettingsSavingComponent) { SettingsSavingComponent settingsSavingComponent = (SettingsSavingComponent)component; mySettingsSavingComponents.add(settingsSavingComponent); } - final String[] componentName = {null}; - final Runnable r = new Runnable() { + boolean isSerializable = component instanceof JDOMExternalizable || + component instanceof PersistentStateComponent; + + if (!isSerializable) return; + + ApplicationManagerEx.getApplicationEx().runReadAction(new Runnable() { public void run() { if (component instanceof PersistentStateComponent) { - componentName[0] = initPersistentComponent((PersistentStateComponent)component, false); + initPersistentComponent((PersistentStateComponent)component, false); } - else if (component instanceof JDOMExternalizable) { - componentName[0] = initJdomExternalizable((JDOMExternalizable)component); + else { + initJdomExternalizable((JDOMExternalizable)component); } } - }; - - final ApplicationEx applicationEx = ApplicationManagerEx.getApplicationEx(); - if (applicationEx.isUnitTestMode()) { - r.run(); // Todo - } - else { - applicationEx.runReadAction(r); - } - - return componentName[0]; + }); } public boolean isSaving() { diff --git a/platform/platform-impl/src/com/intellij/openapi/components/impl/stores/IComponentStore.java b/platform/platform-impl/src/com/intellij/openapi/components/impl/stores/IComponentStore.java index 30ff783c2cb6..016231565ea2 100644 --- a/platform/platform-impl/src/com/intellij/openapi/components/impl/stores/IComponentStore.java +++ b/platform/platform-impl/src/com/intellij/openapi/components/impl/stores/IComponentStore.java @@ -28,12 +28,11 @@ import java.util.List; import java.util.Set; public interface IComponentStore { - @Nullable - String initComponent(Object component, boolean service); + + void initComponent(Object component, boolean service); void reinitComponents(Set componentNames, boolean reloadData); boolean isReloadPossible(Set componentNames); - void load() throws IOException, StateStorageException; boolean isSaving(); diff --git a/platform/testFramework/src/com/intellij/mock/MockProjectStore.java b/platform/testFramework/src/com/intellij/mock/MockProjectStore.java index af32d43cdc3b..77fe4db09da0 100644 --- a/platform/testFramework/src/com/intellij/mock/MockProjectStore.java +++ b/platform/testFramework/src/com/intellij/mock/MockProjectStore.java @@ -122,7 +122,7 @@ public class MockProjectStore implements IProjectStore { } @Override - public String initComponent(Object component, final boolean service) { + public void initComponent(Object component, final boolean service) { throw new UnsupportedOperationException("Method initComponent is not yet implemented in " + getClass().getName()); }