From 8886bb51f2caf11b8e778bacb4c8ea18ac7f1027 Mon Sep 17 00:00:00 2001 From: Svjatoslav Agejenko Date: Mon, 2 Feb 2015 19:53:48 +0200 Subject: [PATCH] generate index.html using Emacs ORG mode --- TODO | 3 - TODO.org | 4 + doc/example.resized.png | Bin 46577 -> 54471 bytes doc/graphviz colors/light colors/aqua.png | Bin 134 -> 0 bytes .../light colors/olivedrab2.png | Bin 133 -> 0 bytes doc/graphviz colors/light colors/orange.png | Bin 133 -> 0 bytes .../light colors/peachpuff2.png | Bin 128 -> 0 bytes .../light colors/seagreen1.png | Bin 135 -> 0 bytes doc/graphviz colors/light colors/violet.png | Bin 132 -> 0 bytes doc/index.html | 557 ++++++++++++------ doc/index.org | 128 ++++ 11 files changed, 513 insertions(+), 179 deletions(-) delete mode 100644 TODO create mode 100644 TODO.org delete mode 100755 doc/graphviz colors/light colors/aqua.png delete mode 100755 doc/graphviz colors/light colors/olivedrab2.png delete mode 100755 doc/graphviz colors/light colors/orange.png delete mode 100755 doc/graphviz colors/light colors/peachpuff2.png delete mode 100755 doc/graphviz colors/light colors/seagreen1.png delete mode 100755 doc/graphviz colors/light colors/violet.png create mode 100644 doc/index.org diff --git a/TODO b/TODO deleted file mode 100644 index ed22173..0000000 --- a/TODO +++ /dev/null @@ -1,3 +0,0 @@ -Should not hide references if there are too many of them to classes -if referring classes are not visible anyway because of blacklist/whitelist rules. -Basically reference counting should exclude not visible classes. diff --git a/TODO.org b/TODO.org new file mode 100644 index 0000000..b595d12 --- /dev/null +++ b/TODO.org @@ -0,0 +1,4 @@ +- Should not hide references if there are too many of them to classes + if referring classes are not visible anyway because of + blacklist/whitelist rules. Basically reference counting should + exclude not visible classes. diff --git a/doc/example.resized.png b/doc/example.resized.png index 7bb57605f6d65b1bd6ebd4542bc1545ab6cbffb0..50e3dea178ae6ae5e6ec31ad2679c6eab02110c8 100755 GIT binary patch literal 54471 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
Hy5ctXl({|3jxHs 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 z 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 }f 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 JO4K0W{{!&|n0o*K diff --git a/doc/graphviz colors/light colors/aqua.png b/doc/graphviz colors/light colors/aqua.png deleted file mode 100755 index 0f54c35a47aa43ff869b4b6eb8128c60dcffac6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^8bHj?!2~2FO{KN~Ddu7)&kzm{j@u9Y9{{-mC9V-A z!TD(=<%vb948a+tB_*jv$xRnHfpSWoE{-7p)s)AT~}^v#g#`O c#xYKYUP&gI3Ec0+fT|fhUHx3vIVCg!0BV;dVgLXD diff --git a/doc/graphviz colors/light colors/olivedrab2.png b/doc/graphviz colors/light colors/olivedrab2.png deleted file mode 100755 index 1fd61503edbd970d6770ccfc21c3be3da2593cd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^ia;#L!2~4l{0W*0q?n7HJVQ7*IBq}me*okPl(t44$rjF6*2UngD{qD_{Ts diff --git a/doc/graphviz colors/light colors/orange.png b/doc/graphviz colors/light colors/orange.png deleted file mode 100755 index da3a2f1e3ccc0f929c7d62090f49c8b9eb1f765e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^nn29Y!2~3~eJ|_+Qq09po*^6@9Je3(KLBzCN?apK zg7ec#$`gxH8GFVdQ&MBb@0Qz7hn*aa+ diff --git a/doc/graphviz colors/light colors/seagreen1.png b/doc/graphviz colors/light colors/seagreen1.png deleted file mode 100755 index d48919f4e0199919069ab8f279c97751dcfb9c79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^YCtT=!2~4j6g=MmDdu7)&kzm{j@u9Y9{{-mC9V-A z!TD(=<%vb948a+tB_*jv$xRnHfpW^8E{-7 - - - -JavaInspect - - -

JavaInspect - Utility to visualize java software

-
Download -    - Online - homepage    - Other applications - hosted on svjatoslav.eu -
-Program author:
-    Svjatoslav Agejenko
-    Homepage: http://svjatoslav.eu
-    Email: svjatoslav@svjatoslav.eu
-
-This software is distributed under GNU LESSER GENERAL PUBLIC LICENSE version 3 or later.
-
-
- -

General

- - Goal: simplify/speed up understanding the computer program code by - automatically visualizing its structure. - -

- JavaInspect is a Java library that you can embed into your Java project - with a few lines of Maven configuration and then visualize any part of - your Java program structure with few simple JavaInspect API calls at - application runtime. - -
-
JavaInspect uses Java reflection to discover class relations and - structure and produces GraphViz dot file that describes your - application. Then launches GraphViz to generate bitmap graph in PNG - format on your Desktop directory. - - -

Current status

- - This is simple utility, quickly written. Tested on Linux (can be - relatively simply ported to other operating systems too). So far I used - it for my own needs. There might be bugs and missing features. Feedback - and code contributions are welcome. - - -

Example graphs

- - Example visualization of - Sixth - project: - architecture - graphs - -
-
A very simple example: -
- - -
Graph legend: -
- - - -

Usage example 1

- -
-
-                /*
-                 * This example demonstrates generating of class graph from hand picked
-                 * classes.
-                 */
-
-                // Create graph
-                final ClassGraph graph = new ClassGraph();
-
-                // While classes and objects can be immediately passed to ClassGraph
-                // constructor as arguments, it is also possible to add then one by one
-                // as in the following example.
-
-                // Add some object to the graph.
-                graph.addObject(graph);
-
-                // Add some class to the graph.
-                graph.addClass(Utils.class);
-
-                // Produce bitmap image titled "JavaInspect.png" to the user Desktop
-                // directory and keep intermediary GraphViz DOT file for reference.
-                graph.generateGraph("JavaInspect", true);
-
-
-
-Result:
-    Generated DOT file: JavaInspect.dot
-    Generated PNG image: JavaInspect.png
-
-
- - -

Usage example 2

- -
-
-                // Recursively scan current directory for Java source code and attempt
-                // to detect class names from there to be added to the graph.
-                graph.addProject(".");
-
-                // Blacklist example classes from being shown on the graph
-                graph.getFilter().blacklistClassPattern(
-                                "eu.svjatoslav.inspector.java.structure.example.*");
-
-                // do not show single classes with no relationships on the graph
-                graph.hideOrphanedClasses();
-
-                // Produce bitmap image titled "JavaInspect full project.png" to the
-                // user Desktop directory.
-                graph.generateGraph("JavaInspect full project");
-
-
-
-Result:
-    Generated PNG image: JavaInspect full project.png
-
-
- - - -

Embedding JavaInspect in your project

-
-
-Declare JavaInspect as dependency:
-
-    <dependencies>
-
-        ...
-
-        <dependency>
-            <groupId>eu.svjatoslav</groupId>
-            <artifactId>javainspect</artifactId>
-            <version>1.3</version>
-        </dependency>
-
-    </dependencies>
-
-
-
-Add Maven repository to retrieve artifact from:
-
-    <repositories>
-        <repository>
-            <id>svjatoslav.eu</id>
-            <name>Svjatoslav repository</name>
-            <url>http://www2.svjatoslav.eu/maven/</url>
-        </repository>
-    </repositories>
-
- - - - -

Requirements

- -
- GraphViz - shall be installed on - the computer. - - - - + + + + +JavaInspect - Utility to visualize java software + + + + + + + + + +
+

JavaInspect - Utility to visualize java software

+ +
+ + + +
+

1 General

+
+

+Goal: simplify/speed up understanding the computer program code by +automatically visualizing its structure. +

+ +

+JavaInspect is a Java library that you can embed into your Java +project with a few lines of Maven configuration and then visualize any +part of your Java program structure with few simple JavaInspect API +calls at application runtime. +

+ +

+JavaInspect uses Java reflection to discover class relations and +structure and produces GraphViz dot file that describes your +application. Then launches GraphViz to generate bitmap graph in PNG +format on your Desktop directory. +

+
+
+ +
+

2 Current status

+
+

+This is simple utility, quickly written. Tested on GNU Linux (can be +relatively simply ported to other operating systems too). So far I +used it for my own needs. There might be bugs and missing +features. Feedback and code contributions are welcome. +

+
+
+ +
+

3 Example graphs

+
+

+Example visualization of Sixth project: architecture graphs. +

+ +

+A very simple example: +

+ + +
+

example.resized.png +

+
+ + +

+Graph legend: +

+ + +
+

legend.png +

+
+
+
+ +
+

4 Usage example 1

+
+

+This example demonstrates generating of class graph from hand picked +classes. +

+ +
+ +
// Create graph
+final ClassGraph graph = new ClassGraph();
+
+// While classes and objects can be immediately passed to ClassGraph
+// constructor as arguments, it is also possible to add them one by
+// one as in the following example.
+
+// Add some object to the graph.
+graph.addObject(graph);
+
+// Add some class to the graph.
+graph.addClass(Utils.class);
+
+// Produce bitmap image titled "JavaInspect.png" to the user Desktop
+// directory and keep intermediary GraphViz DOT file for reference.
+graph.generateGraph("JavaInspect", true);
+
+
+ + + +

+Result: +

+ +
+
+ +
+

5 Usage example 2

+
+

+Recursively scan current directory for Java source code and attempt to +detect class names from there to be added to the graph. +

+ +
+ +
graph.addProject(".");
+
+// Blacklist example classes from being shown on the graph
+graph.getFilter().blacklistClassPattern(
+    "eu.svjatoslav.inspector.java.structure.example.*");
+
+// do not show single classes with no relationships on the graph
+graph.hideOrphanedClasses();
+
+// Produce bitmap image titled "JavaInspect full project.png" to the
+// user Desktop directory.
+graph.generateGraph("JavaInspect full project");
+
+
+

+Result: +

+ +
+
+ +
+

6 Embedding JavaInspect in your Maven project

+
+

+Declare JavaInspect as dependency: +

+
+ +
<dependencies>
+    ...
+    <dependency>
+        <groupId>eu.svjatoslav</groupId>
+        <artifactId>javainspect</artifactId>
+        <version>1.3</version>
+    </dependency>
+    ...
+</dependencies>
+
+
+ + +

+Add Maven repository to retrieve artifact from: +

+
+ +
<repositories>
+    ...
+    <repository>
+        <id>svjatoslav.eu</id>
+        <name>Svjatoslav repository</name>
+        <url>http://www2.svjatoslav.eu/maven/</url>
+    </repository>
+    ...
+</repositories>
+
+
+
+
+ +
+

7 Requirements

+
+

+GraphViz - shall be installed on the computer. +

+ +

+On Ubuntu/Debian use: +

+
+sudo apt-get install graphviz
+
+
+
+
+
+

Author: Svjatoslav Agejenko

+

Created: 2015-02-02 Mon 19:49

+

Emacs 24.4.1 (Org mode 8.2.10)

+

Validate

+
+ + diff --git a/doc/index.org b/doc/index.org new file mode 100644 index 0000000..8ec6dcb --- /dev/null +++ b/doc/index.org @@ -0,0 +1,128 @@ +#+TITLE: JavaInspect - Utility to visualize java software + +----- + +- [[http://www2.svjatoslav.eu/gitweb/?p=javainspect.git;a=snapshot;h=HEAD;sf=tgz][download]] +- [[http://svjatoslav.eu/programs.jsp][other applications hosted at svjatoslav.eu]] +- Program author: + - Svjatoslav Agejenko + - Homepage: http://svjatoslav.eu + - Email: mailto://svjatoslav@svjatoslav.eu + +* General +Goal: simplify/speed up understanding the computer program code by +automatically visualizing its structure. + +JavaInspect is a Java library that you can embed into your Java +project with a few lines of Maven configuration and then visualize any +part of your Java program structure with few simple JavaInspect API +calls at application runtime. + +JavaInspect uses Java reflection to discover class relations and +structure and produces GraphViz dot file that describes your +application. Then launches GraphViz to generate bitmap graph in PNG +format on your Desktop directory. + +* Current status +This is simple utility, quickly written. Tested on GNU Linux (can be +relatively simply ported to other operating systems too). So far I +used it for my own needs. There might be bugs and missing +features. Feedback and code contributions are welcome. + +* Example graphs +Example visualization of [[http://www2.svjatoslav.eu/gitbrowse/sixth/doc/][Sixth]] project: [[http://www2.svjatoslav.eu/projects/sixth/codegraphs/][architecture graphs]]. + +A very simple example: + +[[file:example.png][file:example.resized.png]] + + +Graph legend: + +file:legend.png + +* Usage example 1 +This example demonstrates generating of class graph from hand picked +classes. + +#+BEGIN_SRC java + // Create graph + final ClassGraph graph = new ClassGraph(); + + // While classes and objects can be immediately passed to ClassGraph + // constructor as arguments, it is also possible to add them one by + // one as in the following example. + + // Add some object to the graph. + graph.addObject(graph); + + // Add some class to the graph. + graph.addClass(Utils.class); + + // Produce bitmap image titled "JavaInspect.png" to the user Desktop + // directory and keep intermediary GraphViz DOT file for reference. + graph.generateGraph("JavaInspect", true); +#+END_SRC + + + +Result: + - Generated DOT file: [[file:JavaInspect.dot][JavaInspect.dot]] + - Generated PNG image: [[file:JavaInspect.png][JavaInspect.png]] + +* Usage example 2 +Recursively scan current directory for Java source code and attempt to +detect class names from there to be added to the graph. + +#+BEGIN_SRC java + graph.addProject("."); + + // Blacklist example classes from being shown on the graph + graph.getFilter().blacklistClassPattern( + "eu.svjatoslav.inspector.java.structure.example.*"); + + // do not show single classes with no relationships on the graph + graph.hideOrphanedClasses(); + + // Produce bitmap image titled "JavaInspect full project.png" to the + // user Desktop directory. + graph.generateGraph("JavaInspect full project"); +#+END_SRC +Result: + - Generated PNG image: [[file:JavaInspect%20full%20project.png][JavaInspect full project.png]] + +* Embedding JavaInspect in your Maven project + +Declare JavaInspect as dependency: +#+BEGIN_SRC xml + + ... + + eu.svjatoslav + javainspect + 1.3 + + ... + +#+END_SRC + + +Add Maven repository to retrieve artifact from: +#+BEGIN_SRC xml + + ... + + svjatoslav.eu + Svjatoslav repository + http://www2.svjatoslav.eu/maven/ + + ... + +#+END_SRC + +* Requirements + +[[http://www.graphviz.org/][GraphViz]] - shall be installed on the computer. + +On Ubuntu/Debian use: +: sudo apt-get install graphviz -- 2.20.1