summaryrefslogtreecommitdiff
path: root/xml/xml-psi-impl/src/com
diff options
context:
space:
mode:
Diffstat (limited to 'xml/xml-psi-impl/src/com')
-rw-r--r--xml/xml-psi-impl/src/com/intellij/javaee/ExternalResourceManagerExImpl.java4
-rw-r--r--xml/xml-psi-impl/src/com/intellij/psi/impl/source/html/HtmlFileImpl.java15
2 files changed, 14 insertions, 5 deletions
diff --git a/xml/xml-psi-impl/src/com/intellij/javaee/ExternalResourceManagerExImpl.java b/xml/xml-psi-impl/src/com/intellij/javaee/ExternalResourceManagerExImpl.java
index 2eee2882613e..d030ccf9f189 100644
--- a/xml/xml-psi-impl/src/com/intellij/javaee/ExternalResourceManagerExImpl.java
+++ b/xml/xml-psi-impl/src/com/intellij/javaee/ExternalResourceManagerExImpl.java
@@ -47,7 +47,7 @@ import java.util.*;
@State(name = "ExternalResourceManagerImpl",
storages = {@Storage( file = StoragePathMacros.APP_CONFIG + "/other.xml")})
-public class ExternalResourceManagerExImpl extends ExternalResourceManagerEx {
+public class ExternalResourceManagerExImpl extends ExternalResourceManagerEx implements JDOMExternalizable {
static final Logger LOG = Logger.getInstance("#com.intellij.j2ee.openapi.impl.ExternalResourceManagerImpl");
@NonNls public static final String J2EE_1_3 = "http://java.sun.com/dtd/";
@@ -374,6 +374,7 @@ public class ExternalResourceManagerExImpl extends ExternalResourceManagerEx {
return getProjectResources(project).getModificationCount();
}
+ @Override
public void readExternal(Element element) {
final ExpandMacroToPathMap macroExpands = new ExpandMacroToPathMap();
myPathMacros.addMacroExpands(macroExpands);
@@ -404,6 +405,7 @@ public class ExternalResourceManagerExImpl extends ExternalResourceManagerEx {
}
}
+ @Override
public void writeExternal(Element element) {
final String[] urls = getAvailableUrls();
for (String url : urls) {
diff --git a/xml/xml-psi-impl/src/com/intellij/psi/impl/source/html/HtmlFileImpl.java b/xml/xml-psi-impl/src/com/intellij/psi/impl/source/html/HtmlFileImpl.java
index 86b2368b6489..be3b9724a958 100644
--- a/xml/xml-psi-impl/src/com/intellij/psi/impl/source/html/HtmlFileImpl.java
+++ b/xml/xml-psi-impl/src/com/intellij/psi/impl/source/html/HtmlFileImpl.java
@@ -59,10 +59,18 @@ public class HtmlFileImpl extends XmlFileImpl implements FileReferenceResolver {
return null;
}
- VirtualFile childFile = file.findChild(name);
- HttpFileSystem fileSystem = (HttpFileSystem)getVirtualFile().getFileSystem();
+ VirtualFile parent = file;
+ if (!parent.isDirectory()) {
+ parent = parent.getParent();
+ if (parent == null) {
+ parent = file;
+ }
+ }
+
+ VirtualFile childFile = parent.findChild(name);
+ HttpFileSystem fileSystem = (HttpFileSystem)parent.getFileSystem();
if (childFile == null) {
- childFile = fileSystem.createChild(getVirtualFile(), name, !reference.isLast());
+ childFile = fileSystem.createChild(parent, name, !reference.isLast());
}
if (childFile.isDirectory()) {
// pre create children
@@ -72,7 +80,6 @@ public class HtmlFileImpl extends XmlFileImpl implements FileReferenceResolver {
FileReference childReference = references[i];
childParent = fileSystem.createChild(childParent, childReference.decode(childReference.getText()), i != (n - 1));
}
-
return getManager().findDirectory(childFile);
}
else {