You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by di...@apache.org on 2003/09/13 10:14:00 UTC

cvs commit: ws-axis/java/test/utils TestQName.java

dims        2003/09/13 01:14:00

  Modified:    java/src/javax/xml/namespace QName.java
               java/test/utils TestQName.java
  Log:
  Modified version of patch (http://marc.theaimsgroup.com/?l=axis-dev&m=106342083505959&w=2)
  from  "Ias" <ia...@apache-korea.org>
  for "updating to javax.xml.namespace.QName version 1.1"
  
  Revision  Changes    Path
  1.9       +41 -15    ws-axis/java/src/javax/xml/namespace/QName.java
  
  Index: QName.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/src/javax/xml/namespace/QName.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- QName.java	22 Apr 2003 19:33:47 -0000	1.8
  +++ QName.java	13 Sep 2003 08:14:00 -0000	1.9
  @@ -63,11 +63,11 @@
    * as specified in <a href="http://www.w3.org/TR/xmlschema-2/#QName">XML
    * Schema Part2: Datatypes specification</a>.
    * <p>
  - * The value of a QName contains a <b>namespaceURI</b> and a <b>localPart</b>.
  + * The value of a QName contains a <b>namespaceURI</b>, a <b>localPart</b> and a <b>prefix</b>.
    * The localPart provides the local part of the qualified name. The
    * namespaceURI is a URI reference identifying the namespace.
    *
  - * @version 1.0
  + * @version 1.1
    */
   public class QName implements Serializable {
   
  @@ -80,17 +80,16 @@
       /** Field localPart */
       private String localPart;
   
  +    /** Field prefix */
  +    private String prefix;
  +
       /**
        * Constructor for the QName.
        *
        * @param localPart Local part of the QName
        */
       public QName(String localPart) {
  -
  -        this.namespaceURI = emptyString;
  -        this.localPart    = (localPart == null)
  -                            ? emptyString
  -                            : localPart.intern();
  +        this(emptyString, localPart, emptyString);
       }
   
       /**
  @@ -100,13 +99,31 @@
        * @param localPart Local part of the QName.
        */
       public QName(String namespaceURI, String localPart) {
  +        this(namespaceURI, localPart, emptyString);
  +    }
   
  +    /**
  +     * Constructor for the QName.
  +     *
  +     * @param namespaceURI Namespace URI for the QName
  +     * @param localPart Local part of the QName.
  +     * @param prefix Prefix of the QName.
  +     */
  +    public QName(String namespaceURI, String localPart, String prefix) {
           this.namespaceURI = (namespaceURI == null)
  -                            ? emptyString
  -                            : namespaceURI.intern();
  -        this.localPart    = (localPart == null)
  -                            ? emptyString
  -                            : localPart.intern();
  +                ? emptyString
  +                : namespaceURI.intern();
  +        if (localPart == null) {
  +            throw new IllegalArgumentException("invalid QName local part");
  +        } else {
  +            this.localPart = localPart.intern();
  +        }
  +
  +        if (prefix == null) {
  +            throw new IllegalArgumentException("invalid QName prefix");
  +        } else {
  +            this.prefix = prefix.intern();
  +        }
       }
   
       /**
  @@ -128,6 +145,15 @@
       }
   
       /**
  +     * Gets the Prefix for this QName
  +     *
  +     * @return Prefix
  +     */
  +    public String getPrefix() {
  +        return prefix;
  +    }
  +
  +    /**
        * Returns a string representation of this QName
        *
        * @return  a string representation of the QName
  @@ -231,12 +257,12 @@
        * Ensure that deserialization properly interns the results.
        * @param in the ObjectInputStream to be read
        */
  -    private void readObject(ObjectInputStream in) throws 
  -        IOException, ClassNotFoundException
  -    {
  +    private void readObject(ObjectInputStream in) throws
  +            IOException, ClassNotFoundException {
           in.defaultReadObject();
   
           namespaceURI = namespaceURI.intern();
           localPart = localPart.intern();
  +        prefix = prefix.intern();
       }
   }
  
  
  
  1.17      +1 -1      ws-axis/java/test/utils/TestQName.java
  
  Index: TestQName.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/test/utils/TestQName.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- TestQName.java	11 Dec 2002 22:40:19 -0000	1.16
  +++ TestQName.java	13 Sep 2003 08:14:00 -0000	1.17
  @@ -53,7 +53,7 @@
   
       public void testEquals()
       {
  -        QName qname1 = new QName(null, null);
  +        QName qname1 = new QName("", "");
           QName qname2 = new QName("PREFIX", "LOCALPART");
           QName qname3 = new QName("PREFIX", "LOCALPART");
           QName qname4 = new QName("PREFIX", "DIFFLOCALPART");