in flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/utils/FlinkUtils.java [91:108]
private static void mergeInto(JsonNode toNode, JsonNode fromNode, boolean mergeArraysByName) {
Iterator<String> fieldNames = fromNode.fieldNames();
while (fieldNames.hasNext()) {
String fieldName = fieldNames.next();
JsonNode toChildNode = toNode.get(fieldName);
JsonNode fromChildNode = fromNode.get(fieldName);
if (toChildNode != null && toChildNode.isArray() && fromChildNode.isArray()) {
mergeArray((ArrayNode) toChildNode, (ArrayNode) fromChildNode, mergeArraysByName);
} else if (toChildNode != null && toChildNode.isObject()) {
mergeInto(toChildNode, fromChildNode, mergeArraysByName);
} else {
if (toNode instanceof ObjectNode) {
((ObjectNode) toNode).replace(fieldName, fromChildNode);
}
}
}
}