From 47cc84088fc21d2d07fb4ddd80745a4fa3bd0bcf Mon Sep 17 00:00:00 2001 From: Alexey Pegov Date: Mon, 26 Oct 2009 14:39:47 +0300 Subject: [PATCH] 16432 IOE: VirtualDirectoryImpl.getOutputStream: file based storage should have an extension --- .../components/impl/stores/StateStorageManagerImpl.java | 6 ++++++ 1 file changed, 6 insertions(+) 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 bcbf5630e755..36c993fe3527 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 @@ -23,6 +23,7 @@ import com.intellij.openapi.options.StreamProvider; import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.JDOMUtil; import com.intellij.openapi.util.Pair; +import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.util.containers.MultiMap; @@ -267,6 +268,11 @@ public abstract class StateStorageManagerImpl implements StateStorageManager, Di return null; } + final String extension = FileUtil.getExtension(new File(expandedFile).getName()); + if (extension.length() == 0) { + throw new IllegalArgumentException("Extension is missing for storage file: " + expandedFile); + } + return createFileStateStorage(fileSpec, expandedFile, myRootTagName, myPicoContainer); }