Skip to main content

JDTF Source Code Description

The JDTF source code consists of following parts:

harness/ JDTF harness source code
nb_plugin/ JDTF NetBeans plugin source code
tests/ JDTF developer kit and bundled test packs source code
tools/ Contains source code of the various tools used by the test packs build procedure
jdtf/ Contains various property files used by all JDTF modules. The Gnu Public License (2) and copyrights that apply to this open source product are kept in this directory.

See JDTF Repository Structure for a description of how the repository is organized.

JDTF Harness Source Code

The JDTF harness source code is organized by functionality. In addition, functional parts of the project are written using the following different Java platforms:

  • Harness modules — Java Platform, Standard Edition (Java SE)
  • Relay modules — Java Platform, Enterprise Edition (Java EE)
  • Device-side modules used to run tests — Java Platform, Micro Edition (Java ME)

Modules are organized as shown here:

<Module Name>

   build-conf/

      project.properties   Properties for building this module. For example. classpath dependencies to external libraries and other modules

   src/                    Source code for the module

   test/                   Unit tests for the module

   build.xml               Ant build script for the module. Typically, the script delegates all tasks to the one shared build

You can build modules individualy, or you can invoke a shared build script to build the entire framework. For more information please refer to the JDTF Build Instructions. If you want to use your favorite IDE, it's best to set up a separate project for each module you work with.

The following table shows all of the JDTF modules and briefly describes their function.

Module Description
Bundle The various documents that are packaged in the JDTF bundle (for example, the copyright file and all guides) and the script that produces a bundle.
Release Scripts that implement shared build procedures for all framework modules.
Sources/J2SE Framework harness and relay modules.
     ATMT A templates management tool.
     Communication Module that implements functionality for data exchange between harness and relay components.
     Configuration Stores classes that are used to read and store framework configuration parameters.
     ConsoleLauncher The main entry point to the harness. It reads configuration data, decides what libraries should be used and then launches the main class of the JT harness in order to display the main GUI windows. You can also launch the JT harness in batch mode. See com.sun.jdts.consolelauncher.Launcher.main(String[]).
     ConsoleService Classes and interfaces used in relay - harness communications.
     Core Basic framework files. Almost all other modules depend on this one.
     EmulatorMode Support for running tests on device emulators.
     GenericConnectors This tiny framework defines and implements a generic method of relay - device communication. Requests of various types are represented by the com.sun.jdts.genericconnectors.common.PortableRecord interface. Implementing data exchange using various protocols (for example, HTTP and Bluetooth) enhances the framework's ability to run tests on a variety of devices.
     Interview Implements the interview wizard, used by testers to configure parameters for framework and developed testpacks.
     JdtsBundler One of the key framework components. Classes from this module know how to package selected tests into individual bundles. Each bundle includes one or more tests, an agent for running them on the device, and configuration data. Bundles are prepared on the harness side, then transferred onto the relay where it makes them available for download by the device.
     JdtsConsole A set of configuration and resource files that are necessary for running the harness.
     JdtsServer The main relay classes, including provisioning servlets. Its build script produces a Web Application Archive (.war) file that can be deployed onto the Java EE compliant application server.
     JdtsTools Classes that implement reports, custom testpacks wizards, keystores, threshold manipulation dialogs, and some other harness tools.
     JTPlugins Classes from this module extend and implement various APIs that make it possible to run JDTF on top of the JT harness.
     OTAExecutionEngine Support for running OTA (over-the-air) tests.
     ServerConfiguration Mutable preferences of the relay
     ServerDataManager During a test run, the relay is loaded with a variety of tasks to store bundles, server-side resources of the tests, and so on. This functionality is implemented by data management classes from this module.
     TestExecutionEngine Core classes that implement test run logic.
     TestPackInstaller The test pack installer is a wizard that guides testers through the process of adding or removing testpacks from the harness.
     TestServerManager Simple tests usually have only one part that is executed on the tested device. More sophisticated tests may have more than one part involved in the test logic. For example, a network test might have a test server that must run with the main test. This enables both parts to talk to each other and verify whether the device supports network traffic. The test server manager is a container that runs within the relay and manages all test servers requested during the test run.
     TPI_Batch Batch-mode support class for the test pack installer described above.
Sources/J2ME Framework agent modules. The agent is deployed on the tested device and manages test execution logic there.
     GenericConnectors The device-side counterpart for Sources/J2SE/GenericConnectors. Implementations of these modules must always be synchronized to ensure proper data exchange between the device and relay.
     Logging A standard logging framework port for Java ME.
     MicroConfiguration Reads and interprets configuration data passed to the agent.
     TestManager Main device agent classes. See com.sun.TestBeans.impl.Agent.MIDPRunner.

JDTF NetBeans Plugin source code

JDTF NetBeans Plugin has the following source code structure:

javahelp/Plugin online help source files
nbproject/Plugin project descriptor files
src/Plugin source files
src-template/Template files for creating NetBeans JDTF projects using the plugin
test/Unit tests for the plugin
build.xmlAnt build script for the plugin
license.txtThe plugin license

JDTF Developer Kit and bundled test packs

devkit/JDTF developer kit source files
ready/Readiness test pack source files
ready_automated/Automatic Readiness test pack source files
sample/Sample runtime test pack source files
 
 
Close
loading
Please Confirm
Close