-
Notifications
You must be signed in to change notification settings - Fork 8
Description
Ok. I think I'm nearly done with the 6.0 version (mentioned in #31 and #41), although I'm still wondering if going the "getChildren/getParents" route would have been better: the constant method name is cleaner, but even if I split the HCS and containers hierarchies (getContainerParents/getHCSParents), I'm not sure where plate acquisitions would fit for example, although I could ignore them and just have two hierarchies: Screen/Plate/Well/Image and Project/Dataset/Image...
Also, images do not have children and screens/projects do not have parents, so some kind of RuntimeException would have to be thrown I guess.
Also, it's more of a detail, but I wonder if Project::addDataset, Dataset::addImages and import functions should always reload the parent object. It's helpful in case we forget, but sometimes, it can be a wasteful request to the server. Maybe I'll duplicate the method and overload it so a version exists without the reloading.
I only added ImageLinked, ContainerLinked and HCSLinked one commit ago (on the "6" branch: 5033811) and the names are not very satisfying: it might still go if a standard hierarchy works better. Or I could do both.
A preview of the (possible) API update is available here: https://api.igred.fr/simple-omero-client/6.0.0-SNAPSHOT/
And a "snapshot" is usable from there: https://artifacts.igred.fr/snapshots/fr/igred/simple-omero-client/6.0.0-SNAPSHOT
Everything breaks as I introduced (non-generic) interfaces and repackaged the classes. Removing "Wrapper" from the class names except for constructors should do the trick in many cases.
@Rdornier I kept the "core" package as I didn't know if I should make "image" plural (as "containers") or singular (as "screen") and thought it was easier to globally mirror the OME model.
In any case, I'd like to release it by the end of next week if possible.