From 3c5c65160e5287fdbfc5ffa0ff7ef6e7505759ce Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Tue, 7 Oct 2014 14:12:43 +0200 Subject: [PATCH] =?UTF-8?q?constant=20order=20of=20externalization=20sessi?= =?UTF-8?q?ons=20=E2=80=94=20simplify=20debug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/stores/StateStorageManagerImpl.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/components/impl/stores/StateStorageManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/components/impl/stores/StateStorageManagerImpl.java index 434767be988b..e678dc6f7dc7 100644 --- a/platform/platform-impl/src/com/intellij/openapi/components/impl/stores/StateStorageManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/components/impl/stores/StateStorageManagerImpl.java @@ -15,7 +15,6 @@ */ package com.intellij.openapi.components.impl.stores; -import com.intellij.codeInspection.SmartHashMap; import com.intellij.openapi.Disposable; import com.intellij.openapi.application.Application; import com.intellij.openapi.application.ApplicationManager; @@ -414,9 +413,13 @@ public abstract class StateStorageManagerImpl implements StateStorageManager, Di @Override public SaveSession startSave(@NotNull ExternalizationSession externalizationSession) { StateStorageManagerExternalizationSession myExternalizationSession = (StateStorageManagerExternalizationSession)externalizationSession; + if (myExternalizationSession.mySessions.isEmpty()) { + return null; + } + List saveSessions = null; - for (StateStorage stateStorage : myExternalizationSession.mySessions.keySet()) { - SaveSession saveSession = stateStorage.startSave(myExternalizationSession.mySessions.get(stateStorage)); + for (Map.Entry entry : myExternalizationSession.mySessions.entrySet()) { + SaveSession saveSession = entry.getKey().startSave(entry.getValue()); if (saveSession != null) { if (saveSessions == null) { saveSessions = new SmartList(); @@ -448,7 +451,7 @@ public abstract class StateStorageManagerImpl implements StateStorageManager, Di } private final class StateStorageManagerExternalizationSession implements ExternalizationSession { - final Map mySessions = new SmartHashMap(); + final Map mySessions = new LinkedHashMap(); @Override public void setState(@NotNull Storage[] storageSpecs, @NotNull Object component, @NotNull String componentName, @NotNull Object state) {