Commit Graph

135 Commits

Author SHA1 Message Date
Andrea Aime d827bdf1f5 Added testing for umldoc, and moved shared methods with the umlgraph tests in an utility class 2006-06-04 13:55:00 +00:00
Andrea Aime 6bbf7d2f71 Don't infer dependencies from fields if we already inferred relationships (basically to avoid having dependencies on the collection containers that were not included in the relationships) 2006-06-04 13:54:27 +00:00
Andrea Aime f971bded86 Renamed WrappedRootDoc due to a typo, removed package.html and fixed a few umlgraph tags on the classes for better output generation 2006-06-04 09:19:21 +00:00
Andrea Aime 0c41210872 Consistently use pw instead of System.out in every point of the file, better error reporting for file with difference, ensure to flush the printwriter before exiting 2006-06-04 08:29:29 +00:00
Andrea Aime 51a19f4be1 Use Version of printouts 2006-06-04 08:28:12 +00:00
Andrea Aime 20070fafaf Moved handling of api doc map to Options, and made options react to -link parameters the same way as the standard doclet does: by downloading and parsing the package-list file to populate the api doc map. 2006-06-04 08:27:03 +00:00
Andrea Aime 54796efd41 Moved api map to options, removed all dependencies to specified packages since we cannot assume the "user" will specify -subpackages on the command line 2006-06-04 08:24:47 +00:00
Andrea Aime 14932ba5b2 Lots of changes:
* output using the RootDoc.notice/warning methods instead of system.out (standard way, and allows the output to be seen from maven2 javadoc plugins as well)
* works also if the subpackages parameter is not specified on the command line
* added javadoc comments
* other smallish fixes
2006-06-02 09:36:19 +00:00
Andrea Aime 19989b3736 String formatting fix, and don't show package names in the package class diagram (waste of space, all classes do come from the same package anyway) 2006-06-02 09:19:00 +00:00
Andrea Aime 73c2338bce Avoid re-computing the set of returned options, which is really just composed of a handful of possibilities, optimize a little, and fixed a few bugs 2006-06-02 09:17:55 +00:00
Andrea Aime 78bea1ee77 Allow the reuse of the context matcher computed relations for various context center classes in order to speed up UMLDoc, which uses this one heavily.
Also, add an option to avoid overriding class hiding specified in the parent option provider, since the hides specifed for the doclet should not be modified in a context class diagram
2006-06-02 09:16:32 +00:00
Andrea Aime 8ad82c975c Update according to changes in ContextMatcher 2006-06-02 09:10:31 +00:00
Andrea Aime 74a9c16003 Various changes, hard to account for all of them. Yet, basically:
* ability to compute relative links for UmlDoc diagrams (client side image maps)
* better handling of sources with annotations and generics usage
* avoid relying on specifiedpacakges to check if classes are included in the parsed source, maven 2 does not provide javadoc with them, but with a plain list of classes
2006-06-02 09:09:00 +00:00
Andrea Aime a1f3f6ab6c A few changes related to the needs of UMLDoc to generate relative links between diagrams in javadoc files, and a few that are needed for a separate project I'm working on: an "interactive" version of UMLGraph that allows the parsing of source files just once, and re-parses just the views when the user asks for, so that it's way faster to build the views by iterative changes on a big source code base (that code is in such a bad shape now that I don't feel like commiting it now) 2006-06-02 09:03:32 +00:00
Andrea Aime 6e7f99ef8c Small performance improvements, new options for UMLDoc, in particular the ability to enable strict hide pattern matching (m.matches()) instead of lax matching (m.find()). We should think if having strict matching by default would be better (in my opinion it is, but that's just my opinion)...
Also added a reflective toString() that I've used for debugging settings during UmlDoc developtment (the code comes more or less from the first pages of Code Quality, the open source perspective :-) )
2006-06-02 08:56:15 +00:00
Andrea Aime 17779ac68b Classdoc and rootdoc wrappers used to improve the performance of UMLDoc 2006-06-02 08:47:47 +00:00
Andrea Aime 72f918b68c First stab at UmlDoc implementation. It's an "improved" javadoc that outputs docs along with class diagrams.
Diomidis, can you have a look at the output (UmlGraph javadoc are built with UmlDoc now) and review the code?
I know I still have to write the docs, and I will have to try out UmlDoc on something other than UmlGraph itself (was thinking of the java sources themselves, or Hibernate, Spring, ... whatever is big enough).
2006-05-01 19:38:12 +00:00
Andrea Aime 8e35628205 Stronger checks for view folders existence and accessibility. Let's see if you get a better error message. 2006-03-05 08:50:17 +00:00
Andrea Aime 44d645541a Unfortunately, some commits ago I added a bug in testing code that went
un-noticed since I never wiped out the testdata-out folder contents. Anyway,
 I've fixed the bug and made sure all .dot and .png files are removed from the
folder as the test starts, so that a similar problem won't stay hidden in future.

Anyway, the error you sent me seem to be something different (possibly HTML
code generation, dot is very picky about what HTML it can parse).
Can you try again with this patch and let me know? If you see again that error,
can you send me a few of those failing dot files?

Moreover, what dot version do you have? I have version 2.6 (Sun Aug 28
13:14:52 UTC 2005).

About my aliceposta mail address, I don't know, I'm receiving mail so it cannot
be fully broken, but yes, it's not the first message I don't receive this week.
The mail you sent me thru istlab.dmst.aueb.gr arrived fine (but it's just a
redirector, isn't it?).

Wow... pretty long for a commit message :-)
I'll be online again in the late afternoon. See you.
Andrea
2006-03-04 12:45:13 +00:00
Andrea Aime 3dc36ec498 Fixed a problematic situation. When all the operations of a class were hidden the generated html wasn't valid (see the test case, a class with a single hidden operation). Plus, when checking for hidden elements for elements other than a class, get the options against the containing class (the views are all based on class at the moment, we don't have views for methods or constructors) 2006-02-23 19:49:27 +00:00
Andrea Aime 287c34e3d7 More font options, as well as the ability to postfix the package declaration in class nodes.
Using enums in ClassGraph.
2006-02-18 11:08:58 +00:00
Andrea Aime 2a7a49f4db Comment fix 2006-02-12 09:38:15 +00:00
Andrea Aime 2053cb50eb Changes for testable output (platform independent, compact) 2006-02-12 09:38:07 +00:00
Andrea Aime 11575dfd31 New HTML ouput format 2006-02-12 09:37:34 +00:00
Andrea Aime 6a16efccf3 Fixes for dot's font platform dependence, so that we can get italic fonts on windows too. Added a flag to generated "compact", that is, all HTML on one line, output, to ease testing, leaving the more human readable HTML multiline output as default 2006-02-12 09:37:21 +00:00
Diomidis Spinellis 18604f7165 Verbose output is enabled using the -verbose2 flag. 2006-02-04 23:03:31 +00:00
Diomidis Spinellis d04ac049c7 Remove trailing spaces, add file comment, and CVS Id. 2006-02-04 22:44:58 +00:00
Andrea Aime eacd052ed8 Added some feedback on the standard output, so that the user knows what's going on (on big code bases the use of context matches may require quite a bit of time, plus when the diagrams are too big dot just eats 100% CPU for a long time and has to be killed, at least we can show that UMLGraph has finished its part of the work).
The output looks like:

 [java] UMLGraph doclet started
     [java] Building view ViewProduct
     [java] Building view ViewColors
     [java] Building view ViewChildOverride
     [java] Building view ViewChildEmpty
     [java] Building view ViewAtt
     [java] Building view ViewAllDetailed
     [java] Building view ViewAll
     [java] Building view ViewContext
     [java] Building view ViewInterfaces
     [java] Building view ViewSubclasses
     [java] Class diagram generation complete
2006-02-04 09:24:43 +00:00
Andrea Aime 8022cbf8de Added new match tests 2006-01-28 10:14:51 +00:00
Andrea Aime 7edade65bb Changed the class diagram generation options, with the new classes the old diagram was getting hard to understand at a glance 2006-01-28 10:14:17 +00:00
Andrea Aime 5423bea7eb Added new @match types, with an general interface, an implementation for each kind, and a factory method in the View class to build the right implementation. Changed View implementation to work agains ClassMatchers instead of Patterns 2006-01-28 10:13:17 +00:00
Andrea Aime a96f721897 Changed view building so that a RootDoc is added to their constructor (some kind of @match need it) 2006-01-28 10:11:56 +00:00
Andrea Aime 43d02af81b Added a check for option length, to avoid ArrayOutOfBoundExceptions if the users specifies an option without its argument. Special treatment is reserved to "-hide", which accepts both 0 or 1 parameters. 2006-01-28 10:10:55 +00:00
Andrea Aime 7ae5c25bc8 Put the static fields togheter. Changed a visibility of a few methods to allow subclassing, allowed to infer dependencies and associations for a single class 2006-01-28 10:08:34 +00:00
Andrea Aime 67e7f42714 "@match class" changes and some feedback on why we skip incorrect @match specifications 2006-01-15 16:49:00 +00:00
Andrea Aime 3983568510 Avoid breaking previous behaviour for -output, properly parse the enumerations options (from Antti Hakala feedback).
Plus a little bug fix, since the parser accepted inferassoctype as a command line parameter.
2006-01-15 16:48:23 +00:00
Andrea Aime 182e9c96d8 Avoid breaking previous behaviour for -output (from Antti Hakala feedback) 2006-01-15 16:46:50 +00:00
Andrea Aime aa7fefa899 Forgot to add on option to the comman line checks 2006-01-05 11:05:28 +00:00
Andrea Aime d6c2a57086 Just a variable name change, since the documentation says "relationship" and not "association" 2006-01-04 21:55:57 +00:00
Andrea Aime b8740e3567 New association/dependecy inference options 2006-01-04 21:55:19 +00:00
Andrea Aime 31c437888c Removed inference hiding for the moment, since it's probably not needed (simple hiding will do), make inference work with -public switch and private fields, added an option to infer from import statements as well 2006-01-04 21:53:55 +00:00
Andrea Aime 8817329e49 Share compare logic in view and basic tests, making basic tests more robust to missing output/reference files 2006-01-03 21:35:27 +00:00
Andrea Aime d8a465fc5d First cut to association/dependency inference. Needs discussion, sharing the code so that you can play with it if you want and examine the inference code behaviour. 2006-01-03 21:34:49 +00:00
Andrea Aime 4602a06841 First cut to association/dependency inference. Needs discussion, sharing the code so that you can play with it if you want and examine the inference code behaviour. Needed to split the relation method so that it could be used by dependency inference as well 2006-01-03 21:33:30 +00:00
Andrea Aime 297772ac76 First cut to association/dependency inference. Needs discussion, sharing the code so that you can play with it if you want and examine the inference code behaviour 2006-01-03 21:30:08 +00:00
Andrea Aime 761320b44d A support class to run one test in the debugger 2006-01-02 14:06:50 +00:00
Andrea Aime d23eab3432 Improved output 2006-01-02 14:06:31 +00:00
Andrea Aime 7234737f40 Updated umlgraph tags (no need for package spec now)
Added support for view inheritance
2006-01-02 14:05:49 +00:00
Andrea Aime c4a3b07ea2 Updated umlgraph tags (no need for package spec now)
Moved all output handling into ClassGraph (it's cleared, and it's needed
because otherwise the cloned Options would have needed a way to
share the output writer even when opened in a cloned class)

Added support for view inheritance
2006-01-02 14:05:22 +00:00
Andrea Aime dceb851073 Added a couple of methods to manage view inheritance
Moved all output handling into ClassGraph (it's cleared, and it's needed
because otherwise the cloned Options would have needed a way to
share the output writer even when opened in a cloned class)
2006-01-02 14:04:33 +00:00