diff options
Diffstat (limited to 'logical')
3 files changed, 30 insertions, 11 deletions
diff --git a/logical/pom.xml b/logical/pom.xml index 07a942b19..fbc653654 100644 --- a/logical/pom.xml +++ b/logical/pom.xml @@ -66,13 +66,11 @@ <dependency> <groupId>com.typesafe</groupId> <artifactId>config</artifactId> - <version>1.0.0</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> - <version>3.1</version> </dependency> <dependency> diff --git a/logical/src/main/java/org/apache/drill/common/config/LogicalPlanPersistence.java b/logical/src/main/java/org/apache/drill/common/config/LogicalPlanPersistence.java index 6a3df3a63..e04f3adc7 100644 --- a/logical/src/main/java/org/apache/drill/common/config/LogicalPlanPersistence.java +++ b/logical/src/main/java/org/apache/drill/common/config/LogicalPlanPersistence.java @@ -35,14 +35,14 @@ import com.fasterxml.jackson.databind.module.SimpleModule; public class LogicalPlanPersistence { - private ObjectMapper mapper; + private final ObjectMapper mapper; - public ObjectMapper getMapper() { - return mapper; + public LogicalPlanPersistence(DrillConfig conf, ScanResult scanResult) { + this(conf, scanResult, new ObjectMapper()); } - public LogicalPlanPersistence(DrillConfig conf, ScanResult scanResult) { - mapper = new ObjectMapper(); + public LogicalPlanPersistence(DrillConfig conf, ScanResult scanResult, ObjectMapper mapper) { + this.mapper = mapper; SimpleModule deserModule = new SimpleModule("LogicalExpressionDeserializationModule") .addDeserializer(LogicalExpression.class, new LogicalExpression.De(conf)) @@ -59,6 +59,10 @@ public class LogicalPlanPersistence { registerSubtypes(FormatPluginConfigBase.getSubTypes(scanResult)); } + public ObjectMapper getMapper() { + return mapper; + } + private <T> void registerSubtypes(Set<Class<? extends T>> types) { for (Class<? extends T> type : types) { mapper.registerSubtypes(type); diff --git a/logical/src/main/java/org/apache/drill/common/logical/StoragePluginConfig.java b/logical/src/main/java/org/apache/drill/common/logical/StoragePluginConfig.java index 96c4036a2..49335f665 100644 --- a/logical/src/main/java/org/apache/drill/common/logical/StoragePluginConfig.java +++ b/logical/src/main/java/org/apache/drill/common/logical/StoragePluginConfig.java @@ -18,22 +18,39 @@ package org.apache.drill.common.logical; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonTypeInfo; -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property="type") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type") public abstract class StoragePluginConfig{ - private boolean enabled = true; + private Boolean enabled; + /** + * Check for enabled status of the plugin + * + * @return true, when enabled. False, when disabled or status is absent + */ public boolean isEnabled() { - return enabled; + return enabled != null && enabled; } - public void setEnabled(boolean enabled) { + + public void setEnabled(Boolean enabled) { this.enabled = enabled; } + /** + * Allows to check whether the enabled status is present in config + * + * @return true if enabled status is present, false otherwise + */ + @JsonIgnore + public boolean isEnabledStatusPresent() { + return enabled != null; + } + @Override public abstract boolean equals(Object o); |