Warning: Can't synchronize with repository "(default)" (/home/git/ome.git does not appear to be a Git repository.). Look in the Trac log for more information.
Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

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

Opened a pull request establishing the bio-formats-legacy component with loci.common delegators.

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.

Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.68557 sec.)

We're Hiring!