summaryrefslogtreecommitdiffstats
path: root/streamingvisitors
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2022-09-12 14:20:07 +0200
committerTor Egge <Tor.Egge@online.no>2022-09-12 14:20:07 +0200
commit3a2b527c645d3cb858bbe5f7f9b812e947e7cdce (patch)
treec50d6b7f8c7e5998e147a032d2ddac66c883a759 /streamingvisitors
parent5dc2018a6c910e94b44e415fadebda3f95267130 (diff)
Add callback interface for rendering string field value via juniper.
Diffstat (limited to 'streamingvisitors')
-rw-r--r--streamingvisitors/src/vespa/vsm/vsm/docsumfilter.cpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/streamingvisitors/src/vespa/vsm/vsm/docsumfilter.cpp b/streamingvisitors/src/vespa/vsm/vsm/docsumfilter.cpp
index a5f49616d83..32a9da08a51 100644
--- a/streamingvisitors/src/vespa/vsm/vsm/docsumfilter.cpp
+++ b/streamingvisitors/src/vespa/vsm/vsm/docsumfilter.cpp
@@ -45,8 +45,8 @@ public:
DocsumStoreVsmDocument(DocsumFilter& docsum_filter, const Document& vsm_document);
~DocsumStoreVsmDocument() override;
DocsumStoreFieldValue get_field_value(const vespalib::string& field_name) const override;
- JuniperInput get_juniper_input(const vespalib::string& field_name) const override;
void insert_summary_field(const vespalib::string& field_name, vespalib::slime::Inserter& inserter) const override;
+ void insert_juniper_field(const vespalib::string& field_name, vespalib::slime::Inserter& inserter, IJuniperConverter& converter) const override;
void insert_document_id(vespalib::slime::Inserter& inserter) const override;
};
@@ -84,13 +84,6 @@ DocsumStoreVsmDocument::get_field_value(const vespalib::string& field_name) cons
return {};
}
-JuniperInput
-DocsumStoreVsmDocument::get_juniper_input(const vespalib::string& field_name) const
-{
- // Markup for juniper has already been added due to FLATTENJUNIPER command in vsm summary config.
- return JuniperInput(get_field_value(field_name));
-}
-
void
DocsumStoreVsmDocument::insert_summary_field(const vespalib::string& field_name, vespalib::slime::Inserter& inserter) const
{
@@ -116,6 +109,16 @@ DocsumStoreVsmDocument::insert_summary_field(const vespalib::string& field_name,
}
void
+DocsumStoreVsmDocument::insert_juniper_field(const vespalib::string& field_name, vespalib::slime::Inserter& inserter, IJuniperConverter& converter) const
+{
+ // Markup for juniper has already been added due to FLATTENJUNIPER command in vsm summary config.
+ auto field_value = get_field_value(field_name);
+ if (field_value) {
+ SummaryFieldConverter::insert_juniper_field(*field_value, inserter, false, converter);
+ }
+}
+
+void
DocsumStoreVsmDocument::insert_document_id(vespalib::slime::Inserter& inserter) const
{
if (_document) {