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"]; </xsl:text>
+
+ <xsl:text>
+ // subgraphs </xsl:text>
<xsl:apply-templates/>
+ <xsl:text>
+ // edges </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]; </xsl:text>
+ <xsl:text> [dir = "back", arrowtail = "empty"]; </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]; </xsl:text>
+ <xsl:text> [dir = "back", arrowtail = "empty", style = "dashed"]; </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"/>