use of com.yahoo.document.Document in project vespa by vespa-engine.
the class StringTestCase method serializeAndDeserialize.
private Document serializeAndDeserialize(Document doc, DocumentTypeManager manager) {
GrowableByteBuffer buffer = new GrowableByteBuffer(1024);
DocumentSerializer serializer = DocumentSerializerFactory.create42(buffer);
serializer.write(doc);
buffer.flip();
DocumentDeserializer deserializer = DocumentDeserializerFactory.create42(manager, buffer);
return new Document(deserializer);
}
use of com.yahoo.document.Document in project vespa by vespa-engine.
the class LocalSyncSession method update.
@Override
public boolean update(DocumentUpdate update) {
Document document = access.documents.get(update.getId());
if (document == null) {
return false;
}
update.applyTo(document);
return true;
}
use of com.yahoo.document.Document in project vespa by vespa-engine.
the class MessageBusAsyncSession method toSuccess.
@SuppressWarnings("deprecation")
private static Response toSuccess(Reply reply, long reqId) {
switch(reply.getType()) {
case DocumentProtocol.REPLY_GETDOCUMENT:
GetDocumentReply docReply = ((GetDocumentReply) reply);
Document getDoc = docReply.getDocument();
if (getDoc != null) {
getDoc.setLastModified(docReply.getLastModified());
}
return new DocumentResponse(reqId, getDoc);
case DocumentProtocol.REPLY_REMOVEDOCUMENT:
return new RemoveResponse(reqId, ((RemoveDocumentReply) reply).wasFound());
case DocumentProtocol.REPLY_UPDATEDOCUMENT:
return new UpdateResponse(reqId, ((UpdateDocumentReply) reply).wasFound());
case DocumentProtocol.REPLY_PUTDOCUMENT:
break;
default:
return new Response(reqId);
}
Message msg = reply.getMessage();
switch(msg.getType()) {
case DocumentProtocol.MESSAGE_PUTDOCUMENT:
return new DocumentResponse(reqId, ((PutDocumentMessage) msg).getDocumentPut().getDocument());
case DocumentProtocol.MESSAGE_REMOVEDOCUMENT:
return new DocumentIdResponse(reqId, ((RemoveDocumentMessage) msg).getDocumentId());
case DocumentProtocol.MESSAGE_UPDATEDOCUMENT:
return new DocumentUpdateResponse(reqId, ((UpdateDocumentMessage) msg).getDocumentUpdate());
default:
return new Response(reqId);
}
}
use of com.yahoo.document.Document in project vespa by vespa-engine.
the class MessageBusSyncSession method get.
@Override
public Document get(DocumentId id, String fieldSet, DocumentProtocol.Priority pri, Duration timeout) {
GetDocumentMessage msg = new GetDocumentMessage(id, fieldSet);
msg.setPriority(pri);
Reply reply = syncSend(msg, timeout != null ? timeout : defaultTimeout);
if (reply.hasErrors()) {
throw new DocumentAccessException(MessageBusAsyncSession.getErrorMessage(reply));
}
if (reply.getType() != DocumentProtocol.REPLY_GETDOCUMENT) {
throw new DocumentAccessException("Received unknown response: " + reply);
}
GetDocumentReply docReply = ((GetDocumentReply) reply);
Document doc = docReply.getDocument();
if (doc != null) {
doc.setLastModified(docReply.getLastModified());
}
return doc;
}
use of com.yahoo.document.Document in project vespa by vespa-engine.
the class XmlDocumentWriterTestCase method requireThatPredicateFieldValuesAreSerializedAsString.
@Test
public void requireThatPredicateFieldValuesAreSerializedAsString() {
DocumentType docType = new DocumentType("my_type");
Field field = new Field("my_predicate", DataType.PREDICATE);
docType.addField(field);
Document doc = new Document(docType, "doc:scheme:");
PredicateFieldValue predicate = Mockito.mock(PredicateFieldValue.class);
doc.setFieldValue("my_predicate", predicate);
new XmlDocumentWriter().write(doc);
Mockito.verify(predicate, Mockito.times(1)).printXml(Mockito.any(XmlStream.class));
}
Aggregations