ws-commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sa...@apache.org
Subject svn commit: r394545 - in /webservices/commons/trunk/modules/policy: ./ src/org/apache/ws/policy/ src/org/apache/ws/policy/attachment/ src/org/apache/ws/policy/util/ test-resources/merged/
Date Sun, 16 Apr 2006 19:17:55 GMT
Author: sanka
Date: Sun Apr 16 12:17:52 2006
New Revision: 394545

URL: http://svn.apache.org/viewcvs?rev=394545&view=rev
Log:
Fixed few minor defects
Added WSDLPolicyProcessor which provides WSDL PolicyAttachment support

Added:
    webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/attachment/
    webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/attachment/WSDLPolicyProcessor.java
Modified:
    webservices/commons/trunk/modules/policy/project.properties
    webservices/commons/trunk/modules/policy/project.xml
    webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/AbstractAssertion.java
    webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/Assertion.java
    webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/PolicyReference.java
    webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/XorCompositeAssertion.java
    webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/util/OMPolicyReader.java
    webservices/commons/trunk/modules/policy/test-resources/merged/Policy22-21.xml

Modified: webservices/commons/trunk/modules/policy/project.properties
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/modules/policy/project.properties?rev=394545&r1=394544&r2=394545&view=diff
==============================================================================
--- webservices/commons/trunk/modules/policy/project.properties (original)
+++ webservices/commons/trunk/modules/policy/project.properties Sun Apr 16 12:17:52 2006
@@ -19,6 +19,7 @@
 
 policy.version=SNAPSHOT
 axiom.version=SNAPSHOT
+axis.wsdl4j.version=1.2
 stax.api.version=1.0
 stax.impl.groupid=stax
 stax.impl.artifactid=stax

Modified: webservices/commons/trunk/modules/policy/project.xml
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/modules/policy/project.xml?rev=394545&r1=394544&r2=394545&view=diff
==============================================================================
--- webservices/commons/trunk/modules/policy/project.xml (original)
+++ webservices/commons/trunk/modules/policy/project.xml Sun Apr 16 12:17:52 2006
@@ -127,6 +127,14 @@
 				<module>true</module>
 			</properties>
 		</dependency>
+		<dependency>
+			<groupId>axis</groupId>
+			<artifactId>axis-wsdl4j</artifactId>
+			<version>${axis.wsdl4j.version}</version>
+			<properties>
+				<module>true</module>
+			</properties>
+		</dependency>
 	</dependencies>
   <!-- build information for the project -->
 	

Modified: webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/AbstractAssertion.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/AbstractAssertion.java?rev=394545&r1=394544&r2=394545&view=diff
==============================================================================
--- webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/AbstractAssertion.java
(original)
+++ webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/AbstractAssertion.java
Sun Apr 16 12:17:52 2006
@@ -35,6 +35,12 @@
 
 	/** To refer to the parent of this assertion */
 	protected Assertion parent = null;
+    
+    /** To store the description of the origin of the assertion */
+    protected String source = null;
+    
+    /** To store the line no of the assertion in the file */
+    protected int lineNo = -1;
 
 	/**
 	 * 
@@ -182,4 +188,20 @@
 	public int size() {
 		return childTerms.size();
 	}
+    
+    public void setSource(String source) {
+        this.source = source;        
+    }
+    
+    public String getSource() {
+        return source;
+    }
+    
+    public void setLineNo(int lineNo) {
+        this.lineNo = lineNo;
+    }
+    
+    public int getLineNo() {
+        return lineNo;
+    }
 }

Modified: webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/Assertion.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/Assertion.java?rev=394545&r1=394544&r2=394545&view=diff
==============================================================================
--- webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/Assertion.java (original)
+++ webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/Assertion.java Sun Apr
16 12:17:52 2006
@@ -216,4 +216,40 @@
 	 */
 	public short getType();
 
+	/**
+	 * Returns a string which describes the source of the assertion. For
+	 * instance name of the policy file that contains the assertion. Returns
+	 * null if it is not set.
+	 * 
+	 * @return a string that describe the origin of the assertion.
+	 */
+	public String getSource();
+
+	/**
+	 * Sets specified string as the source of the assertion.
+	 * 
+	 * @param source
+	 *            the string which describe the source of the origin of the
+	 *            assertion
+	 */
+	public void setSource(String source);
+
+	/**
+	 * Returns the line no of the assertion which is line no of the assertion in
+	 * the file where the assertion is first read. came from. Returns -1 if it
+	 * is not set.
+	 * 
+	 * @return the line no of the assertion in file where the assertion is first
+	 *         read.
+	 */
+	public int getLineNo();
+
+	/**
+	 * Sets the line no of the assertion which should be the line no of the
+	 * assertion in the file where the assertion is first read.
+	 * 
+	 * @param lineNo
+	 */
+	public void setLineNo(int lineNo);
+
 }

