This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-3.1 in repository https://gitbox.apache.org/repos/asf/sis.git
commit 06e105fa4502cbc67819cdedc19eda6e7288714d Merge: 51124b9153 c6b08e544d Author: Martin Desruisseaux <[email protected]> AuthorDate: Fri Jun 7 10:39:29 2024 +0200 Merge branch 'geoapi-4.0' into geoapi-3.1. .../apache/sis/metadata/iso/DefaultMetadata.java | 32 +++++++-- .../sis/metadata/iso/acquisition/DefaultEvent.java | 32 ++++++--- .../iso/acquisition/DefaultRequestedDate.java | 50 +++++++++++-- .../iso/acquisition/DefaultRequirement.java | 25 ++++++- .../sis/metadata/iso/acquisition/package-info.java | 1 + .../sis/metadata/iso/citation/DefaultCitation.java | 26 ++++++- .../metadata/iso/citation/DefaultCitationDate.java | 36 +++++++--- .../sis/metadata/iso/citation/package-info.java | 1 + .../distribution/DefaultStandardOrderProcess.java | 42 +++++++++-- .../metadata/iso/distribution/package-info.java | 2 +- .../metadata/iso/identification/DefaultUsage.java | 83 +++++++++++++++++++--- .../sis/metadata/iso/quality/AbstractResult.java | 6 +- .../sis/pending/temporal/TemporalUtilities.java | 8 +-- .../apache/sis/metadata/TreeNodeChildrenTest.java | 6 +- .../iso/citation/DefaultCitationDateTest.java | 11 +-- .../metadata/iso/citation/DefaultCitationTest.java | 15 ++-- .../DefaultDataIdentificationTest.java | 5 +- .../sis/xml/test/AnnotationConsistencyCheck.java | 7 ++ .../sis/storage/landsat/MetadataReaderTest.java | 9 +-- .../sis/storage/netcdf/MetadataReaderTest.java | 30 ++++++-- .../apache/sis/storage/netcdf/NetcdfStoreTest.java | 2 +- .../main/org/apache/sis/storage/gpx/Copyright.java | 12 ++-- .../apache/sis/storage/base/MetadataBuilder.java | 2 +- .../main/org/apache/sis/io/CompoundFormat.java | 66 +++++++++++++++-- .../sis/util/collection/TreeTableFormat.java | 7 +- geoapi/snapshot | 2 +- 26 files changed, 423 insertions(+), 95 deletions(-) diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/DefaultMetadata.java index 3a0b9aa37c,d9265feb93..bb0f817aff --- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/DefaultMetadata.java +++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/DefaultMetadata.java @@@ -352,12 -354,32 +354,32 @@@ public class DefaultMetadata extends IS * @param contact party responsible for the metadata information. * @param dateStamp date that the metadata was created. * @param identificationInfo basic information about the resource to which the metadata applies. + * - * @deprecated Replaced by {@link #DefaultMetadata(Responsibility, Temporal, Identification)}. ++ * @deprecated Replaced by {@link #DefaultMetadata(ResponsibleParty, Temporal, Identification)}. */ + @Deprecated(since="1.5", forRemoval=true) - public DefaultMetadata(final Responsibility contact, + public DefaultMetadata(final ResponsibleParty contact, final Date dateStamp, final Identification identificationInfo) + { + this(contact, TemporalDate.toTemporal(dateStamp), identificationInfo); + } + + /** + * Creates a meta data initialized to the specified values. + * + * @param contact party responsible for the metadata information. + * @param dateStamp date that the metadata was created. + * @param identificationInfo basic information about the resource to which the metadata applies. + * + * @since 1.5 + */ + @SuppressWarnings("this-escape") - public DefaultMetadata(final Responsibility contact, ++ public DefaultMetadata(final ResponsibleParty contact, + final Temporal dateStamp, + final Identification identificationInfo) { - this.contacts = singleton(contact, Responsibility.class); + this.contacts = singleton(contact, ResponsibleParty.class); this.identificationInfo = singleton(identificationInfo, Identification.class); if (dateStamp != null) { dateInfo = singleton(new DefaultCitationDate(dateStamp, DateType.CREATION), CitationDate.class); diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/acquisition/DefaultRequestedDate.java index d2d4427777,15f26db867..5249785b66 --- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/acquisition/DefaultRequestedDate.java +++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/acquisition/DefaultRequestedDate.java @@@ -122,7 -122,8 +122,11 @@@ public class DefaultRequestedDate exten /** * Returns the preferred date and time of collection. * ++ * <div class="warning"><b>Upcoming API change</b><br> ++ * {@code Date} may be replaced by {@link Temporal} in GeoAPI 4.0. ++ * </div> ++ * * @return preferred date and time, or {@code null}. - * @version 2.0 */ @Override @XmlElement(name = "requestedDateOfCollection", required = true) @@@ -143,7 -161,8 +164,11 @@@ /** * Returns the latest date and time collection must be completed. * ++ * <div class="warning"><b>Upcoming API change</b><br> ++ * {@code Date} may be replaced by {@link Temporal} in GeoAPI 4.0. ++ * </div> ++ * * @return latest date and time, or {@code null}. - * @version 2.0 */ @Override @XmlElement(name = "latestAcceptableDate", required = true) diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/acquisition/DefaultRequirement.java index 076ee96070,357b1ebb35..a735d8369c --- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/acquisition/DefaultRequirement.java +++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/acquisition/DefaultRequirement.java @@@ -329,7 -309,8 +329,11 @@@ public class DefaultRequirement extend /** * Returns the date and time after which collection is no longer valid. * ++ * <div class="warning"><b>Upcoming API change</b><br> ++ * {@code Date} may be replaced by {@link Temporal} in GeoAPI 4.0. ++ * </div> ++ * * @return date and time after which collection is no longer valid, or {@code null}. - * @version 2.0 */ @Override @XmlElement(name = "expiryDate", required = true) diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/acquisition/package-info.java index a9470ebc70,a7dd6e7817..8abe474b43 --- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/acquisition/package-info.java +++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/acquisition/package-info.java @@@ -99,9 -99,9 +99,10 @@@ @XmlAccessorType(XmlAccessType.NONE) @XmlJavaTypeAdapters({ @XmlJavaTypeAdapter(CI_Citation.class), - @XmlJavaTypeAdapter(CI_Responsibility.class), + @XmlJavaTypeAdapter(CI_ResponsibleParty.class), @XmlJavaTypeAdapter(EX_Extent.class), + @XmlJavaTypeAdapter(GO_DateTime.class), + @XmlJavaTypeAdapter(GO_Temporal.class), @XmlJavaTypeAdapter(GO_Real.class), @XmlJavaTypeAdapter(GM_Object.class), @XmlJavaTypeAdapter(MD_Identifier.class), diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/citation/DefaultCitation.java index 7f06cf9de3,d911b0cba3..e9bb545dce --- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/citation/DefaultCitation.java +++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/citation/DefaultCitation.java @@@ -346,7 -346,8 +346,11 @@@ public class DefaultCitation extends IS /** * Returns the date of the edition. * ++ * <div class="warning"><b>Upcoming API change</b><br> ++ * {@code Date} may be replaced by {@link Temporal} in GeoAPI 4.0. ++ * </div> ++ * * @return the edition date, or {@code null} if none. - * @version 2.0 */ @Override @XmlElement(name = "editionDate") diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/citation/package-info.java index 3d33901e6e,fe3285063a..7c06bb38f4 --- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/citation/package-info.java +++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/citation/package-info.java @@@ -112,7 -112,7 +112,8 @@@ @XmlJavaTypeAdapter(CI_Series.class), @XmlJavaTypeAdapter(CI_Telephone.class), @XmlJavaTypeAdapter(EX_Extent.class), + @XmlJavaTypeAdapter(GO_DateTime.class), + @XmlJavaTypeAdapter(GO_Temporal.class), @XmlJavaTypeAdapter(MD_BrowseGraphic.class), @XmlJavaTypeAdapter(MD_Identifier.class), diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/identification/DefaultUsage.java index fa65552a55,cf6f3f105a..02574b2e61 --- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/identification/DefaultUsage.java +++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/identification/DefaultUsage.java @@@ -159,9 -167,9 +167,9 @@@ public class DefaultUsage extends ISOMe super(object); if (object != null) { specificUsage = object.getSpecificUsage(); - usageDate = TemporalDate.toTemporal(object.getUsageDate()); + usageDates = copyCollection(object.getUsageDates(), TemporalPrimitive.class); userDeterminedLimitations = object.getUserDeterminedLimitations(); - userContactInfo = copyCollection(object.getUserContactInfo(), Responsibility.class); + userContactInfo = copyCollection(object.getUserContactInfo(), ResponsibleParty.class); responses = copyCollection(object.getResponses(), InternationalString.class); additionalDocumentation = copyCollection(object.getAdditionalDocumentation(), Citation.class); identifiedIssues = copyCollection(object.getIdentifiedIssues(), Citation.class); diff --cc endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/iso/citation/DefaultCitationTest.java index da6501de1d,d31ab8df44..ece19ad314 --- a/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/iso/citation/DefaultCitationTest.java +++ b/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/iso/citation/DefaultCitationTest.java @@@ -252,13 -247,12 +253,13 @@@ public final class DefaultCitationTest final var contact = new DefaultContact(rs); contact.setContactInstructions(new SimpleInternationalString("Send carrier pigeon.")); contact.getIdentifierMap().putSpecialized(IdentifierSpace.ID, "ip-protocol"); -- final DefaultCitation c = new DefaultCitation("Fight against poverty"); - final DefaultResponsibleParty r1 = new DefaultResponsibleParty(Role.ORIGINATOR); - final DefaultResponsibleParty r2 = new DefaultResponsibleParty(Role.FUNDER); - c.setCitedResponsibleParties(List.of( - new DefaultResponsibility(Role.ORIGINATOR, null, new DefaultIndividual("Maid Marian", null, contact)), - new DefaultResponsibility(Role.FUNDER, null, new DefaultIndividual("Robin Hood", null, contact)) - )); ++ final var c = new DefaultCitation("Fight against poverty"); ++ final var r1 = new DefaultResponsibleParty(Role.ORIGINATOR); ++ final var r2 = new DefaultResponsibleParty(Role.FUNDER); + r1.setParties(Set.of(new DefaultIndividual("Maid Marian", null, contact))); + r2.setParties(Set.of(new DefaultIndividual("Robin Hood", null, contact))); + c.setCitedResponsibleParties(List.of(r1, r2)); - c.getDates().add(new DefaultCitationDate(TestUtilities.date("2015-10-17 00:00:00"), DateType.ADOPTED)); + c.getDates().add(new DefaultCitationDate(OffsetDateTime.of(2015, 10, 17, 2, 0, 0, 0, ZoneOffset.ofHours(2)), DateType.ADOPTED)); c.getPresentationForms().add(PresentationForm.PHYSICAL_OBJECT); /* * Check that XML file built by the marshaller is the same as the example file. diff --cc geoapi/snapshot index a00e026538,df67b0319b..7554560355 --- a/geoapi/snapshot +++ b/geoapi/snapshot @@@ -1,1 -1,1 +1,1 @@@ - Subproject commit a00e026538b2704db1ec82cbad64fef1bef992c0 -Subproject commit df67b0319be5ed161459bfa804ff3e34f366ce3d ++Subproject commit 755456035537d00a695b25953b76e47b8cb5db46
