diff options
Diffstat (limited to 'searchsummary/src')
19 files changed, 97 insertions, 116 deletions
diff --git a/searchsummary/src/tests/docsummary/CMakeLists.txt b/searchsummary/src/tests/docsummary/CMakeLists.txt index 26a2963809a..4cd12eb4db6 100644 --- a/searchsummary/src/tests/docsummary/CMakeLists.txt +++ b/searchsummary/src/tests/docsummary/CMakeLists.txt @@ -4,5 +4,6 @@ vespa_add_executable(searchsummary_positionsdfw_test_app TEST positionsdfw_test.cpp DEPENDS searchsummary + GTest::GTest ) vespa_add_test(NAME searchsummary_positionsdfw_test_app COMMAND searchsummary_positionsdfw_test_app) diff --git a/searchsummary/src/tests/docsummary/positionsdfw_test.cpp b/searchsummary/src/tests/docsummary/positionsdfw_test.cpp index b4e82ed2aa8..f23bd2f0437 100644 --- a/searchsummary/src/tests/docsummary/positionsdfw_test.cpp +++ b/searchsummary/src/tests/docsummary/positionsdfw_test.cpp @@ -1,17 +1,16 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -// Unit tests for positionsdfw. +#include <vespa/juniper/rpinterface.h> #include <vespa/searchlib/attribute/extendableattributes.h> #include <vespa/searchlib/attribute/iattributemanager.h> #include <vespa/searchlib/common/matching_elements.h> #include <vespa/searchsummary/docsummary/docsum_field_writer.h> -#include <vespa/searchsummary/docsummary/positionsdfw.h> -#include <vespa/searchsummary/docsummary/idocsumenvironment.h> #include <vespa/searchsummary/docsummary/docsumstate.h> +#include <vespa/searchsummary/docsummary/idocsumenvironment.h> +#include <vespa/searchsummary/docsummary/positionsdfw.h> #include <vespa/searchsummary/test/slime_value.h> -#include <vespa/vespalib/testkit/testapp.h> #include <vespa/vespalib/data/slime/slime.h> -#include <vespa/juniper/rpinterface.h> +#include <vespa/vespalib/gtest/gtest.h> #include <vespa/log/log.h> LOG_SETUP("positionsdfw_test"); @@ -29,33 +28,6 @@ namespace search::docsummary { namespace { -class Test : public vespalib::TestApp { - void requireThat2DPositionFieldIsWritten(); - -public: - int Main() override; -}; - -int -Test::Main() -{ - TEST_INIT("positionsdfw_test"); - - TEST_DO(requireThat2DPositionFieldIsWritten()); - - TEST_DONE(); -} - -struct MyEnvironment : IDocsumEnvironment { - IAttributeManager *attribute_man; - - MyEnvironment() : attribute_man(0) {} - - const IAttributeManager *getAttributeManager() const override { return attribute_man; } - string lookupIndex(const string &s) const override { return s; } - const juniper::Juniper *getJuniper() const override { return nullptr; } -}; - class MyAttributeContext : public IAttributeContext { const IAttributeVector &_attr; public: @@ -141,10 +113,13 @@ void checkWritePositionField(AttrType &attr, writer->insertField(doc_id, state, inserter); test::SlimeValue expected(expect_json); - EXPECT_EQUAL(expected.slime, target); + EXPECT_EQ(expected.slime, target); } -void Test::requireThat2DPositionFieldIsWritten() { +} // namespace + +TEST(PositionsDFWTest, require_that_2D_position_field_is_written) +{ SingleInt64ExtAttribute attr("foo"); checkWritePositionField(attr, 0x3e, "{x:6,y:7,latlong:'N0.000007;E0.000006'}"); checkWritePositionField(attr, 007, "{x:-1,y:-1,latlong:'S0.000001;W0.000001'}"); @@ -153,7 +128,6 @@ void Test::requireThat2DPositionFieldIsWritten() { checkWritePositionField(attr, 42, "null"); } -} // namespace } -TEST_APPHOOK(search::docsummary::Test); +GTEST_MAIN_RUN_ALL_TESTS() diff --git a/searchsummary/src/tests/docsummary/slime_summary/CMakeLists.txt b/searchsummary/src/tests/docsummary/slime_summary/CMakeLists.txt index 344a33952d6..26456dae395 100644 --- a/searchsummary/src/tests/docsummary/slime_summary/CMakeLists.txt +++ b/searchsummary/src/tests/docsummary/slime_summary/CMakeLists.txt @@ -4,5 +4,6 @@ vespa_add_executable(searchsummary_slime_summary_test_app TEST slime_summary_test.cpp DEPENDS searchsummary + GTest::GTest ) vespa_add_test(NAME searchsummary_slime_summary_test_app COMMAND searchsummary_slime_summary_test_app) diff --git a/searchsummary/src/tests/docsummary/slime_summary/slime_summary_test.cpp b/searchsummary/src/tests/docsummary/slime_summary/slime_summary_test.cpp index 5f2f1578f66..fa53cf202ff 100644 --- a/searchsummary/src/tests/docsummary/slime_summary/slime_summary_test.cpp +++ b/searchsummary/src/tests/docsummary/slime_summary/slime_summary_test.cpp @@ -1,8 +1,9 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + #include <vespa/document/base/documentid.h> #include <vespa/document/datatype/documenttype.h> -#include <vespa/document/fieldvalue/document.h> #include <vespa/document/fieldvalue/bytefieldvalue.h> +#include <vespa/document/fieldvalue/document.h> #include <vespa/document/fieldvalue/doublefieldvalue.h> #include <vespa/document/fieldvalue/floatfieldvalue.h> #include <vespa/document/fieldvalue/intfieldvalue.h> @@ -10,14 +11,14 @@ #include <vespa/document/fieldvalue/rawfieldvalue.h> #include <vespa/document/fieldvalue/shortfieldvalue.h> #include <vespa/document/fieldvalue/stringfieldvalue.h> -#include <vespa/vespalib/testkit/test_kit.h> #include <vespa/searchlib/common/matching_elements.h> -#include <vespa/searchsummary/docsummary/docsumwriter.h> +#include <vespa/searchsummary/docsummary/docsum_store_document.h> #include <vespa/searchsummary/docsummary/docsumstate.h> +#include <vespa/searchsummary/docsummary/docsumwriter.h> #include <vespa/searchsummary/docsummary/keywordextractor.h> -#include <vespa/searchsummary/docsummary/docsum_store_document.h> #include <vespa/vespalib/data/slime/slime.h> #include <vespa/vespalib/data/smart_buffer.h> +#include <vespa/vespalib/gtest/gtest.h> #include <vespa/vespalib/util/size_literals.h> using namespace vespalib::slime::convenience; @@ -42,15 +43,15 @@ using document::StructFieldValue; namespace { -struct DocsumFixture : IDocsumStore, GetDocsumsStateCallback { +struct SlimeSummaryTest : testing::Test, IDocsumStore, GetDocsumsStateCallback { std::unique_ptr<DynamicDocsumWriter> writer; StructDataType int_pair_type; DocumentType doc_type; GetDocsumsState state; bool fail_get_mapped_docsum; bool empty_get_mapped_docsum; - DocsumFixture(); - ~DocsumFixture() override; + SlimeSummaryTest(); + ~SlimeSummaryTest() override; void getDocsum(Slime &slime) { Slime slimeOut; SlimeInserter inserter(slimeOut); @@ -58,11 +59,11 @@ struct DocsumFixture : IDocsumStore, GetDocsumsStateCallback { writer->insertDocsum(rci, 1u, state, this, inserter); vespalib::SmartBuffer buf(4_Ki); BinaryFormat::encode(slimeOut, buf); - EXPECT_GREATER(BinaryFormat::decode(buf.obtain(), slime), 0u); + EXPECT_GT(BinaryFormat::decode(buf.obtain(), slime), 0u); } uint32_t getNumDocs() const override { return 2; } std::unique_ptr<const IDocsumStoreDocument> getMappedDocsum(uint32_t docid) override { - EXPECT_EQUAL(1u, docid); + EXPECT_EQ(1u, docid); if (fail_get_mapped_docsum) { return {}; } @@ -94,7 +95,7 @@ struct DocsumFixture : IDocsumStore, GetDocsumsStateCallback { }; -DocsumFixture::DocsumFixture() +SlimeSummaryTest::SlimeSummaryTest() : writer(), int_pair_type("int_pair"), doc_type("test"), @@ -132,49 +133,54 @@ DocsumFixture::DocsumFixture() doc_type.addField(Field("longdata_field", *DataType::RAW)); doc_type.addField(Field("int_pair_field", int_pair_type)); } -DocsumFixture::~DocsumFixture() = default; +SlimeSummaryTest::~SlimeSummaryTest() = default; } // namespace <unnamed> -TEST_FF("require that docsum can be written as slime", DocsumFixture(), Slime()) { - f1.getDocsum(f2); - EXPECT_EQUAL(f2.get()["int_field"].asLong(), 4u); - EXPECT_EQUAL(f2.get()["short_field"].asLong(), 2u); - EXPECT_EQUAL(f2.get()["byte_field"].asLong(), 1u); - EXPECT_EQUAL(f2.get()["float_field"].asDouble(), 4.5); - EXPECT_EQUAL(f2.get()["double_field"].asDouble(), 8.75); - EXPECT_EQUAL(f2.get()["int64_field"].asLong(), 8u); - EXPECT_EQUAL(f2.get()["string_field"].asString().make_string(), std::string("string")); - EXPECT_EQUAL(f2.get()["data_field"].asData().make_string(), std::string("data")); - EXPECT_EQUAL(f2.get()["longstring_field"].asString().make_string(), std::string("long_string")); - EXPECT_EQUAL(f2.get()["longdata_field"].asData().make_string(), std::string("long_data")); - EXPECT_EQUAL(f2.get()["int_pair_field"]["foo"].asLong(), 1u); - EXPECT_EQUAL(f2.get()["int_pair_field"]["bar"].asLong(), 2u); +TEST_F(SlimeSummaryTest, docsum_can_be_written_as_slime) +{ + Slime s; + getDocsum(s); + EXPECT_EQ(s.get()["int_field"].asLong(), 4u); + EXPECT_EQ(s.get()["short_field"].asLong(), 2u); + EXPECT_EQ(s.get()["byte_field"].asLong(), 1u); + EXPECT_EQ(s.get()["float_field"].asDouble(), 4.5); + EXPECT_EQ(s.get()["double_field"].asDouble(), 8.75); + EXPECT_EQ(s.get()["int64_field"].asLong(), 8u); + EXPECT_EQ(s.get()["string_field"].asString().make_string(), std::string("string")); + EXPECT_EQ(s.get()["data_field"].asData().make_string(), std::string("data")); + EXPECT_EQ(s.get()["longstring_field"].asString().make_string(), std::string("long_string")); + EXPECT_EQ(s.get()["longdata_field"].asData().make_string(), std::string("long_data")); + EXPECT_EQ(s.get()["int_pair_field"]["foo"].asLong(), 1u); + EXPECT_EQ(s.get()["int_pair_field"]["bar"].asLong(), 2u); } -TEST_FF("require that unknown summary class gives empty slime", DocsumFixture(), Slime()) +TEST_F(SlimeSummaryTest, unknown_summary_class_gives_empty_slime) { - f1.state._args.setResultClassName("unknown"); - f1.getDocsum(f2); - EXPECT_TRUE(f2.get().valid()); - EXPECT_EQUAL(vespalib::slime::NIX::ID, f2.get().type().getId()); + state._args.setResultClassName("unknown"); + Slime s; + getDocsum(s); + EXPECT_TRUE(s.get().valid()); + EXPECT_EQ(vespalib::slime::NIX::ID, s.get().type().getId()); } -TEST_FF("require that failure to retrieve docsum store document gives empty slime", DocsumFixture(), Slime()) +TEST_F(SlimeSummaryTest, failure_to_retrieve_docsum_store_document_gives_empty_slime) { - f1.fail_get_mapped_docsum = true; - f1.getDocsum(f2); - EXPECT_TRUE(f2.get().valid()); - EXPECT_EQUAL(vespalib::slime::NIX::ID, f2.get().type().getId()); + fail_get_mapped_docsum = true; + Slime s; + getDocsum(s); + EXPECT_TRUE(s.get().valid()); + EXPECT_EQ(vespalib::slime::NIX::ID, s.get().type().getId()); } -TEST_FF("require that empty docsum store document gives empty object", DocsumFixture(), Slime()) +TEST_F(SlimeSummaryTest, empty_docsum_store_document_gives_empty_object) { - f1.empty_get_mapped_docsum = true; - f1.getDocsum(f2); - EXPECT_TRUE(f2.get().valid()); - EXPECT_EQUAL(vespalib::slime::OBJECT::ID, f2.get().type().getId()); - EXPECT_EQUAL(0u, f2.get().fields()); + empty_get_mapped_docsum = true; + Slime s; + getDocsum(s); + EXPECT_TRUE(s.get().valid()); + EXPECT_EQ(vespalib::slime::OBJECT::ID, s.get().type().getId()); + EXPECT_EQ(0u, s.get().fields()); } -TEST_MAIN() { TEST_RUN_ALL(); } +GTEST_MAIN_RUN_ALL_TESTS() diff --git a/searchsummary/src/vespa/searchsummary/docsummary/annotation_converter.cpp b/searchsummary/src/vespa/searchsummary/docsummary/annotation_converter.cpp index ec7740b371d..b36a2f8383e 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/annotation_converter.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/annotation_converter.cpp @@ -13,8 +13,8 @@ #include <vespa/vespalib/util/exceptions.h> #include <utility> -using document::Annotation; using document::AlternateSpanList; +using document::Annotation; using document::FieldValue; using document::SimpleSpanList; using document::Span; @@ -125,8 +125,8 @@ AnnotationConverter::handleIndexingTerms(const StringFieldValue& value) { StringFieldValue::SpanTrees trees = value.getSpanTrees(); const SpanTree *tree = StringFieldValue::findTree(trees, linguistics::SPANTREE_NAME); - typedef std::pair<Span, const FieldValue *> SpanTerm; - typedef std::vector<SpanTerm> SpanTermVector; + using SpanTerm = std::pair<Span, const FieldValue *>; + using SpanTermVector = std::vector<SpanTerm>; if (!tree) { // Treat a string without annotations as a single span. SpanTerm str(Span(0, _text.size()), @@ -137,7 +137,7 @@ AnnotationConverter::handleIndexingTerms(const StringFieldValue& value) SpanTermVector terms; for (const Annotation& annotation : *tree) { // For now, skip any composite spans. - const Span *span = dynamic_cast<const Span*>(annotation.getSpanNode()); + const auto *span = dynamic_cast<const Span*>(annotation.getSpanNode()); if ((span != nullptr) && annotation.valid() && (annotation.getType() == *linguistics::TERM)) { terms.push_back(std::make_pair(getSpan(*span), diff --git a/searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.cpp index 1ec95a58c00..889169f8888 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.cpp @@ -41,7 +41,7 @@ AttributeCombinerDFW::create(const vespalib::string &fieldName, IAttributeContex { StructFieldsResolver structFields(fieldName, attrCtx, true); if (structFields.has_error()) { - return std::unique_ptr<DocsumFieldWriter>(); + return {}; } else if (structFields.is_map_of_struct()) { return std::make_unique<StructMapAttributeCombinerDFW>(fieldName, structFields, filter_elements, std::move(matching_elems_fields)); } diff --git a/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp index 1dff340666e..74d67aabe88 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp @@ -25,12 +25,12 @@ using search::attribute::IAttributeContext; using search::attribute::IAttributeVector; using search::attribute::IMultiValueAttribute; using search::attribute::IMultiValueReadView; +using vespalib::Issue; using vespalib::Memory; +using vespalib::eval::Value; using vespalib::slime::Cursor; using vespalib::slime::Inserter; using vespalib::slime::Symbol; -using vespalib::eval::Value; -using vespalib::Issue; namespace search::docsummary { @@ -347,7 +347,7 @@ AttributeDFWFactory::create(const IAttributeManager& attr_mgr, const auto* attr = ctx->getAttribute(attr_name); if (attr == nullptr) { Issue::report("No valid attribute vector found: '%s'", attr_name.c_str()); - return std::unique_ptr<DocsumFieldWriter>(); + return {}; } if (attr->hasMultiValue()) { return create_multi_writer(*attr, filter_elements, std::move(matching_elems_fields)); diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumstore.h b/searchsummary/src/vespa/searchsummary/docsummary/docsumstore.h index b112b7ab0bf..7f3a88b05eb 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/docsumstore.h +++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumstore.h @@ -15,10 +15,7 @@ class IDocsumStoreDocument; class IDocsumStore { public: - /** - * Convenience typedef. - */ - typedef std::unique_ptr<IDocsumStore> UP; + using UP = std::unique_ptr<IDocsumStore>; /** * Destructor. No cleanup needed for base class. diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp b/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp index bf35d6131e5..b4b663718bd 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp @@ -14,8 +14,8 @@ LOG_SETUP(".searchlib.docsummary.docsumwriter"); using vespalib::Issue; -using vespalib::slime::ObjectInserter; using vespalib::Memory; +using vespalib::slime::ObjectInserter; namespace search::docsummary { @@ -77,7 +77,9 @@ DynamicDocsumWriter::insertDocsum(const ResolveClassInfo & rci, uint32_t docid, vespalib::slime::Cursor & docsum = topInserter.insertObject(); for (uint32_t i = 0; i < rci.outputClass->GetNumEntries(); ++i) { const ResConfigEntry *outCfg = rci.outputClass->GetEntry(i); - if ( ! state._args.needField(outCfg->_name)) continue; + if (!state._args.needField(outCfg->_name)) { + continue; + } const DocsumFieldWriter *writer = outCfg->_docsum_field_writer.get(); const Memory field_name(outCfg->_name.data(), outCfg->_name.size()); ObjectInserter inserter(docsum, field_name); diff --git a/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.cpp index 4cd79bd8351..6d668561651 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.cpp @@ -104,21 +104,20 @@ GeoPositionDFW::create(const char *attribute_name, const IAttributeManager *attribute_manager, bool useV8geoPositions) { - GeoPositionDFW::UP ret; if (attribute_manager != nullptr) { if (!attribute_name) { LOG(warning, "create: missing attribute name '%p'", attribute_name); - return ret; + return {}; } IAttributeContext::UP context = attribute_manager->createContext(); if (!context.get()) { LOG(warning, "create: could not create context from attribute manager"); - return ret; + return {}; } const IAttributeVector *attribute = context->getAttribute(attribute_name); if (!attribute) { Issue::report("GeoPositionDFW::create: could not get attribute '%s' from context", attribute_name); - return ret; + return {}; } } return std::make_unique<GeoPositionDFW>(attribute_name, useV8geoPositions); diff --git a/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.h b/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.h index 31dfc9ceef4..6e470d479ff 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.h +++ b/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.h @@ -14,7 +14,7 @@ class GeoPositionDFW : public AttrDFW private: bool _useV8geoPositions; public: - typedef std::unique_ptr<GeoPositionDFW> UP; + using UP = std::unique_ptr<GeoPositionDFW>; GeoPositionDFW(const vespalib::string & attrName, bool useV8geoPositions); void insertField(uint32_t docid, GetDocsumsState& state, vespalib::slime::Inserter &target) const override; static UP create(const char *attribute_name, const IAttributeManager *attribute_manager, bool useV8geoPositions); diff --git a/searchsummary/src/vespa/searchsummary/docsummary/juniper_query_adapter.cpp b/searchsummary/src/vespa/searchsummary/docsummary/juniper_query_adapter.cpp index 814fe0aafe4..a13f65db5ce 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/juniper_query_adapter.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/juniper_query_adapter.cpp @@ -27,8 +27,9 @@ JuniperQueryAdapter::SkipItem(search::SimpleQueryStackDumpIterator *iterator) co uint32_t skipCount = iterator->getArity(); while (skipCount > 0) { - if (!iterator->next()) + if (!iterator->next()) { return false; // stack too small + } skipCount = skipCount - 1 + iterator->getArity(); } return true; diff --git a/searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.cpp b/searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.cpp index 0256965e7f4..e8ff3068a4c 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.cpp @@ -100,8 +100,9 @@ KeywordExtractor::GetLegalIndexSpec() } for (const auto & index : _legalIndexes) { - if (!spec.empty()) + if (!spec.empty()) { spec.append(';'); + } spec.append(index); } return spec; diff --git a/searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.h b/searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.h index 5f87de762f9..9d46f0c8d89 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.h +++ b/searchsummary/src/vespa/searchsummary/docsummary/keywordextractor.h @@ -23,7 +23,7 @@ public: }; private: - typedef vespalib::hash_set<vespalib::string> Set; + using Set = vespalib::hash_set<vespalib::string>; const IDocsumEnvironment *_env; std::vector<IndexPrefix> _legalPrefixes; Set _legalIndexes; diff --git a/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp index 4d381f940ae..1a029cfd16f 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp @@ -54,7 +54,7 @@ MatchedElementsFilterDFW::create(const std::string& input_field_name, { StructFieldsResolver resolver(input_field_name, attr_ctx, false); if (resolver.has_error()) { - return std::unique_ptr<DocsumFieldWriter>(); + return {}; } resolver.apply_to(*matching_elems_fields); return std::make_unique<MatchedElementsFilterDFW>(input_field_name, std::move(matching_elems_fields)); diff --git a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp index 02696c7b27a..5aba321b540 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp @@ -26,12 +26,12 @@ double to_degrees(int32_t microDegrees) { } +using search::attribute::BasicType; using search::attribute::IAttributeContext; using search::attribute::IAttributeVector; -using search::attribute::BasicType; using search::attribute::IntegerContent; -using search::common::Location; using search::common::GeoGcd; +using search::common::Location; LocationAttrDFW::AllLocations LocationAttrDFW::getAllLocations(GetDocsumsState& state) const @@ -232,21 +232,20 @@ PositionsDFW::insertField(uint32_t docid, GetDocsumsState& dsState, vespalib::sl //-------------------------------------------------------------------------- PositionsDFW::UP PositionsDFW::create(const char *attribute_name, const IAttributeManager *attribute_manager, bool useV8geoPositions) { - PositionsDFW::UP ret; if (attribute_manager != nullptr) { if (!attribute_name) { LOG(debug, "createPositionsDFW: missing attribute name '%p'", attribute_name); - return ret; + return {}; } IAttributeContext::UP context = attribute_manager->createContext(); if (!context.get()) { LOG(debug, "createPositionsDFW: could not create context from attribute manager"); - return ret; + return {}; } const IAttributeVector *attribute = context->getAttribute(attribute_name); if (!attribute) { LOG(debug, "createPositionsDFW: could not get attribute '%s' from context", attribute_name); - return ret; + return {}; } } return std::make_unique<PositionsDFW>(attribute_name, useV8geoPositions); @@ -254,21 +253,20 @@ PositionsDFW::UP PositionsDFW::create(const char *attribute_name, const IAttribu std::unique_ptr<DocsumFieldWriter> AbsDistanceDFW::create(const char *attribute_name, const IAttributeManager *attribute_manager) { - std::unique_ptr<DocsumFieldWriter> ret; if (attribute_manager != nullptr) { if (!attribute_name) { LOG(debug, "createAbsDistanceDFW: missing attribute name '%p'", attribute_name); - return ret; + return {}; } IAttributeContext::UP context = attribute_manager->createContext(); if (!context.get()) { LOG(debug, "createAbsDistanceDFW: could not create context from attribute manager"); - return ret; + return {}; } const IAttributeVector *attribute = context->getAttribute(attribute_name); if (!attribute) { LOG(debug, "createAbsDistanceDFW: could not get attribute '%s' from context", attribute_name); - return ret; + return {}; } } return std::make_unique<AbsDistanceDFW>(attribute_name); diff --git a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h index d388b4d545f..5ac5f0fe051 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h +++ b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h @@ -57,7 +57,7 @@ class PositionsDFW : public AttrDFW private: bool _useV8geoPositions; public: - typedef std::unique_ptr<PositionsDFW> UP; + using UP = std::unique_ptr<PositionsDFW>; PositionsDFW(const vespalib::string & attrName, bool useV8geoPositions); bool IsGenerated() const override { return true; } void insertField(uint32_t docid, GetDocsumsState& state, vespalib::slime::Inserter &target) const override; diff --git a/searchsummary/src/vespa/searchsummary/docsummary/resultclass.cpp b/searchsummary/src/vespa/searchsummary/docsummary/resultclass.cpp index 781cd62a818..d19a111080f 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/resultclass.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/resultclass.cpp @@ -23,15 +23,16 @@ ResultClass::~ResultClass() = default; int ResultClass::GetIndexFromName(const char* name) const { - NameIdMap::const_iterator found(_nameMap.find(name)); + auto found = _nameMap.find(name); return (found != _nameMap.end()) ? found->second : -1; } bool ResultClass::AddConfigEntry(const char *name, ResType type, std::unique_ptr<DocsumFieldWriter> docsum_field_writer) { - if (_nameMap.find(name) != _nameMap.end()) + if (_nameMap.find(name) != _nameMap.end()) { return false; + } _nameMap[name] = _entries.size(); ResConfigEntry e; diff --git a/searchsummary/src/vespa/searchsummary/docsummary/resultconfig.cpp b/searchsummary/src/vespa/searchsummary/docsummary/resultconfig.cpp index 77714ddd98f..65b11a2b66f 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/resultconfig.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/resultconfig.cpp @@ -70,14 +70,14 @@ ResultConfig::set_default_result_class_id(uint32_t id) const ResultClass* ResultConfig::LookupResultClass(uint32_t id) const { - IdMap::const_iterator it(_classLookup.find(id)); + auto it = _classLookup.find(id); return (it != _classLookup.end()) ? it->second.get() : nullptr; } uint32_t ResultConfig::LookupResultClassId(const vespalib::string &name) const { - NameMap::const_iterator found(_nameLookup.find(name)); + auto found = _nameLookup.find(name); return (found != _nameLookup.end()) ? found->second : ((name.empty() || (name == "default")) ? _defaultSummaryId : NoClassID()); } |