summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2020-10-02 15:39:34 +0200
committerJon Marius Venstad <venstad@gmail.com>2020-10-02 15:39:34 +0200
commitf20fd185d7eb0aa6611967a02c678e56a0e137f4 (patch)
tree06572e1f020829115d772092d05963ed6f6096b4
parent23cb6ef2bdbef00d32d836072bfc47ff8f5682de (diff)
Move un-exported enum to exported package
-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
-rw-r--r--vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java19
9 files changed, 40 insertions, 45 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) {
diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java b/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java
index f85805ab4af..ea99c5bf762 100644
--- a/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java
+++ b/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java
@@ -12,9 +12,9 @@ import com.yahoo.document.DocumentTypeManager;
import com.yahoo.document.DocumentUpdate;
import com.yahoo.document.TestAndSetCondition;
import com.yahoo.document.config.DocumentmanagerConfig;
+import com.yahoo.document.json.DocumentOperationType;
import com.yahoo.document.json.JsonReader;
import com.yahoo.document.json.JsonWriter;
-import com.yahoo.document.json.document.DocumentParser;
import com.yahoo.document.restapi.DocumentOperationExecutor;
import com.yahoo.document.restapi.DocumentOperationExecutor.ErrorType;
import com.yahoo.document.restapi.DocumentOperationExecutor.Group;
@@ -26,7 +26,6 @@ import com.yahoo.document.restapi.DocumentOperationExecutorImpl;
import com.yahoo.documentapi.DocumentOperationParameters;
import com.yahoo.documentapi.metrics.DocumentApiMetrics;
import com.yahoo.documentapi.metrics.DocumentOperationStatus;
-import com.yahoo.documentapi.metrics.DocumentOperationType;
import com.yahoo.jdisc.Metric;
import com.yahoo.jdisc.Request;
import com.yahoo.jdisc.Response;
@@ -283,7 +282,7 @@ public class DocumentV1ApiHandler extends AbstractRequestHandler {
private ContentChannel postDocument(HttpRequest request, DocumentPath path, ResponseHandler rawHandler) {
DocumentId id = path.id();
- ResponseHandler handler = new MeasuringResponseHandler(rawHandler, DocumentOperationType.PUT, clock.instant());
+ ResponseHandler handler = new MeasuringResponseHandler(rawHandler, com.yahoo.documentapi.metrics.DocumentOperationType.PUT, clock.instant());
return new ForwardingContentChannel(in -> {
try {
DocumentPut put = parser.parsePut(in, id.toString());
@@ -304,7 +303,7 @@ public class DocumentV1ApiHandler extends AbstractRequestHandler {
private ContentChannel putDocument(HttpRequest request, DocumentPath path, ResponseHandler rawHandler) {
DocumentId id = path.id();
- ResponseHandler handler = new MeasuringResponseHandler(rawHandler, DocumentOperationType.UPDATE, clock.instant());
+ ResponseHandler handler = new MeasuringResponseHandler(rawHandler, com.yahoo.documentapi.metrics.DocumentOperationType.UPDATE, clock.instant());
return new ForwardingContentChannel(in -> {
try {
DocumentUpdate update = parser.parseUpdate(in, id.toString());
@@ -326,7 +325,7 @@ public class DocumentV1ApiHandler extends AbstractRequestHandler {
private ContentChannel deleteDocument(HttpRequest request, DocumentPath path, ResponseHandler rawHandler) {
DocumentId id = path.id();
- ResponseHandler handler = new MeasuringResponseHandler(rawHandler, DocumentOperationType.REMOVE, clock.instant());
+ ResponseHandler handler = new MeasuringResponseHandler(rawHandler, com.yahoo.documentapi.metrics.DocumentOperationType.REMOVE, clock.instant());
executor.remove(id,
getProperty(request, ROUTE).map(parameters()::withRoute).orElse(parameters()),
new OperationContext((type, message) -> handleError(request, type, message, responseRoot(request, id), handler),
@@ -593,14 +592,14 @@ public class DocumentV1ApiHandler extends AbstractRequestHandler {
}
DocumentPut parsePut(InputStream inputStream, String docId) {
- return (DocumentPut) parse(inputStream, docId, DocumentParser.SupportedOperation.PUT);
+ return (DocumentPut) parse(inputStream, docId, DocumentOperationType.PUT);
}
DocumentUpdate parseUpdate(InputStream inputStream, String docId) {
- return (DocumentUpdate) parse(inputStream, docId, DocumentParser.SupportedOperation.UPDATE);
+ return (DocumentUpdate) parse(inputStream, docId, DocumentOperationType.UPDATE);
}
- private DocumentOperation parse(InputStream inputStream, String docId, DocumentParser.SupportedOperation operation) {
+ private DocumentOperation parse(InputStream inputStream, String docId, DocumentOperationType operation) {
return new JsonReader(manager, inputStream, jsonFactory).readSingleDocument(operation, docId);
}
@@ -609,10 +608,10 @@ public class DocumentV1ApiHandler extends AbstractRequestHandler {
private class MeasuringResponseHandler implements ResponseHandler {
private final ResponseHandler delegate;
- private final DocumentOperationType type;
+ private final com.yahoo.documentapi.metrics.DocumentOperationType type;
private final Instant start;
- private MeasuringResponseHandler(ResponseHandler delegate, DocumentOperationType type, Instant start) {
+ private MeasuringResponseHandler(ResponseHandler delegate, com.yahoo.documentapi.metrics.DocumentOperationType type, Instant start) {
this.delegate = delegate;
this.type = type;
this.start = start;