Skip to content

Commit a9ef266

Browse files
ywilkofscravy
authored andcommitted
setting custom object mapper is now optional (simplaex#1)
1 parent 02ea5d8 commit a9ef266

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

src/main/java/com/simplaex/clients/druid/DruidClientConfig.java

+12
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.simplaex.clients.druid;
22

3+
import com.fasterxml.jackson.databind.ObjectMapper;
4+
import io.druid.jackson.DefaultObjectMapper;
35
import lombok.*;
46

57
import javax.annotation.Nonnegative;
@@ -15,12 +17,22 @@ public class DruidClientConfig {
1517
@Getter
1618
private final String host;
1719
private final Integer port;
20+
private final ObjectMapper objectMapper;
1821

1922
private final Supplier<ExecutorService> executorServiceFactory;
2023
private final ExecutorService executorService;
2124

2225
private final DruidClient.EventEmitter eventEmitter;
2326

27+
28+
public ObjectMapper getObjectMapper() {
29+
if (objectMapper == null) {
30+
return new DefaultObjectMapper();
31+
} else {
32+
return objectMapper;
33+
}
34+
}
35+
2436
@Nonnull
2537
public ExecutorService getExecutorService() {
2638
if (executorService == null) {

src/main/java/com/simplaex/clients/druid/DruidClientImpl.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -68,17 +68,18 @@ public final class DruidClientImpl implements DruidClient {
6868
final ServiceEmitter serviceEmitter = createServiceEmitter(config.getHost(), config.getEventEmitter());
6969
this.queryManager = new QueryManager();
7070
this.executorService = config.getExecutorService();
71-
this.druidClient = createDruidClient(config.getHost(), config.getPort(), queryManager, serviceEmitter, executorService);
71+
this.druidClient = createDruidClient(config.getHost(), config.getPort(), queryManager, serviceEmitter, executorService,
72+
config.getObjectMapper());
7273
}
7374

7475
private static DirectDruidClient createDruidClient(
7576
final String hostname,
7677
final int port,
7778
final QueryWatcher queryWatcher,
7879
final ServiceEmitter serviceEmitter,
79-
final ExecutorService executorService
80+
final ExecutorService executorService,
81+
final ObjectMapper objectMapper
8082
) {
81-
final ObjectMapper objectMapper = new DefaultObjectMapper();
8283
final String host = String.format("%s:%d", hostname, port);
8384
return new DirectDruidClient(
8485
createQueryToolChestWarehouse(objectMapper, serviceEmitter, queryWatcher, executorService),

0 commit comments

Comments
 (0)