AxonFramework/AxonFramework — Issue #4: Automated creation of wiring diagram.
Author: abuijze
Created: 2011-12-03 14:01:43+00:00
State: open

Reported by jatwill, Aug 3, 2010
We have Commands which speak to a CommandHandler which likely request an AR from a Repository and call a method on it. This method fires an Event which is handled by multiple EventHandlers.

It'd be amazingly handy to use something like JDT to parse the Java code and build a simple diagram (using Graphviz notation even) of the flow of commands and events in a system.
---
Comment 1 by project member buijze, Aug 3, 2010
James,

Thanks for you input! A very nice feature indeed. I have to admit my JDT / plugin development experience for Eclipse is about... ehm.. zero. I will need to rely on other people to help me with this. And since I am an IntelliJ user myself, there should be plugin for that as well :-)

An idea I had myself, closely related to this, is to allow to navigate to command and event handlers through shortcuts in their respective command/event. For example through an icon in the gutter next to the command or event declaration.

I have ideas to do similar things on the runtime environment as well, so you can see (for example) percentages and amounts of specific types of events.

For now, I am giving priority to getting the missing building blocks in Axon. I will put these features on the roadmap for after the 1.0 version.
---
Comment 2 by jatwill, Aug 4, 2010
Allard,

JDT is only the Java-language-parsing portion of Eclipse, it's usable separately outside of Eclipse (it's what GWT uses to do it's Java->JavaScript conversion for example); it should make it easier to query Java source and ask "Which methods call apply()?" and such.

Looking forward to 1.0; keep up the great work!
---
Comment 3 by project member buijze, Nov 5, 2011
The same code analysis mechanism as in issue #212 can be used here. By doing static bytecode analysis using ASM, we could detect all events and their aggregates and event handlers.

---

Migrated from http://code.google.com/p/axonframework/issues/detail?id=78