Author: sagara
Date: Tue Sep 8 18:56:30 2009
New Revision: 812634
URL: http://svn.apache.org/viewvc?rev=812634&view=rev
Log:
changes from branch-65
Modified:
webservices/woden/trunk/java/woden-om/src/main/java/org/apache/woden/internal/util/om/OMUtils.java
Modified:
webservices/woden/trunk/java/woden-om/src/main/java/org/apache/woden/internal/util/om/OMUtils.java
URL:
http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-om/src/main/java/org/apache/woden/internal/util/om/OMUtils.java?rev=812634&r1=812633&r2=812634&view=diff
==============================================================================
---
webservices/woden/trunk/java/woden-om/src/main/java/org/apache/woden/internal/util/om/OMUtils.java
(original)
+++
webservices/woden/trunk/java/woden-om/src/main/java/org/apache/woden/internal/util/om/OMUtils.java
Tue Sep 8 18:56:30 2009
@@ -19,16 +19,20 @@
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.io.PrintWriter;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import java.util.Iterator;
+import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamException;
import org.apache.axiom.om.OMAttribute;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.impl.builder.StAXOMBuilder;
+import org.apache.woden.WSDLException;
+import org.apache.woden.wsdl20.xml.WSDLElement;
import org.xml.sax.InputSource;
/**
@@ -108,4 +112,110 @@
return new InputSource(inputStream);
}
+ public static String getQualifiedValue(URI namespaceURI, String localPart,
+ WSDLElement elem) throws WSDLException {
+ String prefix = null;
+
+ if (namespaceURI != null && !namespaceURI.toString().equals("")) {
+ prefix = elem.getNamespacePrefix(namespaceURI);
+ }
+
+ String qv = ((prefix != null && !prefix.equals("")) ? prefix + ":" :
"")
+ + localPart;
+
+ return qv;
+ }
+
+ public static void printAttribute(String name, String value, PrintWriter
pw) {
+ if (value != null) {
+ pw.print(' ' + name + "=\"" + cleanString(value) + '\"');
+ }
+ }
+
+ public static String cleanString(String orig) {
+ if (orig == null) {
+ return "";
+ }
+
+ StringBuffer strBuf = new StringBuffer();
+ char[] chars = orig.toCharArray();
+ boolean inCDATA = false;
+
+ for (int i = 0; i < chars.length; i++) {
+ if (!inCDATA) {
+ switch (chars[i]) {
+ case '&':
+ strBuf.append("&");
+ break;
+ case '\"':
+ strBuf.append(""");
+ break;
+ case '\'':
+ strBuf.append("'");
+ break;
+ case '<': {
+ if (chars.length >= i + 9) {
+ String tempStr = new String(chars, i, 9);
+
+ if (tempStr.equals("<![CDATA[")) {
+ strBuf.append(tempStr);
+ i += 8;
+ inCDATA = true;
+ } else {
+ strBuf.append("<");
+ }
+ } else {
+ strBuf.append("<");
+ }
+ }
+ break;
+ case '>':
+ strBuf.append(">");
+ break;
+ default:
+ strBuf.append(chars[i]);
+ break;
+ }
+ } else {
+ strBuf.append(chars[i]);
+
+ if (chars[i] == '>' && chars[i - 1] == ']'
+ && chars[i - 2] == ']') {
+ inCDATA = false;
+ }
+ }
+ }
+
+ return strBuf.toString();
+ }
+
+ public static String getQualifiedValue(String namespaceURI,
+ String localPart, WSDLElement elem) throws WSDLException {
+ URI nsUri = null;
+ if (namespaceURI != null) {
+ try {
+ nsUri = new URI(namespaceURI);
+ } catch (URISyntaxException e) {
+ // TODO handle this correctly
+ throw new RuntimeException(e);
+ }
+ }
+ return getQualifiedValue(nsUri, localPart, elem);
+ }
+
+ public static void printQualifiedAttribute(String name,
+ QName value,
+ WSDLElement elem,
+ PrintWriter pw)
+ throws WSDLException {
+ if (value != null)
+ {
+ printAttribute(name,getQualifiedValue(value.getNamespaceURI(),
+ value.getLocalPart(),elem),pw);
+ }
+ }
+
+
+
+
}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]