Skip to content

Commit 585690f

Browse files
committed
hardened OME metadata deserialization by ignoring unknown fields
1 parent c2b6cac commit 585690f

19 files changed

Lines changed: 66 additions & 2 deletions

src/main/java/dev/zarr/zarrjava/ome/metadata/Acquisition.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
package dev.zarr.zarrjava.ome.metadata;
22

33
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
45
import com.fasterxml.jackson.annotation.JsonInclude;
56
import com.fasterxml.jackson.annotation.JsonProperty;
67

78
import javax.annotation.Nullable;
89

910
/** An HCS acquisition entry within a plate. */
11+
@JsonIgnoreProperties(ignoreUnknown = true)
1012
@JsonInclude(JsonInclude.Include.NON_NULL)
1113
public final class Acquisition {
1214

src/main/java/dev/zarr/zarrjava/ome/metadata/Axis.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package dev.zarr.zarrjava.ome.metadata;
22

33
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
45
import com.fasterxml.jackson.annotation.JsonInclude;
56
import com.fasterxml.jackson.annotation.JsonProperty;
67

78
import javax.annotation.Nullable;
89

10+
@JsonIgnoreProperties(ignoreUnknown = true)
911
@JsonInclude(JsonInclude.Include.NON_NULL)
1012
public final class Axis {
1113

src/main/java/dev/zarr/zarrjava/ome/metadata/CoordinateTransformation.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
package dev.zarr.zarrjava.ome.metadata;
22

33
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
45
import com.fasterxml.jackson.annotation.JsonInclude;
56
import com.fasterxml.jackson.annotation.JsonProperty;
67

78
import javax.annotation.Nullable;
89
import java.util.List;
910

11+
@JsonIgnoreProperties(ignoreUnknown = true)
1012
@JsonInclude(JsonInclude.Include.NON_NULL)
1113
public final class CoordinateTransformation {
1214

src/main/java/dev/zarr/zarrjava/ome/metadata/Dataset.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package dev.zarr.zarrjava.ome.metadata;
22

33
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
45
import com.fasterxml.jackson.annotation.JsonProperty;
56

67
import java.util.List;
78

9+
@JsonIgnoreProperties(ignoreUnknown = true)
810
public final class Dataset {
911

1012
public final String path;

src/main/java/dev/zarr/zarrjava/ome/metadata/NamedEntry.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package dev.zarr.zarrjava.ome.metadata;
22

33
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
45
import com.fasterxml.jackson.annotation.JsonInclude;
56
import com.fasterxml.jackson.annotation.JsonProperty;
67

78
/** A named entry used for plate rows/columns. */
9+
@JsonIgnoreProperties(ignoreUnknown = true)
810
@JsonInclude(JsonInclude.Include.NON_NULL)
911
public final class NamedEntry {
1012

src/main/java/dev/zarr/zarrjava/ome/metadata/OmeMetadata.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
package dev.zarr.zarrjava.ome.metadata;
22

33
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
45
import com.fasterxml.jackson.annotation.JsonInclude;
56
import com.fasterxml.jackson.annotation.JsonProperty;
67

78
import javax.annotation.Nullable;
89
import java.util.List;
910

1011
/** OME-Zarr metadata stored under {@code attributes["ome"]} (v0.5). */
12+
@JsonIgnoreProperties(ignoreUnknown = true)
1113
@JsonInclude(JsonInclude.Include.NON_NULL)
1214
public final class OmeMetadata {
1315

src/main/java/dev/zarr/zarrjava/ome/metadata/OmeroMetadata.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package dev.zarr.zarrjava.ome.metadata;
22

33
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
45
import com.fasterxml.jackson.annotation.JsonInclude;
56
import com.fasterxml.jackson.annotation.JsonProperty;
67

@@ -9,6 +10,7 @@
910
import java.util.Map;
1011

1112
/** Omero display metadata stored in OME-Zarr attributes. */
13+
@JsonIgnoreProperties(ignoreUnknown = true)
1214
@JsonInclude(JsonInclude.Include.NON_NULL)
1315
public final class OmeroMetadata {
1416

src/main/java/dev/zarr/zarrjava/ome/metadata/PlateMetadata.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
package dev.zarr.zarrjava.ome.metadata;
22

33
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
45
import com.fasterxml.jackson.annotation.JsonInclude;
56
import com.fasterxml.jackson.annotation.JsonProperty;
67

78
import javax.annotation.Nullable;
89
import java.util.List;
910

1011
/** OME-Zarr HCS plate metadata. */
12+
@JsonIgnoreProperties(ignoreUnknown = true)
1113
@JsonInclude(JsonInclude.Include.NON_NULL)
1214
public final class PlateMetadata {
1315

src/main/java/dev/zarr/zarrjava/ome/metadata/WellImage.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
package dev.zarr.zarrjava.ome.metadata;
22

33
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
45
import com.fasterxml.jackson.annotation.JsonInclude;
56
import com.fasterxml.jackson.annotation.JsonProperty;
67

78
import javax.annotation.Nullable;
89

910
/** A reference to an image within a well. */
11+
@JsonIgnoreProperties(ignoreUnknown = true)
1012
@JsonInclude(JsonInclude.Include.NON_NULL)
1113
public final class WellImage {
1214

src/main/java/dev/zarr/zarrjava/ome/metadata/WellMetadata.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
package dev.zarr.zarrjava.ome.metadata;
22

33
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
45
import com.fasterxml.jackson.annotation.JsonInclude;
56
import com.fasterxml.jackson.annotation.JsonProperty;
67

78
import javax.annotation.Nullable;
89
import java.util.List;
910

1011
/** OME-Zarr HCS well metadata. */
12+
@JsonIgnoreProperties(ignoreUnknown = true)
1113
@JsonInclude(JsonInclude.Include.NON_NULL)
1214
public final class WellMetadata {
1315

0 commit comments

Comments
 (0)