Search in sources :

Example 11 with FieldPathUpdate

use of com.yahoo.document.fieldpathupdate.FieldPathUpdate in project vespa by vespa-engine.

the class VespaDocumentSerializerHead method write.

@Override
public void write(DocumentUpdate update) {
    update.getId().serialize(this);
    update.getDocumentType().serialize(this);
    putInt(null, update.getFieldUpdates().size());
    for (FieldUpdate up : update.getFieldUpdates()) {
        up.serialize(this);
    }
    DocumentUpdateFlags flags = new DocumentUpdateFlags();
    flags.setCreateIfNonExistent(update.getCreateIfNonExistent());
    putInt(null, flags.injectInto(update.getFieldPathUpdates().size()));
    for (FieldPathUpdate up : update.getFieldPathUpdates()) {
        up.serialize(this);
    }
}
Also used : FieldUpdate(com.yahoo.document.update.FieldUpdate) AssignFieldPathUpdate(com.yahoo.document.fieldpathupdate.AssignFieldPathUpdate) FieldPathUpdate(com.yahoo.document.fieldpathupdate.FieldPathUpdate) AddFieldPathUpdate(com.yahoo.document.fieldpathupdate.AddFieldPathUpdate)

Example 12 with FieldPathUpdate

use of com.yahoo.document.fieldpathupdate.FieldPathUpdate in project vespa by vespa-engine.

the class PathUpdateToDocumentTestCase method requireThatArrayFieldsAreConverted.

@SuppressWarnings({ "unchecked" })
@Test
public void requireThatArrayFieldsAreConverted() {
    DocumentType docType = new DocumentType("my_type");
    ArrayDataType arrType = DataType.getArray(DataType.INT);
    docType.addField(new Field("my_arr", arrType));
    Array<IntegerFieldValue> arrVal = arrType.createFieldValue();
    arrVal.add(new IntegerFieldValue(6));
    arrVal.add(new IntegerFieldValue(9));
    FieldPathUpdate upd = new AssignFieldPathUpdate(docType, "my_arr", "", arrVal);
    Document doc = FieldPathUpdateHelper.newPartialDocument(null, upd);
    assertNotNull(doc);
    FieldValue obj = doc.getFieldValue("my_arr");
    assertTrue(obj instanceof Array);
    Array arr = (Array) obj;
    assertEquals(2, arr.size());
    assertEquals(new IntegerFieldValue(6), arr.get(0));
    assertEquals(new IntegerFieldValue(9), arr.get(1));
}
Also used : AssignFieldPathUpdate(com.yahoo.document.fieldpathupdate.AssignFieldPathUpdate) AssignFieldPathUpdate(com.yahoo.document.fieldpathupdate.AssignFieldPathUpdate) FieldPathUpdate(com.yahoo.document.fieldpathupdate.FieldPathUpdate) RemoveFieldPathUpdate(com.yahoo.document.fieldpathupdate.RemoveFieldPathUpdate) AddFieldPathUpdate(com.yahoo.document.fieldpathupdate.AddFieldPathUpdate) Test(org.junit.Test)

Example 13 with FieldPathUpdate

use of com.yahoo.document.fieldpathupdate.FieldPathUpdate in project vespa by vespa-engine.

the class PathUpdateToDocumentTestCase method requireThatWsetKeysAreConverted.

@Test
public void requireThatWsetKeysAreConverted() {
    DocumentType docType = new DocumentType("my_type");
    WeightedSetDataType wsetType = DataType.getWeightedSet(DataType.STRING);
    docType.addField(new Field("my_wset", wsetType));
    FieldPathUpdate upd = new AssignFieldPathUpdate(docType, "my_wset{69}", "", new IntegerFieldValue(96));
    Document doc = FieldPathUpdateHelper.newPartialDocument(null, upd);
    assertNotNull(doc);
    FieldValue obj = doc.getFieldValue("my_wset");
    assertTrue(obj instanceof WeightedSet);
    WeightedSet wset = (WeightedSet) obj;
    assertEquals(1, wset.size());
    assertEquals(96, wset.get(new StringFieldValue("69")).intValue());
}
Also used : AssignFieldPathUpdate(com.yahoo.document.fieldpathupdate.AssignFieldPathUpdate) AssignFieldPathUpdate(com.yahoo.document.fieldpathupdate.AssignFieldPathUpdate) FieldPathUpdate(com.yahoo.document.fieldpathupdate.FieldPathUpdate) RemoveFieldPathUpdate(com.yahoo.document.fieldpathupdate.RemoveFieldPathUpdate) AddFieldPathUpdate(com.yahoo.document.fieldpathupdate.AddFieldPathUpdate) Test(org.junit.Test)

