Repository: incubator-juneau
Updated Branches:
  refs/heads/master 89e052626 -> 657fb5e07


Fold XmlParser.doParseArgs() into parseAnything().

Project: http://git-wip-us.apache.org/repos/asf/incubator-juneau/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-juneau/commit/657fb5e0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-juneau/tree/657fb5e0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-juneau/diff/657fb5e0

Branch: refs/heads/master
Commit: 657fb5e07863f0407e1372756eb9d37de21db07e
Parents: 89e0526
Author: JamesBognar <[email protected]>
Authored: Wed Mar 29 14:22:19 2017 -0400
Committer: JamesBognar <[email protected]>
Committed: Wed Mar 29 14:22:19 2017 -0400

----------------------------------------------------------------------
 .../java/org/apache/juneau/xml/XmlParser.java   | 29 ++++----------------
 1 file changed, 5 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/657fb5e0/juneau-core/src/main/java/org/apache/juneau/xml/XmlParser.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/xml/XmlParser.java 
b/juneau-core/src/main/java/org/apache/juneau/xml/XmlParser.java
index 69c5baf..1aba943 100644
--- a/juneau-core/src/main/java/org/apache/juneau/xml/XmlParser.java
+++ b/juneau-core/src/main/java/org/apache/juneau/xml/XmlParser.java
@@ -228,14 +228,15 @@ public class XmlParser extends ReaderParser {
                return m;
        }
 
-       private <E> Collection<E> parseIntoCollection(XmlParserSession session, 
XMLStreamReader r, Collection<E> l, ClassMeta<E> type, BeanPropertyMeta pMeta) 
throws Exception {
+       private <E> Collection<E> parseIntoCollection(XmlParserSession session, 
XMLStreamReader r, Collection<E> l, ClassMeta<?> type, BeanPropertyMeta pMeta) 
throws Exception {
                int depth = 0;
+               int argIndex = 0;
                do {
-                       int argIndex = 0;
                        int event = r.nextTag();
                        if (event == START_ELEMENT) {
                                depth++;
-                               E value = (E)parseAnything(session, type == 
null ? object() : type.isArgs() ? type.getArg(argIndex++) : 
type.getElementType(), null, r, l, false, pMeta);
+                               ClassMeta<?> elementType = type == null ? 
object() : type.isArgs() ? type.getArg(argIndex++) : type.getElementType();
+                               E value = (E)parseAnything(session, 
elementType, null, r, l, false, pMeta);
                                l.add(value);
                        } else if (event == END_ELEMENT) {
                                depth--;
@@ -245,25 +246,6 @@ public class XmlParser extends ReaderParser {
                return l;
        }
 
-       private Object[] doParseArgs(XmlParserSession session, XMLStreamReader 
r, ClassMeta<Object[]> args) throws Exception {
-               int depth = 0;
-               ClassMeta<?>[] argTypes = args.getArgs();
-               Object[] o = new Object[argTypes.length];
-               int i = 0;
-               do {
-                       int event = r.nextTag();
-                       if (event == START_ELEMENT) {
-                               depth++;
-                               o[i] = parseAnything(session, argTypes[i], 
null, r, null, false, null);
-                               i++;
-                       } else if (event == END_ELEMENT) {
-                               depth--;
-                               return o;
-                       }
-               } while (depth > 0);
-               return o;
-       }
-
        private static int getJsonType(String s) {
                if (s == null)
                        return UNKNOWN;
@@ -540,7 +522,6 @@ public class XmlParser extends ReaderParser {
        @Override /* ReaderParser */
        protected Object[] doParseArgs(ParserSession session, 
ClassMeta<Object[]> args) throws Exception {
                XmlParserSession s = (XmlParserSession)session;
-               return doParseArgs(s, s.getXmlStreamReader(), args);
-               //return parseAnything(s, args, null, s.getXmlStreamReader(), 
session.getOuter(), true, null);
+               return parseAnything(s, args, null, s.getXmlStreamReader(), 
session.getOuter(), true, null);
        }
 }

Reply via email to