Skip to content

Commit ed0e018

Browse files
committed
add optional omero fields id, version, name
1 parent 60c63fa commit ed0e018

3 files changed

Lines changed: 29 additions & 1 deletion

File tree

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

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,36 @@
1212
@JsonInclude(JsonInclude.Include.NON_NULL)
1313
public final class OmeroMetadata {
1414

15+
@Nullable
16+
public final Integer id;
17+
@Nullable
18+
public final String version;
19+
@Nullable
20+
public final String name;
1521
@Nullable
1622
public final List<Map<String, Object>> channels;
1723
@Nullable
1824
public final Map<String, Object> rdefs;
1925

2026
@JsonCreator(mode = JsonCreator.Mode.PROPERTIES)
2127
public OmeroMetadata(
28+
@Nullable @JsonProperty("id") Integer id,
29+
@Nullable @JsonProperty("version") String version,
30+
@Nullable @JsonProperty("name") String name,
2231
@Nullable @JsonProperty("channels") List<Map<String, Object>> channels,
2332
@Nullable @JsonProperty("rdefs") Map<String, Object> rdefs
2433
) {
34+
this.id = id;
35+
this.version = version;
36+
this.name = name;
2537
this.channels = channels;
2638
this.rdefs = rdefs;
2739
}
40+
41+
public OmeroMetadata(
42+
@Nullable List<Map<String, Object>> channels,
43+
@Nullable Map<String, Object> rdefs
44+
) {
45+
this(null, null, null, channels, rdefs);
46+
}
2847
}

src/test/java/dev/zarr/zarrjava/ome/OmeZarrV04Test.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,9 @@ void omeroChannels() throws Exception {
8181
dev.zarr.zarrjava.ome.v0_4.MultiscaleImage.openMultiscaleImage(imageStoreHandle());
8282
OmeroMetadata omero = image.getOmeroMetadata();
8383
assertNotNull(omero);
84+
assertNull(omero.id);
85+
assertNull(omero.version);
86+
assertNull(omero.name);
8487
assertEquals(2, omero.channels.size());
8588
assertEquals("DAPI", omero.channels.get(0).get("label"));
8689
assertEquals("color", omero.rdefs.get("model"));
@@ -174,12 +177,15 @@ void writeOmeroRoundTrip() throws Exception {
174177
ch.put("label", "DAPI");
175178
java.util.Map<String, Object> rd = new java.util.HashMap<String, Object>();
176179
rd.put("model", "color");
177-
created.setOmeroMetadata(new OmeroMetadata(Collections.singletonList(ch), rd));
180+
created.setOmeroMetadata(new OmeroMetadata(1, "0.5", "example.tif", Collections.singletonList(ch), rd));
178181

179182
dev.zarr.zarrjava.ome.v0_4.MultiscaleImage reopened =
180183
dev.zarr.zarrjava.ome.v0_4.MultiscaleImage.openMultiscaleImage(handle);
181184
OmeroMetadata got = reopened.getOmeroMetadata();
182185
assertNotNull(got);
186+
assertEquals(Integer.valueOf(1), got.id);
187+
assertEquals("0.5", got.version);
188+
assertEquals("example.tif", got.name);
183189
assertEquals("DAPI", got.channels.get(0).get("label"));
184190
}
185191

src/test/java/dev/zarr/zarrjava/ome/OmeZarrV05Test.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,9 @@ void omeroChannels() throws Exception {
9494
dev.zarr.zarrjava.ome.v0_5.MultiscaleImage.openMultiscaleImage(imageStoreHandle());
9595
OmeroMetadata omero = image.getOmeroMetadata();
9696
assertNotNull(omero);
97+
assertNull(omero.id);
98+
assertNull(omero.version);
99+
assertNull(omero.name);
97100
assertEquals(2, omero.channels.size());
98101
assertEquals("DAPI", omero.channels.get(0).get("label"));
99102
assertEquals("GFP", omero.channels.get(1).get("label"));

0 commit comments

Comments
 (0)