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]>.
