Skip to content

Commit da45461

Browse files
Merge branch '4.1.x' into 5.0.x
2 parents 407ef73 + 19db9ba commit da45461

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

src/main/java/io/confluent/connect/elasticsearch/Mapping.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,8 @@ private static JsonNode inferPrimitive(String type, Object defaultValue) {
212212
defaultValueNode = JsonNodeFactory.instance.booleanNode((boolean) defaultValue);
213213
break;
214214
case ElasticsearchSinkConnectorConstants.DATE_TYPE:
215-
defaultValueNode = JsonNodeFactory.instance.numberNode((long) defaultValue);
215+
long value = ((java.util.Date) defaultValue).getTime();
216+
defaultValueNode = JsonNodeFactory.instance.numberNode(value);
216217
break;
217218
default:
218219
throw new DataException("Invalid primitive type.");

src/test/java/io/confluent/connect/elasticsearch/MappingTest.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,24 @@ public void testInferMapping() throws Exception {
105105
assertEquals(0, intMapping.get("properties").get("foo").get("null_value").asInt());
106106
}
107107

108+
@Test
109+
public void testInferMappingDefaultDate() {
110+
java.util.Date expected = new java.util.Date();
111+
112+
Schema dateSchema = SchemaBuilder
113+
.struct()
114+
.name("record")
115+
.field("foo", Date.builder().defaultValue(expected).build())
116+
.build();
117+
118+
JsonNode dateMapping = Mapping.inferMapping(client, dateSchema);
119+
assertNotNull(dateMapping.get("properties").get("foo").get("null_value"));
120+
assertEquals(
121+
expected.getTime(),
122+
dateMapping.get("properties").get("foo").get("null_value").asLong()
123+
);
124+
}
125+
108126
protected Schema createSchema() {
109127
Schema structSchema = createInnerSchema();
110128
return SchemaBuilder.struct().name("record")

0 commit comments

Comments
 (0)