Modified: webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/PolicyReference.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/PolicyReference.java?rev=394545&r1=394544&r2=394545&view=diff
==============================================================================
--- webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/PolicyReference.java
(original)
+++ webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/PolicyReference.java
Sun Apr 16 12:17:52 2006
@@ -34,6 +34,12 @@
 	private String PolicyURIString = null;
 
 	private Assertion parent = null;
+    
+    /** To store the description of the origin of the assertion */
+    protected String source = null;
+    
+    /** To store the line no of the assertion in the file */
+    protected int lineNo = -1;
 
 	/**
 	 * Constructs a PolicyReferece object which refers to the Policy which is
@@ -105,7 +111,7 @@
 	}
 
 	public boolean isNormalized() {
-		throw new UnsupportedOperationException();
+		return false;
 	}
 
 	public void setNormalized(boolean flag) {
@@ -143,5 +149,21 @@
 	 */
 	public final short getType() {
 		return Assertion.POLIY_REFERCE_TYPE;
-	}
+	}    
+    
+    public void setSource(String source) {
+        this.source = source;        
+    }
+    
+    public String getSource() {
+        return source;
+    }
+    
+    public void setLineNo(int lineNo) {
+        this.lineNo = lineNo;
+    }
+    
+    public int getLineNo() {
+        return lineNo;
+    }
 }

Modified: webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/XorCompositeAssertion.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/XorCompositeAssertion.java?rev=394545&r1=394544&r2=394545&view=diff
==============================================================================
--- webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/XorCompositeAssertion.java
(original)
+++ webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/XorCompositeAssertion.java
Sun Apr 16 12:17:52 2006
@@ -224,15 +224,6 @@
 						.hasNext();) {
 					nXOR.addTerm(AND.merge((Assertion) iterator2.next()));
 				}
-
-				if (target.isEmpty() && AND.isEmpty()) { // FIXME is this a
-					// hack?
-					/*
-					 * " <wsp:ExactlyOne> <wsp:All/>
-					 * </wsp:ExactlyOne>".intersect(" <wsp:ExactlyOne/>")
-					 */
-					nXOR.addTerm(AND);
-				}
 			}
 
 			return nXOR;