Example 14 with FieldPathUpdate

use of com.yahoo.document.fieldpathupdate.FieldPathUpdate in project vespa by vespa-engine.

the class PathUpdateToDocumentTestCase method requireThatStringFieldsAreConverted.

@Test
public void requireThatStringFieldsAreConverted() {
    DocumentType docType = new DocumentType("my_type");
    docType.addField(new Field("my_str", DataType.STRING));
    FieldPathUpdate upd = new AssignFieldPathUpdate(docType, "my_str", "", new StringFieldValue("69"));
    Document doc = FieldPathUpdateHelper.newPartialDocument(null, upd);
    assertNotNull(doc);
    assertEquals("69", ((StringFieldValue) doc.getFieldValue("my_str")).getString());
}
Also used : AssignFieldPathUpdate(com.yahoo.document.fieldpathupdate.AssignFieldPathUpdate) AssignFieldPathUpdate(com.yahoo.document.fieldpathupdate.AssignFieldPathUpdate) FieldPathUpdate(com.yahoo.document.fieldpathupdate.FieldPathUpdate) RemoveFieldPathUpdate(com.yahoo.document.fieldpathupdate.RemoveFieldPathUpdate) AddFieldPathUpdate(com.yahoo.document.fieldpathupdate.AddFieldPathUpdate) Test(org.junit.Test)

Example 15 with FieldPathUpdate

use of com.yahoo.document.fieldpathupdate.FieldPathUpdate in project vespa by vespa-engine.

the class PathUpdateToDocumentTestCase method requireThatIntegerFieldsAreConverted.

@Test
public void requireThatIntegerFieldsAreConverted() {
    DocumentType docType = new DocumentType("my_type");
    docType.addField(new Field("my_int", DataType.INT));
    FieldPathUpdate upd = new AssignFieldPathUpdate(docType, "my_int", "", new IntegerFieldValue(69));
    Document doc = FieldPathUpdateHelper.newPartialDocument(null, upd);
    assertNotNull(doc);
    assertEquals(69, ((IntegerFieldValue) doc.getFieldValue("my_int")).getInteger());
}
Also used : AssignFieldPathUpdate(com.yahoo.document.fieldpathupdate.AssignFieldPathUpdate) AssignFieldPathUpdate(com.yahoo.document.fieldpathupdate.AssignFieldPathUpdate) FieldPathUpdate(com.yahoo.document.fieldpathupdate.FieldPathUpdate) RemoveFieldPathUpdate(com.yahoo.document.fieldpathupdate.RemoveFieldPathUpdate) AddFieldPathUpdate(com.yahoo.document.fieldpathupdate.AddFieldPathUpdate) Test(org.junit.Test)

Aggregations

FieldPathUpdate (com.yahoo.document.fieldpathupdate.FieldPathUpdate)16 AssignFieldPathUpdate (com.yahoo.document.fieldpathupdate.AssignFieldPathUpdate)13 Test (org.junit.Test)11 AddFieldPathUpdate (com.yahoo.document.fieldpathupdate.AddFieldPathUpdate)9 RemoveFieldPathUpdate (com.yahoo.document.fieldpathupdate.RemoveFieldPathUpdate)8 FieldUpdate (com.yahoo.document.update.FieldUpdate)4 IntegerFieldValue (com.yahoo.document.datatypes.IntegerFieldValue)3 StringFieldValue (com.yahoo.document.datatypes.StringFieldValue)3 FieldValue (com.yahoo.document.datatypes.FieldValue)2 Struct (com.yahoo.document.datatypes.Struct)2 ArrayList (java.util.ArrayList)2 ValueUpdate (com.yahoo.document.update.ValueUpdate)1