@Test public void testConverter() throws Exception { JsonRecordAvroSchemaToAvroConverter<String> converter = new JsonRecordAvroSchemaToAvroConverter<>(); converter.init(this.state); Schema avroSchema = converter.convertSchema("dummy", this.state); GenericRecord record = converter.convertRecord(avroSchema, this.jsonRecord, this.state).iterator().next(); Assert.assertEquals(record.get("fieldToIgnore"), null); Assert.assertEquals(record.get("nullableField"), null); Assert.assertEquals(record.get("longField"), 1234L); Assert.assertTrue(record.get("arrayField") instanceof GenericArray); Assert.assertTrue(record.get("mapField") instanceof Map); Assert.assertEquals(((GenericRecord) record.get("nestedRecords")).get("nestedField").toString(), "test"); Assert.assertEquals(((GenericRecord) record.get("nestedRecords")).get("nestedField2").toString(), "test2"); Assert.assertTrue(((GenericArray) record.get("emptyArrayOfRecords")).isEmpty()); GenericRecord recordInArray = (GenericRecord) (((GenericArray) record.get("arrayOfRecords")).get(0)); Assert.assertEquals(recordInArray.get("field1").toString(), "test1"); Assert.assertEquals((record.get("enumField")).toString(), "ENUM2"); } }
commonFactory.createCommonArray(array.getSchema(), currentArray))); if (!array.isEmpty()) { Object rawItem = array.get(0); if (AvroGenericUtils.isRecord(rawItem)) {
ArrayOverrideStrategy mergeStrategy = ArrayOverrideStrategy.REPLACE; if (!sourceArray.isEmpty() && destinationChild instanceof GenericArray) { GenericArray destArray = (GenericArray) destinationChild; if (!destArray.isEmpty() && destArray.get(0).getClass() == sourceArray.get(0).getClass()) { boolean resolveStrategy = false;