Phreak Inspector

Before moving to the next chapter in this book, it is important to introduce a utility class (from the source bundle associated with this book) that was extensively used for the creation of this chapter: org.drools.devguide.phreakinspector.model.PhreakInspector.

None of the PHREAK network graphs shown in this chapter were manually generated; on the contrary, all of them were automatically generated from a KIE Base containing the rules and/or queries we wanted to show. The PhreakInspector class in the phreak-inspector module was created for this purpose. This class is able to output a PHREAK network graph from a variety of resources, including:

  • A manually built KIE Base
  • A KIE Base defined in a kmodule.xml file
  • A set of resources, such as DRL, DSL, Decision Table, and so on

In the source bundle associated with this chapter, you will find that most of the tests actually use the PhreakInspector class. In fact, you will find that all of the graphs displayed in this chapter can be recreated from the tests. The basic usage of the PhreakInspector class is:

KieBase kbase = //Obtain a KIE Base from somewhere.
PhreakInspector inspector = new PhreakInspector();
InputStream is = inspector.fromKieBase(kbase);

The resulting graph uses the DOT language (https://en.wikipedia.org/wiki/DOT_(graph_description_language)). DOT is a text-based format used to define graphs. There are several tools available to display DOT graphs, Graphviz (http://graphviz.org/) being one of the most popular.

Once we become familiar with the PhreakInspector class, we can use it to graph any of the Kie Bases, rules, and queries introduced in this book. We can even use this class in our own projects to get a better understanding of the internal representation of our KIE Bases in order to look for ways to improve them.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.227.134.154