summaryrefslogtreecommitdiffstats
path: root/searchsummary
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2022-08-30 16:10:13 +0200
committerTor Egge <Tor.Egge@online.no>2022-08-30 16:10:13 +0200
commitf51892ec335b49d56f097da12f1138f03a32891d (patch)
tree976969352cdaf702f7f50181a6e91b902add7ac1 /searchsummary
parent7d6ff13ac8bd0485d30ffd2a979fae3d5fa8d08c (diff)
Use reference to IDocsumEnvironemt instead of pointer.
Diffstat (limited to 'searchsummary')
-rw-r--r--searchsummary/src/tests/docsummary/matched_elements_filter/matched_elements_filter_test.cpp4
-rw-r--r--searchsummary/src/tests/docsummary/positionsdfw_test.cpp6
-rw-r--r--searchsummary/src/tests/docsummary/slime_summary/slime_summary_test.cpp4
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/attributedfw.h2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/docsum_field_writer_factory.cpp44
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/docsum_field_writer_factory.h7
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/docsumconfig.h6
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/docsumstate.h4
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.h4
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.cpp2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.h2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/idocsumenvironment.h4
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp4
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h4
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.cpp6
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.h5
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.cpp7
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.h5
-rw-r--r--searchsummary/src/vespa/searchsummary/test/mock_state_callback.h4
21 files changed, 62 insertions, 66 deletions
diff --git a/searchsummary/src/tests/docsummary/matched_elements_filter/matched_elements_filter_test.cpp b/searchsummary/src/tests/docsummary/matched_elements_filter/matched_elements_filter_test.cpp
index 28c0aad6c40..311a0e68a58 100644
--- a/searchsummary/src/tests/docsummary/matched_elements_filter/matched_elements_filter_test.cpp
+++ b/searchsummary/src/tests/docsummary/matched_elements_filter/matched_elements_filter_test.cpp
@@ -160,8 +160,8 @@ public:
{
}
~StateCallback() override;
- void FillSummaryFeatures(GetDocsumsState*, IDocsumEnvironment*) override {}
- void FillRankFeatures(GetDocsumsState*, IDocsumEnvironment*) override {}
+ void FillSummaryFeatures(GetDocsumsState&) override {}
+ void FillRankFeatures(GetDocsumsState&) override {}
std::unique_ptr<MatchingElements> fill_matching_elements(const MatchingElementsFields&) override {
auto result = std::make_unique<MatchingElements>();
result->add_matching_elements(doc_id, _field_name, _matching_elements);
diff --git a/searchsummary/src/tests/docsummary/positionsdfw_test.cpp b/searchsummary/src/tests/docsummary/positionsdfw_test.cpp
index 3531efe1798..0de84096e82 100644
--- a/searchsummary/src/tests/docsummary/positionsdfw_test.cpp
+++ b/searchsummary/src/tests/docsummary/positionsdfw_test.cpp
@@ -51,7 +51,7 @@ struct MyEnvironment : IDocsumEnvironment {
MyEnvironment() : attribute_man(0) {}
- IAttributeManager *getAttributeManager() override { return attribute_man; }
+ const IAttributeManager *getAttributeManager() const override { return attribute_man; }
string lookupIndex(const string &s) const override { return s; }
juniper::Juniper *getJuniper() override { return 0; }
};
@@ -106,8 +106,8 @@ public:
};
struct MyGetDocsumsStateCallback : GetDocsumsStateCallback {
- virtual void FillSummaryFeatures(GetDocsumsState *, IDocsumEnvironment *) override {}
- virtual void FillRankFeatures(GetDocsumsState *, IDocsumEnvironment *) override {}
+ virtual void FillSummaryFeatures(GetDocsumsState&) override {}
+ virtual void FillRankFeatures(GetDocsumsState&) override {}
std::unique_ptr<MatchingElements> fill_matching_elements(const MatchingElementsFields &) override { abort(); }
};
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 971f6101203..88c6cd974b9 100644
--- a/searchsummary/src/tests/docsummary/slime_summary/slime_summary_test.cpp
+++ b/searchsummary/src/tests/docsummary/slime_summary/slime_summary_test.cpp
@@ -79,8 +79,8 @@ struct DocsumFixture : IDocsumStore, GetDocsumsStateCallback {
}
return std::make_unique<DocsumStoreDocument>(std::move(doc));
}
- void FillSummaryFeatures(GetDocsumsState *, IDocsumEnvironment *) override { }
- void FillRankFeatures(GetDocsumsState *, IDocsumEnvironment *) override { }
+ void FillSummaryFeatures(GetDocsumsState&) override { }
+ void FillRankFeatures(GetDocsumsState&) override { }
std::unique_ptr<MatchingElements> fill_matching_elements(const search::MatchingElementsFields &) override { abort(); }
};
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp
index 285148951fa..60e3bd6d815 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp
@@ -364,7 +364,7 @@ create_multi_writer(const IAttributeVector& attr, bool filter_elements, std::sha
}
std::unique_ptr<DocsumFieldWriter>
-AttributeDFWFactory::create(IAttributeManager& attr_mgr,
+AttributeDFWFactory::create(const IAttributeManager& attr_mgr,
const vespalib::string& attr_name,
bool filter_elements,
std::shared_ptr<MatchingElementsFields> matching_elems_fields)
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.h b/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.h
index 88356ac783e..2b61803ebb3 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.h
@@ -18,7 +18,7 @@ namespace search::docsummary {
*/
class AttributeDFWFactory {
public:
- static std::unique_ptr<DocsumFieldWriter> create(IAttributeManager& attr_mgr,
+ static std::unique_ptr<DocsumFieldWriter> create(const IAttributeManager& attr_mgr,
const vespalib::string& attr_name,
bool filter_elements = false,
std::shared_ptr<MatchingElementsFields> matching_elems_fields = std::shared_ptr<MatchingElementsFields>());
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsum_field_writer_factory.cpp b/searchsummary/src/vespa/searchsummary/docsummary/docsum_field_writer_factory.cpp
index fdbf9cf169d..cebfac4c86d 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/docsum_field_writer_factory.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/docsum_field_writer_factory.cpp
@@ -19,7 +19,7 @@ using vespalib::IllegalArgumentException;
namespace search::docsummary {
-DocsumFieldWriterFactory::DocsumFieldWriterFactory(bool use_v8_geo_positions, IDocsumEnvironment* env)
+DocsumFieldWriterFactory::DocsumFieldWriterFactory(bool use_v8_geo_positions, IDocsumEnvironment& env)
: _use_v8_geo_positions(use_v8_geo_positions),
_env(env),
_matching_elems_fields(std::make_shared<MatchingElementsFields>())
@@ -28,6 +28,12 @@ DocsumFieldWriterFactory::DocsumFieldWriterFactory(bool use_v8_geo_positions, ID
DocsumFieldWriterFactory::~DocsumFieldWriterFactory() = default;
+bool
+DocsumFieldWriterFactory::has_attribute_manager() const noexcept
+{
+ return getEnvironment().getAttributeManager() != nullptr;
+}
+
std::unique_ptr<DocsumFieldWriter>
DocsumFieldWriterFactory::create_docsum_field_writer(const vespalib::string& fieldName, const vespalib::string& overrideName, const vespalib::string& argument, bool& rc)
{
@@ -35,7 +41,7 @@ DocsumFieldWriterFactory::create_docsum_field_writer(const vespalib::string& fie
std::unique_ptr<DocsumFieldWriter> fieldWriter;
if (overrideName == "dynamicteaser") {
if ( ! argument.empty() ) {
- auto fw = std::make_unique<DynamicTeaserDFW>(getEnvironment()->getJuniper());
+ auto fw = std::make_unique<DynamicTeaserDFW>(getEnvironment().getJuniper());
auto fw_ptr = fw.get();
fieldWriter = std::move(fw);
rc = fw_ptr->Init(fieldName.c_str(), argument);
@@ -43,10 +49,10 @@ DocsumFieldWriterFactory::create_docsum_field_writer(const vespalib::string& fie
throw IllegalArgumentException("Missing argument");
}
} else if (overrideName == "summaryfeatures") {
- fieldWriter = std::make_unique<SummaryFeaturesDFW>(getEnvironment());
+ fieldWriter = std::make_unique<SummaryFeaturesDFW>();
rc = true;
} else if (overrideName == "rankfeatures") {
- fieldWriter = std::make_unique<RankFeaturesDFW>(getEnvironment());
+ fieldWriter = std::make_unique<RankFeaturesDFW>();
rc = true;
} else if (overrideName == "empty") {
fieldWriter = std::make_unique<EmptyDFW>();
@@ -59,38 +65,38 @@ DocsumFieldWriterFactory::create_docsum_field_writer(const vespalib::string& fie
throw IllegalArgumentException("Missing argument");
}
} else if (overrideName == "absdist") {
- if (getEnvironment()) {
- fieldWriter = AbsDistanceDFW::create(argument.c_str(), getEnvironment()->getAttributeManager());
+ if (has_attribute_manager()) {
+ fieldWriter = AbsDistanceDFW::create(argument.c_str(), getEnvironment().getAttributeManager());
rc = static_cast<bool>(fieldWriter);
}
} else if (overrideName == "positions") {
- if (getEnvironment()) {
- fieldWriter = PositionsDFW::create(argument.c_str(), getEnvironment()->getAttributeManager(), _use_v8_geo_positions);
+ if (has_attribute_manager()) {
+ fieldWriter = PositionsDFW::create(argument.c_str(), getEnvironment().getAttributeManager(), _use_v8_geo_positions);
rc = static_cast<bool>(fieldWriter);
}
} else if (overrideName == "geopos") {
- if (getEnvironment()) {
- fieldWriter = GeoPositionDFW::create(argument.c_str(), getEnvironment()->getAttributeManager(), _use_v8_geo_positions);
+ if (has_attribute_manager()) {
+ fieldWriter = GeoPositionDFW::create(argument.c_str(), getEnvironment().getAttributeManager(), _use_v8_geo_positions);
rc = static_cast<bool>(fieldWriter);
}
} else if (overrideName == "attribute") {
- if (getEnvironment() && getEnvironment()->getAttributeManager()) {
- fieldWriter = AttributeDFWFactory::create(*getEnvironment()->getAttributeManager(), argument);
+ if (has_attribute_manager()) {
+ fieldWriter = AttributeDFWFactory::create(*getEnvironment().getAttributeManager(), argument);
rc = true; // Allow missing attribute vector
}
} else if (overrideName == "attributecombiner") {
- if (getEnvironment() && getEnvironment()->getAttributeManager()) {
- auto attr_ctx = getEnvironment()->getAttributeManager()->createContext();
+ if (has_attribute_manager()) {
+ auto attr_ctx = getEnvironment().getAttributeManager()->createContext();
const vespalib::string& source_field = argument.empty() ? fieldName : argument;
fieldWriter = AttributeCombinerDFW::create(source_field, *attr_ctx, false, std::shared_ptr<MatchingElementsFields>());
rc = static_cast<bool>(fieldWriter);
}
} else if (overrideName == "matchedattributeelementsfilter") {
const vespalib::string& source_field = argument.empty() ? fieldName : argument;
- if (getEnvironment() && getEnvironment()->getAttributeManager()) {
- auto attr_ctx = getEnvironment()->getAttributeManager()->createContext();
+ if (has_attribute_manager()) {
+ auto attr_ctx = getEnvironment().getAttributeManager()->createContext();
if (attr_ctx->getAttribute(source_field) != nullptr) {
- fieldWriter = AttributeDFWFactory::create(*getEnvironment()->getAttributeManager(), source_field, true, _matching_elems_fields);
+ fieldWriter = AttributeDFWFactory::create(*getEnvironment().getAttributeManager(), source_field, true, _matching_elems_fields);
} else {
fieldWriter = AttributeCombinerDFW::create(source_field, *attr_ctx, true, _matching_elems_fields);
}
@@ -98,8 +104,8 @@ DocsumFieldWriterFactory::create_docsum_field_writer(const vespalib::string& fie
}
} else if (overrideName == "matchedelementsfilter") {
const vespalib::string& source_field = argument.empty() ? fieldName : argument;
- if (getEnvironment() && getEnvironment()->getAttributeManager()) {
- auto attr_ctx = getEnvironment()->getAttributeManager()->createContext();
+ if (has_attribute_manager()) {
+ auto attr_ctx = getEnvironment().getAttributeManager()->createContext();
fieldWriter = MatchedElementsFilterDFW::create(source_field,*attr_ctx, _matching_elems_fields);
rc = static_cast<bool>(fieldWriter);
}
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsum_field_writer_factory.h b/searchsummary/src/vespa/searchsummary/docsummary/docsum_field_writer_factory.h
index 2725ca748bd..b4f28524eba 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/docsum_field_writer_factory.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/docsum_field_writer_factory.h
@@ -16,12 +16,13 @@ class IDocsumEnvironment;
class DocsumFieldWriterFactory : public IDocsumFieldWriterFactory
{
bool _use_v8_geo_positions;
- IDocsumEnvironment * _env;
+ IDocsumEnvironment& _env;
protected:
std::shared_ptr<MatchingElementsFields> _matching_elems_fields;
- IDocsumEnvironment * getEnvironment() { return _env; }
+ IDocsumEnvironment& getEnvironment() const noexcept { return _env; }
+ bool has_attribute_manager() const noexcept;
public:
- DocsumFieldWriterFactory(bool use_v8_geo_positions, IDocsumEnvironment* env);
+ DocsumFieldWriterFactory(bool use_v8_geo_positions, IDocsumEnvironment& env);
~DocsumFieldWriterFactory() override;
std::unique_ptr<DocsumFieldWriter> create_docsum_field_writer(const vespalib::string& fieldName, const vespalib::string& overrideName, const vespalib::string& argument, bool& rc) override;
};
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumconfig.h b/searchsummary/src/vespa/searchsummary/docsummary/docsumconfig.h
index f5a82b4f79b..40c4e134bbc 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/docsumconfig.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumconfig.h
@@ -16,7 +16,7 @@ class ResultConfig;
class DynamicDocsumConfig
{
public:
- DynamicDocsumConfig(IDocsumEnvironment * env, DynamicDocsumWriter * writer) :
+ DynamicDocsumConfig(IDocsumEnvironment& env, DynamicDocsumWriter * writer) :
_env(env),
_writer(writer)
{ }
@@ -24,12 +24,12 @@ public:
void configure(const vespa::config::search::SummarymapConfig &cfg);
protected:
using string = vespalib::string;
- IDocsumEnvironment * getEnvironment() { return _env; }
+ IDocsumEnvironment& getEnvironment() { return _env; }
const ResultConfig & getResultConfig() const;
virtual std::unique_ptr<IDocsumFieldWriterFactory> make_docsum_field_writer_factory();
private:
- IDocsumEnvironment * _env;
+ IDocsumEnvironment& _env;
DynamicDocsumWriter * _writer;
};
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumstate.h b/searchsummary/src/vespa/searchsummary/docsummary/docsumstate.h
index d3d09224f64..0ebcc20ef42 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/docsumstate.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumstate.h
@@ -32,8 +32,8 @@ class DocsumFieldWriterState;
class GetDocsumsStateCallback
{
public:
- virtual void FillSummaryFeatures(GetDocsumsState * state, IDocsumEnvironment * env) = 0;
- virtual void FillRankFeatures(GetDocsumsState * state, IDocsumEnvironment * env) = 0;
+ virtual void FillSummaryFeatures(GetDocsumsState& state) = 0;
+ virtual void FillRankFeatures(GetDocsumsState& state) = 0;
virtual std::unique_ptr<MatchingElements> fill_matching_elements(const MatchingElementsFields &matching_elems_fields) = 0;
virtual ~GetDocsumsStateCallback() = default;
GetDocsumsStateCallback(const GetDocsumsStateCallback &) = delete;
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp b/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp
index 28c55f1c2a6..d911ac562c2 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp
@@ -143,7 +143,7 @@ DynamicDocsumWriter::Override(const char *fieldName, std::unique_ptr<DocsumField
void
-DynamicDocsumWriter::InitState(IAttributeManager & attrMan, GetDocsumsState *state)
+DynamicDocsumWriter::InitState(const IAttributeManager & attrMan, GetDocsumsState *state)
{
state->_kwExtractor = _keywordExtractor.get();
state->_attrCtx = attrMan.createContext();
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.h b/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.h
index e8ef80663f9..ac0d461ab81 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.h
@@ -37,7 +37,7 @@ public:
};
virtual ~IDocsumWriter() = default;
- virtual void InitState(search::IAttributeManager & attrMan, GetDocsumsState *state) = 0;
+ virtual void InitState(const search::IAttributeManager & attrMan, GetDocsumsState *state) = 0;
virtual void WriteDocsum(uint32_t docid, GetDocsumsState *state,
IDocsumStore *docinfos, Inserter & target) = 0;
virtual void insertDocsum(const ResolveClassInfo & rci, uint32_t docid, GetDocsumsState *state,
@@ -67,7 +67,7 @@ public:
const ResultConfig *GetResultConfig() { return _resultConfig.get(); }
bool Override(const char *fieldName, std::unique_ptr<DocsumFieldWriter> writer);
- void InitState(search::IAttributeManager & attrMan, GetDocsumsState *state) override;
+ void InitState(const search::IAttributeManager & attrMan, GetDocsumsState *state) override;
void WriteDocsum(uint32_t docid, GetDocsumsState *state,
IDocsumStore *docinfos, Inserter & inserter) override;
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.cpp
index 975fd7f0a6a..474f329799b 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.cpp
@@ -101,7 +101,7 @@ GeoPositionDFW::insertField(uint32_t docid, GetDocsumsState * dsState, ResType,
GeoPositionDFW::UP
GeoPositionDFW::create(const char *attribute_name,
- IAttributeManager *attribute_manager,
+ const IAttributeManager *attribute_manager,
bool useV8geoPositions)
{
GeoPositionDFW::UP ret;
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.h b/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.h
index db43592c0b4..1bc8b523160 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.h
@@ -17,7 +17,7 @@ public:
typedef std::unique_ptr<GeoPositionDFW> UP;
GeoPositionDFW(const vespalib::string & attrName, bool useV8geoPositions);
void insertField(uint32_t docid, GetDocsumsState *state, ResType type, vespalib::slime::Inserter &target) const override;
- static UP create(const char *attribute_name, IAttributeManager *attribute_manager, bool useV8geoPositions);
+ static UP create(const char *attribute_name, const IAttributeManager *attribute_manager, bool useV8geoPositions);
};
}
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/idocsumenvironment.h b/searchsummary/src/vespa/searchsummary/docsummary/idocsumenvironment.h
index bc6a347590a..1e9f550ac6d 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/idocsumenvironment.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/idocsumenvironment.h
@@ -12,10 +12,10 @@ namespace search::docsummary {
**/
class IDocsumEnvironment {
public:
- virtual search::IAttributeManager * getAttributeManager() = 0;
+ virtual const search::IAttributeManager * getAttributeManager() const = 0;
virtual vespalib::string lookupIndex(const vespalib::string & s) const = 0;
virtual juniper::Juniper * getJuniper() = 0;
- virtual ~IDocsumEnvironment() {}
+ virtual ~IDocsumEnvironment() = default;
};
}
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp
index aa7db0e2745..1000fee8423 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp
@@ -252,7 +252,7 @@ PositionsDFW::insertField(uint32_t docid, GetDocsumsState * dsState, ResType typ
//--------------------------------------------------------------------------
-PositionsDFW::UP PositionsDFW::create(const char *attribute_name, IAttributeManager *attribute_manager, bool useV8geoPositions) {
+PositionsDFW::UP PositionsDFW::create(const char *attribute_name, const IAttributeManager *attribute_manager, bool useV8geoPositions) {
PositionsDFW::UP ret;
if (attribute_manager != nullptr) {
if (!attribute_name) {
@@ -274,7 +274,7 @@ PositionsDFW::UP PositionsDFW::create(const char *attribute_name, IAttributeMana
}
std::unique_ptr<DocsumFieldWriter>
-AbsDistanceDFW::create(const char *attribute_name, IAttributeManager *attribute_manager) {
+AbsDistanceDFW::create(const char *attribute_name, const IAttributeManager *attribute_manager) {
std::unique_ptr<DocsumFieldWriter> ret;
if (attribute_manager != nullptr) {
if (!attribute_name) {
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h
index c0d9d7d8111..d0a38d1004e 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h
@@ -46,7 +46,7 @@ public:
void insertField(uint32_t docid, GetDocsumsState *state,
ResType type, vespalib::slime::Inserter &target) const override;
- static std::unique_ptr<DocsumFieldWriter> create(const char *attribute_name, IAttributeManager *index_man);
+ static std::unique_ptr<DocsumFieldWriter> create(const char *attribute_name, const IAttributeManager *index_man);
};
@@ -61,7 +61,7 @@ public:
PositionsDFW(const vespalib::string & attrName, bool useV8geoPositions);
bool IsGenerated() const override { return true; }
void insertField(uint32_t docid, GetDocsumsState *state, ResType type, vespalib::slime::Inserter &target) const override;
- static UP create(const char *attribute_name, IAttributeManager *index_man, bool useV8geoPositions);
+ static UP create(const char *attribute_name, const IAttributeManager *index_man, bool useV8geoPositions);
};
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.cpp
index 5b08020c010..b7b10d9c1ea 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.cpp
@@ -7,9 +7,7 @@
namespace search::docsummary {
-RankFeaturesDFW::RankFeaturesDFW(IDocsumEnvironment * env) :
- _env(env)
-{ }
+RankFeaturesDFW::RankFeaturesDFW() = default;
RankFeaturesDFW::~RankFeaturesDFW() = default;
@@ -18,7 +16,7 @@ RankFeaturesDFW::insertField(uint32_t docid, GetDocsumsState *state,
ResType, vespalib::slime::Inserter &target) const
{
if ( !state->_rankFeatures ) {
- state->_callback.FillRankFeatures(state, _env);
+ state->_callback.FillRankFeatures(*state);
if (state->_rankFeatures.get() == nullptr) { // still no rank features to write
return;
}
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.h b/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.h
index d0516f9f0b7..023d5ad158f 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.h
@@ -10,11 +10,8 @@ class IDocsumEnvironment;
class RankFeaturesDFW : public SimpleDFW
{
-private:
- IDocsumEnvironment * _env;
-
public:
- RankFeaturesDFW(IDocsumEnvironment * env);
+ RankFeaturesDFW();
RankFeaturesDFW(const RankFeaturesDFW &) = delete;
RankFeaturesDFW & operator=(const RankFeaturesDFW &) = delete;
~RankFeaturesDFW() override;
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.cpp
index f5fc942e40c..76bae0cee97 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.cpp
@@ -11,10 +11,7 @@ LOG_SETUP(".searchlib.docsummary.summaryfeaturesdfw");
namespace search::docsummary {
-SummaryFeaturesDFW::SummaryFeaturesDFW(IDocsumEnvironment * env) :
- _env(env)
-{
-}
+SummaryFeaturesDFW::SummaryFeaturesDFW() = default;
SummaryFeaturesDFW::~SummaryFeaturesDFW() = default;
@@ -27,7 +24,7 @@ SummaryFeaturesDFW::insertField(uint32_t docid, GetDocsumsState *state, ResType,
return;
}
if ( ! state->_summaryFeatures) {
- state->_callback.FillSummaryFeatures(state, _env);
+ state->_callback.FillSummaryFeatures(*state);
if ( !state->_summaryFeatures) { // still no summary features to write
return;
}
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.h b/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.h
index 45d7f7fa641..fd1092f840a 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.h
@@ -10,11 +10,8 @@ class IDocsumEnvironment;
class SummaryFeaturesDFW : public SimpleDFW
{
-private:
- IDocsumEnvironment * _env;
-
public:
- SummaryFeaturesDFW(IDocsumEnvironment * env);
+ SummaryFeaturesDFW();
SummaryFeaturesDFW(const SummaryFeaturesDFW &) = delete;
SummaryFeaturesDFW & operator=(const SummaryFeaturesDFW &) = delete;
~SummaryFeaturesDFW() override;
diff --git a/searchsummary/src/vespa/searchsummary/test/mock_state_callback.h b/searchsummary/src/vespa/searchsummary/test/mock_state_callback.h
index df035fca685..71c2be19bba 100644
--- a/searchsummary/src/vespa/searchsummary/test/mock_state_callback.h
+++ b/searchsummary/src/vespa/searchsummary/test/mock_state_callback.h
@@ -16,8 +16,8 @@ public:
{
}
~MockStateCallback() override { }
- void FillSummaryFeatures(GetDocsumsState*, IDocsumEnvironment*) override { }
- void FillRankFeatures(GetDocsumsState*, IDocsumEnvironment*) override { }
+ void FillSummaryFeatures(GetDocsumsState&) override { }
+ void FillRankFeatures(GetDocsumsState&) override { }
std::unique_ptr<MatchingElements> fill_matching_elements(const search::MatchingElementsFields&) override {
return std::make_unique<MatchingElements>(_matching_elems);
}