You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2015/01/06 09:51:45 UTC
svn commit: r1649753 -
/axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java
Author: veithen
Date: Tue Jan 6 08:51:45 2015
New Revision: 1649753
URL: http://svn.apache.org/r1649753
Log:
Instead of custom code, use a feature provided by Axiom to convert DOM to OM.
Modified:
axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java
Modified: axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java?rev=1649753&r1=1649752&r2=1649753&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java (original)
+++ axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java Tue Jan 6 08:51:45 2015
@@ -68,16 +68,7 @@ import org.apache.axis2.description.java
import org.apache.axis2.engine.ObjectSupplier;
import org.apache.axis2.util.Loader;
import org.apache.axis2.util.StreamWrapper;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Comment;
import org.w3c.dom.Document;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.ProcessingInstruction;
-import org.w3c.dom.traversal.DocumentTraversal;
-import org.w3c.dom.traversal.NodeFilter;
-import org.w3c.dom.traversal.TreeWalker;
-
public class BeanUtil {
@@ -1357,81 +1348,8 @@ public class BeanUtil {
return ((OMDocument)document).getOMDocumentElement();
} else {
- DocumentTraversal traversal = (DocumentTraversal) document;
- TreeWalker walker = traversal.createTreeWalker(
- ((Document)document).getDocumentElement(), NodeFilter.SHOW_ALL, null, true);
- return (OMElement) traverseDOMDocument(fac, walker, null);
- }
- }
-
- /**
- * Traverse dom document and construct a OMElement.
- * Act as a helper method for convertDOMtoOM()
- *
- * @param fac the fac
- * @param walker the walker
- * @param parent the parent
- * @return the oM node
- */
- private static OMNode traverseDOMDocument(OMFactory fac, TreeWalker walker,
- OMContainer parent) {
- OMNode curr = null;
- Node node = walker.getCurrentNode();
-
- switch (node.getNodeType()) {
- case Node.ELEMENT_NODE:
- OMNamespace eleNS = null;
- if (node.getNamespaceURI() != null) {
- eleNS = fac.createOMNamespace(node.getNamespaceURI(),
- node.getPrefix());
- }
- curr = fac.createOMElement(node.getNodeName(), eleNS);
- curr = processDOMAttributes(fac, (OMElement) curr, node.getAttributes());
- if (parent != null) {
- parent.addChild(curr);
- }
- if (node.getFirstChild() != null) {
- walker.setCurrentNode(node.getFirstChild());
- traverseDOMDocument(fac, walker, (OMContainer) curr);
- }
- break;
-
- case Node.PROCESSING_INSTRUCTION_NODE:
- ProcessingInstruction domPI = (ProcessingInstruction) node;
- parent.addChild(fac.createOMProcessingInstruction(parent,
- domPI.getTarget(), domPI.getData()));
- break;
-
- case Node.COMMENT_NODE:
- parent.addChild(fac.createOMComment(parent,
- ((Comment) node).getNodeValue()));
- break;
-
- case Node.TEXT_NODE:
- parent.addChild(fac.createOMText(node.getNodeValue()));
- break;
- }
- if (node.getNextSibling() != null && parent != null) {
- walker.setCurrentNode(node.getNextSibling());
- traverseDOMDocument(fac, walker, parent);
- }
- return curr;
- }
-
- private static OMElement processDOMAttributes(OMFactory fac,
- OMElement curr, NamedNodeMap attMap) {
- if (attMap != null && attMap.getLength() > 0) {
- for (int i = 0; i < attMap.getLength(); i++) {
- Attr att = (Attr) attMap.item(i);
- OMNamespace attrNS = null;
- if (att.getNamespaceURI() != null) {
- attrNS = fac.createOMNamespace(att.getNamespaceURI(),
- att.getPrefix());
- }
- curr.addAttribute(att.getNodeName(), att.getNodeValue(), attrNS);
- }
+ return OMXMLBuilderFactory.createOMBuilder((Document)document, false).getDocumentElement(true);
}
- return curr;
}
/**