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 8da18e9dcbd2d756742d62055ad0788e2ea2e0cd
Author: Martin Desruisseaux <[email protected]>
AuthorDate: Fri May 20 15:24:22 2022 +0200

    Add assertions relative to synchronization.
---
 ide-project/NetBeans/nbproject/project.properties                     | 2 +-
 .../main/java/org/apache/sis/storage/geotiff/ImageFileDirectory.java  | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/ide-project/NetBeans/nbproject/project.properties 
b/ide-project/NetBeans/nbproject/project.properties
index 40225666cc..75deaefe16 100644
--- a/ide-project/NetBeans/nbproject/project.properties
+++ b/ide-project/NetBeans/nbproject/project.properties
@@ -102,7 +102,7 @@ project.GeoAPI       = 
../../../../GeoAPI/master/ide-project/NetBeans
 jsr363.version       = 1.0
 jaxb.version         = 2.3.3
 jaxb.runtime         = 2.3.6
-istack.version       = 3.0.11
+istack.version       = 3.0.12
 activation.version   = 1.2.2
 jama.version         = 1.0.3
 geographlib.version  = 2.0
diff --git 
a/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/ImageFileDirectory.java
 
b/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/ImageFileDirectory.java
index 23eee30271..001f40e5ba 100644
--- 
a/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/ImageFileDirectory.java
+++ 
b/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/ImageFileDirectory.java
@@ -391,6 +391,8 @@ final class ImageFileDirectory extends DataCube {
     /**
      * Returns {@link #referencing}, created when first needed. We delay its 
creation since
      * this object is not needed for ordinary TIFF files (i.e. without the 
GeoTIFF extension).
+     * This method is invoked only during the parsing of TIFF tags. If no 
GeoTIFF information
+     * is found, then this field keeps the {@code null} value.
      */
     private GridGeometryBuilder referencing() {
         if (referencing == null) {
@@ -1507,6 +1509,7 @@ final class ImageFileDirectory extends DataCube {
      */
     @Override
     protected SampleModel getSampleModel() throws DataStoreContentException {
+        assert Thread.holdsLock(getSynchronizationLock());
         if (sampleModel == null) try {
             sampleModel = new SampleModelFactory(getDataType(), tileWidth, 
tileHeight, samplesPerPixel, bitsPerSample, isPlanar).build();
         } catch (IllegalArgumentException | RasterFormatException e) {
@@ -1594,6 +1597,7 @@ final class ImageFileDirectory extends DataCube {
      */
     @Override
     protected ColorModel getColorModel() throws DataStoreContentException {
+        assert Thread.holdsLock(getSynchronizationLock());
         if (colorModel == null) {
             final SampleModel sm  = getSampleModel();
             final int dataType    = sm.getDataType();

Reply via email to