use of com.yahoo.document.Field in project vespa by vespa-engine.
the class IndexSchemaTestCase method requireThatStructWithArrayOfArrayFieldIsFlattened.
@Test
public void requireThatStructWithArrayOfArrayFieldIsFlattened() {
StructDataType type = new StructDataType("my_struct");
type.addField(new Field("my_byte", DataType.getArray(DataType.getArray(DataType.BYTE))));
type.addField(new Field("my_double", DataType.getArray(DataType.getArray(DataType.DOUBLE))));
type.addField(new Field("my_float", DataType.getArray(DataType.getArray(DataType.FLOAT))));
type.addField(new Field("my_int", DataType.getArray(DataType.getArray(DataType.INT))));
type.addField(new Field("my_long", DataType.getArray(DataType.getArray(DataType.LONG))));
type.addField(new Field("my_raw", DataType.getArray(DataType.getArray(DataType.RAW))));
type.addField(new Field("my_string", DataType.getArray(DataType.getArray(DataType.STRING))));
type.addField(new Field("my_uri", DataType.getArray(DataType.getArray(DataType.URI))));
assertFlat(new Field("foo", type), new Field("foo.my_byte", DataType.getArray(DataType.getArray(DataType.BYTE))), new Field("foo.my_double", DataType.getArray(DataType.getArray(DataType.DOUBLE))), new Field("foo.my_float", DataType.getArray(DataType.getArray(DataType.FLOAT))), new Field("foo.my_int", DataType.getArray(DataType.getArray(DataType.INT))), new Field("foo.my_long", DataType.getArray(DataType.getArray(DataType.LONG))), new Field("foo.my_raw", DataType.getArray(DataType.getArray(DataType.RAW))), new Field("foo.my_string", DataType.getArray(DataType.getArray(DataType.STRING))), new Field("foo.my_uri", DataType.getArray(DataType.getArray(DataType.URI))));
}
use of com.yahoo.document.Field in project vespa by vespa-engine.
the class DocumentTypeChangeValidatorTest method createDocumentTypeWithReferenceField.
private static NewDocumentType createDocumentTypeWithReferenceField(String nameReferencedDocumentType) {
StructDataType headerfields = new StructDataType("headerfields");
headerfields.addField(new Field("ref", new ReferenceDataType(new DocumentType(nameReferencedDocumentType), 0)));
return new NewDocumentType(new NewDocumentType.Name("mydoc"), headerfields, new StructDataType("bodyfields"), new FieldSets(), Collections.emptySet());
}
use of com.yahoo.document.Field in project vespa by vespa-engine.
the class ValidateFieldTypesTest method createSingleImportedField.
private static ImportedFields createSingleImportedField(String fieldName, DataType dataType) {
Search targetSearch = new Search("target_doc", MockApplicationPackage.createEmpty());
SDField targetField = new SDField("target_field", dataType);
DocumentReference documentReference = new DocumentReference(new Field("reference_field"), targetSearch);
ImportedField importedField = new ImportedField(fieldName, documentReference, targetField);
return new ImportedFields(Collections.singletonMap(fieldName, importedField));
}
use of com.yahoo.document.Field in project vespa by vespa-engine.
the class ForEachTestCase method requireThatStructFieldCompatibilityIsVerified.
@Test
public void requireThatStructFieldCompatibilityIsVerified() {
StructDataType type = new StructDataType("my_struct");
type.addField(new Field("foo", DataType.INT));
assertVerify(type, new ForEachExpression(new SimpleExpression()), type);
assertVerifyThrows(type, new ForEachExpression(SimpleExpression.newConversion(DataType.STRING, DataType.INT)), "Expected string input, got int.");
assertVerifyThrows(type, new ForEachExpression(SimpleExpression.newConversion(DataType.INT, DataType.STRING)), "Expected int output, got string.");
}
use of com.yahoo.document.Field in project vespa by vespa-engine.
the class OutputAssert method assertExecute.
public static void assertExecute(OutputExpression exp) {
ExecutionContext ctx = new ExecutionContext(new SimpleTestAdapter(new Field(exp.getFieldName(), DataType.STRING)));
ctx.setValue(new StringFieldValue("69"));
ctx.execute(exp);
FieldValue out = ctx.getInputValue(exp.getFieldName());
assertTrue(out instanceof StringFieldValue);
assertEquals("69", ((StringFieldValue) out).getString());
}
Aggregations