Skip to content

Commit 36d0564

Browse files
Address review feedback from mskacelik
- Replace .collect(Collectors.toList()) with .toList() (JDK 17+) - Add missing imports in ResponseImpl and JsonbAnnotationIntrospectorTest - Use property for jakarta.json.bind-api version instead of hardcoding
1 parent bc9dc95 commit 36d0564

5 files changed

Lines changed: 30 additions & 19 deletions

File tree

client/implementation-vertx/src/main/java/io/smallrye/graphql/client/vertx/websocket/graphqltransportws/GraphQLTransportWSSubprotocolHandler.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import java.util.Map;
77
import java.util.concurrent.CompletableFuture;
88
import java.util.concurrent.ConcurrentHashMap;
9-
import java.util.stream.Collectors;
109
import java.util.stream.StreamSupport;
1110

1211
import org.jboss.logging.Logger;
@@ -209,7 +208,7 @@ private void handleData(String operationId, ObjectNode data) {
209208
private void handleOperationError(String operationId, ArrayNode errors) {
210209
List<GraphQLError> parsedErrors = StreamSupport.stream(errors.spliterator(), false)
211210
.map(ResponseReader::readError)
212-
.collect(Collectors.toList());
211+
.toList();
213212
GraphQLClientException exception = new GraphQLClientException("Received an error", parsedErrors);
214213
UniEmitter<? super String> emitter = uniOperations.remove(operationId);
215214
if (emitter != null) {

client/implementation/src/main/java/io/smallrye/graphql/client/impl/ResponseImpl.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@
33
import java.util.ArrayList;
44
import java.util.Collections;
55
import java.util.HashMap;
6+
import java.util.LinkedHashSet;
67
import java.util.List;
78
import java.util.Map;
9+
import java.util.Set;
810

911
import com.fasterxml.jackson.databind.JsonNode;
1012
import com.fasterxml.jackson.databind.node.ArrayNode;
@@ -140,8 +142,8 @@ private Object getScalarValue(JsonNode value) {
140142
* Helper to collect field names from an ObjectNode into a Set-like structure
141143
* for error reporting.
142144
*/
143-
private static java.util.Set<String> fieldNames(ObjectNode node) {
144-
java.util.Set<String> names = new java.util.LinkedHashSet<>();
145+
private static Set<String> fieldNames(ObjectNode node) {
146+
Set<String> names = new LinkedHashSet<>();
145147
node.fieldNames().forEachRemaining(names::add);
146148
return names;
147149
}

client/implementation/src/main/java/io/smallrye/graphql/client/impl/typesafe/ResultBuilder.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55

66
import java.util.List;
77
import java.util.Map;
8-
import java.util.stream.Collectors;
98
import java.util.stream.StreamSupport;
109

1110
import com.fasterxml.jackson.core.JsonPointer;
@@ -118,7 +117,7 @@ private void readErrors() {
118117
throw new GraphQLClientException("errors from service",
119118
StreamSupport.stream(unapplied.spliterator(), false)
120119
.map(ResponseReader::readError)
121-
.collect(Collectors.toList()));
120+
.toList());
122121
}
123122

124123
private boolean apply(JsonNode error) {
@@ -185,6 +184,6 @@ private static List<Object> getPath(JsonNode jsonValue) {
185184
ArrayNode jsonArray = (ArrayNode) value;
186185
return StreamSupport.stream(jsonArray.spliterator(), false)
187186
.map(JsonUtils::toValue)
188-
.collect(Collectors.toList());
187+
.toList();
189188
}
190189
}

common/jackson-jsonb-compat/src/test/java/io/smallrye/graphql/jackson/jsonb/JsonbAnnotationIntrospectorTest.java

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,28 @@
22

33
import static org.assertj.core.api.Assertions.assertThat;
44

5+
import java.time.LocalDate;
6+
import java.util.Locale;
7+
8+
import jakarta.json.bind.annotation.JsonbCreator;
9+
import jakarta.json.bind.annotation.JsonbDateFormat;
10+
import jakarta.json.bind.annotation.JsonbNillable;
11+
import jakarta.json.bind.annotation.JsonbNumberFormat;
512
import jakarta.json.bind.annotation.JsonbProperty;
13+
import jakarta.json.bind.annotation.JsonbSubtype;
614
import jakarta.json.bind.annotation.JsonbTransient;
15+
import jakarta.json.bind.annotation.JsonbTypeInfo;
716

817
import org.junit.jupiter.api.Test;
918

1019
import com.fasterxml.jackson.databind.ObjectMapper;
20+
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
1121

1222
class JsonbAnnotationIntrospectorTest {
1323

1424
private final ObjectMapper mapper = new ObjectMapper()
1525
.registerModule(new JsonbCompatModule())
16-
.registerModule(new com.fasterxml.jackson.datatype.jsr310.JavaTimeModule());
26+
.registerModule(new JavaTimeModule());
1727

1828
// -- @JsonbProperty --
1929

@@ -54,7 +64,7 @@ static class CreatorBean {
5464
private final String name;
5565
private final int age;
5666

57-
@jakarta.json.bind.annotation.JsonbCreator
67+
@JsonbCreator
5868
public CreatorBean(
5969
@JsonbProperty("name") String name,
6070
@JsonbProperty("age") int age) {
@@ -80,7 +90,7 @@ void jsonbCreatorUsesAnnotatedConstructor() throws Exception {
8090

8191
// -- @JsonbNillable --
8292

83-
@jakarta.json.bind.annotation.JsonbNillable
93+
@JsonbNillable
8494
static class NillableBean {
8595
public String name = null;
8696
public String other = "value";
@@ -95,8 +105,8 @@ void jsonbNillableIncludesNullFields() throws Exception {
95105
// -- @JsonbDateFormat --
96106

97107
static class DateFormatBean {
98-
@jakarta.json.bind.annotation.JsonbDateFormat("dd.MM.yyyy")
99-
public java.time.LocalDate date = java.time.LocalDate.of(2026, 6, 15);
108+
@JsonbDateFormat("dd.MM.yyyy")
109+
public LocalDate date = LocalDate.of(2026, 6, 15);
100110
}
101111

102112
@Test
@@ -108,30 +118,30 @@ void jsonbDateFormatSerializesWithPattern() throws Exception {
108118
@Test
109119
void jsonbDateFormatDeserializesWithPattern() throws Exception {
110120
DateFormatBean bean = mapper.readValue("{\"date\":\"15.06.2026\"}", DateFormatBean.class);
111-
assertThat(bean.date).isEqualTo(java.time.LocalDate.of(2026, 6, 15));
121+
assertThat(bean.date).isEqualTo(LocalDate.of(2026, 6, 15));
112122
}
113123

114124
// -- @JsonbNumberFormat --
115125

116126
static class NumberFormatBean {
117-
@jakarta.json.bind.annotation.JsonbNumberFormat("#,##0.00")
127+
@JsonbNumberFormat("#,##0.00")
118128
public double price = 1234.5;
119129
}
120130

121131
@Test
122132
void jsonbNumberFormatSerializesWithPattern() throws Exception {
123133
ObjectMapper usMapper = new ObjectMapper()
124134
.registerModule(new JsonbCompatModule())
125-
.setLocale(java.util.Locale.US);
135+
.setLocale(Locale.US);
126136
String json = usMapper.writeValueAsString(new NumberFormatBean());
127137
assertThat(json).contains("\"1,234.50\"");
128138
}
129139

130140
// -- @JsonbTypeInfo / @JsonbSubtype --
131141

132-
@jakarta.json.bind.annotation.JsonbTypeInfo(key = "__typename", value = {
133-
@jakarta.json.bind.annotation.JsonbSubtype(alias = "Dog", type = Dog.class),
134-
@jakarta.json.bind.annotation.JsonbSubtype(alias = "Cat", type = Cat.class)
142+
@JsonbTypeInfo(key = "__typename", value = {
143+
@JsonbSubtype(alias = "Dog", type = Dog.class),
144+
@JsonbSubtype(alias = "Cat", type = Cat.class)
135145
})
136146
interface Animal {
137147
String getName();

pom.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
<version.smallrye-context-propagation>2.3.0</version.smallrye-context-propagation>
2929
<version.smallrye-stork>3.0.0.beta2</version.smallrye-stork>
3030

31+
<version.jakarta.json-b.api>3.0.1</version.jakarta.json-b.api>
3132
<version.yasson>3.0.4</version.yasson>
3233
<version.jakarta-json>2.1.3</version.jakarta-json>
3334
<version.jakarta-validation>3.1.1</version.jakarta-validation>
@@ -243,7 +244,7 @@
243244
<dependency>
244245
<groupId>jakarta.json.bind</groupId>
245246
<artifactId>jakarta.json.bind-api</artifactId>
246-
<version>3.0.1</version>
247+
<version>${version.jakarta.json-b.api}</version>
247248
</dependency>
248249
<dependency>
249250
<groupId>org.eclipse</groupId>

0 commit comments

Comments
 (0)