This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/sis.git
from a04bd4b298 Merge branch 'geoapi-3.1'. add ed1a0e5c2e Add a test case provided by Michael about wraparound issue. add 5d140fe701 Fix a memory leak in `Cache` when elements are removed by explicit calls to `remove(…)`. The key change is the replacement of this line in `adjustReferences(…)`: add 11eaff770e Add overflow-safe `GridExtent.getMedian(int)` method. Leverage existing methods (minor update). add 834dab1405 Documentation, localisation, minor code formatting. add ab1c1baf1f First draft of `CoverageAggregator` for creating a concatenated grid coverage. The concatenation happens in a single dimension, for example the time, in which case the concatenation of many grid coverages create a time series. add 62b9157dbf Fix typo in coordinate operation method name: in "Coordinate Frame rotation", the "r" should be lower case in agreement with EPSG database and for consistency with other methods such as "Position Vector transformation". add 525142f364 Add a few `SuppressWarnings("serial")` annotations for fields that are not statically typed as Serializable. Documentation fixes. add f9060a68d4 Parameters reported by `SingleOperation.getParameters()` sometime did not described what the `MathTransform` was really doing. Now when a correct set of parameters can not be easily determined, the parameter group is left unspecified (null reference). Parameters that can be inferred from the context should not be listed, because they may cause `InvalidParameterNameException` when those values are copied in a `ParameterValueGroup` that do not expect them (e.g. if trying [...] add 07f36ec2de fix(GridExtent): fix equals test fails with dimensionNames=null and dimensionNames=[null,null] add 9df7ce65de Allow instantiation of temporal CRS by identifiers. add 95ab3d9cd6 Add upsample methods on GridExtent and GridGeometry add f1c09cd373 Review the new `upsampling(int...)` methods with the following changes: add 330ec3074e Suppress warnings about fields that are not statically typed as serializable. Applied only on metadata implementation classes for now. add 7c1d9bd433 Fix a broken Unicode character in Javadoc. add 81026e057d Rename `MetadataUtilities` as `ImplementationHelper`. This is for making room for an user-oriented `MetadataUtilities` class. add f2f389fa68 Make the reference to source resource accessible throught lineage metadata. add 7f93d02b52 Provide a little bit more information about queries in the lineage metadata. add 305acc3750 Add an API (internal for now) for building an aggregated view from all the files found in a directory. add 9948d7887b Keep a reference to the folder data store that produced the aggregation view. This references can be obtained by `StoreUtilities.getSources(aggregation)`. add f0a2456d6f Move the static nested classes of `ResourceTree` as package-private top-level classes. Those classes are becoming bigger as new actions (e.g. context menu items) are added. add db2229823d Fix an erroneous calculation of resolution on call to `GridGeometry.upsample(…)`. add 01376f0492 When an aggregation is simplified because it contains only one element, inherit the name of its parent. The parent may itself inherit the name of its parent, etc. This is needed because otherwise when showing resources in a tree, we tend to get names that are the same as siblings. add 657f53891b Add a menu item for showing the aggregated view of the content of a folder. add 8974565553 Add a protected `createConvertedView(boolean)` method that subclasses can override for taking advantage of the caching provide by public `forConvertedView(boolean)`. add cf73da5dd6 Allow deferred loading of slice in a concatenated coverage. add 9f6cae9a76 Rename `range` argument as `ranges`. There is no significant code change in this commit. add a26b7f4015 Fix a spelling error: "fist" → "first". add 99646bbeb7 Remove reference to source `Resource` in metadata of derived resource. This is a partial revert of f2f389fa68f4112a35733d85182b06951e0de3ca. add 6f8c006837 Make `GridExtent.intersect(…)` and `union(…)` methods public. add c69c10ddfc Provide a `MergeStrategy` option and provide more information in the error message if `ConcConcatenatedGridCoverage.render(GridExtent)` can not infer a slice. add 6e97a0c713 Documentation improvements in `CoverageAggregator`, `GridExent` and exception messages. add dbc948d067 Change `MergeStrategy` to an ordinary class for allowing custom strategies. Add support for a "select by time, then by geographic area" strategy. add 9218bcd6b3 Move `org.apache.sis.internal.storage.aggregate` package to public API. add 426b57744b Improve caching in `ConcatenatedGridCoverage` by using soft references instead than strong references, and by making possible to share the same cache between derived coverages (e.g. converted coverages). add eea0e6c4f6 Allow change of `MergeStrategy` after resource creation. Use this new API in the JavaFX application. add d4a11f9abc Retrofit `MergeStrategy.update(…)` method as a method of `AggregatedResource` interface. The latter is not public yet, but a future evolution could retrofit in some public API. add ea5179e8dd Partial fix of logging records that were lost: add 75897ab425 When the slider position is updated, the original resource should not be set to null. This is necessary for continuing to receive log events. add b7e9022f41 Avoid excesive amount of "mouse cursor changed" events. add b4cf213bf3 Move `ValueUnderCursor.FromCoverage` as a top-level class for easier maintenance. Refactor for fetching and formatting values in a background thread instead of JavaFX thread. add 6400194662 If a slice does not intersect the requested extent, try other slice candidates. It may happen if the "best" slice was selected using only temporal creteria but the geographic area of that particular slice does not intersect. add 08331faee8 Workaround a misleading error message from ImageIO. add eba0a4bea2 Replace `c.addAll(Arrays.asList(…))` pattern by the simpler `Collections.addAll(c, …)` pattern when the number of elements is small. add 7e3132901f When parsing GCOM-C files, accept `Image_start_time` attribute if `Scane_start_time` is not present. add e8bfb5ea7b Merge branch 'geoapi-4.0' into geoapi-3.1. new 6b507d7cbd Merge branch 'geoapi-3.1'. The 1 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: .../apache/sis/gui/coverage/CoverageExplorer.java | 4 +- .../apache/sis/gui/coverage/GridSliceSelector.java | 1 + .../org/apache/sis/gui/coverage/ImageRequest.java | 4 +- .../apache/sis/gui/coverage/ViewAndControls.java | 2 +- .../org/apache/sis/gui/dataset/ResourceCell.java | 208 ++++++ .../org/apache/sis/gui/dataset/ResourceItem.java | 418 ++++++++++++ .../org/apache/sis/gui/dataset/ResourceTree.java | 528 ++-------------- .../org/apache/sis/gui/dataset/RootResource.java | 135 ++++ .../{package-info.java => TreeViewType.java} | 25 +- .../java/org/apache/sis/gui/map/MapCanvas.java | 18 +- .../java/org/apache/sis/gui/map/StatusBar.java | 68 +- .../org/apache/sis/gui/map/ValuesFormatter.java | 522 +++++++++++++++ .../org/apache/sis/gui/map/ValuesFromCoverage.java | 264 ++++++++ .../org/apache/sis/gui/map/ValuesUnderCursor.java | 699 +++++++-------------- .../apache/sis/internal/gui/DataStoreOpener.java | 1 + .../org/apache/sis/internal/gui/LogHandler.java | 51 +- .../org/apache/sis/internal/gui/Resources.java | 29 +- .../apache/sis/internal/gui/Resources.properties | 2 + .../sis/internal/gui/Resources_fr.properties | 2 + .../sis/coverage/grid/ConvertedGridCoverage.java | 8 + .../sis/coverage/grid/DisjointExtentException.java | 6 +- .../org/apache/sis/coverage/grid/GridCoverage.java | 67 +- .../apache/sis/coverage/grid/GridCoverage2D.java | 16 +- .../apache/sis/coverage/grid/GridDerivation.java | 3 +- .../org/apache/sis/coverage/grid/GridExtent.java | 130 +++- .../org/apache/sis/coverage/grid/GridGeometry.java | 105 +++- .../sis/coverage/grid/TranslatedGridCoverage.java | 15 +- .../org/apache/sis/feature/AbstractAttribute.java | 3 +- .../main/java/org/apache/sis/image/TileCache.java | 31 +- .../apache/sis/coverage/grid/GridExtentTest.java | 40 +- .../apache/sis/coverage/grid/GridGeometryTest.java | 32 + ...ataUtilities.java => ImplementationHelper.java} | 13 +- .../apache/sis/internal/metadata/package-info.java | 2 +- .../sis/internal/simple/CitationConstant.java | 2 - .../org/apache/sis/metadata/MetadataStandard.java | 1 + .../apache/sis/metadata/ModifiableMetadata.java | 2 +- .../apache/sis/metadata/PropertyInformation.java | 1 + .../iso/DefaultApplicationSchemaInformation.java | 4 + .../iso/DefaultExtendedElementInformation.java | 9 +- .../apache/sis/metadata/iso/DefaultIdentifier.java | 2 + .../apache/sis/metadata/iso/DefaultMetadata.java | 39 +- .../iso/DefaultMetadataExtensionInformation.java | 2 + .../sis/metadata/iso/DefaultMetadataScope.java | 1 + .../iso/DefaultPortrayalCatalogueReference.java | 1 + .../org/apache/sis/metadata/iso/ISOMetadata.java | 9 +- .../sis/metadata/iso/MetadataScopeAdapter.java | 6 +- .../acquisition/DefaultAcquisitionInformation.java | 7 + .../acquisition/DefaultEnvironmentalRecord.java | 3 +- .../sis/metadata/iso/acquisition/DefaultEvent.java | 7 +- .../iso/acquisition/DefaultInstrument.java | 4 + .../metadata/iso/acquisition/DefaultObjective.java | 7 + .../metadata/iso/acquisition/DefaultOperation.java | 10 + .../sis/metadata/iso/acquisition/DefaultPlan.java | 3 + .../metadata/iso/acquisition/DefaultPlatform.java | 4 + .../iso/acquisition/DefaultPlatformPass.java | 2 + .../iso/acquisition/DefaultRequestedDate.java | 4 +- .../iso/acquisition/DefaultRequirement.java | 9 +- .../sis/metadata/iso/citation/AbstractParty.java | 2 + .../sis/metadata/iso/citation/DefaultAddress.java | 5 + .../sis/metadata/iso/citation/DefaultCitation.java | 15 +- .../metadata/iso/citation/DefaultCitationDate.java | 4 +- .../sis/metadata/iso/citation/DefaultContact.java | 10 +- .../metadata/iso/citation/DefaultIndividual.java | 1 + .../iso/citation/DefaultOnlineResource.java | 2 + .../metadata/iso/citation/DefaultOrganisation.java | 2 + .../iso/citation/DefaultResponsibility.java | 2 + .../iso/citation/DefaultResponsibleParty.java | 2 +- .../sis/metadata/iso/citation/DefaultSeries.java | 3 + .../metadata/iso/citation/DefaultTelephone.java | 1 + .../iso/constraint/DefaultConstraints.java | 6 + .../iso/constraint/DefaultLegalConstraints.java | 3 + .../iso/constraint/DefaultReleasability.java | 3 + .../iso/constraint/DefaultSecurityConstraints.java | 3 + .../iso/content/DefaultAttributeGroup.java | 2 + .../sis/metadata/iso/content/DefaultBand.java | 3 +- .../iso/content/DefaultCoverageDescription.java | 6 +- .../DefaultFeatureCatalogueDescription.java | 5 +- .../iso/content/DefaultFeatureTypeInfo.java | 3 +- .../iso/content/DefaultImageDescription.java | 7 +- .../iso/content/DefaultRangeDimension.java | 3 + .../content/DefaultRangeElementDescription.java | 3 + .../iso/content/DefaultSampleDimension.java | 5 +- .../metadata/iso/distribution/DefaultDataFile.java | 3 + .../DefaultDigitalTransferOptions.java | 7 +- .../iso/distribution/DefaultDistribution.java | 4 + .../iso/distribution/DefaultDistributor.java | 4 + .../metadata/iso/distribution/DefaultFormat.java | 5 + .../metadata/iso/distribution/DefaultMedium.java | 8 +- .../distribution/DefaultStandardOrderProcess.java | 9 +- .../iso/extent/DefaultBoundingPolygon.java | 1 + .../sis/metadata/iso/extent/DefaultExtent.java | 4 + .../iso/extent/DefaultGeographicDescription.java | 1 + .../iso/extent/DefaultSpatialTemporalExtent.java | 4 +- .../metadata/iso/extent/DefaultTemporalExtent.java | 1 + .../metadata/iso/extent/DefaultVerticalExtent.java | 1 + .../apache/sis/metadata/iso/extent/Extents.java | 55 +- .../sis/metadata/iso/extent/package-info.java | 2 +- .../iso/identification/AbstractIdentification.java | 19 + .../identification/DefaultAssociatedResource.java | 2 + .../iso/identification/DefaultBrowseGraphic.java | 3 + .../iso/identification/DefaultCoupledResource.java | 4 + .../identification/DefaultDataIdentification.java | 7 +- .../iso/identification/DefaultKeywordClass.java | 3 +- .../iso/identification/DefaultKeywords.java | 4 +- .../DefaultOperationChainMetadata.java | 3 + .../identification/DefaultOperationMetadata.java | 6 + .../DefaultRepresentativeFraction.java | 9 +- .../iso/identification/DefaultResolution.java | 3 +- .../DefaultServiceIdentification.java | 10 + .../metadata/iso/identification/DefaultUsage.java | 10 +- .../sis/metadata/iso/lineage/DefaultAlgorithm.java | 2 + .../sis/metadata/iso/lineage/DefaultLineage.java | 7 +- .../iso/lineage/DefaultNominalResolution.java | 2 +- .../metadata/iso/lineage/DefaultProcessStep.java | 10 + .../iso/lineage/DefaultProcessStepReport.java | 3 + .../metadata/iso/lineage/DefaultProcessing.java | 5 + .../sis/metadata/iso/lineage/DefaultSource.java | 9 + .../maintenance/DefaultMaintenanceInformation.java | 7 +- .../sis/metadata/iso/maintenance/DefaultScope.java | 2 + .../iso/maintenance/DefaultScopeDescription.java | 1 + .../sis/metadata/iso/quality/AbstractElement.java | 9 +- .../iso/quality/DefaultConformanceResult.java | 2 + .../iso/quality/DefaultCoverageResult.java | 4 + .../metadata/iso/quality/DefaultDataQuality.java | 3 + .../iso/quality/DefaultQuantitativeResult.java | 4 + .../spatial/AbstractGeolocationInformation.java | 1 + .../sis/metadata/iso/spatial/DefaultDimension.java | 4 +- .../sis/metadata/iso/spatial/DefaultGCP.java | 2 + .../metadata/iso/spatial/DefaultGCPCollection.java | 3 + .../iso/spatial/DefaultGeometricObjects.java | 2 +- .../metadata/iso/spatial/DefaultGeorectified.java | 6 + .../iso/spatial/DefaultGeoreferenceable.java | 4 + .../spatial/DefaultGridSpatialRepresentation.java | 3 +- .../DefaultVectorSpatialRepresentation.java | 1 + .../java/org/apache/sis/util/iso/AbstractName.java | 1 + .../org/apache/sis/util/iso/DefaultLocalName.java | 2 + .../org/apache/sis/util/iso/DefaultMemberName.java | 1 + .../org/apache/sis/util/iso/DefaultNameSpace.java | 1 + .../org/apache/sis/util/iso/DefaultRecord.java | 2 + .../org/apache/sis/util/iso/DefaultRecordType.java | 2 + .../org/apache/sis/util/iso/RecordDefinition.java | 1 + ...tiesTest.java => ImplementationHelperTest.java} | 30 +- .../sis/metadata/iso/DefaultMetadataTest.java | 3 +- .../apache/sis/test/suite/MetadataTestSuite.java | 2 +- .../MultiResolutionCoverageLoaderTest.java | 2 +- .../java/org/apache/sis/geometry/Envelope2D.java | 2 +- .../jaxb/referencing/CC_OperationMethod.java | 2 +- .../sis/internal/referencing/ExtentSelector.java | 18 +- .../apache/sis/internal/referencing/Resources.java | 5 +- .../sis/internal/referencing/Resources.properties | 2 +- .../internal/referencing/Resources_fr.properties | 2 +- .../provider/CoordinateFrameRotation.java | 8 +- .../provider/CoordinateFrameRotation2D.java | 8 +- .../provider/CoordinateFrameRotation3D.java | 8 +- .../provider/FranceGeocentricInterpolation.java | 3 +- .../GeocentricAffineBetweenGeographic.java | 2 +- .../provider/GeographicToGeocentric.java | 2 +- .../internal/referencing/provider/Molodensky.java | 2 +- .../referencing/provider/PositionVector7Param.java | 2 +- .../provider/PositionVector7Param2D.java | 2 +- .../provider/PositionVector7Param3D.java | 2 +- .../sis/parameter/AbstractParameterDescriptor.java | 2 +- .../sis/parameter/DefaultParameterDescriptor.java | 6 +- .../parameter/DefaultParameterDescriptorGroup.java | 5 +- .../sis/parameter/DefaultParameterValue.java | 7 +- .../sis/parameter/DefaultParameterValueGroup.java | 8 +- .../apache/sis/parameter/FilteredParameters.java | 114 ++++ .../org/apache/sis/parameter/ParameterFormat.java | 1 + .../apache/sis/parameter/ParameterValueList.java | 2 + .../java/org/apache/sis/parameter/Parameters.java | 43 ++ .../org/apache/sis/parameter/TensorParameters.java | 1 + .../org/apache/sis/parameter/TensorValues.java | 2 + .../sis/parameter/UninitializedParameter.java | 1 + .../parameter/UnmodifiableParameterValueGroup.java | 23 +- .../sis/referencing/AbstractIdentifiedObject.java | 6 +- .../sis/referencing/AbstractReferenceSystem.java | 6 +- .../java/org/apache/sis/referencing/Builder.java | 6 +- .../main/java/org/apache/sis/referencing/CRS.java | 52 +- .../java/org/apache/sis/referencing/CommonCRS.java | 109 +++- .../apache/sis/referencing/crs/AbstractCRS.java | 4 +- .../sis/referencing/crs/AbstractDerivedCRS.java | 6 +- .../sis/referencing/crs/DefaultEngineeringCRS.java | 4 +- .../sis/referencing/crs/DefaultGeodeticCRS.java | 4 +- .../sis/referencing/crs/DefaultImageCRS.java | 4 +- .../sis/referencing/crs/DefaultParametricCRS.java | 4 +- .../sis/referencing/crs/DefaultTemporalCRS.java | 4 +- .../sis/referencing/crs/DefaultVerticalCRS.java | 4 +- .../cs/DefaultCoordinateSystemAxis.java | 14 +- .../sis/referencing/datum/AbstractDatum.java | 20 +- .../sis/referencing/datum/DefaultEllipsoid.java | 6 +- .../referencing/datum/DefaultGeodeticDatum.java | 6 +- .../sis/referencing/datum/DefaultImageDatum.java | 4 +- .../referencing/datum/DefaultPrimeMeridian.java | 4 +- .../referencing/datum/DefaultTemporalDatum.java | 8 +- .../referencing/datum/DefaultVerticalDatum.java | 4 +- .../referencing/factory/CommonAuthorityCode.java | 159 +++++ .../factory/CommonAuthorityFactory.java | 220 +++---- .../factory/GeodeticAuthorityFactory.java | 9 +- .../factory/MultiAuthoritiesFactory.java | 4 +- .../sis/referencing/factory/package-info.java | 2 +- .../operation/AbstractCoordinateOperation.java | 21 +- .../operation/AbstractSingleOperation.java | 72 ++- .../operation/CoordinateOperationContext.java | 1 + .../operation/CoordinateOperationFinder.java | 7 +- .../operation/CoordinateOperationRegistry.java | 7 +- .../operation/DefaultConcatenatedOperation.java | 1 + .../referencing/operation/DefaultConversion.java | 12 +- .../DefaultCoordinateOperationFactory.java | 5 +- .../sis/referencing/operation/DefaultFormula.java | 2 + .../operation/DefaultOperationMethod.java | 14 +- .../operation/DefaultPassThroughOperation.java | 5 +- .../operation/InverseOperationMethod.java | 3 +- .../operation/builder/ProjectedTransformTry.java | 4 +- .../sis/referencing/operation/package-info.java | 2 +- .../transform/DefaultMathTransformFactory.java | 214 +++++-- .../org/apache/sis/geometry/TransformTestCase.java | 7 +- .../org/apache/sis/io/wkt/WKTDictionaryTest.java | 2 +- .../parameter/DefaultParameterValueGroupTest.java | 5 +- .../java/org/apache/sis/referencing/CRSTest.java | 46 +- .../org/apache/sis/referencing/CommonCRSTest.java | 37 +- .../factory/CommonAuthorityFactoryTest.java | 32 +- .../operation/CoordinateOperationFinderTest.java | 2 +- .../test/integration/CoordinateOperationTest.java | 32 +- .../org/apache/sis/internal/util/Constants.java | 9 +- .../apache/sis/internal/util/DefinitionURI.java | 14 +- .../org/apache/sis/internal/util/Numerics.java | 12 +- .../java/org/apache/sis/internal/util/URLs.java | 7 +- .../java/org/apache/sis/math/MathFunctions.java | 2 +- .../main/java/org/apache/sis/math/Statistics.java | 17 +- .../java/org/apache/sis/util/CharSequences.java | 2 +- .../java/org/apache/sis/util/collection/Cache.java | 163 +++-- .../sis/util/collection/TreeTableFormat.java | 2 +- .../apache/sis/util/collection/package-info.java | 2 +- .../java/org/apache/sis/util/resources/Errors.java | 10 + .../apache/sis/util/resources/Errors.properties | 2 + .../apache/sis/util/resources/Errors_fr.properties | 2 + .../sis/internal/util/CheckedArrayListTest.java | 3 +- .../org/apache/sis/internal/util/NumericsTest.java | 5 +- .../test/java/org/apache/sis/test/TestRunner.java | 3 +- .../util/collection/FrequencySortedSetTest.java | 3 +- .../apache/sis/internal/earth/netcdf/GCOM_C.java | 18 +- .../apache/sis/internal/earth/netcdf/GCOM_W.java | 15 +- .../org/apache/sis/storage/landsat/BandGroup.java | 4 +- .../org/apache/sis/storage/geotiff/DataCube.java | 8 +- .../sis/storage/geotiff/MultiResolutionImage.java | 8 +- .../org/apache/sis/internal/netcdf/Convention.java | 19 +- .../apache/sis/internal/netcdf/RasterResource.java | 56 +- .../sis/internal/netcdf/impl/ChannelDecoder.java | 37 +- .../sis/internal/netcdf/impl/VariableInfo.java | 2 +- .../sis/internal/netcdf/ucar/DecoderWrapper.java | 22 +- .../internal/storage/DocumentedStoreProvider.java | 2 +- .../sis/internal/storage/GridResourceWrapper.java | 8 +- .../sis/internal/storage/MemoryGridResource.java | 18 +- .../sis/internal/storage/MetadataBuilder.java | 61 +- .../apache/sis/internal/storage/RangeArgument.java | 42 +- .../sis/internal/storage/ResourceLineage.java | 151 +++++ .../org/apache/sis/internal/storage/Resources.java | 36 ++ .../sis/internal/storage/Resources.properties | 9 +- .../sis/internal/storage/Resources_fr.properties | 11 +- .../org/apache/sis/internal/storage/csv/Store.java | 2 +- .../sis/internal/storage/esri/AsciiGridStore.java | 13 +- .../sis/internal/storage/esri/RawRasterStore.java | 6 +- .../apache/sis/internal/storage/folder/Store.java | 46 +- .../storage/folder/UnstructuredAggregate.java} | 33 +- .../sis/internal/storage/image/FormatFinder.java | 34 +- .../internal/storage/image/SingleImageStore.java | 8 +- .../internal/storage/image/WorldFileResource.java | 26 +- .../sis/internal/storage/io/InternalOptionKey.java | 3 + .../org/apache/sis/storage/CoverageSubset.java | 37 +- .../java/org/apache/sis/storage/DataOptionKey.java | 13 +- .../java/org/apache/sis/storage/DataStore.java | 4 +- .../java/org/apache/sis/storage/FeatureSubset.java | 17 + .../apache/sis/storage/GridCoverageResource.java | 13 +- .../org/apache/sis/storage/StorageConnector.java | 36 +- .../storage/aggregate/AggregatedFeatureSet.java | 2 +- .../sis/storage/aggregate/AggregatedResource.java | 57 ++ .../storage/aggregate/ConcatenatedFeatureSet.java | 36 +- .../aggregate/ConcatenatedGridCoverage.java | 352 +++++++++++ .../aggregate/ConcatenatedGridResource.java | 437 +++++++++++++ .../sis/storage/aggregate/CoverageAggregator.java | 290 +++++++++ .../sis/storage/aggregate/DimensionSelector.java | 150 +++++ .../apache/sis/storage/aggregate/GridSlice.java | 233 +++++++ .../sis/storage/aggregate/GridSliceLocator.java | 217 +++++++ .../org/apache/sis/storage/aggregate/Group.java | 105 ++++ .../sis/storage/aggregate/GroupAggregate.java | 296 +++++++++ .../apache/sis/storage/aggregate/GroupByCRS.java | 103 +++ .../sis/storage/aggregate/GroupBySample.java | 99 +++ .../sis/storage/aggregate/GroupByTransform.java | 163 +++++ .../storage/aggregate/JoinFeatureSet.java | 2 +- .../sis/storage/aggregate/MergeStrategy.java | 184 ++++++ .../storage/aggregate/package-info.java | 11 +- .../apache/sis/storage/event/StoreListeners.java | 27 +- .../org/apache/sis/storage/FeatureQueryTest.java | 2 +- .../org/apache/sis/storage/GridResourceMock.java | 6 +- .../aggregate/ConcatenatedFeatureSetTest.java | 2 +- .../storage/aggregate/JoinFeatureSetTest.java | 2 +- .../apache/sis/test/suite/StorageTestSuite.java | 4 +- 297 files changed, 7454 insertions(+), 1920 deletions(-) create mode 100644 application/sis-javafx/src/main/java/org/apache/sis/gui/dataset/ResourceCell.java create mode 100644 application/sis-javafx/src/main/java/org/apache/sis/gui/dataset/ResourceItem.java create mode 100644 application/sis-javafx/src/main/java/org/apache/sis/gui/dataset/RootResource.java copy application/sis-javafx/src/main/java/org/apache/sis/gui/dataset/{package-info.java => TreeViewType.java} (69%) create mode 100644 application/sis-javafx/src/main/java/org/apache/sis/gui/map/ValuesFormatter.java create mode 100644 application/sis-javafx/src/main/java/org/apache/sis/gui/map/ValuesFromCoverage.java rename core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/{MetadataUtilities.java => ImplementationHelper.java} (97%) rename core/sis-metadata/src/test/java/org/apache/sis/internal/metadata/{MetadataUtilitiesTest.java => ImplementationHelperTest.java} (64%) create mode 100644 core/sis-referencing/src/main/java/org/apache/sis/parameter/FilteredParameters.java create mode 100644 core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/CommonAuthorityCode.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/internal/storage/ResourceLineage.java copy storage/sis-storage/src/{test/java/org/apache/sis/internal/storage/csv/StoreProviderTest.java => main/java/org/apache/sis/internal/storage/folder/UnstructuredAggregate.java} (53%) rename storage/sis-storage/src/main/java/org/apache/sis/{internal => }/storage/aggregate/AggregatedFeatureSet.java (99%) create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/aggregate/AggregatedResource.java rename storage/sis-storage/src/main/java/org/apache/sis/{internal => }/storage/aggregate/ConcatenatedFeatureSet.java (88%) create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/aggregate/ConcatenatedGridCoverage.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/aggregate/ConcatenatedGridResource.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/aggregate/CoverageAggregator.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/aggregate/DimensionSelector.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/aggregate/GridSlice.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/aggregate/GridSliceLocator.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/aggregate/Group.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/aggregate/GroupAggregate.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/aggregate/GroupByCRS.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/aggregate/GroupBySample.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/aggregate/GroupByTransform.java rename storage/sis-storage/src/main/java/org/apache/sis/{internal => }/storage/aggregate/JoinFeatureSet.java (99%) create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/aggregate/MergeStrategy.java rename storage/sis-storage/src/main/java/org/apache/sis/{internal => }/storage/aggregate/package-info.java (76%) rename storage/sis-storage/src/test/java/org/apache/sis/{internal => }/storage/aggregate/ConcatenatedFeatureSetTest.java (99%) rename storage/sis-storage/src/test/java/org/apache/sis/{internal => }/storage/aggregate/JoinFeatureSetTest.java (99%)