Search in sources :

Example 1 with Artist

use of com.yahoo.vespa.documentgen.test.annotation.Artist in project vespa by vespa-engine.

the class DocumentGenPluginTest method testBaseAnnotations.

@Test
public void testBaseAnnotations() {
    Book book = getBook();
    SpanTree authorTree = new SpanTree();
    Person p = new Person();
    p.setName("Melville");
    authorTree.annotate(p);
    StringFieldValue sfv = ((StringFieldValue) book.getFieldValue("author"));
    sfv.setSpanTree(authorTree);
    book.setFieldValue("author", sfv);
    assertEquals(book.authorSpanTrees().values().iterator().next().iterator().next(), p);
    final SpanTree descTree = new SpanTree();
    Person p2 = new Person();
    p2.setName("H. Melville");
    descTree.annotate(p2);
    book.setDescriptionSpanTrees(new HashMap<String, SpanTree>() {

        {
            put(descTree.getName(), descTree);
        }
    });
    assertEquals(((Person) ((StringFieldValue) book.getFieldValue(book.getField("description"))).getSpanTrees().iterator().next().iterator().next()).getName(), "H. Melville");
    assertEquals(((Person) ((StringFieldValue) book.removeFieldValue("description")).getSpanTrees().iterator().next().iterator().next()).getName(), "H. Melville");
    assertEquals(book.descriptionSpanTrees(), null);
    assertEquals((book.getFieldValue("description")), null);
    Artist a = new Artist();
    assertTrue(Person.class.isInstance(a));
    assertEquals(((StructDataType) a.getType().getDataType()).getField("name").getDataType(), DataType.STRING);
    assertEquals(((StructDataType) a.getType().getDataType()).getField("instrument").getDataType(), DataType.INT);
    assertEquals(((Struct) a.getFieldValue()).getField("name").getDataType(), DataType.STRING);
}
Also used : Artist(com.yahoo.vespa.documentgen.test.annotation.Artist) Person(com.yahoo.vespa.documentgen.test.annotation.Person) SpanTree(com.yahoo.document.annotation.SpanTree) Test(org.junit.Test)

Aggregations

SpanTree (com.yahoo.document.annotation.SpanTree)1 Artist (com.yahoo.vespa.documentgen.test.annotation.Artist)1 Person (com.yahoo.vespa.documentgen.test.annotation.Person)1 Test (org.junit.Test)1