Gumtree Data Model Developer Guide
Get the latest version from repository
- Apply for user account at codehaus
- Visit http://xircles.codehaus.org/signup. Fill in the details to apply for an account.
- Apply to join as a GumTree Developer
- Check out the following projects:
- https://svn.codehaus.org/gumtree/lib/ncsa.hdf/2.6/ncsa.hdf
- https://svn.codehaus.org/gumtree/lib/ucar.netcdf/4.0.48/ucar.netcdf
- https://svn.codehaus.org/gumtree/lib/org.freehep.jas.jas3/0.8.3/org.freehep.jas.jas3
- https://svn.codehaus.org/gumtree/lib/org.freehep.jas.jas3/0.8.3/org.freehep.jas.jas3.linux.x86 (optional)
- https://svn.codehaus.org/gumtree/lib/org.freehep.jas.jas3/0.8.3/org.freehep.jas.jas3.win32.x86 (optional)
- https://svn.codehaus.org/gumtree/numeric/trunk/org.gumtree.data.core
- https://svn.codehaus.org/gumtree/numeric/trunk/org.gumtree.data.nexus
- https://svn.codehaus.org/gumtree/numeric/trunk/org.gumtree.data.test
- Please note the svn file structure is also under refactering. The new structure will make checking out the project easier.
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.
