You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by di...@apache.org on 2007/06/01 19:08:11 UTC
svn commit: r543532 - in
/webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl:
Java2WSDLBuilder.java Java2WSDLUtils.java
Author: dims
Date: Fri Jun 1 10:08:10 2007
New Revision: 543532
URL: http://svn.apache.org/viewvc?view=rev&rev=543532
Log:
make the wsdl pretty by default. if someone has a better solution that works with sun jdk14/15/16 and ibm 15, please chime in
Modified:
webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLBuilder.java
webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLUtils.java
Modified: webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLBuilder.java?view=diff&rev=543532&r1=543531&r2=543532
==============================================================================
--- webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLBuilder.java Fri Jun 1 10:08:10 2007
@@ -5,7 +5,6 @@
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Hashtable;
import java.util.Map;
/*
* Copyright 2004,2005 The Apache Software Foundation.
@@ -50,6 +49,7 @@
private String nsGenClassName = null;
private Map pkg2nsMap = null;
+ private boolean pretty = true;
public String getSchemaTargetNamespace() throws Exception {
if ( schemaTargetNamespace == null ) {
@@ -182,7 +182,11 @@
java2OMBuilder.setSchemaTargetNamespace(getSchemaTargetNamespace());
java2OMBuilder.setSchemaTargetNamespacePrefix(getSchemaTargetNamespacePrefix());
OMElement wsdlElement = java2OMBuilder.generateOM();
- wsdlElement.serialize(out);
+ if(!isPretty()){
+ wsdlElement.serialize(out);
+ } else {
+ Java2WSDLUtils.prettyPrint(wsdlElement, out);
+ }
out.flush();
out.close();
}
@@ -237,6 +241,13 @@
return nsGen;
}
-
+
+ public boolean isPretty() {
+ return pretty;
+ }
+
+ public void setPretty(boolean pretty) {
+ this.pretty = pretty;
+ }
}
Modified: webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLUtils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLUtils.java?view=diff&rev=543532&r1=543531&r2=543532
==============================================================================
--- webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLUtils.java (original)
+++ webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLUtils.java Fri Jun 1 10:08:10 2007
@@ -1,5 +1,18 @@
package org.apache.ws.java2wsdl;
+import org.apache.axiom.om.OMElement;
+
+import javax.xml.transform.Source;
+import javax.xml.transform.Templates;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.OutputStream;
+import java.io.StringReader;
+
/*
* Copyright 2004,2005 The Apache Software Foundation.
*
@@ -122,5 +135,34 @@
if (lastDot != -1)
ret = name.substring(0, lastDot);
return ret;
+ }
+
+ private static final String prettyPrintStylesheet =
+ "<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0' " +
+ " xmlns:xalan='http://xml.apache.org/xslt' " +
+ " exclude-result-prefixes='xalan'>" +
+ " <xsl:output method='xml' indent='yes' xalan:indent-amount='4'/>" +
+ " <xsl:strip-space elements='*'/>" +
+ " <xsl:template match='/'>" +
+ " <xsl:apply-templates/>" +
+ " </xsl:template>" +
+ " <xsl:template match='node() | @*'>" +
+ " <xsl:copy>" +
+ " <xsl:apply-templates select='node() | @*'/>" +
+ " </xsl:copy>" +
+ " </xsl:template>" +
+ "</xsl:stylesheet>";
+
+ public static void prettyPrint(OMElement wsdlElement, OutputStream out) throws Exception {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ wsdlElement.serialize(baos);
+
+ Source stylesheetSource = new StreamSource(new ByteArrayInputStream(prettyPrintStylesheet.getBytes()));
+ Source xmlSource = new StreamSource(new ByteArrayInputStream(baos.toByteArray()));
+
+ TransformerFactory tf = TransformerFactory.newInstance();
+ Templates templates = tf.newTemplates(stylesheetSource);
+ Transformer transformer = templates.newTransformer();
+ transformer.transform(xmlSource, new StreamResult(out));
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org