diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ConfigurationServiceOverrider.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ConfigurationServiceOverrider.java index 9beb583d76..44db8e9999 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ConfigurationServiceOverrider.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ConfigurationServiceOverrider.java @@ -7,6 +7,8 @@ import io.fabric8.kubernetes.client.Config; import io.javaoperatorsdk.operator.api.monitoring.Metrics; +import com.fasterxml.jackson.databind.ObjectMapper; + @SuppressWarnings("unused") public class ConfigurationServiceOverrider { private final ConfigurationService original; @@ -17,6 +19,7 @@ public class ConfigurationServiceOverrider { private Cloner cloner; private int timeoutSeconds; private boolean closeClientOnStop; + private ObjectMapper objectMapper; private ExecutorService executorService = null; ConfigurationServiceOverrider(ConfigurationService original) { @@ -28,6 +31,7 @@ public class ConfigurationServiceOverrider { this.timeoutSeconds = original.getTerminationTimeoutSeconds(); this.metrics = original.getMetrics(); this.closeClientOnStop = original.closeClientOnStop(); + this.objectMapper = original.getObjectMapper(); } @@ -71,6 +75,11 @@ public ConfigurationServiceOverrider withExecutorService(ExecutorService executo return this; } + public ConfigurationServiceOverrider withObjectMapper(ObjectMapper objectMapper) { + this.objectMapper = objectMapper; + return this; + } + public ConfigurationService build() { return new BaseConfigurationService(original.getVersion()) { @Override @@ -121,6 +130,11 @@ public ExecutorService getExecutorService() { return super.getExecutorService(); } } + + @Override + public ObjectMapper getObjectMapper() { + return objectMapper; + } }; }