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 969b7d0 Merge branch 'geoapi-3.1'. add 188ba7c Regroup the SQL classes in "org.apache.sis.internal.sql.feature" package. add e8631df Begins a review of storage/sis-sql module. The constants by database reflection API moved to sis-metadata internal package, for sharing by other classes doing similar operations. add 8b9558f Leverage Reflection constants in other modules. add 42de0f8 Remove CachedResultSet. Examination of the code show that either an iteration on cached values happened only once, or when many iterations happenned they were filtered by table name and schema names. Those filterings can be done by DatabaseMetaData directly. add 748e998 Rename some sis-sql internal classes. Leverage functionalities available in other SIS modules. Reduce the number of fields in Database class. add ce531ec Correction in copyright year and in a metadata hierarchy that need to be taken in account when storing legacy metadata. add 1cc76fd Move the analysis of primary/foreigner keys in the Relation table. add eb5b678 Dispatch most of 'Database' implementation into specialized classes (Analyzer, Table, Relation, QueriedFeatureSet). add 09c904f Regroup XML-related test utilities in a "org.apache.sis.test.xml" package, and database-related test utilities in a "org.apache.sis.test.sql" package. add f07593e Regroup the creation of temporary database or temporary schema in a single "TestDatabase" class. First draft of a SQLStoreTest class using this mechanism for testing on PostgreSQL. add ab5b693 Rename "sis-sql" module as "sis-sqlstore" for consistency with "sis-xmlstore" and for avoiding confusion with an other module that may possibly be added later for putting a SQL front arbitrary DataStore. add c5aa9d2 Add more metadata read from Landsat and netCDF (side-effect of Hao's work on CSW). Relocate Metadata.dataQualityInfo.lineage.statement to Metadata.resourceLineage.statement in netCDF file (https://issues.apache.org/jira/browse/SIS-361). Fix an erroneous use of CSW abbreviation (discovered while integrating above parts of CSW work). add c7949fc Document the change of ISO 19115 path for netCDF "history" and "source" attribute. https://issues.apache.org/jira/browse/SIS-361 add a94515e Upgrade dependencies. add 892d108 Remove (for now) SQLQuery and QueriedFeatureSet. We will need to revisit later how to handle SQL queries, and if possible to extend to other languages (e.g. CQL). https://issues.apache.org/jira/browse/SIS-423 add 3e356b0 First SQLStore version capable to return FeatureTypes (not yet complete). add d39f176 Take in account the geometry library to be needed for creating geometric objects. Never omit primary key columns since they are needed for creating identifiers. add 836f5f7 Provides an estimation of the number of features, when available. add 3b69577 Resolve earlier the FeatureType in AssociationRole by creating Table dependencies earlier. add c643a85 Complete the construction of FeatureType from database structure (omitting geometric objects for now) and enable tests. add 07eb978 Keep legacy CSW namespace in the list of known namespaces. add 78d495a First draft of a SQLStore capable to return the actual feature instances. add 50fac4c Cache the features fetched by identifier. This allow to preserve the dependency graph when the same row is referenced (by foreigner keys) many times. add 3a24d77 Complete the construction of Feature instances from a SQL database. SQLStore now supports associations in both ways ("import" and "export" keys). add e487e47 Test SQLStore on other database engines. add e044c13 Merge branch 'geoapi-4.0' into 'geoapi-3.1'. new 7ad54a9 Merge branch 'geoapi-3.1' into master. The main work is the completion of sis-sqlstore module. new 98fd5ac Fix javadoc errors caused by links that do not exist on master. 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 | 2 +- core/sis-build-helper/pom.xml | 8 +- .../java/org/apache/sis/feature/FeatureFormat.java | 9 +- .../apache/sis/feature/StringJoinOperation.java | 3 +- .../feature/builder/AssociationRoleBuilder.java | 2 +- .../sis/feature/builder/AttributeTypeBuilder.java | 4 +- .../sis/feature/builder/FeatureTypeBuilder.java | 20 +- .../sis/feature/builder/PropertyTypeBuilder.java | 2 +- .../apache/sis/feature/builder/TypeBuilder.java | 9 +- core/sis-metadata/pom.xml | 10 + .../apache/sis/internal/metadata/sql/Dialect.java | 3 +- .../sis/internal/metadata/sql/Reflection.java | 216 +++++++ .../sis/internal/metadata/sql/SQLBuilder.java | 35 +- .../sis/internal/metadata/sql/SQLUtilities.java | 5 +- .../sis/internal/metadata/sql/ScriptRunner.java | 4 +- .../iso/maintenance/AttributeTypeAdapter.java | 4 +- .../iso/maintenance/DefaultScopeDescription.java | 2 +- .../iso/maintenance/FeatureTypeAdapter.java | 4 +- .../{LegacyType.java => LegacyFeatureType.java} | 17 +- .../apache/sis/metadata/sql/MetadataSource.java | 3 +- .../apache/sis/metadata/sql/MetadataWriter.java | 11 +- .../apache/sis/metadata/sql/TableHierarchy.java | 6 +- .../org/apache/sis/util/iso/GlobalNameSpace.java | 2 +- .../main/java/org/apache/sis/util/iso/Names.java | 25 +- .../main/java/org/apache/sis/xml/Namespaces.java | 14 +- .../internal/jaxb/cat/CodeListMarshallingTest.java | 4 +- .../sis/internal/jaxb/cat/EnumMarshallingTest.java | 4 +- .../sis/internal/jaxb/gco/PropertyTypeTest.java | 8 +- .../sis/internal/jaxb/gml/TimePeriodTest.java | 4 +- .../internal/jaxb/lan/FreeTextMarshallingTest.java | 4 +- .../sis/internal/jaxb/lan/LanguageCodeTest.java | 4 +- .../metadata/replace/ServiceParameterTest.java | 4 +- .../internal/metadata/sql/ScriptRunnerTest.java | 16 +- .../sis/internal/metadata/sql/TestDatabase.java | 119 ---- ...aratorTest.java => DocumentComparatorTest.java} | 20 +- .../apache/sis/internal/xml/XmlUtilitiesTest.java | 4 +- .../sis/metadata/iso/CustomMetadataTest.java | 4 +- .../sis/metadata/iso/DefaultIdentifierTest.java | 4 +- .../sis/metadata/iso/DefaultMetadataTest.java | 4 +- .../sis/metadata/iso/ImmutableIdentifierTest.java | 4 +- .../metadata/iso/citation/DefaultContactTest.java | 4 +- .../iso/citation/DefaultResponsibilityTest.java | 4 +- .../constraint/DefaultLegalConstraintsTest.java | 4 +- .../identification/DefaultBrowseGraphicTest.java | 4 +- .../DefaultRepresentativeFractionTest.java | 4 +- .../iso/identification/DefaultResolutionTest.java | 4 +- .../metadata/iso/lineage/DefaultLineageTest.java | 4 +- .../sis/metadata/sql/IdentifierGeneratorTest.java | 13 +- .../sis/metadata/sql/MetadataSourceTest.java | 12 +- .../sis/metadata/sql/MetadataWriterTest.java | 49 +- .../org/apache/sis/metadata/xml/TestUsingFile.java | 4 +- .../java/org/apache/sis/test/MetadataAssert.java | 15 +- .../org/apache/sis/test/mock/package-info.java | 2 +- .../java/org/apache/sis/test/sql/TestDatabase.java | 269 +++++++++ .../org/apache/sis/test/sql}/package-info.java | 8 +- .../apache/sis/test/suite/MetadataTestSuite.java | 2 +- .../DocumentComparator.java} | 30 +- .../test/{XMLTestCase.java => xml/TestCase.java} | 12 +- .../org/apache/sis/test/xml}/package-info.java | 13 +- .../apache/sis/util/iso/NameMarshallingTest.java | 4 +- .../sis/xml/CharSequenceSubstitutionTest.java | 4 +- .../apache/sis/xml/NilReasonMarshallingTest.java | 4 +- .../org/apache/sis/xml/ReferenceResolverMock.java | 2 +- .../org/apache/sis/xml/UUIDMarshallingTest.java | 4 +- .../org/apache/sis/xml/XLinkMarshallingTest.java | 4 +- .../java/org/apache/sis/parameter/Parameters.java | 2 + .../referencing/factory/sql/EPSGDataAccess.java | 2 +- .../sis/referencing/factory/sql/SQLTranslator.java | 9 +- .../CC_GeneralOperationParameterTest.java | 4 +- .../CC_OperationParameterGroupTest.java | 4 +- .../referencing/SecondDefiningParameterTest.java | 4 +- .../sis/parameter/ParameterMarshallingTest.java | 4 +- .../referencing/crs/DefaultCompoundCRSTest.java | 4 +- .../sis/referencing/crs/DefaultDerivedCRSTest.java | 4 +- .../referencing/crs/DefaultEngineeringCRSTest.java | 4 +- .../referencing/crs/DefaultGeodeticCRSTest.java | 4 +- .../sis/referencing/crs/DefaultImageCRSTest.java | 4 +- .../referencing/crs/DefaultProjectedCRSTest.java | 4 +- .../sis/referencing/cs/DefaultCartesianCSTest.java | 4 +- .../referencing/cs/DefaultEllipsoidalCSTest.java | 4 +- .../referencing/datum/DefaultEllipsoidTest.java | 4 +- .../datum/DefaultGeodeticDatumTest.java | 4 +- .../datum/DefaultPrimeMeridianTest.java | 4 +- .../datum/DefaultTemporalDatumTest.java | 4 +- .../datum/DefaultVerticalDatumTest.java | 4 +- .../referencing/factory/sql/EPSGInstallerTest.java | 43 +- .../factory/sql/epsg/DataScriptFormatter.java | 10 +- .../DefaultConcatenatedOperationTest.java | 4 +- .../operation/DefaultPassThroughOperationTest.java | 4 +- .../operation/SingleOperationMarshallingTest.java | 4 +- .../apache/sis/test/integration/MetadataTest.java | 8 +- .../apache/sis/internal/util/CollectionsExt.java | 22 + .../sis/util/resources/IndexedResourceBundle.java | 2 +- .../resources/ResourceInternationalString.java | 27 +- .../org/apache/sis/util/resources/Vocabulary.java | 5 + .../sis/util/resources/Vocabulary.properties | 1 + .../sis/util/resources/Vocabulary_fr.properties | 1 + .../apache/sis/util/resources/package-info.java | 2 +- ide-project/NetBeans/build.xml | 3 + ide-project/NetBeans/nbproject/project.properties | 5 +- pom.xml | 12 +- .../profile/fra/DataIdentificationTest.java | 4 +- .../profile/fra/DirectReferenceSystemTest.java | 4 +- storage/pom.xml | 4 +- .../storage/earthobservation/LandsatReader.java | 23 +- .../earthobservation/LandsatReaderTest.java | 6 + .../apache/sis/storage/geotiff/Compression.java | 28 +- .../apache/sis/storage/geotiff/GeoTiffStore.java | 1 + .../apache/sis/storage/netcdf/AttributeNames.java | 19 +- .../apache/sis/storage/netcdf/MetadataReader.java | 69 +-- .../org/apache/sis/storage/netcdf/NetcdfStore.java | 48 +- .../sis/storage/netcdf/MetadataReaderTest.java | 8 +- .../java/org/apache/sis/storage/sql/SQLQuery.java | 72 --- .../java/org/apache/sis/storage/sql/SQLStore.java | 73 --- .../apache/sis/storage/sql/SQLStoreProvider.java | 39 -- storage/{sis-sql => sis-sqlstore}/pom.xml | 25 +- .../apache/sis/internal/sql/feature/Analyzer.java | 329 +++++++++++ .../apache/sis/internal/sql/feature/Database.java | 237 ++++++++ .../apache/sis/internal/sql/feature/Features.java | 499 ++++++++++++++++ .../apache/sis/internal/sql/feature/Relation.java | 419 ++++++++++++++ .../sis/internal/sql/feature}/Resources.java | 102 ++-- .../sis/internal/sql/feature}/Resources.properties | 14 +- .../internal/sql/feature}/Resources_fr.properties | 13 +- .../sis/internal/sql/feature/SpatialFunctions.java | 144 +++++ .../org/apache/sis/internal/sql/feature/Table.java | 624 +++++++++++++++++++++ .../sis/internal/sql/feature/TableReference.java | 152 +++++ .../sis/internal/sql/feature}/package-info.java | 6 +- .../java/org/apache/sis/storage/sql/SQLStore.java | 245 ++++++++ .../apache/sis/storage/sql/SQLStoreProvider.java | 231 ++++++++ .../org/apache/sis/storage/sql/package-info.java | 7 +- .../org/apache/sis/storage/sql/SQLStoreTest.java | 270 +++++++++ .../org/apache/sis/test/suite/SQLTestSuite.java} | 13 +- .../org/apache/sis/test/suite/package-info.txt | 0 .../org/apache/sis/storage/sql/Features.sql | 69 +++ .../sis/internal/storage/AbstractFeatureSet.java | 2 +- .../sis/internal/storage/MetadataBuilder.java | 139 ++++- .../org/apache/sis/internal/storage/csv/Store.java | 4 +- .../java/org/apache/sis/storage/Aggregate.java | 2 +- ...eption.java => InternalDataStoreException.java} | 29 +- 139 files changed, 4512 insertions(+), 801 deletions(-) create mode 100644 core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/sql/Reflection.java rename core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/{LegacyType.java => LegacyFeatureType.java} (83%) delete mode 100644 core/sis-metadata/src/test/java/org/apache/sis/internal/metadata/sql/TestDatabase.java rename core/sis-metadata/src/test/java/org/apache/sis/internal/test/{XMLComparatorTest.java => DocumentComparatorTest.java} (86%) create mode 100644 core/sis-metadata/src/test/java/org/apache/sis/test/sql/TestDatabase.java copy core/sis-metadata/src/{main/java/org/apache/sis/internal/jaxb/cat => test/java/org/apache/sis/test/sql}/package-info.java (80%) rename core/sis-metadata/src/test/java/org/apache/sis/test/{XMLComparator.java => xml/DocumentComparator.java} (97%) rename core/sis-metadata/src/test/java/org/apache/sis/test/{XMLTestCase.java => xml/TestCase.java} (98%) copy core/{sis-raster/src/main/java/org/apache/sis/internal/raster => sis-metadata/src/test/java/org/apache/sis/test/xml}/package-info.java (66%) delete mode 100644 storage/sis-sql/src/main/java/org/apache/sis/storage/sql/SQLQuery.java delete mode 100644 storage/sis-sql/src/main/java/org/apache/sis/storage/sql/SQLStore.java delete mode 100644 storage/sis-sql/src/main/java/org/apache/sis/storage/sql/SQLStoreProvider.java rename storage/{sis-sql => sis-sqlstore}/pom.xml (85%) create mode 100644 storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/Analyzer.java create mode 100644 storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/Database.java create mode 100644 storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/Features.java create mode 100644 storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/Relation.java copy {core/sis-raster/src/main/java/org/apache/sis/internal/raster => storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature}/Resources.java (65%) copy {application/sis-javafx/src/main/java/org/apache/sis/internal/gui => storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature}/Resources.properties (54%) copy storage/{sis-netcdf/src/main/java/org/apache/sis/internal/netcdf => sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature}/Resources_fr.properties (53%) create mode 100644 storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/SpatialFunctions.java create mode 100644 storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/Table.java create mode 100644 storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/TableReference.java copy storage/{sis-storage/src/main/java/org/apache/sis/internal/storage/query => sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature}/package-info.java (84%) create mode 100644 storage/sis-sqlstore/src/main/java/org/apache/sis/storage/sql/SQLStore.java create mode 100644 storage/sis-sqlstore/src/main/java/org/apache/sis/storage/sql/SQLStoreProvider.java rename storage/{sis-sql => sis-sqlstore}/src/main/java/org/apache/sis/storage/sql/package-info.java (82%) create mode 100644 storage/sis-sqlstore/src/test/java/org/apache/sis/storage/sql/SQLStoreTest.java copy storage/{sis-xmlstore/src/test/java/org/apache/sis/test/suite/GPXTestSuite.java => sis-sqlstore/src/test/java/org/apache/sis/test/suite/SQLTestSuite.java} (72%) rename storage/{sis-sql => sis-sqlstore}/src/test/java/org/apache/sis/test/suite/package-info.txt (100%) create mode 100644 storage/sis-sqlstore/src/test/resources/org/apache/sis/storage/sql/Features.sql copy storage/sis-storage/src/main/java/org/apache/sis/storage/{UnsupportedQueryException.java => InternalDataStoreException.java} (66%)