This is an automated email from the ASF dual-hosted git repository.

amanin pushed a change to branch refactor/strict_storage_connector
in repository https://gitbox.apache.org/repos/asf/sis.git.


    from dbeef90  feat(Storage): Add an extension of storage connector with 
fail-fast behaviors
     add ee73474  Deeper analysis of situations where a wraparound may occur 
during the transformation of a `GridGeometry` envelope. We must be careful to 
not apply too large translations on envelope corners: a lower-left corner 
should not become greater than upper-right corner for example.
     add bc38cbf  Use NaN for "no source median" to distinguish from 0.
     add 512b335  Remove `sourceMedian` argument in 
`WraparoundTransform.create(…)` method.
     add 911d02c  Do not round the median value in `WraparoundTransform`. 
Callers should round themselves if desired.
     add 46bf0ac  Better separation of work by moving some methods in 
`WraparoundApplicator`. Move `WraparoundTransform.transform(…)` method to 
`WraparoundInEnvelope`. This refactoring allows some simplification and better 
synchronization.
     add 3a41eb8  Move `WraparoundTransform` to public package.
     add 7ce4d0b  Slightly more efficient way to get wraparound step in a chain 
of transforms.
     add ba4ad90  Better control on when wraparound is applied.
     add 2d3e45f  Implement `WraparoundTransform.inverse()`. It will allow us 
to apply a safer strategy for handling wraparounds in next commits. Remove 
`WraparoundTransform.CACHE` because the new `sourceMedian` field reduces the 
probability that a cached value can be used.
     add d1e4873  Avoid potentially costly calls to `MathTransform.inverse()`.
     add 674c34d  Move the `intersect` method close to `union` method, remove 
`public` modifier on constructors of package-privated classes and edit some 
comments. There is no significant code change in this commit.
     add 3201ff1  Build temporary `WraparoundInEnvelope` instances only before 
to transform an envelope. This change avoid to expose a mutable 
`MathTransform`, removes the need for synchronization and enable wraparound 
handling in more situations than only `GridGeometry` operations.
     add 579bc7e  Apply on transformations of `Rectangle2D` objects the same 
wraparound checks than we did in previous commit for `Envelope` objects.
     add 56e596f  Try to enable wraparound handling in JavaFX application and 
prints more extensive information about `CoverageCanvas` operations. The intent 
is to debug why the image is not visible when a `GridCoverage` crossing the 
anti-meridian is resampled.
     add 252bd57  Make debugging information more compact and more useful.
     add 5ecbea2  Fix a longitude wraparound error specific to the UTM 
projection case. Contains minor documentation changes.
     add f6deb67  Add a wraparound application which was missing when going 
from a geographic CRS to a projected CRS.
     add 671204a  Apply wraparound step only if needed in `ResampledImage`.
     add c215ddb  Make `MathTransform inverse()` invertible. This is necessary 
for allowing `WraparoundInEnvelope` to perform more extensive checks during 
bounding box calculation.
     add 5710795  Fix broken javadoc links. Fix typographic convention in 
French resources.
     add f65a35d  Remove `GridCanvas` experimental class.
     add 5e65f02  Minor performance improvement in 
`WraparoundTransform.concatenate(…)`. Add a note in documentation about 
information lost during WKT formatting.
     add 0885edc  Replace `GridOrientation` enumeration by a more configurable 
class.
     add 325d23f  Add Orthographic projection in the list of projections 
centered on mouse click.
     add b22fa6d  Move `StreamDecoration` to "SQL store" internal package, 
renamed `StreamWrapper`. We limit the use of those wrappers for now because we 
do not yet have a mechanism for allowing methods with `Stream` return type to 
return also some `StreamWrapper`. In current implementation, any call to a 
method such as `Stream.map(…)` may cause the lost of all optimizations done in 
`StreamWrapper` subclasses.
     add a9cd8bf  Move `SubsetAdapter` to "SQL storage" module, where it is 
used.
     add 7d5b466  Minor improvement in concatenation of two consecutive 
`WraparoundTransform` instances.
     add bc6ca0f  Move `FeatureInfos` to a package where it can be shared by 
the two implementations. This move allows to use that class also with the 
decoder based on UCAR library.
     add 924d4a8  Make the `FeatureSet` implementation more robust and more 
generic. This commit prepares `FeatureSet` to support "ordinary" trajectory 
(without time vector) in addition to moving features.
     add 340e2d1  Refactoring and slight optimizations: - Move `MovingFeature` 
as `MovingFeatureBuilder` in the package where it is used. - Retarget 
`MovingFeature` as a set of static methods (for now). - Renamed `DateList` 
class and some `FeatureSet` fields. - Share time vectors when possible. - 
optimization of `PackedVector.equals(…)` and `IntegerList.equals(…)`.
     add 7a1fec6  Share more code between `FeatureSet` and `Grid` regarding 
axis type inference.
     add 0745403  Replace loops by placeholders for JDK9 Arrays.equals(…) 
methods. Fix a wrong PackedVector optimization.
     add 9e986b8  Add support for reading variables of character type. Implies 
some refactoring for sharing more code between the two reader implementations.
     add 43d7cba  Fix offset and stride calculation in netCDF files having an 
unlimited dimension.
     add 248df22  Add tests on a "Moving Features" file.
     add 4587f99  `Variable.read(GridExtent area, int[] subsampling)` support 
reading character strings in addition of numerical value. This commit required 
refactoring for allowing more code sharing.
     add 5ad90e7  Add a `Vector.isSinglePrecision()` method.
     add d33c284  The loop converting byte[] to String needs a fallback for 
encodings where values lower than 128 are not the same than ASCII. Creation of 
geometry objects in `FeatureSet` needs to take in account the `GeometryType`, 
and optionally the precision.
     add 9079a67  Use an EngineeringCRS fallback when a TemporalCRS can not be 
created because of unknown temporal datum epoch.
     add 5f774e8  Accept parsing timezone name (e.g. "UTC") in addition of 
timezone offsets. Add links in javadoc and fix the value shown in an error 
message.
     add 24c869b  Add methods or objects needed for completion of `FeatureSet`:
     add bb1e274  Fix NullPointerException during unmarshalling of legacy 
ResponsibleParty objects.
     add 8336928  When an alert is shown for an error, the dialog box owner 
should be the application window. It help to keep the dialog on the same screen 
than the application.
     add 357c9cd  Do not popup more than one alert window if many errors happen 
in a short time (in current implementation, only the last error is shown). Add 
scrollbars around the component showing stack trace.
     add 57dee2c  Add a "Open recent file" menu. It saves time when doing many 
test always on the same data file.
     add 16ea3ba  Hide SIS synthetic feature properties in the tabular view of 
FeatureSet.
     add 7cfb522  Add unit of measurements in the FeatureType built from a 
netCDF file.
     add 1b47d2f  Fix recent files ordering.
     add 22cef57  Report JavaFX version.
     add bc9df39  `FeatureSet` use `CRSBuilder` for constructing an horizontal 
and temporal CRS from the variables. The temporal CRS allows construction of 
the "datetimes" characteristics on the "trajectory" property.
     add 4f89f2a  Force the use of `Vector` (i.e. make sure that we don't get a 
`List<String>`) when reading coordinate variables. If the variable contains 
texts, those texts will be parsed as numbers.
     add fa1e45b  Share the same code for enumeration support between 
`RasterResource` et `FeatureSet`.
     add df7e1fb  Update HTML links to EPSG registry, OGC standards and others.
     add 5c03a79  Paranoiac check in case the attribute value is already a list.
     add b2c7250  Place-holder for JDK 9 methods should have the same behavior 
than JDK 9, which is to throw IllegalArgumentException if there is duplicated 
values.
     add c60795e  Documentation and formatting related to WKT parsing. 
Deprecate Symbols.containsAxis(…) because AXIS elements are no longer optional 
in WKT 2.
     add 4fe1348  Rename the `list` field as `children` and make the code more 
null-safe by replacing the null value by a more explicit `isEnumeration` flag.
     add 606b226  Clarify the behavior of `WKTFormat.clone()` and avoid cloning 
the `fragments` map if possible. The intent is to allow more efficient 
`WKTFormat` cloning for parsing many WKT strings in parallel.
     add 847ab7e  Clarify which locale is used in error messages.
     add 5e13b7f  Initial version of `WKTDictionary` for allowing users to 
define CRS for custom codes. https://issues.apache.org/jira/browse/SIS-502
     add dfb19c1  Allow `getAuthorityCodes(Class)` to filter by WKT keywords. 
Build the code list under write lock. Cache results.
     add b890c8c  Refactor the way we store WKT trees in a dictionary. Instead 
