You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ch...@apache.org on 2005/10/12 07:29:28 UTC

svn commit: r314790 - in /webservices/axis2/trunk/java/modules/codegen: src/org/apache/axis2/databinding/ADBBean.java src/org/apache/axis2/databinding/utils/ADBPullParser.java test/org/apache/axis2/databinding/utils/ADBPullParserTest.java

Author: chinthaka
Date: Tue Oct 11 22:29:16 2005
New Revision: 314790

URL: http://svn.apache.org/viewcvs?rev=314790&view=rev
Log:
Changing the createPullParser method to get the name of QName of the element that needs to be seialized.

Modified:
    webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/ADBBean.java
    webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/utils/ADBPullParser.java
    webservices/axis2/trunk/java/modules/codegen/test/org/apache/axis2/databinding/utils/ADBPullParserTest.java

Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/ADBBean.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/ADBBean.java?rev=314790&r1=314789&r2=314790&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/ADBBean.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/ADBBean.java Tue Oct 11 22:29:16 2005
@@ -1,5 +1,6 @@
 package org.apache.axis2.databinding;
 
+import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamReader;
 
 /*
@@ -27,10 +28,10 @@
     /**
      * This method is used to serialize an ADBBean: get the pull parser and
      * pull the XML pull events to represent the bean.
-     * 
+     *
      * @return a pull parser for this ADBBean.
      */
-    public XMLStreamReader getPullParser();
+    public XMLStreamReader getPullParser(QName adbBeanQName);
 
     /**
      * There will be a self factory in every generated data bound class XXX:

Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/utils/ADBPullParser.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/utils/ADBPullParser.java?rev=314790&r1=314789&r2=314790&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/utils/ADBPullParser.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/utils/ADBPullParser.java Tue Oct 11 22:29:16 2005
@@ -136,9 +136,9 @@
                 return processADBNameValuePair(null, null);
             }
             Object o = properties[currentIndex - 1];
-            if (o == null) {
+            if (o instanceof QName) {
                 ADBBean adbBean = (ADBBean) properties[currentIndex];
-                childPullParser = (ADBPullParser) adbBean.getPullParser();
+                childPullParser = (ADBPullParser) adbBean.getPullParser((QName) o);
                 accessingChildPullParser = true;
                 return this.next();
             } else {

Modified: webservices/axis2/trunk/java/modules/codegen/test/org/apache/axis2/databinding/utils/ADBPullParserTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/test/org/apache/axis2/databinding/utils/ADBPullParserTest.java?rev=314790&r1=314789&r2=314790&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/test/org/apache/axis2/databinding/utils/ADBPullParserTest.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/test/org/apache/axis2/databinding/utils/ADBPullParserTest.java Tue Oct 11 22:29:16 2005
@@ -50,9 +50,9 @@
             ArrayList propertyList = new ArrayList();
             propertyList.add("Name");
             propertyList.add("Axis2");
-            propertyList.add(null);
+            propertyList.add(new QName("Releases"));
             propertyList.add(new DummyADBBean());
-            propertyList.add(null);
+            propertyList.add(new QName("Releases"));
             propertyList.add(new DummyADBBean());
             propertyList.add("Organization");
             propertyList.add("Apache");
@@ -97,6 +97,68 @@
 
     }
 
+//    public void testComplexArrayList() {
+//        try {
+//
+//            String exptectedXML = "<Project><Name>Axis2</Name><Releases><FirstRelease>0.90</FirstRelease>" +
+//                    "<SecondRelease>0.91</SecondRelease><ThirdRelease>0.92</ThirdRelease></Releases>" +
+//                    "<Releases><FirstRelease>0.90</FirstRelease><SecondRelease>0.91</SecondRelease>" +
+//                    "<ThirdRelease>0.92</ThirdRelease></Releases><Organization>Apache</Organization>" +
+//                    "</Project>";
+//
+//            ArrayList propertyList = new ArrayList();
+//            propertyList.add("Name");
+//            propertyList.add("Axis2");
+//            propertyList.add(null);
+//            DummyADBBean dummyBean = new DummyADBBean();
+//            dummyBean.addAnotherBean();
+//            propertyList.add(dummyBean);
+//            propertyList.add("Organization");
+//            propertyList.add("Apache");
+//
+//            QName projectQName = new QName("Project");
+//            XMLStreamReader pullParser = ADBPullParser.createPullParser(propertyList.toArray(), projectQName);
+////            while (pullParser.hasNext()) {
+////                int eventCode = pullParser.next();
+////                System.out.println(eventCode + ":" + getEventString(eventCode));
+////            }
+//
+//            StringBuffer buff = new StringBuffer();
+//            while (pullParser.hasNext()) {
+//                int eventCode = pullParser.next();
+//
+//                switch (eventCode) {
+//                    case XMLStreamConstants.START_ELEMENT :
+//                        System.out.println("<" + pullParser.getLocalName() + ">");
+//                        buff.append("<");
+//                        buff.append(pullParser.getLocalName());
+//                        buff.append(">");
+//                        break;
+//                    case XMLStreamConstants.CHARACTERS :
+//                        System.out.println(pullParser.getText());
+//                        buff.append(pullParser.getText());
+//                        break;
+//                    case XMLStreamConstants.END_ELEMENT :
+//                        System.out.println("</" + pullParser.getLocalName() + ">");
+//                        buff.append("</");
+//                        buff.append(pullParser.getLocalName());
+//                        buff.append(">");
+//                        break;
+//                    default:
+//                        System.out.println("No Other event can be trown here");
+//                }
+//            }
+//
+//
+//            String s = buff.toString();
+//            System.out.println("s = " + s);
+////            assertEquals(exptectedXML, s);
+//        } catch (XMLStreamException e) {
+//            log.error("Parser Error " + e);
+//        }
+//
+//    }
+
     private String getEventString(int eventCode) {
         String event = "";
 
@@ -151,18 +213,26 @@
     }
 
     public class DummyADBBean implements ADBBean {
+        ArrayList propertyList = new ArrayList();
 
-        public XMLStreamReader getPullParser() {
-            ArrayList propertyList = new ArrayList();
+        public DummyADBBean() {
             propertyList.add("FirstRelease");
             propertyList.add("0.90");
             propertyList.add("SecondRelease");
             propertyList.add("0.91");
             propertyList.add("ThirdRelease");
             propertyList.add("0.92");
+        }
+
+        public DummyADBBean addAnotherBean() {
+            propertyList.add(null);
+            DummyADBBean dummyBean = new DummyADBBean();
+            propertyList.add(dummyBean);
+            return dummyBean;
+        }
 
-            QName releasesQName = new QName("Releases");
-            return ADBPullParser.createPullParser(propertyList.toArray(), releasesQName);
+        public XMLStreamReader getPullParser(QName adbBeanQName) {
+            return ADBPullParser.createPullParser(propertyList.toArray(), adbBeanQName);
         }
     }
 }