You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by su...@apache.org on 2018/03/19 15:24:11 UTC

[1/2] groovy git commit: Trivial refactoring: use `StringBuilder` and `HashMap` in `XmlSlurper`

Repository: groovy
Updated Branches:
  refs/heads/GROOVY_2_5_X cf9ff189f -> 772d04cad


Trivial refactoring: use `StringBuilder` and `HashMap` in `XmlSlurper`

(cherry picked from commit 5d2737f)

(cherry picked from commit 90cda8c)


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/772d04ca
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/772d04ca
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/772d04ca

Branch: refs/heads/GROOVY_2_5_X
Commit: 772d04cad05882f825a1613bc613c83a5e18d40d
Parents: a31a5e8
Author: danielsun1106 <re...@hotmail.com>
Authored: Mon Mar 19 23:19:02 2018 +0800
Committer: danielsun1106 <re...@hotmail.com>
Committed: Mon Mar 19 23:24:04 2018 +0800

----------------------------------------------------------------------
 .../src/main/java/groovy/util/XmlSlurper.java   |  5 ++--
 .../src/main/java/groovy/xml/SAXBuilder.java    | 26 ++++++++++----------
 2 files changed, 15 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/772d04ca/subprojects/groovy-xml/src/main/java/groovy/util/XmlSlurper.java
----------------------------------------------------------------------
diff --git a/subprojects/groovy-xml/src/main/java/groovy/util/XmlSlurper.java b/subprojects/groovy-xml/src/main/java/groovy/util/XmlSlurper.java
index 852bd3f..2d23537 100644
--- a/subprojects/groovy-xml/src/main/java/groovy/util/XmlSlurper.java
+++ b/subprojects/groovy-xml/src/main/java/groovy/util/XmlSlurper.java
@@ -47,7 +47,6 @@ import java.io.Reader;
 import java.io.StringReader;
 import java.net.URL;
 import java.util.HashMap;
-import java.util.Hashtable;
 import java.util.Map;
 import java.util.Stack;
 
