Task #9293 (closed)
Opened 12 years ago
Last modified 12 years ago
Create loci.common delegators
Reported by: | mhiner-x | Owned by: | mhiner-x |
---|---|---|---|
Priority: | critical | Milestone: | Unscheduled |
Component: | Bio-Formats | Version: | n.a. |
Keywords: | n.a. | Cc: | jamoore, mlinkert, crueden-x |
Resources: | n.a. | Referenced By: | n.a. |
References: | n.a. | Remaining Time: | n.a. |
Sprint: | n.a. |
Description
To preserve backwards compatibility for the loci.common package, delegator classes will have to be created within bio-formats-legacy that pass control to the various Loci Common classes, found in the following SCIFIO packages:
ome.scifio.io
ome.scifio.common
ome.scifio.xml
ome.scifio.enumeration
ome.scifio.services
Change History (3)
comment:1 Changed 12 years ago by mhiner-x
comment:2 Changed 12 years ago by mhiner-x
In response to the above PR, several issues arose. The code changes in this PR are currently undergoing refactoring. Our goals are as follows (taken from nitpick e-mail):
1) Public API of legacy loci.common and loci.formats packages must continue to work as before.
2) It must be feasible (i.e., non-disruptive) to merge in refactored SCIFIO classes to develop as they are completed, rather than keeping everything on a topic branch until all 130+ readers are fully refactored.
3) Throughout the refactoring process, OMERO must continue to compile and work with no changes to its build system or dependencies. This point is relevant to Bio-Formats PR #91 (https://github.com/openmicroscopy/bioformats/pull/91) in particular.
We are accomplishing these goals by introducing a new loci-legacy component that contains the old classes (loci.common.* and loci.formats.*), with the same public API but delegating to the refactored SCIFIO code (in packages ome.scifio.*) to do the work.
We are leaving the loci.formats.* classes in scifio.jar untouched as long as they remain to be refactored. When a reader is refactored, its new implementation will migrate to scifio-devel.jar, and a delegator class with the legacy package structure will be placed in loci-legacy.jar.
The transitional dependency hierarchy is:
scifio > loci-legacy > scifio-devel
loci-common = loci-legacy + scifio-devel
When all refactoring is complete, the scifio-devel JAR will be renamed back to scifio, leaving the dependency hierarchy as follows:
loci-legacy > scifio
loci-common = loci-legacy
comment:3 Changed 12 years ago by mhiner-x
The refactoring process was tentatively completed, tested, and resubmitted for verification. See original PR link.
Opened a pull request establishing the bio-formats-legacy component with loci.common delegators.