Skip to content

Commit fc3bb83

Browse files
committed
chore: remove dangling object mappers
originates from: citrusframework#1498.
1 parent d75543c commit fc3bb83

25 files changed

Lines changed: 203 additions & 190 deletions

File tree

connectors/citrus-docker/src/main/java/org/citrusframework/docker/actions/DockerExecuteAction.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
import org.slf4j.Logger;
4848
import org.slf4j.LoggerFactory;
4949
import tools.jackson.core.JacksonException;
50-
import tools.jackson.databind.ObjectMapper;
50+
import tools.jackson.databind.json.JsonMapper;
5151

5252
import java.util.Collections;
5353
import java.util.Optional;
@@ -74,10 +74,8 @@ public class DockerExecuteAction extends AbstractTestAction {
7474
*/
7575
private final String expectedCommandResult;
7676

77-
/**
78-
* JSON data binding
79-
*/
80-
private final ObjectMapper jsonMapper;
77+
/** JSON data binding */
78+
private final JsonMapper jsonMapper;
8179

8280
/**
8381
* Validator used to validate expected json results
@@ -203,7 +201,7 @@ public static class Builder extends AbstractTestActionBuilder<DockerExecuteActio
203201
private DockerClient dockerClient = new DockerClient();
204202
private AbstractDockerCommandBuilder<?, ?, ?> commandBuilder;
205203
private String expectedCommandResult;
206-
private ObjectMapper jsonMapper = new ObjectMapper();
204+
private JsonMapper jsonMapper = new JsonMapper();
207205
private MessageValidator<? extends ValidationContext> validator;
208206

209207
/**
@@ -230,15 +228,15 @@ public Builder client(DockerClient dockerClient) {
230228

231229
@Override
232230
public Builder mapper(Object mapper) {
233-
if (mapper instanceof ObjectMapper objectMapper) {
234-
return mapper(objectMapper);
231+
if (mapper instanceof JsonMapper jsonMapperBuilder) {
232+
return mapper(jsonMapperBuilder);
235233
} else {
236-
throw new CitrusRuntimeException(("Invalid object mapper type, expected ObjectMapper, " +
234+
throw new CitrusRuntimeException(("Invalid object mapper type, expected JsonMapper, " +
237235
"but got: %s").formatted(mapper.getClass().getName()));
238236
}
239237
}
240238

241-
public Builder mapper(ObjectMapper jsonMapper) {
239+
public Builder mapper(JsonMapper jsonMapper) {
242240
this.jsonMapper = jsonMapper;
243241
return this;
244242
}

connectors/citrus-docker/src/main/java/org/citrusframework/docker/command/AbstractDockerCommandBuilder.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
import org.citrusframework.exceptions.CitrusRuntimeException;
2525
import org.citrusframework.validation.MessageValidator;
2626
import org.citrusframework.validation.context.ValidationContext;
27-
import tools.jackson.databind.ObjectMapper;
27+
import tools.jackson.databind.json.JsonMapper;
2828

2929
public abstract class AbstractDockerCommandBuilder<R, T extends AbstractDockerCommand<R>, S extends AbstractDockerCommandBuilder<R, T, S>>
3030
implements TestActionBuilder<DockerExecuteAction>, DockerActionBuilderBase<R, DockerExecuteAction, S> {
@@ -57,15 +57,15 @@ public S client(DockerClient dockerClient) {
5757

5858
@Override
5959
public S mapper(Object mapper) {
60-
if (mapper instanceof ObjectMapper objectMapper) {
61-
return mapper(objectMapper);
60+
if (mapper instanceof JsonMapper jsonMapperBuilder) {
61+
return mapper(jsonMapperBuilder);
6262
} else {
63-
throw new CitrusRuntimeException(("Invalid object mapper type, expected ObjectMapper, " +
63+
throw new CitrusRuntimeException(("Invalid object mapper type, expected JsonMapper, " +
6464
"but got: %s").formatted(mapper.getClass().getName()));
6565
}
6666
}
6767

68-
public S mapper(ObjectMapper jsonMapper) {
68+
public S mapper(JsonMapper jsonMapper) {
6969
delegate.mapper(jsonMapper);
7070
return self;
7171
}

connectors/citrus-kubernetes/src/main/java/org/citrusframework/kubernetes/actions/KubernetesExecuteAction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,8 @@ private void validateCommandResult(KubernetesCommand<?, ?> command, TestContext
136136

137137
try {
138138
String commandResultJson = kubernetesClient.getEndpointConfiguration()
139-
.getObjectMapper().writeValueAsString(result);
139+
.getJsonMapper()
140+
.writeValueAsString(result);
140141
if (StringUtils.hasText(commandResult)) {
141142
getMessageValidator(context).validateMessage(new DefaultMessage(commandResultJson), new DefaultMessage(commandResult), context, Collections.singletonList(new JsonMessageValidationContext()));
142143
logger.debug("Kubernetes command result validation successful - all values OK!");

connectors/citrus-kubernetes/src/main/java/org/citrusframework/kubernetes/client/KubernetesClientBuilder.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@
1616

1717
package org.citrusframework.kubernetes.client;
1818

19-
import tools.jackson.databind.ObjectMapper;
2019
import io.fabric8.kubernetes.client.ConfigBuilder;
2120
import org.citrusframework.endpoint.AbstractEndpointBuilder;
2221
import org.citrusframework.kubernetes.message.KubernetesMessageConverter;
2322
import org.citrusframework.util.StringUtils;
2423
import org.citrusframework.yaml.SchemaProperty;
2524
import org.citrusframework.yaml.SchemaType;
25+
import tools.jackson.databind.json.JsonMapper;
2626

2727
/**
2828
* @since 2.7
@@ -36,7 +36,7 @@ public class KubernetesClientBuilder extends AbstractEndpointBuilder<KubernetesC
3636

3737
private String client;
3838
private String messageConverter;
39-
private String objectMapper;
39+
private String jsonMapper;
4040

4141
@Override
4242
public KubernetesClient build() {
@@ -49,8 +49,8 @@ public KubernetesClient build() {
4949
messageConverter(referenceResolver.resolve(messageConverter, KubernetesMessageConverter.class));
5050
}
5151

52-
if (StringUtils.hasText(objectMapper)) {
53-
objectMapper(referenceResolver.resolve(objectMapper, ObjectMapper.class));
52+
if (StringUtils.hasText(jsonMapper)) {
53+
jsonMapper(referenceResolver.resolve(jsonMapper, JsonMapper.class));
5454
}
5555
}
5656

@@ -195,13 +195,13 @@ public void setMessageConverter(String messageConverter) {
195195
/**
196196
* Sets the object mapper.
197197
*/
198-
public KubernetesClientBuilder objectMapper(ObjectMapper objectMapper) {
199-
endpoint.getEndpointConfiguration().setObjectMapper(objectMapper);
198+
public KubernetesClientBuilder jsonMapper(JsonMapper jsonMapper) {
199+
endpoint.getEndpointConfiguration().setJsonMapper(jsonMapper);
200200
return this;
201201
}
202202

203-
@SchemaProperty(advanced = true, description = "Sets the object mapper.")
204-
public void setObjectMapper(String objectMapper) {
205-
this.objectMapper = objectMapper;
203+
@SchemaProperty(advanced = true, description = "Sets the JSON mapper.")
204+
public void setJsonMapper(String jsonMapper) {
205+
this.jsonMapper = jsonMapper;
206206
}
207207
}

connectors/citrus-kubernetes/src/main/java/org/citrusframework/kubernetes/config/annotation/KubernetesClientConfig.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,8 @@
8080
String messageConverter() default "";
8181

8282
/**
83-
* Object mapper.
84-
* @return
83+
* JSON mapper.
8584
*/
86-
String objectMapper() default "";
85+
String jsonMapper() default "";
8786

8887
}

connectors/citrus-kubernetes/src/main/java/org/citrusframework/kubernetes/config/annotation/KubernetesClientConfigParser.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@
1616

1717
package org.citrusframework.kubernetes.config.annotation;
1818

19-
import tools.jackson.databind.ObjectMapper;
2019
import org.citrusframework.config.annotation.AnnotationConfigParser;
2120
import org.citrusframework.kubernetes.client.KubernetesClient;
2221
import org.citrusframework.kubernetes.client.KubernetesClientBuilder;
2322
import org.citrusframework.kubernetes.message.KubernetesMessageConverter;
2423
import org.citrusframework.spi.ReferenceResolver;
24+
import tools.jackson.databind.json.JsonMapper;
2525

2626
import static org.citrusframework.kubernetes.config.CredentialValidator.isValid;
2727
import static org.citrusframework.util.StringUtils.hasText;
@@ -71,8 +71,8 @@ public KubernetesClient parse(KubernetesClientConfig annotation, ReferenceResolv
7171
builder.messageConverter(referenceResolver.resolve(annotation.messageConverter(), KubernetesMessageConverter.class));
7272
}
7373

74-
if (hasText(annotation.objectMapper())) {
75-
builder.objectMapper(referenceResolver.resolve(annotation.objectMapper(), ObjectMapper.class));
74+
if (hasText(annotation.jsonMapper())) {
75+
builder.jsonMapper(referenceResolver.resolve(annotation.jsonMapper(), JsonMapper.class));
7676
}
7777

7878
return builder.build();

connectors/citrus-kubernetes/src/main/java/org/citrusframework/kubernetes/endpoint/KubernetesEndpointConfiguration.java

Lines changed: 32 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,35 +16,48 @@
1616

1717
package org.citrusframework.kubernetes.endpoint;
1818

19+
import io.fabric8.kubernetes.client.Config;
20+
import io.fabric8.kubernetes.client.ConfigBuilder;
21+
import io.fabric8.kubernetes.client.DefaultKubernetesClient;
1922
import org.citrusframework.endpoint.AbstractPollableEndpointConfiguration;
2023
import org.citrusframework.kubernetes.message.KubernetesMessageConverter;
2124
import org.citrusframework.message.DefaultMessageCorrelator;
2225
import org.citrusframework.message.MessageCorrelator;
23-
import tools.jackson.databind.ObjectMapper;
24-
import io.fabric8.kubernetes.client.*;
26+
import tools.jackson.databind.json.JsonMapper;
2527

2628
/**
2729
* @since 2.7
2830
*/
2931
public class KubernetesEndpointConfiguration extends AbstractPollableEndpointConfiguration {
3032

31-
/** Kubernetes client configuration */
33+
/**
34+
* Kubernetes client configuration
35+
*/
3236
private Config kubernetesClientConfig;
3337

34-
/** Java kubernetes client */
38+
/**
39+
* Java kubernetes client
40+
*/
3541
private io.fabric8.kubernetes.client.KubernetesClient kubernetesClient;
3642

37-
/** Reply message correlator */
43+
/**
44+
* Reply message correlator
45+
*/
3846
private MessageCorrelator correlator = new DefaultMessageCorrelator();
3947

40-
/** JSON data binding for command result */
41-
private ObjectMapper objectMapper = new ObjectMapper();
48+
/**
49+
* JSON data binding for command result
50+
*/
51+
private JsonMapper jsonMapper = JsonMapper.shared();
4252

43-
/** Kubernetes message converter */
53+
/**
54+
* Kubernetes message converter
55+
*/
4456
private KubernetesMessageConverter messageConverter = new KubernetesMessageConverter();
4557

4658
/**
4759
* Creates new Kubernetes client instance with configuration.
60+
*
4861
* @return
4962
*/
5063
private io.fabric8.kubernetes.client.KubernetesClient createKubernetesClient() {
@@ -53,6 +66,7 @@ private io.fabric8.kubernetes.client.KubernetesClient createKubernetesClient() {
5366

5467
/**
5568
* Constructs or gets the kubernetes client implementation.
69+
*
5670
* @return
5771
*/
5872
public io.fabric8.kubernetes.client.KubernetesClient getKubernetesClient() {
@@ -74,6 +88,7 @@ public void setKubernetesClient(io.fabric8.kubernetes.client.KubernetesClient ku
7488

7589
/**
7690
* Gets the kubernetes client configuration.
91+
*
7792
* @return
7893
*/
7994
public Config getKubernetesClientConfig() {
@@ -86,6 +101,7 @@ public Config getKubernetesClientConfig() {
86101

87102
/**
88103
* Sets the kubernetes client configuration.
104+
*
89105
* @param kubernetesClientConfig
90106
*/
91107
public void setKubernetesClientConfig(Config kubernetesClientConfig) {
@@ -94,6 +110,7 @@ public void setKubernetesClientConfig(Config kubernetesClientConfig) {
94110

95111
/**
96112
* Set the reply message correlator.
113+
*
97114
* @param correlator the correlator to set
98115
*/
99116
public void setCorrelator(MessageCorrelator correlator) {
@@ -102,6 +119,7 @@ public void setCorrelator(MessageCorrelator correlator) {
102119

103120
/**
104121
* Gets the correlator.
122+
*
105123
* @return the correlator
106124
*/
107125
public MessageCorrelator getCorrelator() {
@@ -110,6 +128,7 @@ public MessageCorrelator getCorrelator() {
110128

111129
/**
112130
* Gets the kubernetes message converter.
131+
*
113132
* @return
114133
*/
115134
public KubernetesMessageConverter getMessageConverter() {
@@ -118,6 +137,7 @@ public KubernetesMessageConverter getMessageConverter() {
118137

119138
/**
120139
* Sets the kubernetes message converter.
140+
*
121141
* @param messageConverter
122142
*/
123143
public void setMessageConverter(KubernetesMessageConverter messageConverter) {
@@ -126,17 +146,15 @@ public void setMessageConverter(KubernetesMessageConverter messageConverter) {
126146

127147
/**
128148
* Gets the command object mapper.
129-
* @return
130149
*/
131-
public ObjectMapper getObjectMapper() {
132-
return objectMapper;
150+
public JsonMapper getJsonMapper() {
151+
return jsonMapper;
133152
}
134153

135154
/**
136155
* Sets the command object mapper.
137-
* @param objectMapper
138156
*/
139-
public void setObjectMapper(ObjectMapper objectMapper) {
140-
this.objectMapper = objectMapper;
157+
public void setJsonMapper(JsonMapper jsonMapper) {
158+
this.jsonMapper = jsonMapper;
141159
}
142160
}

connectors/citrus-kubernetes/src/main/java/org/citrusframework/kubernetes/message/KubernetesMessageConverter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ private Map<String,Object> createMessageHeaders(KubernetesCommand<?, ?> command)
148148
command = (KubernetesCommand) payload;
149149
} else {
150150
try {
151-
KubernetesRequest request = endpointConfiguration.getObjectMapper()
151+
KubernetesRequest request = endpointConfiguration.getJsonMapper()
152152
.readValue(message.getPayload(String.class), KubernetesRequest.class);
153153
command = createCommandFromRequest(request);
154154
} catch (JacksonException e) {

connectors/citrus-kubernetes/src/test/java/org/citrusframework/kubernetes/config/annotation/KubernetesBadClientConfigParserTest.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
package org.citrusframework.kubernetes.config.annotation;
1818

19-
import tools.jackson.databind.ObjectMapper;
2019
import org.citrusframework.annotations.CitrusEndpoint;
2120
import org.citrusframework.kubernetes.client.KubernetesClient;
2221
import org.citrusframework.kubernetes.message.KubernetesMessageConverter;
@@ -27,6 +26,7 @@
2726
import org.testng.annotations.BeforeClass;
2827
import org.testng.annotations.BeforeMethod;
2928
import org.testng.annotations.Test;
29+
import tools.jackson.databind.json.JsonMapper;
3030

3131
import static org.citrusframework.annotations.CitrusAnnotations.injectEndpoints;
3232
import static org.mockito.Mockito.when;
@@ -42,34 +42,34 @@ public class KubernetesBadClientConfigParserTest extends AbstractTestNGUnitTest
4242
username = "user",
4343
namespace = "user_namespace",
4444
messageConverter = "messageConverter",
45-
objectMapper = "objectMapper")
45+
jsonMapper = "jsonMapper")
4646
private KubernetesClient client1;
4747

4848
// Badly configured with oauthToken and username
4949
@CitrusEndpoint
5050
@KubernetesClientConfig(url = "http://localhost:8443",
51-
version="v1",
52-
username="user",
53-
password="s!cr!t",
51+
version = "v1",
52+
username = "user",
53+
password = "s!cr!t",
5454
oauthToken = "xx508xx63817x752xx74004x30705xx92x58349x5x78f5xx34xxxxx51",
55-
namespace="user_namespace",
56-
messageConverter="messageConverter",
57-
objectMapper="objectMapper")
55+
namespace = "user_namespace",
56+
messageConverter = "messageConverter",
57+
jsonMapper = "jsonMapper")
5858
private KubernetesClient client2;
5959

6060
@Mock
6161
private ReferenceResolver referenceResolver;
6262
@Mock
6363
private KubernetesMessageConverter messageConverter;
6464
@Mock
65-
private ObjectMapper objectMapper;
65+
private JsonMapper jsonMapper;
6666

6767
@BeforeClass
6868
public void setup() {
6969
MockitoAnnotations.openMocks(this);
7070

7171
when(referenceResolver.resolve("messageConverter", KubernetesMessageConverter.class)).thenReturn(messageConverter);
72-
when(referenceResolver.resolve("objectMapper", ObjectMapper.class)).thenReturn(objectMapper);
72+
when(referenceResolver.resolve("jsonMapper", JsonMapper.class)).thenReturn(jsonMapper);
7373
}
7474

7575
@BeforeMethod

0 commit comments

Comments
 (0)