diff options
Diffstat (limited to 'xml/xml-psi-impl/src/com')
-rw-r--r-- | xml/xml-psi-impl/src/com/intellij/javaee/ExternalResourceManagerExImpl.java | 4 | ||||
-rw-r--r-- | xml/xml-psi-impl/src/com/intellij/psi/impl/source/html/HtmlFileImpl.java | 15 |
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 { |