Author: veithen Date: Fri Apr 8 20:19:38 2011 New Revision: 1090429 URL: http://svn.apache.org/viewvc?rev=1090429&view=rev Log: Neethi now supports DOM elements. Therefore we don't need to convert DOM elements to stream any more. Alos, DOM2Writer seems to have a bug that causes processing of some policies to fail.
Modified: axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/util/PolicyUtil.java Modified: axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/util/PolicyUtil.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/util/PolicyUtil.java?rev=1090429&r1=1090428&r2=1090429&view=diff ============================================================================== --- axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/util/PolicyUtil.java (original) +++ axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/util/PolicyUtil.java Fri Apr 8 20:19:38 2011 @@ -21,7 +21,6 @@ package org.apache.axis2.util; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; -import java.io.InputStream; import java.util.Iterator; import java.util.List; @@ -29,7 +28,6 @@ import javax.xml.stream.FactoryConfigura import javax.xml.stream.XMLOutputFactory; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamWriter; -import javax.xml.transform.Transformer; import org.apache.axiom.om.OMAbstractFactory; import org.apache.axiom.om.OMElement; @@ -46,8 +44,6 @@ import org.apache.neethi.PolicyComponent import org.apache.neethi.PolicyEngine; import org.apache.neethi.PolicyReference; -import com.ibm.wsdl.util.xml.DOM2Writer; - public class PolicyUtil { public static String getSafeString(String unsafeString) { @@ -172,28 +168,15 @@ public class PolicyUtil { public static PolicyComponent getPolicyComponent(org.w3c.dom.Element element) { if (Constants.isPolicyElement(element.getNamespaceURI(), (element.getLocalName()))) { - return PolicyEngine.getPolicy(nodeToStream(element)); + return PolicyEngine.getPolicy(element); } else if (Constants.isPolicyRef(element.getNamespaceURI(), element.getLocalName())) { - return PolicyEngine.getPolicyReferene(nodeToStream(element)); + return PolicyEngine.getPolicyReference(element); } throw new IllegalArgumentException( "Argument is neither a <wsp:Policy> nor a <wsp:PolicyReference> element"); } - private static InputStream nodeToStream(org.w3c.dom.Element element) { - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - Transformer tf; - try { - // tf = TransformerFactory.newInstance().newTransformer(); - // tf.transform(new DOMSource(element), new StreamResult(baos)); - String nodeString = DOM2Writer.nodeToString(element); - return new ByteArrayInputStream(nodeString.getBytes()); - } catch (Exception e) { - throw new RuntimeException("Unable to process policy"); - } - } - public static String policyComponentToString(PolicyComponent policyComponent) throws XMLStreamException, FactoryConfigurationError {