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

Reply via email to