Added: webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/attachment/WSDLPolicyProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/attachment/WSDLPolicyProcessor.java?rev=394545&view=auto
==============================================================================
--- webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/attachment/WSDLPolicyProcessor.java
(added)
+++ webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/attachment/WSDLPolicyProcessor.java
Sun Apr 16 12:17:52 2006
@@ -0,0 +1,379 @@
+package org.apache.ws.policy.attachment;
+
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import javax.wsdl.Binding;
+import javax.wsdl.BindingFault;
+import javax.wsdl.BindingInput;
+import javax.wsdl.BindingOperation;
+import javax.wsdl.BindingOutput;
+import javax.wsdl.Definition;
+import javax.wsdl.Fault;
+import javax.wsdl.Input;
+import javax.wsdl.Message;
+import javax.wsdl.Operation;
+import javax.wsdl.Output;
+import javax.wsdl.Port;
+import javax.wsdl.PortType;
+import javax.wsdl.Service;
+import javax.wsdl.WSDLException;
+import javax.wsdl.extensions.UnknownExtensibilityElement;
+import javax.wsdl.factory.WSDLFactory;
+import javax.wsdl.xml.WSDLReader;
+import javax.xml.namespace.QName;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.apache.ws.policy.Policy;
+import org.apache.ws.policy.PolicyConstants;
+import org.apache.ws.policy.PolicyReference;
+import org.apache.ws.policy.util.DOMPolicyReader;
+import org.apache.ws.policy.util.PolicyFactory;
+import org.apache.ws.policy.util.PolicyRegistry;
+import org.w3c.dom.Document;
+
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+public class WSDLPolicyProcessor {
+
+	private static final QName POLICY = new QName(
+			PolicyConstants.WS_POLICY_NAMESPACE_URI, PolicyConstants.WS_POLICY);
+
+	private static final QName POLICY_REF = new QName(
+			PolicyConstants.WS_POLICY_NAMESPACE_URI,
+			PolicyConstants.WS_POLICY_REFERENCE);
+
+	Definition wsdl4jDefinition = null;
+
+	PolicyRegistry registry = null;
+
+	DOMPolicyReader prdr = null;
+
+	public WSDLPolicyProcessor(InputStream in) throws WSDLException {
+		this(in, null);
+	}
+
+	public WSDLPolicyProcessor(InputStream in, PolicyRegistry registry)
+			throws WSDLException {
+		if (registry != null) {
+			this.registry = registry;
+		}
+
+		try {
+			DocumentBuilderFactory builderFactory = DocumentBuilderFactory
+					.newInstance();
+			builderFactory.setNamespaceAware(true);
+			Document doc = builderFactory.newDocumentBuilder().parse(in);
+
+			WSDLFactory wsdlFactory = WSDLFactory.newInstance();
+			WSDLReader reader = wsdlFactory.newWSDLReader();
+
+			wsdl4jDefinition = reader.readWSDL(null, doc);
+
+			registry = new PolicyRegistry();
+
+			prdr = (DOMPolicyReader) PolicyFactory
+					.getPolicyReader(PolicyFactory.DOM_POLICY_READER);
+
+			processDefinition(wsdl4jDefinition);
+
+		} catch (Exception ex) {
+			throw new RuntimeException(ex);
+		}
+	}
+
+	public Policy getEffectiveServicePolicy(QName service) {
+		Service wsdl4jService = wsdl4jDefinition.getService(service);
+
+		List policyList = getPoliciesAsExtElements(wsdl4jService
+				.getExtensibilityElements());
+
+		return getEffectivePolicy(policyList);
+	}
+
+	public Policy getEffectiveEndpointPolicy(QName service, String port) {
+		Service wsdl4jService = wsdl4jDefinition.getService(service);
+		if (wsdl4jService == null) {
+			throw new IllegalArgumentException("invalid service name");
+		}
+
+		Port wsdl4jPort = wsdl4jService.getPort(port);
+		if (wsdl4jPort == null) {
+			throw new RuntimeException("invalid port name");
+		}
+
+		ArrayList policyList = new ArrayList();
+
+		policyList.addAll(getPoliciesAsExtElements(wsdl4jPort
+				.getExtensibilityElements()));
+
+		Binding wsdl4jBinding = wsdl4jPort.getBinding();
+		policyList.addAll(getPoliciesAsExtElements(wsdl4jBinding
+				.getExtensibilityElements()));
+
+		PortType wsdl4jPortType = wsdl4jBinding.getPortType();
+		policyList.addAll(getPoliciesAsExtAttributes(wsdl4jPortType
+				.getExtensionAttributes()));
+
+		return getEffectivePolicy(policyList);
+	}
+
+	public Policy getEffectiveOperationPolicy(QName service, String portName,
+			String opName) {
+		Service wsdl4jService = wsdl4jDefinition.getService(service);
+		if (wsdl4jService == null) {
+			throw new IllegalArgumentException("invalid service name");
+		}
+
+		Port wsdl4jPort = wsdl4jService.getPort(portName);
+		if (wsdl4jPort == null) {
+			throw new IllegalArgumentException("invalid port name");
+		}
+
+		Binding wsdl4jBinding = wsdl4jPort.getBinding();
+		BindingOperation wsdl4jBindingOperation = wsdl4jBinding
+				.getBindingOperation(opName, null, null);
+		if (wsdl4jBindingOperation == null) {
+			throw new IllegalArgumentException("invalid binding name");
+		}
+
+		ArrayList policyList = new ArrayList();
+		policyList.addAll(getPoliciesAsExtElements(wsdl4jBindingOperation
+				.getExtensibilityElements()));
+
+		Operation wsdl4jOperation = wsdl4jBindingOperation.getOperation();
+		policyList.addAll(getPoliciesAsExtElements(wsdl4jOperation
+				.getExtensibilityElements()));
+
+		return getEffectivePolicy(policyList);
+	}
+    
+    public Policy getEffectiveInputPolicy(QName service, String portName, String opName)
{
+        Service wsdl4jService = wsdl4jDefinition.getService(service);
+        if (wsdl4jService == null) {
+            throw new IllegalArgumentException("invalid service name");
+        }
+
+        Port wsdl4jPort = wsdl4jService.getPort(portName);
+        if (wsdl4jPort == null) {
+            throw new IllegalArgumentException("invalid port name");
+        }
+
+        Binding wsdl4jBinding = wsdl4jPort.getBinding();
+        BindingOperation wsdl4jBindingOperation = wsdl4jBinding
+                .getBindingOperation(opName, null, null);
+        if (wsdl4jBindingOperation == null) {
+            throw new IllegalArgumentException("invalid binding name");
+        }
+        
+        ArrayList policyList = new ArrayList();        
+        BindingInput wsdl4jBindingInput = wsdl4jBindingOperation.getBindingInput();
+        policyList.addAll(getPoliciesAsExtElements(wsdl4jBindingInput.getExtensibilityElements()));
+        
+        Operation wsdl4jOperation = wsdl4jBindingOperation.getOperation();
+        Input wsdl4jInput = wsdl4jOperation.getInput();
+        policyList.addAll(getPoliciesAsExtAttributes(wsdl4jInput.getExtensionAttributes()));
+        
+        Message wsdl4jMessage = wsdl4jInput.getMessage();
+        policyList.addAll(getPoliciesAsExtElements(wsdl4jMessage.getExtensibilityElements()));
+        
+        
+        return getEffectivePolicy(policyList);
+    }
+    
+    public Policy getEffectiveOutputPolicy(QName service, String portName, String opName)
{
+        
+        Service wsdl4jService = wsdl4jDefinition.getService(service);
+        if (wsdl4jService == null) {
+            throw new IllegalArgumentException("invalid service name");
+        }
+
+        Port wsdl4jPort = wsdl4jService.getPort(portName);
+        if (wsdl4jPort == null) {
+            throw new IllegalArgumentException("invalid port name");
+        }
+
+        Binding wsdl4jBinding = wsdl4jPort.getBinding();
+        BindingOperation wsdl4jBindingOperation = wsdl4jBinding
+                .getBindingOperation(opName, null, null);
+        if (wsdl4jBindingOperation == null) {
+            throw new IllegalArgumentException("invalid binding name");
+        }
+        
+        ArrayList policyList = new ArrayList();
+        BindingOutput wsdl4jBindingOutput = wsdl4jBindingOperation.getBindingOutput();
+        policyList.addAll(getPoliciesAsExtElements(wsdl4jBindingOutput.getExtensibilityElements()));
+        
+        Operation wsdl4jOperation = wsdl4jBindingOperation.getOperation();
+        Output wsdl4jOutput = wsdl4jOperation.getOutput();
+        policyList.addAll(getPoliciesAsExtAttributes(wsdl4jOutput.getExtensionAttributes()));
+        
+        Message wsdl4jMessage = wsdl4jOutput.getMessage();
+        policyList.addAll(getPoliciesAsExtElements(wsdl4jMessage.getExtensibilityElements()));
+        
+        return getEffectivePolicy(policyList);
+    }
+    
+    public Policy getEffectiveFaultPolicy(QName service, String portName, String opName)
{
+        
+         Service wsdl4jService = wsdl4jDefinition.getService(service);
+         if (wsdl4jService == null) {
+             throw new IllegalArgumentException("invalid service name");
+         }
+
+         Port wsdl4jPort = wsdl4jService.getPort(portName);
+         if (wsdl4jPort == null) {
+             throw new IllegalArgumentException("invalid port name");
+         }
+
+         Binding wsdl4jBinding = wsdl4jPort.getBinding();
+         BindingOperation wsdl4jBindingOperation = wsdl4jBinding
+                 .getBindingOperation(opName, null, null);
+         if (wsdl4jBindingOperation == null) {
+             throw new IllegalArgumentException("invalid binding name");
+         }
+         
+         ArrayList policyList = new ArrayList();
+         Map wsdl4jBindingFaults = wsdl4jBindingOperation.getBindingFaults();
+         Iterator iterator = wsdl4jBindingFaults.values().iterator();
+         
+         if (! iterator.hasNext()) {
+         	throw new RuntimeException("can't find any faults");
+         }
+         
+         BindingFault wsdl4jBindingFault = (BindingFault) iterator.next();
+         policyList.addAll(getPoliciesAsExtElements(wsdl4jBindingFault.getExtensibilityElements()));
+         
+         Operation wsdl4jOperation = wsdl4jBindingOperation.getOperation();
+         Fault wsdl4jFault = wsdl4jOperation.getFault(wsdl4jBindingFault.getName());
+         policyList.addAll(getPoliciesAsExtAttributes(wsdl4jFault.getExtensionAttributes()));
+         
+         Message wsdl4jMessage = wsdl4jFault.getMessage();
+         policyList.addAll(getPoliciesAsExtElements(wsdl4jMessage.getExtensibilityElements()));
+         
+         return getEffectivePolicy(policyList);
+    }
+
+	private Policy getEffectivePolicy(List policyList) {
+		Policy policy = null;
+		Object policyElement;
+		;
+
+		for (Iterator iterator = policyList.iterator(); iterator.hasNext();) {
+			policyElement = iterator.next();
+			if (policyElement instanceof Policy) {
+				policy = (policy == null) ? (Policy) policyElement
+						: (Policy) policy.merge((Policy) policyElement,
+								registry);
+
+			} else if (policyElement instanceof PolicyReference) {
+				policy = (policy == null) ? (Policy) ((PolicyReference) policyElement)
+						.normalize(registry)
+						: (Policy) policy.merge(
+								(PolicyReference) policyElement, registry);
+
+			}
+		}
+
+		if (!policy.isNormalized()) {
+			policy = (Policy) policy.normalize(registry);
+		}
+
+		return policy;
+
+	}
+
+	private void processDefinition(Definition wsdl4jDefinition) {
+		registerPoliciesAsExtElements(wsdl4jDefinition
+				.getExtensibilityElements());
+	}
+
+	private void registerPoliciesAsExtElements(List extElements) {
+		Object extElement;
+		UnknownExtensibilityElement unknown;
+
+		for (Iterator iterator = extElements.iterator(); iterator.hasNext();) {
+			extElement = iterator.next();
+
+			if (extElement instanceof UnknownExtensibilityElement) {
+				unknown = (UnknownExtensibilityElement) extElement;
+
+				if (POLICY.equals(unknown.getElementType())) {
+					Policy p = prdr.readPolicy(unknown.getElement());
+
+					if (p.getPolicyURI() != null) {
+						registry.register(p.getPolicyURI(), p);
+					}
+				}
+			}
+		}
+	}
+
+	private List getPoliciesAsExtElements(List extElements) {
+		ArrayList policyList = new ArrayList();
+
+		Object extElement;
+		UnknownExtensibilityElement unknown;
+
+		for (Iterator iterator = extElements.iterator(); iterator.hasNext();) {
+			extElement = iterator.next();
+
+			if (extElement instanceof UnknownExtensibilityElement) {
+				unknown = (UnknownExtensibilityElement) extElement;
+
+				if (POLICY.equals(unknown.getElementType())) {
+
+					Policy p = prdr.readPolicy(unknown.getElement());
+					policyList.add(p);
+
+				} else if (POLICY_REF.equals(unknown.getElementType())) {
+					PolicyReference ref = prdr.readPolicyReference(unknown
+							.getElement());
+					policyList.add(ref);
+				}
+			}
+		}
+
+		return policyList;
+	}
+
+	private List getPoliciesAsExtAttributes(Map extAttributes) {
+		ArrayList policyList = new ArrayList();
+		QName PolicyURIs = (QName) extAttributes.get(new QName(
+				PolicyConstants.WS_POLICY_NAMESPACE_URI, "PolicyURIs"));
+
+		if (PolicyURIs != null) {
+			String[] URIs = PolicyURIs.getLocalPart().split(" ");
+			Policy policy;
+
+			for (int i = 0; i < URIs.length; i++) {
+				policy = registry.lookup(URIs[i]);
+
+				if (policy == null) {
+					throw new RuntimeException("cannot resolve : " + URIs[i]);
+				}
+
+				policyList.add(policy);
+			}
+		}
+
+		return policyList;
+	}
+}
\ No newline at end of file

