Author: dkulp
Date: Fri Feb 18 17:11:15 2011
New Revision: 1072067
URL: http://svn.apache.org/viewvc?rev=1072067&view=rev
Log:
Write out the saved attributes
Modified:
webservices/commons/trunk/modules/neethi/src/main/java/org/apache/neethi/builders/PolicyContainingPrimitiveAssertion.java
webservices/commons/trunk/modules/neethi/src/main/java/org/apache/neethi/builders/PrimitiveAssertion.java
Modified:
webservices/commons/trunk/modules/neethi/src/main/java/org/apache/neethi/builders/PolicyContainingPrimitiveAssertion.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/neethi/src/main/java/org/apache/neethi/builders/PolicyContainingPrimitiveAssertion.java?rev=1072067&r1=1072066&r2=1072067&view=diff
==============================================================================
---
webservices/commons/trunk/modules/neethi/src/main/java/org/apache/neethi/builders/PolicyContainingPrimitiveAssertion.java
(original)
+++
webservices/commons/trunk/modules/neethi/src/main/java/org/apache/neethi/builders/PolicyContainingPrimitiveAssertion.java
Fri Feb 18 17:11:15 2011
@@ -132,6 +132,7 @@ public class PolicyContainingPrimitiveAs
if (ignorable) {
writer.writeAttribute(namespace, Constants.ATTR_IGNORABLE, "true");
}
+ writeAttributes(writer);
nested.serialize(writer);
writer.writeEndElement();
}
Modified:
webservices/commons/trunk/modules/neethi/src/main/java/org/apache/neethi/builders/PrimitiveAssertion.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/neethi/src/main/java/org/apache/neethi/builders/PrimitiveAssertion.java?rev=1072067&r1=1072066&r2=1072067&view=diff
==============================================================================
---
webservices/commons/trunk/modules/neethi/src/main/java/org/apache/neethi/builders/PrimitiveAssertion.java
(original)
+++
webservices/commons/trunk/modules/neethi/src/main/java/org/apache/neethi/builders/PrimitiveAssertion.java
Fri Feb 18 17:11:15 2011
@@ -164,8 +164,42 @@ public class PrimitiveAssertion implemen
if (ignorable) {
writer.writeAttribute(namespace, Constants.ATTR_IGNORABLE, "true");
}
+ writeAttributes(writer);
writer.writeEndElement();
}
+ protected void writeAttributes(XMLStreamWriter writer) throws
XMLStreamException {
+ if (attributes != null) {
+ for (Map.Entry<QName, String> att : attributes.entrySet()) {
+ if (Constants.isIgnorableAttribute(att.getKey())) {
+ //already handled
+ continue;
+ }
+ if (Constants.isOptionalAttribute(att.getKey())) {
+ //already handled
+ continue;
+ }
+ String prefix =
getOrCreatePrefix(att.getKey().getNamespaceURI(), writer);
+ writer.writeAttribute(prefix, att.getKey().getNamespaceURI(),
+ att.getKey().getLocalPart(),
+ att.getValue());
+ }
+ }
+ }
+ protected String getOrCreatePrefix(String ns, XMLStreamWriter writer)
throws XMLStreamException {
+ String prefix = writer.getPrefix(ns);
+ int count = 1;
+ while (prefix == null || "".equals(prefix)) {
+ prefix = "ns" + count++;
+ String ns2 = writer.getNamespaceContext().getNamespaceURI(prefix);
+ if (ns2 == null || "".equals(ns2)) {
+ //found one that will work
+ writer.writeNamespace(prefix, ns);
+ } else {
+ prefix = null;
+ }
+ }
+ return prefix;
+ }
protected Assertion clone(boolean isoptional) {
return new PrimitiveAssertion(name, isoptional, ignorable, attributes);