@Test public void shouldDeserializeTimeMillisToBigint() { shouldDeserializeTypeCorrectly( LogicalTypes.timeMillis().addToSchema( org.apache.avro.SchemaBuilder.builder().intType()), ChronoUnit.MILLIS.between( LocalDateTime.of(LocalDate.now(), LocalTime.MIDNIGHT), LocalDateTime.now()), Schema.OPTIONAL_INT64_SCHEMA ); }
break; case "int": returnSchema = typeBuilder.intType(); break; case "long":
@Test public void shouldDeserializeDateToInteger() { shouldDeserializeTypeCorrectly( LogicalTypes.date().addToSchema( org.apache.avro.SchemaBuilder.builder().intType()), (int) ChronoUnit.DAYS.between(LocalDate.ofEpochDay(0), LocalDate.now()), Schema.OPTIONAL_INT32_SCHEMA ); }
.name("b_int").type().intType().noDefault() .name("c_string_array").type().array().items().stringType().noDefault() .name("d_int_array").type().array().items().intType().noDefault() .name("e_float_array").type().array().items().floatType().noDefault() .endRecord();
public void run(RegressionEnvironment env) { Schema intArraySchema = SchemaBuilder.array().items(SchemaBuilder.builder().intType()); Schema mixedArraySchema = SchemaBuilder.array().items(SchemaBuilder.unionOf().intType().and().stringType().and().doubleType().endUnion()); Schema nullArraySchema = SchemaBuilder.array().items(SchemaBuilder.builder().nullType());
break; case "int": returnSchema = typeBuilder.intType(); break; case "long":
@Test public void testSchemaInferencePrimitiveArray() throws Exception { Schema recordSchema = SchemaBuilder.record("Test").fields() .requiredString("aString") .name("anArray").type().array().items().intType().noDefault() .endRecord(); String jsonSample = "{" + "\"aString\": \"triangle\"," + "\"anArray\": [ 1, 2, 3, 4 ]" + "}"; JsonNode datum = JsonUtil.parse(jsonSample); Assert.assertEquals("Should produce expected schema", recordSchema, JsonUtil.inferSchema(datum, "Test")); GenericData.Record expected = new GenericData.Record(recordSchema); expected.put("aString", "triangle"); expected.put("anArray", Lists.newArrayList(1, 2, 3, 4)); Assert.assertEquals("Should convert to record", expected, convertGeneric(datum, recordSchema)); }
public static Schema getSchema(@NotEmpty final String type) { final SchemaBuilder.TypeBuilder<Schema> schema = SchemaBuilder.builder(); switch (type) { case CassandraSchemaField.STRING_TYPE: return schema.stringType(); case CassandraSchemaField.BOOLEAN_TYPE: return schema.booleanType(); case CassandraSchemaField.DOUBLE_TYPE: return schema.doubleType(); case CassandraSchemaField.FLOAT_TYPE: return schema.floatType(); case CassandraSchemaField.LONG_TYPE: return schema.longType(); case CassandraSchemaField.INT_TYPE: return schema.intType(); default: throw new IllegalArgumentException("Type " + type + " invalid for converting to Cassandra field"); } }
switch (dataType) { case INT: fieldAssembler = fieldAssembler.name(fieldSpec.getName()).type().array().items().intType().noDefault(); break; case LONG:
@Test public void testUnionFieldBuild() { SchemaBuilder.record("r").fields() .name("allUnion").type().unionOf() .booleanType().and() .intType().and() .longType().and() .floatType().and() .doubleType().and() .stringType().and() .bytesType().and() .nullType().and() .fixed("Fix").size(1).and() .enumeration("Enu").symbols("Q").and() .array().items().intType().and() .map().values().longType().and() .record("Rec").fields() .name("one").type("Fix").noDefault() .endRecord() .endUnion().booleanDefault(false) .endRecord(); }
@Test public void testMap() { Schema intSchema = Schema.create(Schema.Type.INT); Schema expected = Schema.createMap(intSchema); Schema schema1 = SchemaBuilder.map().values().intType(); Assert.assertEquals(expected, schema1); Schema schema2 = SchemaBuilder.map().values(intSchema); Assert.assertEquals(expected, schema2); Schema schema3 = SchemaBuilder.map().prop("p", "v") .values().type("int"); expected.addProp("p", "v"); Assert.assertEquals(expected, schema3); }
@Test public void testInt() { Schema.Type type = Schema.Type.INT; Schema simple = SchemaBuilder.builder().intType(); Schema expected = primitive(type, simple); Schema built1 = SchemaBuilder.builder() .intBuilder().prop("p", "v").endInt(); Assert.assertEquals(expected, built1); }
@Test public void shouldDeserializeDateToBigint() { shouldDeserializeTypeCorrectly( LogicalTypes.date().addToSchema( org.apache.avro.SchemaBuilder.builder().intType()), ChronoUnit.DAYS.between(LocalDate.ofEpochDay(0), LocalDate.now()), Schema.OPTIONAL_INT64_SCHEMA ); }
@Test public void shouldSerializeInteger() { shouldSerializeTypeCorrectly( Schema.OPTIONAL_INT32_SCHEMA, 123, org.apache.avro.SchemaBuilder.builder().intType()); }
@Test public void shouldDeserializeMapToMap() { shouldDeserializeTypeCorrectly( org.apache.avro.SchemaBuilder.map().values().intType(), ImmutableMap.of("one", 1, "two", 2, "three", 3), SchemaBuilder.map( Schema.OPTIONAL_STRING_SCHEMA, Schema.OPTIONAL_INT32_SCHEMA ).optional().build() ); }
@Test public void shouldDeserializeArrayToArray() { shouldDeserializeTypeCorrectly( org.apache.avro.SchemaBuilder.array().items().intType(), ImmutableList.of(1, 2, 3, 4, 5, 6), SchemaBuilder.array(Schema.OPTIONAL_INT32_SCHEMA).optional().build() ); }