From 82fd769483548066dee0b8dffc727742fdf05a97 Mon Sep 17 00:00:00 2001 From: Victor Li Date: Tue, 14 Jul 2026 12:30:00 -0400 Subject: [PATCH 1/4] adding deserializer --- .../client/models/blocks/DataTableIF.java | 3 ++ .../slack/client/models/blocks/TableIF.java | 3 ++ .../NullSafeDataTableCellRowDeserializer.java | 32 +++++++++++++++++++ .../NullSafeTableCellRowDeserializer.java | 30 +++++++++++++++++ .../models/blocks/DataTableBlockTest.java | 18 +++++++++++ .../client/models/blocks/TableBlockTest.java | 12 +++++++ .../src/test/resources/data_table_block.json | 15 +++++++++ .../src/test/resources/table_block.json | 10 ++++++ 8 files changed, 123 insertions(+) create mode 100644 slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/NullSafeDataTableCellRowDeserializer.java create mode 100644 slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/NullSafeTableCellRowDeserializer.java diff --git a/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/DataTableIF.java b/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/DataTableIF.java index e91843e8..3c463866 100644 --- a/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/DataTableIF.java +++ b/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/DataTableIF.java @@ -3,11 +3,13 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.PropertyNamingStrategies.SnakeCaseStrategy; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonNaming; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import com.hubspot.immutables.style.HubSpotStyle; import com.hubspot.slack.client.models.blocks.table.DataTableCell; +import com.hubspot.slack.client.models.blocks.table.NullSafeDataTableCellRowDeserializer; import com.hubspot.slack.client.models.blocks.table.RawTextTableCell; import java.util.Optional; import org.immutables.value.Value; @@ -31,6 +33,7 @@ default String getType() { Optional getCaption(); @Value.Parameter(order = 2) + @JsonDeserialize(contentUsing = NullSafeDataTableCellRowDeserializer.class) ImmutableList> getRows(); @JsonProperty("page_size") diff --git a/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/TableIF.java b/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/TableIF.java index 2e9df519..9e687af4 100644 --- a/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/TableIF.java +++ b/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/TableIF.java @@ -1,10 +1,12 @@ package com.hubspot.slack.client.models.blocks; import com.fasterxml.jackson.databind.PropertyNamingStrategies.SnakeCaseStrategy; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonNaming; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import com.hubspot.immutables.style.HubSpotStyle; +import com.hubspot.slack.client.models.blocks.table.NullSafeTableCellRowDeserializer; import com.hubspot.slack.client.models.blocks.table.TableCell; import com.hubspot.slack.client.models.blocks.table.TableColumnSetting; import org.immutables.value.Value; @@ -24,6 +26,7 @@ default String getType() { } @Value.Parameter + @JsonDeserialize(contentUsing = NullSafeTableCellRowDeserializer.class) ImmutableList> getRows(); ImmutableList getColumnSettings(); diff --git a/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/NullSafeDataTableCellRowDeserializer.java b/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/NullSafeDataTableCellRowDeserializer.java new file mode 100644 index 00000000..28681fe7 --- /dev/null +++ b/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/NullSafeDataTableCellRowDeserializer.java @@ -0,0 +1,32 @@ +package com.hubspot.slack.client.models.blocks.table; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonToken; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.google.common.collect.ImmutableList; +import java.io.IOException; + +public class NullSafeDataTableCellRowDeserializer + extends StdDeserializer> { + + public NullSafeDataTableCellRowDeserializer() { + super(ImmutableList.class); + } + + @Override + public ImmutableList deserialize( + JsonParser p, + DeserializationContext ctxt + ) throws IOException { + ImmutableList.Builder builder = ImmutableList.builder(); + while (p.nextToken() != JsonToken.END_ARRAY) { + if (p.currentToken() == JsonToken.VALUE_NULL) { + builder.add(RawTextTableCell.of("")); + } else { + builder.add(ctxt.readValue(p, DataTableCell.class)); + } + } + return builder.build(); + } +} diff --git a/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/NullSafeTableCellRowDeserializer.java b/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/NullSafeTableCellRowDeserializer.java new file mode 100644 index 00000000..6f723649 --- /dev/null +++ b/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/NullSafeTableCellRowDeserializer.java @@ -0,0 +1,30 @@ +package com.hubspot.slack.client.models.blocks.table; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonToken; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.google.common.collect.ImmutableList; +import java.io.IOException; + +public class NullSafeTableCellRowDeserializer + extends StdDeserializer> { + + public NullSafeTableCellRowDeserializer() { + super(ImmutableList.class); + } + + @Override + public ImmutableList deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + ImmutableList.Builder builder = ImmutableList.builder(); + while (p.nextToken() != JsonToken.END_ARRAY) { + if (p.currentToken() == JsonToken.VALUE_NULL) { + builder.add(RawTextTableCell.of("")); + } else { + builder.add(ctxt.readValue(p, TableCell.class)); + } + } + return builder.build(); + } +} diff --git a/slack-base/src/test/java/com/hubspot/slack/client/models/blocks/DataTableBlockTest.java b/slack-base/src/test/java/com/hubspot/slack/client/models/blocks/DataTableBlockTest.java index 7dfa67d6..5e797131 100644 --- a/slack-base/src/test/java/com/hubspot/slack/client/models/blocks/DataTableBlockTest.java +++ b/slack-base/src/test/java/com/hubspot/slack/client/models/blocks/DataTableBlockTest.java @@ -27,6 +27,7 @@ public class DataTableBlockTest { private static final int WITH_OPTIONS_INDEX = 2; private static final int UNKNOWN_CELL_INDEX = 3; private static final int NO_CAPTION_INDEX = 4; + private static final int NULL_CELL_INDEX = 5; private static DataTable[] blocks; @BeforeClass @@ -121,6 +122,23 @@ public void itDeserializesUnknownCellAsUnknownTableCell() { .isInstanceOf(UnknownTableCell.class); } + @Test + public void itDeserializesNullCellsAsBlankRawTextCells() { + assertThat(blocks[NULL_CELL_INDEX].getRows()).hasSize(2); + assertThat(blocks[NULL_CELL_INDEX].getRows().get(0)) + .containsExactly( + RawTextTableCell.of("Name"), + RawTextTableCell.of(""), + RawTextTableCell.of("Department") + ); + assertThat(blocks[NULL_CELL_INDEX].getRows().get(1)) + .containsExactly( + RawTextTableCell.of("Alice"), + RawTextTableCell.of(""), + RawTextTableCell.of("Engineering") + ); + } + @Test public void itSerializesAndDeserializes() throws IOException { DataTable original = DataTable diff --git a/slack-base/src/test/java/com/hubspot/slack/client/models/blocks/TableBlockTest.java b/slack-base/src/test/java/com/hubspot/slack/client/models/blocks/TableBlockTest.java index 0b0c46d9..a3087b0b 100644 --- a/slack-base/src/test/java/com/hubspot/slack/client/models/blocks/TableBlockTest.java +++ b/slack-base/src/test/java/com/hubspot/slack/client/models/blocks/TableBlockTest.java @@ -28,6 +28,7 @@ public class TableBlockTest { private static final int COLUMN_SETTINGS_INDEX = 2; private static final int BLOCK_ID_INDEX = 3; private static final int UNKNOWN_CELL_INDEX = 4; + private static final int NULL_CELL_INDEX = 5; private static Table[] blocks; @BeforeClass @@ -174,6 +175,17 @@ public void itFailsToBuildWithTooManyColumnSettings() { fail("Expected IllegalStateException for too many column settings"); } + @Test + public void itDeserializesNullCellsAsBlankRawTextCells() { + assertThat(blocks[NULL_CELL_INDEX].getRows()).hasSize(1); + assertThat(blocks[NULL_CELL_INDEX].getRows().get(0)) + .containsExactly( + RawTextTableCell.of("Name"), + RawTextTableCell.of(""), + RawTextTableCell.of("Department") + ); + } + @Test public void itFailsToBuildWithBlockIdExceedingMaxLength() { try { diff --git a/slack-base/src/test/resources/data_table_block.json b/slack-base/src/test/resources/data_table_block.json index 562253d7..d30b8ab9 100644 --- a/slack-base/src/test/resources/data_table_block.json +++ b/slack-base/src/test/resources/data_table_block.json @@ -85,5 +85,20 @@ {"type": "raw_text", "text": "Body"} ] ] + }, + { + "type": "data_table", + "rows": [ + [ + {"type": "raw_text", "text": "Name"}, + null, + {"type": "raw_text", "text": "Department"} + ], + [ + {"type": "raw_text", "text": "Alice"}, + null, + {"type": "raw_text", "text": "Engineering"} + ] + ] } ] diff --git a/slack-base/src/test/resources/table_block.json b/slack-base/src/test/resources/table_block.json index 9586a79f..155d21ec 100644 --- a/slack-base/src/test/resources/table_block.json +++ b/slack-base/src/test/resources/table_block.json @@ -62,5 +62,15 @@ {"type": "future_slack_cell_type"} ] ] + }, + { + "type": "table", + "rows": [ + [ + {"type": "raw_text", "text": "Name"}, + null, + {"type": "raw_text", "text": "Department"} + ] + ] } ] From b2c27d7b3a778d524f4f5f9a28d7d474de987394 Mon Sep 17 00:00:00 2001 From: Victor Li Date: Tue, 14 Jul 2026 12:36:54 -0400 Subject: [PATCH 2/4] fixes --- ...tractNullSafeTableCellRowDeserializer.java | 35 +++++++++++++++++++ .../NullSafeDataTableCellRowDeserializer.java | 26 +++----------- .../NullSafeTableCellRowDeserializer.java | 24 +++---------- 3 files changed, 43 insertions(+), 42 deletions(-) create mode 100644 slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/AbstractNullSafeTableCellRowDeserializer.java diff --git a/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/AbstractNullSafeTableCellRowDeserializer.java b/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/AbstractNullSafeTableCellRowDeserializer.java new file mode 100644 index 00000000..249e7f58 --- /dev/null +++ b/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/AbstractNullSafeTableCellRowDeserializer.java @@ -0,0 +1,35 @@ +package com.hubspot.slack.client.models.blocks.table; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonToken; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.google.common.collect.ImmutableList; +import java.io.IOException; + +abstract class AbstractNullSafeTableCellRowDeserializer + extends StdDeserializer> { + + private final Class cellType; + + protected AbstractNullSafeTableCellRowDeserializer(Class cellType) { + super(Object.class); + this.cellType = cellType; + } + + protected abstract T emptyCell(); + + @Override + public ImmutableList deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + ImmutableList.Builder builder = ImmutableList.builder(); + while (p.nextToken() != JsonToken.END_ARRAY) { + if (p.currentToken() == JsonToken.VALUE_NULL) { + builder.add(emptyCell()); + } else { + builder.add(ctxt.readValue(p, cellType)); + } + } + return builder.build(); + } +} diff --git a/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/NullSafeDataTableCellRowDeserializer.java b/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/NullSafeDataTableCellRowDeserializer.java index 28681fe7..437d1e54 100644 --- a/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/NullSafeDataTableCellRowDeserializer.java +++ b/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/NullSafeDataTableCellRowDeserializer.java @@ -1,32 +1,14 @@ package com.hubspot.slack.client.models.blocks.table; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonToken; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.deser.std.StdDeserializer; -import com.google.common.collect.ImmutableList; -import java.io.IOException; - public class NullSafeDataTableCellRowDeserializer - extends StdDeserializer> { + extends AbstractNullSafeTableCellRowDeserializer { public NullSafeDataTableCellRowDeserializer() { - super(ImmutableList.class); + super(DataTableCell.class); } @Override - public ImmutableList deserialize( - JsonParser p, - DeserializationContext ctxt - ) throws IOException { - ImmutableList.Builder builder = ImmutableList.builder(); - while (p.nextToken() != JsonToken.END_ARRAY) { - if (p.currentToken() == JsonToken.VALUE_NULL) { - builder.add(RawTextTableCell.of("")); - } else { - builder.add(ctxt.readValue(p, DataTableCell.class)); - } - } - return builder.build(); + protected DataTableCell emptyCell() { + return RawTextTableCell.of(""); } } diff --git a/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/NullSafeTableCellRowDeserializer.java b/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/NullSafeTableCellRowDeserializer.java index 6f723649..154ca544 100644 --- a/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/NullSafeTableCellRowDeserializer.java +++ b/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/NullSafeTableCellRowDeserializer.java @@ -1,30 +1,14 @@ package com.hubspot.slack.client.models.blocks.table; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonToken; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.deser.std.StdDeserializer; -import com.google.common.collect.ImmutableList; -import java.io.IOException; - public class NullSafeTableCellRowDeserializer - extends StdDeserializer> { + extends AbstractNullSafeTableCellRowDeserializer { public NullSafeTableCellRowDeserializer() { - super(ImmutableList.class); + super(TableCell.class); } @Override - public ImmutableList deserialize(JsonParser p, DeserializationContext ctxt) - throws IOException { - ImmutableList.Builder builder = ImmutableList.builder(); - while (p.nextToken() != JsonToken.END_ARRAY) { - if (p.currentToken() == JsonToken.VALUE_NULL) { - builder.add(RawTextTableCell.of("")); - } else { - builder.add(ctxt.readValue(p, TableCell.class)); - } - } - return builder.build(); + protected TableCell emptyCell() { + return RawTextTableCell.of(""); } } From 8d0eb36cca2f04e69561c9dff92d088ad908af57 Mon Sep 17 00:00:00 2001 From: Victor Li Date: Tue, 14 Jul 2026 13:06:06 -0400 Subject: [PATCH 3/4] fixes --- .../com/hubspot/slack/client/models/blocks/DataTableIF.java | 2 +- .../java/com/hubspot/slack/client/models/blocks/TableIF.java | 2 +- .../AbstractNullSafeTableCellRowDeserializer.java | 4 +++- .../NullSafeDataTableCellRowDeserializer.java | 5 ++++- .../{ => deserializer}/NullSafeTableCellRowDeserializer.java | 5 ++++- 5 files changed, 13 insertions(+), 5 deletions(-) rename slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/{ => deserializer}/AbstractNullSafeTableCellRowDeserializer.java (84%) rename slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/{ => deserializer}/NullSafeDataTableCellRowDeserializer.java (59%) rename slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/{ => deserializer}/NullSafeTableCellRowDeserializer.java (58%) diff --git a/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/DataTableIF.java b/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/DataTableIF.java index 3c463866..aab8a514 100644 --- a/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/DataTableIF.java +++ b/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/DataTableIF.java @@ -9,8 +9,8 @@ import com.google.common.collect.ImmutableList; import com.hubspot.immutables.style.HubSpotStyle; import com.hubspot.slack.client.models.blocks.table.DataTableCell; -import com.hubspot.slack.client.models.blocks.table.NullSafeDataTableCellRowDeserializer; import com.hubspot.slack.client.models.blocks.table.RawTextTableCell; +import com.hubspot.slack.client.models.blocks.table.deserializer.NullSafeDataTableCellRowDeserializer; import java.util.Optional; import org.immutables.value.Value; import org.immutables.value.Value.Check; diff --git a/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/TableIF.java b/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/TableIF.java index 9e687af4..5f2dcaf5 100644 --- a/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/TableIF.java +++ b/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/TableIF.java @@ -6,9 +6,9 @@ import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import com.hubspot.immutables.style.HubSpotStyle; -import com.hubspot.slack.client.models.blocks.table.NullSafeTableCellRowDeserializer; import com.hubspot.slack.client.models.blocks.table.TableCell; import com.hubspot.slack.client.models.blocks.table.TableColumnSetting; +import com.hubspot.slack.client.models.blocks.table.deserializer.NullSafeTableCellRowDeserializer; import org.immutables.value.Value; import org.immutables.value.Value.Check; import org.immutables.value.Value.Immutable; diff --git a/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/AbstractNullSafeTableCellRowDeserializer.java b/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/deserializer/AbstractNullSafeTableCellRowDeserializer.java similarity index 84% rename from slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/AbstractNullSafeTableCellRowDeserializer.java rename to slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/deserializer/AbstractNullSafeTableCellRowDeserializer.java index 249e7f58..9ca71c31 100644 --- a/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/AbstractNullSafeTableCellRowDeserializer.java +++ b/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/deserializer/AbstractNullSafeTableCellRowDeserializer.java @@ -1,10 +1,12 @@ -package com.hubspot.slack.client.models.blocks.table; +package com.hubspot.slack.client.models.blocks.table.deserializer; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonToken; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.deser.std.StdDeserializer; import com.google.common.collect.ImmutableList; +import com.hubspot.slack.client.models.blocks.table.RawTextTableCell; +import com.hubspot.slack.client.models.blocks.table.TableCell; import java.io.IOException; abstract class AbstractNullSafeTableCellRowDeserializer diff --git a/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/NullSafeDataTableCellRowDeserializer.java b/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/deserializer/NullSafeDataTableCellRowDeserializer.java similarity index 59% rename from slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/NullSafeDataTableCellRowDeserializer.java rename to slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/deserializer/NullSafeDataTableCellRowDeserializer.java index 437d1e54..b26bb2a5 100644 --- a/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/NullSafeDataTableCellRowDeserializer.java +++ b/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/deserializer/NullSafeDataTableCellRowDeserializer.java @@ -1,4 +1,7 @@ -package com.hubspot.slack.client.models.blocks.table; +package com.hubspot.slack.client.models.blocks.table.deserializer; + +import com.hubspot.slack.client.models.blocks.table.DataTableCell; +import com.hubspot.slack.client.models.blocks.table.RawTextTableCell; public class NullSafeDataTableCellRowDeserializer extends AbstractNullSafeTableCellRowDeserializer { diff --git a/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/NullSafeTableCellRowDeserializer.java b/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/deserializer/NullSafeTableCellRowDeserializer.java similarity index 58% rename from slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/NullSafeTableCellRowDeserializer.java rename to slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/deserializer/NullSafeTableCellRowDeserializer.java index 154ca544..3f3a29c4 100644 --- a/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/NullSafeTableCellRowDeserializer.java +++ b/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/deserializer/NullSafeTableCellRowDeserializer.java @@ -1,4 +1,7 @@ -package com.hubspot.slack.client.models.blocks.table; +package com.hubspot.slack.client.models.blocks.table.deserializer; + +import com.hubspot.slack.client.models.blocks.table.RawTextTableCell; +import com.hubspot.slack.client.models.blocks.table.TableCell; public class NullSafeTableCellRowDeserializer extends AbstractNullSafeTableCellRowDeserializer { From 2f4300e90d3b453ec0327b98851973433fff33a7 Mon Sep 17 00:00:00 2001 From: Victor Li Date: Tue, 14 Jul 2026 13:06:52 -0400 Subject: [PATCH 4/4] more fixes --- .../AbstractNullSafeTableCellRowDeserializer.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/deserializer/AbstractNullSafeTableCellRowDeserializer.java b/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/deserializer/AbstractNullSafeTableCellRowDeserializer.java index 9ca71c31..6d0e5e0a 100644 --- a/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/deserializer/AbstractNullSafeTableCellRowDeserializer.java +++ b/slack-base/src/main/java/com/hubspot/slack/client/models/blocks/table/deserializer/AbstractNullSafeTableCellRowDeserializer.java @@ -5,7 +5,6 @@ import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.deser.std.StdDeserializer; import com.google.common.collect.ImmutableList; -import com.hubspot.slack.client.models.blocks.table.RawTextTableCell; import com.hubspot.slack.client.models.blocks.table.TableCell; import java.io.IOException; @@ -22,14 +21,14 @@ protected AbstractNullSafeTableCellRowDeserializer(Class cellType) { protected abstract T emptyCell(); @Override - public ImmutableList deserialize(JsonParser p, DeserializationContext ctxt) + public ImmutableList deserialize(JsonParser parser, DeserializationContext context) throws IOException { ImmutableList.Builder builder = ImmutableList.builder(); - while (p.nextToken() != JsonToken.END_ARRAY) { - if (p.currentToken() == JsonToken.VALUE_NULL) { + while (parser.nextToken() != JsonToken.END_ARRAY) { + if (parser.currentToken() == JsonToken.VALUE_NULL) { builder.add(emptyCell()); } else { - builder.add(ctxt.readValue(p, cellType)); + builder.add(context.readValue(parser, cellType)); } } return builder.build();