Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Gumtree Data Model Developer Guide


Get the latest version from repository

Getting started - run the JUnit test

  • Find test cases in the org.gumtree.data.test plugins. Run the following JUnit test cases:
    • TestWriteToRoot.java (read and write hdf files into GDM objects)
    • TestReadNexusFile.java (read nexus files)
    • TestCopyNexusFile.java (write nexus files)
  • In Eclipse environment, you can run the JUnit test cases in two mode:
    • Run as JUnit plug-in test. Please set run mode in headless mode.
    • Run as JUnit test. In the run configuration, add VM arguments: -Djava.library.path=${workspace_loc}/ncsa.hdf. You also need to include log4j logging plugins in your Classpath.
  • There are example NeXus files in the org.gumtree.data.test/storage folder for testing purpose. There are also common hdf files which are generated by the test cases.

The architecture

  • Packaging

org.gumtree.data.core plugin:
org.gumtree.data – The GDM interface package. All the classes for the tree structure used in the GDM model are implementing the interfaces in this package.
org.gumtree.data.exception – Exceptions.
org.gumtree.data.io – IWriter interface which performs exporting. A default implementation in HDF file exporting is included.
org.gumtree.data.math – The meths library for GDM arrays.
org.gumtree.data.netcdf – The default (Netcdf) implementations of the GDM interfaces.
org.gumtree.data.utils – The utilities for GDM model.
org.gumtree.data.nexus plugin:
org.gumtree.data.nexus – The interfaces for NeXus file format.
org.gumtree.data.nexus.netcdf – The default (Netcdf) implementations of the NeXus interface.
org.gumtree.data.nexus.utils – The utilities class for NeXus file format.

  • Package dependency plot


  • The design of the GDM project is to allow different implementations for the model. The default implementation which uses Netcdf library is included in the plugin. The NeXus model project is in a separate plugin for options. The way a NeXus file is mapped into the model is only for ANSTO usage at this moment. It is open for discussion that whether we should provide a more generic model.


  • No labels