Author: dkulp
Date: Thu Dec 11 14:18:58 2008
New Revision: 725839

URL: http://svn.apache.org/viewvc?rev=725839&view=rev
Log:
Don't NPE if type is null

Modified:
    
cxf/trunk/rt/core/src/main/java/org/apache/cxf/databinding/source/XMLStreamDataReader.java

Modified: 
cxf/trunk/rt/core/src/main/java/org/apache/cxf/databinding/source/XMLStreamDataReader.java
URL: 
http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/databinding/source/XMLStreamDataReader.java?rev=725839&r1=725838&r2=725839&view=diff
==============================================================================
--- 
cxf/trunk/rt/core/src/main/java/org/apache/cxf/databinding/source/XMLStreamDataReader.java
 (original)
+++ 
cxf/trunk/rt/core/src/main/java/org/apache/cxf/databinding/source/XMLStreamDataReader.java
 Thu Dec 11 14:18:58 2008
@@ -53,40 +53,41 @@
     }
 
     public Object read(QName name, XMLStreamReader input, Class type) {
-        if (SAXSource.class.isAssignableFrom(type)) {
-            try {
-                CachedOutputStream out = new CachedOutputStream();
+        if (type != null) {
+            if (SAXSource.class.isAssignableFrom(type)) {
                 try {
-                    XMLStreamWriter xsw = StaxUtils.createXMLStreamWriter(out);
-                    StaxUtils.copy(input, xsw);
-                    xsw.close();
-                    return new SAXSource(new 
InputSource(out.getInputStream()));
-                } finally {
-                    out.close();
+                    CachedOutputStream out = new CachedOutputStream();
+                    try {
+                        XMLStreamWriter xsw = 
StaxUtils.createXMLStreamWriter(out);
+                        StaxUtils.copy(input, xsw);
+                        xsw.close();
+                        return new SAXSource(new 
InputSource(out.getInputStream()));
+                    } finally {
+                        out.close();
+                    }
+                } catch (IOException e) {
+                    throw new Fault(new Message("COULD_NOT_READ_XML_STREAM", 
LOG), e);
+                } catch (XMLStreamException e) {
+                    throw new Fault(new Message("COULD_NOT_READ_XML_STREAM", 
LOG), e);
                 }
-            } catch (IOException e) {
-                throw new Fault(new Message("COULD_NOT_READ_XML_STREAM", LOG), 
e);
-            } catch (XMLStreamException e) {
-                throw new Fault(new Message("COULD_NOT_READ_XML_STREAM", LOG), 
e);
-            }
-        } else if (StreamSource.class.isAssignableFrom(type)) {
-            try {
-                CachedOutputStream out = new CachedOutputStream();
+            } else if (StreamSource.class.isAssignableFrom(type)) {
                 try {
-                    XMLStreamWriter xsw = StaxUtils.createXMLStreamWriter(out);
-                    StaxUtils.copy(input, xsw);
-                    xsw.close();
-                    return new StreamSource(out.getInputStream());
-                } finally {
-                    out.close();
+                    CachedOutputStream out = new CachedOutputStream();
+                    try {
+                        XMLStreamWriter xsw = 
StaxUtils.createXMLStreamWriter(out);
+                        StaxUtils.copy(input, xsw);
+                        xsw.close();
+                        return new StreamSource(out.getInputStream());
+                    } finally {
+                        out.close();
+                    }
+                } catch (IOException e) {
+                    throw new Fault(new Message("COULD_NOT_READ_XML_STREAM", 
LOG), e);
+                } catch (XMLStreamException e) {
+                    throw new Fault(new Message("COULD_NOT_READ_XML_STREAM", 
LOG), e);
                 }
-            } catch (IOException e) {
-                throw new Fault(new Message("COULD_NOT_READ_XML_STREAM", LOG), 
e);
-            } catch (XMLStreamException e) {
-                throw new Fault(new Message("COULD_NOT_READ_XML_STREAM", LOG), 
e);
-            }
-        } 
-        
+            } 
+        }
         return read(input);
     }
 


Reply via email to