You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by vs...@apache.org on 2007/10/30 12:07:13 UTC

svn commit: r590033 - in /maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main: java/org/apache/maven/jxr/java/doc/GenerateUMLDoc.java resources/org/apache/maven/jxr/java/doc/xml2dot.xsl

Author: vsiveton
Date: Tue Oct 30 04:07:12 2007
New Revision: 590033

URL: http://svn.apache.org/viewvc?rev=590033&view=rev
Log:
o dot cleaning
o added global label and xsl param (now)

Modified:
    maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/java/org/apache/maven/jxr/java/doc/GenerateUMLDoc.java
    maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/resources/org/apache/maven/jxr/java/doc/xml2dot.xsl

Modified: maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/java/org/apache/maven/jxr/java/doc/GenerateUMLDoc.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/java/org/apache/maven/jxr/java/doc/GenerateUMLDoc.java?rev=590033&r1=590032&r2=590033&view=diff
==============================================================================
--- maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/java/org/apache/maven/jxr/java/doc/GenerateUMLDoc.java (original)
+++ maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/java/org/apache/maven/jxr/java/doc/GenerateUMLDoc.java Tue Oct 30 04:07:12 2007
@@ -25,15 +25,18 @@
 import java.io.InputStream;
 import java.io.PrintWriter;
 import java.io.StringWriter;
+import java.util.GregorianCalendar;
 import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.TimeZone;
 
 import org.apache.maven.jxr.util.DotTask;
 import org.apache.maven.jxr.util.DotTask.DotNotPresentInPathBuildException;
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.taskdefs.XSLTProcess;
+import org.apache.tools.ant.taskdefs.XSLTProcess.Param;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.StringUtils;
@@ -325,6 +328,8 @@
     private void generateJavadocDot()
         throws BuildException, IOException
     {
+        String now = new GregorianCalendar( TimeZone.getDefault() ).getTime().toString();
+
         XSLTProcess xsltTask = new XSLTProcess();
         xsltTask.setProject( getAntProject() );
         xsltTask.setTaskName( "xslt" );
@@ -332,6 +337,10 @@
         xsltTask.setIn( getJavadocXml() );
         xsltTask.setOut( getDot() );
         xsltTask.setStyle( getXml2dot().getAbsolutePath() );
+        Param param = xsltTask.createParam();
+        param.setProject( getAntProject() );
+        param.setName( "now" );
+        param.setExpression( now );
         xsltTask.execute();
     }
 

Modified: maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/resources/org/apache/maven/jxr/java/doc/xml2dot.xsl
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/resources/org/apache/maven/jxr/java/doc/xml2dot.xsl?rev=590033&r1=590032&r2=590033&view=diff
==============================================================================
--- maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/resources/org/apache/maven/jxr/java/doc/xml2dot.xsl (original)
+++ maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/resources/org/apache/maven/jxr/java/doc/xml2dot.xsl Tue Oct 30 04:07:12 2007
@@ -18,20 +18,34 @@
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:output method="text" omit-xml-declaration="yes"/>
 
+  <xsl:param name="now"/>
+
   <xsl:template match="javadoc">
-    <xsl:text>#!/usr/local/bin/dot
+    <xsl:text>#
+# Class Diagram - Generated by Maven JXR on </xsl:text><xsl:value-of select="$now"/><xsl:text>
 #
