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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]