This is an automated email from the ASF dual-hosted git repository.

dkulp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit 156be3704e27ac69bbbb1905e99f89b88fc7e454
Author: Daniel Kulp <[email protected]>
AuthorDate: Thu Oct 19 13:10:04 2017 -0400

    More use of getEmptyDocument
---
 .../src/main/java/org/apache/cxf/helpers/DOMUtils.java |  6 +++---
 .../main/java/org/apache/cxf/staxutils/StaxUtils.java  |  6 +++---
 .../interceptors/CorbaStreamFaultInInterceptor.java    |  3 +--
 .../soap/interceptor/AbstractSoapInterceptor.java      |  2 +-
 .../java/org/apache/cxf/jaxb/JAXBEncoderDecoder.java   | 18 +++++++++---------
 .../java/org/apache/cxf/jaxws/spi/ProviderImpl.java    |  8 ++++----
 .../cxf/ws/transfer/shared/faults/WSTransferFault.java |  2 +-
 .../sts/token/validator/UsernameTokenValidator.java    |  2 +-
 .../cxf/sts/token/validator/X509TokenValidator.java    |  4 ++--
 9 files changed, 25 insertions(+), 26 deletions(-)

diff --git a/core/src/main/java/org/apache/cxf/helpers/DOMUtils.java 
b/core/src/main/java/org/apache/cxf/helpers/DOMUtils.java
index c40e670..10bf393 100644
--- a/core/src/main/java/org/apache/cxf/helpers/DOMUtils.java
+++ b/core/src/main/java/org/apache/cxf/helpers/DOMUtils.java
@@ -153,10 +153,10 @@ public final class DOMUtils {
     
     private static synchronized Document createEmptyDocument() {
         if (emptyDocument == null) {
-            emptyDocument = createDocument();
+            //emptyDocument = createDocument();
             
             // uncomment this to see if anything is actually setting anything 
into the empty doc
-            /*
+            
             final Document doc  = createDocument();
             emptyDocument = 
(Document)org.apache.cxf.common.util.ProxyHelper.getProxy(
                 DOMUtils.class.getClassLoader(), 
@@ -170,7 +170,7 @@ public final class DOMUtils {
                         throw new IllegalStateException("Cannot modify factory 
document");
                     }
                 });
-             */
+             
         }
         return emptyDocument;
     }
diff --git a/core/src/main/java/org/apache/cxf/staxutils/StaxUtils.java 
b/core/src/main/java/org/apache/cxf/staxutils/StaxUtils.java
index e1e5cf5..71d7f50 100644
--- a/core/src/main/java/org/apache/cxf/staxutils/StaxUtils.java
+++ b/core/src/main/java/org/apache/cxf/staxutils/StaxUtils.java
@@ -1328,7 +1328,7 @@ public final class StaxUtils {
                     return;
                 }
                 parent = stack.pop();
-                if (parent instanceof Document) {
+                if (parent instanceof Document || parent instanceof 
DocumentFragment) {
                     return;
                 }
                 break;
@@ -1487,7 +1487,7 @@ public final class StaxUtils {
                     return;
                 }
                 parent = context.popFromStack();
-                if (parent instanceof Document) {
+                if (parent instanceof Document || parent instanceof 
DocumentFragment) {
                     return;
                 }
                 break;
@@ -1569,7 +1569,7 @@ public final class StaxUtils {
                 return parent;
             }
             parent = context.popFromStack();
-            if (parent instanceof Document) {
+            if (parent instanceof Document || parent instanceof 
DocumentFragment) {
                 return parent;
             }
             break;
diff --git 
a/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/interceptors/CorbaStreamFaultInInterceptor.java
 
b/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/interceptors/CorbaStreamFaultInInterceptor.java
index 084e070..ccd2638 100644
--- 
a/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/interceptors/CorbaStreamFaultInInterceptor.java
+++ 
b/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/interceptors/CorbaStreamFaultInInterceptor.java
@@ -132,9 +132,8 @@ public class CorbaStreamFaultInInterceptor extends 
AbstractPhaseInterceptor<Mess
     private void createFaultDetail(Document faultData, FaultInfo faultInfo, 
Fault faultEx) {
         MessagePartInfo partInfo = faultInfo.getMessageParts().get(0);
         QName partInfoName = partInfo.getElementQName();
-        Document faultDoc = DOMUtils.createDocument();
+        Document faultDoc = DOMUtils.getEmptyDocument();
         Element faultElement = faultDoc.createElement("detail");
-        faultDoc.appendChild(faultElement);
         Element partElement =
             faultDoc.createElementNS(partInfoName.getNamespaceURI(), 
partInfoName.getLocalPart());
 
diff --git 
a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
 
b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
index 94778ad..d06a6f1 100644
--- 
a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
+++ 
b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
@@ -100,7 +100,7 @@ public abstract class AbstractSoapInterceptor extends 
AbstractPhaseInterceptor<S
             Element detail = fault.getDetail();
             String soapNamespace = message.getVersion().getNamespace();
             if (detail == null) {
-                Document doc = DOMUtils.newDocument();
+                Document doc = DOMUtils.getEmptyDocument();
                 Element stackTrace = doc.createElementNS(
                     Fault.STACKTRACE_NAMESPACE, Fault.STACKTRACE);
                 stackTrace.setTextContent(sb.toString());
diff --git 
a/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBEncoderDecoder.java 
b/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBEncoderDecoder.java
index f39b18d..a7073b2 100644
--- 
a/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBEncoderDecoder.java
+++ 
b/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBEncoderDecoder.java
@@ -72,7 +72,7 @@ import javax.xml.stream.util.StreamReaderDelegate;
 import javax.xml.transform.stream.StreamResult;
 
 import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
+import org.w3c.dom.DocumentFragment;
 import org.w3c.dom.Element;
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
@@ -385,14 +385,14 @@ public final class JAXBEncoderDecoder {
                     QName fname = new QName(attNs, 
StringUtils.isEmpty(at.name()) ? f.getName() : at.name());
                     ReflectionUtil.setAccessible(f);
                     Object o = Utils.getFieldValue(f, elValue);
-                    Document doc = DOMUtils.newDocument();
-                    writeObject(marshaller, doc, newJAXBElement(fname, 
String.class, o));
+                    DocumentFragment frag = 
DOMUtils.getEmptyDocument().createDocumentFragment();
+                    writeObject(marshaller, frag, newJAXBElement(fname, 
String.class, o));
 
                     if (attNs != null) {
                         writer.writeAttribute(attNs, fname.getLocalPart(),
-                                              
DOMUtils.getAllContent(doc.getDocumentElement()));
+                                              DOMUtils.getAllContent(frag));
                     } else {
-                        writer.writeAttribute(fname.getLocalPart(), 
DOMUtils.getAllContent(doc.getDocumentElement()));
+                        writer.writeAttribute(fname.getLocalPart(), 
DOMUtils.getAllContent(frag));
                     }
                 }
             }
@@ -405,14 +405,14 @@ public final class JAXBEncoderDecoder {
                     name = Character.toLowerCase(name.charAt(0)) + 
name.substring(1);
                     XmlAttribute at = m.getAnnotation(XmlAttribute.class);
                     QName mname = new QName(namespace, 
StringUtils.isEmpty(at.name()) ? name : at.name());
-                    Document doc = DOMUtils.newDocument();
+                    DocumentFragment frag = 
DOMUtils.getEmptyDocument().createDocumentFragment();
                     Object o = Utils.getMethodValue(m, elValue);
-                    writeObject(marshaller, doc, newJAXBElement(mname, 
String.class, o));
+                    writeObject(marshaller, frag, newJAXBElement(mname, 
String.class, o));
                     if (attNs != null) {
                         writer.writeAttribute(attNs, mname.getLocalPart(),
-                                              
DOMUtils.getAllContent(doc.getDocumentElement()));
+                                              DOMUtils.getAllContent(frag));
                     } else {
-                        writer.writeAttribute(mname.getLocalPart(), 
DOMUtils.getAllContent(doc.getDocumentElement()));
+                        writer.writeAttribute(mname.getLocalPart(), 
DOMUtils.getAllContent(frag));
                     }
                 }
             }
diff --git 
a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spi/ProviderImpl.java 
b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spi/ProviderImpl.java
index 4622a79..f3c67df 100644
--- a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spi/ProviderImpl.java
+++ b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spi/ProviderImpl.java
@@ -45,7 +45,7 @@ import javax.xml.ws.spi.Invoker;
 import javax.xml.ws.spi.ServiceDelegate;
 import javax.xml.ws.wsaddressing.W3CEndpointReference;
 
-import org.w3c.dom.Document;
+import org.w3c.dom.DocumentFragment;
 import org.w3c.dom.Element;
 
 import org.apache.cxf.Bus;
@@ -190,10 +190,10 @@ public class ProviderImpl extends 
javax.xml.ws.spi.Provider {
 
             Unmarshaller um = null;
             try {
-                Document doc = DOMUtils.newDocument();
-                DOMResult result = new DOMResult(doc);
+                DocumentFragment frag = 
DOMUtils.getEmptyDocument().createDocumentFragment();
+                DOMResult result = new DOMResult(frag);
                 external.writeTo(result);
-                W3CDOMStreamReader reader = new 
W3CDOMStreamReader(doc.getDocumentElement());
+                W3CDOMStreamReader reader = new W3CDOMStreamReader(frag);
 
                 // CXF internal 2005/08 EndpointReferenceType should be
                 // compatible with W3CEndpointReference
diff --git 
a/rt/ws/transfer/src/main/java/org/apache/cxf/ws/transfer/shared/faults/WSTransferFault.java
 
b/rt/ws/transfer/src/main/java/org/apache/cxf/ws/transfer/shared/faults/WSTransferFault.java
index 673da39..2e6fce7 100644
--- 
a/rt/ws/transfer/src/main/java/org/apache/cxf/ws/transfer/shared/faults/WSTransferFault.java
+++ 
b/rt/ws/transfer/src/main/java/org/apache/cxf/ws/transfer/shared/faults/WSTransferFault.java
@@ -35,7 +35,7 @@ public abstract class WSTransferFault extends SoapFault {
     public WSTransferFault(String reason, String detail, QName faultCode) {
         super(reason, faultCode);
         if (detail != null) {
-            Document doc = DOMUtils.createDocument();
+            Document doc = DOMUtils.getEmptyDocument();
             Element detailEl = doc.createElement("detail");
             detailEl.setTextContent(detail);
             setDetail(detailEl);
diff --git 
a/services/sts/sts-core/src/main/java/org/apache/cxf/sts/token/validator/UsernameTokenValidator.java
 
b/services/sts/sts-core/src/main/java/org/apache/cxf/sts/token/validator/UsernameTokenValidator.java
index cd4d1dc..fe1fc9f 100644
--- 
a/services/sts/sts-core/src/main/java/org/apache/cxf/sts/token/validator/UsernameTokenValidator.java
+++ 
b/services/sts/sts-core/src/main/java/org/apache/cxf/sts/token/validator/UsernameTokenValidator.java
@@ -146,7 +146,7 @@ public class UsernameTokenValidator implements 
TokenValidator {
             JAXBContext jaxbContext = cache.getContext();
 
             Marshaller marshaller = jaxbContext.createMarshaller();
-            Document doc = DOMUtils.createDocument();
+            Document doc = DOMUtils.getEmptyDocument();
             Element rootElement = doc.createElement("root-element");
             JAXBElement<UsernameTokenType> tokenType =
                 new JAXBElement<UsernameTokenType>(
diff --git 
a/services/sts/sts-core/src/main/java/org/apache/cxf/sts/token/validator/X509TokenValidator.java
 
b/services/sts/sts-core/src/main/java/org/apache/cxf/sts/token/validator/X509TokenValidator.java
index bc842c9..58b012e 100644
--- 
a/services/sts/sts-core/src/main/java/org/apache/cxf/sts/token/validator/X509TokenValidator.java
+++ 
b/services/sts/sts-core/src/main/java/org/apache/cxf/sts/token/validator/X509TokenValidator.java
@@ -148,7 +148,7 @@ public class X509TokenValidator implements TokenValidator {
             //
             // Turn the received JAXB object into a DOM element
             //
-            Document doc = DOMUtils.createDocument();
+            Document doc = DOMUtils.getEmptyDocument();
             binarySecurity = new X509Security(doc);
             binarySecurity.setEncodingType(encodingType);
             binarySecurity.setValueType(binarySecurityType.getValueType());
@@ -158,7 +158,7 @@ public class X509TokenValidator implements TokenValidator {
             binarySecurity.getElement().appendChild(textNode);
         } else if (validateTarget.isDOMElement()) {
             try {
-                Document doc = DOMUtils.createDocument();
+                Document doc = DOMUtils.getEmptyDocument();
                 binarySecurity = new X509Security(doc);
                 binarySecurity.setEncodingType(BASE64_ENCODING);
                 X509Data x509Data = new 
X509Data((Element)validateTarget.getToken(), "");

-- 
To stop receiving notification emails like this one, please contact
"[email protected]" <[email protected]>.

Reply via email to