From f293c4ae0b209805dcd28ad26a35892b55df571e Mon Sep 17 00:00:00 2001 From: "Gregory.Shrago" Date: Tue, 21 Jan 2014 03:34:53 +0400 Subject: [PATCH] IDEA-119619 Settings / Language Injections: project level XML tag injection loses Sub-Tags value on IDE restart --- .../java/JavaLanguageInjectionSupport.java | 5 +---- .../config/ui/AbstractInjectionPanel.java | 19 +++++++------------ .../inject/config/XmlAttributeInjection.java | 8 -------- .../inject/config/ui/TagPanel.java | 1 - .../inject/config/ui/XmlAttributePanel.java | 3 --- .../xml/XmlLanguageInjectionSupport.java | 5 +++-- 6 files changed, 11 insertions(+), 30 deletions(-) diff --git a/plugins/IntelliLang/java-support/org/intellij/plugins/intelliLang/inject/java/JavaLanguageInjectionSupport.java b/plugins/IntelliLang/java-support/org/intellij/plugins/intelliLang/inject/java/JavaLanguageInjectionSupport.java index d70ee60161bb..14c7535f8044 100644 --- a/plugins/IntelliLang/java-support/org/intellij/plugins/intelliLang/inject/java/JavaLanguageInjectionSupport.java +++ b/plugins/IntelliLang/java-support/org/intellij/plugins/intelliLang/inject/java/JavaLanguageInjectionSupport.java @@ -174,10 +174,7 @@ public class JavaLanguageInjectionSupport extends AbstractLanguageInjectionSuppo } public BaseInjection createInjection(final Element element) { - if (element.getName().equals(MethodParameterInjection.class.getSimpleName())) { - return new MethodParameterInjection(); - } - else return new BaseInjection(JAVA_SUPPORT_ID); + return new BaseInjection(JAVA_SUPPORT_ID); } private static boolean doInjectInJava(final Project project, diff --git a/plugins/IntelliLang/src/org/intellij/plugins/intelliLang/inject/config/ui/AbstractInjectionPanel.java b/plugins/IntelliLang/src/org/intellij/plugins/intelliLang/inject/config/ui/AbstractInjectionPanel.java index b82d26a72d82..9b6fc83533fa 100644 --- a/plugins/IntelliLang/src/org/intellij/plugins/intelliLang/inject/config/ui/AbstractInjectionPanel.java +++ b/plugins/IntelliLang/src/org/intellij/plugins/intelliLang/inject/config/ui/AbstractInjectionPanel.java @@ -15,8 +15,6 @@ */ package org.intellij.plugins.intelliLang.inject.config.ui; -import com.intellij.openapi.editor.event.DocumentAdapter; -import com.intellij.openapi.editor.event.DocumentEvent; import com.intellij.openapi.project.Project; import com.intellij.util.ui.UIUtil; import org.intellij.plugins.intelliLang.inject.config.BaseInjection; @@ -73,7 +71,6 @@ public abstract class AbstractInjectionPanel implements final InjectionPanel p = getField(panel); p.init(copy); } - reset(); } public final boolean isModified() { @@ -95,18 +92,22 @@ public abstract class AbstractInjectionPanel implements // auto-generated name should go last apply(myOrigInjection); - myOrigInjection.generatePlaces(); - myEditCopy.copyFrom(myOrigInjection); + if (!myOtherPanels.isEmpty()) { + myOrigInjection.generatePlaces(); + myEditCopy.copyFrom(myOrigInjection); + } } protected abstract void apply(T other); @SuppressWarnings({"unchecked"}) public final void reset() { + if (!myOtherPanels.isEmpty()) { + myEditCopy.copyFrom(myOrigInjection); + } for (Field panel : myOtherPanels) { getField(panel).reset(); } - myEditCopy.copyFrom(myOrigInjection); UIUtil.invokeAndWaitIfNeeded(new Runnable() { public void run() { resetImpl(); @@ -139,10 +140,4 @@ public abstract class AbstractInjectionPanel implements updater.run(); } } - - protected class TreeUpdateListener extends DocumentAdapter { - public void documentChanged(DocumentEvent e) { - updateTree(); - } - } } diff --git a/plugins/IntelliLang/xml-support/org/intellij/plugins/intelliLang/inject/config/XmlAttributeInjection.java b/plugins/IntelliLang/xml-support/org/intellij/plugins/intelliLang/inject/config/XmlAttributeInjection.java index 312d444822be..32a2239dd3a1 100644 --- a/plugins/IntelliLang/xml-support/org/intellij/plugins/intelliLang/inject/config/XmlAttributeInjection.java +++ b/plugins/IntelliLang/xml-support/org/intellij/plugins/intelliLang/inject/config/XmlAttributeInjection.java @@ -102,14 +102,6 @@ public class XmlAttributeInjection extends AbstractTagInjection { return this; } - protected void readExternalImpl(Element e) { - super.readExternalImpl(e); - } - - protected void writeExternalImpl(Element e) { - super.writeExternalImpl(e); - } - @SuppressWarnings({"RedundantIfStatement"}) public boolean equals(Object o) { if (this == o) return true; diff --git a/plugins/IntelliLang/xml-support/org/intellij/plugins/intelliLang/inject/config/ui/TagPanel.java b/plugins/IntelliLang/xml-support/org/intellij/plugins/intelliLang/inject/config/ui/TagPanel.java index c49145c65c9c..2b224a1be58d 100644 --- a/plugins/IntelliLang/xml-support/org/intellij/plugins/intelliLang/inject/config/ui/TagPanel.java +++ b/plugins/IntelliLang/xml-support/org/intellij/plugins/intelliLang/inject/config/ui/TagPanel.java @@ -49,7 +49,6 @@ public class TagPanel extends AbstractInjectionPanel { $$$setupUI$$$(); myNamespace.setModel(createNamespaceUriModel(myProject)); - myLocalName.getDocument().addDocumentListener(new TreeUpdateListener()); } public static ComboBoxModel createNamespaceUriModel(Project project) { diff --git a/plugins/IntelliLang/xml-support/org/intellij/plugins/intelliLang/inject/config/ui/XmlAttributePanel.java b/plugins/IntelliLang/xml-support/org/intellij/plugins/intelliLang/inject/config/ui/XmlAttributePanel.java index d1f7571eb4a5..79f451dd31f9 100644 --- a/plugins/IntelliLang/xml-support/org/intellij/plugins/intelliLang/inject/config/ui/XmlAttributePanel.java +++ b/plugins/IntelliLang/xml-support/org/intellij/plugins/intelliLang/inject/config/ui/XmlAttributePanel.java @@ -48,9 +48,6 @@ public class XmlAttributePanel extends AbstractInjectionPanel