diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2020-10-02 15:39:34 +0200 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2020-10-02 15:39:34 +0200 |
commit | f20fd185d7eb0aa6611967a02c678e56a0e137f4 (patch) | |
tree | 06572e1f020829115d772092d05963ed6f6096b4 | |
parent | 23cb6ef2bdbef00d32d836072bfc47ff8f5682de (diff) |
Move un-exported enum to exported package
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; |