You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xmlbeans.apache.org by zi...@apache.org on 2003/12/03 00:41:32 UTC

cvs commit: xml-xmlbeans/v2/test/src/drt/drtcases MarshalTests.java

zieg        2003/12/02 15:41:32

  Modified:    v2/src/binding/org/apache/xmlbeans/impl/binding/bts
                        ByNameBean.java
               v2/src/marshal/org/apache/xmlbeans/impl/marshal
                        MarshallerImpl.java
               v2/src/xmlpublic/org/apache/xmlbeans Marshaller.java
               v2/test/cases/marshal example_config.xml
               v2/test/cases/marshal/com/mytest MyClass.java YourClass.java
               v2/test/src/drt/drtcases MarshalTests.java
  Log:
  add XMLStreamWriter versions of marshal methods (tests added to MarshalTests)
  update example_config to generated version
  
  Revision  Changes    Path
  1.5       +5 -0      xml-xmlbeans/v2/src/binding/org/apache/xmlbeans/impl/binding/bts/ByNameBean.java
  
  Index: ByNameBean.java
  ===================================================================
  RCS file: /home/cvs/xml-xmlbeans/v2/src/binding/org/apache/xmlbeans/impl/binding/bts/ByNameBean.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ByNameBean.java	13 Nov 2003 01:37:07 -0000	1.4
  +++ ByNameBean.java	2 Dec 2003 23:41:31 -0000	1.5
  @@ -103,6 +103,11 @@
        */ 
       protected org.apache.xml.xmlbeans.bindingConfig.BindingType write(org.apache.xml.xmlbeans.bindingConfig.BindingType node)
       {
  +        if (!(node instanceof org.apache.xml.xmlbeans.bindingConfig.ByNameBean)) {
  +            throw new AssertionError("node is " + node.getClass() + " wanted org.apache.xml.xmlbeans.bindingConfig.ByNameBean");
  +
  +        }
  +
           org.apache.xml.xmlbeans.bindingConfig.ByNameBean bnNode =
                   (org.apache.xml.xmlbeans.bindingConfig.ByNameBean)super.write(node);
           for (Iterator i = props.iterator(); i.hasNext(); )
  
  
  
  1.4       +32 -0     xml-xmlbeans/v2/src/marshal/org/apache/xmlbeans/impl/marshal/MarshallerImpl.java
  
  Index: MarshallerImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-xmlbeans/v2/src/marshal/org/apache/xmlbeans/impl/marshal/MarshallerImpl.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- MarshallerImpl.java	14 Nov 2003 00:40:29 -0000	1.3
  +++ MarshallerImpl.java	2 Dec 2003 23:41:32 -0000	1.4
  @@ -65,10 +65,13 @@
   import org.apache.xmlbeans.impl.binding.bts.BindingTypeName;
   import org.apache.xmlbeans.impl.binding.bts.JavaName;
   import org.apache.xmlbeans.impl.binding.bts.XmlName;
  +import org.apache.xmlbeans.impl.common.XmlReaderToWriter;
   
   import javax.xml.namespace.NamespaceContext;
   import javax.xml.namespace.QName;
  +import javax.xml.stream.XMLStreamException;
   import javax.xml.stream.XMLStreamReader;
  +import javax.xml.stream.XMLStreamWriter;
   import java.util.ArrayList;
   
   /**
  @@ -120,6 +123,18 @@
           return marshalResult;
       }
   
  +    public void marshall(XMLStreamWriter writer, Object obj)
  +        throws XmlException
  +    {
  +        XMLStreamReader rdr = marshall(obj, writer.getNamespaceContext());
  +        try {
  +            XmlReaderToWriter.writeAll(rdr, writer);
  +        }
  +        catch (XMLStreamException e) {
  +            throw new XmlException(e);
  +        }
  +    }
  +
       public XMLStreamReader marshallType(Object obj,
                                           QName elementName,
                                           QName schemaType,
  @@ -136,6 +151,23 @@
           BindingType type = determineBindingType(obj, schemaType, javaType);
           RuntimeGlobalProperty prop = new RuntimeGlobalProperty(type, elementName);
           return new MarshalResult(prop, obj, our_context);
  +    }
  +
  +    public void marshallType(XMLStreamWriter writer,
  +                             Object obj,
  +                             QName elementName,
  +                             QName schemaType,
  +                             String javaType,
  +                             MarshalContext context)
  +        throws XmlException
  +    {
  +        XMLStreamReader rdr = marshallType(obj, elementName, schemaType, javaType, context);
  +        try {
  +            XmlReaderToWriter.writeAll(rdr, writer);
  +        }
  +        catch (XMLStreamException e) {
  +            throw new XmlException(e);
  +        }
       }
   
       private BindingType determineBindingType(Object obj,
  
  
  
  1.2       +42 -0     xml-xmlbeans/v2/src/xmlpublic/org/apache/xmlbeans/Marshaller.java
  
  Index: Marshaller.java
  ===================================================================
  RCS file: /home/cvs/xml-xmlbeans/v2/src/xmlpublic/org/apache/xmlbeans/Marshaller.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Marshaller.java	14 Nov 2003 00:40:30 -0000	1.1
  +++ Marshaller.java	2 Dec 2003 23:41:32 -0000	1.2
  @@ -60,6 +60,7 @@
   import javax.xml.namespace.NamespaceContext;
   import javax.xml.namespace.QName;
   import javax.xml.stream.XMLStreamReader;
  +import javax.xml.stream.XMLStreamWriter;
   
   /**
    * A Marshaller object is used to convert Java objects to XML documents.
  @@ -86,6 +87,23 @@
       XMLStreamReader marshall(Object obj, NamespaceContext nscontext)
           throws XmlException;
   
  +    /**
  +     * Write an XML representation of the Java object to the provided writer.
  +     *
  +     * The object is expected to correspond to a global element in a schema.
  +     * The first matching global element will be used as the root element.
  +     *
  +     * As of this writing (11/22/2003), this method will NOT write
  +     * a START_DOCUMENT or END_DOCUMENT element.
  +     * The first event written will be a START_ELEMENT event.
  +     *
  +     * @param obj
  +     * @param writer
  +     * @throws XmlException
  +     */
  +    void marshall(XMLStreamWriter writer, Object obj)
  +        throws XmlException;
  +
   
       /**
        * Get an XMLStreamReader object that represents the given java type.
  @@ -108,4 +126,28 @@
                                    String javaType,
                                    MarshalContext context)
           throws XmlException;
  +
  +
  +    /**
  +     * Write an XML representation of the Java object to the provided writer.
  +     *
  +     * As of this writing (11/22/2003), this method will NOT write
  +     * a START_DOCUMENT or END_DOCUMENT element.
  +     * The first event written will be a START_ELEMENT event.
  +     *
  +     * @param writer
  +     * @param obj
  +     * @param elementName
  +     * @param schemaType
  +     * @param javaType
  +     * @throws XmlException
  +     */
  +    void marshallType(XMLStreamWriter writer,
  +                      Object obj,
  +                      QName elementName,
  +                      QName schemaType,
  +                      String javaType,
  +                      MarshalContext context)
  +        throws XmlException;
  +
   }
  
  
  
  1.9       +119 -150  xml-xmlbeans/v2/test/cases/marshal/example_config.xml
  
  Index: example_config.xml
  ===================================================================
  RCS file: /home/cvs/xml-xmlbeans/v2/test/cases/marshal/example_config.xml,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- example_config.xml	19 Nov 2003 20:40:25 -0000	1.8
  +++ example_config.xml	2 Dec 2003 23:41:32 -0000	1.9
  @@ -1,153 +1,122 @@
   <?xml version="1.0" encoding="UTF-8"?>
   <bin:binding-config xmlns:java="java:com.mytest" xmlns:bin="http://xml.apache.org/xmlbeans/binding-config">
  -    <bin:bindings>
  -        <bin:binding-type xsi:type="bin:by-name-bean" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  -            <bin:xmlcomponent>t=YourClass@java:com.mytest</bin:xmlcomponent>
  -            <bin:javatype>com.mytest.YourClass</bin:javatype>
  -            <bin:qname-property>
  -                <bin:xmlcomponent>t=float@http://www.w3.org/2001/XMLSchema</bin:xmlcomponent>
  -                <bin:javatype>float</bin:javatype>
  -                <bin:getter>getAttrib</bin:getter>
  -                <bin:setter>setAttrib</bin:setter>
  -                <bin:qname>java:Attrib</bin:qname>
  -                <bin:attribute>true</bin:attribute>
  -            </bin:qname-property>
  -            <bin:qname-property>
  -                <bin:xmlcomponent>t=MyClass@java:com.mytest</bin:xmlcomponent>
  -                <bin:javatype>com.mytest.MyClass</bin:javatype>
  -                <bin:getter>getMyClass</bin:getter>
  -                <bin:setter>setMyClass</bin:setter>
  -                <bin:qname>java:MyClass</bin:qname>
  -                <bin:nillable>true</bin:nillable>
  -            </bin:qname-property>
  -            <bin:qname-property>
  -                <bin:xmlcomponent>t=float@http://www.w3.org/2001/XMLSchema</bin:xmlcomponent>
  -                <bin:javatype>float</bin:javatype>
  -                <bin:getter>getMyFloat</bin:getter>
  -                <bin:setter>setMyFloat</bin:setter>
  -                <bin:qname>java:MyFloat</bin:qname>
  -            </bin:qname-property>
  -            <bin:qname-property>
  -                <bin:xmlcomponent>t=boolean@http://www.w3.org/2001/XMLSchema</bin:xmlcomponent>
  -                <bin:javatype>boolean</bin:javatype>
  -                <bin:getter>isSomeBool</bin:getter>
  -                <bin:setter>setSomeBool</bin:setter>
  -                <bin:qname>java:SomeBool</bin:qname>
  -            </bin:qname-property>
  -            <bin:qname-property>
  -                <bin:xmlcomponent>t=string@http://www.w3.org/2001/XMLSchema</bin:xmlcomponent>
  -                <bin:javatype>java.lang.String</bin:javatype>
  -                <bin:getter>getStrs</bin:getter>
  -                <bin:setter>setStrs</bin:setter>
  -                <bin:collection>java.util.List</bin:collection>
  -                <bin:qname>java:Strs</bin:qname>
  -                <bin:multiple>true</bin:multiple>
  -                <bin:nillable>true</bin:nillable>
  -            </bin:qname-property>
  -
  -<!--            myclassArray-->
  -            <bin:qname-property>
  -                <bin:xmlcomponent>t=MyClass@java:com.mytest</bin:xmlcomponent>
  -                <bin:javatype>com.mytest.MyClass</bin:javatype>
  -                <bin:getter>getMyClassArray</bin:getter>
  -                <bin:setter>setMyClassArray</bin:setter>
  -                <bin:collection>com.mytest.MyClass[]</bin:collection>
  -                <bin:qname>java:MyClassArray</bin:qname>
  -                <bin:multiple>true</bin:multiple>
  -                <bin:nillable>true</bin:nillable>
  -            </bin:qname-property>
  -
  -            <bin:qname-property>
  -                <bin:xmlcomponent>t=boolean@http://www.w3.org/2001/XMLSchema</bin:xmlcomponent>
  -                <bin:javatype>boolean</bin:javatype>
  -                <bin:getter>getBools</bin:getter>
  -                <bin:setter>setBools</bin:setter>
  -                <bin:collection>java.util.List</bin:collection>
  -                <bin:qname>java:Bools</bin:qname>
  -                <bin:multiple>true</bin:multiple>
  -            </bin:qname-property>
  -            <bin:qname-property>
  -                <bin:xmlcomponent>t=long@http://www.w3.org/2001/XMLSchema</bin:xmlcomponent>
  -                <bin:javatype>long</bin:javatype>
  -                <bin:getter>getLongArray</bin:getter>
  -                <bin:setter>setLongArray</bin:setter>
  -                <bin:collection>long[]</bin:collection>
  -                <bin:qname>java:LongArray</bin:qname>
  -                <bin:multiple>true</bin:multiple>
  -            </bin:qname-property>
  -            <bin:qname-property>
  -                <bin:xmlcomponent>t=boolean@http://www.w3.org/2001/XMLSchema</bin:xmlcomponent>
  -                <bin:javatype>boolean</bin:javatype>
  -                <bin:getter>getBooleanArray</bin:getter>
  -                <bin:setter>setBooleanArray</bin:setter>
  -                <bin:collection>boolean[]</bin:collection>
  -                <bin:qname>java:BooleanArray</bin:qname>
  -                <bin:multiple>true</bin:multiple>
  -            </bin:qname-property>
  -            <bin:qname-property>
  -                <bin:xmlcomponent>t=string@http://www.w3.org/2001/XMLSchema</bin:xmlcomponent>
  -                <bin:javatype>java.lang.String</bin:javatype>
  -                <bin:getter>getStringArray</bin:getter>
  -                <bin:setter>setStringArray</bin:setter>
  -                <bin:collection>java.lang.String[]</bin:collection>
  -                <bin:qname>java:StringArray</bin:qname>
  -                <bin:multiple>true</bin:multiple>
  -            </bin:qname-property>
  -        </bin:binding-type>
  -        <bin:binding-type xsi:type="bin:by-name-bean" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  -            <bin:xmlcomponent>t=MyClass@java:com.mytest</bin:xmlcomponent>
  -            <bin:javatype>com.mytest.MyClass</bin:javatype>
  -            <bin:qname-property>
  -                <bin:xmlcomponent>t=YourClass@java:com.mytest</bin:xmlcomponent>
  -                <bin:javatype>com.mytest.YourClass</bin:javatype>
  -                <bin:getter>getMyelt</bin:getter>
  -                <bin:setter>setMyelt</bin:setter>
  -                <bin:qname>java:Myelt</bin:qname>
  -            </bin:qname-property>
  -            <bin:qname-property>
  -                <bin:xmlcomponent>t=string@http://www.w3.org/2001/XMLSchema</bin:xmlcomponent>
  -                <bin:javatype>java.lang.String</bin:javatype>
  -                <bin:getter>getMyatt</bin:getter>
  -                <bin:setter>setMyatt</bin:setter>
  -                <bin:qname>java:Myatt</bin:qname>
  -                <bin:nillable>true</bin:nillable>
  -            </bin:qname-property>
  -        </bin:binding-type>
  -        <bin:binding-type xsi:type="bin:simple-document-binding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  -            <bin:xmlcomponent>e=load@java:com.mytest</bin:xmlcomponent>
  -            <bin:javatype>com.mytest.MyClass</bin:javatype>
  -            <bin:type-of-element>t=MyClass@java:com.mytest</bin:type-of-element>
  -        </bin:binding-type>
  -    </bin:bindings>
  -    <bin:xml-to-pojo>
  -        <bin:mapping>
  -            <bin:xmlcomponent>t=YourClass@java:com.mytest</bin:xmlcomponent>
  -            <bin:javatype>com.mytest.YourClass</bin:javatype>
  -        </bin:mapping>
  -        <bin:mapping>
  -            <bin:xmlcomponent>t=MyClass@java:com.mytest</bin:xmlcomponent>
  -            <bin:javatype>com.mytest.MyClass</bin:javatype>
  -        </bin:mapping>
  -        <bin:mapping>
  -            <bin:xmlcomponent>e=load@java:com.mytest</bin:xmlcomponent>
  -            <bin:javatype>com.mytest.MyClass</bin:javatype>
  -        </bin:mapping>
  -    </bin:xml-to-pojo>
  -    <bin:xml-to-xmlobj/>
  -    <bin:java-to-xml>
  -        <bin:mapping>
  -            <bin:xmlcomponent>t=YourClass@java:com.mytest</bin:xmlcomponent>
  -            <bin:javatype>com.mytest.YourClass</bin:javatype>
  -        </bin:mapping>
  -        <bin:mapping>
  -            <bin:xmlcomponent>t=MyClass@java:com.mytest</bin:xmlcomponent>
  -            <bin:javatype>com.mytest.MyClass</bin:javatype>
  -        </bin:mapping>
  -    </bin:java-to-xml>
  -    <bin:java-to-element>
  -        <bin:mapping>
  -            <bin:xmlcomponent>e=load@java:com.mytest</bin:xmlcomponent>
  -            <bin:javatype>com.mytest.MyClass</bin:javatype>
  -        </bin:mapping>
  -    </bin:java-to-element>
  +  <bin:bindings>
  +    <bin:binding-type xsi:type="bin:by-name-bean" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  +      <bin:xmlcomponent>t=YourClass@java:com.mytest</bin:xmlcomponent>
  +      <bin:javatype>com.mytest.YourClass</bin:javatype>
  +      <bin:qname-property>
  +        <bin:xmlcomponent>t=float@http://www.w3.org/2001/XMLSchema</bin:xmlcomponent>
  +        <bin:javatype>float</bin:javatype>
  +        <bin:getter>getAttrib</bin:getter>
  +        <bin:setter>setAttrib</bin:setter>
  +        <bin:qname>java:Attrib</bin:qname>
  +        <bin:attribute>true</bin:attribute>
  +      </bin:qname-property>
  +      <bin:qname-property>
  +        <bin:xmlcomponent>t=MyClass@java:com.mytest</bin:xmlcomponent>
  +        <bin:javatype>com.mytest.MyClass</bin:javatype>
  +        <bin:getter>getMyClass</bin:getter>
  +        <bin:setter>setMyClass</bin:setter>
  +        <bin:qname>java:MyClass</bin:qname>
  +      </bin:qname-property>
  +      <bin:qname-property>
  +        <bin:xmlcomponent>t=float@http://www.w3.org/2001/XMLSchema</bin:xmlcomponent>
  +        <bin:javatype>float</bin:javatype>
  +        <bin:getter>getMyFloat</bin:getter>
  +        <bin:setter>setMyFloat</bin:setter>
  +        <bin:qname>java:MyFloat</bin:qname>
  +      </bin:qname-property>
  +      <bin:qname-property>
  +        <bin:xmlcomponent>t=MyClass@java:com.mytest</bin:xmlcomponent>
  +        <bin:javatype>com.mytest.MyClass</bin:javatype>
  +        <bin:getter>getMyClassArray</bin:getter>
  +        <bin:setter>setMyClassArray</bin:setter>
  +        <bin:collection>com.mytest.MyClass[]</bin:collection>
  +        <bin:qname>java:MyClassArray</bin:qname>
  +        <bin:multiple>true</bin:multiple>
  +      </bin:qname-property>
  +      <bin:qname-property>
  +        <bin:xmlcomponent>t=long@http://www.w3.org/2001/XMLSchema</bin:xmlcomponent>
  +        <bin:javatype>long</bin:javatype>
  +        <bin:getter>getLongArray</bin:getter>
  +        <bin:setter>setLongArray</bin:setter>
  +        <bin:collection>long[]</bin:collection>
  +        <bin:qname>java:LongArray</bin:qname>
  +        <bin:multiple>true</bin:multiple>
  +      </bin:qname-property>
  +      <bin:qname-property>
  +        <bin:xmlcomponent>t=boolean@http://www.w3.org/2001/XMLSchema</bin:xmlcomponent>
  +        <bin:javatype>boolean</bin:javatype>
  +        <bin:getter>getBooleanArray</bin:getter>
  +        <bin:setter>setBooleanArray</bin:setter>
  +        <bin:collection>boolean[]</bin:collection>
  +        <bin:qname>java:BooleanArray</bin:qname>
  +        <bin:multiple>true</bin:multiple>
  +      </bin:qname-property>
  +      <bin:qname-property>
  +        <bin:xmlcomponent>t=string@http://www.w3.org/2001/XMLSchema</bin:xmlcomponent>
  +        <bin:javatype>java.lang.String</bin:javatype>
  +        <bin:getter>getStringArray</bin:getter>
  +        <bin:setter>setStringArray</bin:setter>
  +        <bin:collection>java.lang.String[]</bin:collection>
  +        <bin:qname>java:StringArray</bin:qname>
  +        <bin:multiple>true</bin:multiple>
  +      </bin:qname-property>
  +    </bin:binding-type>
  +    <bin:binding-type xsi:type="bin:by-name-bean" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  +      <bin:xmlcomponent>t=MyClass@java:com.mytest</bin:xmlcomponent>
  +      <bin:javatype>com.mytest.MyClass</bin:javatype>
  +      <bin:qname-property>
  +        <bin:xmlcomponent>t=YourClass@java:com.mytest</bin:xmlcomponent>
  +        <bin:javatype>com.mytest.YourClass</bin:javatype>
  +        <bin:getter>getMyelt</bin:getter>
  +        <bin:setter>setMyelt</bin:setter>
  +        <bin:qname>java:Myelt</bin:qname>
  +      </bin:qname-property>
  +      <bin:qname-property>
  +        <bin:xmlcomponent>t=string@http://www.w3.org/2001/XMLSchema</bin:xmlcomponent>
  +        <bin:javatype>java.lang.String</bin:javatype>
  +        <bin:getter>getMyatt</bin:getter>
  +        <bin:setter>setMyatt</bin:setter>
  +        <bin:qname>java:Myatt</bin:qname>
  +        <bin:nillable>true</bin:nillable>
  +      </bin:qname-property>
  +    </bin:binding-type>
  +    <bin:binding-type xsi:type="bin:simple-document-binding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  +      <bin:xmlcomponent>e=load@java:com.mytest</bin:xmlcomponent>
  +      <bin:javatype>com.mytest.MyClass</bin:javatype>
  +      <bin:type-of-element>t=MyClass@java:com.mytest</bin:type-of-element>
  +    </bin:binding-type>
  +  </bin:bindings>
  +  <bin:xml-to-pojo>
  +    <bin:mapping>
  +      <bin:xmlcomponent>t=YourClass@java:com.mytest</bin:xmlcomponent>
  +      <bin:javatype>com.mytest.YourClass</bin:javatype>
  +    </bin:mapping>
  +    <bin:mapping>
  +      <bin:xmlcomponent>t=MyClass@java:com.mytest</bin:xmlcomponent>
  +      <bin:javatype>com.mytest.MyClass</bin:javatype>
  +    </bin:mapping>
  +    <bin:mapping>
  +      <bin:xmlcomponent>e=load@java:com.mytest</bin:xmlcomponent>
  +      <bin:javatype>com.mytest.MyClass</bin:javatype>
  +    </bin:mapping>
  +  </bin:xml-to-pojo>
  +  <bin:xml-to-xmlobj/>
  +  <bin:java-to-xml>
  +    <bin:mapping>
  +      <bin:xmlcomponent>t=YourClass@java:com.mytest</bin:xmlcomponent>
  +      <bin:javatype>com.mytest.YourClass</bin:javatype>
  +    </bin:mapping>
  +    <bin:mapping>
  +      <bin:xmlcomponent>t=MyClass@java:com.mytest</bin:xmlcomponent>
  +      <bin:javatype>com.mytest.MyClass</bin:javatype>
  +    </bin:mapping>
  +  </bin:java-to-xml>
  +  <bin:java-to-element>
  +    <bin:mapping>
  +      <bin:xmlcomponent>e=load@java:com.mytest</bin:xmlcomponent>
  +      <bin:javatype>com.mytest.MyClass</bin:javatype>
  +    </bin:mapping>
  +  </bin:java-to-element>
   </bin:binding-config>
  
  
  
  1.5       +3 -1      xml-xmlbeans/v2/test/cases/marshal/com/mytest/MyClass.java
  
  Index: MyClass.java
  ===================================================================
  RCS file: /home/cvs/xml-xmlbeans/v2/test/cases/marshal/com/mytest/MyClass.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- MyClass.java	19 Nov 2003 20:40:25 -0000	1.4
  +++ MyClass.java	2 Dec 2003 23:41:32 -0000	1.5
  @@ -20,7 +20,9 @@
           this.myelt = myelt;
       }
   
  -
  +    /**
  +     *  @xsdgen:element.nillable true
  +     */
       public String getMyatt()
       {
           return myatt;
  
  
  
  1.6       +27 -27    xml-xmlbeans/v2/test/cases/marshal/com/mytest/YourClass.java
  
  Index: YourClass.java
  ===================================================================
  RCS file: /home/cvs/xml-xmlbeans/v2/test/cases/marshal/com/mytest/YourClass.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- YourClass.java	19 Nov 2003 20:40:25 -0000	1.5
  +++ YourClass.java	2 Dec 2003 23:41:32 -0000	1.6
  @@ -69,8 +69,8 @@
       private float myFloat;
       private float attrib;
       private boolean someBool;
  -    private List bools;// = newBoolList();
  -    private List strs;// = newStringList();
  +//    private List bools;// = newBoolList();
  +//    private List strs;// = newStringList();
       private long[] longArray;// = {RND.nextLong(), RND.nextLong()};
       private boolean[] booleanArray;// = {true, false, true};
       private String[] stringArray;//{"ONE:"+RND.nextInt(), "TWO:"+RND.nextInt()};
  @@ -129,16 +129,16 @@
       {
           this.someBool = someBool;
       }
  -
  -    public List getBools()
  -    {
  -        return bools;
  -    }
  -
  -    public void setBools(List bools)
  -    {
  -        this.bools = bools;
  -    }
  +//
  +//    public List getBools()
  +//    {
  +//        return bools;
  +//    }
  +//
  +//    public void setBools(List bools)
  +//    {
  +//        this.bools = bools;
  +//    }
   
   
       /**
  @@ -154,15 +154,15 @@
           this.attrib = attrib;
       }
   
  -    public List getStrs()
  -    {
  -        return strs;
  -    }
  -
  -    public void setStrs(List strs)
  -    {
  -        this.strs = strs;
  -    }
  +//    public List getStrs()
  +//    {
  +//        return strs;
  +//    }
  +//
  +//    public void setStrs(List strs)
  +//    {
  +//        this.strs = strs;
  +//    }
   
       public long[] getLongArray()
       {
  @@ -216,12 +216,12 @@
           if (myFloat != yourClass.myFloat) return false;
           if (someBool != yourClass.someBool) return false;
           if (!Arrays.equals(booleanArray, yourClass.booleanArray)) return false;
  -        if (bools != null ? !bools.equals(yourClass.bools) : yourClass.bools != null) return false;
  +//        if (bools != null ? !bools.equals(yourClass.bools) : yourClass.bools != null) return false;
           if (!Arrays.equals(longArray, yourClass.longArray)) return false;
           if (myClass != null ? !myClass.equals(yourClass.myClass) : yourClass.myClass != null) return false;
           if (!Arrays.equals(myClassArray, yourClass.myClassArray)) return false;
           if (!Arrays.equals(stringArray, yourClass.stringArray)) return false;
  -        if (strs != null ? !strs.equals(yourClass.strs) : yourClass.strs != null) return false;
  +//        if (strs != null ? !strs.equals(yourClass.strs) : yourClass.strs != null) return false;
   
           return true;
       }
  @@ -233,8 +233,8 @@
           result = 29 * result + Float.floatToIntBits(myFloat);
           result = 29 * result + Float.floatToIntBits(attrib);
           result = 29 * result + (someBool ? 1 : 0);
  -        result = 29 * result + (bools != null ? bools.hashCode() : 0);
  -        result = 29 * result + (strs != null ? strs.hashCode() : 0);
  +//        result = 29 * result + (bools != null ? bools.hashCode() : 0);
  +//        result = 29 * result + (strs != null ? strs.hashCode() : 0);
           return result;
       }
   
  @@ -248,8 +248,8 @@
               ", myFloat=" + myFloat +
               ", attrib=" + attrib +
               ", someBool=" + someBool +
  -            ", bools=" + (bools == null ? null : "size:" + bools.size() + bools) +
  -            ", strs=" + (strs == null ? null : "size:" + strs.size() + strs) +
  +//            ", bools=" + (bools == null ? null : "size:" + bools.size() + bools) +
  +//            ", strs=" + (strs == null ? null : "size:" + strs.size() + strs) +
               ", longArray=" + ArrayUtils.arrayToString(longArray) +
               ", booleanArray=" + ArrayUtils.arrayToString(booleanArray) +
               ", stringArray=" + ArrayUtils.arrayToString(stringArray) +
  
  
  
  1.15      +81 -0     xml-xmlbeans/v2/test/src/drt/drtcases/MarshalTests.java
  
  Index: MarshalTests.java
  ===================================================================
  RCS file: /home/cvs/xml-xmlbeans/v2/test/src/drt/drtcases/MarshalTests.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- MarshalTests.java	19 Nov 2003 20:40:25 -0000	1.14
  +++ MarshalTests.java	2 Dec 2003 23:41:32 -0000	1.15
  @@ -150,6 +150,8 @@
           myelt.setMyClass(null);
           mc.setMyelt(myelt);
   
  +        myelt.setStringArray(new String[]{"one", "two", "three"});
  +
   
           final File bcdoc = getBindingConfigDocument();
   
  @@ -174,6 +176,84 @@
       }
   
   
  +    public void testByNameMarshalViaWriter()
  +        throws Exception
  +    {
  +        com.mytest.MyClass mc = new com.mytest.MyClass();
  +        mc.setMyatt("attval");
  +        com.mytest.YourClass myelt = new com.mytest.YourClass();
  +        myelt.setAttrib(99999.777f);
  +        myelt.setMyFloat(5555.4444f);
  +//        myelt.setMyClass(new com.mytest.MyClass());
  +        myelt.setMyClass(null);
  +        mc.setMyelt(myelt);
  +
  +        myelt.setStringArray(new String[]{"one", "two", "three"});
  +
  +
  +        final File bcdoc = getBindingConfigDocument();
  +
  +        BindingContext bindingContext =
  +            BindingContextFactory.newInstance().createBindingContext(bcdoc);
  +
  +        Marshaller m = bindingContext.createMarshaller();
  +
  +        StringWriter sw = new StringWriter();
  +        XMLStreamWriter w = XMLOutputFactory.newInstance().createXMLStreamWriter(sw);
  +
  +        MarshalContext ctx =
  +            bindingContext.createMarshallContext(w.getNamespaceContext());
  +
  +         m.marshallType(w, mc, new QName("java:com.mytest", "load"),
  +                           new QName("java:com.mytest", "MyClass"),
  +                           mc.getClass().getName(),
  +                           ctx);
  +
  +        System.out.println("=======IN-OBJ: " + mc);
  +        System.out.println("=======OUT-XML: " + PrettyPrinter.indent(sw.getBuffer().toString()));
  +    }
  +
  +    public void testByNameDocMarshalViaWriter()
  +        throws Exception
  +    {
  +        com.mytest.MyClass mc = new com.mytest.MyClass();
  +        mc.setMyatt("attval");
  +        com.mytest.YourClass myelt = new com.mytest.YourClass();
  +        myelt.setAttrib(99999.777f);
  +        myelt.setMyFloat(5555.4444f);
  +//        myelt.setMyClass(new com.mytest.MyClass());
  +        myelt.setMyClass(null);
  +        mc.setMyelt(myelt);
  +
  +        myelt.setStringArray(new String[]{"one", "two", "three"});
  +
  +
  +        final File bcdoc = getBindingConfigDocument();
  +
  +        BindingContext bindingContext =
  +            BindingContextFactory.newInstance().createBindingContext(bcdoc);
  +
  +        Marshaller m = bindingContext.createMarshaller();
  +
  +        StringWriter sw = new StringWriter();
  +        XMLStreamWriter w = XMLOutputFactory.newInstance().createXMLStreamWriter(sw);
  +
  +        MarshalContext ctx =
  +            bindingContext.createMarshallContext(w.getNamespaceContext());
  +
  +        m.marshall(w, mc);
  +
  +
  +        //now unmarshall from String and compare objects...
  +        StringReader sr = new StringReader(sw.getBuffer().toString());
  +        XMLStreamReader rdr =
  +            XMLInputFactory.newInstance().createXMLStreamReader(sr);
  +        Unmarshaller um = bindingContext.createUnmarshaller();
  +        Object out_obj =  um.unmarshal(rdr);
  +        Assert.assertEquals(mc, out_obj);
  +    }
  +
  +
       public void testRoundtripPerf()
           throws Exception
       {
  @@ -281,6 +361,7 @@
           top_obj.setMyelt(myelt);
   //        curr.setMyatt("STR" + rnd.nextInt());
           top_obj.setMyatt(null);
  +//        top_obj.setMyatt("someVALUE");
   
   
           System.out.println("top_obj = " + top_obj);
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xmlbeans-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xmlbeans-cvs-help@xml.apache.org