switch from jsr 108 to jsr 275 for units - STEMLab/geotools GitHub Wiki
-
Motivation: JSR-108 has been replaced
-
Contact: Martin Desruisseaux
-
Tagline: JSR-275 is ready
Description
We make use of a Units library for keeping track of the difference between meters and feet etc... We have been making use of an offical JSR-108 jar.
There were two replacements available once we upgraded to Java 5
- JScience
- JSR-275
The JSR-275 jar is now officially available:
Status
The work has been completed.
Voting results:
- Andrea Aime +1
- Ian Turton
- Justin Deoliveira
- Jody Garnett +1
- Martin Desruisseaux +1
- Simone Giannecchini +0
Tasks
This section is used to make sure your proposal is complete (did you remember documentation?) and has enough paid or volunteer time lined up to be a success
- Fix the dependency in GeoAPI, and deploy a new jar
- Fix any and all compile errors (mostly import statements; but may make use of the Quantity package with Java 5 generics and catch a few mistakes)
- Update the user guide; there is very little documentation on Units use so this will not take long.
API Changes
Change the import; use Quantity package.
There is one additional change related to Converter. I will document it in this page when I will make this change in GeoTools. Since I don't think that many use Converter directly, it will probably impact few peoples.
BEFORE
import javax.units.SI;
import javax.units.NonSI;
import javax.units.Unit;
import javax.units.UnitFormat;
import javax.units.Converter;
import javax.units.ConversionException;
Unit PPM = Unit.ONE.multiply(1E-6);
UnitFormat.label(PPM, "ppm");
AFTER
import javax.measure.unit.SI;
import javax.measure.unit.NonSI;
import javax.measure.unit.Unit;
import javax.measure.unit.UnitFormat;
import javax.measure.converter.UnitConverter;
import javax.measure.converter.ConversionException;
Unit PPM = Unit.ONE.times(1E-6);
UnitFormat.getInstance().label(PPM, "ppm");
Note the class name change from Converter
to UnitConverter
.
Documentation Changes
We will need to change the following:
- Developers Guide references to JSR-108
- User Guide references to JSR-108