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); }