Github user ashutakGG commented on a diff in the pull request:
https://github.com/apache/incubator-griffin/pull/434#discussion_r224432819
--- Diff:
measure/src/main/scala/org/apache/griffin/measure/configuration/dqdefinition/DQConfig.scala
---
@@ -148,12 +148,12 @@ case class EvaluateRuleParam( @JsonProperty("rules")
private val rules: List[Rul
@JsonInclude(Include.NON_NULL)
case class RuleParam(@JsonProperty("dsl.type") private val dslType: String,
@JsonProperty("dq.type") private val dqType: String,
- @JsonProperty("in.dataframe.name") private val
inDfName: String,
- @JsonProperty("out.dataframe.name") private val
outDfName: String,
- @JsonProperty("rule") private val rule: String,
- @JsonProperty("details") private val details:
Map[String, Any],
- @JsonProperty("cache") private val cache: Boolean,
- @JsonProperty("out") private val outputs:
List[RuleOutputParam]
+ @JsonProperty("in.dataframe.name") private val
inDfName: String = null,
+ @JsonProperty("out.dataframe.name") private val
outDfName: String = null,
+ @JsonProperty("rule") private val rule: String = null,
+ @JsonProperty("details") private val details:
Map[String, Any] = null,
--- End diff --
Yes, it exactly is. Actually I expected such question :)
There is a bug in `jackson` support for scala ["Case classes with option
types don't follow serialization
configuration"](https://github.com/FasterXML/jackson-module-scala/issues/32).
Long story short, It does not support any default values and puts `null`s
everywhere. So, if we want to use this classes outside of jackson at the same
way as with jackson, `null`s is only chose we have.
---