Test editor structure

The editor in HCL OneTest™ Performance is built of several layers; the common framework, the editor and the protocol layer.

The common layer defines the interfaces and extension-points, provides the API classes and interfaces. It also provides the hooks into the Eclipse user interface (UI) menus, actions, markers. The common framework layer is initialized by the TPTP editor architecture. Because test editors are in fact extensions loaded and initialized by the TPTP platform via org.eclipse.hyades.ui.editorExtensions extension point, one of the common editor framework’s responsibilities is to provide hooks and application programming interfaces (APIs) for concrete editors implementations to communicate with TPTP. The common editor framework defines the classes that must be extended for a more specific behavior to be used by the extended editor implementations. This extension is realized by the TestEditor class that is extended by the Load Test Editor plugin and called LoadTestEditor.

The editor layer extends classes from the common framework layer to provide specific implementations for their models. The protocol layers can be basic and dependent. The basic protocols do not depend on other protocols, such as HTTP. The dependent protocols are built on top of other protocols, for example Siebel on top of HTTP. The protocol layers are implemented on top of the single editor layer. The protocol layers provide handlers for protocol-specific objects.

When the editor needs to be opened on a model file, Hyades determines which editor is capable of handling this particular model and loads and initializes specific extension. The common layer provides its implementation of the handler class, the CommonEditorExtension class. The common editor layer creates an instance of the TestEditor class that must be extended by the editor layer. After the TestEditor object is created, the user interface (UI) widgets and components are created to display the model data.

The TestEditor provides the bridge between TPTP, the model, Eclipse, and the concrete protocol code. The CommonEditorExtension class is used. When the editor is closed by the user or reloaded, the first instance of the TestEditor is destroyed and a new one is created.

The layers described above are split into separate plugins. Each plugin defines some extension points which are used by the higher-level plugins as well as by the defining plugins themselves. Additionally, there are some Java™ interfaces that must be used when writing classes.

The plugins are:
  • com.ibm.rational.test.common.editor.framework
  • com.ibm.rational.test.lt.testeditor
  • com.ibm.rational.test.lt.http.editor
  • com.ibm.rational.test.lt.http.siebel