16432 IOE: VirtualDirectoryImpl.getOutputStream: file based storage should have an extension

This commit is contained in:
Alexey Pegov
2009-10-26 14:39:47 +03:00
parent 9d1d1d5597
commit 47cc84088f
@@ -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);
}