of having `Element` working in two modes (mutable or immutable), keep `Element` 
always mutable and create immutable snapshots with a separated class, 
`StoredTree`.
     add 31a6086  Add tests and fix missed sharing of WKT values.
     add 54f66a8  Move `getAuthoritycodes(Class)` close to `getCodeSpaces(). 
This is a cut-and-paste with no code change.
     add 3325923  Add more tests.
     add 85cfff7  Handle the corner-case of coordinate system WKT (the "CS" 
keyword) in definition of aliases.
     add 84001f1  Log warnings during WKT parsing by `WKTDictionary`.
     add a1ab9bb  Update examples of ESRI codes.
     add d478c79  Method name change: setter method shall have the "set" 
prefix, not "get". Error identified by Jean-Marc Bourdaret. 
https://issues.apache.org/jira/browse/SIS-503
     add d3c0c2a  Replace `String.regionMatches(…)` by the simpler 
`String.startsWith(…)` when applicable.
     add 81a9536  Provides a hook for making easier to use this factory for 
handling the "spatial_ref_sys" table of spatial databases.
     add 89f8591  Automatically add identifier when the WKT provided by 
`WKTDictionary.fetchDefinition(…)` does not contain an ID[…] or AUTHORITY[…] 
element. This is needed when the WKT is provided by the "spatial_ref_sys" table 
if a PostGIS spatial database among others.
     add f67bd79  Simplify the logging levels provided by `PerformanceLevel`. 
https://issues.apache.org/jira/browse/SIS-504
     add 07f4511  Replace a few `getLogger("org.apache.sis.foo")` calls by a 
static `Logger` constant. Use the logger provided by 
`DataStoreProvider.getLogger()` when applicable. Add a log when reading a 
netCDF file as a `GridCoverage`.
     add 925eccf  Reduce a little bit the amount of text in 
`GridGeometry.toString()` and in `AbstractGridResource.logLoadOperation(…)`.
     add 57c225f  Provide a way to avoid potentially costly 
PropertyNotFoundException creation. Users do not always know in advance if a 
property exists and may need a way to get this information without being forced 
to use exceptions for branching.
     add c0bf843  Rename `getPropertyValue(String, Object)` as 
`getValueOrFallback(…)` for avoiding dangerous similarity with 
`setPropertyValue(…)`. Before this change, the two methods differed only by one 
letter ("g" versus "s"), which is a risk of introducing bugs by typos. The new 
name is also more readable and more consistent with standard Java practice such 
as `java.util.Map.getOrDefault(…)`.
     add 84e6e56  Avoid duplication in netCDF variables and attributes when a 
lower-case name has been generated in addition to the original name.
     add 98e07c2  More robust handling of map projection parameters in netCDF 
file: - If parameters are provided as strings instead than numbers, parse them. 
- Report unused values for allowing user to check if an important parameter has 
been ignored.
     add da00b49  Always consider a variable as an axis if the 
"_CoordinateAxisType" attribute is present.
     add ec235ee  Most accurate selection of best grid. In addition of maximal 
intersection area, try also to minimize area outside the Area Of Interest (AOI) 
to to prefer grids more centered on the AOI.
     add 1c395af  Take a more representative center of data.
     add e38c2a9  Take temporal extent in account in addition of geographic 
extent. This is an anticipation for the support of dynamic datum in a future 
SIS version. It is also useful for other code using `ExtentSelector` for making 
a choice between different rasters (for example).
     add 6d0bce8  Use new feature.getValueOrFallback method in filters and 
expressions to avoid exception creation when exception stack is not required
     add 2d60d06  When `PropertyNotFoundException` are reported as warnings, 
keep the exception message instead than using the `getValueOrFallback(…)` 
method. The reason is that the exception message provides a deeper analysis, 
telling for example if the property can not be provided because it does not 
exist or because the given name is ambiguous.
     add 78cb599  Documentation fix: the "Supported by" column is not relevant 
anymore.
     add 89d2a24  Portrayal : initial work on OGC symbology encoding portrayal 
engine
     add 0db2206  Update in NetBeans project configuration introduced by 
upgrade to NetBeans 12.2.
     add 3f89ebd  Gives more details when à `MathTransform` does not have the 
expected number of dimensions.
     add 4f223fe  First version of a contouring algorithm, adapted from Johann 
Sorel work based on "marching squares" algorithm. This implementation builds 
isolines for all bands and all levels in a single iteration over image pixels. 
Java2D shapes are constructed on-the-fly during iteration.
     add cf5739d  Fix an error in determination of when a polygon is closed. 
Reduce some code duplication by taking advantage of recurrent patterns in 
interpolations.
     add 870eb6a  Remove some spikes which appear when pixel values are 
strictly equal to isoline values.
     add 02f0113  When a single `Polyline` instance can not be closed as a 
polygon, keep that instance in a temporary map. As additional instances are 
added in the map, some `Polyline` instances get concatenated together. It 
allows the creation of "real" closed polygons instead than juxtaposition of 
polylines that looks like polygons.
     add 728f70e  Implementation of a java.awt.Shape backed by an array of 
coordinates that we can handle more easily than with java.awt.geom.Path2D. It 
introduce a class hierarchy similar to the OGC geometry classes (Polyline, 
Polygon, MultiPolygons), but it is not the intent to provide an OGC geometries 
implementation now. Those classes are needed for simplifying `IsolineTracer` 
(in a next commit).
     add fb43846  Replace the use of `java.awt.geom.Path2D` by `PathBuilder` in 
`IsolineTracer`. It simplifies the algorithm and allow us to resolve the 
remaining spikes that we saw in isolines.
     add 11c6b74  Avoid the call to `Arrays.binarySearch(…)`. It has been 
identified by profiling as a performance bottleneck (in the context of 
`Isolines`).
     add e5142b5  Retrofit `DefaultIterator` into `PixelIterator`. This change 
allows slightly better encapsulation (more fields can be made private) and 
reduce the need to create `WritablePixelIterator` when only read operations are 
desired. The previous abstraction level was apparently not needed in practice.
     add 4f8f236  Add `BandedIterator`, a specialization of `PixelIterator` for 
the case of images using a `BandedSampleModel`. This is an attempt to resolve a 
performance bootleneck observed during `Isolines` calculations.
     add eceea7f  Make possible to use `BandedIterator` with multi-tiled 
images. It required to retrofit `LinearIterator` into `PixelIterator`.
     add 76cd431  Add more tests and add comments about optimization strategies 
that have been discarded. Two strategies were tried and failed to provide 
significantly better performance:
     add eac2307  Replace the use of `PixelIterator.Window` by cached values of 
previous row. It make easier to provide a special case for one-banded images.
     add 63875de  Add a test case for isolines on multi-banded image.
     add ce75340  Add a note about another failed attempt to optimize.
     add c127810  Store isoline coordinates as single-precision floating point 
numbers, but with a translation for attenuating the precision lost.
     add 3c7c5c5  Delegate `contains(…)` and `intersects(…)` implementations to 
Path2D.
     add d33c28c  Move part of `CategoryColorCell` into a new `ColorCell` base 
class. The intent is to share this code with other kinds of color tables, to be 
created later for isolines.
     add da676c5  Move remaining code from `CategoryColorsCell` into 
`ColorCell` for sharing (in a future commit) with isoline table. The methods 
that were previously overridden in `CategoryColorsCell` class are now 
overridden in `ColorColumnHandler`. Cell behavior has been reworked for 
reducing the amount of mouse clicks and for enabling keyboard usage.
     add 34f7b23  Let `Polyline` computes the bounds itself.
     add e9ea08a  Fix an `IndexOutOfBoundsException` when CRS has more 
dimensions than the dimensions for which a precision has been specified.
     add f2701ff  Support the case where one of the CRS axes in a netCDF file 
is a scalar (number of dimensions = 0). In such case, the scale factor does not 
exist in the "gridToCRS" matrix; we have only a translation term. In other 
words, there is no corresponding source coordinate, only a target coordinate 
which is constant. Some netCDF files use scalar for specifying for example that 
all values are located at a height of 2 metres.
     add f5fe842  Do not list "bounds" variable as coverage variables.
     add 788bfe2  Mouse coordinates in status bar need to be updated during 
scrolling. Opportunistically adjust highlights if scrolling caused an offset. 
Do not relayout the whole widget every time that mouse moved.
     add 80c2fbc  Tune `ColorTable` behavior on mouse click and keyboard 
"enter" key.
     add 87d1b72  Initial version of an `IsolineTable` for specifying the 
isoline values and colors. This control is not yet connected to the actual 
isolines computation.
     add c034b46  Improve the behavior when entering new isoline values: - Sort 
by increasing values. - Interpolate colors of new values between colors of 
existing values. - Transition to edition mode when a digit is typed (avoid the 
need to click on the cell first).
     add 3e83f90  Move `IsolineTable` to `ValueColorMapper` for allowing usage 
(in the future) for other purposes than isolines.
     add 80fd560  Make `FormatTableCell` package-private for now.
     add 38499ac  Add isoline rendering capabilities to `CoverageCanvas` using 
the information provided by user in a `TableView`.
     add 9279763  Tune tracing information for debugging purposes.
     add 1f50f98  Add a few assertions and comments. Fix mouse cursor shape 
during drag events.
     add 8713ecc  Remove RenderingMode.DIRECT because it causes twinkle at 
rendering time.
     add 430647f  Prepare an image slightly larger than viewport area for more 
continuous translations (pans).
     add 2041caf  Allow `imageMargin` to be null if there is no margin to apply.
     add b24e1da  Add a delay before to set the mouse cursor shape to 
`Cursor.WAIT` during rendering. It avoids distraction by continuously changing 
mouse shape because of zoom or pan.
     add 0a252d7  Recompute isolines if map projection changed.
     add ad06a54  Do not draw isolines that are outside the viewed area.
     add 041101c  Arbitrarily draw isolines with a line tickness of 1/8 of 
source pixel size, for making apparent when zoom is becoming too strong for 
data resolution.
     add 20e03de  Add a listener on `KeyEvent` for removing selected row.
     add 53891b2  Minor adjustment in table headers.
     add 7b07584  Fix a `NullPointerException` that occurs when a new window is 
created.
     add d1c2db3  Remove `PlanarCanvas.getAreaOfInterest()` because subclass 
needs to perform a slightly different computation, for example with addition of 
a margin.
     add 7f89f62  Avoid a "no convergence" error when dα₁ ≪ α₁.
     add 5ba3ea5  Portrayal : add feature type style filtering test cases for 
SEPortrayer
     add 16b13a8  Comment-out reference to a class which seems to have been 
forgetten. Remove empty comment for a parameter with mismatched name.
     add b3d55b4  Add an `iterationReachedPrecisionLimit` flag in the test for 
deciding more accurately when assertion tolerance threshold should be relaxed.
     add 6dd1602  Portrayal : add SEPortrayalTest and mock classes
     add c65774a  Document better `GeodeticCalculator` accuracy considerations 
and replace the special cases in JUnit tests by a `KnownProblem` enumeration in 
an attempt to make clearer what the problem can be and how the tests handle 
them.
     add c8dcb4e  Uncomment portrayal tests.
     add fb27a92  Portrayal : add portrayal rule and query tests, implements 
events on MapLayers components
     add 962eba9  Portrayal : add MapLayer.opacity property and 
MapItem.getEnvelope method
     add b239be0  Minor simplification in array creation, and checkstyle fix.
     add e11eee1  Implement parallel (multi-threaded) computation of isolines.
     add cfd1379  Enable parallel execution of isoline computation in JavaFX 
viewer.
     add 5ac3ea3  Increase minimal tile size for isoline computation, because 
our algorithm operates better on large tiles.
     add 17755f9  Fix an AssertionError caused by `requestRepaint()` invoked 
(indirectly) during `paint()` execution in `MapCanvas`. For safety, make sure 
that a `Unclosed` object is not reused in `IsolineTracer.Level.merge(…)`.
     add 191b251  Portrayal: change default MapLayer opacity to one
     add 96b4ea0  Portrayal : fix incoherency in presentation candidate value 
type
     add 54f5a9c  Provide an installation wizard for configuring the path to 
JavaFX.
     add 2ca318c  Fix a `NullPointerException` when `bin/sisfx` is invoked 
while `apache-sis-<version>` is the current directory.
     add a29d04c  Disable "Download" button if browser is not available.
     add 4086b33  Path to JavaFX installation directory should be relative to 
$BASE_DIR when possible.
     add adde8f4  Replace Map.get/put/replace(…) by Map.compute(…) operations.
     add 7bc9a9e  Document better the rational about `SoftReference` in caches, 
and replace one `SoftReference` by `WeakReference` for reducing memory 
retention.
     add ce89d94  Portrayal : add SEPortrayer aggregated resource test
     add c12f80c  Refactor `ValueColorMapper` as a `Widget` subclass. The 
intent is to allow more complex GUI later (with controls for specifying a range 
of isoline levels instead than entering values one-by-one).
     add b389939  Provide a contextual menu for generating isolines at a 
constant interval in a range. This work required a refactoring of the way we 
validate `TextField` value in order to share code.
     add 2d01b06  Use `BigDecimal` for computation of intermediate levels for 
making sure that we do not surprise users with rounding errors before final 
conversion to `double`.
     add e05a30a  Add a `CoverageCanvasApp` for manual & visual testing of 
`CoverageCanvas`.
     add 27db458  Fix Javadoc links.
     add c40cdfb  Replace `Consumer<LogRecord>` by a new `ErrorHandler` 
interface. It allows us to provide more information about failures, in 
particular a list of tiles that failed.
     add d27acc8  Clarify which `LogRecord` properties are initialised when an 
error is reported.
     add 1556a92  Add the possibility to substitute a tile placeholder in 
"prefetch" operation if an error handler has been specified.
     add 4fd2a67  Try to provide a better coverage of error handling during 
`CoverageCanvas` rendering: - Replace the various 
`ErrorHander.Report.addFoo(…)` methods by a single `add(…)` method giving more 
control on the `LogRecord` content. - Make `ErrorHandler.Report` thread-safe 
and document the synchronization lock to use when modifying the `LogRecord` 
content. - Allow `PrefetchedImage` to perform rendering in a mode where 
exceptions are caught and tiles are replaced by place-holders.  [...]
     add 7538f73  Apply `ErrorHandler` during sequential operations too, not 
only during parallel operations.
     add d6ca8ba  Better catching of exceptions to be reported to user.
     add 3bba8ad  Remove `transformOnNewImage`, which was not necessary. It 
simplifies the handling of transforms and seems to resolve a discontinuity 
sometime observed during pan events.
     add 6e39e36  Increase the off-screen margin for smother pan gestures.
     add 2e68ca4  Add a public API for isolines.
     add efc8fd2  Better error messages.
     add 33701c6  Make possible to apply linearizers on localization grid and 
have the final coordinates in the "linearized" CRS, without converting them 
back to the original CRS. The use case is the application of Universal 
Transverse Mercator (UTM) projection on GCOM rasters for making their "grid to 
CRS" closer to affine transforms. In this case, we want to keep UTM coordinates 
in the final result, not reconverting them back to geographic coordinates.
     add 5dfb974  Upgrade dependencies.
     add 0a33751  Portrayal : add SEPortrayer preserve properties hint and 
testcase
     add 3dae4f4  Portrayal : fix cases where rule filter properties are not 
returned
     add 2d6d2a7  Portrayal : fix exception when using a property on a 
sub-featuretype in style definition
     add d043566  Fix `NoSuchMethodException` when cloning an array and 
`NullPointerException` when writing legacy metadata properties. This is a 
side-effect of work done in ASF-OGC-OSGeo join code sprint.
     add da11a2e  Upgrade UCAR netCDF dependency from version 4.6.15 to 5.4.1. 
Changes in UCAR API are documented at there: 
https://docs.unidata.ucar.edu/netcdf-java/current/userguide/upgrade_to_50.html
     add cbd2a0b  Restore the same set of `NetcdfDataset.Enhance` mode than 
before the upgrade to UCAR library version 5. It is important in particular to 
NOT put the `ConvertUnsigned` mode, because Apache SIS handles unsigned 
integers in a different way than what UCAR does. Remove usage of deprecated 
`enhance` method.
     add 27a08d6  Finer determination of Transverse Mercator domain of validity.
     add b0c3203  After having verified that `TransverseMercator` now behave 
like a monotonic function up to 90° of longitude, remove the limit previously 
set at 70°. Add notes saying that results for longitude larger than 60° are 
inexact. We nevertheless allow computations between 60° and 90° because they 
are required for handling some raster data.
     add 3d32ab4  Add clarification in comments.
     add e9ad9cf  Replace ≧ by ≥ and ≦ by ≤.
     add 0bb4160  Replace some http: protocols by https: and remove links that 
seem not active anymore.
     add 5d86b40  Remove the `netcdf.version` property. It is not needed 
anymore since we have only one dependency.
     add 4658dfb  Avoid use of the deprecated 
`ucar.nc2.dataset.CoordSysBuilder` class. It forces us to register a 
`ucar.nc2.dataset.spi.CoordSystemBuilderFactory` using Service Provider 
Interface (SPI), which is a bit unfortunate because it has a global effect on 
system configuration. But we do this registration only if the 
`sis-japan-profile` is in the classpath.
     new c1ac7e6  Merge branch 'geoapi-4.0' into 
refactor/strict_storage_connector
     new ffe5d46  chore(Storage): report improvements done in Geotk copy

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 NOTICE                                             |    7 +-
 application/pom.xml                                |    2 +-
 application/sis-console/pom.xml                    |    2 +-
 application/sis-javafx/pom.xml                     |    4 +-
 application/sis-javafx/src/main/artifact/bin/sisfx |    9 +-
 .../sis-javafx/src/main/artifact/bin/sisfx.bat     |    2 +-
 .../main/java/org/apache/sis/gui/DataViewer.java   |    8 +-
 .../main/java/org/apache/sis/gui/RecentFiles.java  |  154 +++
 .../apache/sis/gui/coverage/CategoryColors.java    |  169 ---
 .../sis/gui/coverage/CategoryColorsCell.java       |  365 ------
 .../org/apache/sis/gui/coverage/CellFormat.java    |    9 +-
 .../apache/sis/gui/coverage/CoverageCanvas.java    |  316 ++++-
 .../apache/sis/gui/coverage/CoverageControls.java  |   26 +-
 .../apache/sis/gui/coverage/CoverageStyling.java   |   87 +-
 .../org/apache/sis/gui/coverage/GridError.java     |    2 +-
 .../java/org/apache/sis/gui/coverage/GridView.java |    6 +-
 .../org/apache/sis/gui/coverage/GridViewSkin.java  |   52 +-
 .../apache/sis/gui/coverage/IsolineRenderer.java   |  498 ++++++++
 .../org/apache/sis/gui/coverage/RenderingData.java |  243 +++-
 .../org/apache/sis/gui/dataset/CopyAction.java     |    2 +-
 .../apache/sis/gui/dataset/ExpandedFeature.java    |    8 +
 .../org/apache/sis/gui/dataset/FeatureTable.java   |   10 +-
 .../java/org/apache/sis/gui/dataset/LoadEvent.java |   66 +
 .../java/org/apache/sis/gui/dataset/LogViewer.java |    2 +-
 .../apache/sis/gui/dataset/ResourceExplorer.java   |   24 +-
 .../org/apache/sis/gui/dataset/ResourceTree.java   |   51 +-
 .../java/org/apache/sis/gui/map/MapCanvas.java     |  258 ++--
 .../java/org/apache/sis/gui/map/MapCanvasAWT.java  |  228 ++--
 .../main/java/org/apache/sis/gui/map/MapMenu.java  |    2 +-
 .../java/org/apache/sis/gui/map/RenderingMode.java |   51 -
 .../java/org/apache/sis/gui/map/StatusBar.java     |   24 +-
 .../sis/gui/metadata/StandardMetadataTree.java     |    4 +-
 .../org/apache/sis/gui/referencing/CRSChooser.java |    2 +-
 .../gui/referencing/PositionableProjection.java    |   19 +
 .../gui/referencing/RecentReferenceSystems.java    |    2 +-
 .../apache/sis/internal/gui/ExceptionReporter.java |  161 ++-
 .../sis/internal/gui/ImmutableObjectProperty.java  |    5 +-
 .../org/apache/sis/internal/gui/PropertyView.java  |    2 +-
 .../org/apache/sis/internal/gui/RecentChoices.java |   24 +
 .../apache/sis/internal/gui/ResourceLoader.java    |    6 +-
 .../org/apache/sis/internal/gui/Resources.java     |   31 +
 .../apache/sis/internal/gui/Resources.properties   |    6 +
 .../sis/internal/gui/Resources_fr.properties       |    6 +
 .../java/org/apache/sis/internal/gui/Styles.java   |   21 +-
 .../apache/sis/internal/gui/control/ColorCell.java |  457 +++++++
 .../internal/gui/control/ColorColumnHandler.java   |  148 +++
 .../apache/sis/internal/gui/control/ColorRamp.java |  234 ++++
 .../sis/internal/gui/control/FormatApplicator.java |  253 ++++
 .../sis/internal/gui/control/FormatTableCell.java  |  261 ++++
 .../sis/internal/gui/control/ValueColorMapper.java |  558 +++++++++
 .../sis/internal/gui/control}/package-info.java    |   15 +-
 .../org/apache/sis/internal/setup/FXFinder.java    |  416 +++++--
 .../org/apache/sis/internal/setup/Inflater.java    |  175 +++
 .../sis/internal/setup/LoggingConfiguration.java   |   17 +-
 .../java/org/apache/sis/internal/setup/Wizard.java |  757 ++++++++++++
 .../org/apache/sis/internal/setup/WizardPage.java  |  114 ++
 .../org/apache/sis/gui/pseudo-classes.css          |    6 +
 .../apache/sis/gui/coverage/CoverageCanvasApp.java |  129 ++
 .../sis/gui/coverage/CoverageStylingApp.java       |    6 +-
 .../org/apache/sis/gui/coverage/GridViewApp.java   |   22 +-
 .../gui/control/ValueColorMapperApp.java}          |   55 +-
 application/sis-openoffice/pom.xml                 |    2 +-
 core/pom.xml                                       |   12 +-
 core/sis-build-helper/pom.xml                      |    4 +-
 .../apache/sis/internal/book/CodeColorizer.java    |    6 +-
 core/sis-cql/pom.xml                               |    2 +-
 core/sis-feature/pom.xml                           |    8 +-
 .../coverage/grid/CoordinateOperationFinder.java   |  256 ++--
 .../sis/coverage/grid/GridCoordinatesView.java     |   13 +-
 .../org/apache/sis/coverage/grid/GridCoverage.java |    2 +-
 .../apache/sis/coverage/grid/GridCoverage2D.java   |    2 +-
 .../sis/coverage/grid/GridCoverageBuilder.java     |   19 +-
 .../apache/sis/coverage/grid/GridDerivation.java   |   22 +-
 .../org/apache/sis/coverage/grid/GridExtent.java   |   42 +-
 .../org/apache/sis/coverage/grid/GridGeometry.java |   88 +-
 .../apache/sis/coverage/grid/GridOrientation.java  |  210 +++-
 .../sis/coverage/grid/ResampledGridCoverage.java   |    6 +-
 .../apache/sis/coverage/grid/SliceGeometry.java    |    6 +-
 .../org/apache/sis/feature/AbstractFeature.java    |   39 +-
 .../java/org/apache/sis/feature/DenseFeature.java  |   25 +-
 .../java/org/apache/sis/feature/SparseFeature.java |   27 +-
 .../apache/sis/feature/StringJoinOperation.java    |    2 +-
 .../sis/feature/builder/AttributeTypeBuilder.java  |   31 +-
 .../org/apache/sis/filter/ComparisonFunction.java  |    2 +-
 .../org/apache/sis/filter/DefaultObjectId.java     |   12 +-
 .../org/apache/sis/filter/FilterByIdentifier.java  |    7 +-
 .../java/org/apache/sis/image/AnnotatedImage.java  |  107 +-
 .../java/org/apache/sis/image/BandedIterator.java  |  444 +++++++
 .../java/org/apache/sis/image/DefaultIterator.java |  725 -----------
 .../java/org/apache/sis/image/ErrorAction.java     |   83 ++
 .../java/org/apache/sis/image/ErrorHandler.java    |  216 ++++
 .../java/org/apache/sis/image/ImageProcessor.java  |  209 ++--
 .../java/org/apache/sis/image/LinearIterator.java  |  124 --
 .../java/org/apache/sis/image/PixelIterator.java   |  780 ++++++++++--
 .../java/org/apache/sis/image/PlanarImage.java     |    2 +-
 .../java/org/apache/sis/image/PrefetchedImage.java |  172 ++-
 .../org/apache/sis/image/StatisticsCalculator.java |    2 +-
 .../main/java/org/apache/sis/image/TileCache.java  |   24 +-
 .../apache/sis/image/WritablePixelIterator.java    |   85 +-
 .../sis/internal/coverage/j2d/ImageUtilities.java  |   24 +
 .../sis/internal/coverage/j2d/RasterFactory.java   |    6 +-
 .../internal/coverage/j2d/TileErrorHandler.java    |  123 ++
 .../sis/internal/coverage/j2d/TileOpExecutor.java  |  236 ++--
 .../sis/internal/feature/AbstractGeometry.java     |   32 +-
 .../sis/internal/feature/AttributeConvention.java  |   17 +
 .../apache/sis/internal/feature/Geometries.java    |   25 +
 .../sis/internal/feature/GeometryWrapper.java      |    2 +-
 .../feature/{DateList.java => InstantList.java}    |   24 +-
 .../sis/internal/feature/MovingFeatures.java       |  136 +++
 .../org/apache/sis/internal/feature/Resources.java |  153 ++-
 .../sis/internal/feature/Resources.properties      |    1 -
 .../sis/internal/feature/Resources_fr.properties   |    5 +-
 .../sis/internal/feature/j2d/EmptyShape.java       |   64 +
 .../apache/sis/internal/feature/j2d/Factory.java   |   19 +-
 .../apache/sis/internal/feature/j2d/FlatShape.java |  129 ++
 .../sis/internal/feature/j2d/MultiPolylines.java   |  181 +++
 .../sis/internal/feature/j2d/PathBuilder.java      |  268 +++++
 .../apache/sis/internal/feature/j2d/Polygon.java   |   30 +-
 .../apache/sis/internal/feature/j2d/Polyline.java  |  307 +++++
 .../sis/internal/filter/FilterGeometryUtils.java   |    7 +-
 .../internal/processing/image/CompoundFuture.java  |  202 ++++
 .../internal/processing/image/IsolineTracer.java   | 1260 ++++++++++++++++++++
 .../sis/internal/processing/image/Isolines.java    |  506 ++++++++
 .../internal/processing/image/TiledProcess.java    |  394 ++++++
 .../internal/processing/image}/package-info.java   |   16 +-
 .../sis/coverage/grid/GridCoverageBuilderTest.java |    8 +-
 .../sis/coverage/grid/GridDerivationTest.java      |   70 +-
 .../apache/sis/coverage/grid/GridGeometryTest.java |    2 +-
 .../sis/coverage/grid/GridOrientationTest.java     |   75 ++
 .../coverage/grid/ResampledGridCoverageTest.java   |   14 +-
 .../sis/coverage/grid/ReshapedImageTest.java       |    3 +-
 .../apache/sis/feature/AbstractFeatureTest.java    |   10 +-
 .../apache/sis/feature/EnvelopeOperationTest.java  |    2 +-
 .../org/apache/sis/image/BandSelectImageTest.java  |    2 +-
 .../org/apache/sis/image/BandedIteratorTest.java   |   79 ++
 .../sis/image/BandedSampleConverterTest.java       |    3 +-
 .../org/apache/sis/image/ImageCombinerTest.java    |    6 +-
 .../org/apache/sis/image/ImageProcessorTest.java   |   60 +
 .../org/apache/sis/image/LinearIteratorTest.java   |   42 +-
 ...ultIteratorTest.java => PixelIteratorTest.java} |  147 ++-
 .../java/org/apache/sis/image/PlanarImageTest.java |    3 +-
 .../org/apache/sis/image/ResampledImageTest.java   |    3 +-
 .../apache/sis/image/StatisticsCalculatorTest.java |    9 +-
 .../java/org/apache/sis/image/TiledImageMock.java  |  113 +-
 .../sis/internal/feature/j2d/FlatShapeTest.java    |  129 ++
 .../internal/processing/image/IsolinesTest.java    |  375 ++++++
 .../java/org/apache/sis/test/FeatureAssert.java    |   35 +
 .../apache/sis/test/suite/FeatureTestSuite.java    |    9 +-
 core/sis-metadata/pom.xml                          |   10 +-
 .../sis/internal/jaxb/gco/GO_CharacterString.java  |    2 +-
 .../apache/sis/internal/metadata/NameMeaning.java  |    4 +-
 .../sis/internal/metadata/sql/ScriptRunner.java    |    6 +-
 .../apache/sis/metadata/PropertyComparator.java    |    4 +-
 .../org/apache/sis/metadata/TreeNodeChildren.java  |    2 +-
 .../apache/sis/metadata/iso/DefaultMetadata.java   |   17 +-
 .../sis/metadata/iso/citation/Citations.java       |   30 +-
 .../iso/citation/DefaultResponsibleParty.java      |  109 +-
 .../iso/constraint/DefaultReleasability.java       |   30 +-
 .../apache/sis/metadata/iso/extent/Extents.java    |    5 +-
 .../java/org/apache/sis/xml/IdentifiedObject.java  |    2 +-
 .../org/apache/sis/metadata/sql/Citations.sql      |   20 +-
 .../metadata/iso/citation/HardCodedCitations.java  |    6 +-
 .../sis/metadata/sql/MetadataWriterTest.java       |    4 +-
 .../org/apache/sis/test/xml/SchemaCompliance.java  |    5 +-
 core/sis-portrayal/pom.xml                         |    9 +-
 .../sis/internal/map/ExceptionPresentation.java    |   66 +
 .../org/apache/sis/internal/map/GridCanvas.java    |  371 ------
 .../apache/sis/internal/map/ListChangeEvent.java   |   98 ++
 .../org/apache/sis/internal/map/NotifiedList.java  |   72 ++
 .../org/apache/sis/internal/map/Presentation.java  |   56 +-
 .../sis/internal/map/PropertyNameCollector.java    |   42 +-
 .../sis/internal/map/ResourceSymbolizer.java       |   32 +-
 .../org/apache/sis/internal/map/SEPortrayer.java   |  803 +++++++++++++
 .../apache/sis/internal/map/SEPresentation.java    |   85 ++
 .../apache/sis/internal/map/SymbologyVisitor.java  |  484 ++++++++
 .../main/java/org/apache/sis/portrayal/Canvas.java |   46 +-
 .../org/apache/sis/portrayal/CanvasExtent.java     |    6 +-
 .../java/org/apache/sis/portrayal/MapItem.java     |   22 +-
 .../java/org/apache/sis/portrayal/MapLayer.java    |   73 +-
 .../java/org/apache/sis/portrayal/MapLayers.java   |   77 +-
 .../java/org/apache/sis/portrayal/Observable.java  |   59 +-
 .../org/apache/sis/portrayal/PlanarCanvas.java     |    2 +-
 .../sis/internal/map/MockFeatureTypeStyle.java     |  107 ++
 .../sis/internal/map/MockLineSymbolizer.java       |  112 ++
 .../java/org/apache/sis/internal/map/MockRule.java |  131 ++
 .../org/apache/sis/internal/map/MockStyle.java     |   86 ++
 .../apache/sis/internal/map/SEPortrayerTest.java   |  772 ++++++++++++
 .../org/apache/sis/portrayal/MapLayersTest.java    |   99 ++
 .../apache/sis/test/suite/PortrayalTestSuite.java  |   30 +-
 core/sis-referencing-by-identifiers/pom.xml        |    4 +-
 core/sis-referencing/pom.xml                       |    6 +-
 .../org/apache/sis/geometry/AbstractEnvelope.java  |   16 +
 .../org/apache/sis/geometry/CoordinateFormat.java  |    2 +-
 .../java/org/apache/sis/geometry/Envelope2D.java   |   28 +-
 .../java/org/apache/sis/geometry/Envelopes.java    |  328 ++---
 .../org/apache/sis/geometry/GeneralEnvelope.java   |    2 +-
 .../java/org/apache/sis/geometry/Shapes2D.java     |  291 ++---
 .../apache/sis/geometry/WraparoundInEnvelope.java  |  235 ++++
 .../sis/internal/referencing/ExtentSelector.java   |  414 ++++++-
 .../apache/sis/internal/referencing/Formulas.java  |    6 +
 .../internal/referencing/ReferencingUtilities.java |   30 +-
 .../apache/sis/internal/referencing/Resources.java |   26 +-
 .../sis/internal/referencing/Resources.properties  |    7 +-
 .../internal/referencing/Resources_fr.properties   |    7 +-
 .../sis/internal/referencing/TemporalAccessor.java |   14 +-
 .../internal/referencing/VerticalDatumTypes.java   |    2 +-
 .../sis/internal/referencing/WKTKeywords.java      |   84 +-
 .../internal/referencing/WraparoundAdjustment.java |    4 +-
 .../internal/referencing/WraparoundApplicator.java |  156 +++
 .../referencing/provider/DatumShiftGridFile.java   |   11 +-
 .../internal/referencing/provider/Wraparound.java  |    4 +-
 .../java/org/apache/sis/io/wkt/AbstractParser.java |  197 +--
 .../main/java/org/apache/sis/io/wkt/Colors.java    |    1 +
 .../main/java/org/apache/sis/io/wkt/Element.java   |  367 +++---
 .../main/java/org/apache/sis/io/wkt/Formatter.java |   36 +-
 .../apache/sis/io/wkt/GeodeticObjectParser.java    |   51 +-
 .../org/apache/sis/io/wkt/MathTransformParser.java |    4 +-
 .../org/apache/sis/io/wkt/SingletonElement.java    |   83 ++
 .../java/org/apache/sis/io/wkt/StoredTree.java     |  590 +++++++++
 .../main/java/org/apache/sis/io/wkt/Symbols.java   |   24 +-
 .../java/org/apache/sis/io/wkt/WKTDictionary.java  | 1131 ++++++++++++++++++
 .../main/java/org/apache/sis/io/wkt/WKTFormat.java |  331 ++++-
 .../main/java/org/apache/sis/io/wkt/Warnings.java  |    3 +-
 .../java/org/apache/sis/io/wkt/doc-files/ESRI.txt  |   92 ++
 .../java/org/apache/sis/io/wkt/package-info.java   |   11 +-
 .../sis/parameter/MapProjectionDescriptor.java     |    5 +-
 .../main/java/org/apache/sis/referencing/CRS.java  |    2 +-
 .../java/org/apache/sis/referencing/CommonCRS.java |   46 +-
 .../sis/referencing/GeodesicsOnEllipsoid.java      |   48 +-
 .../apache/sis/referencing/GeodeticCalculator.java |   10 +-
 .../apache/sis/referencing/IdentifiedObjects.java  |    2 +-
 .../sis/referencing/crs/AbstractDerivedCRS.java    |   22 +-
 .../sis/referencing/crs/DefaultCompoundCRS.java    |    2 +-
 .../sis/referencing/datum/DefaultEllipsoid.java    |    2 +-
 .../referencing/datum/DefaultGeodeticDatum.java    |   48 +-
 .../referencing/datum/DefaultPrimeMeridian.java    |    2 +-
 .../factory/CommonAuthorityFactory.java            |    2 +-
 .../factory/ConcurrentAuthorityFactory.java        |    2 +-
 .../factory/GeodeticAuthorityFactory.java          |    6 +-
 .../referencing/factory/GeodeticObjectFactory.java |    7 +-
 .../factory/MultiAuthoritiesFactory.java           |    3 +-
 .../sis/referencing/factory/package-info.java      |    2 +-
 .../referencing/factory/sql/EPSGDataAccess.java    |    8 +-
 .../factory/sql/InstallationScriptProvider.java    |    2 +-
 .../sis/referencing/factory/sql/SQLTranslator.java |    2 +-
 .../sis/referencing/factory/sql/TableInfo.java     |    4 +-
 .../sis/referencing/factory/sql/package-info.java  |    2 +-
 .../operation/AbstractCoordinateOperation.java     |    6 +-
 .../apache/sis/referencing/operation/CRSPair.java  |   13 +-
 .../operation/CoordinateOperationRegistry.java     |   17 +-
 .../operation/DefaultOperationMethod.java          |    2 +-
 .../operation/builder/LinearTransformBuilder.java  |  261 ++--
 .../operation/builder/LocalizationGridBuilder.java |  123 +-
 .../operation/builder/ProjectedTransformTry.java   |  179 ++-
 .../operation/builder/ResidualGrid.java            |    6 +-
 .../operation/matrix/AffineTransforms2D.java       |    5 +-
 .../operation/projection/NormalizedProjection.java |   25 +-
 .../operation/projection/TransverseMercator.java   |  132 +-
 .../operation/transform/AbstractMathTransform.java |    2 +
 .../operation/transform/ConcatenatedTransform.java |   61 +-
 .../transform/ConcatenatedTransformDirect.java     |    4 +-
 .../transform/ConcatenatedTransformDirect2D.java   |    4 +-
 .../transform/DefaultMathTransformFactory.java     |    7 +
 .../operation/transform/IdentityTransform.java     |    2 +-
 .../operation/transform/InterpolatedTransform.java |   28 +-
 .../operation/transform/MathTransforms.java        |    1 +
 .../transform/SpecializableTransform.java          |   17 +-
 .../operation/transform/TransformAdapter2D.java    |    6 -
 .../operation/transform}/WraparoundTransform.java  |  532 +++++----
 .../org/apache/sis/referencing/package-info.java   |    4 +-
 .../sis/internal/jaxb/referencing/CodeTest.java    |    2 +-
 .../internal/referencing/ExtentSelectorTest.java   |  147 +++
 .../sis/internal/referencing/FormulasTest.java     |    6 +-
 .../sis/internal/referencing/WKTKeywordsTest.java  |   41 +-
 .../java/org/apache/sis/io/wkt/ElementTest.java    |   31 +-
 .../sis/io/wkt/GeodeticObjectParserTest.java       |    4 +-
 .../apache/sis/io/wkt/MathTransformParserTest.java |    4 +-
 .../java/org/apache/sis/io/wkt/SymbolsTest.java    |   12 +-
 .../org/apache/sis/io/wkt/WKTDictionaryTest.java   |  401 +++++++
 .../java/org/apache/sis/io/wkt/WKTFormatTest.java  |    3 +-
 .../sis/referencing/GeodesicsOnEllipsoidTest.java  |   87 +-
 .../sis/referencing/GeodeticCalculatorTest.java    |  116 +-
 .../datum/DefaultPrimeMeridianTest.java            |    2 -
 .../referencing/factory/sql/EPSGInstallerTest.java |    2 +-
 .../sis/referencing/factory/sql/epsg/package.html  |    6 +-
 .../builder/LinearTransformBuilderTest.java        |    7 +-
 .../operation/builder/ResidualGridTest.java        |    2 +-
 .../operation/projection/InitializerTest.java      |    8 +-
 .../projection/ObliqueStereographicTest.java       |    9 +-
 .../projection/TransverseMercatorTest.java         |   71 +-
 .../doc-files/TransverseMercatorErrors.png         |  Bin 0 -> 7954 bytes
 .../transform/ConcatenatedTransformTest.java       |    2 +-
 .../transform/InterpolatedTransformTest.java       |    2 +-
 .../operation/transform/MathTransformTestCase.java |    2 +-
 .../transform}/WraparoundTransformTest.java        |   59 +-
 .../report/CoordinateOperationMethods.java         |    2 +-
 .../sis/test/suite/ReferencingTestSuite.java       |    4 +-
 .../resources/org/apache/sis/io/wkt/ExtraCRS.txt   |   81 ++
 .../resources/org/apache/sis/io/wkt/Malformed.txt  |   13 +
 core/sis-utility/pom.xml                           |   10 +-
 .../java/org/apache/sis/internal/jdk9/JDK9.java    |  163 ++-
 .../org/apache/sis/internal/system/Modules.java    |   10 +
 .../sis/internal/util/BaseStreamDecoration.java    |  104 --
 .../java/org/apache/sis/internal/util/Cloner.java  |   76 +-
 .../apache/sis/internal/util/CollectionsExt.java   |    7 +-
 .../apache/sis/internal/util/DefinitionURI.java    |    6 +-
 .../sis/internal/util/DoubleStreamDecoration.java  |  201 ----
 .../org/apache/sis/internal/util/Numerics.java     |    2 +-
 .../sis/internal/util/StandardDateFormat.java      |   46 +-
 .../apache/sis/internal/util/StreamDecoration.java |  219 ----
 .../java/org/apache/sis/internal/util/Strings.java |   36 +-
 .../src/main/java/org/apache/sis/io/IO.java        |    2 +-
 .../main/java/org/apache/sis/io/package-info.java  |    4 +-
 .../main/java/org/apache/sis/math/ArrayVector.java |  155 ++-
 .../org/apache/sis/math/ConcatenatedVector.java    |   10 +-
 .../main/java/org/apache/sis/math/Fraction.java    |    2 +-
 .../org/apache/sis/math/LinearlyDerivedVector.java |   20 +-
 .../java/org/apache/sis/math/PackedVector.java     |   23 +-
 .../java/org/apache/sis/math/RepeatedVector.java   |   28 +-
 .../java/org/apache/sis/math/SequenceVector.java   |   10 +-
 .../java/org/apache/sis/math/StatisticsFormat.java |    3 +-
 .../src/main/java/org/apache/sis/math/Vector.java  |   49 +-
 .../java/org/apache/sis/measure/AngleFormat.java   |   12 +-
 .../java/org/apache/sis/measure/Longitude.java     |    5 +-
 .../java/org/apache/sis/measure/RangeFormat.java   |    6 +-
 .../src/main/java/org/apache/sis/setup/About.java  |   53 +-
 .../apache/sis/setup/InstallationResources.java    |    2 +-
 .../java/org/apache/sis/util/ArgumentChecks.java   |   37 +-
 .../main/java/org/apache/sis/util/ArraysExt.java   |    2 +-
 .../src/main/java/org/apache/sis/util/Numbers.java |    5 +-
 .../apache/sis/util/collection/IntegerList.java    |   38 +-
 .../org/apache/sis/util/collection/TreeTable.java  |    2 +-
 .../sis/util/collection/TreeTableFormat.java       |    4 +-
 .../apache/sis/util/collection/WeakHashSet.java    |   12 +-
 .../sis/util/collection/WeakValueHashMap.java      |   13 +-
 .../org/apache/sis/util/logging/LoggerAdapter.java |    2 +-
 .../apache/sis/util/logging/MonolineFormatter.java |    2 +-
 .../apache/sis/util/logging/PerformanceLevel.java  |   90 +-
 .../java/org/apache/sis/util/resources/Errors.java |   16 +
 .../apache/sis/util/resources/Errors.properties    |    3 +
 .../apache/sis/util/resources/Errors_fr.properties |   11 +-
 .../org/apache/sis/util/resources/Vocabulary.java  |   15 +
 .../sis/util/resources/Vocabulary.properties       |    3 +
 .../sis/util/resources/Vocabulary_fr.properties    |    3 +
 .../sis/internal/util/StandardDateFormatTest.java  |    4 +-
 .../org/apache/sis/internal/util/StringsTest.java  |    8 +-
 .../test/java/org/apache/sis/util/ClassesTest.java |    2 +-
 .../sis/util/logging/PerformanceLevelTest.java     |   46 +-
 ide-project/NetBeans/build.xml                     |   13 +
 ide-project/NetBeans/nbproject/build-impl.xml      |    1 +
 ide-project/NetBeans/nbproject/genfiles.properties |    4 +-
 ide-project/NetBeans/nbproject/project.properties  |   26 +-
 pom.xml                                            |   63 +-
 profiles/pom.xml                                   |    6 +-
 profiles/sis-french-profile/pom.xml                |    6 +-
 .../internal/profile/fra/DirectReferenceSystem.xml |    2 +-
 profiles/sis-japan-profile/pom.xml                 |    4 +-
 .../sis/internal/earth/netcdf/FactoryForUCAR.java  |  123 ++
 .../apache/sis/internal/earth/netcdf/GCOM_C.java   |   13 +-
 .../apache/sis/internal/earth/netcdf/GCOM_W.java   |   57 +-
 .../ucar.nc2.dataset.spi.CoordSystemBuilderFactory |    1 +
 storage/pom.xml                                    |    8 +-
 storage/sis-earth-observation/pom.xml              |    8 +-
 .../storage/earthobservation/LandsatReader.java    |    4 +-
 .../doc-files/LandsatMetadata.html                 |    3 +-
 storage/sis-gdal/pom.xml                           |    4 +-
 storage/sis-geotiff/pom.xml                        |    8 +-
 .../sis/internal/geotiff/Resources_fr.properties   |    2 +-
 .../org/apache/sis/storage/geotiff/CRSBuilder.java |    2 +-
 storage/sis-netcdf/pom.xml                         |    8 +-
 .../java/org/apache/sis/internal/netcdf/Axis.java  |  222 ++--
 .../org/apache/sis/internal/netcdf/AxisType.java   |  179 +++
 .../org/apache/sis/internal/netcdf/CRSBuilder.java |  175 ++-
 .../org/apache/sis/internal/netcdf/Convention.java |   48 +-
 .../org/apache/sis/internal/netcdf/DataType.java   |   60 +-
 .../org/apache/sis/internal/netcdf/Decoder.java    |  100 +-
 .../sis/internal/netcdf/DiscreteSampling.java      |   12 +-
 .../org/apache/sis/internal/netcdf/FeatureSet.java |  950 +++++++++++++++
 .../java/org/apache/sis/internal/netcdf/Grid.java  |  144 ++-
 .../apache/sis/internal/netcdf/GridCacheKey.java   |   31 +-
 .../apache/sis/internal/netcdf/GridCacheValue.java |   77 ++
 .../apache/sis/internal/netcdf/GridMapping.java    |   62 +-
 .../sis/internal/netcdf/{impl => }/HYCOM.java      |   15 +-
 .../org/apache/sis/internal/netcdf/Linearizer.java |  259 ++--
 .../java/org/apache/sis/internal/netcdf/Node.java  |   33 +-
 .../apache/sis/internal/netcdf/RasterResource.java |   47 +-
 .../org/apache/sis/internal/netcdf/Resources.java  |   35 +-
 .../sis/internal/netcdf/Resources.properties       |    8 +-
 .../sis/internal/netcdf/Resources_fr.properties    |   16 +-
 .../sis/internal/netcdf/SatelliteGroundTrack.java  |  246 ----
 .../org/apache/sis/internal/netcdf/Variable.java   |  384 +++++-
 .../apache/sis/internal/netcdf/VariableRole.java   |   13 +-
 .../sis/internal/netcdf/impl/ChannelDecoder.java   |  137 ++-
 .../sis/internal/netcdf/impl/FeaturesInfo.java     |  426 -------
 .../apache/sis/internal/netcdf/impl/GridInfo.java  |  111 +-
 .../sis/internal/netcdf/impl/VariableInfo.java     |  365 +++---
 .../sis/internal/netcdf/impl/package-info.java     |    4 +-
 .../internal/netcdf/ucar/CSBuilderFallback.java    |   93 --
 .../sis/internal/netcdf/ucar/DecoderWrapper.java   |  156 ++-
 .../sis/internal/netcdf/ucar/DimensionWrapper.java |    7 +-
 .../sis/internal/netcdf/ucar/FeaturesWrapper.java  |   17 +-
 .../sis/internal/netcdf/ucar/GridWrapper.java      |   72 +-
 .../sis/internal/netcdf/ucar/GroupWrapper.java     |    8 +-
 .../org/apache/sis/internal/netcdf/ucar/Utils.java |    4 +-
 .../sis/internal/netcdf/ucar/VariableWrapper.java  |  260 ++--
 .../sis/internal/netcdf/ucar/package-info.java     |    4 +-
 .../apache/sis/storage/netcdf/AttributeNames.java  |    1 -
 .../apache/sis/storage/netcdf/MetadataReader.java  |    5 +-
 .../org/apache/sis/storage/netcdf/NetcdfStore.java |    2 +-
 .../sis/storage/netcdf/NetcdfStoreProvider.java    |   31 +-
 .../apache/sis/storage/netcdf/package-info.java    |   14 +-
 .../apache/sis/internal/netcdf/DataTypeTest.java   |   42 +-
 .../apache/sis/internal/netcdf/FeatureSetTest.java |  200 ++++
 .../org/apache/sis/internal/netcdf/GridTest.java   |   45 +-
 .../internal/netcdf/SatelliteGroundTrackTest.java  |   81 --
 .../apache/sis/internal/netcdf/VariableTest.java   |   28 +-
 .../{VariableInfoTest.java => FeatureSetTest.java} |   24 +-
 .../sis/internal/netcdf/impl/GridInfoTest.java     |    9 +-
 .../sis/internal/netcdf/impl/VariableInfoTest.java |    3 +-
 .../org/apache/sis/test/suite/NetcdfTestSuite.java |    5 +-
 .../apache/sis/internal/shapefile/AutoChecker.java |    3 +-
 .../internal/shapefile/ShapefileByteReader.java    |    3 +-
 .../sis/storage/shapefile/InputFeatureStream.java  |    3 +-
 .../internal/sql/feature/BaseStreamWrapper.java    |  159 +++
 .../internal/sql/feature/DoubleStreamWrapper.java  |  343 ++++++
 .../sql/feature/GeometryIdentification.java        |    2 +-
 .../sis/internal/sql/feature/OGC06104r4.java       |    3 +-
 .../sis/internal/sql/feature/PostGISMapping.java   |    7 +-
 .../sis/internal/sql/feature/QueryFeatureSet.java  |    2 +-
 .../sis/internal/sql/feature/SQLQueryAdapter.java  |    1 -
 .../sis/internal/sql/feature/SpatialFunctions.java |    5 +-
 .../apache/sis/internal/sql/feature/StreamSQL.java |   38 +-
 .../sis/internal/sql/feature/StreamWrapper.java    |  373 ++++++
 .../sis/internal/sql/feature}/SubsetAdapter.java   |   42 +-
 .../org/apache/sis/internal/sql/feature/Table.java |    1 -
 .../org/apache/sis/storage/sql/package-info.java   |    2 +-
 storage/sis-storage/pom.xml                        |    8 +-
 .../sis/internal/storage/AbstractGridResource.java |   72 +-
 .../org/apache/sis/internal/storage/Resources.java |   10 +
 .../sis/internal/storage/Resources.properties      |    2 +
 .../sis/internal/storage/Resources_fr.properties   |    4 +-
 .../sis/internal/storage/StoreUtilities.java       |   32 +-
 .../apache/sis/internal/storage/URIDataStore.java  |    3 +-
 .../internal/storage/csv/MovingFeatureBuilder.java |   46 +-
 .../storage/csv/MovingFeatureIterator.java         |   11 +-
 .../org/apache/sis/internal/storage/csv/Store.java |    3 +-
 .../storage/folder/FolderStoreProvider.java        |    3 +-
 .../sis/internal/storage/io/ChannelFactory.java    |    5 +-
 .../internal/storage/io/HyperRectangleReader.java  |    4 +-
 .../sis/internal/storage/io/IOUtilities.java       |   31 +-
 .../org/apache/sis/internal/storage/io/Region.java |   39 +-
 .../org/apache/sis/storage/DataStoreProvider.java  |    8 +-
 .../org/apache/sis/storage/StorageConnector.java   |    4 +-
 .../apache/sis/storage/StrictStorageConnector.java |   73 +-
 .../apache/sis/storage/event/StoreListeners.java   |   10 +-
 .../sis/internal/storage/StoreUtilitiesTest.java   |   34 +-
 .../sis/storage/StrictStorageConnectorTest.java    |    4 +-
 .../apache/sis/test/suite/StorageTestSuite.java    |    1 +
 storage/sis-xmlstore/pom.xml                       |    2 +-
 459 files changed, 27911 insertions(+), 7872 deletions(-)
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/RecentFiles.java
 delete mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/CategoryColors.java
 delete mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/CategoryColorsCell.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/IsolineRenderer.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/dataset/LoadEvent.java
 delete mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/map/RenderingMode.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/internal/gui/control/ColorCell.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/internal/gui/control/ColorColumnHandler.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/internal/gui/control/ColorRamp.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/internal/gui/control/FormatApplicator.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/internal/gui/control/FormatTableCell.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/internal/gui/control/ValueColorMapper.java
 copy {storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/ucar => 
application/sis-javafx/src/main/java/org/apache/sis/internal/gui/control}/package-info.java
 (69%)
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/internal/setup/Inflater.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/internal/setup/Wizard.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/internal/setup/WizardPage.java
 create mode 100644 
application/sis-javafx/src/main/resources/org/apache/sis/gui/pseudo-classes.css
 create mode 100644 
application/sis-javafx/src/test/java/org/apache/sis/gui/coverage/CoverageCanvasApp.java
 copy 
application/sis-javafx/src/test/java/org/apache/sis/{gui/coverage/CoverageStylingApp.java
 => internal/gui/control/ValueColorMapperApp.java} (54%)
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/image/BandedIterator.java
 delete mode 100644 
core/sis-feature/src/main/java/org/apache/sis/image/DefaultIterator.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/image/ErrorAction.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/image/ErrorHandler.java
 delete mode 100644 
core/sis-feature/src/main/java/org/apache/sis/image/LinearIterator.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/coverage/j2d/TileErrorHandler.java
 copy 
storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/VariableRole.java
 => 
core/sis-feature/src/main/java/org/apache/sis/internal/feature/AbstractGeometry.java
 (51%)
 rename 
core/sis-feature/src/main/java/org/apache/sis/internal/feature/{DateList.java 
=> InstantList.java} (72%)
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/feature/MovingFeatures.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/EmptyShape.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/FlatShape.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/MultiPolylines.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/PathBuilder.java
 copy 
storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/VariableRole.java
 => 
core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/Polygon.java 
(62%)
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/Polyline.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/processing/image/CompoundFuture.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/processing/image/IsolineTracer.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/processing/image/Isolines.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/processing/image/TiledProcess.java
 copy {storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/ucar => 
core/sis-feature/src/main/java/org/apache/sis/internal/processing/image}/package-info.java
 (68%)
 create mode 100644 
core/sis-feature/src/test/java/org/apache/sis/coverage/grid/GridOrientationTest.java
 create mode 100644 
core/sis-feature/src/test/java/org/apache/sis/image/BandedIteratorTest.java
 create mode 100644 
core/sis-feature/src/test/java/org/apache/sis/image/ImageProcessorTest.java
 rename 
core/sis-feature/src/test/java/org/apache/sis/image/{DefaultIteratorTest.java 
=> PixelIteratorTest.java} (88%)
 create mode 100644 
core/sis-feature/src/test/java/org/apache/sis/internal/feature/j2d/FlatShapeTest.java
 create mode 100644 
core/sis-feature/src/test/java/org/apache/sis/internal/processing/image/IsolinesTest.java
 create mode 100644 
core/sis-portrayal/src/main/java/org/apache/sis/internal/map/ExceptionPresentation.java
 delete mode 100644 
core/sis-portrayal/src/main/java/org/apache/sis/internal/map/GridCanvas.java
 create mode 100644 
core/sis-portrayal/src/main/java/org/apache/sis/internal/map/ListChangeEvent.java
 create mode 100644 
core/sis-portrayal/src/main/java/org/apache/sis/internal/map/NotifiedList.java
 copy 
storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/VariableRole.java
 => 
core/sis-portrayal/src/main/java/org/apache/sis/internal/map/PropertyNameCollector.java
 (55%)
 copy 
storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/VariableRole.java
 => 
core/sis-portrayal/src/main/java/org/apache/sis/internal/map/ResourceSymbolizer.java
 (62%)
 create mode 100644 
core/sis-portrayal/src/main/java/org/apache/sis/internal/map/SEPortrayer.java
 create mode 100644 
core/sis-portrayal/src/main/java/org/apache/sis/internal/map/SEPresentation.java
 create mode 100644 
core/sis-portrayal/src/main/java/org/apache/sis/internal/map/SymbologyVisitor.java
 create mode 100644 
core/sis-portrayal/src/test/java/org/apache/sis/internal/map/MockFeatureTypeStyle.java
 create mode 100644 
core/sis-portrayal/src/test/java/org/apache/sis/internal/map/MockLineSymbolizer.java
 create mode 100644 
core/sis-portrayal/src/test/java/org/apache/sis/internal/map/MockRule.java
 create mode 100644 
core/sis-portrayal/src/test/java/org/apache/sis/internal/map/MockStyle.java
 create mode 100644 
core/sis-portrayal/src/test/java/org/apache/sis/internal/map/SEPortrayerTest.java
 create mode 100644 
core/sis-portrayal/src/test/java/org/apache/sis/portrayal/MapLayersTest.java
 copy 
storage/sis-netcdf/src/test/java/org/apache/sis/test/suite/NetcdfTestSuite.java 
=> 
core/sis-portrayal/src/test/java/org/apache/sis/test/suite/PortrayalTestSuite.java
 (54%)
 create mode 100644 
core/sis-referencing/src/main/java/org/apache/sis/geometry/WraparoundInEnvelope.java
 create mode 100644 
core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/WraparoundApplicator.java
 create mode 100644 
core/sis-referencing/src/main/java/org/apache/sis/io/wkt/SingletonElement.java
 create mode 100644 
core/sis-referencing/src/main/java/org/apache/sis/io/wkt/StoredTree.java
 create mode 100644 
core/sis-referencing/src/main/java/org/apache/sis/io/wkt/WKTDictionary.java
 create mode 100644 
core/sis-referencing/src/main/java/org/apache/sis/io/wkt/doc-files/ESRI.txt
 rename core/sis-referencing/src/main/java/org/apache/sis/{internal/referencing 
=> referencing/operation/transform}/WraparoundTransform.java (53%)
 create mode 100644 
core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/ExtentSelectorTest.java
 create mode 100644 
core/sis-referencing/src/test/java/org/apache/sis/io/wkt/WKTDictionaryTest.java
 create mode 100644 
core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/doc-files/TransverseMercatorErrors.png
 rename core/sis-referencing/src/test/java/org/apache/sis/{internal/referencing 
=> referencing/operation/transform}/WraparoundTransformTest.java (79%)
 create mode 100644 
core/sis-referencing/src/test/resources/org/apache/sis/io/wkt/ExtraCRS.txt
 create mode 100644 
core/sis-referencing/src/test/resources/org/apache/sis/io/wkt/Malformed.txt
 delete mode 100644 
core/sis-utility/src/main/java/org/apache/sis/internal/util/BaseStreamDecoration.java
 delete mode 100644 
core/sis-utility/src/main/java/org/apache/sis/internal/util/DoubleStreamDecoration.java
 delete mode 100644 
core/sis-utility/src/main/java/org/apache/sis/internal/util/StreamDecoration.java
 create mode 100644 
profiles/sis-japan-profile/src/main/java/org/apache/sis/internal/earth/netcdf/FactoryForUCAR.java
 create mode 100644 
profiles/sis-japan-profile/src/main/resources/META-INF/services/ucar.nc2.dataset.spi.CoordSystemBuilderFactory
 create mode 100644 
storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/AxisType.java
 create mode 100644 
storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/FeatureSet.java
 create mode 100644 
storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/GridCacheValue.java
 rename storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/{impl 
=> }/HYCOM.java (91%)
 delete mode 100644 
storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/SatelliteGroundTrack.java
 delete mode 100644 
storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/impl/FeaturesInfo.java
 delete mode 100644 
storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/ucar/CSBuilderFallback.java
 create mode 100644 
storage/sis-netcdf/src/test/java/org/apache/sis/internal/netcdf/FeatureSetTest.java
 delete mode 100644 
storage/sis-netcdf/src/test/java/org/apache/sis/internal/netcdf/SatelliteGroundTrackTest.java
 copy 
storage/sis-netcdf/src/test/java/org/apache/sis/internal/netcdf/impl/{VariableInfoTest.java
 => FeatureSetTest.java} (73%)
 create mode 100644 
storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/BaseStreamWrapper.java
 create mode 100644 
storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/DoubleStreamWrapper.java
 create mode 100644 
storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/StreamWrapper.java
 rename storage/{sis-storage/src/main/java/org/apache/sis/internal/storage => 
sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature}/SubsetAdapter.java
 (91%)
 rename 
core/sis-feature/src/main/java/org/apache/sis/internal/feature/MovingFeature.java
 => 
storage/sis-storage/src/main/java/org/apache/sis/internal/storage/csv/MovingFeatureBuilder.java
 (88%)
 copy 
core/sis-utility/src/test/java/org/apache/sis/internal/util/StringsTest.java => 
storage/sis-storage/src/test/java/org/apache/sis/internal/storage/StoreUtilitiesTest.java
 (51%)

Reply via email to