use of com.yahoo.document.Document in project vespa by vespa-engine.
the class SchemaMappingAndAccessesTest method testProxyAndSecure.
public void testProxyAndSecure() {
DocumentProcessor procOK = new TestDPSecure();
Map<Pair<String, String>, String> fieldMap = new HashMap<>();
fieldMap.put(new Pair<>("album", "titleMapped"), "title");
procOK.setFieldMap(fieldMap);
DocumentPut put = new DocumentPut(getDoc());
Document proxyDoc = new Call(procOK).configDoc(procOK, put).getDocument();
procOK.process(Processing.of(new DocumentPut(proxyDoc)));
assertEquals(proxyDoc.getFieldValue("title").toString(), "MyTitle MyTitle");
}
use of com.yahoo.document.Document in project vespa by vespa-engine.
the class DocumentScriptTestCase method processDocument.
private static FieldValue processDocument(FieldValue fieldValue) {
DocumentType docType = new DocumentType("myDocumentType");
docType.addField("myField", fieldValue.getDataType());
Document doc = new Document(docType, "doc:scheme:");
doc.setFieldValue("myField", fieldValue.clone());
doc = newScript(docType).execute(ADAPTER_FACTORY, doc);
return doc.getFieldValue("myField");
}
use of com.yahoo.document.Document in project vespa by vespa-engine.
the class LocalSyncSession method update.
@Override
public boolean update(DocumentUpdate update, DocumentProtocol.Priority pri) {
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 IndexingProcessorTestCase method requireThatIndexerForwardsDocumentsOfUnknownType.
@Test
public void requireThatIndexerForwardsDocumentsOfUnknownType() {
Document input = new Document(new DocumentType("unknown"), "doc:scheme:");
DocumentOperation output = process(new DocumentPut(input));
assertTrue(output instanceof DocumentPut);
assertSame(input, ((DocumentPut) output).getDocument());
}
use of com.yahoo.document.Document in project vespa by vespa-engine.
the class SplitterJoinerTestCase method testSplitJoin.
@Test
public void testSplitJoin() {
ConfigGetter<SplitterJoinerDocumentProcessorConfig> getter = new ConfigGetter<>(SplitterJoinerDocumentProcessorConfig.class);
ConfigGetter<DocumentmanagerConfig> docManGetter = new ConfigGetter<>(DocumentmanagerConfig.class);
SplitterJoinerDocumentProcessorConfig cfg = getter.getConfig("file:src/test/java/com/yahoo/docproc/util/splitter-joiner-document-processor.cfg");
DocumentmanagerConfig docManCfg = docManGetter.getConfig("file:src/test/java/com/yahoo/docproc/util/documentmanager.docindoc.cfg");
SplitterDocumentProcessor splitter = new SplitterDocumentProcessor(cfg, docManCfg);
DocumentTypeManager manager = splitter.manager;
/**
** Create documents: ***
*/
Document inner1 = new Document(manager.getDocumentType("docindoc"), "doc:inner:number:one");
inner1.setFieldValue("name", new StringFieldValue("Donald Duck"));
inner1.setFieldValue("content", new StringFieldValue("Lives in Duckburg"));
Document inner2 = new Document(manager.getDocumentType("docindoc"), "doc:inner:number:two");
inner2.setFieldValue("name", new StringFieldValue("Uncle Scrooge"));
inner2.setFieldValue("content", new StringFieldValue("Lives in Duckburg, too."));
Array<Document> innerArray = (Array<Document>) manager.getDocumentType("outerdoc").getField("innerdocuments").getDataType().createFieldValue();
innerArray.add(inner1);
innerArray.add(inner2);
Document outer = new Document(manager.getDocumentType("outerdoc"), "doc:outer:the:only:one");
outer.setFieldValue("innerdocuments", innerArray);
/**
** End create documents ***
*/
Processing p = Processing.of(new DocumentPut(outer));
splitter.process(p);
assertEquals(2, p.getDocumentOperations().size());
assertThat(((DocumentPut) (p.getDocumentOperations().get(0))).getDocument(), sameInstance(inner1));
assertThat(((DocumentPut) (p.getDocumentOperations().get(1))).getDocument(), sameInstance(inner2));
assertThat(((DocumentPut) (p.getVariable(cfg.contextFieldName()))).getDocument(), sameInstance(outer));
assertThat(outer.getFieldValue("innerdocuments"), sameInstance(innerArray));
assertTrue(innerArray.isEmpty());
JoinerDocumentProcessor joiner = new JoinerDocumentProcessor(cfg, docManCfg);
joiner.process(p);
assertThat(p.getDocumentOperations().size(), equalTo(1));
assertThat(((DocumentPut) p.getDocumentOperations().get(0)).getDocument(), sameInstance(outer));
assertThat(p.getVariable(cfg.contextFieldName()), nullValue());
assertThat(outer.getFieldValue("innerdocuments"), sameInstance(innerArray));
assertThat(innerArray.size(), equalTo(2));
assertThat(innerArray.get(0), sameInstance(inner1));
assertThat(innerArray.get(1), sameInstance(inner2));
}
Aggregations