summaryrefslogtreecommitdiffstats
path: root/document
diff options
context:
space:
mode:
authorJon Marius Venstad <jonmv@users.noreply.github.com>2020-10-05 11:07:36 +0200
committerGitHub <noreply@github.com>2020-10-05 11:07:36 +0200
commit387b5bdf178e84d0a8adf4b8f443045807fa2439 (patch)
treef9d02b8eec8143fe2567c20059c6468f361e8255 /document
parentc6fbed88b5c65d40daf3af4eea31c9b22c2b61e5 (diff)
parentf20fd185d7eb0aa6611967a02c678e56a0e137f4 (diff)
Merge pull request #14685 from vespa-engine/jonmv/doc-v1-async-call-completions-handlers-earlier
Jonmv/doc v1 async call completions handlers earlier
Diffstat (limited to 'document')
-rw-r--r--document/src/main/java/com/yahoo/document/json/DocumentOperationType.java9
-rw-r--r--document/src/main/java/com/yahoo/document/json/JsonReader.java2
-rw-r--r--document/src/main/java/com/yahoo/document/json/SingleDocumentParser.java11
-rw-r--r--document/src/main/java/com/yahoo/document/json/document/DocumentParser.java14
-rw-r--r--document/src/main/java/com/yahoo/document/json/document/package-info.java8
-rw-r--r--document/src/main/java/com/yahoo/document/json/readers/DocumentParseInfo.java4
-rw-r--r--document/src/test/java/com/yahoo/document/json/DocumentUpdateJsonSerializerTest.java3
-rw-r--r--document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java15
8 files changed, 31 insertions, 35 deletions
diff --git a/document/src/main/java/com/yahoo/document/json/DocumentOperationType.java b/document/src/main/java/com/yahoo/document/json/DocumentOperationType.java
new file mode 100644
index 00000000000..6d53e1948c9
--- /dev/null
+++ b/document/src/main/java/com/yahoo/document/json/DocumentOperationType.java
@@ -0,0 +1,9 @@
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.document.json;
+
+/**
+ * @author Haakon Dybdahl
+ */
+public enum DocumentOperationType {
+ PUT, UPDATE, REMOVE
+}
diff --git a/document/src/main/java/com/yahoo/document/json/JsonReader.java b/document/src/main/java/com/yahoo/document/json/JsonReader.java
index 3e011fc858f..3162056db66 100644
--- a/document/src/main/java/com/yahoo/document/json/JsonReader.java
+++ b/document/src/main/java/com/yahoo/document/json/JsonReader.java
@@ -60,7 +60,7 @@ public class JsonReader {
* @param docIdString document ID.
* @return the document
*/
- public DocumentOperation readSingleDocument(DocumentParser.SupportedOperation operationType, String docIdString) {
+ public DocumentOperation readSingleDocument(DocumentOperationType operationType, String docIdString) {
DocumentId docId = new DocumentId(docIdString);
DocumentParseInfo documentParseInfo;
try {
diff --git a/document/src/main/java/com/yahoo/document/json/SingleDocumentParser.java b/document/src/main/java/com/yahoo/document/json/SingleDocumentParser.java
index b57b55c9d73..67508c61b23 100644
--- a/document/src/main/java/com/yahoo/document/json/SingleDocumentParser.java
+++ b/document/src/main/java/com/yahoo/document/json/SingleDocumentParser.java
@@ -6,7 +6,6 @@ import com.yahoo.document.DocumentOperation;
import com.yahoo.document.DocumentPut;
import com.yahoo.document.DocumentTypeManager;
import com.yahoo.document.DocumentUpdate;
-import com.yahoo.document.json.document.DocumentParser;
import com.yahoo.vespaxmlparser.DocumentFeedOperation;
import com.yahoo.vespaxmlparser.DocumentUpdateFeedOperation;
import com.yahoo.vespaxmlparser.FeedOperation;
@@ -29,22 +28,22 @@ public class SingleDocumentParser {
}
public FeedOperation parsePut(InputStream inputStream, String docId) {
- return parse(inputStream, docId, DocumentParser.SupportedOperation.PUT);
+ return parse(inputStream, docId, DocumentOperationType.PUT);
}
public FeedOperation parseUpdate(InputStream inputStream, String docId) {
- return parse(inputStream, docId, DocumentParser.SupportedOperation.UPDATE);
+ return parse(inputStream, docId, DocumentOperationType.UPDATE);
}
- private FeedOperation parse(InputStream inputStream, String docId, DocumentParser.SupportedOperation supportedOperation) {
+ private FeedOperation parse(InputStream inputStream, String docId, DocumentOperationType documentOperationType) {
JsonReader reader = new JsonReader(docMan, inputStream, jsonFactory);
- DocumentOperation documentOperation = reader.readSingleDocument(supportedOperation, docId);
+ DocumentOperation documentOperation = reader.readSingleDocument(documentOperationType, docId);
try {
inputStream.close();
} catch (IOException e) {
throw new IllegalStateException(e);
}
- if (supportedOperation == DocumentParser.SupportedOperation.PUT) {
+ if (documentOperationType == DocumentOperationType.PUT) {
return new DocumentFeedOperation(((DocumentPut) documentOperation).getDocument(), documentOperation.getCondition());
} else {
return new DocumentUpdateFeedOperation((DocumentUpdate) documentOperation, documentOperation.getCondition());
diff --git a/document/src/main/java/com/yahoo/document/json/document/DocumentParser.java b/document/src/main/java/com/yahoo/document/json/document/DocumentParser.java
index 3fc2c941b99..a8fdb186bd7 100644
--- a/document/src/main/java/com/yahoo/document/json/document/DocumentParser.java
+++ b/document/src/main/java/com/yahoo/document/json/document/DocumentParser.java
@@ -4,6 +4,7 @@ package com.yahoo.document.json.document;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonToken;
import com.yahoo.document.DocumentId;
+import com.yahoo.document.json.DocumentOperationType;
import com.yahoo.document.json.readers.DocumentParseInfo;
import java.io.IOException;
@@ -12,13 +13,10 @@ import java.util.Optional;
/**
* Parses a document operation.
*
- * @author dybis
+ * @author Haakon Dybdahl
*/
public class DocumentParser {
- public enum SupportedOperation {
- PUT, UPDATE, REMOVE
- }
private static final String UPDATE = "update";
private static final String PUT = "put";
private static final String ID = "id";
@@ -134,15 +132,15 @@ public class DocumentParser {
}
}
- private static SupportedOperation operationNameToOperationType(String operationName) {
+ private static DocumentOperationType operationNameToOperationType(String operationName) {
switch (operationName) {
case PUT:
case ID:
- return SupportedOperation.PUT;
+ return DocumentOperationType.PUT;
case REMOVE:
- return SupportedOperation.REMOVE;
+ return DocumentOperationType.REMOVE;
case UPDATE:
- return SupportedOperation.UPDATE;
+ return DocumentOperationType.UPDATE;
default:
throw new IllegalArgumentException(
"Got " + operationName + " as document operation, only \"put\", " +
diff --git a/document/src/main/java/com/yahoo/document/json/document/package-info.java b/document/src/main/java/com/yahoo/document/json/document/package-info.java
deleted file mode 100644
index df4c12216af..00000000000
--- a/document/src/main/java/com/yahoo/document/json/document/package-info.java
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2020 Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-/**
- * Infrastructure for building Vespa documents and feed operations from JSON.
- */
-@ExportPackage
-package com.yahoo.document.json.document;
-
-import com.yahoo.osgi.annotation.ExportPackage;
diff --git a/document/src/main/java/com/yahoo/document/json/readers/DocumentParseInfo.java b/document/src/main/java/com/yahoo/document/json/readers/DocumentParseInfo.java
index da7f18b1a7e..878324d0d1e 100644
--- a/document/src/main/java/com/yahoo/document/json/readers/DocumentParseInfo.java
+++ b/document/src/main/java/com/yahoo/document/json/readers/DocumentParseInfo.java
@@ -2,8 +2,8 @@
package com.yahoo.document.json.readers;
import com.yahoo.document.DocumentId;
+import com.yahoo.document.json.DocumentOperationType;
import com.yahoo.document.json.TokenBuffer;
-import com.yahoo.document.json.document.DocumentParser;
import java.util.Optional;
@@ -11,6 +11,6 @@ public class DocumentParseInfo {
public DocumentId documentId;
public Optional<Boolean> create = Optional.empty();
public Optional<String> condition = Optional.empty();
- public DocumentParser.SupportedOperation operationType = null;
+ public DocumentOperationType operationType = null;
public TokenBuffer fieldsBuffer = new TokenBuffer();
}
diff --git a/document/src/test/java/com/yahoo/document/json/DocumentUpdateJsonSerializerTest.java b/document/src/test/java/com/yahoo/document/json/DocumentUpdateJsonSerializerTest.java
index 57946741335..4e8fa427e7d 100644
--- a/document/src/test/java/com/yahoo/document/json/DocumentUpdateJsonSerializerTest.java
+++ b/document/src/test/java/com/yahoo/document/json/DocumentUpdateJsonSerializerTest.java
@@ -14,7 +14,6 @@ import com.yahoo.document.ReferenceDataType;
import com.yahoo.document.StructDataType;
import com.yahoo.document.TensorDataType;
import com.yahoo.document.WeightedSetDataType;
-import com.yahoo.document.json.document.DocumentParser;
import com.yahoo.document.serialization.DocumentDeserializerFactory;
import com.yahoo.document.serialization.DocumentSerializer;
import com.yahoo.document.serialization.DocumentSerializerFactory;
@@ -97,7 +96,7 @@ public class DocumentUpdateJsonSerializerTest {
private static DocumentUpdate jsonToDocumentUpdate(String jsonDoc, String docId) {
final InputStream rawDoc = new ByteArrayInputStream(Utf8.toBytes(jsonDoc));
JsonReader reader = new JsonReader(types, rawDoc, parserFactory);
- return (DocumentUpdate) reader.readSingleDocument(DocumentParser.SupportedOperation.UPDATE, docId);
+ return (DocumentUpdate) reader.readSingleDocument(DocumentOperationType.UPDATE, docId);
}
private static String documentUpdateToJson(DocumentUpdate update) {
diff --git a/document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java b/document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java
index 522176d7504..7fc43656d55 100644
--- a/document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java
+++ b/document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java
@@ -31,7 +31,6 @@ import com.yahoo.document.datatypes.StringFieldValue;
import com.yahoo.document.datatypes.Struct;
import com.yahoo.document.datatypes.TensorFieldValue;
import com.yahoo.document.datatypes.WeightedSet;
-import com.yahoo.document.json.document.DocumentParser;
import com.yahoo.document.json.readers.DocumentParseInfo;
import com.yahoo.document.json.readers.VespaJsonDocumentReader;
import com.yahoo.document.serialization.DocumentSerializer;
@@ -214,7 +213,7 @@ public class JsonReaderTestCase {
" 'nalle': 'bamse'",
" }",
"}"));
- DocumentPut put = (DocumentPut) r.readSingleDocument(DocumentParser.SupportedOperation.PUT,
+ DocumentPut put = (DocumentPut) r.readSingleDocument(DocumentOperationType.PUT,
"id:unittest:smoke::doc1");
smokeTestDoc(put.getDocument());
}
@@ -225,7 +224,7 @@ public class JsonReaderTestCase {
" 'fields': {",
" 'something': {",
" 'assign': 'orOther' }}}"));
- DocumentUpdate doc = (DocumentUpdate) r.readSingleDocument(DocumentParser.SupportedOperation.UPDATE, "id:unittest:smoke::whee");
+ DocumentUpdate doc = (DocumentUpdate) r.readSingleDocument(DocumentOperationType.UPDATE, "id:unittest:smoke::whee");
FieldUpdate f = doc.getFieldUpdate("something");
assertEquals(1, f.size());
assertTrue(f.getValueUpdate(0) instanceof AssignValueUpdate);
@@ -237,7 +236,7 @@ public class JsonReaderTestCase {
" 'fields': {",
" 'int1': {",
" 'assign': null }}}"));
- DocumentUpdate doc = (DocumentUpdate) r.readSingleDocument(DocumentParser.SupportedOperation.UPDATE, "id:unittest:smoke::whee");
+ DocumentUpdate doc = (DocumentUpdate) r.readSingleDocument(DocumentOperationType.UPDATE, "id:unittest:smoke::whee");
FieldUpdate f = doc.getFieldUpdate("int1");
assertEquals(1, f.size());
assertTrue(f.getValueUpdate(0) instanceof ClearValueUpdate);
@@ -1216,8 +1215,8 @@ public class JsonReaderTestCase {
" 'tensorfield': null",
" }",
"}"));
- DocumentPut put = (DocumentPut) r.readSingleDocument(DocumentParser.SupportedOperation.PUT,
- "id:unittest:testnull::doc1");
+ DocumentPut put = (DocumentPut) r.readSingleDocument(DocumentOperationType.PUT,
+ "id:unittest:testnull::doc1");
Document doc = put.getDocument();
assertFieldValueNull(doc, "intfield");
assertFieldValueNull(doc, "stringfield");
@@ -1234,7 +1233,7 @@ public class JsonReaderTestCase {
" 'arrayfield': [ null ]",
" }",
"}"));
- r.readSingleDocument(DocumentParser.SupportedOperation.PUT, "id:unittest:testnull::doc1");
+ r.readSingleDocument(DocumentOperationType.PUT, "id:unittest:testnull::doc1");
fail();
}
@@ -1465,7 +1464,7 @@ public class JsonReaderTestCase {
" 'fields': {",
" 'something': {",
" 'modify': {} }}}"));
- reader.readSingleDocument(DocumentParser.SupportedOperation.UPDATE, "id:unittest:smoke::doc1");
+ reader.readSingleDocument(DocumentOperationType.UPDATE, "id:unittest:smoke::doc1");
fail("Expected exception");
}
catch (IllegalArgumentException e) {