Last year, we started working on a small Java wrapper library to reduce code duplication when fetching/storing data on OMERO from different projects (including a Fiji plugin, hence the “ImagePlus” method which should be moved to a child project probably).
For now, this mostly handles projects, datasets, images, pixels, ROIs, tags, key/value pairs, tables and annotation files, but some basic features might still be missing (like renaming an image, strangely enough, retrieving an annotation file or getting the channel colors). Also, I tried to restructure it a bit, but my UML/designing skills are beyond rusty so I’m not sure how it looks…
Is this relevant, or did I miss something easier to use than the raw Java Gateway API (which provides everything, but requires a bit of experience as it does not always return what we expect)?
Also, I was wondering if someone may have recommendations about what would be the best way to handle versioning.
For now, we use the first two digits of the Gateway API version and increment the third, but that does not necessarily reflect the big changes in the wrapper API (which has been quite unstable lately as I refactored everything). But maybe it can be done in a better way?