Added escaping/unescaping "name" attribute value in external annotations.

This commit is contained in:
Evgeny Gerashchenko
2012-08-03 18:05:14 +04:00
parent 4e2db922d1
commit 8b7bbff505
2 changed files with 3 additions and 3 deletions
@@ -131,7 +131,7 @@ public abstract class BaseExternalAnnotationsManager extends ExternalAnnotations
final String externalName = getExternalName(listOwner, false);
final String oldExternalName = getNormalizedExternalName(listOwner);
for (final XmlTag tag : rootTag.getSubTags()) {
final String className = tag.getAttributeValue("name");
final String className = StringUtil.unescapeXml(tag.getAttributeValue("name"));
if (!Comparing.strEqual(className, externalName) && !Comparing.strEqual(className, oldExternalName)) {
continue;
}
@@ -446,7 +446,7 @@ public class ExternalAnnotationsManagerImpl extends BaseExternalAnnotationsManag
final String externalName = getExternalName(listOwner, false);
if (rootTag != null) {
for (XmlTag tag : rootTag.getSubTags()) {
if (Comparing.strEqual(tag.getAttributeValue("name"), externalName)) {
if (Comparing.strEqual(StringUtil.unescapeXml(tag.getAttributeValue("name")), externalName)) {
for (XmlTag annTag : tag.getSubTags()) {
if (Comparing.strEqual(annTag.getAttributeValue("name"), annotationFQName)) {
annTag.delete();
@@ -459,7 +459,7 @@ public class ExternalAnnotationsManagerImpl extends BaseExternalAnnotationsManag
}
}
@NonNls String text =
"<item name=\'" + externalName + "\'>\n";
"<item name=\'" + StringUtil.escapeXml(externalName) + "\'>\n";
text += createAnnotationTag(annotationFQName, values);
text += "</item>";
rootTag.add(XmlElementFactory.getInstance(myPsiManager.getProject()).createTagFromText(text));