aboutsummaryrefslogtreecommitdiff
path: root/logical
diff options
context:
space:
mode:
Diffstat (limited to 'logical')
-rw-r--r--logical/pom.xml2
-rw-r--r--logical/src/main/java/org/apache/drill/common/config/LogicalPlanPersistence.java14
-rw-r--r--logical/src/main/java/org/apache/drill/common/logical/StoragePluginConfig.java25
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);