Author: vsiveton
Date: Mon Nov 12 05:58:46 2007
New Revision: 594146

URL: http://svn.apache.org/viewvc?rev=594146&view=rev
Log:
o improved renderer graph

Modified:
    
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/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=594146&r1=594145&r2=594146&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
 Mon Nov 12 05:58:46 2007
@@ -48,7 +48,7 @@
     <xsl:text>#
 # Class Diagram - Generated by Maven xml2dot on </xsl:text><xsl:value-of 
select="$now"/><xsl:text>
 #
-# @see http://www.graphviz.org/doc/libguide/libguide.pdf
+# @see http://www.graphviz.org
 #
 
     digraph G {
@@ -88,8 +88,8 @@
 
     <xsl:for-each select="package/class">
       <xsl:if test="extends_class and 
extends_class/classref/@name!='java.lang.Object'">
-        <xsl:text>&#10;        // extends edges&#10;</xsl:text>
-        <xsl:text>        </xsl:text>
+        <xsl:text>&#10;        // extends edges</xsl:text>
+        <xsl:text>&#10;        </xsl:text>
         <xsl:call-template name="fullname">
           <xsl:with-param name="name" select="extends_class/classref/@name"/>
         </xsl:call-template>
@@ -101,9 +101,9 @@
         <xsl:text> [dir = "back", arrowtail = "empty"];&#10;</xsl:text>
       </xsl:if>
       <xsl:if test="implements">
-        <xsl:text>&#10;        // implements edges&#10;</xsl:text>
-        <xsl:text>        </xsl:text>
+        <xsl:text>&#10;        // implements edges;</xsl:text>
         <xsl:for-each select="implements/interfaceref">
+          <xsl:text>&#10;        </xsl:text>
           <xsl:call-template name="fullname">
             <xsl:with-param name="name" select="@name"/>
           </xsl:call-template>
@@ -118,28 +118,40 @@
     </xsl:for-each>
 
     <xsl:for-each select="package/interface">
-      <xsl:if test="extends_class and 
extends_class/classref/@name!='java.lang.Object'">
-        <xsl:value-of select="extends_class/classref/@name"/>
-        <xsl:text> ->
-        </xsl:text>
-        <xsl:value-of select="../@name"/>
-        <xsl:text>.</xsl:text>
-        <xsl:value-of select="@name"/>
-        <xsl:text> [dir = "back", arrowtail = "empty"]; </xsl:text>
-      </xsl:if>
-      <xsl:if test="implements">
-        <xsl:for-each select="implements/interfaceref">
-          <xsl:value-of select="@name"/>
-          <xsl:text> ->
-          </xsl:text>
-          <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:for-each>
+      <xsl:if test="extends_interface">
+        <xsl:text>&#10;        // extends edges</xsl:text>
+        <xsl:text>&#10;        </xsl:text>
+        <xsl:call-template name="fullname">
+          <xsl:with-param name="name" 
select="extends_interface/interfaceref/@name"/>
+        </xsl:call-template>
+        <xsl:text> -> </xsl:text>
+        <xsl:call-template name="fullname">
+          <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:if>
     </xsl:for-each>
 
+    <xsl:text>&#10;        // invisible edges</xsl:text>
+    <xsl:text>&#10;        </xsl:text>
+    <xsl:for-each select="package">
+      <xsl:choose>
+        <xsl:when test="not(position()=last())">
+          <xsl:call-template name="fullname">
+            <xsl:with-param name="name" select="@name"/>
+          </xsl:call-template>
+          <xsl:text> -> </xsl:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:call-template name="fullname">
+            <xsl:with-param name="name" select="@name"/>
+          </xsl:call-template>
+          <xsl:text> [style="invis", weight="100"];&#10;</xsl:text>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:for-each>
+
     <xsl:text>
     }</xsl:text>
   </xsl:template>
@@ -154,7 +166,6 @@
             labelloc = "top";
             node [style = "filled"];
             z = "1";</xsl:text>
-    <xsl:apply-templates/>
     <!-- rank same, min, max, source or sink
              rankdir TB LR (left to right) or TB (top to bottom)
              ranksep .75 separation between ranks, in inches.
@@ -196,9 +207,17 @@
     <xsl:text>";
             color = "#000000";
             fillcolor = "#dddddd";
-            style = "filled";
-        }
-</xsl:text>
+            style = "filled";&#10;</xsl:text>
+
+    <xsl:text>&#10;        </xsl:text>
+    <xsl:call-template name="fullname">
+      <xsl:with-param name="name" select="@name"/>
+    </xsl:call-template>
+    <xsl:text> [shape= "point", style="invis"];</xsl:text>
+
+    <xsl:apply-templates/>
+
+    <xsl:text>        }&#10;</xsl:text>
   </xsl:template>
 
   <xsl:template match="class">


Reply via email to