CVS Update: xmlpull-api-v1/addons/java/wrapper/tests/org/xmlpull/v1/wrapper/junit

Aleksander Andrzej Slominski <[email protected]> Thu, 10 Jul 2003 13:04:57 -0500 (EST)
Newsgroups gmane.text.xml.xmlpull.devel
Message-ID <[email protected]>
aslom       03/07/10 13:04:57

  Modified:    addons/java/wrapper/src/org/xmlpull/v1/wrapper
                        XmlPullParserWrapper.java XmlSerializerWrapper.java
               addons/java/wrapper/src/org/xmlpull/v1/wrapper/classic
                        StaticXmlPullParserWrapper.java
                        StaticXmlSerializerWrapper.java
               addons/java/wrapper/tests/org/xmlpull/v1/wrapper/junit
                        TestXmlPullWrapper.java
  Log:
   more javadocs, added processing xsi:nil for xsd:string, fixed method name
  
  Revision  Changes    Path
  1.8       +9 -1      xmlpull-api-v1/addons/java/wrapper/src/org/xmlpull/v1/wrapper/XmlPullParserWrapper.java
  
  Index: XmlPullParserWrapper.java
  ===================================================================
  RCS file: /l/extreme/cvspub/xmlpull-api-v1/addons/java/wrapper/src/org/xmlpull/v1/wrapper/XmlPullParserWrapper.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -b -t -w -r1.7 -r1.8
  --- XmlPullParserWrapper.java	10 Jul 2003 17:02:30 -0000	1.7
  +++ XmlPullParserWrapper.java	10 Jul 2003 18:04:57 -0000	1.8
  @@ -19,6 +19,7 @@
   public interface XmlPullParserWrapper extends XmlPullParser {
       public static final String NO_NAMESPACE = "";
       public static final String XSI_NS = "http://www.w3.org/2001/XMLSchema-instance";
  +    public static final String XSD_NS = "http://www.w3.org/2001/XMLSchema";
   
       /**
        * Return value of attribute with given name and no namespace.
  @@ -155,7 +156,14 @@
        */
       public int readInt() throws XmlPullParserException, IOException;
   
  -     //* Check for xsi:nil and if not
  +    /**
  +     * Check for xsi:nil and if it has value 'true' returns null
  +     * as described in
  +     * <a href="http://www.w3.org/TR/xmlschema-1/#Instance_Document_Constructions">XML Schemas
  +     * Part 1</a>
  +     * otherwise it calls nextText().
  +     * After this method executed the parser is positioned on END_TAG.
  +     */
       public String readString() throws XmlPullParserException, IOException;
   
       /**
  
  
  
  1.7       +5 -4      xmlpull-api-v1/addons/java/wrapper/src/org/xmlpull/v1/wrapper/XmlSerializerWrapper.java
  
  Index: XmlSerializerWrapper.java
  ===================================================================
  RCS file: /l/extreme/cvspub/xmlpull-api-v1/addons/java/wrapper/src/org/xmlpull/v1/wrapper/XmlSerializerWrapper.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -b -t -w -r1.6 -r1.7
  --- XmlSerializerWrapper.java	1 Jul 2003 19:02:46 -0000	1.6
  +++ XmlSerializerWrapper.java	10 Jul 2003 18:04:57 -0000	1.7
  @@ -15,8 +15,9 @@
    * @author Naresh Bhatia
    */
   public interface XmlSerializerWrapper extends XmlSerializer {
  -    public static final String NO_NAMESPACE = "";
  -    public static final String XSI_NS = "http://www.w3.org/2001/XMLSchema-instance";
  +    public static final String NO_NAMESPACE = XmlPullParserWrapper.NO_NAMESPACE;
  +    public static final String XSI_NS = XmlPullParserWrapper.XSI_NS;
  +    public static final String XSD_NS = XmlPullParserWrapper.XSD_NS;
   
       /**
        * Get namespace that is used as default when no namespace parameter is used for
  @@ -75,7 +76,7 @@
       // set of methods to make easy to write XSD types
   
       /**
  -     * Write as text value of argument.
  +     * Write as text value of argument (just calls text!).
        */
       public void writeDouble(double d)
           throws XmlPullParserException, IOException, IllegalArgumentException;
  @@ -97,7 +98,7 @@
           throws XmlPullParserException, IOException, IllegalArgumentException;
       public void writeIntElement(String namespace, String name, int i)
           throws XmlPullParserException, IOException, IllegalArgumentException;
  -    public void wiriteStringElement(String namespace, String name, String s)
  +    public void writeStringElement(String namespace, String name, String s)
           throws XmlPullParserException, IOException, IllegalArgumentException;
   }
   
  
  
  
  1.8       +5 -0      xmlpull-api-v1/addons/java/wrapper/src/org/xmlpull/v1/wrapper/classic/StaticXmlPullParserWrapper.java
  
  Index: StaticXmlPullParserWrapper.java
  ===================================================================
  RCS file: /l/extreme/cvspub/xmlpull-api-v1/addons/java/wrapper/src/org/xmlpull/v1/wrapper/classic/StaticXmlPullParserWrapper.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -b -t -w -r1.7 -r1.8
  --- StaticXmlPullParserWrapper.java	8 Jul 2003 21:17:34 -0000	1.7
  +++ StaticXmlPullParserWrapper.java	10 Jul 2003 18:04:57 -0000	1.8
  @@ -273,6 +273,11 @@
       }
   
       public String readString() throws XmlPullParserException, IOException {
  +        String xsiNil = pp.getAttributeValue(XSD_NS, "nil");
  +        if("true".equals(xsiNil)) {
  +            nextEndTag();
  +            return null;
  +        }
           return pp.nextText();
       }
   
  
  
  
  1.10      +6 -2      xmlpull-api-v1/addons/java/wrapper/src/org/xmlpull/v1/wrapper/classic/StaticXmlSerializerWrapper.java
  
  Index: StaticXmlSerializerWrapper.java
  ===================================================================
  RCS file: /l/extreme/cvspub/xmlpull-api-v1/addons/java/wrapper/src/org/xmlpull/v1/wrapper/classic/StaticXmlSerializerWrapper.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -b -t -w -r1.9 -r1.10
  --- StaticXmlSerializerWrapper.java	1 Jul 2003 19:11:50 -0000	1.9
  +++ StaticXmlSerializerWrapper.java	10 Jul 2003 18:04:57 -0000	1.10
  @@ -411,11 +411,15 @@
           xs.endTag(namespace, name);
       }
   
  -    public void wiriteStringElement(String namespace, String name, String s)
  +    public void writeStringElement(String namespace, String name, String s)
           throws XmlPullParserException, IOException, IllegalArgumentException
       {
           xs.startTag(namespace, name);
  +        if(s == null) {
  +            xs.attribute(XSD_NS, "nil", "true");
  +        } else {
           writeString(s);
  +        }
           xs.endTag(namespace, name);
       }
   
  
  
  
  1.5       +46 -1     xmlpull-api-v1/addons/java/wrapper/tests/org/xmlpull/v1/wrapper/junit/TestXmlPullWrapper.java
  
  Index: TestXmlPullWrapper.java
  ===================================================================
  RCS file: /l/extreme/cvspub/xmlpull-api-v1/addons/java/wrapper/tests/org/xmlpull/v1/wrapper/junit/TestXmlPullWrapper.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -b -t -w -r1.4 -r1.5
  --- TestXmlPullWrapper.java	19 May 2003 14:43:03 -0000	1.4
  +++ TestXmlPullWrapper.java	10 Jul 2003 18:04:57 -0000	1.5
  @@ -6,6 +6,8 @@
   //import junit.framework.Test;
   import java.io.IOException;
   import java.io.StringReader;
  +import java.io.StringWriter;
  +import java.io.Writer;
   import junit.framework.TestCase;
   import junit.framework.TestSuite;
   import org.xmlpull.v1.XmlPullParser;
  @@ -14,7 +16,6 @@
   import org.xmlpull.v1.wrapper.XmlPullParserWrapper;
   import org.xmlpull.v1.wrapper.XmlPullWrapperFactory;
   import org.xmlpull.v1.wrapper.XmlSerializerWrapper;
  -import java.io.StringWriter;
   
   /**
    * Test some wrapper utility operations.
  @@ -159,6 +160,50 @@
   
           assertEquals(pw.next(), XmlPullParser.END_DOCUMENT);
       }
  +
  +    public void testXsdTypes() throws IOException, XmlPullParserException {
  +        XmlSerializerWrapper xs = wrappedFactory.newSerializerWrapper();
  +        Writer out = new StringWriter();
  +        xs.setOutput(out);
  +        xs.startTag("test");
  +        xs.writeStringElement(null, "s1", "foo");
  +        xs.writeStringElement(null, "s2", "");
  +        xs.writeStringElement(null, "s1", null);
  +        xs.writeIntElement(null, "i1", 0);
  +        xs.writeIntElement(null, "i2", 100);
  +        xs.writeIntElement(null, "imax", Integer.MAX_VALUE);
  +        xs.writeIntElement(null, "imin", Integer.MIN_VALUE);
  +        xs.writeDoubleElement(null, "d1", 0.0);
  +        xs.writeDoubleElement(null, "d2", -100.0);
  +        xs.endDocument();
  +        //System.err.println(getClass()+" s="+out.toString());
  +
  +        XmlPullParserWrapper pw = wrappedFactory.newPullParserWrapper();
  +        pw.setInput(new StringReader(out.toString()));
  +        pw.nextStartTag("test");
  +        pw.nextTag();
  +        String s1 = pw.readStringElemet(null, "s1");
  +        assertEquals("foo", s1);
  +        pw.nextTag();
  +        String s2 = pw.readStringElemet(null, "s2");
  +        assertEquals("", s2);
  +        pw.nextTag();
  +        s1 = pw.readStringElemet(null, "s1");
  +        assertEquals(null, s1);
  +        pw.nextTag();
  +        assertEquals(0, pw.readIntElement(null, "i1"));
  +        pw.nextTag();
  +        assertEquals(100, pw.readIntElement(null, "i2"));
  +        pw.nextTag();
  +        assertEquals(Integer.MAX_VALUE, pw.readIntElement(null, "imax"));
  +        pw.nextTag();
  +        assertEquals(Integer.MIN_VALUE, pw.readIntElement(null, "imin"));
  +        pw.nextTag();
  +        assertEquals(0.0, pw.readDoubleElement(null, "d1"), 0.00001);
  +        pw.nextTag();
  +        assertEquals(-100.0, pw.readDoubleElement(null, "d2"), 0.00001);
  +    }
  +
   
       private static String printable(char ch) {
           if(ch == '\n') {
  
  
  


------------------------ Yahoo! Groups Sponsor ---------------------~-->
Buy Coral Calcium for Greater Health. 1 month supply - $23.95
(1 bottle, 90 tablets, 400mg each with Magnesium & Vitamin D)
http://www.challengerone.com/t/l.asp?cid=2805&lp=calcium2.asp
http://us.click.yahoo.com/mcIe3D/v9VGAA/ySSFAA/2U_rlB/TM
---------------------------------------------------------------------~->

To unsubscribe from this group, send an email to:
[email protected]

 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/