Modified: webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/util/OMPolicyReader.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/util/OMPolicyReader.java?rev=394545&r1=394544&r2=394545&view=diff
==============================================================================
--- webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/util/OMPolicyReader.java
(original)
+++ webservices/commons/trunk/modules/policy/src/org/apache/ws/policy/util/OMPolicyReader.java
Sun Apr 16 12:17:52 2006
@@ -51,6 +51,7 @@
 
 	public Policy readPolicy(InputStream in) {
 		try {
+            
 			XMLStreamReader reader = XMLInputFactory.newInstance()
 					.createXMLStreamReader(in);
 			OMXMLParserWrapper builder = OMXMLBuilderFactory
@@ -66,6 +67,7 @@
 	}
 
 	private Assertion readAssertion(OMElement element) {
+        
 		String namespace = element.getNamespace().getName();
 		String localName = element.getLocalName();
 

Modified: webservices/commons/trunk/modules/policy/test-resources/merged/Policy22-21.xml
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/modules/policy/test-resources/merged/Policy22-21.xml?rev=394545&r1=394544&r2=394545&view=diff
==============================================================================
--- webservices/commons/trunk/modules/policy/test-resources/merged/Policy22-21.xml (original)
+++ webservices/commons/trunk/modules/policy/test-resources/merged/Policy22-21.xml Sun Apr
16 12:17:52 2006
@@ -1 +1,3 @@
-<wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"><wsp:ExactlyOne><wsp:All/></wsp:ExactlyOne></wsp:Policy>
\ No newline at end of file
+<wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+    <wsp:ExactlyOne />
+</wsp:Policy>
\ No newline at end of file



Mime
View raw message