You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by ek...@apache.org on 2005/09/20 17:33:17 UTC

svn commit: r290474 - /beehive/branches/v1/final/system-controls/src/ejb/org/apache/beehive/controls/system/ejb/EJBControlAssembler.java

Author: ekoneil
Date: Tue Sep 20 08:33:14 2005
New Revision: 290474

URL: http://svn.apache.org/viewcvs?rev=290474&view=rev
Log:
Fix BEEHIVE-944; the EJB control assembler throws an NPE when it encounters a DD that doesn't have a doctype.  This just handles that case.

Contribution from Chad Schoettger.

BB: self
Test: manual


Modified:
    beehive/branches/v1/final/system-controls/src/ejb/org/apache/beehive/controls/system/ejb/EJBControlAssembler.java

Modified: beehive/branches/v1/final/system-controls/src/ejb/org/apache/beehive/controls/system/ejb/EJBControlAssembler.java
URL: http://svn.apache.org/viewcvs/beehive/branches/v1/final/system-controls/src/ejb/org/apache/beehive/controls/system/ejb/EJBControlAssembler.java?rev=290474&r1=290473&r2=290474&view=diff
==============================================================================
--- beehive/branches/v1/final/system-controls/src/ejb/org/apache/beehive/controls/system/ejb/EJBControlAssembler.java (original)
+++ beehive/branches/v1/final/system-controls/src/ejb/org/apache/beehive/controls/system/ejb/EJBControlAssembler.java Tue Sep 20 08:33:14 2005
@@ -40,6 +40,7 @@
 import org.apache.beehive.controls.api.assembly.ControlAssemblyException;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
+import org.w3c.dom.DocumentType;
 import org.xml.sax.SAXException;
 
 /**
@@ -429,8 +430,11 @@
 
             try {
                 transformer.setOutputProperty(OutputKeys.INDENT, "yes");
-                transformer.setOutputProperty(OutputKeys.DOCTYPE_PUBLIC, doc.getDoctype().getPublicId());
-                transformer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, doc.getDoctype().getSystemId());
+                DocumentType docType = doc.getDoctype();
+                if (docType != null) {
+                    transformer.setOutputProperty(OutputKeys.DOCTYPE_PUBLIC, docType.getPublicId());
+                    transformer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, docType.getSystemId());
+                }
             } catch (IllegalArgumentException e) {
                 // just keep going not a fatal error, just means underlying parser implementation
                 // does not support one of these options.