Overview

The XTCE Tools Java JAR file supports the XTCE technology by providing a Graphical User Interface named "xtceview" to view/browse/edit an XTCE document. It also provides a non-graphical underlying "toolkit" package to enable application developers to create a specialized application that uses an XTCE document, with minimal effort, when compared to attempting the task without the toolkit.

The toolkit does not depend on any graphical interfaces. To complement, the graphical user interface "xtceview" contains little to no business logic, preferring to be a graphical wrapper around the toolkit package. To supplement this, a number of examples, sample databases, and schema documentation are also included in other packages. All documentation can be accessed from the GUI Help Menu, assuming Java FX libraries are available.

Key Features

License Model

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.

You may obtain a copy of the License at

Apache 2.0 License

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Package Design

The packages delivered with this toolkit and user interface relate to one another in a layered fashion. At the core of the toolkit is the XTCE Schema, which is converted to Java classes by the JAXB code generation tool. These raw classes are utilized by the "toolkit" package to provide a simpler and more intuitive interface. The GUI application (org.omg.space.xtce.ui.XTCEViewer) class contains only graphical widgets and callbacks, which use the toolkit as the basis for business logic. A number of additional "code examples" help to further illustrate basic usage of the toolkit API to perform common functions, using an XTCE document as the database.

Java Package Overview Diagram

The Application Programming Interface is documented using the standard Javadoc interface and can be linked to Integrated Development Environments by supplying them with the XTCETools.jar file and the internal location of the Javadoc files. These can be found inside the jar file at org/xtce/toolkit/doc/index.html. This is the starting point of the pages being viewed here.

Testing

The toolkit API is tested using the standard JUnit 4.10 package. The tests operate both at a class level where appropriate and also at a functional level. In order to support functional testing, several example XTCE database files are included in the package. A couple of these serve as examples that can be viewed using the GUI from the File Menu at item "Open Example Database". Others are not shown and are used exclusively for the JUnit testing. The two example databases are named "BogusSAT" and "GovSat". These demonstrate CCSDS, ECSS PUS, and basic "onboard table" definitions for Telemetry Packets and Telecommands. In addition to test database example files, there are also test binary data packet files to exercise the data decoding capabilities of the toolkit.

Extendability

The toolkit permits Classes to be added to the package using the Java Classpath. This enables programs to implement program-specific implementations of certain elements of the handling of XTCE documents and database files that are compliant with the XTCE specification.

At present, a list of these extension interfaces includes: