@Test public void testRegisterAndGetByKey() throws SchemaRegistryException { Properties properties = new Properties(); properties.setProperty(KafkaSchemaRegistry.KAFKA_SCHEMA_REGISTRY_URL, TEST_URL); SchemaRegistryClient schemaRegistryClient = new MockSchemaRegistryClient(); KafkaSchemaRegistry<Integer, Schema> kafkaSchemaRegistry = new ConfluentKafkaSchemaRegistry(properties, schemaRegistryClient); Schema schema = SchemaBuilder.record(TEST_RECORD_NAME).namespace(TEST_NAMESPACE).fields().name(TEST_FIELD_NAME).type() .stringType().noDefault().endRecord(); Integer id = kafkaSchemaRegistry.register(schema); Assert.assertEquals(schema, kafkaSchemaRegistry.getSchemaByKey(id)); }
case OTHER: case SQLXML: builder.name(columnName).type().unionOf().nullBuilder().endNull().and().stringType().endUnion().noDefault(); break; builder.name(columnName).type().unionOf().nullBuilder().endNull().and().booleanType().endUnion().noDefault(); break; builder.name(columnName).type().unionOf().nullBuilder().endNull().and().intType().endUnion().noDefault(); } else { builder.name(columnName).type().unionOf().nullBuilder().endNull().and().longType().endUnion().noDefault(); builder.name(columnName).type().unionOf().nullBuilder().endNull().and().intType().endUnion().noDefault(); break; builder.name(columnName).type().unionOf().nullBuilder().endNull().and().stringType().endUnion().noDefault(); } else { builder.name(columnName).type().unionOf().nullBuilder().endNull().and().longType().endUnion().noDefault(); builder.name(columnName).type().unionOf().nullBuilder().endNull().and().stringType().endUnion().noDefault(); break; builder.name(columnName).type().unionOf().nullBuilder().endNull().and().floatType().endUnion().noDefault(); break; builder.name(columnName).type().unionOf().nullBuilder().endNull().and().doubleType().endUnion().noDefault(); break; case ARRAY:
@Test public void shouldSerializeMap() { final org.apache.avro.Schema entrySchema = org.apache.avro.SchemaBuilder.record("MapEntry") .namespace("io.confluent.connect.avro") .fields() .name("key") .type().unionOf().nullType().and().stringType().endUnion() .nullDefault() .name("value") .type().unionOf().nullType().and().longType().endUnion() .nullDefault() .endRecord(); final org.apache.avro.Schema avroSchema = org.apache.avro.SchemaBuilder.array().items(entrySchema); final Map<String, Long> value = ImmutableMap.of("foo", 123L); final List<GenericRecord> avroValue = new LinkedList<>();
public static File generateEnumTypes(String filename, int nrows, String[][] categories) throws IOException { assert categories.length == 2 : "Needs only 2 columns"; File parentDir = Files.createTempDir(); File f = new File(parentDir, filename); DatumWriter<GenericRecord> w = new GenericDatumWriter<GenericRecord>(); DataFileWriter<GenericRecord> dw = new DataFileWriter<GenericRecord>(w); Schema enumSchema1 = SchemaBuilder.enumeration("CEnum1").symbols(categories[0]); Schema enumSchema2 = SchemaBuilder.enumeration("CEnum2").symbols(categories[1]); Schema schema = SchemaBuilder.builder() .record("test_enum_types").fields() .name("CEnum").type(enumSchema1).noDefault() .name("CUEnum").type().optional().type(enumSchema2) .endRecord(); System.out.println(schema); int numOfCategories1 = categories[0].length; int numOfCategories2 = categories[1].length; try { dw.create(schema, f); for (int i = 0; i < nrows; i++) { GenericRecord gr = new GenericData.Record(schema); gr.put("CEnum", new GenericData.EnumSymbol(enumSchema1, categories[0][i % numOfCategories1])); gr.put("CUEnum", i % (numOfCategories2+1) == 0 ? null : new GenericData.EnumSymbol(enumSchema2, categories[1][i % numOfCategories2])); dw.append(gr); } return f; } finally { dw.close();; } }
/** * Shortcut for creating an optional float field: a union of null and float * with null default.<p/> * This is equivalent to: * <pre> * name(fieldName).type().optional().floatType() * </pre> */ public FieldAssembler<R> optionalFloat(String fieldName) { return name(fieldName).type().optional().floatType(); }
/** * Shortcut for creating an optional boolean field: a union of null and * boolean with null default.<p/> * This is equivalent to: * <pre> * name(fieldName).type().optional().booleanType() * </pre> */ public FieldAssembler<R> optionalBoolean(String fieldName) { return name(fieldName).type().optional().booleanType(); }
/** * Shortcut for creating an optional int field: a union of null and int * with null default.<p/> * This is equivalent to: * <pre> * name(fieldName).type().optional().intType() * </pre> */ public FieldAssembler<R> optionalInt(String fieldName) { return name(fieldName).type().optional().intType(); }
/** * Shortcut for creating an optional long field: a union of null and long * with null default.<p/> * This is equivalent to: * <pre> * name(fieldName).type().optional().longType() * </pre> */ public FieldAssembler<R> optionalLong(String fieldName) { return name(fieldName).type().optional().longType(); }
/** * Shortcut for creating an optional double field: a union of null and double * with null default.<p/> * This is equivalent to: * <pre> * name(fieldName).type().optional().doubleType() * </pre> */ public FieldAssembler<R> optionalDouble(String fieldName) { return name(fieldName).type().optional().doubleType(); }
/** * Shortcut for creating an optional int field: a union of null and int * with null default.<p/> * This is equivalent to: * <pre> * name(fieldName).type().optional().intType() * </pre> */ public FieldAssembler<R> optionalInt(String fieldName) { return name(fieldName).type().optional().intType(); }
/** * Shortcut for creating an optional float field: a union of null and float * with null default.<p/> * This is equivalent to: * <pre> * name(fieldName).type().optional().floatType() * </pre> */ public FieldAssembler<R> optionalFloat(String fieldName) { return name(fieldName).type().optional().floatType(); }
/** * Shortcut for creating an optional bytes field: a union of null and bytes * with null default.<p/> * This is equivalent to: * <pre> * name(fieldName).type().optional().bytesType() * </pre> */ public FieldAssembler<R> optionalBytes(String fieldName) { return name(fieldName).type().optional().bytesType(); }
/** * Shortcut for creating an optional boolean field: a union of null and * boolean with null default.<p/> * This is equivalent to: * <pre> * name(fieldName).type().optional().booleanType() * </pre> */ public FieldAssembler<R> optionalBoolean(String fieldName) { return name(fieldName).type().optional().booleanType(); }
/** * Shortcut for creating an optional long field: a union of null and long * with null default.<p/> * This is equivalent to: * <pre> * name(fieldName).type().optional().longType() * </pre> */ public FieldAssembler<R> optionalLong(String fieldName) { return name(fieldName).type().optional().longType(); }
/** * Shortcut for creating an optional double field: a union of null and double * with null default.<p/> * This is equivalent to: * <pre> * name(fieldName).type().optional().doubleType() * </pre> */ public FieldAssembler<R> optionalDouble(String fieldName) { return name(fieldName).type().optional().doubleType(); }
/** * Shortcut for creating an optional string field: a union of null and string * with null default.<p/> * This is equivalent to: * <pre> * name(fieldName).type().optional().stringType() * </pre> */ public FieldAssembler<R> optionalString(String fieldName) { return name(fieldName).type().optional().stringType(); }
/** * Shortcut for creating an optional bytes field: a union of null and bytes * with null default.<p/> * This is equivalent to: * <pre> * name(fieldName).type().optional().bytesType() * </pre> */ public FieldAssembler<R> optionalBytes(String fieldName) { return name(fieldName).type().optional().bytesType(); }
/** * Shortcut for creating an optional string field: a union of null and string * with null default.<p/> * This is equivalent to: * <pre> * name(fieldName).type().optional().stringType() * </pre> */ public FieldAssembler<R> optionalString(String fieldName) { return name(fieldName).type().optional().stringType(); }