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