From 4a8c116f5830d6ca3db8d4b88ddeb2202a854a95 Mon Sep 17 00:00:00 2001 From: Diomidis Spinellis Date: Wed, 23 Nov 2005 22:22:31 +0000 Subject: [PATCH] Add two missing root files. --- TODO | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++ umlgraph.bat | 15 ++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 TODO create mode 100755 umlgraph.bat diff --git a/TODO b/TODO new file mode 100644 index 0000000..728d93d --- /dev/null +++ b/TODO @@ -0,0 +1,57 @@ +$Id$ + +Frederic Barachant wrote: +I'd like to propose you an enhancement. If it ever works, that might help to get graphs with +less human work. The enhancement concerns association/navAssociations and java 1.5. +Would it be possible that 1.5 genericized Collections get automatically tagged as an association? +For example a 'class Test{Collection bla;}' would be a class Test with a non navigable 1-* association +to a MyType class. Eventually, if MyType had a field referencing a Test, the association would be navigable both ways. +On the same idea, if MyType had a Collection the reference would become *-*. + + +Yves Bossel: If I may do some suggestions: + + I would appreciate to be able to add UML comments to both diagram types. + + Adding patterns (collaborations ellipse with roles bound to classes) would be welcome into class diagrams. + + Self-adjusting box size and placement on sequence diagrams would help (I use lots of inner classes whose names are long and descriptive). + + +Try the http://prefuse.sourceforge.net/ back end for large graphs. + +Break into source into separate files per class + +Provide a parameter to say how (untagged) data members relate to other +classes. +The line can be a composition, an aggregation, or a navigable association. +public class A { + ..... + } + + public class B { + A myInstance; + } +Requires special care for containers and arrays. + +Move source into a package: + On each file add at the very beginning: + package gr.spinellis.umlgraph.core; + Move the classes into gr/spinellis/umlgraph/core directory + jar cvf UmlGraph.jar gr\spinellis\umlgraph\core\*.class + Invoke as javadoc -docletpath UmlGraph.jar -doclet gr.spinellis.umlgraph.core.UmlGraph -output foo in\Abstr.java + + +Add package, note, interface and node icons to graphviz + (folder) dog-ear =[] 3D box + +Support for all UML diagrams: state, use-case, etc. + +command-line (and global) options for setting all graph attributes + +Class options for setting edge attributes fillcolor fontcolor etc per edge + +@active tag to render a class as active + +Use doclet error reporting functions + +A class can specify its rank, or its cluster. + +The dot edge routing is not the best possible for UML. Implement a rectangular routing strategy, maybe based on stochastic optimization using simulated annealing. diff --git a/umlgraph.bat b/umlgraph.bat new file mode 100755 index 0000000..68633ae --- /dev/null +++ b/umlgraph.bat @@ -0,0 +1,15 @@ +@echo off + +rem Run UMLGraph on the specified base file name + +rem $Id$ + +if not "%2" == "" goto ok +echo usage: umlgraph base_file_name filetype +goto end + +:ok +javadoc -docletpath lib/UmlGraph.jar -doclet gr.spinellis.umlgraph.doclet.UmlGraph -private -output %1.dot %1.java +dot -T%2 -o%1.%2 %1.dot + +:end