-# Class diagram
+# @see http://www.graphviz.org/doc/libguide/libguide.pdf
 #
 
     digraph G {
-        ranksep=1.4;
-        edge [fontname="Helvetica", fontsize=9, labelfontname="Helvetica", labelfontsize=9];
-        node [fontname="Helvetica", fontsize=9, shape=record];
-  </xsl:text>
+        // global settings
+        ranksep = "1.5";
+        rankdir = "TB";
+        labeljust = "left";
+        labelloc = "bottom";
+        label = "Class Diagram";
+
+        edge [fontname = "Helvetica", fontsize = "9", labelfontname = "Helvetica", labelfontsize = "9"];
+        node [fontname = "Helvetica", fontsize = "9", shape = "record"];&#10;</xsl:text>
+
+    <xsl:text>
+        // subgraphs&#10;</xsl:text>
 
     <xsl:apply-templates/>
 
+    <xsl:text>
+        // edges&#10;</xsl:text>
+
     <xsl:for-each select="package/class">
       <xsl:if test="extends_class and extends_class/classref/@name!='java.lang.Object'">
         <xsl:text>        </xsl:text>
@@ -44,7 +58,7 @@
           <xsl:with-param name="name" select="../@name"/>
           <xsl:with-param name="parentname" select="@name"/>
         </xsl:call-template>
-        <xsl:text> [dir=back, arrowtail=empty];&#10;</xsl:text>
+        <xsl:text> [dir = "back", arrowtail = "empty"];&#10;</xsl:text>
       </xsl:if>
       <xsl:if test="implements">
         <xsl:text>        </xsl:text>
@@ -58,7 +72,7 @@
             <xsl:with-param name="name" select="../../../@name"/>
             <xsl:with-param name="parentname" select="../../@name"/>
           </xsl:call-template>
-          <xsl:text> [dir=back, arrowtail=empty, style=dashed];&#10;</xsl:text>
+          <xsl:text> [dir = "back", arrowtail = "empty", style = "dashed"];&#10;</xsl:text>
         </xsl:for-each>
       </xsl:if>
     </xsl:for-each>
@@ -71,7 +85,7 @@
         <xsl:value-of select="../@name"/>
         <xsl:text>.</xsl:text>
         <xsl:value-of select="@name"/>
-        <xsl:text> [dir=back, arrowtail=empty]; </xsl:text>
+        <xsl:text> [dir = "back", arrowtail = "empty"]; </xsl:text>
       </xsl:if>
       <xsl:if test="implements">
         <xsl:for-each select="implements/interfaceref">
@@ -81,7 +95,7 @@
           <xsl:value-of select="../../../@name"/>
           <xsl:text>.</xsl:text>
           <xsl:value-of select="../../@name"/>
-          <xsl:text> [dir=back, arrowtail=empty, style=dashed]; </xsl:text>
+          <xsl:text> [dir = "back", arrowtail = "empty", style = "dashed"]; </xsl:text>
         </xsl:for-each>
       </xsl:if>
     </xsl:for-each>
@@ -95,7 +109,9 @@
       <xsl:with-param name="name" select="@name"/>
     </xsl:call-template>
     <xsl:text> {
-            node [style=filled];</xsl:text>
+            labeljust = "center";
+            labelloc = "top";
+            node [style = "filled"];</xsl:text>
     <xsl:apply-templates/>
     <!-- rank same, min, max, source or sink
              rankdir TB LR (left to right) or TB (top to bottom)
@@ -113,8 +129,8 @@
             label = "</xsl:text>
     <xsl:value-of select="@name"/>
     <xsl:text>";
-            color="#000000";
-            fillcolor="#dddddd";
+            color = "#000000";
+            fillcolor = "#dddddd";
         }
 </xsl:text>
   </xsl:template>
@@ -129,27 +145,27 @@
     <xsl:choose>
       <xsl:when test="@extensiblity='abstract'">
         <xsl:text>
-            color="#848684",
-            fillcolor="#ced7ce",
-            fontname="Helvetica-Italic"</xsl:text>
+            color = "#848684",
+            fillcolor = "#ced7ce",
+            fontname = "Helvetica-Italic"</xsl:text>
       </xsl:when>
       <xsl:otherwise>
         <xsl:text>
-            color="#9c0031",
-            fillcolor="#ffffce",</xsl:text>
+            color = "#9c0031",
+            fillcolor = "#ffffce",</xsl:text>
       </xsl:otherwise>
     </xsl:choose>
     <!-- need to replace newline chars with \n -->
     <!--comment="<xsl:value-of select="doc" />" ,-->
     <xsl:text>
-            URL="</xsl:text>
+            URL = "</xsl:text>
     <xsl:call-template name="filepath">
       <xsl:with-param name="name" select="../@name"/>
       <xsl:with-param name="parentname" select="@name"/>
     </xsl:call-template>
     <xsl:text>",
-            style=filled,
-            label="{</xsl:text>
+            style = "filled",
+            label = "{</xsl:text>
     <xsl:value-of select="@name"/>
     <xsl:text>\n|</xsl:text>
     <xsl:if test="show">
@@ -231,9 +247,9 @@
       <xsl:with-param name="parentname" select="@name"/>
     </xsl:call-template>
     <xsl:text> [
-            color="#9c0031",
-            fillcolor="#deffff",
-            label="{«interface»\n</xsl:text>
+            color = "#9c0031",
+            fillcolor = "#deffff",
+            label = "{«interface»\n</xsl:text>
     <xsl:value-of select="@name"/>
     <xsl:text>\n}"
             ];</xsl:text>
@@ -248,6 +264,8 @@
   <xsl:template match="constructor"/>
 
   <xsl:template match="method"/>
+
+  <!-- Utilities templates -->
 
   <xsl:template name="fullname">
     <xsl:param name="name"/>