You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by mr...@apache.org on 2012/09/04 07:56:45 UTC

svn commit: r1380453 - /xerces/java/trunk/src/org/apache/xerces/dom/NodeImpl.java

Author: mrglavas
Date: Tue Sep  4 05:56:45 2012
New Revision: 1380453

URL: http://svn.apache.org/viewvc?rev=1380453&view=rev
Log:
JIRA Issue #1582: https://issues.apache.org/jira/browse/XERCESJ-1582. Fixing NPEs which could occur in each of the Node prefix / namespace query methods if the document element is null.

Modified:
    xerces/java/trunk/src/org/apache/xerces/dom/NodeImpl.java

Modified: xerces/java/trunk/src/org/apache/xerces/dom/NodeImpl.java
URL: http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/dom/NodeImpl.java?rev=1380453&r1=1380452&r2=1380453&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/dom/NodeImpl.java (original)
+++ xerces/java/trunk/src/org/apache/xerces/dom/NodeImpl.java Tue Sep  4 05:56:45 2012
@@ -25,6 +25,7 @@ import java.util.Hashtable;
 import org.w3c.dom.DOMException;
 import org.w3c.dom.Document;
 import org.w3c.dom.DocumentType;
+import org.w3c.dom.Element;
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
@@ -1421,7 +1422,11 @@ public abstract class NodeImpl
             return false;
         }
         case Node.DOCUMENT_NODE:{
-                return((NodeImpl)((Document)this).getDocumentElement()).isDefaultNamespace(namespaceURI);
+                Element docElement = ((Document)this).getDocumentElement();
+                if (docElement != null) {
+                    return docElement.isDefaultNamespace(namespaceURI);
+                }
+                return false;
             }
 
         case Node.ENTITY_NODE :
@@ -1475,7 +1480,11 @@ public abstract class NodeImpl
                 return lookupNamespacePrefix(namespaceURI, (ElementImpl)this);
             }
         case Node.DOCUMENT_NODE:{
-                return((NodeImpl)((Document)this).getDocumentElement()).lookupPrefix(namespaceURI);
+                Element docElement = ((Document)this).getDocumentElement();
+                if (docElement != null) {
+                    return docElement.lookupPrefix(namespaceURI);
+                }
+                return null;
             }
 
         case Node.ENTITY_NODE :
@@ -1559,8 +1568,12 @@ public abstract class NodeImpl
 
 
             }
-        case Node.DOCUMENT_NODE : {   
-                return((NodeImpl)((Document)this).getDocumentElement()).lookupNamespaceURI(specifiedPrefix);
+        case Node.DOCUMENT_NODE : {
+                Element docElement = ((Document)this).getDocumentElement();
+                if (docElement != null) {
+                    return docElement.lookupNamespaceURI(specifiedPrefix);
+                }
+                return null;
             }
         case Node.ENTITY_NODE :
         case Node.NOTATION_NODE:



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