From: Svjatoslav Agejenko Date: Tue, 3 Mar 2015 20:41:09 +0000 (+0200) Subject: further documentation updates X-Git-Tag: javainspect-1.5~9 X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=javainspect.git;a=commitdiff_plain;h=dda66ce5668b5e27e696759ef5c895d044a572bc further documentation updates --- diff --git a/doc/index.html b/doc/index.html index ea10bb8..767065e 100644 --- a/doc/index.html +++ b/doc/index.html @@ -4,7 +4,7 @@ JavaInspect - Utility to visualize java software - + @@ -147,8 +147,8 @@ for the JavaScript code in this tag.
  • 2. Example graphs
  • 3. Usage
  • 4. Embedding JavaInspect in your Maven project
  • @@ -314,11 +314,11 @@ files. (Default is user desktop directory)
    -

    3.1 example 1

    +

    3.1 example 1: individually picked objects

    This example demonstrates generating of class graph from hand picked -classes. +classes and visualizing GraphViz itself.

    @@ -326,22 +326,31 @@ 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 random object to the graph. GraphViz will detect Class from
    +// the object.
    +graph.add(graph);
     
    -// Add some object to the graph.
    -graph.addObject(graph);
    +// Also add some random class to the graph.
    +graph.add(Utils.class);
     
    -// Add some class to the graph.
    -graph.addClass(Utils.class);
    +// Keep intermediary GraphViz DOT file for reference.
    +graph.setKeepDotFile(true);
     
     // Produce bitmap image titled "JavaInspect.png" to the user Desktop
    -// directory and keep intermediary GraphViz DOT file for reference.
    -graph.generateGraph("JavaInspect", true);
    +// directory
    +graph.generateGraph("JavaInspect");
     
    +

    +Note: if desired, more compact version of the above: +

    +
    + +
    new ClassGraph().add(randomObject, RandomClass.class)
    +                .setKeepDotFile(true).generateGraph("JavaInspect");
    +
    +

    @@ -357,20 +366,19 @@ Result:

    -

    3.2 example 2

    +

    3.2 example 2: scan java code, apply filters

    -

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

    -
    -
    graph.addProject(".");
    +
    // Create graph
    +final ClassGraph graph = new ClassGraph();
    +
    +// 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.*");
    +graph.blacklistClassPattern("eu.svjatoslav.inspector.java.structure.example.*");
     
     // do not show single classes with no relationships on the graph
     graph.hideOrphanedClasses();
    @@ -404,7 +412,7 @@ Declare JavaInspect as dependency:
         <dependency>
             <groupId>eu.svjatoslav</groupId>
             <artifactId>javainspect</artifactId>
    -        <version>1.3</version>
    +        <version>1.5-SNAPSHOT</version>
         </dependency>
         ...
     </dependencies>
    @@ -441,11 +449,13 @@ Add Maven repository to retrieve artifact from:
     

    On Ubuntu/Debian use:

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

    6 TODO

    @@ -455,10 +465,6 @@ classes if referring classes are not visible anyway because of blacklist/whitelist rules. Basically reference counting should exclude not visible classes. -
  • BUG: Current code is quite messy (because of lack of time) things -were implemented ad-hoc. Needs cleanup/refactoring for better -readability. -
  • FEATURE: add dark theme
  • FEATURE: sort Class fields by alphabet @@ -488,7 +494,7 @@ project build/release process
  • Author: Svjatoslav Agejenko

    -

    Created: 2015-03-03 Tue 22:24

    +

    Created: 2015-03-03 Tue 22:38

    Emacs 24.4.1 (Org mode 8.2.10)

    Validate

    diff --git a/doc/index.org b/doc/index.org index 0e768ad..728fff7 100644 --- a/doc/index.org +++ b/doc/index.org @@ -83,7 +83,7 @@ Control code in general does the following: 5. Render graph. -** example 1 +** example 1: individually picked objects This example demonstrates generating of class graph from hand picked classes and visualizing GraphViz itself. @@ -108,34 +108,35 @@ graph.generateGraph("JavaInspect"); #+END_SRC -Note: if needed, this code can be very compactly written too: +Note: if desired, more compact version of the above: #+BEGIN_SRC java - +new ClassGraph().add(randomObject, RandomClass.class) + .setKeepDotFile(true).generateGraph("JavaInspect"); #+END_SRC - Result: - Generated DOT file: [[file:JavaInspect.dot][JavaInspect.dot]] - Generated PNG image: [[file:JavaInspect.png][JavaInspect.png]] -** example 2 -Recursively scan current directory for Java source code and attempt to -detect class names from there to be added to the graph. - +** example 2: scan java code, apply filters #+BEGIN_SRC java - graph.addProject("."); +// Create graph +final ClassGraph graph = new ClassGraph(); + +// 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.*"); +// Blacklist example classes from being shown on the graph +graph.blacklistClassPattern("eu.svjatoslav.inspector.java.structure.example.*"); - // do not show single classes with no relationships on the graph - graph.hideOrphanedClasses(); +// 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"); +// 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]] @@ -149,7 +150,7 @@ Declare JavaInspect as dependency: eu.svjatoslav javainspect - 1.3 + 1.5-SNAPSHOT ... @@ -170,19 +171,17 @@ Add Maven repository to retrieve artifact from: #+END_SRC * Requirements - [[http://www.graphviz.org/][GraphViz]] - shall be installed on the computer. On Ubuntu/Debian use: -: sudo apt-get install graphviz +#+BEGIN_SRC sh +sudo apt-get install graphviz +#+END_SRC * TODO - BUG: 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. -- BUG: Current code is quite messy (because of lack of time) things - were implemented ad-hoc. Needs cleanup/refactoring for better - readability. - FEATURE: add dark theme - FEATURE: sort Class fields by alphabet - FEATURE: visualize also concrete field values so it could be used as diff --git a/src/test/java/eu/svjatoslav/inspector/java/structure/example/RenderJavaInspect.java b/src/test/java/eu/svjatoslav/inspector/java/structure/example/RenderJavaInspect.java index 2f535b1..132276a 100755 --- a/src/test/java/eu/svjatoslav/inspector/java/structure/example/RenderJavaInspect.java +++ b/src/test/java/eu/svjatoslav/inspector/java/structure/example/RenderJavaInspect.java @@ -17,6 +17,7 @@ import eu.svjatoslav.inspector.java.structure.Utils; public class RenderJavaInspect { private static void fullProjectExample() { + // Create graph final ClassGraph graph = new ClassGraph(); // Recursively scan current directory for Java source code and attempt