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