From 3d7f7d2678ff67c1c7283f15c32a0183168dff23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yann=20C=C3=A9bron?= Date: Thu, 5 Jun 2014 14:22:06 +0200 Subject: [PATCH] IDEA-125820 DOM Generator: problem with XML element names matching default/generated imports CR-IC-5549 --- .../devkit/src/dom/generator/JetBrainsEmitter.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/plugins/devkit/src/dom/generator/JetBrainsEmitter.java b/plugins/devkit/src/dom/generator/JetBrainsEmitter.java index 236fd11871fe..efc82d6c1dd3 100644 --- a/plugins/devkit/src/dom/generator/JetBrainsEmitter.java +++ b/plugins/devkit/src/dom/generator/JetBrainsEmitter.java @@ -22,6 +22,9 @@ */ package org.jetbrains.idea.devkit.dom.generator; +import com.intellij.openapi.util.text.StringUtil; +import com.intellij.psi.CommonClassNames; + import java.io.File; import java.io.FileWriter; import java.io.IOException; @@ -67,7 +70,7 @@ public class JetBrainsEmitter implements Emitter { final String typeName = td.name; final String typeQName = model.getNSDPrefix(td) + typeName; final String pkgName = typeQName.lastIndexOf('.') > -1 ? typeQName.substring(0, typeQName.lastIndexOf('.')) : ""; - final String stringClass = myUseQualifiedClassNames ? "java.lang.String" : "String"; + final String stringClass = getStringClassName(); final File outFile = fileManager.getOutputFile(new File(outDir, toJavaFileName(typeQName))); PrintWriter out = null; @@ -528,7 +531,7 @@ public class JetBrainsEmitter implements Emitter { } if (jtList.size() == 0) return; - final String stringClass = myUseQualifiedClassNames ? "java.lang.String" : "String"; + final String stringClass = getStringClassName(); String typeName = nsd.helperClass.substring(nsd.helperClass.lastIndexOf(".") + 1); final String typeQName = model.toJavaQualifiedTypeName("", nsd.helperClass, false); String pkgName = typeQName.substring(0, typeQName.lastIndexOf('.')); @@ -668,6 +671,10 @@ public class JetBrainsEmitter implements Emitter { return typeName.replace('.', File.separatorChar) + ".java"; } + private String getStringClassName() { + return myUseQualifiedClassNames ? CommonClassNames.JAVA_LANG_STRING : StringUtil.getShortName(CommonClassNames.JAVA_LANG_STRING); + } + public static String toJavaIdName(String javaFieldName) { if (Util.RESERVED_NAMES_MAP.containsKey(javaFieldName)) { javaFieldName += "_";