From 8b7bbff505ff38cd067a7d3d4f0d1ab5de4443fc Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Mon, 25 Jun 2012 18:46:46 +0400 Subject: [PATCH] Added escaping/unescaping "name" attribute value in external annotations. --- .../intellij/codeInsight/BaseExternalAnnotationsManager.java | 2 +- .../intellij/codeInsight/ExternalAnnotationsManagerImpl.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/BaseExternalAnnotationsManager.java b/java/java-impl/src/com/intellij/codeInsight/BaseExternalAnnotationsManager.java index 126d35960d53..4cff6e6fff34 100644 --- a/java/java-impl/src/com/intellij/codeInsight/BaseExternalAnnotationsManager.java +++ b/java/java-impl/src/com/intellij/codeInsight/BaseExternalAnnotationsManager.java @@ -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; } diff --git a/java/java-impl/src/com/intellij/codeInsight/ExternalAnnotationsManagerImpl.java b/java/java-impl/src/com/intellij/codeInsight/ExternalAnnotationsManagerImpl.java index 3ef9f9380fcc..3d4e01f8a59d 100644 --- a/java/java-impl/src/com/intellij/codeInsight/ExternalAnnotationsManagerImpl.java +++ b/java/java-impl/src/com/intellij/codeInsight/ExternalAnnotationsManagerImpl.java @@ -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 = - "\n"; + "\n"; text += createAnnotationTag(annotationFQName, values); text += ""; rootTag.add(XmlElementFactory.getInstance(myPsiManager.getProject()).createTagFromText(text));