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/11/02 21:21:48 UTC

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

zieg        2003/11/02 12:21:48

  Modified:    v2/src/binding/org/apache/xmlbeans/impl/binding/bts
                        BindingTypeName.java
               v2/src/common/org/apache/xmlbeans/impl/common
                        XmlStreamUtils.java
               v2/src/marshal/org/apache/xmlbeans/impl/marshal
                        BindingContext.java BindingContextFactory.java
                        ByNameTypeVisitor.java MarshalResult.java
                        SimpleTypeVisitor.java UnmarshalContext.java
               v2/test/src/drt/drtcases MarshalTests.java
  Log:
  cleanup mashal apis
  
  Revision  Changes    Path
  1.2       +9 -3      xml-xmlbeans/v2/src/binding/org/apache/xmlbeans/impl/binding/bts/BindingTypeName.java
  
  Index: BindingTypeName.java
  ===================================================================
  RCS file: /home/cvs/xml-xmlbeans/v2/src/binding/org/apache/xmlbeans/impl/binding/bts/BindingTypeName.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- BindingTypeName.java	28 Oct 2003 17:51:26 -0000	1.1
  +++ BindingTypeName.java	2 Nov 2003 20:21:47 -0000	1.2
  @@ -60,7 +60,7 @@
   {
       private final JavaName jName;
       private final XmlName xName;
  -    
  +
       public static BindingTypeName forPair(JavaName jName, XmlName xName)
       {
           return new BindingTypeName(jName, xName);
  @@ -81,13 +81,13 @@
       {
           return xName;
       }
  -    
  +
       public boolean equals(Object o)
       {
           if (this == o) return true;
           if (!(o instanceof BindingTypeName)) return false;
   
  -        final BindingTypeName bindingTypeName = (BindingTypeName) o;
  +        final BindingTypeName bindingTypeName = (BindingTypeName)o;
   
           if (!jName.equals(bindingTypeName.jName)) return false;
           if (!xName.equals(bindingTypeName.xName)) return false;
  @@ -102,4 +102,10 @@
           result = 29 * result + xName.hashCode();
           return result;
       }
  +
  +    public String toString()
  +    {
  +        return "BindingTypeName[" + jName + ";" + xName + "]";
  +    }
  +
   }
  
  
  
  1.2       +1 -1      xml-xmlbeans/v2/src/common/org/apache/xmlbeans/impl/common/XmlStreamUtils.java
  
  Index: XmlStreamUtils.java
  ===================================================================
  RCS file: /home/cvs/xml-xmlbeans/v2/src/common/org/apache/xmlbeans/impl/common/XmlStreamUtils.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XmlStreamUtils.java	16 Oct 2003 00:02:49 -0000	1.1
  +++ XmlStreamUtils.java	2 Nov 2003 20:21:47 -0000	1.2
  @@ -176,7 +176,7 @@
                                   StringBuffer b)
     {
       if (uri != null && !("".equals(uri))) b.append("['" + uri + "']:");
  -    if (prefix != null) b.append(prefix + ":");
  +    if (prefix != null && !("".equals(prefix))) b.append(prefix + ":");
       if (localName != null) b.append(localName);
     }
   
  
  
  
  1.4       +6 -0      xml-xmlbeans/v2/src/marshal/org/apache/xmlbeans/impl/marshal/BindingContext.java
  
  Index: BindingContext.java
  ===================================================================
  RCS file: /home/cvs/xml-xmlbeans/v2/src/marshal/org/apache/xmlbeans/impl/marshal/BindingContext.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- BindingContext.java	31 Oct 2003 22:23:25 -0000	1.3
  +++ BindingContext.java	2 Nov 2003 20:21:47 -0000	1.4
  @@ -93,6 +93,12 @@
           return new UnmarshalContext(reader, bindingLoader, typeTable, errors);
       }
   
  +    //TODO: REVIEW: should error collection concept be exposed here?
  +    public UnmarshalContext createUnmarshallContext(Collection errors)
  +    {
  +        return new UnmarshalContext(bindingLoader, typeTable, errors);
  +    }
  +
   
       public Marshaller createMarshaller()
       {
  
  
  
  1.4       +11 -0     xml-xmlbeans/v2/src/marshal/org/apache/xmlbeans/impl/marshal/BindingContextFactory.java
  
  Index: BindingContextFactory.java
  ===================================================================
  RCS file: /home/cvs/xml-xmlbeans/v2/src/marshal/org/apache/xmlbeans/impl/marshal/BindingContextFactory.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- BindingContextFactory.java	28 Oct 2003 17:51:27 -0000	1.3
  +++ BindingContextFactory.java	2 Nov 2003 20:21:47 -0000	1.4
  @@ -77,6 +77,13 @@
   public class BindingContextFactory
   {
   
  +    public static BindingContext createBindingContext()
  +    {
  +        BindingFile empty = new BindingFile();
  +        return createBindingContext(empty);
  +    }
  +
  +
       public static BindingContext createBindingContext(InputStream bindingConfig)
           throws IOException, XmlException
       {
  @@ -96,7 +103,11 @@
       public static BindingContext createBindingContext(BindingConfigDocument doc)
       {
           BindingFile bf = BindingFile.forDoc(doc);
  +        return createBindingContext(bf);
  +    }
   
  +    private static BindingContext createBindingContext(BindingFile bf)
  +    {
           BindingLoader bindingLoader = buildBindingLoader(bf);
           RuntimeBindingTypeTable tbl = buildUnmarshallingTypeTable(bf, bindingLoader);
   
  
  
  
  1.2       +2 -1      xml-xmlbeans/v2/src/marshal/org/apache/xmlbeans/impl/marshal/ByNameTypeVisitor.java
  
  Index: ByNameTypeVisitor.java
  ===================================================================
  RCS file: /home/cvs/xml-xmlbeans/v2/src/marshal/org/apache/xmlbeans/impl/marshal/ByNameTypeVisitor.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ByNameTypeVisitor.java	31 Oct 2003 22:23:25 -0000	1.1
  +++ ByNameTypeVisitor.java	2 Nov 2003 20:21:47 -0000	1.2
  @@ -61,7 +61,8 @@
   class ByNameTypeVisitor extends XmlTypeVisitor
   {
   
  -    public ByNameTypeVisitor(RuntimeBindingProperty property, Object obj)
  +    public ByNameTypeVisitor(RuntimeBindingProperty property, Object obj,
  +                             MarshalContext context)
       {
           super(obj);
       }
  
  
  
  1.2       +1 -1      xml-xmlbeans/v2/src/marshal/org/apache/xmlbeans/impl/marshal/MarshalResult.java
  
  Index: MarshalResult.java
  ===================================================================
  RCS file: /home/cvs/xml-xmlbeans/v2/src/marshal/org/apache/xmlbeans/impl/marshal/MarshalResult.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- MarshalResult.java	31 Oct 2003 22:23:25 -0000	1.1
  +++ MarshalResult.java	2 Nov 2003 20:21:47 -0000	1.2
  @@ -93,7 +93,7 @@
   
           //TODO: cleanup instanceof
           if (btype instanceof ByNameBean) {
  -            return new ByNameTypeVisitor(property, obj);
  +            return new ByNameTypeVisitor(property, obj, context);
           } else if (btype instanceof SimpleBindingType) {
               return new SimpleTypeVisitor(property, obj, context);
           } else if (btype instanceof BuiltinBindingType) {
  
  
  
  1.2       +13 -6     xml-xmlbeans/v2/src/marshal/org/apache/xmlbeans/impl/marshal/SimpleTypeVisitor.java
  
  Index: SimpleTypeVisitor.java
  ===================================================================
  RCS file: /home/cvs/xml-xmlbeans/v2/src/marshal/org/apache/xmlbeans/impl/marshal/SimpleTypeVisitor.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SimpleTypeVisitor.java	31 Oct 2003 22:23:26 -0000	1.1
  +++ SimpleTypeVisitor.java	2 Nov 2003 20:21:47 -0000	1.2
  @@ -72,8 +72,6 @@
           super(obj);
           this.property = property;
           this.context = context;
  -
  -
       }
   
       protected void advance()
  @@ -93,13 +91,22 @@
   
       protected QName getName()
       {
  +        //TODO: optimize this method (and related) 
           final QName pname = property.getName();
  +        final String uri = pname.getNamespaceURI();
   
  -        if (prefix == null) {
  -            prefix = context.ensurePrefix(pname.getNamespaceURI());
  -        }
  +        assert uri != null;  //QName's should use "" for no namespace
   
  -        return new QName(pname.getNamespaceURI(), pname.getLocalPart(), prefix);
  +        if (uri.length() == 0) {
  +            return new QName(pname.getLocalPart());
  +        } else {
  +
  +            if (prefix == null) {
  +                prefix = context.ensurePrefix(uri);
  +            }
  +
  +            return new QName(uri, pname.getLocalPart(), prefix);
  +        }
       }
   
       protected boolean isCharacters()
  
  
  
  1.4       +17 -2     xml-xmlbeans/v2/src/marshal/org/apache/xmlbeans/impl/marshal/UnmarshalContext.java
  
  Index: UnmarshalContext.java
  ===================================================================
  RCS file: /home/cvs/xml-xmlbeans/v2/src/marshal/org/apache/xmlbeans/impl/marshal/UnmarshalContext.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- UnmarshalContext.java	31 Oct 2003 22:23:26 -0000	1.3
  +++ UnmarshalContext.java	2 Nov 2003 20:21:47 -0000	1.4
  @@ -78,7 +78,7 @@
    */
   public final class UnmarshalContext
   {
  -    private final XMLStreamReader baseReader;
  +    private XMLStreamReader baseReader;
       private final BindingLoader bindingLoader;
       private final RuntimeBindingTypeTable typeTable;
       private final Collection errors;
  @@ -95,9 +95,24 @@
       }
   
   
  -    XMLStreamReader getXmlStream()
  +    UnmarshalContext(BindingLoader bindingLoader,
  +                     RuntimeBindingTypeTable typeTable,
  +                     Collection errors)
  +    {
  +        this.bindingLoader = bindingLoader;
  +        this.errors = errors;
  +        this.typeTable = typeTable;
  +    }
  +
  +
  +    public XMLStreamReader getXmlStream()
       {
           return baseReader;
  +    }
  +
  +    public void setXmlStream(XMLStreamReader reader)
  +    {
  +        baseReader = reader;
       }
   
       RuntimeBindingTypeTable getTypeTable()
  
  
  
  1.4       +40 -10    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.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- MarshalTests.java	31 Oct 2003 22:23:26 -0000	1.3
  +++ MarshalTests.java	2 Nov 2003 20:21:47 -0000	1.4
  @@ -102,7 +102,9 @@
               bindingContext.createMarshallContext(namespaceContext, errors);
   
           final XMLStreamReader reader =
  -            m.marshallType(orig, new QName("uri", "lname"),
  +            m.marshallType(orig,
  +//                           new QName("uri", "lname"),
  +                           new QName("lname"),
                              new QName("http://www.w3.org/2001/XMLSchema", xsd_type),
                              orig.getClass().getName(),
                              ctx);
  @@ -114,17 +116,45 @@
               final int state = reader.next();
               System.out.println("next is " + state);
           }
  +    }
   
  -
  -//        StringWriter sw = new StringWriter();
  -//        XMLStreamWriter xwriter = XMLOutputFactory.newInstance().createXMLStreamWriter(sw);
  -//        final ReaderToWriter rtow = new ReaderToWriter(xwriter);
  -//        rtow.write(reader);
  -//        xwriter.close();
  -//        sw.close();
   //
  -//        System.out.println("OUTPUT=|" + sw.getBuffer() + "|");
  -    }
  +//    //only works for values where .toString() is equivalent to marshalling
  +//    public void __testByNameMarshal()
  +//        throws Exception
  +//    {
  +//        MyClass mc = new MyClass();
  +//        mc.setMyatt("attval");
  +//
  +//        BindingFile bf = new BindingFile();
  +//        BindingConfigDocument bindingConfigDocument = bf.write();
  +//
  +//        BindingContext bindingContext =
  +//            BindingContextFactory.createBindingContext(bindingConfigDocument);
  +//
  +//        Marshaller m = bindingContext.createMarshaller();
  +//
  +//        EmptyNamespaceContext namespaceContext = new EmptyNamespaceContext();
  +//        final ArrayList errors = new ArrayList();
  +//        MarshalContext ctx =
  +//            bindingContext.createMarshallContext(namespaceContext, errors);
  +//
  +//        final XMLStreamReader reader =
  +//            m.marshallType(mc, new QName("uri", "lname"),
  +//                           new QName("java:com.mytest", "MyClass"),
  +//                           mc.getClass().getName(),
  +//                           ctx);
  +//
  +//
  +//        System.out.println("==================OBJ: " + mc);
  +//        while (reader.hasNext()) {
  +//            System.out.println("STATE: " + XmlStreamUtils.printEvent(reader));
  +//            final int state = reader.next();
  +//            System.out.println("next is " + state);
  +//        }
  +//
  +//
  +//    }
   
       public void testByNameBeanUnmarshal()
           throws Exception
  
  
  

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