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 am...@apache.org on 2007/12/24 05:57:07 UTC
svn commit: r606664 [1/25] - in /webservices/axis2/trunk/java/modules/adb:
src/org/apache/axis2/databinding/types/soapencoding/
src/org/apache/axis2/databinding/types/xsd/
test/org/apache/axis2/databinding/types/
test/org/apache/axis2/databinding/types...
Author: amilas
Date: Sun Dec 23 20:57:02 2007
New Revision: 606664
URL: http://svn.apache.org/viewvc?rev=606664&view=rev
Log:
Adding soap encoding supprot to Axis2 ADB
Added:
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/AnyType.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/AnyURI.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/Array.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/ArrayCoordinate.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/ArrayE.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/Base64.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/Base64Binary.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/Date.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/DateTime.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/Decimal.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/Duration.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/ENTITIES.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/ENTITY.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/ExtensionMapper.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/GDay.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/GMonth.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/GMonthDay.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/GYear.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/GYearMonth.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/HexBinary.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/ID.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/IDREF.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/IDREFS.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/Integer.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/Language.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/NCName.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/NMTOKEN.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/NMTOKENS.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/NOTATION.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/Name.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/NegativeInteger.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/NonNegativeInteger.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/NonPositiveInteger.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/NormalizedString.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/PositiveInteger.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/QName.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/String.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/Struct.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/Time.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/Token.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/UnsignedByte.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/UnsignedInt.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/UnsignedLong.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/UnsignedShort.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/_boolean.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/_byte.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/_double.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/_float.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/_int.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/_long.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/_short.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/AnyURI.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/Base64.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/Base64Binary.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/Date.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/DateTime.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/Decimal.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/Duration.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/ENTITIES.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/ENTITY.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/ExtensionMapper.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/GDay.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/GMonth.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/GMonthDay.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/GYear.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/GYearMonth.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/HexBinary.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/ID.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/IDREF.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/IDREFS.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/Integer.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/Language.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/NCName.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/NMTOKEN.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/NMTOKENS.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/NOTATION.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/Name.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/NegativeInteger.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/NonNegativeInteger.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/NonPositiveInteger.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/NormalizedString.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/PositiveInteger.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/QName.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/String.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/Time.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/Token.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/UnsignedByte.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/UnsignedInt.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/UnsignedLong.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/UnsignedShort.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/_boolean.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/_byte.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/_double.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/_float.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/_int.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/_long.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/xsd/_short.java
webservices/axis2/trunk/java/modules/adb/test/org/apache/axis2/databinding/types/
webservices/axis2/trunk/java/modules/adb/test/org/apache/axis2/databinding/types/soapencoding/
webservices/axis2/trunk/java/modules/adb/test/org/apache/axis2/databinding/types/soapencoding/ArrayTest.java
webservices/axis2/trunk/java/modules/adb/test/org/apache/axis2/databinding/types/xsd/
webservices/axis2/trunk/java/modules/adb/test/org/apache/axis2/databinding/types/xsd/ArrayTest.java
Added: webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/AnyType.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/AnyType.java?rev=606664&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/AnyType.java (added)
+++ webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/AnyType.java Sun Dec 23 20:57:02 2007
@@ -0,0 +1,419 @@
+
+/**
+ * AnyType.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: SNAPSHOT Built on : Dec 21, 2007 (04:03:30 LKT)
+ */
+
+ package org.apache.axis2.databinding.types.soapencoding;
+
+
+ /**
+ * AnyType bean class
+ */
+
+ public class AnyType
+ implements org.apache.axis2.databinding.ADBBean{
+
+ public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
+ "http://schemas.xmlsoap.org/soap/encoding/",
+ "anyType",
+ "SOAP-ENC");
+
+
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("http://schemas.xmlsoap.org/soap/encoding/")){
+ return "SOAP-ENC";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+
+
+ /**
+ * field for AnyType
+ */
+
+
+ protected org.apache.axiom.om.OMElement localAnyType ;
+
+
+ /**
+ * Auto generated getter method
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getAnyType(){
+ return localAnyType;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param AnyType
+ */
+ public void setAnyType(org.apache.axiom.om.OMElement param){
+
+ this.localAnyType=param;
+
+
+ }
+
+
+ /**
+ * isReaderMTOMAware
+ * @return true if the reader supports MTOM
+ */
+ public static boolean isReaderMTOMAware(javax.xml.stream.XMLStreamReader reader) {
+ boolean isReaderMTOMAware = false;
+
+ try{
+ isReaderMTOMAware = java.lang.Boolean.TRUE.equals(reader.getProperty(org.apache.axiom.om.OMConstants.IS_DATA_HANDLERS_AWARE));
+ }catch(java.lang.IllegalArgumentException e){
+ isReaderMTOMAware = false;
+ }
+ return isReaderMTOMAware;
+ }
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME){
+
+ public void serialize(org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ AnyType.this.serialize(MY_QNAME,factory,xmlWriter);
+ }
+ };
+ return new org.apache.axiom.om.impl.llom.OMSourcedElementImpl(
+ MY_QNAME,factory,dataSource);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory,
+ org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,factory,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory,
+ org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+ //We can safely assume an element has only one type associated with it
+
+ java.lang.String namespace = "http://schemas.xmlsoap.org/soap/encoding/";
+ java.lang.String localName = "anyType";
+
+ if (! namespace.equals("")) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+
+ xmlWriter.writeStartElement(prefix, localName, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+
+ } else {
+ xmlWriter.writeStartElement(namespace, localName);
+ }
+
+ } else {
+ xmlWriter.writeStartElement(localName);
+ }
+
+ // add the type details if this is used in a simple type
+ if (serializeType){
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"http://schemas.xmlsoap.org/soap/encoding/");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":anyType",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "anyType",
+ xmlWriter);
+ }
+ }
+
+ if (localAnyType==null){
+
+ throw new org.apache.axis2.databinding.ADBException("Value cannot be null !!");
+
+ }else{
+ localAnyType.serialize(xmlWriter);
+
+ }
+
+ xmlWriter.writeEndElement();
+
+
+
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+
+ }
+
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals(""))
+ {
+ xmlWriter.writeAttribute(attName,attValue);
+ }
+ else
+ {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+
+ while (xmlWriter.getNamespaceContext().getNamespaceURI(prefix) != null) {
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+
+ //We can safely assume an element has only one type associated with it
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(MY_QNAME,
+ new java.lang.Object[]{
+ org.apache.axis2.databinding.utils.reader.ADBXMLStreamReader.ELEMENT_TEXT,
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localAnyType)
+ },
+ null);
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static AnyType parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ AnyType object =
+ new AnyType();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+ while(!reader.isEndElement()) {
+ if (reader.isStartElement() ){
+
+ if (reader.isStartElement()){
+
+
+
+ //use the QName from the parser as the name for the builder
+ javax.xml.namespace.QName startQname1 = reader.getName();
+
+ // We need to wrap the reader so that it produces a fake START_DOCUMENT event
+ // this is needed by the builder classes
+ org.apache.axis2.databinding.utils.NamedStaxOMBuilder builder1 =
+ new org.apache.axis2.databinding.utils.NamedStaxOMBuilder(
+ new org.apache.axis2.util.StreamWrapper(reader),startQname1);
+ object.setAnyType(builder1.getOMElement());
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getLocalName());
+ }
+
+ } else {
+ reader.next();
+ }
+ } // end of while loop
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
Added: webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/AnyURI.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/AnyURI.java?rev=606664&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/AnyURI.java (added)
+++ webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/AnyURI.java Sun Dec 23 20:57:02 2007
@@ -0,0 +1,484 @@
+
+/**
+ * AnyURI.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: SNAPSHOT Built on : Dec 21, 2007 (04:03:30 LKT)
+ */
+
+ package org.apache.axis2.databinding.types.soapencoding;
+
+
+ /**
+ * AnyURI bean class
+ */
+
+ public class AnyURI
+ implements org.apache.axis2.databinding.ADBBean{
+ /* This type was generated from the piece of schema that had
+ name = anyURI
+ Namespace URI = http://schemas.xmlsoap.org/soap/encoding/
+ Namespace Prefix = ns1
+ */
+
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if(namespace.equals("http://schemas.xmlsoap.org/soap/encoding/")){
+ return "SOAP-ENC";
+ }
+ return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+
+
+ /**
+ * field for AnyURI
+ */
+
+
+ protected org.apache.axis2.databinding.types.URI localAnyURI ;
+
+
+ /**
+ * Auto generated getter method
+ * @return org.apache.axis2.databinding.types.URI
+ */
+ public org.apache.axis2.databinding.types.URI getAnyURI(){
+ return localAnyURI;
+ }
+
+
+
+ /**
+ * Auto generated setter method
+ * @param param AnyURI
+ */
+ public void setAnyURI(org.apache.axis2.databinding.types.URI param){
+
+ this.localAnyURI=param;
+
+
+ }
+
+
+ public java.lang.String toString(){
+
+ return localAnyURI.toString();
+
+ }
+
+
+ /**
+ * isReaderMTOMAware
+ * @return true if the reader supports MTOM
+ */
+ public static boolean isReaderMTOMAware(javax.xml.stream.XMLStreamReader reader) {
+ boolean isReaderMTOMAware = false;
+
+ try{
+ isReaderMTOMAware = java.lang.Boolean.TRUE.equals(reader.getProperty(org.apache.axiom.om.OMConstants.IS_DATA_HANDLERS_AWARE));
+ }catch(java.lang.IllegalArgumentException e){
+ isReaderMTOMAware = false;
+ }
+ return isReaderMTOMAware;
+ }
+
+
+ /**
+ *
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public org.apache.axiom.om.OMElement getOMElement (
+ final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{
+
+
+
+ org.apache.axiom.om.OMDataSource dataSource =
+ new org.apache.axis2.databinding.ADBDataSource(this,parentQName){
+
+ public void serialize(org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ AnyURI.this.serialize(parentQName,factory,xmlWriter);
+ }
+ };
+ return new org.apache.axiom.om.impl.llom.OMSourcedElementImpl(
+ parentQName,factory,dataSource);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory,
+ org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter xmlWriter)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+ serialize(parentQName,factory,xmlWriter,false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ final org.apache.axiom.om.OMFactory factory,
+ org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter xmlWriter,
+ boolean serializeType)
+ throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
+
+
+
+
+ java.lang.String prefix = null;
+ java.lang.String namespace = null;
+
+
+ prefix = parentQName.getPrefix();
+ namespace = parentQName.getNamespaceURI();
+
+ if ((namespace != null) && (namespace.trim().length() > 0)) {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, parentQName.getLocalPart());
+ } else {
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, parentQName.getLocalPart(), namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ } else {
+ xmlWriter.writeStartElement(parentQName.getLocalPart());
+ }
+
+ if (serializeType){
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter,"http://schemas.xmlsoap.org/soap/encoding/");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ namespacePrefix+":anyURI",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
+ "anyURI",
+ xmlWriter);
+ }
+
+
+ }
+
+
+ if (localAnyURI==null){
+ // write the nil attribute
+
+ throw new org.apache.axis2.databinding.ADBException("anyURI cannot be null!!");
+
+ }else{
+
+
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localAnyURI));
+
+ }
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+
+ }
+
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace,java.lang.String attName,
+ java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
+ if (namespace.equals(""))
+ {
+ xmlWriter.writeAttribute(attName,attValue);
+ }
+ else
+ {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace,attName,attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix,namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0){
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+
+ while (xmlWriter.getNamespaceContext().getNamespaceURI(prefix) != null) {
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+
+ return prefix;
+ }
+
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ *
+ */
+ public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
+ throws org.apache.axis2.databinding.ADBException{
+
+
+
+ java.util.ArrayList elementList = new java.util.ArrayList();
+ java.util.ArrayList attribList = new java.util.ArrayList();
+
+
+
+ elementList.add(org.apache.axis2.databinding.utils.reader.ADBXMLStreamReader.ELEMENT_TEXT);
+
+ if (localAnyURI != null){
+ elementList.add(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localAnyURI));
+ } else {
+ throw new org.apache.axis2.databinding.ADBException("anyURI cannot be null!!");
+ }
+
+
+ return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());
+
+
+
+ }
+
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory{
+
+
+
+ public static AnyURI fromString(java.lang.String value,
+ java.lang.String namespaceURI){
+ AnyURI returnValue = new AnyURI();
+
+ returnValue.setAnyURI(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToAnyURI(value));
+
+
+ return returnValue;
+ }
+
+ public static AnyURI fromString(javax.xml.stream.XMLStreamReader xmlStreamReader,
+ java.lang.String content) {
+ if (content.indexOf(":") > -1){
+ java.lang.String prefix = content.substring(0,content.indexOf(":"));
+ java.lang.String namespaceUri = xmlStreamReader.getNamespaceContext().getNamespaceURI(prefix);
+ return AnyURI.Factory.fromString(content,namespaceUri);
+ } else {
+ return AnyURI.Factory.fromString(content,"");
+ }
+ }
+
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static AnyURI parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
+ AnyURI object =
+ new AnyURI();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix ="";
+ java.lang.String namespaceuri ="";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName!=null){
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1){
+ nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix==null?"":nsPrefix;
+
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);
+
+ if (!"anyURI".equals(type)){
+ //find namespace for the prefix
+ java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+ return (AnyURI)org.apache.axis2.databinding.types.soapencoding.ExtensionMapper.getTypeObject(
+ nsUri,type,reader);
+ }
+
+
+ }
+
+
+ }
+
+
+
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+
+
+ while(!reader.isEndElement()) {
+ if (reader.isStartElement() || reader.hasText()){
+
+ if (reader.isStartElement() || reader.hasText()){
+
+ java.lang.String content = reader.getElementText();
+
+ object.setAnyURI(
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToAnyURI(content));
+
+ } // End of if for expected property start element
+
+ else{
+ // A start element we are not expecting indicates an invalid parameter was passed
+ throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getLocalName());
+ }
+
+ } else {
+ reader.next();
+ }
+ } // end of while loop
+
+
+
+
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw new java.lang.Exception(e);
+ }
+
+ return object;
+ }
+
+ }//end of factory class
+
+
+
+ }
+
+
\ No newline at end of file
Added: webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/Array.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/Array.java?rev=606664&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/Array.java (added)
+++ webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/types/soapencoding/Array.java Sun Dec 23 20:57:02 2007
@@ -0,0 +1,703 @@
+/**
+ * Array.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: SNAPSHOT Built on : Dec 21, 2007 (04:03:30 LKT)
+ */
+
+package org.apache.axis2.databinding.types.soapencoding;
+
+import org.apache.axis2.databinding.ADBBean;
+import org.apache.axis2.databinding.ADBException;
+import org.apache.axis2.databinding.ADBDataSource;
+import org.apache.axis2.databinding.utils.BeanUtil;
+import org.apache.axis2.databinding.utils.ConverterUtil;
+import org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMDataSource;
+import org.apache.axiom.om.impl.llom.OMSourcedElementImpl;
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.lang.*;
+import java.lang.reflect.Method;
+
+
+/**
+ * Array bean class
+ */
+
+public class Array implements ADBBean {
+
+ public static final java.lang.String CHILD_LOCAL_NAME = "item";
+ public static final java.lang.String SOAP_NAMESPACE_PREFIX = "SOAP-ENC";
+
+ public Array() {
+ this.objectList = new ArrayList();
+ }
+
+ private static java.lang.String generatePrefix(java.lang.String namespace) {
+ if (namespace.equals("http://schemas.xmlsoap.org/soap/encoding/")) {
+ return "SOAP-ENC";
+ }
+ return BeanUtil.getUniquePrefix();
+ }
+
+
+ protected List objectList;
+
+ public List getObjectList() {
+ return objectList;
+ }
+
+ public void setObjectList(List objectList) {
+ this.objectList = objectList;
+ }
+
+
+ public void addObject(Object object) {
+ this.objectList.add(object);
+ }
+
+ protected javax.xml.namespace.QName arrayTypeQName;
+
+ public void setArrayTypeQName(javax.xml.namespace.QName qname){
+ arrayTypeQName = qname;
+ }
+
+ public javax.xml.namespace.QName getArrayTypeQName(){
+ return arrayTypeQName;
+ }
+
+ /**
+ * field for ArrayType
+ * This was an Attribute!
+ */
+
+
+ protected java.lang.String localArrayType;
+
+
+ /**
+ * Auto generated getter method
+ *
+ * @return java.lang.String
+ */
+ public java.lang.String getArrayType() {
+ return localArrayType;
+ }
+
+
+ /**
+ * Auto generated setter method
+ *
+ * @param param ArrayType
+ */
+ public void setArrayType(java.lang.String param) {
+
+ this.localArrayType = param;
+
+
+ }
+
+
+ /**
+ * field for Offset
+ * This was an Attribute!
+ */
+
+
+ protected java.lang.String localOffset;
+
+
+ /**
+ * Auto generated getter method
+ *
+ * @return java.lang.String
+ */
+ public java.lang.String getOffset() {
+ return localOffset;
+ }
+
+
+ /**
+ * Auto generated setter method
+ *
+ * @param param Offset
+ */
+ public void setOffset(java.lang.String param) {
+
+ this.localOffset = param;
+
+
+ }
+
+
+ /**
+ * field for Id
+ * This was an Attribute!
+ */
+
+
+ protected org.apache.axis2.databinding.types.Id localId;
+
+
+ /**
+ * Auto generated getter method
+ *
+ * @return org.apache.axis2.databinding.types.Id
+ */
+ public org.apache.axis2.databinding.types.Id getId() {
+ return localId;
+ }
+
+
+ /**
+ * Auto generated setter method
+ *
+ * @param param Id
+ */
+ public void setId(org.apache.axis2.databinding.types.Id param) {
+
+ this.localId = param;
+
+
+ }
+
+
+ /**
+ * field for Href
+ * This was an Attribute!
+ */
+
+
+ protected org.apache.axis2.databinding.types.URI localHref;
+
+
+ /**
+ * Auto generated getter method
+ *
+ * @return org.apache.axis2.databinding.types.URI
+ */
+ public org.apache.axis2.databinding.types.URI getHref() {
+ return localHref;
+ }
+
+
+ /**
+ * Auto generated setter method
+ *
+ * @param param Href
+ */
+ public void setHref(org.apache.axis2.databinding.types.URI param) {
+
+ this.localHref = param;
+
+
+ }
+
+
+ /**
+ * isReaderMTOMAware
+ *
+ * @return true if the reader supports MTOM
+ */
+ public static boolean isReaderMTOMAware(javax.xml.stream.XMLStreamReader reader) {
+ boolean isReaderMTOMAware = false;
+
+ try {
+ isReaderMTOMAware = java.lang.Boolean.TRUE.equals(reader.getProperty(org.apache.axiom.om.OMConstants.IS_DATA_HANDLERS_AWARE));
+ } catch (java.lang.IllegalArgumentException e) {
+ isReaderMTOMAware = false;
+ }
+ return isReaderMTOMAware;
+ }
+
+
+ /**
+ * @param parentQName
+ * @param factory
+ * @return org.apache.axiom.om.OMElement
+ */
+ public OMElement getOMElement(
+ final javax.xml.namespace.QName parentQName,
+ final OMFactory factory) throws ADBException {
+
+
+ OMDataSource dataSource = new ADBDataSource(this, parentQName) {
+ public void serialize(MTOMAwareXMLStreamWriter xmlWriter) throws XMLStreamException {
+ Array.this.serialize(parentQName, factory, xmlWriter);
+ }
+ };
+ return new OMSourcedElementImpl(parentQName, factory, dataSource);
+
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ final OMFactory factory,
+ MTOMAwareXMLStreamWriter xmlWriter) throws XMLStreamException, ADBException {
+ serialize(parentQName, factory, xmlWriter, false);
+ }
+
+ public void serialize(final javax.xml.namespace.QName parentQName,
+ final OMFactory factory,
+ MTOMAwareXMLStreamWriter xmlWriter,
+ boolean serializeType) throws XMLStreamException, ADBException {
+
+
+ java.lang.String prefix = parentQName.getPrefix();
+ java.lang.String namespace = parentQName.getNamespaceURI();
+
+
+ writeStartElement(namespace, parentQName.getLocalPart(), prefix, xmlWriter);
+
+ if (serializeType) {
+
+ java.lang.String namespacePrefix = registerPrefix(xmlWriter, "http://schemas.xmlsoap.org/soap/encoding/");
+ if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)) {
+ writeAttribute("xsi", "http://www.w3.org/2001/XMLSchema-instance", "type",
+ namespacePrefix + ":Array",
+ xmlWriter);
+ } else {
+ writeAttribute("xsi", "http://www.w3.org/2001/XMLSchema-instance", "type",
+ "Array",
+ xmlWriter);
+ }
+ }
+
+ java.lang.String arrayTypePrefix = null;
+ java.lang.String arrayType = null;
+ if (arrayTypeQName != null){
+ arrayTypePrefix = registerPrefix(xmlWriter, arrayTypeQName.getNamespaceURI());
+ arrayType = arrayTypeQName.getLocalPart() + "[" + objectList.size() + "]";
+ } else {
+ // write it as ur-type
+ arrayTypePrefix = registerPrefix(xmlWriter, "http://www.w3.org/2001/XMLSchema");
+ arrayType = "ur-type[" + objectList.size() + "]";
+ }
+
+ if ((arrayTypePrefix != null) && (arrayTypePrefix.trim().length() > 0)) {
+ arrayType = arrayTypePrefix + ":" + arrayType;
+ }
+
+ writeAttribute(registerPrefix(xmlWriter, "http://schemas.xmlsoap.org/soap/encoding/"),
+ "http://schemas.xmlsoap.org/soap/encoding/",
+ "arrayType", arrayType, xmlWriter);
+
+ if (localOffset != null) {
+ writeAttribute("http://schemas.xmlsoap.org/soap/encoding/",
+ "offset", ConverterUtil.convertToString(localOffset), xmlWriter);
+ }
+
+ if (localId != null) {
+ writeAttribute("", "id", ConverterUtil.convertToString(localId), xmlWriter);
+ }
+
+ if (localHref != null) {
+ writeAttribute("", "href", ConverterUtil.convertToString(localHref), xmlWriter);
+ }
+
+ // serialize the object array
+ // since soap encoding does not enforce the name of the children items
+ // here we use item as the child name.
+
+ // all the list objects must be ADBBeans for basic scheam types such as
+ // int,float corresponding soapencoding class must be used
+ ADBBean adbBean;
+ for (Iterator iter = objectList.iterator(); iter.hasNext();) {
+ adbBean = (ADBBean) iter.next();
+ if (adbBean != null) {
+ if (arrayTypeQName != null) {
+ // if the array Type is given then each element does not have to
+ // write the type
+ adbBean.serialize(new javax.xml.namespace.QName("", CHILD_LOCAL_NAME), factory, xmlWriter);
+ } else {
+ adbBean.serialize(new javax.xml.namespace.QName("", CHILD_LOCAL_NAME), factory, xmlWriter, true);
+ }
+
+ } else {
+ //write the null attribute
+ writeStartElement("", CHILD_LOCAL_NAME, null, xmlWriter);
+ writeAttribute("xsi", "http://www.w3.org/2001/XMLSchema-instance", "nil", "1", xmlWriter);
+ xmlWriter.writeEndElement();
+ }
+ }
+
+
+ xmlWriter.writeEndElement();
+
+
+ }
+
+ private void writeStartElement(java.lang.String namespace,
+ java.lang.String localPart,
+ java.lang.String prefix,
+ MTOMAwareXMLStreamWriter xmlWriter) throws XMLStreamException {
+ if ((namespace != null) && (namespace.trim().length() > 0)) {
+ java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+ if (writerPrefix != null) {
+ xmlWriter.writeStartElement(namespace, localPart);
+ } else {
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+ }
+
+ xmlWriter.writeStartElement(prefix, localPart, namespace);
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+ } else {
+ xmlWriter.writeStartElement(localPart);
+ }
+ }
+
+ /**
+ * Util method to write an attribute with the ns prefix
+ */
+ private void writeAttribute(java.lang.String prefix, java.lang.String namespace, java.lang.String attName,
+ java.lang.String attValue, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ if (xmlWriter.getPrefix(namespace) == null) {
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+
+ }
+
+ xmlWriter.writeAttribute(namespace, attName, attValue);
+
+ }
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeAttribute(java.lang.String namespace, java.lang.String attName,
+ java.lang.String attValue, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attValue);
+ }
+ }
+
+
+ /**
+ * Util method to write an attribute without the ns prefix
+ */
+ private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
+ javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ java.lang.String attributeNamespace = qname.getNamespaceURI();
+ java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
+ if (attributePrefix == null) {
+ attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
+ }
+ java.lang.String attributeValue;
+ if (attributePrefix.trim().length() > 0) {
+ attributeValue = attributePrefix + ":" + qname.getLocalPart();
+ } else {
+ attributeValue = qname.getLocalPart();
+ }
+
+ if (namespace.equals("")) {
+ xmlWriter.writeAttribute(attName, attributeValue);
+ } else {
+ registerPrefix(xmlWriter, namespace);
+ xmlWriter.writeAttribute(namespace, attName, attributeValue);
+ }
+ }
+
+ /**
+ * method to handle Qnames
+ */
+
+ private void writeQName(javax.xml.namespace.QName qname,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+ java.lang.String namespaceURI = qname.getNamespaceURI();
+ if (namespaceURI != null) {
+ java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
+ if (prefix == null) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix, namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0) {
+ xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ } else {
+ // i.e this is the default namespace
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+
+ } else {
+ xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
+ }
+ }
+
+ private void writeQNames(javax.xml.namespace.QName[] qnames,
+ javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
+
+ if (qnames != null) {
+ // we have to store this data until last moment since it is not possible to write any
+ // namespace data after writing the charactor data
+ java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
+ java.lang.String namespaceURI = null;
+ java.lang.String prefix = null;
+
+ for (int i = 0; i < qnames.length; i++) {
+ if (i > 0) {
+ stringToWrite.append(" ");
+ }
+ namespaceURI = qnames[i].getNamespaceURI();
+ if (namespaceURI != null) {
+ prefix = xmlWriter.getPrefix(namespaceURI);
+ if ((prefix == null) || (prefix.length() == 0)) {
+ prefix = generatePrefix(namespaceURI);
+ xmlWriter.writeNamespace(prefix, namespaceURI);
+ xmlWriter.setPrefix(prefix, namespaceURI);
+ }
+
+ if (prefix.trim().length() > 0) {
+ stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ } else {
+ stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
+ }
+ }
+ xmlWriter.writeCharacters(stringToWrite.toString());
+ }
+
+ }
+
+
+ /**
+ * Register a namespace prefix
+ */
+ private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
+ java.lang.String prefix = xmlWriter.getPrefix(namespace);
+
+ if (prefix == null) {
+ prefix = generatePrefix(namespace);
+
+ while (xmlWriter.getNamespaceContext().getNamespaceURI(prefix) != null) {
+ prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+ }
+
+ xmlWriter.writeNamespace(prefix, namespace);
+ xmlWriter.setPrefix(prefix, namespace);
+ }
+
+ return prefix;
+ }
+
+
+ /**
+ * databinding method to get an XML representation of this object
+ */
+ public XMLStreamReader getPullParser(javax.xml.namespace.QName qName) throws ADBException {
+ return null;
+ }
+
+
+ /**
+ * Factory class that keeps the parse method
+ */
+ public static class Factory {
+
+
+ /**
+ * static method to create the object
+ * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
+ * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
+ * Postcondition: If this object is an element, the reader is positioned at its end element
+ * If this object is a complex type, the reader is positioned at the end element of its outer element
+ */
+ public static Array parse(XMLStreamReader reader, Class mapperClass) throws Exception {
+ Array object = new Array();
+
+ int event;
+ java.lang.String nillableValue = null;
+ java.lang.String prefix = "";
+ java.lang.String namespaceuri = "";
+ try {
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+// if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance", "type") != null) {
+// java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+// "type");
+// if (fullTypeName != null) {
+// java.lang.String nsPrefix = null;
+// if (fullTypeName.indexOf(":") > -1) {
+// nsPrefix = fullTypeName.substring(0, fullTypeName.indexOf(":"));
+// }
+// nsPrefix = nsPrefix == null ? "" : nsPrefix;
+//
+// java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":") + 1);
+//
+// if (!"Array".equals(type)) {
+// //find namespace for the prefix
+// java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
+// return (Array) ExtensionMapper.getTypeObject(nsUri, type, reader);
+// }
+// }
+// }
+
+ // Note all attributes that were handled. Used to differ normal attributes
+ // from anyAttributes.
+ java.util.Vector handledAttributes = new java.util.Vector();
+
+ // handle attribute "arrayType"
+ java.lang.String attributeType =
+ reader.getAttributeValue("http://schemas.xmlsoap.org/soap/encoding/", "arrayType");
+ object.setArrayType(ConverterUtil.convertToString(attributeType));
+
+ handledAttributes.add("arrayType");
+
+ // handle attribute "offset"
+ java.lang.String offset =
+ reader.getAttributeValue("http://schemas.xmlsoap.org/soap/encoding/", "offset");
+ object.setOffset(ConverterUtil.convertToString(offset));
+
+ handledAttributes.add("offset");
+
+ // handle attribute "id"
+ java.lang.String id = reader.getAttributeValue(null, "id");
+ object.setId(ConverterUtil.convertToID(id));
+ handledAttributes.add("id");
+
+ // handle attribute "href"
+ java.lang.String href = reader.getAttributeValue(null, "href");
+ object.setHref(ConverterUtil.convertToAnyURI(href));
+ handledAttributes.add("href");
+
+ // at the starting point of the child elements
+ reader.next();
+
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+ javax.xml.namespace.QName arrayElementQName = getInnerElementsQName(attributeType, reader);
+ object.setArrayTypeQName(arrayElementQName);
+ if (reader.isStartElement()) {
+
+ boolean loopDone = false;
+
+ while (!loopDone) {
+
+ if (reader.isStartElement()) {
+ // check whether is object is null or not
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if ("true".equals(nillableValue) || "1".equals(nillableValue)) {
+ // move the cursor to the end element
+ while (!reader.isEndElement()) reader.next();
+ object.addObject(null);
+ } else if (arrayElementQName != null){
+ // i.e this array has same attribute type
+ object.addObject(getObject(arrayElementQName,reader,mapperClass));
+ } else {
+ // arrayElementQName null means this does not have an arry level
+ // type declaration we have to check for each and every element
+ javax.xml.namespace.QName typeQName = getTypeQName(reader);
+ if (typeQName == null){
+ typeQName = reader.getName();
+ }
+ object.addObject(getObject(typeQName,reader,mapperClass));
+ }
+ while (!reader.isStartElement() && !reader.isEndElement()) reader.next();
+ reader.next();
+ } else if (reader.isEndElement()) {
+ loopDone = true;
+ } else {
+ reader.next();
+ }
+
+ }
+
+ }
+
+ while (!reader.isStartElement() && !reader.isEndElement())
+ reader.next();
+
+ if (reader.isStartElement()){
+ // A start element we are not expecting indicates a trailing invalid property
+ throw new ADBException("Unexpected subelement " + reader.getLocalName());
+ }
+
+ } catch (XMLStreamException e) {
+ throw new Exception("Exception while parsing array",e);
+ }
+
+ return object;
+ }
+
+ private static Object getObject(javax.xml.namespace.QName qName,
+ XMLStreamReader reader,
+ Class mapperClass) throws Exception {
+ Object returnObject = null;
+ if (qName.getNamespaceURI().equals("http://schemas.xmlsoap.org/soap/encoding/")){
+ returnObject = ExtensionMapper.getTypeObject(
+ qName.getNamespaceURI(),
+ qName.getLocalPart(),
+ reader);
+ } else if (qName.getNamespaceURI().equals("http://www.w3.org/2001/XMLSchema")){
+ returnObject = org.apache.axis2.databinding.types.xsd.ExtensionMapper.getTypeObject(
+ qName.getNamespaceURI(),
+ qName.getLocalPart(),
+ reader);
+ } else {
+ // this could be a general one of have to call for the system Extension mapper
+ // invoking the mapperclass using reflection
+ Method getObjectMethod = mapperClass.getMethod("getTypeObject",
+ new Class[]{java.lang.String.class, java.lang.String.class, XMLStreamReader.class});
+ returnObject = getObjectMethod.invoke(null,
+ new Object[]{qName.getNamespaceURI(), qName.getLocalPart(), reader});
+ }
+ return returnObject;
+ }
+
+ private static javax.xml.namespace.QName getInnerElementsQName(
+ java.lang.String attributeType, XMLStreamReader reader){
+ // attribute type is similar to xsd:ur-type[4]
+ javax.xml.namespace.QName typeQName = null;
+ java.lang.String prefix = "";
+ java.lang.String type = attributeType;
+ if (attributeType.indexOf(":") > -1){
+ prefix = attributeType.substring(0,attributeType.indexOf(":"));
+ type = attributeType.substring(attributeType.indexOf(":") + 1);
+ }
+ java.lang.String namespace = reader.getNamespaceURI(prefix);
+ type = type.substring(0,type.indexOf("["));
+ if (!type.equals("ur-type")){
+ typeQName = new javax.xml.namespace.QName(namespace,type);
+ }
+ return typeQName;
+ }
+
+ private static javax.xml.namespace.QName getTypeQName(XMLStreamReader reader) {
+ javax.xml.namespace.QName typeQName = null;
+ if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance", "type") != null) {
+ java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
+ "type");
+ if (fullTypeName != null) {
+ java.lang.String nsPrefix = null;
+ if (fullTypeName.indexOf(":") > -1) {
+ nsPrefix = fullTypeName.substring(0, fullTypeName.indexOf(":"));
+ }
+ nsPrefix = nsPrefix == null ? "" : nsPrefix;
+ java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":") + 1);
+ typeQName = new javax.xml.namespace.QName(reader.getNamespaceURI(nsPrefix), type);
+ }
+ }
+ return typeQName;
+ }
+
+ }
+
+}
+
+
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org