You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commons-dev@ws.apache.org by sa...@apache.org on 2006/03/03 09:26:49 UTC
svn commit: r382719 [2/2] - in
/webservices/commons/modules/policy/src/org/apache/ws/policy: ./ util/
Modified: webservices/commons/modules/policy/src/org/apache/ws/policy/util/StAXPolicyWriter.java
URL: http://svn.apache.org/viewcvs/webservices/commons/modules/policy/src/org/apache/ws/policy/util/StAXPolicyWriter.java?rev=382719&r1=382718&r2=382719&view=diff
==============================================================================
--- webservices/commons/modules/policy/src/org/apache/ws/policy/util/StAXPolicyWriter.java (original)
+++ webservices/commons/modules/policy/src/org/apache/ws/policy/util/StAXPolicyWriter.java Fri Mar 3 00:26:45 2006
@@ -35,230 +35,233 @@
import org.apache.ws.policy.XorCompositeAssertion;
/**
+ * StAXPolicyWriter implements PolicyWriter and provides different methods to
+ * create a Policy object. It uses StAX as its underlying mechanism to create
+ * XML elements.
+ *
* @author Sanka Samaranayake (sanka@apache.org)
*/
public class StAXPolicyWriter implements PolicyWriter {
- private int num = 1;
+ private int num = 1;
- StAXPolicyWriter() {
- }
+ StAXPolicyWriter() {
+ }
- public void writePolicy(Policy policy, OutputStream output) {
- XMLStreamWriter writer = null;
- try {
- writer = XMLOutputFactory.newInstance().createXMLStreamWriter(
- output);
- writePolicy(policy, writer);
-
- writer.flush();
-
- } catch (XMLStreamException ex) {
- throw new RuntimeException(ex);
- }
- }
-
- public void writePolicy(Policy policy, XMLStreamWriter writer)
- throws XMLStreamException {
- String writerPerfix = writer
- .getPrefix(PolicyConstants.WS_POLICY_NAMESPACE_URI);
-
- if (writerPerfix != null) {
- writer.writeStartElement(PolicyConstants.WS_POLICY_NAMESPACE_URI,
- PolicyConstants.WS_POLICY);
-
- } else {
- writer.writeStartElement(PolicyConstants.WS_POLICY_PREFIX,
- PolicyConstants.WS_POLICY,
- PolicyConstants.WS_POLICY_NAMESPACE_URI);
- writer.writeNamespace(PolicyConstants.WS_POLICY_PREFIX,
- PolicyConstants.WS_POLICY_NAMESPACE_URI);
- writer.setPrefix(PolicyConstants.WS_POLICY_PREFIX,
- PolicyConstants.WS_POLICY_NAMESPACE_URI);
-
- }
-
- if (policy.getId() != null) {
-
-
- writer.writeNamespace(PolicyConstants.WSU_NAMESPACE_PREFIX,
- PolicyConstants.WSU_NAMESPACE_URI);
- writer.setPrefix(PolicyConstants.WSU_NAMESPACE_PREFIX,
- PolicyConstants.WSU_NAMESPACE_URI);
-
- writer.writeAttribute("wsu", PolicyConstants.WSU_NAMESPACE_URI,
- "Id", policy.getId());
- }
-
- Iterator iterator = policy.getTerms().iterator();
- while (iterator.hasNext()) {
- Assertion term = (Assertion) iterator.next();
- writeAssertion(term, writer);
- }
-
- writer.writeEndElement();
- }
-
- private void writeAssertion(Assertion assertion, XMLStreamWriter writer)
- throws XMLStreamException {
- if (assertion instanceof PrimitiveAssertion) {
- writePrimitiveAssertion((PrimitiveAssertion) assertion, writer);
-
- } else if (assertion instanceof XorCompositeAssertion) {
- writeXorCompositeAssertion((XorCompositeAssertion) assertion,
- writer);
-
- } else if (assertion instanceof PolicyReference) {
- writePolicyReference((PolicyReference) assertion, writer);
-
- } else if (assertion instanceof Policy) {
- writePolicy((Policy) assertion, writer);
- } else if (assertion instanceof AndCompositeAssertion) {
- writeAndCompositeAssertion((AndCompositeAssertion) assertion,
- writer);
-
- } else {
- throw new RuntimeException("unknown element type");
- }
- }
-
- private void writeAndCompositeAssertion(AndCompositeAssertion assertion,
- XMLStreamWriter writer) throws XMLStreamException {
-
- String writerPrefix = writer
- .getPrefix(PolicyConstants.WS_POLICY_NAMESPACE_URI);
-
- if (writerPrefix == null) {
- writer.writeStartElement(PolicyConstants.WS_POLICY_PREFIX,
- PolicyConstants.AND_COMPOSITE_ASSERTION,
- PolicyConstants.WS_POLICY_NAMESPACE_URI);
- writer.writeNamespace(PolicyConstants.WS_POLICY_PREFIX,
- PolicyConstants.WS_POLICY_NAMESPACE_URI);
- writer.setPrefix(PolicyConstants.WS_POLICY_PREFIX,
- PolicyConstants.WS_POLICY_NAMESPACE_URI);
-
- } else {
- writer.writeStartElement(PolicyConstants.WS_POLICY_NAMESPACE_URI,
- PolicyConstants.AND_COMPOSITE_ASSERTION);
- }
-
- List terms = assertion.getTerms();
- writeTerms(terms, writer);
-
- writer.writeEndElement();
- }
-
- private void writeXorCompositeAssertion(XorCompositeAssertion assertion,
- XMLStreamWriter writer) throws XMLStreamException {
- String writerPrefix = writer
- .getPrefix(PolicyConstants.WS_POLICY_NAMESPACE_URI);
-
- if (writerPrefix == null) {
- writer.writeStartElement(PolicyConstants.WS_POLICY_PREFIX,
- PolicyConstants.XOR_COMPOSITE_ASSERTION,
- PolicyConstants.WS_POLICY_NAMESPACE_URI);
- writer.writeNamespace(PolicyConstants.WS_POLICY_PREFIX,
- PolicyConstants.WS_POLICY_NAMESPACE_URI);
- writer.setPrefix(PolicyConstants.WS_POLICY_PREFIX,
- PolicyConstants.WS_POLICY_NAMESPACE_URI);
-
- } else {
- writer.writeStartElement(PolicyConstants.WS_POLICY_NAMESPACE_URI,
- PolicyConstants.XOR_COMPOSITE_ASSERTION);
- }
-
- List terms = assertion.getTerms();
- writeTerms(terms, writer);
-
- writer.writeEndElement();
- }
-
- private void writePrimitiveAssertion(PrimitiveAssertion assertion,
- XMLStreamWriter writer) throws XMLStreamException {
- QName qname = assertion.getName();
-
- String writerPrefix = writer.getPrefix(qname.getNamespaceURI());
- if (writerPrefix != null) {
- writer.writeStartElement(qname.getNamespaceURI(), qname
- .getLocalPart());
- } else {
- String prefix = (qname.getPrefix() != null) ? qname.getPrefix()
- : generateNamespace();
- writer.writeStartElement(prefix, qname.getLocalPart(), qname
- .getNamespaceURI());
- writer.writeNamespace(prefix, qname.getNamespaceURI());
- writer.setPrefix(prefix, qname.getNamespaceURI());
-
- }
-
- Hashtable attributes = assertion.getAttributes();
- writeAttributes(attributes, writer);
-
- String text = (String) assertion.getStrValue();
- if (text != null) {
- writer.writeCharacters(text);
- }
-
- List terms = assertion.getTerms();
- writeTerms(terms, writer);
-
- writer.writeEndElement();
- }
-
- public void writePolicyReference(PolicyReference assertion,
- XMLStreamWriter writer) throws XMLStreamException {
-
- String writerPrefix = writer
- .getPrefix(PolicyConstants.WS_POLICY_NAMESPACE_URI);
- if (writerPrefix != null) {
- writer.writeStartElement(PolicyConstants.WS_POLICY_NAMESPACE_URI,
- PolicyConstants.WS_POLICY_REFERENCE);
- } else {
-
- writer.writeStartElement(PolicyConstants.WS_POLICY_PREFIX,
- PolicyConstants.WS_POLICY_REFERENCE,
- PolicyConstants.WS_POLICY_NAMESPACE_URI);
- writer.writeNamespace(PolicyConstants.WS_POLICY_PREFIX,
- PolicyConstants.WS_POLICY_NAMESPACE_URI);
- writer.setPrefix(PolicyConstants.WS_POLICY_PREFIX,
- PolicyConstants.WS_POLICY_NAMESPACE_URI);
-
- }
- writer.writeAttribute("URI", assertion.getPolicyURIString());
-
- writer.writeEndElement();
- }
-
- private void writeTerms(List terms, XMLStreamWriter writer)
- throws XMLStreamException {
-
- Iterator iterator = terms.iterator();
- while (iterator.hasNext()) {
- Assertion assertion = (Assertion) iterator.next();
- writeAssertion(assertion, writer);
- }
- }
-
- private void writeAttributes(Hashtable attributes, XMLStreamWriter writer)
- throws XMLStreamException {
-
- Iterator iterator = attributes.keySet().iterator();
- while (iterator.hasNext()) {
- QName qname = (QName) iterator.next();
- String value = (String) attributes.get(qname);
-
- String prefix = qname.getPrefix();
- if (prefix != null) {
- writer.writeAttribute(prefix, qname.getNamespaceURI(), qname
- .getLocalPart(), value);
- } else {
- writer.writeAttribute(qname.getNamespaceURI(), qname
- .getLocalPart(), value);
- }
- }
- }
-
- private String generateNamespace() {
- return "ns" + num++;
- }
-}
+ public void writePolicy(Policy policy, OutputStream output) {
+ XMLStreamWriter writer = null;
+ try {
+ writer = XMLOutputFactory.newInstance().createXMLStreamWriter(
+ output);
+ writePolicy(policy, writer);
+
+ writer.flush();
+
+ } catch (XMLStreamException ex) {
+ throw new RuntimeException(ex);
+ }
+ }
+
+ public void writePolicy(Policy policy, XMLStreamWriter writer)
+ throws XMLStreamException {
+ String writerPerfix = writer
+ .getPrefix(PolicyConstants.WS_POLICY_NAMESPACE_URI);
+
+ if (writerPerfix != null) {
+ writer.writeStartElement(PolicyConstants.WS_POLICY_NAMESPACE_URI,
+ PolicyConstants.WS_POLICY);
+
+ } else {
+ writer.writeStartElement(PolicyConstants.WS_POLICY_PREFIX,
+ PolicyConstants.WS_POLICY,
+ PolicyConstants.WS_POLICY_NAMESPACE_URI);
+ writer.writeNamespace(PolicyConstants.WS_POLICY_PREFIX,
+ PolicyConstants.WS_POLICY_NAMESPACE_URI);
+ writer.setPrefix(PolicyConstants.WS_POLICY_PREFIX,
+ PolicyConstants.WS_POLICY_NAMESPACE_URI);
+
+ }
+
+ if (policy.getId() != null) {
+
+ writer.writeNamespace(PolicyConstants.WSU_NAMESPACE_PREFIX,
+ PolicyConstants.WSU_NAMESPACE_URI);
+ writer.setPrefix(PolicyConstants.WSU_NAMESPACE_PREFIX,
+ PolicyConstants.WSU_NAMESPACE_URI);
+
+ writer.writeAttribute("wsu", PolicyConstants.WSU_NAMESPACE_URI,
+ "Id", policy.getId());
+ }
+
+ Iterator iterator = policy.getTerms().iterator();
+ while (iterator.hasNext()) {
+ Assertion term = (Assertion) iterator.next();
+ writeAssertion(term, writer);
+ }
+
+ writer.writeEndElement();
+ }
+
+ private void writeAssertion(Assertion assertion, XMLStreamWriter writer)
+ throws XMLStreamException {
+ if (assertion instanceof PrimitiveAssertion) {
+ writePrimitiveAssertion((PrimitiveAssertion) assertion, writer);
+
+ } else if (assertion instanceof XorCompositeAssertion) {
+ writeXorCompositeAssertion((XorCompositeAssertion) assertion,
+ writer);
+
+ } else if (assertion instanceof PolicyReference) {
+ writePolicyReference((PolicyReference) assertion, writer);
+
+ } else if (assertion instanceof Policy) {
+ writePolicy((Policy) assertion, writer);
+ } else if (assertion instanceof AndCompositeAssertion) {
+ writeAndCompositeAssertion((AndCompositeAssertion) assertion,
+ writer);
+
+ } else {
+ throw new RuntimeException("unknown element type");
+ }
+ }
+
+ private void writeAndCompositeAssertion(AndCompositeAssertion assertion,
+ XMLStreamWriter writer) throws XMLStreamException {
+
+ String writerPrefix = writer
+ .getPrefix(PolicyConstants.WS_POLICY_NAMESPACE_URI);
+
+ if (writerPrefix == null) {
+ writer.writeStartElement(PolicyConstants.WS_POLICY_PREFIX,
+ PolicyConstants.AND_COMPOSITE_ASSERTION,
+ PolicyConstants.WS_POLICY_NAMESPACE_URI);
+ writer.writeNamespace(PolicyConstants.WS_POLICY_PREFIX,
+ PolicyConstants.WS_POLICY_NAMESPACE_URI);
+ writer.setPrefix(PolicyConstants.WS_POLICY_PREFIX,
+ PolicyConstants.WS_POLICY_NAMESPACE_URI);
+
+ } else {
+ writer.writeStartElement(PolicyConstants.WS_POLICY_NAMESPACE_URI,
+ PolicyConstants.AND_COMPOSITE_ASSERTION);
+ }
+
+ List terms = assertion.getTerms();
+ writeTerms(terms, writer);
+
+ writer.writeEndElement();
+ }
+
+ private void writeXorCompositeAssertion(XorCompositeAssertion assertion,
+ XMLStreamWriter writer) throws XMLStreamException {
+ String writerPrefix = writer
+ .getPrefix(PolicyConstants.WS_POLICY_NAMESPACE_URI);
+
+ if (writerPrefix == null) {
+ writer.writeStartElement(PolicyConstants.WS_POLICY_PREFIX,
+ PolicyConstants.XOR_COMPOSITE_ASSERTION,
+ PolicyConstants.WS_POLICY_NAMESPACE_URI);
+ writer.writeNamespace(PolicyConstants.WS_POLICY_PREFIX,
+ PolicyConstants.WS_POLICY_NAMESPACE_URI);
+ writer.setPrefix(PolicyConstants.WS_POLICY_PREFIX,
+ PolicyConstants.WS_POLICY_NAMESPACE_URI);
+
+ } else {
+ writer.writeStartElement(PolicyConstants.WS_POLICY_NAMESPACE_URI,
+ PolicyConstants.XOR_COMPOSITE_ASSERTION);
+ }
+
+ List terms = assertion.getTerms();
+ writeTerms(terms, writer);
+
+ writer.writeEndElement();
+ }
+
+ private void writePrimitiveAssertion(PrimitiveAssertion assertion,
+ XMLStreamWriter writer) throws XMLStreamException {
+ QName qname = assertion.getName();
+
+ String writerPrefix = writer.getPrefix(qname.getNamespaceURI());
+ if (writerPrefix != null) {
+ writer.writeStartElement(qname.getNamespaceURI(), qname
+ .getLocalPart());
+ } else {
+ String prefix = (qname.getPrefix() != null) ? qname.getPrefix()
+ : generateNamespace();
+ writer.writeStartElement(prefix, qname.getLocalPart(), qname
+ .getNamespaceURI());
+ writer.writeNamespace(prefix, qname.getNamespaceURI());
+ writer.setPrefix(prefix, qname.getNamespaceURI());
+
+ }
+
+ Hashtable attributes = assertion.getAttributes();
+ writeAttributes(attributes, writer);
+
+ String text = (String) assertion.getStrValue();
+ if (text != null) {
+ writer.writeCharacters(text);
+ }
+
+ List terms = assertion.getTerms();
+ writeTerms(terms, writer);
+
+ writer.writeEndElement();
+ }
+
+ public void writePolicyReference(PolicyReference assertion,
+ XMLStreamWriter writer) throws XMLStreamException {
+
+ String writerPrefix = writer
+ .getPrefix(PolicyConstants.WS_POLICY_NAMESPACE_URI);
+ if (writerPrefix != null) {
+ writer.writeStartElement(PolicyConstants.WS_POLICY_NAMESPACE_URI,
+ PolicyConstants.WS_POLICY_REFERENCE);
+ } else {
+
+ writer.writeStartElement(PolicyConstants.WS_POLICY_PREFIX,
+ PolicyConstants.WS_POLICY_REFERENCE,
+ PolicyConstants.WS_POLICY_NAMESPACE_URI);
+ writer.writeNamespace(PolicyConstants.WS_POLICY_PREFIX,
+ PolicyConstants.WS_POLICY_NAMESPACE_URI);
+ writer.setPrefix(PolicyConstants.WS_POLICY_PREFIX,
+ PolicyConstants.WS_POLICY_NAMESPACE_URI);
+
+ }
+ writer.writeAttribute("URI", assertion.getPolicyURIString());
+
+ writer.writeEndElement();
+ }
+
+ private void writeTerms(List terms, XMLStreamWriter writer)
+ throws XMLStreamException {
+
+ Iterator iterator = terms.iterator();
+ while (iterator.hasNext()) {
+ Assertion assertion = (Assertion) iterator.next();
+ writeAssertion(assertion, writer);
+ }
+ }
+
+ private void writeAttributes(Hashtable attributes, XMLStreamWriter writer)
+ throws XMLStreamException {
+
+ Iterator iterator = attributes.keySet().iterator();
+ while (iterator.hasNext()) {
+ QName qname = (QName) iterator.next();
+ String value = (String) attributes.get(qname);
+
+ String prefix = qname.getPrefix();
+ if (prefix != null) {
+ writer.writeAttribute(prefix, qname.getNamespaceURI(), qname
+ .getLocalPart(), value);
+ } else {
+ writer.writeAttribute(qname.getNamespaceURI(), qname
+ .getLocalPart(), value);
+ }
+ }
+ }
+
+ private String generateNamespace() {
+ return "ns" + num++;
+ }
+}
\ No newline at end of file
Modified: webservices/commons/modules/policy/src/org/apache/ws/policy/util/StringUtils.java
URL: http://svn.apache.org/viewcvs/webservices/commons/modules/policy/src/org/apache/ws/policy/util/StringUtils.java?rev=382719&r1=382718&r2=382719&view=diff
==============================================================================
--- webservices/commons/modules/policy/src/org/apache/ws/policy/util/StringUtils.java (original)
+++ webservices/commons/modules/policy/src/org/apache/ws/policy/util/StringUtils.java Fri Mar 3 00:26:45 2006
@@ -17,20 +17,20 @@
package org.apache.ws.policy.util;
/**
- * StringUtils provides few utility functions for other classes in the
+ * StringUtils provides few utility functions for other classes in the
* framework.
*/
public class StringUtils {
- public static String getChars(int noOfChars, char theChar) {
- if (noOfChars <= 0) {
- return "";
- }
- StringBuffer buf = new StringBuffer();
- for (int i = 0; i < noOfChars; i++) {
- buf.append(theChar);
- }
- return buf.toString();
- }
+ public static String getChars(int noOfChars, char theChar) {
+ if (noOfChars <= 0) {
+ return "";
+ }
+ StringBuffer buf = new StringBuffer();
+ for (int i = 0; i < noOfChars; i++) {
+ buf.append(theChar);
+ }
+ return buf.toString();
+ }
-}
+}
\ No newline at end of file