summaryrefslogtreecommitdiff
path: root/platform/projectModel-impl/src/com/intellij/core
diff options
context:
space:
mode:
Diffstat (limited to 'platform/projectModel-impl/src/com/intellij/core')
-rw-r--r--platform/projectModel-impl/src/com/intellij/core/CoreModuleManager.java5
-rw-r--r--platform/projectModel-impl/src/com/intellij/core/CoreProjectLoader.java14
2 files changed, 8 insertions, 11 deletions
diff --git a/platform/projectModel-impl/src/com/intellij/core/CoreModuleManager.java b/platform/projectModel-impl/src/com/intellij/core/CoreModuleManager.java
index 7f7e0df4621d..8753b73144d3 100644
--- a/platform/projectModel-impl/src/com/intellij/core/CoreModuleManager.java
+++ b/platform/projectModel-impl/src/com/intellij/core/CoreModuleManager.java
@@ -26,7 +26,6 @@ import com.intellij.openapi.roots.impl.ModuleRootManagerImpl;
import com.intellij.openapi.util.InvalidDataException;
import com.intellij.openapi.vfs.StandardFileSystems;
import com.intellij.openapi.vfs.VirtualFile;
-import org.jdom.Element;
import org.jdom.JDOMException;
import java.io.IOException;
@@ -52,10 +51,10 @@ public class CoreModuleManager extends ModuleManagerImpl {
final ModuleEx module = createModule(filePath);
VirtualFile vFile = StandardFileSystems.local().findFileByPath(filePath);
try {
+ assert vFile != null;
StorageData storageData = CoreProjectLoader.loadStorageFile(module, vFile);
- final Element element = storageData.getState("NewModuleRootManager");
ModuleRootManagerImpl.ModuleRootManagerState state = new ModuleRootManagerImpl.ModuleRootManagerState();
- state.readExternal(element);
+ state.readExternal(storageData.getState("NewModuleRootManager"));
((ModuleRootManagerImpl) ModuleRootManager.getInstance(module)).loadState(state);
}
catch (JDOMException e) {
diff --git a/platform/projectModel-impl/src/com/intellij/core/CoreProjectLoader.java b/platform/projectModel-impl/src/com/intellij/core/CoreProjectLoader.java
index 5d8ac1fd4ed2..f05983aff69a 100644
--- a/platform/projectModel-impl/src/com/intellij/core/CoreProjectLoader.java
+++ b/platform/projectModel-impl/src/com/intellij/core/CoreProjectLoader.java
@@ -27,14 +27,11 @@ import com.intellij.openapi.roots.impl.ProjectRootManagerImpl;
import com.intellij.openapi.roots.impl.libraries.LibraryTableBase;
import com.intellij.openapi.roots.impl.libraries.ProjectLibraryTable;
import com.intellij.openapi.util.InvalidDataException;
-import com.intellij.openapi.util.JDOMUtil;
import com.intellij.openapi.vfs.VirtualFile;
-import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jetbrains.annotations.NotNull;
-import java.io.ByteArrayInputStream;
import java.io.IOException;
/**
@@ -56,7 +53,9 @@ public class CoreProjectLoader {
private static void loadDirectoryProject(MockProject project, VirtualFile projectDir) throws IOException, JDOMException,
InvalidDataException {
VirtualFile dotIdea = projectDir.findChild(Project.DIRECTORY_STORE_FOLDER);
+ assert dotIdea != null;
VirtualFile modulesXml = dotIdea.findChild("modules.xml");
+ assert modulesXml != null;
StorageData storageData = loadStorageFile(project, modulesXml);
final Element moduleManagerState = storageData.getState("ProjectModuleManager");
if (moduleManagerState == null) {
@@ -66,6 +65,7 @@ public class CoreProjectLoader {
moduleManager.loadState(moduleManagerState);
VirtualFile miscXml = dotIdea.findChild("misc.xml");
+ assert miscXml != null;
storageData = loadStorageFile(project, miscXml);
final Element projectRootManagerState = storageData.getState("ProjectRootManager");
if (projectRootManagerState == null) {
@@ -85,12 +85,10 @@ public class CoreProjectLoader {
project.projectOpened();
}
- public static StorageData loadStorageFile(ComponentManager componentManager, VirtualFile modulesXml) throws JDOMException, IOException {
- final Document document = JDOMUtil.loadDocument(new ByteArrayInputStream(modulesXml.contentsToByteArray()));
+ @NotNull
+ public static StorageData loadStorageFile(@NotNull ComponentManager componentManager, @NotNull VirtualFile modulesXml) throws JDOMException, IOException {
StorageData storageData = new StorageData("project");
- final Element element = document.getRootElement();
- PathMacroManager.getInstance(componentManager).expandPaths(element);
- storageData.load(element);
+ storageData.load(StorageData.load(modulesXml), PathMacroManager.getInstance(componentManager), false);
return storageData;
}
}