openmicroscopy/bioformats — pull request #1460 by rleigh-dundee (2014-12-04 23:49:16+00:00)
Title: C++: Implement MetadataConverter

Implement MetadataConverter in C++. The logic is identical to the Java implementation. The public interface and internal implementation differ.

The Java code was quite verbose, full of exception handling. This is factored out into a templated helper in the C++ code, which makes the logic much more concise and readable. It also requires the getter and setter types to match, so enforces consistency of the store/retrieve interfaces (a few inconsistencies are fixed).

I also added a consistency checker script which compares the methods in MetadataStore/Retrieve with MetadataConverter to look for missing metadata conversion. I found and fixed up a couple of instances.
One broken exception to this is setMaskBinData which doesn't have a corresponding getter; is this intentional or does getMaskBinData need adding?

--------

Testing:

- Build should remain green
- No unit test for this yet until we have an OME-TIFF reader or some other means of creating a full metadata store for conversion.