You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by nd...@apache.org on 2004/08/26 23:28:40 UTC

cvs commit: xml-xerces/java/src/org/apache/xerces/dom NotationImpl.java CoreDocumentImpl.java EntityImpl.java ProcessingInstructionImpl.java EntityReferenceImpl.java

nddelima    2004/08/26 14:28:40

  Modified:    java/src/org/apache/xerces/dom NotationImpl.java
                        CoreDocumentImpl.java EntityImpl.java
                        ProcessingInstructionImpl.java
                        EntityReferenceImpl.java
  Log:
  Fix for defect http://nagoya.apache.org/jira/browse/XERCESJ-864 so that Node.getBaseURI consistently returns null if the URI to return is malformed.
  
  Revision  Changes    Path
  1.18      +17 -3     xml-xerces/java/src/org/apache/xerces/dom/NotationImpl.java
  
  Index: NotationImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/dom/NotationImpl.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- NotationImpl.java	24 Feb 2004 23:23:18 -0000	1.17
  +++ NotationImpl.java	26 Aug 2004 21:28:39 -0000	1.18
  @@ -16,6 +16,7 @@
   
   package org.apache.xerces.dom;
   
  +import org.apache.xerces.util.URI;
   import org.w3c.dom.DOMException;
   import org.w3c.dom.Node;
   import org.w3c.dom.Notation;
  @@ -172,12 +173,25 @@
       
   
       /**
  -     * DOM Level 3 WD - Experimental.
  -     * Retrieve baseURI
  +     * Returns the absolute base URI of this node or null if the implementation
  +     * wasn't able to obtain an absolute URI. Note: If the URI is malformed, a
  +     * null is returned.
  +     * 
  +     * @return The absolute base URI of this node or null.
  +     * @since DOM Level 3
        */
       public String getBaseURI() {
           if (needsSyncData()) {
               synchronizeData();
  +        }
  +        if (baseURI != null && baseURI.length() != 0 ) {// attribute value is always empty string
  +            try {
  +                baseURI = new URI(baseURI).toString();
  +            }
  +            catch (org.apache.xerces.util.URI.MalformedURIException e){
  +                // REVISIT: what should happen in this case?
  +                return null;
  +            }
           }
           return baseURI;
       }
  
  
  
  1.78      +17 -3     xml-xerces/java/src/org/apache/xerces/dom/CoreDocumentImpl.java
  
  Index: CoreDocumentImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/dom/CoreDocumentImpl.java,v
  retrieving revision 1.77
  retrieving revision 1.78
  diff -u -r1.77 -r1.78
  --- CoreDocumentImpl.java	23 Aug 2004 01:28:41 -0000	1.77
  +++ CoreDocumentImpl.java	26 Aug 2004 21:28:39 -0000	1.78
  @@ -19,6 +19,7 @@
   import java.lang.reflect.Constructor;
   import java.util.Enumeration;
   import java.util.Hashtable;
  +import org.apache.xerces.util.URI;
   
   import org.apache.xerces.dom3.DOMConfiguration;
   import org.apache.xerces.dom3.UserDataHandler;
  @@ -1164,10 +1165,23 @@
   
   
       /**
  -     * DOM Level 3 WD - Experimental.
  -     * Retrieve baseURI
  +     * Returns the absolute base URI of this node or null if the implementation
  +     * wasn't able to obtain an absolute URI. Note: If the URI is malformed, a
  +     * null is returned.
  +     * 
  +     * @return The absolute base URI of this node or null.
  +     * @since DOM Level 3
        */
       public String getBaseURI() {
  +        if (fDocumentURI != null && fDocumentURI.length() != 0 ) {// attribute value is always empty string
  +            try {
  +                fDocumentURI = new URI(fDocumentURI).toString();
  +            }
  +            catch (org.apache.xerces.util.URI.MalformedURIException e){
  +                // REVISIT: what should happen in this case?
  +                return null;
  +            }
  +        }            
           return fDocumentURI;
       }
   
  
  
  
  1.25      +7 -3      xml-xerces/java/src/org/apache/xerces/dom/EntityImpl.java
  
  Index: EntityImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/dom/EntityImpl.java,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- EntityImpl.java	24 Feb 2004 23:23:18 -0000	1.24
  +++ EntityImpl.java	26 Aug 2004 21:28:39 -0000	1.25
  @@ -309,8 +309,12 @@
   
   
       /**
  -     * DOM Level 3 WD - Experimental.
  -     * Retrieve baseURI
  +     * Returns the absolute base URI of this node or null if the implementation
  +     * wasn't able to obtain an absolute URI. Note: If the URI is malformed, a
  +     * null is returned.
  +     * 
  +     * @return The absolute base URI of this node or null.
  +     * @since DOM Level 3
        */
       public String getBaseURI() {
   
  
  
  
  1.14      +7 -3      xml-xerces/java/src/org/apache/xerces/dom/ProcessingInstructionImpl.java
  
  Index: ProcessingInstructionImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/dom/ProcessingInstructionImpl.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- ProcessingInstructionImpl.java	24 Feb 2004 23:23:17 -0000	1.13
  +++ ProcessingInstructionImpl.java	26 Aug 2004 21:28:39 -0000	1.14
  @@ -137,8 +137,12 @@
   
   
      /**
  -     * DOM Level 3 WD - Experimental.
  -     * Retrieve baseURI
  +     * Returns the absolute base URI of this node or null if the implementation
  +     * wasn't able to obtain an absolute URI. Note: If the URI is malformed, a
  +     * null is returned.
  +     * 
  +     * @return The absolute base URI of this node or null.
  +     * @since DOM Level 3
        */
       public String getBaseURI() {
   
  
  
  
  1.25      +17 -4     xml-xerces/java/src/org/apache/xerces/dom/EntityReferenceImpl.java
  
  Index: EntityReferenceImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/dom/EntityReferenceImpl.java,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- EntityReferenceImpl.java	24 Feb 2004 23:23:18 -0000	1.24
  +++ EntityReferenceImpl.java	26 Aug 2004 21:28:39 -0000	1.25
  @@ -16,6 +16,7 @@
   
   package org.apache.xerces.dom;
   
  +import org.apache.xerces.util.URI;
   import org.w3c.dom.DocumentType;
   import org.w3c.dom.EntityReference;
   import org.w3c.dom.NamedNodeMap;
  @@ -145,8 +146,12 @@
       }
   
       /**
  -     * DOM Level 3 WD - Experimental.
  -     * Retrieve baseURI
  +     * Returns the absolute base URI of this node or null if the implementation
  +     * wasn't able to obtain an absolute URI. Note: If the URI is malformed, a
  +     * null is returned.
  +     * 
  +     * @return The absolute base URI of this node or null.
  +     * @since DOM Level 3
        */
       public String getBaseURI() {
           if (needsSyncData()) {
  @@ -164,7 +169,15 @@
                       return entDef.getBaseURI();
                   }
               }
  -        }
  +        } else if (baseURI != null && baseURI.length() != 0 ) {// attribute value is always empty string
  +            try {
  +                baseURI = new URI(baseURI).toString();
  +            }
  +            catch (org.apache.xerces.util.URI.MalformedURIException e){
  +                // REVISIT: what should happen in this case?
  +                return null;
  +            }
  +        }        
           return baseURI;    
       }
   
  
  
  

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