diff --git a/plugins/google-app-engine/google-app-engine.iml b/plugins/google-app-engine/google-app-engine.iml
index 9f61180d15b1..07f409907f11 100644
--- a/plugins/google-app-engine/google-app-engine.iml
+++ b/plugins/google-app-engine/google-app-engine.iml
@@ -15,7 +15,6 @@
-
@@ -23,7 +22,6 @@
-
diff --git a/plugins/google-app-engine/source/com/intellij/appengine/facet/AppEngineFacet.java b/plugins/google-app-engine/source/com/intellij/appengine/facet/AppEngineFacet.java
index 094084e41542..541e524009cd 100644
--- a/plugins/google-app-engine/source/com/intellij/appengine/facet/AppEngineFacet.java
+++ b/plugins/google-app-engine/source/com/intellij/appengine/facet/AppEngineFacet.java
@@ -19,7 +19,6 @@ import com.intellij.appengine.descriptor.dom.AppEngineWebApp;
import com.intellij.appengine.sdk.AppEngineSdk;
import com.intellij.appengine.sdk.AppEngineSdkManager;
import com.intellij.facet.*;
-import com.intellij.javaee.util.JamCommonUtil;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleUtilCore;
import com.intellij.openapi.project.Project;
@@ -28,6 +27,11 @@ import com.intellij.openapi.vfs.VfsUtilCore;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiFile;
import com.intellij.psi.PsiManager;
+import com.intellij.psi.xml.XmlFile;
+import com.intellij.util.ReflectionCache;
+import com.intellij.util.xml.DomElement;
+import com.intellij.util.xml.DomFileElement;
+import com.intellij.util.xml.DomManager;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -69,9 +73,22 @@ public class AppEngineFacet extends Facet {
PsiFile psiFile = PsiManager.getInstance(project).findFile(descriptorFile);
if (psiFile == null) return null;
- return JamCommonUtil.getRootElement(psiFile, AppEngineWebApp.class, module);
+ return getRootElement(psiFile, AppEngineWebApp.class, module);
}
+ //todo[nik] copied from JamCommonUtil
+ @Nullable
+ private static T getRootElement(final PsiFile file, final Class domClass, final Module module) {
+ if (!(file instanceof XmlFile)) return null;
+ final DomManager domManager = DomManager.getDomManager(file.getProject());
+ final DomFileElement element = domManager.getFileElement((XmlFile)file, DomElement.class);
+ if (element == null) return null;
+ final DomElement root = element.getRootElement();
+ if (!ReflectionCache.isAssignable(domClass, root.getClass())) return null;
+ return (T)root;
+ }
+
+
public boolean shouldRunEnhancerFor(@NotNull VirtualFile file) {
for (String path : getConfiguration().getFilesToEnhance()) {
final VirtualFile toEnhance = LocalFileSystem.getInstance().findFileByPath(path);