use of org.apache.kafka.connect.data.Field in project ksql by confluentinc.
the class ProjectNodeTest method mockSourceNode.
private void mockSourceNode() {
EasyMock.expect(source.getKeyField()).andReturn(new Field("field1", 0, Schema.STRING_SCHEMA));
EasyMock.expect(source.buildStream(anyObject(StreamsBuilder.class), anyObject(KsqlConfig.class), anyObject(KafkaTopicClient.class), anyObject(FunctionRegistry.class), eq(props), anyObject(SchemaRegistryClient.class))).andReturn(stream);
}
use of org.apache.kafka.connect.data.Field in project ksql by confluentinc.
the class SchemaUtilTest method shouldBuildTheCorrectSchemaWithAndWithoutAlias.
@Test
public void shouldBuildTheCorrectSchemaWithAndWithoutAlias() {
String alias = "Hello";
Schema schemaWithAlias = SchemaUtil.buildSchemaWithAlias(schema, alias);
assertThat("Incorrect schema field count.", schemaWithAlias.fields().size() == schema.fields().size());
for (int i = 0; i < schemaWithAlias.fields().size(); i++) {
Field fieldWithAlias = schemaWithAlias.fields().get(i);
Field field = schema.fields().get(i);
assertThat(fieldWithAlias.name(), equalTo(alias + "." + field.name()));
}
Schema schemaWithoutAlias = SchemaUtil.getSchemaWithNoAlias(schemaWithAlias);
assertThat("Incorrect schema field count.", schemaWithAlias.fields().size() == schema.fields().size());
for (int i = 0; i < schemaWithoutAlias.fields().size(); i++) {
Field fieldWithAlias = schemaWithoutAlias.fields().get(i);
Field field = schema.fields().get(i);
assertThat("Incorrect field name.", fieldWithAlias.name().equals(field.name()));
}
}
use of org.apache.kafka.connect.data.Field in project ksql by confluentinc.
the class ConsoleTest method buildTestSchema.
private List<SourceDescription.FieldSchemaInfo> buildTestSchema(int size) {
SchemaBuilder dataSourceBuilder = SchemaBuilder.struct().name("TestSchema");
for (int i = 0; i < size; i++) {
dataSourceBuilder.field("f_" + i, SchemaUtil.getTypeSchema("STRING"));
}
List<SourceDescription.FieldSchemaInfo> res = new ArrayList<>();
List<Field> fields = dataSourceBuilder.build().fields();
for (Field field : fields) {
res.add(new SourceDescription.FieldSchemaInfo(field.name(), SchemaUtil.getSchemaFieldName(field)));
}
return res;
}
use of org.apache.kafka.connect.data.Field in project ksql by confluentinc.
the class SchemaUtil method removeImplicitRowTimeRowKeyFromSchema.
public static Schema removeImplicitRowTimeRowKeyFromSchema(Schema schema) {
SchemaBuilder schemaBuilder = SchemaBuilder.struct();
for (Field field : schema.fields()) {
String fieldName = field.name();
fieldName = fieldName.substring(fieldName.indexOf('.') + 1);
if (!fieldName.equalsIgnoreCase(SchemaUtil.ROWTIME_NAME) && !fieldName.equalsIgnoreCase(SchemaUtil.ROWKEY_NAME)) {
schemaBuilder.field(fieldName, field.schema());
}
}
return schemaBuilder.build();
}
use of org.apache.kafka.connect.data.Field in project ksql by confluentinc.
the class SchemaUtil method getSchemaWithNoAlias.
/**
* Remove the alias when reading/writing from outside
*/
public static Schema getSchemaWithNoAlias(Schema schema) {
SchemaBuilder schemaBuilder = SchemaBuilder.struct();
for (Field field : schema.fields()) {
String name = getFieldNameWithNoAlias(field);
schemaBuilder.field(name, field.schema());
}
return schemaBuilder.build();
}
Aggregations