@@ -84,8 +83,8 @@ public class XmlSlurper extends DefaultHandler {
     private final XMLReader reader;
     private Node currentNode = null;
     private final Stack<Node> stack = new Stack<Node>();
-    private final StringBuffer charBuffer = new StringBuffer();
-    private final Map<String, String> namespaceTagHints = new Hashtable<String, String>();
+    private final StringBuilder charBuffer = new StringBuilder();
+    private final Map<String, String> namespaceTagHints = new HashMap<String, String>();
     private boolean keepIgnorableWhitespace = false;
     private boolean namespaceAware = false;
 

http://git-wip-us.apache.org/repos/asf/groovy/blob/772d04ca/subprojects/groovy-xml/src/main/java/groovy/xml/SAXBuilder.java
----------------------------------------------------------------------
diff --git a/subprojects/groovy-xml/src/main/java/groovy/xml/SAXBuilder.java b/subprojects/groovy-xml/src/main/java/groovy/xml/SAXBuilder.java
index 270e603..037b8a0 100644
--- a/subprojects/groovy-xml/src/main/java/groovy/xml/SAXBuilder.java
+++ b/subprojects/groovy-xml/src/main/java/groovy/xml/SAXBuilder.java
@@ -76,10 +76,10 @@ public class SAXBuilder extends BuilderSupport {
             Object key = entry.getKey();
             Object value = entry.getValue();
 
-            Tuple3<String, String, String> elementInfo = getElementInfo(key);
-            String uri = elementInfo.getFirst();
-            String localName = elementInfo.getSecond();
-            String qualifiedName = elementInfo.getThird();
+            Tuple3<String, String, String> nameInfo = getNameInfo(key);
+            String uri = nameInfo.getFirst();
+            String localName = nameInfo.getSecond();
+            String qualifiedName = nameInfo.getThird();
             String valueText = (value != null) ? value.toString() : "";
 
             attributes.addAttribute(uri, localName, qualifiedName, "CDATA", valueText);
@@ -92,10 +92,10 @@ public class SAXBuilder extends BuilderSupport {
     }
 
     protected void doStartElement(Object name, Attributes attributes) {
-        Tuple3<String, String, String> elementInfo = getElementInfo(name);
-        String uri = elementInfo.getFirst();
-        String localName = elementInfo.getSecond();
-        String qualifiedName = elementInfo.getThird();
+        Tuple3<String, String, String> nameInfo = getNameInfo(name);
+        String uri = nameInfo.getFirst();
+        String localName = nameInfo.getSecond();
+        String qualifiedName = nameInfo.getThird();
 
         try {
             handler.startElement(uri, localName, qualifiedName, attributes);
@@ -106,10 +106,10 @@ public class SAXBuilder extends BuilderSupport {
     }
 
     protected void nodeCompleted(Object parent, Object name) {
-        Tuple3<String, String, String> elementInfo = getElementInfo(name);
-        String uri = elementInfo.getFirst();
-        String localName = elementInfo.getSecond();
-        String qualifiedName = elementInfo.getThird();
+        Tuple3<String, String, String> nameInfo = getNameInfo(name);
+        String uri = nameInfo.getFirst();
+        String localName = nameInfo.getSecond();
+        String qualifiedName = nameInfo.getThird();
 
         try {
             handler.endElement(uri, localName, qualifiedName);
@@ -131,7 +131,7 @@ public class SAXBuilder extends BuilderSupport {
     }
 
 
-    private Tuple3<String, String, String> getElementInfo(Object name) {
+    private Tuple3<String, String, String> getNameInfo(Object name) {
         String uri;
         String localName;
         String qualifiedName;


[2/2] groovy git commit: Minor refactoring: remove duplicated code of `SAXBuilder`

Posted by su...@apache.org.
Minor refactoring: remove duplicated code of `SAXBuilder`

(cherry picked from commit 8ff0430)

(cherry picked from commit be1f3bb)


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/a31a5e82
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/a31a5e82
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/a31a5e82

Branch: refs/heads/GROOVY_2_5_X
Commit: a31a5e825c246497a3ceef76cef87d36ae10edae
Parents: cf9ff18
Author: danielsun1106 <re...@hotmail.com>
Authored: Mon Mar 19 22:58:09 2018 +0800
Committer: danielsun1106 <re...@hotmail.com>
Committed: Mon Mar 19 23:24:04 2018 +0800

----------------------------------------------------------------------
 .../src/main/java/groovy/xml/SAXBuilder.java    | 75 ++++++++++----------
 1 file changed, 36 insertions(+), 39 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/a31a5e82/subprojects/groovy-xml/src/main/java/groovy/xml/SAXBuilder.java
----------------------------------------------------------------------
diff --git a/subprojects/groovy-xml/src/main/java/groovy/xml/SAXBuilder.java b/subprojects/groovy-xml/src/main/java/groovy/xml/SAXBuilder.java
index 70dcc96..270e603 100644
--- a/subprojects/groovy-xml/src/main/java/groovy/xml/SAXBuilder.java
+++ b/subprojects/groovy-xml/src/main/java/groovy/xml/SAXBuilder.java
@@ -18,6 +18,7 @@
  */
 package groovy.xml;
 
+import groovy.lang.Tuple3;
 import groovy.util.BuilderSupport;
 import org.xml.sax.Attributes;
 import org.xml.sax.ContentHandler;
@@ -74,20 +75,12 @@ public class SAXBuilder extends BuilderSupport {
             Map.Entry entry = (Map.Entry) iter.next();
             Object key = entry.getKey();
             Object value = entry.getValue();
-            String uri = "";
-            String localName = null;
-            String qualifiedName = "";
+
+            Tuple3<String, String, String> elementInfo = getElementInfo(key);
+            String uri = elementInfo.getFirst();
+            String localName = elementInfo.getSecond();
+            String qualifiedName = elementInfo.getThird();
             String valueText = (value != null) ? value.toString() : "";
-            if (key instanceof QName) {
-                QName qname = (QName) key;
-                uri = qname.getNamespaceURI();
-                localName = qname.getLocalPart();
-                qualifiedName = qname.getQualifiedName();
-            }
-            else {
-                localName = key.toString();
-                qualifiedName = localName;
-            }
 
             attributes.addAttribute(uri, localName, qualifiedName, "CDATA", valueText);
         }
@@ -99,19 +92,11 @@ public class SAXBuilder extends BuilderSupport {
     }
 
     protected void doStartElement(Object name, Attributes attributes) {
-        String uri = "";
-        String localName = null;
-        String qualifiedName = "";
-        if (name instanceof QName) {
-            QName qname = (QName) name;
-            uri = qname.getNamespaceURI();
-            localName = qname.getLocalPart();
-            qualifiedName = qname.getQualifiedName();
-        }
-        else {
-            localName = name.toString();
-            qualifiedName = localName;
-        }
+        Tuple3<String, String, String> elementInfo = getElementInfo(name);
+        String uri = elementInfo.getFirst();
+        String localName = elementInfo.getSecond();
+        String qualifiedName = elementInfo.getThird();
+
         try {
             handler.startElement(uri, localName, qualifiedName, attributes);
         }
@@ -121,19 +106,11 @@ public class SAXBuilder extends BuilderSupport {
     }
 
     protected void nodeCompleted(Object parent, Object name) {
-        String uri = "";
-        String localName = null;
-        String qualifiedName = "";
-        if (name instanceof QName) {
-            QName qname = (QName) name;
-            uri = qname.getNamespaceURI();
-            localName = qname.getLocalPart();
-            qualifiedName = qname.getQualifiedName();
-        }
-        else {
-            localName = name.toString();
-            qualifiedName = localName;
-        }
+        Tuple3<String, String, String> elementInfo = getElementInfo(name);
+        String uri = elementInfo.getFirst();
+        String localName = elementInfo.getSecond();
+        String qualifiedName = elementInfo.getThird();
+
         try {
             handler.endElement(uri, localName, qualifiedName);
         }
@@ -152,4 +129,24 @@ public class SAXBuilder extends BuilderSupport {
     protected Object createNode(Object name, Map attributes) {
         return createNode(name, attributes, null);
     }
+
+
+    private Tuple3<String, String, String> getElementInfo(Object name) {
+        String uri;
+        String localName;
+        String qualifiedName;
+
+        if (name instanceof QName) {
+            QName qname = (QName) name;
+            uri = qname.getNamespaceURI();
+            localName = qname.getLocalPart();
+            qualifiedName = qname.getQualifiedName();
+        } else {
+            uri = "";
+            localName = name.toString();
+            qualifiedName = localName;
+        }
+
+        return new Tuple3<>(uri, localName, qualifiedName);
+    }
 }