--- old/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/SOAPTextImpl.java 2017-05-03 18:05:36.951095392 +0300 +++ new/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/SOAPTextImpl.java 2017-05-03 18:05:36.855095395 +0300 @@ -25,316 +25,44 @@ package com.sun.xml.internal.messaging.saaj.soap.impl; -import java.util.logging.Logger; - -import javax.xml.soap.SOAPElement; -import javax.xml.soap.SOAPException; - import com.sun.xml.internal.messaging.saaj.soap.SOAPDocumentImpl; -import com.sun.xml.internal.messaging.saaj.util.LogDomainConstants; import org.w3c.dom.DOMException; -import org.w3c.dom.Document; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; import org.w3c.dom.Text; -import org.w3c.dom.UserDataHandler; - -public class SOAPTextImpl - implements javax.xml.soap.Text, org.w3c.dom.Text { - - @Override - public Text splitText(int offset) throws DOMException { - return textNode.splitText(offset); - } - - @Override - public boolean isElementContentWhitespace() { - return textNode.isElementContentWhitespace(); - } - @Override - public String getWholeText() { - return textNode.getWholeText(); - } - - @Override - public Text replaceWholeText(String content) throws DOMException { - return textNode.replaceWholeText(content); - } - - @Override - public String getData() throws DOMException { - return textNode.getData(); - } - - @Override - public void setData(String data) throws DOMException { - textNode.setData(data); - } - - @Override - public int getLength() { - return textNode.getLength(); - } - - @Override - public String substringData(int offset, int count) throws DOMException { - return textNode.substringData(offset, count); - } - - @Override - public void appendData(String arg) throws DOMException { - textNode.appendData(arg); - } - - @Override - public void insertData(int offset, String arg) throws DOMException { - textNode.insertData(offset, arg); - } - - @Override - public void deleteData(int offset, int count) throws DOMException { - textNode.deleteData(offset, count); - } - - @Override - public void replaceData(int offset, int count, String arg) throws DOMException { - textNode.replaceData(offset, count, arg); - } - - @Override - public String getNodeName() { - return textNode.getNodeName(); - } - - @Override - public String getNodeValue() throws DOMException { - return textNode.getNodeValue(); - } - - @Override - public void setNodeValue(String nodeValue) throws DOMException { - textNode.setNodeValue(nodeValue); - } - - @Override - public short getNodeType() { - return textNode.getNodeType(); - } - - @Override - public Node getParentNode() { - return textNode.getParentNode(); - } - - @Override - public NodeList getChildNodes() { - return textNode.getChildNodes(); - } - - @Override - public Node getFirstChild() { - return textNode.getFirstChild(); - } - - @Override - public Node getLastChild() { - return textNode.getLastChild(); - } - - @Override - public Node getPreviousSibling() { - return textNode.getPreviousSibling(); - } - - @Override - public Node getNextSibling() { - return textNode.getNextSibling(); - } - - @Override - public NamedNodeMap getAttributes() { - return textNode.getAttributes(); - } - - @Override - public Document getOwnerDocument() { - return textNode.getOwnerDocument(); - } - - @Override - public Node insertBefore(Node newChild, Node refChild) throws DOMException { - return textNode.insertBefore(newChild, refChild); - } +public class SOAPTextImpl extends TextImpl implements Text { - @Override - public Node replaceChild(Node newChild, Node oldChild) throws DOMException { - return textNode.replaceChild(newChild, oldChild); - } - - @Override - public Node removeChild(Node oldChild) throws DOMException { - return textNode.removeChild(oldChild); - } - - @Override - public Node appendChild(Node newChild) throws DOMException { - return textNode.appendChild(newChild); - } - - @Override - public boolean hasChildNodes() { - return textNode.hasChildNodes(); - } - - @Override - public Node cloneNode(boolean deep) { - return textNode.cloneNode(deep); - } - - @Override - public void normalize() { - textNode.normalize(); - } - - @Override - public boolean isSupported(String feature, String version) { - return textNode.isSupported(feature, version); - } - - @Override - public String getNamespaceURI() { - return textNode.getNamespaceURI(); - } - - @Override - public String getPrefix() { - return textNode.getPrefix(); - } - - @Override - public void setPrefix(String prefix) throws DOMException { - textNode.setPrefix(prefix); - } - - @Override - public String getLocalName() { - return textNode.getLocalName(); - } - - @Override - public boolean hasAttributes() { - return textNode.hasAttributes(); - } - - @Override - public String getBaseURI() { - return textNode.getBaseURI(); - } - - @Override - public short compareDocumentPosition(Node other) throws DOMException { - return textNode.compareDocumentPosition(other); - } - - @Override - public String getTextContent() throws DOMException { - return textNode.getTextContent(); - } - - @Override - public void setTextContent(String textContent) throws DOMException { - textNode.setTextContent(textContent); - } - - @Override - public boolean isSameNode(Node other) { - return textNode.isSameNode(other); - } - - @Override - public String lookupPrefix(String namespaceURI) { - return textNode.lookupPrefix(namespaceURI); + public SOAPTextImpl(SOAPDocumentImpl ownerDoc, String text) { + super(ownerDoc, text); } @Override - public boolean isDefaultNamespace(String namespaceURI) { - return textNode.isDefaultNamespace(namespaceURI); + protected Text createN(SOAPDocumentImpl ownerDoc, String text) { + Text t = ownerDoc.getDomDocument().createTextNode(text); +// ownerDoc.register(this); + return t; } @Override - public String lookupNamespaceURI(String prefix) { - return textNode.lookupNamespaceURI(prefix); + public Text splitText(int offset) throws DOMException { + return getDomElement().splitText(offset); } @Override - public boolean isEqualNode(Node arg) { - return textNode.isEqualNode(arg); + public boolean isElementContentWhitespace() { + return getDomElement().isElementContentWhitespace(); } @Override - public Object getFeature(String feature, String version) { - return textNode.getFeature(feature, version); + public String getWholeText() { + return getDomElement().getWholeText(); } @Override - public Object setUserData(String key, Object data, UserDataHandler handler) { - return textNode.setUserData(key, data, handler); + public Text replaceWholeText(String content) throws DOMException { + return getDomElement().replaceWholeText(content); } @Override - public Object getUserData(String key) { - return textNode.getUserData(key); - } - - protected static final Logger log = - Logger.getLogger(LogDomainConstants.SOAP_IMPL_DOMAIN, - "com.sun.xml.internal.messaging.saaj.soap.impl.LocalStrings"); - - private Text textNode; - - public SOAPTextImpl(SOAPDocumentImpl ownerDoc, String text) { - textNode = ownerDoc.getDomDocument().createTextNode(text); - ownerDoc.register(this); - } - - public String getValue() { - String nodeValue = getNodeValue(); - return (nodeValue.equals("") ? null : nodeValue); - } - - public void setValue(String text) { - setNodeValue(text); - } - - public void setParentElement(SOAPElement parent) throws SOAPException { - if (parent == null) { - log.severe("SAAJ0126.impl.cannot.locate.ns"); - throw new SOAPException("Cannot pass NULL to setParentElement"); - } - ((ElementImpl) parent).addNode(this); - } - - public SOAPElement getParentElement() { - return (SOAPElement) getParentNode(); - } - - - public void detachNode() { - org.w3c.dom.Node parent = getParentNode(); - if (parent != null) { - parent.removeChild(getDomElement()); - } - } - - public void recycleNode() { - detachNode(); - // TBD - // - add this to the factory so subsequent - // creations can reuse this object. - } - public boolean isComment() { String txt = getNodeValue(); if (txt == null) { @@ -343,7 +71,4 @@ return txt.startsWith(""); } - public Text getDomElement() { - return textNode; - } }