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);
+ }
}