Merge branch 'master' of git@git.labs.intellij.net:idea/community
authorEugene Kudelevsky <Eugene.Kudelevsky@jetbrains.com>
Fri, 7 May 2010 11:48:07 +0000 (15:48 +0400)
committerEugene Kudelevsky <Eugene.Kudelevsky@jetbrains.com>
Fri, 7 May 2010 11:48:07 +0000 (15:48 +0400)
Conflicts:
xml/impl/src/com/intellij/codeInsight/template/zencoding/TemplateToken.java
xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java
xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingTemplate.java

1  2 
xml/impl/src/com/intellij/codeInsight/template/zencoding/TemplateToken.java
xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java
xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingTemplate.java
xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingTemplate.java

index e2cec092ad44bc9539e87a4504856e66f58b6991,87de731018939f8a23ae46f2dc0cc9f85f4ca613..565e8d1114aafef9bdb6918399f97a05fd45cf02
@@@ -24,13 -23,12 +24,13 @@@ import java.util.List
  /**
   * @author Eugene.Kudelevsky
   */
- class TemplateToken extends Token {
-   final String myKey;
-   final List<Pair<String, String>> myAttribute2Value;
-   TemplateImpl myTemplate;
+ public class TemplateToken extends Token {
+   private final String myKey;
+   private final List<Pair<String, String>> myAttribute2Value;
+   private TemplateImpl myTemplate;
 +  public XmlTag myTag;
  
-   TemplateToken(String key, List<Pair<String, String>> attribute2value) {
+   public TemplateToken(String key, List<Pair<String, String>> attribute2value) {
      myKey = key;
      myAttribute2Value = attribute2value;
    }
index 78579667fd69408f20b67b5dbc872a05f3ad450c,701785c249659db1dd8d08b7b97a5e788c92ca07..826b83e747a38454ee6247afd85addff997a5fcf
@@@ -306,11 -321,36 +306,11 @@@ class XmlZenCodingInterpreter 
    private static void invokeTemplate(TemplateToken token,
                                       final CustomTemplateCallback callback,
                                       int numberInIteration) {
-     List<Pair<String, String>> attr2value = new ArrayList<Pair<String, String>>(token.myAttribute2Value);
-     if (token.myTemplate != null) {
+     List<Pair<String, String>> attr2value = new ArrayList<Pair<String, String>>(token.getAttribute2Value());
 -    if (callback.isLiveTemplateApplicable(token.getKey())) {
 -      invokeExistingLiveTemplate(token, callback, numberInIteration, attr2value);
 -    }
 -    else {
 -      TemplateImpl template = new TemplateImpl("", "");
 -      template.addTextSegment('<' + token.getKey());
 -      if (attr2value.size() > 0) {
 -        template.addVariable(ATTRS, "", "", false);
 -        template.addVariableSegment(ATTRS);
 -      }
 -      template.addTextSegment(">");
 -      if (XmlZenCodingTemplate.isTrueXml(callback) || !HtmlUtil.isSingleHtmlTag(token.getKey())) {
 -        template.addVariableSegment(TemplateImpl.END);
 -        template.addTextSegment("</" + token.getKey() + ">");
 -      }
 -      template.setToReformat(true);
 -      Map<String, String> predefinedValues = buildPredefinedValues(attr2value, numberInIteration);
 -      callback.expandTemplate(template, predefinedValues);
 -    }
 -  }
 -
 -  private static void invokeExistingLiveTemplate(TemplateToken token,
 -                                                 CustomTemplateCallback callback,
 -                                                 int numberInIteration,
 -                                                 List<Pair<String, String>> attr2value) {
+     if (token.getTemplate() != null) {
        if (attr2value.size() > 0 || XmlZenCodingTemplate.isTrueXml(callback)) {
-         TemplateImpl modifiedTemplate = token.myTemplate.copy();
+         TemplateImpl modifiedTemplate = token.getTemplate().copy();
 -        XmlTag tag = XmlZenCodingTemplate.parseXmlTagInTemplate(token.getTemplate().getString(), callback, true);
 +        XmlTag tag = token.myTag;
          if (tag != null) {
            for (Iterator<Pair<String, String>> iterator = attr2value.iterator(); iterator.hasNext();) {
              Pair<String, String> pair = iterator.next();
            return;
          }
        }
-       callback.expandTemplate(token.myTemplate, null);
+       callback.expandTemplate(token.getTemplate(), null);
      }
      else {
 +      // for CSS
        Map<String, String> predefinedValues = buildPredefinedValues(attr2value, numberInIteration);
-       callback.expandTemplate(token.myKey, predefinedValues);
+       callback.expandTemplate(token.getKey(), predefinedValues);
      }
    }
  
index 8beb9b2a2788727be3e5e8bd5a65406c8d5956fe,be32b814d54e1cfb79ef19986c64915837be5249..bf34318856a144f6013c85852f195a16f6a88705
@@@ -192,23 -189,18 +192,23 @@@ public class XmlZenCodingTemplate exten
      if (token == null) {
        return null;
      }
-     if (useDefaultTag && token.myAttribute2Value.size() == 0) {
+     if (useDefaultTag && token.getAttribute2Value().size() == 0) {
        return null;
      }
 -    if (template != null && (token.getAttribute2Value().size() > 0 || isTrueXml(callback))) {
 -      assert prefix.equals(token.getKey());
 -      token.setTemplate(template);
 -      if (token.getAttribute2Value().size() > 0) {
 -        XmlTag tag = parseXmlTagInTemplate(template.getString(), callback, false);
 -        if (tag == null) {
 -          return null;
 -        }
 +    if (template == null) {
-       template = generateTagTemplate(token.myKey, callback);
++      template = generateTagTemplate(token.getKey(), callback);
 +    }
-     assert prefix.equals(token.myKey);
-     token.myTemplate = template;
++    assert prefix.equals(token.getKey());
++    token.setTemplate(template);
 +    XmlTag tag = parseXmlTagInTemplate(template.getString(), callback, true);
-     if (token.myAttribute2Value.size() > 0 && tag == null) {
++    if (token.getAttribute2Value().size() > 0 && tag == null) {
 +      return null;
 +    }
 +    if (tag != null) {
-       if (!XmlZenCodingInterpreter.containsAttrsVar(template) && token.myAttribute2Value.size() > 0) {
-         addMissingAttributes(tag, token.myAttribute2Value);
++      if (!XmlZenCodingInterpreter.containsAttrsVar(template) && token.getAttribute2Value().size() > 0) {
++        addMissingAttributes(tag, token.getAttribute2Value());
        }
 +      token.myTag = tag;
      }
      return token;
    }