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.
---