From a5d7e2d505701fe2d8af292a52233bf0e14a1bcf Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Mon, 22 Sep 2014 08:28:11 +0200 Subject: [PATCH] we don't use local data if has stream provider --- .../impl/stores/XmlElementStorage.java | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/components/impl/stores/XmlElementStorage.java b/platform/platform-impl/src/com/intellij/openapi/components/impl/stores/XmlElementStorage.java index 76f47db77533..b6b2a2cd5696 100644 --- a/platform/platform-impl/src/com/intellij/openapi/components/impl/stores/XmlElementStorage.java +++ b/platform/platform-impl/src/com/intellij/openapi/components/impl/stores/XmlElementStorage.java @@ -144,19 +144,18 @@ public abstract class XmlElementStorage implements StateStorage, Disposable { StorageData result = createStorageData(); if (useProvidersData && myStreamProvider != null && myStreamProvider.isEnabled()) { - boolean wasLoaded = false; try { - wasLoaded = loadDataFromStreamProvider(result); + loadDataFromStreamProvider(result); + + //noinspection deprecation + if (!myStreamProvider.isVersioningRequired() && !(myStreamProvider instanceof OldStreamProviderAdapter || myStreamProvider instanceof CurrentUserHolder)) { + // we don't use local data if has stream provider (we don't use this logic for old stream providers) + return result; + } } catch (Exception e) { LOG.warn(e); } - - //noinspection deprecation - if (wasLoaded && !myStreamProvider.isVersioningRequired() && !(myStreamProvider instanceof OldStreamProviderAdapter || myStreamProvider instanceof CurrentUserHolder)) { - // we don't use local data if stream provider has one (to preserve backward compatibility, we don't use this logic for old stream providers) - return result; - } } Element element = loadLocalData(); @@ -167,17 +166,16 @@ public abstract class XmlElementStorage implements StateStorage, Disposable { return result; } - private boolean loadDataFromStreamProvider(@NotNull StorageData result) throws IOException, JDOMException { + private void loadDataFromStreamProvider(@NotNull StorageData result) throws IOException, JDOMException { assert myStreamProvider != null; InputStream inputStream = myStreamProvider.loadContent(myFileSpec, myRoamingType); if (inputStream == null) { - return false; + return; } Element element = JDOMUtil.loadDocument(inputStream).getRootElement(); filterOutOfDate(element); loadState(result, element); - return true; } private void loadState(@NotNull StorageData result, @NotNull Element element) {