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 2023/11/23 12:52:22 UTC
(sis) 01/02: Allow `StoreListeners` argument to be null.
This is an automated email from the ASF dual-hosted git repository.
desruisseaux pushed a commit to branch geoapi-4.0
in repository https://gitbox.apache.org/repos/asf/sis.git
commit 34df6c938de197568fb8257b62c32a45a30a1158
Author: Martin Desruisseaux <ma...@geomatys.com>
AuthorDate: Thu Nov 23 11:26:30 2023 +0100
Allow `StoreListeners` argument to be null.
---
.../apache/sis/storage/base/MetadataBuilder.java | 23 +++++++++++++---------
1 file changed, 14 insertions(+), 9 deletions(-)
diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MetadataBuilder.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MetadataBuilder.java
index e317e4119f..dcdd2b31dd 100644
--- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MetadataBuilder.java
+++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MetadataBuilder.java
@@ -60,8 +60,12 @@ import org.apache.sis.util.AbstractInternationalString;
import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.CharSequences;
import org.apache.sis.util.Characters;
+import org.apache.sis.util.iso.Names;
+import org.apache.sis.util.iso.Types;
+import org.apache.sis.util.logging.Logging;
import org.apache.sis.util.internal.CollectionsExt;
import org.apache.sis.util.internal.Strings;
+import org.apache.sis.util.resources.Vocabulary;
import org.apache.sis.metadata.ModifiableMetadata;
import org.apache.sis.geometry.AbstractEnvelope;
import org.apache.sis.metadata.iso.*;
@@ -77,6 +81,7 @@ import org.apache.sis.metadata.iso.maintenance.*;
import org.apache.sis.metadata.iso.spatial.*;
import org.apache.sis.metadata.sql.MetadataStoreException;
import org.apache.sis.metadata.sql.MetadataSource;
+import org.apache.sis.metadata.internal.Merger;
import org.apache.sis.storage.AbstractResource;
import org.apache.sis.storage.AbstractFeatureSet;
import org.apache.sis.storage.AbstractGridCoverageResource;
@@ -86,10 +91,6 @@ import org.apache.sis.storage.internal.Resources;
import org.apache.sis.coverage.SampleDimension;
import org.apache.sis.coverage.grid.GridGeometry;
import org.apache.sis.coverage.grid.GridExtent;
-import org.apache.sis.metadata.internal.Merger;
-import org.apache.sis.util.resources.Vocabulary;
-import org.apache.sis.util.iso.Names;
-import org.apache.sis.util.iso.Types;
import org.apache.sis.measure.Units;
import static org.apache.sis.util.internal.StandardDateFormat.MILLISECONDS_PER_DAY;
@@ -819,7 +820,7 @@ public class MetadataBuilder {
* This is used for default implementation of {@link AbstractResource#createMetadata()}.
*
* @param resource the resource for which to add metadata.
- * @param listeners the listeners to notify in case of warning.
+ * @param listeners the listeners to notify in case of warning, or {@code null} if none.
* @throws DataStoreException if an error occurred while reading metadata from the data store.
*/
public final void addDefaultMetadata(final AbstractResource resource, final StoreListeners listeners) throws DataStoreException {
@@ -833,7 +834,7 @@ public class MetadataBuilder {
* This is used for default implementation of {@link AbstractFeatureSet#createMetadata()}.
*
* @param resource the resource for which to add metadata.
- * @param listeners the listeners to notify in case of warning.
+ * @param listeners the listeners to notify in case of warning, or {@code null} if none.
* @throws DataStoreException if an error occurred while reading metadata from the data store.
*/
public final void addDefaultMetadata(final AbstractFeatureSet resource, final StoreListeners listeners) throws DataStoreException {
@@ -846,7 +847,7 @@ public class MetadataBuilder {
* This is used for default implementation of {@link AbstractGridCoverageResource#createMetadata()}.
*
* @param resource the resource for which to add metadata.
- * @param listeners the listeners to notify in case of warning.
+ * @param listeners the listeners to notify in case of warning, or {@code null} if none.
* @throws DataStoreException if an error occurred while reading metadata from the data store.
*/
public final void addDefaultMetadata(final AbstractGridCoverageResource resource, final StoreListeners listeners) throws DataStoreException {
@@ -1855,7 +1856,7 @@ parse: for (int i = 0; i < length;) {
* </ul>
*
* @param envelope the extent to add in the metadata, or {@code null} for no-operation.
- * @param listeners the listeners to notify in case of warning.
+ * @param listeners the listeners to notify in case of warning, or {@code null} if none.
*/
public final void addExtent(final Envelope envelope, final StoreListeners listeners) {
if (envelope != null) {
@@ -1865,7 +1866,11 @@ parse: for (int i = 0; i < length;) {
if (crs != null) try {
extent().addElements(envelope);
} catch (TransformException | UnsupportedOperationException e) {
- listeners.warning(e);
+ if (listeners != null) {
+ listeners.warning(e);
+ } else {
+ Logging.recoverableException(StoreUtilities.LOGGER, null, null, e);
+ }
}
// Future version could add as a geometry in unspecified CRS.
}