You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2022/12/02 14:07:51 UTC
[sis] 03/03: Merge branch 'geoapi-3.1'
This is an automated email from the ASF dual-hosted git repository.
desruisseaux pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sis.git
commit ea85b9b19dca275f7141b7b5f82ba585067bf89c
Merge: 1a8e38fd88 92a8dad131
Author: Martin Desruisseaux <ma...@geomatys.com>
AuthorDate: Fri Dec 2 15:07:35 2022 +0100
Merge branch 'geoapi-3.1'
application/sis-console/pom.xml | 23 ---
application/sis-console/src/main/artifact/LICENSE | 1 -
application/sis-console/src/main/artifact/NOTICE | 1 -
application/sis-console/src/main/artifact/README | 98 -------------
.../src/main/artifact/conf/logging.properties | 63 --------
.../sis-console/src/main/artifact/data/README | 10 --
.../sis-console/src/main/artifact/lib/README | 8 --
.../sis-console/src/main/artifact/log/README | 1 -
application/sis-javafx/src/main/artifact/README | 4 +-
.../src/main/artifact/bin/sis | 4 +-
.../src/main/artifact/bin/{sisfx.bat => sis.bat} | 21 +--
application/sis-javafx/src/main/artifact/bin/sisfx | 2 +-
.../sis-javafx/src/main/artifact/bin/sisfx.bat | 2 +-
.../src/main/artifact/conf/logging.properties | 7 +-
.../sis-javafx/src/main/artifact/data/README | 11 +-
.../sis-javafx/src/main/artifact/log/README | 2 +-
.../org/apache/sis/internal/setup/FXFinder.java | 29 ++--
.../sis/internal/setup/LoggingConfiguration.java | 94 ------------
.../apache/sis/internal/setup/package-info.java | 2 +-
application/sis-openoffice/pom.xml | 2 +-
.../sis/openoffice/ReferencingFunctionsTest.java | 6 +-
cloud/sis-cloud-aws/pom.xml | 2 +-
core/sis-build-helper/pom.xml | 7 +-
.../org/apache/sis/internal/maven/Assembler.java | 8 +-
.../java/org/apache/sis/image/BandedIterator.java | 12 +-
.../java/org/apache/sis/image/PixelIterator.java | 8 +-
.../apache/sis/image/WritablePixelIterator.java | 6 +-
.../apache/sis/internal/jaxb/gco/GO_DateTime.java | 7 +-
.../gco/{GO_DateTime.java => GO_Temporal.java} | 61 ++++----
.../internal/metadata/legacy/DateToTemporal.java | 87 +++++++++++
.../internal/metadata/legacy/TemporalToDate.java | 94 ++++++++++++
.../org/apache/sis/internal/xml/XmlUtilities.java | 143 +++++++++++++++++-
.../org/apache/sis/internal/xml/package-info.java | 2 +-
.../sis/metadata/iso/quality/AbstractElement.java | 24 ++--
.../sis/metadata/iso/quality/AbstractResult.java | 28 ++--
.../iso/quality/DefaultEvaluationMethod.java | 78 +++++-----
.../sis/metadata/iso/quality/package-info.java | 1 +
.../apache/sis/internal/xml/XmlUtilitiesTest.java | 67 ++++++++-
.../metadata/iso/quality/AbstractElementTest.java | 96 +++----------
...tTest.java => DefaultEvaluationMethodTest.java} | 24 ++--
.../apache/sis/test/suite/MetadataTestSuite.java | 1 +
.../apache/sis/internal/referencing/Resources.java | 6 +
.../sis/internal/referencing/Resources.properties | 1 +
.../internal/referencing/Resources_fr.properties | 1 +
.../main/java/org/apache/sis/referencing/CRS.java | 20 ++-
.../java/org/apache/sis/referencing/CommonCRS.java | 160 ++++++++++-----------
.../sis/referencing/EPSGFactoryFallback.java | 41 +++---
.../apache/sis/referencing/IdentifiedObjects.java | 16 ++-
.../sis/referencing/StandardDefinitions.java | 100 +++++++++----
.../org/apache/sis/referencing/package-info.java | 2 +-
.../sis/referencing/StandardDefinitionsTest.java | 2 +-
.../apache/sis/internal/system/package-info.java | 2 +-
.../org/apache/sis/util/logging/Initializer.java | 133 +++++++++++++++++
pom.xml | 2 +-
54 files changed, 933 insertions(+), 700 deletions(-)
diff --cc application/sis-javafx/src/main/artifact/bin/sis
index 35a0e94b78,3bd0f8e21f..db782c2b47
--- a/application/sis-javafx/src/main/artifact/bin/sis
+++ b/application/sis-javafx/src/main/artifact/bin/sis
@@@ -24,7 -23,8 +23,8 @@@ SIS_DATA="${SIS_DATA:-$BASE_DIR/data}
export SIS_DATA
# Execute SIS with any optional JAR that the user may put in the 'lib' directory.
-java -classpath "$BASE_DIR/lib/sis-console-1.x-SNAPSHOT.jar" \
+java -classpath "$BASE_DIR/lib/sis-console-1.3-SNAPSHOT.jar" \
+ -Djava.util.logging.config.class="org.apache.sis.util.logging.Initializer" \
-Djava.util.logging.config.file="$BASE_DIR/conf/logging.properties" \
-Dderby.stream.error.file="$BASE_DIR/log/derby.log" \
org.apache.sis.console.Command $SIS_OPTS "$@"
diff --cc application/sis-javafx/src/main/artifact/bin/sis.bat
index 4eda2229d1,6d5ddfcda6..7f46cdc8c0
--- a/application/sis-javafx/src/main/artifact/bin/sis.bat
+++ b/application/sis-javafx/src/main/artifact/bin/sis.bat
@@@ -17,20 -17,11 +17,11 @@@ REM limitations under the License
SET BASE_DIR=%~dp0\..
- CALL "%BASE_DIR%\conf\setenv.bat"
SET SIS_DATA=%BASE_DIR%\data
- IF "%PATH_TO_FX%"=="" (
- java --class-path "%BASE_DIR%\lib\*" org.apache.sis.internal.setup.FXFinder "%BASE_DIR%\conf\setenv.bat"
- IF %ERRORLEVEL% GEQ 1 EXIT /B 1
- CALL "%BASE_DIR%\conf\setenv.bat"
- )
-
- java -splash:"%BASE_DIR%\lib\logo.jpg"^
- --add-modules javafx.graphics,javafx.controls,javafx.web^
- --module-path "%PATH_TO_FX%"^
- --class-path "%BASE_DIR%\lib\sis-javafx-1.3-SNAPSHOT.jar"^
- -Djava.util.logging.config.class=org.apache.sis.internal.setup.LoggingConfiguration^
- -Djava.util.logging.config.file="%BASE_DIR%\conf\logging.properties"^
- -Dderby.stream.error.file="%BASE_DIR%\log\derby.log"^
- org.apache.sis.gui.DataViewer %SIS_OPTS%
+ REM Execute SIS with any optional JAR that the user may put in the 'lib' directory.
-java -classpath "%BASE_DIR%\lib\sis-console-1.x-SNAPSHOT.jar"^
++java -classpath "%BASE_DIR%\lib\sis-console-1.3-SNAPSHOT.jar"^
+ -Djava.util.logging.config.class=org.apache.sis.util.logging.Initializer^
+ -Djava.util.logging.config.file="%BASE_DIR%\conf\logging.properties"^
+ -Dderby.stream.error.file="%BASE_DIR%\log\derby.log"^
+ org.apache.sis.console.Command %SIS_OPTS% %*
diff --cc application/sis-javafx/src/main/artifact/bin/sisfx
index 05e88ca51c,c6d8e55b2d..3d8af4eaa9
--- a/application/sis-javafx/src/main/artifact/bin/sisfx
+++ b/application/sis-javafx/src/main/artifact/bin/sisfx
@@@ -38,8 -38,8 +38,8 @@@ f
java -splash:"$BASE_DIR/lib/logo.jpg" \
--add-modules javafx.graphics,javafx.controls,javafx.web \
--module-path "$PATH_TO_FX" \
- --class-path "$BASE_DIR/lib/sis-javafx-1.x-SNAPSHOT.jar" \
+ --class-path "$BASE_DIR/lib/sis-javafx-1.3-SNAPSHOT.jar" \
- -Djava.util.logging.config.class="org.apache.sis.internal.setup.LoggingConfiguration" \
+ -Djava.util.logging.config.class="org.apache.sis.util.logging.Initializer" \
-Djava.util.logging.config.file="$BASE_DIR/conf/logging.properties" \
-Dderby.stream.error.file="$BASE_DIR/log/derby.log" \
org.apache.sis.gui.DataViewer $SIS_OPTS "$@"
diff --cc application/sis-javafx/src/main/artifact/bin/sisfx.bat
index 4eda2229d1,1981212bc8..73b13abb1d
--- a/application/sis-javafx/src/main/artifact/bin/sisfx.bat
+++ b/application/sis-javafx/src/main/artifact/bin/sisfx.bat
@@@ -29,8 -29,8 +29,8 @@@ IF "%PATH_TO_FX%"==""
java -splash:"%BASE_DIR%\lib\logo.jpg"^
--add-modules javafx.graphics,javafx.controls,javafx.web^
--module-path "%PATH_TO_FX%"^
- --class-path "%BASE_DIR%\lib\sis-javafx-1.x-SNAPSHOT.jar"^
+ --class-path "%BASE_DIR%\lib\sis-javafx-1.3-SNAPSHOT.jar"^
- -Djava.util.logging.config.class=org.apache.sis.internal.setup.LoggingConfiguration^
+ -Djava.util.logging.config.class=org.apache.sis.util.logging.Initializer^
-Djava.util.logging.config.file="%BASE_DIR%\conf\logging.properties"^
-Dderby.stream.error.file="%BASE_DIR%\log\derby.log"^
org.apache.sis.gui.DataViewer %SIS_OPTS%
diff --cc core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractElement.java
index 3f45c53be0,8a04d3dbb7..bc69208f3c
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractElement.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractElement.java
@@@ -544,17 -550,18 +547,18 @@@ public class AbstractElement extends IS
@Dependencies("getEvaluationMethod")
@XmlElement(name = "dateTime", namespace = LegacyNamespaces.GMD)
public Collection<Date> getDates() {
- if (!FilterByVersion.LEGACY_METADATA.accept()) {
- return null;
- }
- DefaultEvaluationMethod m = getEvaluationMethod();
- if (m == null) {
- if (state() == State.FINAL) {
- return Collections.emptyList();
+ if (FilterByVersion.LEGACY_METADATA.accept()) {
- EvaluationMethod m = getEvaluationMethod();
++ DefaultEvaluationMethod m = getEvaluationMethod();
+ if (m == null) {
+ if (state() == State.FINAL) {
+ return Collections.emptyList();
+ }
+ setEvaluationMethod(m = new DefaultEvaluationMethod());
}
- setEvaluationMethod(m = new DefaultEvaluationMethod());
+ Collection<? extends Temporal> dates = m.getDates();
+ if (dates != null) return new TemporalToDate(dates);
}
- return m.getDates();
+ return null;
}
/**
diff --cc core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractResult.java
index 1faab5d41c,ab6c9894e0..9d6bf05ca5
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractResult.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractResult.java
@@@ -26,16 -26,12 +26,15 @@@ import org.opengis.metadata.quality.Res
import org.opengis.metadata.quality.CoverageResult;
import org.opengis.metadata.quality.ConformanceResult;
import org.opengis.metadata.quality.QuantitativeResult;
-import org.opengis.metadata.quality.DescriptiveResult;
import org.apache.sis.internal.jaxb.metadata.MD_Scope;
- import org.apache.sis.internal.jaxb.gco.GO_DateTime;
- import org.apache.sis.internal.metadata.ImplementationHelper;
+ import org.apache.sis.internal.jaxb.gco.GO_Temporal;
// Branch-dependent imports
-import org.opengis.metadata.maintenance.Scope;
+import org.opengis.metadata.quality.Scope;
+import org.opengis.annotation.UML;
+
+import static org.opengis.annotation.Obligation.OPTIONAL;
+import static org.opengis.annotation.Specification.UNSPECIFIED;
/**
@@@ -103,12 -99,9 +102,10 @@@ public class AbstractResult extends ISO
*/
public AbstractResult(final Result object) {
super(object);
- if (object != null) {
- resultScope = object.getResultScope();
- dateTime = object.getDateTime();
+ if (object instanceof AbstractResult) {
+ final AbstractResult impl = (AbstractResult) object;
+ resultScope = impl.getResultScope();
- dateTime = ImplementationHelper.toMilliseconds(impl.getDateTime());
- } else {
- dateTime = Long.MIN_VALUE;
++ dateTime = impl.getDateTime();
}
}
@@@ -184,11 -183,11 +184,11 @@@
*
* @since 1.3
*/
- @Override
@XmlElement(name = "dateTime")
- @XmlJavaTypeAdapter(GO_DateTime.Since2014.class)
+ @XmlJavaTypeAdapter(GO_Temporal.Since2014.class)
+ @UML(identifier="dateTime", obligation=OPTIONAL, specification=UNSPECIFIED)
- public Date getDateTime() {
- return ImplementationHelper.toDate(dateTime);
+ public Temporal getDateTime() {
+ return dateTime;
}
/**
diff --cc core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultEvaluationMethod.java
index 2fd112bdfd,d204673ae5..9344128d56
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultEvaluationMethod.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultEvaluationMethod.java
@@@ -380,10 -419,10 +384,10 @@@ public class DefaultEvaluationMethod ex
*
* @return date or range of dates on which a data quality measure was applied.
*/
- @Override
@XmlElement(name = "dateTime")
+ @UML(identifier="dateTime", obligation=OPTIONAL, specification=UNSPECIFIED)
@SuppressWarnings("ReturnOfCollectionOrArrayField")
- public Collection<Date> getDates() {
+ public Collection<Temporal> getDates() {
if (Semaphores.query(Semaphores.NULL_COLLECTION)) {
return isNullOrEmpty(dates) ? null : dates;
}
diff --cc core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/package-info.java
index 19bf7545e2,8bbaff5a65..18227b4170
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/package-info.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/package-info.java
@@@ -68,7 -68,9 +68,8 @@@
// @XmlJavaTypeAdapter(DQM_Measure.class), // Not directly referenced, but a "weak" association exists.
@XmlJavaTypeAdapter(DQM_Parameter.class),
@XmlJavaTypeAdapter(DQM_SourceReference.class),
- @XmlJavaTypeAdapter(DQM_ValueStructure.class),
@XmlJavaTypeAdapter(GO_Boolean.class),
+ @XmlJavaTypeAdapter(GO_Temporal.class),
@XmlJavaTypeAdapter(GO_DateTime.class),
@XmlJavaTypeAdapter(GO_GenericName.class),
@XmlJavaTypeAdapter(GO_Record.class),
diff --cc core/sis-referencing/src/main/java/org/apache/sis/referencing/IdentifiedObjects.java
index 375625096f,fb058662a2..83b6bfba57
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/IdentifiedObjects.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/IdentifiedObjects.java
@@@ -254,10 -256,17 +257,17 @@@ public final class IdentifiedObjects ex
*/
public static Identifier getIdentifier(final IdentifiedObject object, final Citation authority) {
if (object != null) {
- for (final Identifier identifier : nonNull(object.getIdentifiers())) {
+ String cs = null;
+ if (authority instanceof IdentifierSpace<?>) {
+ cs = ((IdentifierSpace<?>) authority).getName();
+ }
- for (final Identifier identifier : nonNull(object.getIdentifiers())) {
++ for (final ReferenceIdentifier identifier : nonNull(object.getIdentifiers())) {
if (identifier != null) { // Paranoiac check.
+ if (cs != null && cs.equalsIgnoreCase(identifier.getCodeSpace())) {
+ return identifier; // Match based on codespace.
+ }
if (authority == null || Citations.identifierMatches(authority, identifier.getAuthority())) {
- return identifier;
+ return identifier; // Match based on citation.
}
}
}