JT Harness Source Code Description
The JT harness source code is divided into areas based on their
responsibility or whether they are general versus or specific. The
core of the harness is in one package, the generic GUI framework in another,
while sub-packages contain more specific GUI subsystems that plug into the
generic framework. An implication of this is that there are clearly defined
interfaces between packages because the Java programming language does
not have a "friend" mechanism.
The following packages are located under these directories:
The core of the JT harness. Many base classes and interfaces are
defined here, for example:
sub-packages reference classes from this package. In order to prevent
the initialization of those libraries when running in CLI mode, it is
important that no class in this package reference AWT or Swing.
Contains a number of simple utility classes, with each class usually
self-contained. Check here before writing your own class, and if you
decide to write your own class, consider putting it here. In terms of
compilation, this is the core package and even the
com.sun.javatest depends on these classes. Do not add
GUI code to this package.
Contains concrete implementations of plug-in classes
TestFinder, Script, Test). Do not add GUI code to
com.sun.javatest.lib, but for
TestFinder classes. Contains many implementations and
most test suites use these either directly or as a sub-class. Do not add GUI
code to this package.
Contains all implementations of the reporting code, both HTML and
plain text. Future report types may be located here or in a
This is the core GUI framework for the JT harness GUI interface. The
GUI interface is defined by the
Desktop at the top level,
Tools below that. The GUI in which you execute tests
Tool whose implementation is not in this package. This package
controls things such as menu organization, top-level window arrangement (desktop
style), and the preference dialog. This package also contains
the entry point for the JT harness:
The "Exec Tool" is also known as the "Test Manager." This is the GUI
used for test execution functionality. Code for the Configuration
Editor is also contained here. This is what most people think of
as the core the JT harness GUI functionality.
Support classes for GUI template handling.
- Command-line interface support classes.
- Generic interview API.
- GUI rendering components for the interview question types.
Concrete implementations of the interview classes. Also contains the base
class that all JT harness interviews must implement:
The classes for the standard JT harness agent used for remote
execution and result reporting. Used by the JCK and CDC TCKs.
A few utility servlet classes provided for use with the JT harness.
Not much work occurs here.
Tool for auditing test results. This class is distributed but not
currently in active use.