diff options
22 files changed, 78 insertions, 62 deletions
diff --git a/document/src/main/java/com/yahoo/document/DocumentType.java b/document/src/main/java/com/yahoo/document/DocumentType.java index f73fd634e0e..af4aa62f21f 100755 --- a/document/src/main/java/com/yahoo/document/DocumentType.java +++ b/document/src/main/java/com/yahoo/document/DocumentType.java @@ -4,6 +4,7 @@ package com.yahoo.document; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import com.yahoo.document.datatypes.FieldValue; +import com.yahoo.document.fieldset.AllFields; import com.yahoo.document.serialization.DocumentWriter; import com.yahoo.vespa.objects.Ids; import com.yahoo.vespa.objects.ObjectVisitor; @@ -34,7 +35,6 @@ import java.util.Set; // TODO: Remove header/body concept on Vespa 8 public class DocumentType extends StructuredDataType { - private static final String ALL = "[all]"; public static final String DOCUMENT = "[document]"; public static final int classId = registerClass(Ids.document + 58, DocumentType.class); private StructDataType headerType; @@ -215,8 +215,8 @@ public class DocumentType extends StructuredDataType { this.fieldSets.put(entry.getKey(), ImmutableSet.copyOf(fields)); } - if ( ! this.fieldSets.containsKey(ALL)) { - this.fieldSets.put(ALL, getAllUniqueFields()); + if ( ! this.fieldSets.containsKey(AllFields.NAME)) { + this.fieldSets.put(AllFields.NAME, getAllUniqueFields()); } } @@ -454,7 +454,7 @@ public class DocumentType extends StructuredDataType { * @return an unmodifiable snapshot of the all fields in this type */ public Set<Field> fieldSetAll() { - return fieldSet(ALL); + return fieldSet(AllFields.NAME); } public Set<Field> fieldSet(String name) { diff --git a/document/src/main/java/com/yahoo/document/fieldset/AllFields.java b/document/src/main/java/com/yahoo/document/fieldset/AllFields.java index 7087e959328..247d2829124 100644 --- a/document/src/main/java/com/yahoo/document/fieldset/AllFields.java +++ b/document/src/main/java/com/yahoo/document/fieldset/AllFields.java @@ -2,13 +2,10 @@ package com.yahoo.document.fieldset; /** - * Created with IntelliJ IDEA. - * User: thomasg - * Date: 4/25/12 - * Time: 3:18 PM - * To change this template use File | Settings | File Templates. + * @author Thomas Gundersen */ public class AllFields implements FieldSet { + public static final String NAME = "[all]"; @Override public boolean contains(FieldSet o) { return true; diff --git a/document/src/main/java/com/yahoo/document/fieldset/DocIdOnly.java b/document/src/main/java/com/yahoo/document/fieldset/DocIdOnly.java index 29b8348d501..eeac213e2b4 100644 --- a/document/src/main/java/com/yahoo/document/fieldset/DocIdOnly.java +++ b/document/src/main/java/com/yahoo/document/fieldset/DocIdOnly.java @@ -2,13 +2,10 @@ package com.yahoo.document.fieldset; /** - * Created with IntelliJ IDEA. - * User: thomasg - * Date: 4/25/12 - * Time: 3:21 PM - * To change this template use File | Settings | File Templates. + * @author Thomas Gundersen */ public class DocIdOnly implements FieldSet { + public static final String NAME = "[id]"; @Override public boolean contains(FieldSet o) { return (o instanceof DocIdOnly || o instanceof NoFields); diff --git a/document/src/main/java/com/yahoo/document/fieldset/FieldSetRepo.java b/document/src/main/java/com/yahoo/document/fieldset/FieldSetRepo.java index 862a374f182..285c78ef0ab 100644 --- a/document/src/main/java/com/yahoo/document/fieldset/FieldSetRepo.java +++ b/document/src/main/java/com/yahoo/document/fieldset/FieldSetRepo.java @@ -20,9 +20,9 @@ public class FieldSetRepo { FieldSet parseSpecialValues(String name) { - if (name.equals("[id]")) { return new DocIdOnly(); } - else if (name.equals("[all]")) { return (new AllFields()); } - else if (name.equals("[none]")) { return (new NoFields()); } + if (name.equals(DocIdOnly.NAME)) { return new DocIdOnly(); } + else if (name.equals(AllFields.NAME)) { return (new AllFields()); } + else if (name.equals(NoFields.NAME)) { return (new NoFields()); } else if (name.equals("[docid]")) { return (new DocIdOnly()); } else { throw new IllegalArgumentException( @@ -93,11 +93,11 @@ public class FieldSetRepo { return buffer.toString(); } else if (fieldSet instanceof AllFields) { - return "[all]"; + return AllFields.NAME; } else if (fieldSet instanceof NoFields) { - return "[none]"; + return NoFields.NAME; } else if (fieldSet instanceof DocIdOnly) { - return "[docid]"; + return DocIdOnly.NAME; } else { throw new IllegalArgumentException("Unknown field set type " + fieldSet); } diff --git a/document/src/main/java/com/yahoo/document/fieldset/NoFields.java b/document/src/main/java/com/yahoo/document/fieldset/NoFields.java index fe3426db143..91663067db0 100644 --- a/document/src/main/java/com/yahoo/document/fieldset/NoFields.java +++ b/document/src/main/java/com/yahoo/document/fieldset/NoFields.java @@ -2,13 +2,10 @@ package com.yahoo.document.fieldset; /** - * Created with IntelliJ IDEA. - * User: thomasg - * Date: 4/25/12 - * Time: 3:18 PM - * To change this template use File | Settings | File Templates. + * @author Thomas Gundersen */ public class NoFields implements FieldSet { + public static final String NAME = "[none]"; @Override public boolean contains(FieldSet o) { return (o instanceof NoFields); diff --git a/document/src/test/java/com/yahoo/document/fieldset/FieldSetTestCase.java b/document/src/test/java/com/yahoo/document/fieldset/FieldSetTestCase.java index 5219285fbba..fa0e3c82d01 100644 --- a/document/src/test/java/com/yahoo/document/fieldset/FieldSetTestCase.java +++ b/document/src/test/java/com/yahoo/document/fieldset/FieldSetTestCase.java @@ -31,9 +31,9 @@ public class FieldSetTestCase extends DocumentTestCaseBase { public void testParsing() { FieldSetRepo repo = new FieldSetRepo(); - assertTrue(repo.parse(docMan, "[all]") instanceof AllFields); - assertTrue(repo.parse(docMan, "[none]") instanceof NoFields); - assertTrue(repo.parse(docMan, "[id]") instanceof DocIdOnly); + assertTrue(repo.parse(docMan, AllFields.NAME) instanceof AllFields); + assertTrue(repo.parse(docMan, NoFields.NAME) instanceof NoFields); + assertTrue(repo.parse(docMan, DocIdOnly.NAME) instanceof DocIdOnly); FieldCollection collection = (FieldCollection)repo.parse(docMan, "testdoc:stringattr,intattr"); assertEquals(2, collection.size()); @@ -123,7 +123,7 @@ public class FieldSetTestCase extends DocumentTestCaseBase { Document doc = getTestDocument(); doc.removeFieldValue("rawattr"); - assertEquals("floatattr:3.56,stringattr:tjohei,intattr:50,byteattr:30", doCopyFields(doc, "[all]")); + assertEquals("floatattr:3.56,stringattr:tjohei,intattr:50,byteattr:30", doCopyFields(doc, AllFields.NAME)); assertEquals("floatattr:3.56,byteattr:30", doCopyFields(doc, "testdoc:floatattr,byteattr")); } @@ -139,7 +139,7 @@ public class FieldSetTestCase extends DocumentTestCaseBase { Document doc = getTestDocument(); doc.removeFieldValue("rawattr"); - assertEquals("floatattr:3.56,stringattr:tjohei,intattr:50,byteattr:30", doStripFields(doc, "[all]")); + assertEquals("floatattr:3.56,stringattr:tjohei,intattr:50,byteattr:30", doStripFields(doc, AllFields.NAME)); assertEquals("floatattr:3.56,byteattr:30", doStripFields(doc, "testdoc:floatattr,byteattr")); } @@ -147,9 +147,9 @@ public class FieldSetTestCase extends DocumentTestCaseBase { public void testSerialize() { String fieldSets[] = { - "[all]", - "[none]", - "[docid]", + AllFields.NAME, + NoFields.NAME, + DocIdOnly.NAME, "testdoc:rawattr", "testdoc:rawattr,intattr" }; diff --git a/documentapi/src/main/java/com/yahoo/documentapi/VisitorParameters.java b/documentapi/src/main/java/com/yahoo/documentapi/VisitorParameters.java index 5b511a1dea8..6a059699b2b 100644 --- a/documentapi/src/main/java/com/yahoo/documentapi/VisitorParameters.java +++ b/documentapi/src/main/java/com/yahoo/documentapi/VisitorParameters.java @@ -3,6 +3,7 @@ package com.yahoo.documentapi; import com.yahoo.document.BucketId; import com.yahoo.document.FixedBucketSpaces; +import com.yahoo.document.fieldset.AllFields; import com.yahoo.documentapi.messagebus.loadtypes.LoadType; import com.yahoo.documentapi.messagebus.protocol.DocumentProtocol; import com.yahoo.messagebus.ThrottlePolicy; @@ -29,7 +30,7 @@ public class VisitorParameters extends Parameters { private long fromTimestamp = 0; private long toTimestamp = 0; boolean visitRemoves = false; - private String fieldSet = "[all]"; + private String fieldSet = AllFields.NAME; boolean visitInconsistentBuckets = false; private ProgressToken resumeToken = null; private String resumeFileName = ""; diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusAsyncSession.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusAsyncSession.java index 493871d45c0..ab39e4c30ff 100644 --- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusAsyncSession.java +++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusAsyncSession.java @@ -5,6 +5,7 @@ import com.yahoo.document.Document; import com.yahoo.document.DocumentId; import com.yahoo.document.DocumentPut; import com.yahoo.document.DocumentUpdate; +import com.yahoo.document.fieldset.AllFields; import com.yahoo.documentapi.AsyncParameters; import com.yahoo.documentapi.AsyncSession; import com.yahoo.documentapi.DocumentIdResponse; @@ -114,7 +115,7 @@ public class MessageBusAsyncSession implements MessageBusSession, AsyncSession { @Override public Result get(DocumentId id, DocumentProtocol.Priority pri) { - GetDocumentMessage msg = new GetDocumentMessage(id, "[all]"); + GetDocumentMessage msg = new GetDocumentMessage(id, AllFields.NAME); msg.setPriority(pri); return send(msg); } diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusSyncSession.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusSyncSession.java index 9a16cef2f84..a9621950b88 100755 --- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusSyncSession.java +++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusSyncSession.java @@ -6,6 +6,7 @@ import com.yahoo.document.DocumentId; import com.yahoo.document.DocumentPut; import com.yahoo.document.DocumentRemove; import com.yahoo.document.DocumentUpdate; +import com.yahoo.document.fieldset.AllFields; import com.yahoo.documentapi.AsyncParameters; import com.yahoo.documentapi.DocumentAccessException; import com.yahoo.documentapi.Response; @@ -135,7 +136,7 @@ public class MessageBusSyncSession implements MessageBusSession, SyncSession, Re @Override public Document get(DocumentId id, Duration timeout) { - return get(id, "[all]", DocumentProtocol.Priority.NORMAL_1, timeout); + return get(id, AllFields.NAME, DocumentProtocol.Priority.NORMAL_1, timeout); } @Override diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/CreateVisitorMessage.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/CreateVisitorMessage.java index c4e17141237..990585f39e1 100644 --- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/CreateVisitorMessage.java +++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/CreateVisitorMessage.java @@ -3,6 +3,7 @@ package com.yahoo.documentapi.messagebus.protocol; import com.yahoo.document.BucketId; import com.yahoo.document.FixedBucketSpaces; +import com.yahoo.document.fieldset.AllFields; import java.util.ArrayList; import java.util.Iterator; @@ -23,7 +24,7 @@ public class CreateVisitorMessage extends DocumentMessage { private long fromTime = 0; private long toTime = 0; private boolean visitRemoves = false; - private String fieldSet = "[all]"; + private String fieldSet = AllFields.NAME; private boolean visitInconsistentBuckets = false; private Map<String, byte[]> params = new TreeMap<>(); private int maxBucketsPerVisitor = 1; diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/GetDocumentMessage.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/GetDocumentMessage.java index cd115cfbf0e..f65550bbf0f 100755 --- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/GetDocumentMessage.java +++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/GetDocumentMessage.java @@ -2,6 +2,7 @@ package com.yahoo.documentapi.messagebus.protocol; import com.yahoo.document.DocumentId; +import com.yahoo.document.fieldset.AllFields; import java.util.Arrays; @@ -10,7 +11,7 @@ import java.util.Arrays; */ public class GetDocumentMessage extends DocumentMessage { - final static String DEFAULT_FIELD_SET = "[all]"; + final static String DEFAULT_FIELD_SET = AllFields.NAME; private DocumentId documentId = null; private String fieldSet = DEFAULT_FIELD_SET; diff --git a/documentapi/src/test/java/com/yahoo/documentapi/VisitorParametersTestCase.java b/documentapi/src/test/java/com/yahoo/documentapi/VisitorParametersTestCase.java index 6a128c8097d..5941c2ac0e2 100644 --- a/documentapi/src/test/java/com/yahoo/documentapi/VisitorParametersTestCase.java +++ b/documentapi/src/test/java/com/yahoo/documentapi/VisitorParametersTestCase.java @@ -1,6 +1,7 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.documentapi; +import com.yahoo.document.fieldset.AllFields; import com.yahoo.documentapi.messagebus.loadtypes.LoadType; import com.yahoo.documentapi.messagebus.protocol.DocumentProtocol; import org.junit.Test; @@ -23,7 +24,7 @@ public class VisitorParametersTestCase { params.setRoute("extraterrestrial/highway"); params.setTimeoutMs(1337); params.setMaxPending(111); - params.setFieldSet("[all]"); + params.setFieldSet(AllFields.NAME); params.setLoadType(loadType); params.setVisitRemoves(true); params.setVisitInconsistentBuckets(true); @@ -59,7 +60,7 @@ public class VisitorParametersTestCase { assertEquals("extraterrestrial/highway", copy.getRoute().toString()); assertEquals(1337, copy.getTimeoutMs()); assertEquals(111, copy.getMaxPending()); - assertEquals("[all]", copy.getFieldSet()); + assertEquals(AllFields.NAME, copy.getFieldSet()); assertEquals(loadType, copy.getLoadType()); assertEquals(true, copy.getVisitRemoves()); assertEquals(true, copy.getVisitInconsistentBuckets()); diff --git a/documentapi/src/test/java/com/yahoo/documentapi/local/LocalDocumentApiTestCase.java b/documentapi/src/test/java/com/yahoo/documentapi/local/LocalDocumentApiTestCase.java index d1361e50973..69dc7c6da74 100644 --- a/documentapi/src/test/java/com/yahoo/documentapi/local/LocalDocumentApiTestCase.java +++ b/documentapi/src/test/java/com/yahoo/documentapi/local/LocalDocumentApiTestCase.java @@ -8,6 +8,7 @@ import com.yahoo.document.DocumentRemove; import com.yahoo.document.DocumentType; import com.yahoo.document.DocumentUpdate; import com.yahoo.document.datatypes.StringFieldValue; +import com.yahoo.document.fieldset.DocIdOnly; import com.yahoo.document.select.parser.ParseException; import com.yahoo.document.update.FieldUpdate; import com.yahoo.documentapi.AsyncParameters; @@ -183,7 +184,7 @@ public class LocalDocumentApiTestCase extends AbstractDocumentApiTestCase { ((StringFieldValue) doc3.getFieldValue("artist")).getString()); // Visit the documents again, retrieving none of the document fields - parameters.setFieldSet("[id]"); + parameters.setFieldSet(DocIdOnly.NAME); received.clear(); access.createVisitorSession(parameters).waitUntilDone(0); assertSame(VisitorControlHandler.CompletionCode.SUCCESS, diff --git a/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/PolicyTestCase.java b/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/PolicyTestCase.java index fb9cec88836..c054ec860ca 100755 --- a/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/PolicyTestCase.java +++ b/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/PolicyTestCase.java @@ -7,6 +7,7 @@ import com.yahoo.document.DocumentPut; import com.yahoo.document.DocumentTypeManager; import com.yahoo.document.DocumentTypeManagerConfigurer; import com.yahoo.document.DocumentUpdate; +import com.yahoo.document.fieldset.AllFields; import com.yahoo.documentapi.messagebus.protocol.ANDPolicy; import com.yahoo.documentapi.messagebus.protocol.DocumentProtocol; import com.yahoo.documentapi.messagebus.protocol.DocumentRouteSelectorPolicy; @@ -368,7 +369,7 @@ public class PolicyTestCase { PolicyTestFrame frame = new PolicyTestFrame(manager); frame.setHop(new HopSpec("test", getDocumentRouteSelectorRawConfig()) .addRecipient("foo").addRecipient("bar")); - frame.setMessage(new GetDocumentMessage(new DocumentId("id:ns:testdoc::yarn"), "[all]")); + frame.setMessage(new GetDocumentMessage(new DocumentId("id:ns:testdoc::yarn"), AllFields.NAME)); List<RoutingNode> selected = frame.select(2); for (int i = 0, len = selected.size(); i < len; ++i) { Document doc = null; diff --git a/documentapi/src/test/java/com/yahoo/documentapi/messagebus/test/MessageBusVisitorSessionTestCase.java b/documentapi/src/test/java/com/yahoo/documentapi/messagebus/test/MessageBusVisitorSessionTestCase.java index 017ef39d365..35e0c21f93f 100755 --- a/documentapi/src/test/java/com/yahoo/documentapi/messagebus/test/MessageBusVisitorSessionTestCase.java +++ b/documentapi/src/test/java/com/yahoo/documentapi/messagebus/test/MessageBusVisitorSessionTestCase.java @@ -3,6 +3,8 @@ package com.yahoo.documentapi.messagebus.test; import com.yahoo.document.BucketId; import com.yahoo.document.DocumentId; +import com.yahoo.document.fieldset.AllFields; +import com.yahoo.document.fieldset.DocIdOnly; import com.yahoo.document.select.parser.ParseException; import com.yahoo.documentapi.*; import com.yahoo.documentapi.messagebus.MessageBusVisitorSession; @@ -472,7 +474,7 @@ public class MessageBusVisitorSessionTestCase { if (msg.getMaxPendingReplyCount() != 32) { sb.append("max pending=").append(msg.getMaxPendingReplyCount()).append("\n"); } - if (!"[all]".equals(msg.getFieldSet())) { + if (!AllFields.NAME.equals(msg.getFieldSet())) { sb.append("fieldset=").append(msg.getFieldSet()).append("\n"); } if (msg.getVisitInconsistentBuckets()) { @@ -712,7 +714,7 @@ public class MessageBusVisitorSessionTestCase { params.setRoute("extraterrestrial/highway"); params.setTimeoutMs(1337); params.setMaxPending(111); - params.setFieldSet("[id]"); + params.setFieldSet(DocIdOnly.NAME); params.setLoadType(new LoadType(3, "samnmax", DocumentProtocol.Priority.HIGH_3)); params.setVisitRemoves(true); params.setVisitInconsistentBuckets(true); diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/OperationHandlerImpl.java b/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/OperationHandlerImpl.java index 8f0e70f554c..3d3a8fc52ad 100644 --- a/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/OperationHandlerImpl.java +++ b/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/OperationHandlerImpl.java @@ -6,6 +6,7 @@ import com.yahoo.document.DocumentId; import com.yahoo.document.DocumentRemove; import com.yahoo.document.FixedBucketSpaces; import com.yahoo.document.TestAndSetCondition; +import com.yahoo.document.fieldset.AllFields; import com.yahoo.document.json.JsonWriter; import com.yahoo.document.DocumentPut; import com.yahoo.documentapi.DocumentAccess; @@ -424,7 +425,7 @@ public class OperationHandlerImpl implements OperationHandler { // document types in which case we can't explicitly state a single document type. // This matches legacy /visit API and vespa-visit tool behavior. params.fieldSet(options.fieldSet.orElse( - restUri.isRootOnly() ? "[all]" : restUri.getDocumentType() + ":[document]")); + restUri.isRootOnly() ? AllFields.NAME : restUri.getDocumentType() + ":[document]")); params.setMaxBucketsPerVisitor(1); params.setMaxPending(32); params.setMaxFirstPassHits(1); diff --git a/vespaclient-container-plugin/src/test/java/com/yahoo/document/restapi/OperationHandlerImplTest.java b/vespaclient-container-plugin/src/test/java/com/yahoo/document/restapi/OperationHandlerImplTest.java index 91c52c4b98b..efb25f0e2b3 100644 --- a/vespaclient-container-plugin/src/test/java/com/yahoo/document/restapi/OperationHandlerImplTest.java +++ b/vespaclient-container-plugin/src/test/java/com/yahoo/document/restapi/OperationHandlerImplTest.java @@ -1,6 +1,7 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.document.restapi; +import com.yahoo.document.fieldset.AllFields; import com.yahoo.documentapi.DocumentAccess; import com.yahoo.documentapi.ProgressToken; import com.yahoo.documentapi.SyncParameters; @@ -419,7 +420,7 @@ public class OperationHandlerImplTest { @Test public void api_root_visiting_uses_all_fieldset_by_default() throws Exception { VisitorParameters parameters = generatedVisitParametersFrom(apiRootVisitUri(), "", optionsBuilder().cluster("foo").build()); - assertEquals("[all]", parameters.getFieldSet()); + assertEquals(AllFields.NAME, parameters.getFieldSet()); } @Test diff --git a/vespaclient-java/src/main/java/com/yahoo/vespaget/CommandLineOptions.java b/vespaclient-java/src/main/java/com/yahoo/vespaget/CommandLineOptions.java index 0bfdcbe75ff..b07c54399af 100644 --- a/vespaclient-java/src/main/java/com/yahoo/vespaget/CommandLineOptions.java +++ b/vespaclient-java/src/main/java/com/yahoo/vespaget/CommandLineOptions.java @@ -1,6 +1,8 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespaget; +import com.yahoo.document.fieldset.AllFields; +import com.yahoo.document.fieldset.DocIdOnly; import com.yahoo.documentapi.messagebus.protocol.DocumentProtocol; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; @@ -67,7 +69,7 @@ public class CommandLineOptions { options.addOption(Option.builder("f") .hasArg(true) - .desc("Retrieve the specified fields only (see https://docs.vespa.ai/documentation/documents.html#fieldsets) (default '[all]')") + .desc("Retrieve the specified fields only (see https://docs.vespa.ai/documentation/documents.html#fieldsets) (default '" + AllFields.NAME + "')") .longOpt(FIELDSET_OPTION) .argName("fieldset").build()); @@ -178,9 +180,9 @@ public class CommandLineOptions { } if (printIdsOnly) { - fieldSet = "[id]"; + fieldSet = DocIdOnly.NAME; } else if (fieldSet.isEmpty()) { - fieldSet = "[all]"; + fieldSet = AllFields.NAME; } if (!cluster.isEmpty() && !route.isEmpty()) { diff --git a/vespaclient-java/src/main/java/com/yahoo/vespavisit/VdsVisit.java b/vespaclient-java/src/main/java/com/yahoo/vespavisit/VdsVisit.java index 83199c76e5a..88eed9dfc59 100644 --- a/vespaclient-java/src/main/java/com/yahoo/vespavisit/VdsVisit.java +++ b/vespaclient-java/src/main/java/com/yahoo/vespavisit/VdsVisit.java @@ -2,6 +2,7 @@ package com.yahoo.vespavisit; import com.yahoo.document.FixedBucketSpaces; +import com.yahoo.document.fieldset.DocIdOnly; import com.yahoo.document.select.parser.ParseException; import com.yahoo.documentapi.ProgressToken; import com.yahoo.documentapi.VisitorControlHandler; @@ -479,7 +480,7 @@ public class VdsVisit { } if (line.hasOption("i")) { allParams.setPrintIdsOnly(true); - params.fieldSet("[id]"); + params.fieldSet(DocIdOnly.NAME); } if (line.hasOption("p")) { params.setResumeFileName(line.getOptionValue("p")); @@ -512,7 +513,7 @@ public class VdsVisit { if (line.hasOption("statistics")) { allParams.setStatisticsParts(line.getOptionValue("statistics")); - params.fieldSet("[id]"); + params.fieldSet(DocIdOnly.NAME); params.setVisitorLibrary("CountVisitor"); } diff --git a/vespaclient-java/src/test/java/com/yahoo/vespaget/CommandLineOptionsTest.java b/vespaclient-java/src/test/java/com/yahoo/vespaget/CommandLineOptionsTest.java index f52be3d47dd..20d12d3f55f 100644 --- a/vespaclient-java/src/test/java/com/yahoo/vespaget/CommandLineOptionsTest.java +++ b/vespaclient-java/src/test/java/com/yahoo/vespaget/CommandLineOptionsTest.java @@ -1,15 +1,24 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespaget; +import com.yahoo.document.fieldset.AllFields; +import com.yahoo.document.fieldset.DocIdOnly; import com.yahoo.documentapi.messagebus.protocol.DocumentProtocol; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; -import java.io.*; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.PrintStream; +import java.io.UnsupportedEncodingException; import java.util.Iterator; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; /** * Test class for {@link CommandLineOptions} @@ -45,7 +54,7 @@ public class CommandLineOptionsTest { assertFalse(params.help); assertFalse(params.documentIds.hasNext()); assertFalse(params.printIdsOnly); - assertEquals("[all]", params.fieldSet); + assertEquals(AllFields.NAME, params.fieldSet); assertEquals("default-get", params.route); assertTrue(params.cluster.isEmpty()); assertEquals("client", params.configId); @@ -92,7 +101,7 @@ public class CommandLineOptionsTest { public void testInvalidCombination3() { exception.expect(IllegalArgumentException.class); exception.expectMessage("Field set option can not be used in combination with print ids option."); - getParsedOptions("--printids", "--fieldset", "[all]"); + getParsedOptions("--printids", "--fieldset", AllFields.NAME); } @Test @@ -138,7 +147,7 @@ public class CommandLineOptionsTest { @Test public void testPrintids() { ClientParameters params = getParsedOptions("--printids"); - assertEquals("[id]", params.fieldSet); + assertEquals(DocIdOnly.NAME, params.fieldSet); } @Test diff --git a/vespaclient-java/src/test/java/com/yahoo/vespaget/DocumentRetrieverTest.java b/vespaclient-java/src/test/java/com/yahoo/vespaget/DocumentRetrieverTest.java index c662e2fed62..d8b5c267bf2 100644 --- a/vespaclient-java/src/test/java/com/yahoo/vespaget/DocumentRetrieverTest.java +++ b/vespaclient-java/src/test/java/com/yahoo/vespaget/DocumentRetrieverTest.java @@ -1,11 +1,11 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespaget; -import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.ObjectMapper; import com.yahoo.document.DataType; import com.yahoo.document.Document; import com.yahoo.document.DocumentId; +import com.yahoo.document.fieldset.AllFields; import com.yahoo.documentapi.messagebus.MessageBusDocumentAccess; import com.yahoo.documentapi.messagebus.MessageBusSyncSession; import com.yahoo.documentapi.messagebus.loadtypes.LoadType; @@ -96,7 +96,7 @@ public class DocumentRetrieverTest { .setCluster("") .setRoute("default") .setConfigId("client") - .setFieldSet("[all]") + .setFieldSet(AllFields.NAME) .setPrintIdsOnly(false) .setHelp(false) .setShowDocSize(false) @@ -180,7 +180,7 @@ public class DocumentRetrieverTest { } @Test - public void testJsonOutput() throws DocumentRetrieverException, JsonParseException, IOException { + public void testJsonOutput() throws DocumentRetrieverException, IOException { ClientParameters params = createParameters() .setDocumentIds(asIterator(DOC_ID_1, DOC_ID_2, DOC_ID_3)) .setJsonOutput(true) diff --git a/vespaclient-java/src/test/java/com/yahoo/vespavisit/VdsVisitTestCase.java b/vespaclient-java/src/test/java/com/yahoo/vespavisit/VdsVisitTestCase.java index d9efe2c5129..4c8fbb1beee 100644 --- a/vespaclient-java/src/test/java/com/yahoo/vespavisit/VdsVisitTestCase.java +++ b/vespaclient-java/src/test/java/com/yahoo/vespavisit/VdsVisitTestCase.java @@ -1,6 +1,7 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespavisit; +import com.yahoo.document.fieldset.DocIdOnly; import com.yahoo.document.select.parser.ParseException; import com.yahoo.documentapi.*; import com.yahoo.documentapi.messagebus.protocol.DocumentProtocol; @@ -83,7 +84,7 @@ public class VdsVisitTestCase { assertNotNull(params); assertEquals(654321, allParams.getFullTimeout()); assertEquals(654321, params.getTimeoutMs()); - assertEquals("[id]", params.getFieldSet()); + assertEquals(DocIdOnly.NAME, params.getFieldSet()); } @Test @@ -98,7 +99,7 @@ public class VdsVisitTestCase { VisitorParameters params = allParams.getVisitorParameters(); assertNotNull(params); - assertEquals("[id]", params.getFieldSet()); + assertEquals(DocIdOnly.NAME, params.getFieldSet()); assertTrue(allParams.isPrintIdsOnly()); } @@ -295,7 +296,7 @@ public class VdsVisitTestCase { VisitorParameters params = allParams.getVisitorParameters(); assertNotNull(params); assertEquals("foo", allParams.getStatisticsParts()); - assertEquals("[id]", params.getFieldSet()); + assertEquals(DocIdOnly.NAME, params.getFieldSet()); assertEquals("CountVisitor", params.getVisitorLibrary()); } |