Author: veithen Date: Thu Dec 30 13:00:06 2010 New Revision: 1053881 URL: http://svn.apache.org/viewvc?rev=1053881&view=rev Log: Removed some dead and/or deprecated code in order to get rid of references to classes in org.apache.axiom.om.impl.
Modified: axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/message/attachments/AttachmentUtils.java axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/message/util/MessageUtils.java Modified: axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/message/attachments/AttachmentUtils.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/message/attachments/AttachmentUtils.java?rev=1053881&r1=1053880&r2=1053881&view=diff ============================================================================== --- axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/message/attachments/AttachmentUtils.java (original) +++ axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/message/attachments/AttachmentUtils.java Thu Dec 30 13:00:06 2010 @@ -23,10 +23,7 @@ import org.apache.axiom.attachments.Atta import org.apache.axiom.attachments.CachedFileDataSource; import org.apache.axiom.om.OMElement; import org.apache.axiom.om.OMFactory; -import org.apache.axiom.om.OMNode; import org.apache.axiom.om.OMText; -import org.apache.axiom.om.impl.OMNavigator; -import org.apache.axiom.soap.SOAPEnvelope; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -34,7 +31,6 @@ import javax.activation.DataHandler; import javax.activation.DataSource; import javax.xml.namespace.QName; import java.io.File; -import java.util.ArrayList; /** A suite of utilities used for handling MTOM attachment data. */ public class AttachmentUtils { @@ -44,122 +40,6 @@ public class AttachmentUtils { new QName("http://www.w3.org/2004/08/xop/include", "Include"); /** - * Can be used to find all instances of the <pre><xop:include></pre> element - * within a given OM SOAPEnvelope. - * - * @param env - * @return - */ - public static ArrayList<OMElement> findXopElements(OMElement env) { - ArrayList<OMElement> xops = new ArrayList<OMElement>(); - findXopElements(env, xops); - return xops; - } - - /* - * A recursive search for all of the <xop:include> elements in the tree. - */ - private static void findXopElements(OMElement root, ArrayList<OMElement> xops) { - - // Forces a parse. This seems to be necessary due to bugs in OMNavigator - root.getNextOMSibling(); - - // Navigator does a traversal that mimics the structure of an xml document. - // Each non-element object is processed once. - // Each element object is visited prior to its children and after its children. - // - // Suppose you have the following tree (caps are elements, lowers are text) - // - // A - // / \ - // B C - // /\ /\ - // D e F g - // - // The traversal is - // is A B D D' e B' C F F' g C' A' - // The ' indicates that this is the second time the node is visited (i.e. nav.visited() - // returns true) - - OMNavigator nav = new OMNavigator(root); - - while (nav.isNavigable()) { - OMNode curr = nav.next(); - - // Inspect elements that have been visited. - // It is probably safer to inspect the node when it is visited, because - // this guarantees that its children have been processed/expanded. - if (nav.visited() && curr instanceof OMElement) { - OMElement element = (OMElement)curr; - if (element.getQName().equals(XOP_INCLUDE)) { - if (log.isDebugEnabled()) { - log.debug("[XOP_INCLUDE] " + element.getLocalName()); - } - xops.add(element); - } - } - } - } - - /** - * Can be used to find all of the nodes in a tree that contain binary content that is targetted - * for optimization via MTOM. - * - * @param env - * @return - */ - public static ArrayList<OMText> findBinaryNodes(SOAPEnvelope env) { - ArrayList<OMText> nodes = new ArrayList<OMText>(); - findBinaryElements(env, nodes); - return nodes; - } - - /* - * A recursive search for all of the binary, optimized nodes in a tree. - */ - private static void findBinaryElements(OMNode node, ArrayList<OMText> attachments) { - - // Forces a parse. This seems to be necessary due to bugs in OMNavigator - node.getNextOMSibling(); - - // Navigator does a traversal that mimics the structure of an xml document. - // Each non-element object is processed once. - // Each element object is visited prior to its children and after its children. - // - // Suppose you have the following tree (caps are elements, lowers are text) - // - // A - // / \ - // B C - // /\ /\ - // D e F g - // - // The traversal is - // The traversal is - // is A B D D' e B' C F F' g C' A' - // The ' indicates that this is the second time the node is visited - // (i.e. nav.isVisited() returns true) - OMNavigator nav = new OMNavigator(node); - - while (nav.isNavigable()) { - OMNode curr = nav.next(); - if (curr instanceof OMText) { - // If it's an OMText, see if its optimized and add it to the list - if (log.isDebugEnabled()) - log.debug("text node found"); - - OMText textNode = (OMText)curr; - if (textNode.isOptimized()) { - if (log.isDebugEnabled()) - log.debug("optimized text node found"); - - attachments.add(textNode); - } - } - } - } - - /** * Given an <pre><xop:include></pre> element, create an OMText element * with the appropriate attachment data. * Modified: axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/message/util/MessageUtils.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/message/util/MessageUtils.java?rev=1053881&r1=1053880&r2=1053881&view=diff ============================================================================== --- axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/message/util/MessageUtils.java (original) +++ axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/message/util/MessageUtils.java Thu Dec 30 13:00:06 2010 @@ -19,14 +19,11 @@ package org.apache.axis2.jaxws.message.util; -import org.apache.axiom.attachments.Attachments; import org.apache.axiom.om.OMAbstractFactory; import org.apache.axiom.om.OMDocument; import org.apache.axiom.om.OMElement; import org.apache.axiom.om.OMFactory; -import org.apache.axiom.om.OMText; import org.apache.axiom.om.OMXMLParserWrapper; -import org.apache.axiom.om.impl.MTOMConstants; import org.apache.axiom.om.impl.builder.StAXBuilder; import org.apache.axiom.soap.SOAP11Constants; import org.apache.axiom.soap.SOAPEnvelope; @@ -44,7 +41,6 @@ import org.apache.axis2.jaxws.handler.Tr import org.apache.axis2.jaxws.i18n.Messages; import org.apache.axis2.jaxws.message.Message; import org.apache.axis2.jaxws.message.Protocol; -import org.apache.axis2.jaxws.message.attachments.AttachmentUtils; import org.apache.axis2.jaxws.message.factory.MessageFactory; import org.apache.axis2.jaxws.registry.FactoryRegistry; import org.apache.axis2.jaxws.utility.JavaUtils; @@ -53,7 +49,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import javax.activation.DataHandler; -import javax.xml.namespace.QName; import javax.xml.soap.AttachmentPart; import javax.xml.soap.SOAPMessage; import javax.xml.ws.WebServiceException; @@ -64,8 +59,6 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; -import java.util.ArrayList; -import java.util.Iterator; import java.util.Map; /** Miscellaneous Utilities that may be useful inside and outside the Message subcomponent. */ @@ -177,10 +170,6 @@ public class MessageUtils { if (soapEnv.hasFault()) { soapEnv.toString(); } - - if (false) { - makeXOPIncludeNodes(msgContext, message); - } } return message; } @@ -236,101 +225,7 @@ public class MessageUtils { if (message.isMTOMEnabled()) { // Enable MTOM on the Axis2 MessageContext msgContext.setProperty(Configuration.ENABLE_MTOM, "true"); - if (false) { - makeBinaryNodes(message); - } - } - } - - /** - * Used to expand the tree and create binary nodes - * @param msg - * @deprecated - */ - private static void makeBinaryNodes(Message msg) { - if (log.isDebugEnabled()) { - log.debug("MTOM is enabled on the JAX-WS Message...look for XOP Includes"); } - // If we have MTOM attachments, we need to replace the <xop:include> - // elements with OMText binary nodes. - - // First find all of the <xop:include> elements - SOAPEnvelope envelope = (SOAPEnvelope) msg.getAsOMElement(); - ArrayList<OMElement> xops = AttachmentUtils.findXopElements(envelope); - - if (xops != null && xops.size() > 0) { - if (log.isDebugEnabled()) { - log.debug("Found XOP:Include Elements"); - } - - QName href = new QName("","href"); - Iterator<OMElement> itr = xops.iterator(); - - - while (itr.hasNext()) { - OMElement xop = itr.next(); - String cid = xop.getAttributeValue(href); - - // Find and remove the Attachment from the JAX-WS Message - // (It is removed so that it is not considered a SWA Attachment ...see below) - DataHandler dh = msg.removeDataHandler(cid); - if (log.isDebugEnabled()) { - log.debug("Create Binary OMNode for attachment:" + cid); - } - - // Convert the <xop:include> OMElement into an OMText - // binary node and replace it in the tree. - OMText binaryNode = AttachmentUtils.makeBinaryOMNode(xop, dh); - xop.insertSiblingAfter(binaryNode); - xop.detach(); - } - } - } - - /** - * Expand the tree and create XOP nodes - * @param msg - * @deprecated - */ - private static void makeXOPIncludeNodes(MessageContext msgContext, Message message) { - // This destroys performance by forcing a double pass through the message. - //If attachments are found on the MessageContext, then that means - //the inbound message has more than just the normal XML payload - Attachments as = (Attachments) msgContext.getProperty(MTOMConstants.ATTACHMENTS); - if (as != null) { - if (log.isDebugEnabled()) { - log.debug("Found Axis MTOM Attachments"); - } - - //Walk the tree and find all of the optimized binary nodes. - ArrayList<OMText> binaryNodes = AttachmentUtils.findBinaryNodes((SOAPEnvelope) message.getAsOMElement()); - if (binaryNodes != null && binaryNodes.size() > 0) { - - if (log.isDebugEnabled()) { - log.debug("Found " + binaryNodes.size() +"MTOM Binary Nodes"); - } - - - //Replace each of the nodes with it's corresponding <xop:include> - //element, so JAXB can process it correctly. - Iterator<OMText> itr = binaryNodes.iterator(); - while (itr.hasNext()) { - OMText node = itr.next(); - OMElement xop = AttachmentUtils.makeXopElement(node); - node.getParent().addChild(xop); - node.detach(); - - //We have to add the individual attachments in their raw - //binary form, so we can access them later. - if (log.isDebugEnabled()) { - log.debug("Create MTOM Message Attachment for " + node.getContentID()); - } - message.addDataHandler( - (DataHandler) node.getDataHandler(), - node.getContentID()); - } - } - } } /**