summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--document/src/tests/documentupdatetestcase.cpp7
-rw-r--r--document/src/tests/serialization/vespadocumentserializer_test.cpp11
-rw-r--r--document/src/tests/tensor_fieldvalue/tensor_fieldvalue_test.cpp11
-rw-r--r--searchcore/src/tests/proton/attribute/attribute_test.cpp11
-rw-r--r--searchcore/src/tests/proton/common/attribute_updater/attribute_updater_test.cpp12
-rw-r--r--searchcore/src/tests/proton/docsummary/docsummary.cpp9
-rw-r--r--searchcore/src/tests/proton/docsummary/summaryfieldconverter_test.cpp9
-rw-r--r--searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp12
-rw-r--r--searchcore/src/tests/proton/matching/matching_test.cpp8
-rw-r--r--searchcore/src/tests/proton/matching/request_context/request_context_test.cpp15
-rw-r--r--searchcore/src/tests/proton/server/documentretriever_test.cpp13
-rw-r--r--searchlib/src/tests/attribute/imported_attribute_vector/imported_attribute_vector_test.cpp7
-rw-r--r--searchlib/src/tests/attribute/searchable/attributeblueprint_test.cpp7
-rw-r--r--searchlib/src/tests/attribute/tensorattribute/tensorattribute_test.cpp9
-rw-r--r--searchlib/src/tests/features/constant/constant_test.cpp10
-rw-r--r--searchlib/src/tests/features/imported_dot_product/imported_dot_product_test.cpp6
-rw-r--r--searchlib/src/tests/features/tensor/tensor_test.cpp36
-rw-r--r--searchlib/src/tests/features/tensor_from_labels/tensor_from_labels_test.cpp7
-rw-r--r--searchlib/src/tests/features/tensor_from_weighted_set/tensor_from_weighted_set_test.cpp6
-rw-r--r--searchlib/src/tests/queryeval/nearest_neighbor/nearest_neighbor_test.cpp7
-rw-r--r--searchlib/src/tests/tensor/dense_tensor_store/dense_tensor_store_test.cpp8
-rw-r--r--searchlib/src/tests/tensor/direct_tensor_store/direct_tensor_store_test.cpp7
-rw-r--r--streamingvisitors/src/tests/hitcollector/hitcollector_test.cpp15
23 files changed, 130 insertions, 113 deletions
diff --git a/document/src/tests/documentupdatetestcase.cpp b/document/src/tests/documentupdatetestcase.cpp
index b88a0437fc2..3faec14ea7b 100644
--- a/document/src/tests/documentupdatetestcase.cpp
+++ b/document/src/tests/documentupdatetestcase.cpp
@@ -21,7 +21,8 @@
#include <vespa/document/update/tensor_remove_update.h>
#include <vespa/document/update/valueupdate.h>
#include <vespa/document/util/bytebuffer.h>
-#include <vespa/eval/eval/engine_or_factory.h>
+#include <vespa/eval/eval/simple_value.h>
+#include <vespa/eval/eval/tensor_spec.h>
#include <vespa/eval/eval/value.h>
#include <vespa/eval/eval/test/value_compare.h>
#include <vespa/vespalib/objects/nbostream.h>
@@ -35,9 +36,9 @@
using namespace document::config_builder;
+using vespalib::eval::SimpleValue;
using vespalib::eval::TensorSpec;
using vespalib::eval::ValueType;
-using vespalib::eval::EngineOrFactory;
using vespalib::nbostream;
namespace document {
@@ -775,7 +776,7 @@ TEST(DocumentUpdateTest, testMapValueUpdate)
std::unique_ptr<vespalib::eval::Value>
makeTensor(const TensorSpec &spec)
{
- return EngineOrFactory::get().from_spec(spec);
+ return SimpleValue::from_spec(spec);
}
std::unique_ptr<TensorFieldValue>
diff --git a/document/src/tests/serialization/vespadocumentserializer_test.cpp b/document/src/tests/serialization/vespadocumentserializer_test.cpp
index 05f1e9251db..0c9dfaf2e56 100644
--- a/document/src/tests/serialization/vespadocumentserializer_test.cpp
+++ b/document/src/tests/serialization/vespadocumentserializer_test.cpp
@@ -36,8 +36,9 @@
#include <vespa/document/serialization/vespadocumentdeserializer.h>
#include <vespa/document/serialization/vespadocumentserializer.h>
#include <vespa/document/serialization/annotationserializer.h>
-#include <vespa/eval/eval/engine_or_factory.h>
#include <vespa/eval/eval/value.h>
+#include <vespa/eval/eval/simple_value.h>
+#include <vespa/eval/eval/tensor_spec.h>
#include <vespa/eval/eval/test/value_compare.h>
#include <vespa/vespalib/io/fileutil.h>
#include <vespa/vespalib/objects/nbostream.h>
@@ -51,7 +52,7 @@ using vespalib::nbostream;
using vespalib::nbostream_longlivedbuf;
using vespalib::slime::Cursor;
using vespalib::eval::TensorSpec;
-using vespalib::eval::EngineOrFactory;
+using vespalib::eval::SimpleValue;
using vespalib::compression::CompressionConfig;
using namespace document;
using std::string;
@@ -772,7 +773,7 @@ namespace
{
vespalib::eval::Value::UP createTensor(const TensorSpec &spec) {
- return EngineOrFactory::get().from_spec(spec);
+ return SimpleValue::from_spec(spec);
}
}
@@ -838,7 +839,7 @@ void checkDeserialization(const string &name, std::unique_ptr<vespalib::eval::Va
TensorDataType valueType(tensor ? tensor->type() : vespalib::eval::ValueType::error_type());
TensorFieldValue value(valueType);
if (tensor) {
- value = EngineOrFactory::get().copy(*tensor);
+ value = std::move(tensor);
}
serializeToFile(value, data_dir + name + "__cpp");
deserializeAndCheck(data_dir + name + "__cpp", value);
@@ -877,7 +878,7 @@ TensorDocFixture::TensorDocFixture(const DocumentTypeRepo &docTypeRepo,
_blob()
{
auto fv = _doc.getField(tensor_field_name).createValue();
- dynamic_cast<TensorFieldValue &>(*fv) = EngineOrFactory::get().copy(*_tensor);
+ dynamic_cast<TensorFieldValue &>(*fv) = SimpleValue::from_value(*_tensor);
_doc.setValue(tensor_field_name, *fv);
_doc.serialize(_blob);
}
diff --git a/document/src/tests/tensor_fieldvalue/tensor_fieldvalue_test.cpp b/document/src/tests/tensor_fieldvalue/tensor_fieldvalue_test.cpp
index 067cf4ac649..092190a427b 100644
--- a/document/src/tests/tensor_fieldvalue/tensor_fieldvalue_test.cpp
+++ b/document/src/tests/tensor_fieldvalue/tensor_fieldvalue_test.cpp
@@ -7,15 +7,16 @@ LOG_SETUP("fieldvalue_test");
#include <vespa/document/base/exceptions.h>
#include <vespa/document/datatype/tensor_data_type.h>
#include <vespa/document/fieldvalue/tensorfieldvalue.h>
-#include <vespa/eval/eval/engine_or_factory.h>
+#include <vespa/eval/eval/simple_value.h>
+#include <vespa/eval/eval/tensor_spec.h>
#include <vespa/eval/eval/value.h>
#include <vespa/vespalib/testkit/testapp.h>
using namespace document;
+using vespalib::eval::SimpleValue;
using vespalib::eval::TensorSpec;
using vespalib::eval::ValueType;
-using vespalib::eval::EngineOrFactory;
namespace
{
@@ -24,14 +25,14 @@ TensorDataType xSparseTensorDataType(ValueType::from_spec("tensor(x{})"));
TensorDataType xySparseTensorDataType(ValueType::from_spec("tensor(x{},y{})"));
vespalib::eval::Value::UP createTensor(const TensorSpec &spec) {
- return EngineOrFactory::get().from_spec(spec);
+ return SimpleValue::from_spec(spec);
}
std::unique_ptr<vespalib::eval::Value>
makeSimpleTensor()
{
- return EngineOrFactory::get().from_spec(TensorSpec("tensor(x{},y{})").
- add({{"x", "4"}, {"y", "5"}}, 7));
+ return SimpleValue::from_spec(TensorSpec("tensor(x{},y{})").
+ add({{"x", "4"}, {"y", "5"}}, 7));
}
FieldValue::UP clone(FieldValue &fv) {
diff --git a/searchcore/src/tests/proton/attribute/attribute_test.cpp b/searchcore/src/tests/proton/attribute/attribute_test.cpp
index c98127f4daf..8076e3d05e9 100644
--- a/searchcore/src/tests/proton/attribute/attribute_test.cpp
+++ b/searchcore/src/tests/proton/attribute/attribute_test.cpp
@@ -7,8 +7,9 @@
#include <vespa/document/update/arithmeticvalueupdate.h>
#include <vespa/document/update/assignvalueupdate.h>
#include <vespa/document/update/documentupdate.h>
-#include <vespa/eval/eval/engine_or_factory.h>
#include <vespa/eval/eval/value.h>
+#include <vespa/eval/eval/simple_value.h>
+#include <vespa/eval/eval/tensor_spec.h>
#include <vespa/eval/eval/test/value_compare.h>
#include <vespa/searchcommon/attribute/attributecontent.h>
#include <vespa/searchcommon/attribute/iattributevector.h>
@@ -82,7 +83,7 @@ using std::string;
using vespalib::ForegroundTaskExecutor;
using vespalib::ForegroundThreadExecutor;
using vespalib::SequencedTaskExecutorObserver;
-using vespalib::eval::EngineOrFactory;
+using vespalib::eval::SimpleValue;
using vespalib::eval::TensorSpec;
using vespalib::eval::Value;
using vespalib::eval::ValueType;
@@ -644,7 +645,7 @@ TEST_F(FilterAttributeManagerTest, readable_attribute_vector_filters_attributes)
namespace {
Value::UP make_tensor(const TensorSpec &spec) {
- return EngineOrFactory::get().from_spec(spec);
+ return SimpleValue::from_spec(spec);
}
const vespalib::string sparse_tensor = "tensor(x{},y{})";
@@ -668,7 +669,7 @@ Document::UP
createTensorPutDoc(DocBuilder &builder, const Value &tensor) {
return builder.startDocument("id:ns:searchdocument::1").
startAttributeField("a1").
- addTensor(EngineOrFactory::get().copy(tensor)).endField().endDocument();
+ addTensor(SimpleValue::from_value(tensor)).endField().endDocument();
}
}
@@ -712,7 +713,7 @@ TEST_F(AttributeWriterTest, handles_tensor_assign_update)
.add({{"x", "8"}, {"y", "9"}}, 11));
TensorDataType xySparseTensorDataType(vespalib::eval::ValueType::from_spec(sparse_tensor));
TensorFieldValue new_value(xySparseTensorDataType);
- new_value = EngineOrFactory::get().copy(*new_tensor);
+ new_value = SimpleValue::from_value(*new_tensor);
upd.addUpdate(FieldUpdate(upd.getType().getField("a1"))
.addUpdate(AssignValueUpdate(new_value)));
DummyFieldUpdateCallback onUpdate;
diff --git a/searchcore/src/tests/proton/common/attribute_updater/attribute_updater_test.cpp b/searchcore/src/tests/proton/common/attribute_updater/attribute_updater_test.cpp
index 5e6d8cf1659..c74c93a376a 100644
--- a/searchcore/src/tests/proton/common/attribute_updater/attribute_updater_test.cpp
+++ b/searchcore/src/tests/proton/common/attribute_updater/attribute_updater_test.cpp
@@ -22,8 +22,10 @@
#include <vespa/document/update/tensor_add_update.h>
#include <vespa/document/update/tensor_modify_update.h>
#include <vespa/document/update/tensor_remove_update.h>
-#include <vespa/eval/eval/engine_or_factory.h>
+#include <vespa/eval/eval/simple_value.h>
+#include <vespa/eval/eval/tensor_spec.h>
#include <vespa/eval/eval/value.h>
+#include <vespa/eval/eval/value_codec.h>
#include <vespa/searchcore/proton/common/attribute_updater.h>
#include <vespa/searchlib/attribute/attributefactory.h>
#include <vespa/searchlib/attribute/reference_attribute.h>
@@ -50,10 +52,10 @@ using search::tensor::ITensorAttribute;
using search::tensor::DenseTensorAttribute;
using search::tensor::SerializedTensorAttribute;
using search::tensor::TensorAttribute;
-using vespalib::eval::EngineOrFactory;
+using vespalib::eval::SimpleValue;
+using vespalib::eval::TensorSpec;
using vespalib::eval::Value;
using vespalib::eval::ValueType;
-using vespalib::eval::TensorSpec;
namespace search {
@@ -411,7 +413,7 @@ getTensorDataType(const vespalib::string &spec)
std::unique_ptr<Value>
makeTensor(const TensorSpec &spec)
{
- return EngineOrFactory::get().from_spec(spec);
+ return SimpleValue::from_spec(spec);
}
std::unique_ptr<TensorFieldValue>
@@ -441,7 +443,7 @@ struct TensorFixture : public Fixture {
}
void assertTensor(const TensorSpec &expSpec) {
- auto actual = EngineOrFactory::get().to_spec(*attribute->getTensor(1));
+ auto actual = spec_from_value(*attribute->getTensor(1));
EXPECT_EQUAL(expSpec, actual);
}
};
diff --git a/searchcore/src/tests/proton/docsummary/docsummary.cpp b/searchcore/src/tests/proton/docsummary/docsummary.cpp
index 04258b3989f..5741a844ded 100644
--- a/searchcore/src/tests/proton/docsummary/docsummary.cpp
+++ b/searchcore/src/tests/proton/docsummary/docsummary.cpp
@@ -2,7 +2,8 @@
#include <tests/proton/common/dummydbowner.h>
#include <vespa/config/helper/configgetter.hpp>
-#include <vespa/eval/eval/engine_or_factory.h>
+#include <vespa/eval/eval/simple_value.h>
+#include <vespa/eval/eval/tensor_spec.h>
#include <vespa/eval/eval/value.h>
#include <vespa/eval/eval/test/value_compare.h>
#include <vespa/document/repo/documenttyperepo.h>
@@ -59,7 +60,7 @@ using storage::spi::Timestamp;
using vespa::config::search::core::ProtonConfig;
using vespa::config::content::core::BucketspacesConfig;
using vespalib::eval::TensorSpec;
-using vespalib::eval::EngineOrFactory;
+using vespalib::eval::SimpleValue;
using namespace vespalib::slime;
typedef std::unique_ptr<GeneralResult> GeneralResultPtr;
@@ -139,7 +140,7 @@ getDocTypeName()
}
vespalib::eval::Value::UP make_tensor(const TensorSpec &spec) {
- return EngineOrFactory::get().from_spec(spec);
+ return SimpleValue::from_spec(spec);
}
vespalib::string asVstring(vespalib::Memory str) {
@@ -334,7 +335,7 @@ assertTensor(const vespalib::eval::Value::UP & exp, const std::string & fieldNam
EXPECT_EQUAL(exp.get() == nullptr, data.size == 0u);
if (exp) {
vespalib::nbostream x(data.data, data.size);
- auto tensor = EngineOrFactory::get().decode(x);
+ auto tensor = SimpleValue::from_stream(x);
EXPECT_TRUE(tensor.get() != nullptr);
EXPECT_EQUAL(*exp, *tensor);
}
diff --git a/searchcore/src/tests/proton/docsummary/summaryfieldconverter_test.cpp b/searchcore/src/tests/proton/docsummary/summaryfieldconverter_test.cpp
index 6c7efda9a69..86f0e8fdcf8 100644
--- a/searchcore/src/tests/proton/docsummary/summaryfieldconverter_test.cpp
+++ b/searchcore/src/tests/proton/docsummary/summaryfieldconverter_test.cpp
@@ -45,7 +45,8 @@
#include <vespa/vespalib/data/slime/json_format.h>
#include <vespa/vespalib/data/slime/binary_format.h>
#include <vespa/searchlib/util/slime_output_raw_buf_adapter.h>
-#include <vespa/eval/eval/engine_or_factory.h>
+#include <vespa/eval/eval/simple_value.h>
+#include <vespa/eval/eval/tensor_spec.h>
#include <vespa/eval/eval/value.h>
#include <vespa/eval/eval/test/value_compare.h>
#include <vespa/vespalib/data/slime/slime.h>
@@ -93,10 +94,10 @@ using search::linguistics::TERM;
using vespa::config::search::SummarymapConfig;
using vespa::config::search::SummarymapConfigBuilder;
using vespalib::Slime;
+using vespalib::eval::SimpleValue;
+using vespalib::eval::TensorSpec;
using vespalib::eval::Value;
using vespalib::eval::ValueType;
-using vespalib::eval::TensorSpec;
-using vespalib::eval::EngineOrFactory;
using vespalib::geo::ZCurve;
using vespalib::slime::Cursor;
using vespalib::string;
@@ -676,7 +677,7 @@ Test::requireThatPredicateIsPrinted()
}
Value::UP make_tensor(const TensorSpec &spec) {
- return EngineOrFactory::get().from_spec(spec);
+ return SimpleValue::from_spec(spec);
}
void
diff --git a/searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp b/searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp
index ed3bb3253c9..d06da31b415 100644
--- a/searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp
+++ b/searchcore/src/tests/proton/documentdb/feedhandler/feedhandler_test.cpp
@@ -5,7 +5,7 @@
#include <vespa/document/update/assignvalueupdate.h>
#include <vespa/document/repo/documenttyperepo.h>
#include <vespa/document/update/documentupdate.h>
-#include <vespa/eval/eval/engine_or_factory.h>
+#include <vespa/eval/eval/simple_value.h>
#include <vespa/eval/eval/tensor_spec.h>
#include <vespa/eval/eval/value.h>
#include <vespa/searchcore/proton/bucketdb/bucketdbhandler.h>
@@ -58,7 +58,7 @@ using storage::spi::UpdateResult;
using vespalib::ThreadStackExecutor;
using vespalib::ThreadStackExecutorBase;
using vespalib::makeClosure;
-using vespalib::eval::EngineOrFactory;
+using vespalib::eval::SimpleValue;
using vespalib::eval::TensorSpec;
using vespalib::eval::Value;
using vespalib::eval::ValueType;
@@ -330,13 +330,13 @@ struct UpdateContext {
auto fieldValue = field.createValue();
if (fieldName == "tensor") {
dynamic_cast<TensorFieldValue &>(*fieldValue) =
- EngineOrFactory::get().from_spec(TensorSpec("tensor(x{},y{})").
- add({{"x","8"},{"y","9"}}, 11));
+ SimpleValue::from_spec(TensorSpec("tensor(x{},y{})").
+ add({{"x","8"},{"y","9"}}, 11));
} else if (fieldName == "tensor2") {
auto tensorFieldValue = std::make_unique<TensorFieldValue>(tensor1DType);
*tensorFieldValue =
- EngineOrFactory::get().from_spec(TensorSpec("tensor(x{})").
- add({{"x","8"}}, 11));
+ SimpleValue::from_spec(TensorSpec("tensor(x{})").
+ add({{"x","8"}}, 11));
fieldValue = std::move(tensorFieldValue);
} else {
fieldValue->assign(document::StringFieldValue("new value"));
diff --git a/searchcore/src/tests/proton/matching/matching_test.cpp b/searchcore/src/tests/proton/matching/matching_test.cpp
index 3bd5b36aa86..0278aba41d9 100644
--- a/searchcore/src/tests/proton/matching/matching_test.cpp
+++ b/searchcore/src/tests/proton/matching/matching_test.cpp
@@ -32,8 +32,9 @@
#include <vespa/searchcore/proton/matching/match_params.h>
#include <vespa/searchcore/proton/matching/match_tools.h>
#include <vespa/searchcore/proton/matching/match_context.h>
+#include <vespa/eval/eval/simple_value.h>
#include <vespa/eval/eval/tensor_spec.h>
-#include <vespa/eval/eval/engine_or_factory.h>
+#include <vespa/eval/eval/value_codec.h>
#include <vespa/vespalib/objects/nbostream.h>
#include <vespa/log/log.h>
@@ -58,8 +59,8 @@ using storage::spi::Timestamp;
using search::fef::indexproperties::hitcollector::HeapSize;
using vespalib::nbostream;
+using vespalib::eval::SimpleValue;
using vespalib::eval::TensorSpec;
-using vespalib::eval::EngineOrFactory;
void inject_match_phase_limiting(Properties &setup, const vespalib::string &attribute, size_t max_hits, bool descending)
{
@@ -666,9 +667,8 @@ TEST("require that summary features are filled") {
EXPECT_TRUE(!f[2].is_double());
EXPECT_TRUE(f[2].is_data());
{
- auto engine = EngineOrFactory::get();
nbostream buf(f[2].as_data().data, f[2].as_data().size);
- auto actual = engine.to_spec(*engine.decode(buf));
+ auto actual = spec_from_value(*SimpleValue::from_stream(buf));
auto expect = TensorSpec("tensor(x[3])").add({{"x", 0}}, 0).add({{"x", 1}}, 1).add({{"x", 2}}, 2);
EXPECT_EQUAL(actual, expect);
}
diff --git a/searchcore/src/tests/proton/matching/request_context/request_context_test.cpp b/searchcore/src/tests/proton/matching/request_context/request_context_test.cpp
index 4c2ae99c9cd..7b545344e9b 100644
--- a/searchcore/src/tests/proton/matching/request_context/request_context_test.cpp
+++ b/searchcore/src/tests/proton/matching/request_context/request_context_test.cpp
@@ -1,7 +1,8 @@
// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include <vespa/eval/eval/simple_value.h>
+#include <vespa/eval/eval/value_codec.h>
#include <vespa/eval/eval/tensor_spec.h>
-#include <vespa/eval/eval/engine_or_factory.h>
#include <vespa/searchcore/proton/matching/requestcontext.h>
#include <vespa/searchlib/attribute/attribute_blueprint_params.h>
#include <vespa/searchlib/fef/properties.h>
@@ -13,7 +14,7 @@ using search::attribute::IAttributeContext;
using search::attribute::IAttributeFunctor;
using search::attribute::IAttributeVector;
using search::fef::Properties;
-using vespalib::eval::EngineOrFactory;
+using vespalib::eval::SimpleValue;
using vespalib::eval::TensorSpec;
using vespalib::eval::Value;
using namespace proton;
@@ -37,7 +38,7 @@ private:
void insert_tensor_in_properties(const vespalib::string& tensor_name, const Value& tensor_value) {
vespalib::nbostream stream;
- EngineOrFactory::get().encode(tensor_value, stream);
+ encode_value(tensor_value, stream);
_props.add(tensor_name, vespalib::stringref(stream.data(), stream.size()));
}
@@ -48,14 +49,14 @@ public:
_attr_ctx(),
_props(),
_request_ctx(_doom, _attr_ctx, _props, AttributeBlueprintParams()),
- _query_tensor(EngineOrFactory::get().from_spec(TensorSpec("tensor(x[2])")
- .add({{"x", 0}}, 3).add({{"x", 1}}, 5)))
+ _query_tensor(SimpleValue::from_spec(TensorSpec("tensor(x[2])")
+ .add({{"x", 0}}, 3).add({{"x", 1}}, 5)))
{
insert_tensor_in_properties("my_tensor", *_query_tensor);
_props.add("my_string", "foo bar");
}
TensorSpec expected_query_tensor() const {
- return EngineOrFactory::get().to_spec(*_query_tensor);
+ return spec_from_value(*_query_tensor);
}
Value::UP get_query_tensor(const vespalib::string& tensor_name) const {
return _request_ctx.get_query_tensor(tensor_name);
@@ -67,7 +68,7 @@ TEST_F(RequestContextTest, query_tensor_can_be_retrieved)
auto tensor = get_query_tensor("my_tensor");
ASSERT_TRUE(tensor);
EXPECT_TRUE(tensor->is_tensor());
- EXPECT_EQ(expected_query_tensor(), EngineOrFactory::get().to_spec(*tensor));
+ EXPECT_EQ(expected_query_tensor(), spec_from_value(*tensor));
}
TEST_F(RequestContextTest, non_existing_query_tensor_returns_nullptr)
diff --git a/searchcore/src/tests/proton/server/documentretriever_test.cpp b/searchcore/src/tests/proton/server/documentretriever_test.cpp
index 019e1bce40a..058374cfc59 100644
--- a/searchcore/src/tests/proton/server/documentretriever_test.cpp
+++ b/searchcore/src/tests/proton/server/documentretriever_test.cpp
@@ -20,7 +20,8 @@
#include <vespa/document/fieldset/fieldsets.h>
#include <vespa/document/repo/configbuilder.h>
#include <vespa/document/repo/documenttyperepo.h>
-#include <vespa/eval/eval/engine_or_factory.h>
+#include <vespa/eval/eval/simple_value.h>
+#include <vespa/eval/eval/tensor_spec.h>
#include <vespa/eval/eval/value.h>
#include <vespa/eval/eval/test/value_compare.h>
#include <vespa/persistence/spi/bucket.h>
@@ -88,7 +89,7 @@ using storage::spi::Timestamp;
using storage::spi::test::makeSpiBucket;
using vespalib::make_string;
using vespalib::string;
-using vespalib::eval::EngineOrFactory;
+using vespalib::eval::SimpleValue;
using vespalib::eval::TensorSpec;
using vespalib::eval::ValueType;
using vespalib::eval::Value;
@@ -110,10 +111,8 @@ const char dyn_field_nas[] = "dynamic null attr string field"; // in document, n
const char position_field[] = "position_field";
vespalib::string dyn_field_tensor("dynamic_tensor_field");
vespalib::string tensor_spec("tensor(x{})");
-std::unique_ptr<Value> static_tensor =
- EngineOrFactory::get().from_spec(TensorSpec(tensor_spec).add({{"x", "1"}}, 1.5));
-std::unique_ptr<Value> dynamic_tensor =
- EngineOrFactory::get().from_spec(TensorSpec(tensor_spec).add({{"x", "2"}}, 3.5));
+std::unique_ptr<Value> static_tensor = SimpleValue::from_spec(TensorSpec(tensor_spec).add({{"x", "1"}}, 1.5));
+std::unique_ptr<Value> dynamic_tensor = SimpleValue::from_spec(TensorSpec(tensor_spec).add({{"x", "2"}}, 3.5));
const char zcurve_field[] = "position_field_zcurve";
const char position_array_field[] = "position_array";
const char zcurve_array_field[] = "position_array_zcurve";
@@ -169,7 +168,7 @@ struct MyDocumentStore : proton::test::DummyDocumentStore {
doc->set(zcurve_field, static_zcurve_value);
doc->setValue(dyn_field_p, static_value_p);
TensorFieldValue tensorFieldValue(tensorDataType);
- tensorFieldValue = EngineOrFactory::get().copy(*static_tensor);
+ tensorFieldValue = SimpleValue::from_value(*static_tensor);
doc->setValue(dyn_field_tensor, tensorFieldValue);
if (_set_position_struct_field) {
FieldValue::UP fv = PositionDataType::getInstance().createFieldValue();
diff --git a/searchlib/src/tests/attribute/imported_attribute_vector/imported_attribute_vector_test.cpp b/searchlib/src/tests/attribute/imported_attribute_vector/imported_attribute_vector_test.cpp
index 8870593d950..2d30f89015d 100644
--- a/searchlib/src/tests/attribute/imported_attribute_vector/imported_attribute_vector_test.cpp
+++ b/searchlib/src/tests/attribute/imported_attribute_vector/imported_attribute_vector_test.cpp
@@ -1,7 +1,8 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/eval/eval/engine_or_factory.h>
#include <vespa/eval/eval/value.h>
+#include <vespa/eval/eval/simple_value.h>
+#include <vespa/eval/eval/tensor_spec.h>
#include <vespa/eval/eval/test/value_compare.h>
#include <vespa/searchcommon/attribute/search_context_params.h>
#include <vespa/searchlib/fef/termfieldmatchdata.h>
@@ -15,10 +16,10 @@ using search::tensor::TensorAttribute;
using vespalib::eval::Value;
using vespalib::eval::ValueType;
using vespalib::eval::TensorSpec;
-using vespalib::eval::EngineOrFactory;
+using vespalib::eval::SimpleValue;
Value::UP createTensor(const TensorSpec &spec) {
- return EngineOrFactory::get().from_spec(spec);
+ return SimpleValue::from_spec(spec);
}
namespace search::attribute {
diff --git a/searchlib/src/tests/attribute/searchable/attributeblueprint_test.cpp b/searchlib/src/tests/attribute/searchable/attributeblueprint_test.cpp
index dc7dee3770d..afeb89349c7 100644
--- a/searchlib/src/tests/attribute/searchable/attributeblueprint_test.cpp
+++ b/searchlib/src/tests/attribute/searchable/attributeblueprint_test.cpp
@@ -1,6 +1,8 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/eval/eval/engine_or_factory.h>
+#include <vespa/eval/eval/tensor_spec.h>
+#include <vespa/eval/eval/value.h>
+#include <vespa/eval/eval/value_codec.h>
#include <vespa/eval/tensor/dense/dense_tensor_view.h>
#include <vespa/searchcommon/attribute/iattributecontext.h>
#include <vespa/searchlib/attribute/attribute_blueprint_factory.h>
@@ -50,7 +52,6 @@ using search::queryeval::SearchIterator;
using std::string;
using std::vector;
using vespalib::eval::TensorSpec;
-using vespalib::eval::EngineOrFactory;
using vespalib::eval::Value;
using vespalib::eval::ValueType;
using namespace search::attribute;
@@ -357,7 +358,7 @@ expect_nearest_neighbor_blueprint(const vespalib::string& attribute_tensor_type_
auto result = f.create_blueprint();
const auto& nearest = downcast<const NearestNeighborBlueprint>(*result);
EXPECT_EQ(attribute_tensor_type_spec, nearest.get_attribute_tensor().getTensorType().to_spec());
- EXPECT_EQ(converted_query_tensor, EngineOrFactory::get().to_spec(nearest.get_query_tensor()));
+ EXPECT_EQ(converted_query_tensor, spec_from_value(nearest.get_query_tensor()));
EXPECT_EQ(7u, nearest.get_target_num_hits());
}
diff --git a/searchlib/src/tests/attribute/tensorattribute/tensorattribute_test.cpp b/searchlib/src/tests/attribute/tensorattribute/tensorattribute_test.cpp
index bf46a2cc7d0..e1bd47af358 100644
--- a/searchlib/src/tests/attribute/tensorattribute/tensorattribute_test.cpp
+++ b/searchlib/src/tests/attribute/tensorattribute/tensorattribute_test.cpp
@@ -1,7 +1,8 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include <vespa/document/base/exceptions.h>
-#include <vespa/eval/eval/engine_or_factory.h>
+#include <vespa/eval/eval/simple_value.h>
+#include <vespa/eval/eval/tensor_spec.h>
#include <vespa/eval/eval/value.h>
#include <vespa/eval/eval/test/value_compare.h>
#include <vespa/fastos/file.h>
@@ -52,7 +53,7 @@ using vespalib::eval::TensorSpec;
using vespalib::eval::CellType;
using vespalib::eval::ValueType;
using vespalib::eval::Value;
-using vespalib::eval::EngineOrFactory;
+using vespalib::eval::SimpleValue;
using DoubleVector = std::vector<double>;
using generation_t = vespalib::GenerationHandler::generation_t;
@@ -62,7 +63,7 @@ vespalib::string denseSpec("tensor(x[2],y[3])");
vespalib::string vec_2d_spec("tensor(x[2])");
Value::UP createTensor(const TensorSpec &spec) {
- return EngineOrFactory::get().from_spec(spec);
+ return SimpleValue::from_spec(spec);
}
TensorSpec
@@ -904,7 +905,7 @@ public:
}
std::unique_ptr<Value> createDenseTensor(const TensorSpec &spec) {
- return EngineOrFactory::get().from_spec(spec);
+ return SimpleValue::from_spec(spec);
}
std::unique_ptr<NearestNeighborBlueprint> make_blueprint(double brute_force_limit = 0.05) {
diff --git a/searchlib/src/tests/features/constant/constant_test.cpp b/searchlib/src/tests/features/constant/constant_test.cpp
index e513e20a35c..140c93125b0 100644
--- a/searchlib/src/tests/features/constant/constant_test.cpp
+++ b/searchlib/src/tests/features/constant/constant_test.cpp
@@ -6,8 +6,8 @@
#include <vespa/searchlib/fef/test/ftlib.h>
#include <vespa/searchlib/fef/test/indexenvironment.h>
#include <vespa/eval/eval/function.h>
+#include <vespa/eval/eval/simple_value.h>
#include <vespa/eval/eval/tensor_spec.h>
-#include <vespa/eval/eval/engine_or_factory.h>
#include <vespa/eval/eval/value.h>
#include <vespa/eval/eval/test/value_compare.h>
@@ -16,18 +16,18 @@ using namespace search::fef;
using namespace search::fef::indexproperties;
using namespace search::fef::test;
using namespace search::features;
-using vespalib::eval::Function;
-using vespalib::eval::Value;
using vespalib::eval::DoubleValue;
+using vespalib::eval::Function;
+using vespalib::eval::SimpleValue;
using vespalib::eval::TensorSpec;
+using vespalib::eval::Value;
using vespalib::eval::ValueType;
-using vespalib::eval::EngineOrFactory;
namespace
{
Value::UP make_tensor(const TensorSpec &spec) {
- return EngineOrFactory::get().from_spec(spec);
+ return SimpleValue::from_spec(spec);
}
}
diff --git a/searchlib/src/tests/features/imported_dot_product/imported_dot_product_test.cpp b/searchlib/src/tests/features/imported_dot_product/imported_dot_product_test.cpp
index ec6aa65c6c2..3c9cf209484 100644
--- a/searchlib/src/tests/features/imported_dot_product/imported_dot_product_test.cpp
+++ b/searchlib/src/tests/features/imported_dot_product/imported_dot_product_test.cpp
@@ -6,7 +6,8 @@
#include <vespa/searchlib/fef/test/ftlib.h>
#include <vespa/searchlib/fef/test/rankresult.h>
#include <vespa/searchlib/fef/test/dummy_dependency_handler.h>
-#include <vespa/eval/eval/engine_or_factory.h>
+#include <vespa/eval/eval/simple_value.h>
+#include <vespa/eval/eval/tensor_spec.h>
#include <vespa/eval/eval/value_codec.h>
#include <vespa/vespalib/objects/nbostream.h>
@@ -17,6 +18,7 @@ using namespace search::fef;
using namespace search::fef::test;
using namespace search::index;
+using vespalib::eval::SimpleValue;
using vespalib::eval::TensorSpec;
template <typename T>
@@ -118,7 +120,7 @@ struct ArrayFixture : FixtureBase {
template <typename ExpectedType>
void check_prepare_state_output(const TensorSpec & spec, const ExpectedType & expected) {
- auto value = vespalib::eval::EngineOrFactory::get().from_spec(spec);
+ auto value = SimpleValue::from_spec(spec);
check_prepare_state_output(*value, expected);
}
diff --git a/searchlib/src/tests/features/tensor/tensor_test.cpp b/searchlib/src/tests/features/tensor/tensor_test.cpp
index 188a1347901..53049c4a385 100644
--- a/searchlib/src/tests/features/tensor/tensor_test.cpp
+++ b/searchlib/src/tests/features/tensor/tensor_test.cpp
@@ -11,8 +11,8 @@
#include <vespa/searchlib/fef/test/queryenvironment.h>
#include <vespa/searchlib/tensor/tensor_attribute.h>
#include <vespa/searchlib/tensor/direct_tensor_attribute.h>
-#include <vespa/eval/eval/engine_or_factory.h>
#include <vespa/eval/eval/function.h>
+#include <vespa/eval/eval/simple_value.h>
#include <vespa/eval/eval/tensor_spec.h>
#include <vespa/eval/eval/value.h>
#include <vespa/eval/eval/value_codec.h>
@@ -28,12 +28,12 @@ using search::AttributeFactory;
using search::tensor::TensorAttribute;
using search::tensor::DirectTensorAttribute;
using search::AttributeVector;
-using vespalib::eval::EngineOrFactory;
using vespalib::eval::Function;
-using vespalib::eval::spec_from_value;
+using vespalib::eval::SimpleValue;
+using vespalib::eval::TensorSpec;
using vespalib::eval::Value;
using vespalib::eval::ValueType;
-using vespalib::eval::TensorSpec;
+using vespalib::eval::spec_from_value;
using AVC = search::attribute::Config;
using AVBT = search::attribute::BasicType;
@@ -46,7 +46,7 @@ namespace
{
Value::UP make_empty(const vespalib::string &type) {
- return EngineOrFactory::get().from_spec(TensorSpec(type));
+ return SimpleValue::from_spec(TensorSpec(type));
}
}
@@ -113,10 +113,10 @@ struct ExecFixture
DirectTensorAttribute *directAttr =
dynamic_cast<DirectTensorAttribute *>(attrs[1].get());
- auto doc_tensor = EngineOrFactory::get().from_spec(TensorSpec("tensor(x{})")
- .add({{"x", "a"}}, 3)
- .add({{"x", "b"}}, 5)
- .add({{"x", "c"}}, 7));
+ auto doc_tensor = SimpleValue::from_spec(TensorSpec("tensor(x{})")
+ .add({{"x", "a"}}, 3)
+ .add({{"x", "b"}}, 5)
+ .add({{"x", "c"}}, 7));
tensorAttr->setTensor(1, *doc_tensor);
directAttr->set_tensor(1, std::move(doc_tensor));
@@ -129,7 +129,7 @@ struct ExecFixture
std::unique_ptr<Value> tensor)
{
vespalib::nbostream stream;
- EngineOrFactory::get().encode(*tensor, stream);
+ encode_value(*tensor, stream);
test.getQueryEnv().getProperties().add(tensorName,
vespalib::stringref(stream.peek(), stream.size()));
setQueryTensorType(tensorName, tensorTypeSpec);
@@ -138,16 +138,16 @@ struct ExecFixture
void setupQueryEnvironment() {
setQueryTensor("tensorquery",
"tensor(q{})",
- EngineOrFactory::get().from_spec(TensorSpec("tensor(q{})")
- .add({{"q", "d"}}, 11 )
- .add({{"q", "e"}}, 13 )
- .add({{"q", "f"}}, 17 )));
+ SimpleValue::from_spec(TensorSpec("tensor(q{})")
+ .add({{"q", "d"}}, 11 )
+ .add({{"q", "e"}}, 13 )
+ .add({{"q", "f"}}, 17 )));
setQueryTensor("mappedtensorquery",
"tensor(x[2])",
- EngineOrFactory::get().from_spec(TensorSpec("tensor(x{},y{})")
- .add({{"x", "0"},{"y", "0"}}, 11 )
- .add({{"x", "0"},{"y", "1"}}, 13 )
- .add({{"x", "1"},{"y", "0"}}, 17 )));
+ SimpleValue::from_spec(TensorSpec("tensor(x{},y{})")
+ .add({{"x", "0"},{"y", "0"}}, 11 )
+ .add({{"x", "0"},{"y", "1"}}, 13 )
+ .add({{"x", "1"},{"y", "0"}}, 17 )));
setQueryTensorType("null", "tensor(q{})");
}
const Value &extractTensor(uint32_t docid) {
diff --git a/searchlib/src/tests/features/tensor_from_labels/tensor_from_labels_test.cpp b/searchlib/src/tests/features/tensor_from_labels/tensor_from_labels_test.cpp
index 33fd7c856b3..2e83d2acbf2 100644
--- a/searchlib/src/tests/features/tensor_from_labels/tensor_from_labels_test.cpp
+++ b/searchlib/src/tests/features/tensor_from_labels/tensor_from_labels_test.cpp
@@ -12,8 +12,9 @@
#include <vespa/searchlib/fef/test/indexenvironment.h>
#include <vespa/searchlib/fef/test/indexenvironmentbuilder.h>
#include <vespa/searchlib/fef/test/queryenvironment.h>
-#include <vespa/eval/eval/engine_or_factory.h>
#include <vespa/eval/eval/function.h>
+#include <vespa/eval/eval/simple_value.h>
+#include <vespa/eval/eval/tensor_spec.h>
#include <vespa/eval/eval/value.h>
#include <vespa/eval/eval/test/value_compare.h>
@@ -27,7 +28,7 @@ using search::StringAttribute;
using vespalib::eval::Value;
using vespalib::eval::Function;
using vespalib::eval::TensorSpec;
-using vespalib::eval::EngineOrFactory;
+using vespalib::eval::SimpleValue;
typedef search::attribute::Config AVC;
typedef search::attribute::BasicType AVBT;
@@ -36,7 +37,7 @@ typedef search::AttributeVector::SP AttributePtr;
typedef FtTestApp FTA;
Value::UP make_tensor(const TensorSpec &spec) {
- return EngineOrFactory::get().from_spec(spec);
+ return SimpleValue::from_spec(spec);
}
Value::UP make_empty(const vespalib::string &type) {
diff --git a/searchlib/src/tests/features/tensor_from_weighted_set/tensor_from_weighted_set_test.cpp b/searchlib/src/tests/features/tensor_from_weighted_set/tensor_from_weighted_set_test.cpp
index 282c8134754..c339d8dae63 100644
--- a/searchlib/src/tests/features/tensor_from_weighted_set/tensor_from_weighted_set_test.cpp
+++ b/searchlib/src/tests/features/tensor_from_weighted_set/tensor_from_weighted_set_test.cpp
@@ -12,8 +12,8 @@
#include <vespa/searchlib/fef/test/indexenvironment.h>
#include <vespa/searchlib/fef/test/indexenvironmentbuilder.h>
#include <vespa/searchlib/fef/test/queryenvironment.h>
-#include <vespa/eval/eval/engine_or_factory.h>
#include <vespa/eval/eval/function.h>
+#include <vespa/eval/eval/simple_value.h>
#include <vespa/eval/eval/tensor_spec.h>
#include <vespa/eval/eval/value.h>
#include <vespa/eval/eval/test/value_compare.h>
@@ -28,7 +28,7 @@ using search::StringAttribute;
using vespalib::eval::Value;
using vespalib::eval::Function;
using vespalib::eval::TensorSpec;
-using vespalib::eval::EngineOrFactory;
+using vespalib::eval::SimpleValue;
typedef search::attribute::Config AVC;
typedef search::attribute::BasicType AVBT;
@@ -37,7 +37,7 @@ typedef search::AttributeVector::SP AttributePtr;
typedef FtTestApp FTA;
Value::UP make_tensor(const TensorSpec &spec) {
- return EngineOrFactory::get().from_spec(spec);
+ return SimpleValue::from_spec(spec);
}
Value::UP make_empty(const vespalib::string &type) {
diff --git a/searchlib/src/tests/queryeval/nearest_neighbor/nearest_neighbor_test.cpp b/searchlib/src/tests/queryeval/nearest_neighbor/nearest_neighbor_test.cpp
index 23cb3831b6d..ad450a91f33 100644
--- a/searchlib/src/tests/queryeval/nearest_neighbor/nearest_neighbor_test.cpp
+++ b/searchlib/src/tests/queryeval/nearest_neighbor/nearest_neighbor_test.cpp
@@ -3,7 +3,8 @@
#include <vespa/vespalib/testkit/test_kit.h>
#include <vespa/vespalib/util/stringfmt.h>
-#include <vespa/eval/eval/engine_or_factory.h>
+#include <vespa/eval/eval/simple_value.h>
+#include <vespa/eval/eval/tensor_spec.h>
#include <vespa/searchlib/common/bitvector.h>
#include <vespa/searchlib/common/feature.h>
#include <vespa/searchlib/fef/matchdata.h>
@@ -27,7 +28,7 @@ using vespalib::eval::Value;
using vespalib::eval::ValueType;
using vespalib::eval::CellType;
using vespalib::eval::TensorSpec;
-using vespalib::eval::EngineOrFactory;
+using vespalib::eval::SimpleValue;
using search::tensor::DistanceFunction;
using search::attribute::DistanceMetric;
@@ -41,7 +42,7 @@ DistanceFunction::UP euclid_d = search::tensor::make_distance_function(DistanceM
DistanceFunction::UP euclid_f = search::tensor::make_distance_function(DistanceMetric::Euclidean, CellType::FLOAT);
std::unique_ptr<Value> createTensor(const TensorSpec &spec) {
- return EngineOrFactory::get().from_spec(spec);
+ return SimpleValue::from_spec(spec);
}
std::unique_ptr<Value> createTensor(const vespalib::string& type_spec, double v1, double v2) {
diff --git a/searchlib/src/tests/tensor/dense_tensor_store/dense_tensor_store_test.cpp b/searchlib/src/tests/tensor/dense_tensor_store/dense_tensor_store_test.cpp
index 4bdae05e02f..a3b59909ac8 100644
--- a/searchlib/src/tests/tensor/dense_tensor_store/dense_tensor_store_test.cpp
+++ b/searchlib/src/tests/tensor/dense_tensor_store/dense_tensor_store_test.cpp
@@ -3,18 +3,18 @@
LOG_SETUP("dense_tensor_store_test");
#include <vespa/vespalib/testkit/test_kit.h>
#include <vespa/searchlib/tensor/dense_tensor_store.h>
-#include <vespa/eval/eval/engine_or_factory.h>
+#include <vespa/eval/eval/simple_value.h>
#include <vespa/eval/eval/tensor_spec.h>
-#include <vespa/eval/eval/test/value_compare.h>
#include <vespa/eval/eval/value.h>
#include <vespa/eval/eval/value_type.h>
+#include <vespa/eval/eval/test/value_compare.h>
#include <vespa/eval/tensor/dense/mutable_dense_tensor_view.h>
using search::tensor::DenseTensorStore;
+using vespalib::eval::SimpleValue;
using vespalib::eval::TensorSpec;
using vespalib::eval::Value;
using vespalib::eval::ValueType;
-using vespalib::eval::EngineOrFactory;
using vespalib::tensor::MutableDenseTensorView;
using EntryRef = DenseTensorStore::EntryRef;
@@ -22,7 +22,7 @@ using EntryRef = DenseTensorStore::EntryRef;
Value::UP
makeTensor(const TensorSpec &spec)
{
- return EngineOrFactory::get().from_spec(spec);
+ return SimpleValue::from_spec(spec);
}
struct Fixture
diff --git a/searchlib/src/tests/tensor/direct_tensor_store/direct_tensor_store_test.cpp b/searchlib/src/tests/tensor/direct_tensor_store/direct_tensor_store_test.cpp
index a6f4d56425b..f5160e4b879 100644
--- a/searchlib/src/tests/tensor/direct_tensor_store/direct_tensor_store_test.cpp
+++ b/searchlib/src/tests/tensor/direct_tensor_store/direct_tensor_store_test.cpp
@@ -2,14 +2,15 @@
#include <vespa/searchlib/tensor/direct_tensor_store.h>
#include <vespa/vespalib/gtest/gtest.h>
-#include <vespa/eval/eval/engine_or_factory.h>
+#include <vespa/eval/eval/simple_value.h>
+#include <vespa/eval/eval/tensor_spec.h>
#include <vespa/eval/eval/value.h>
#include <vespa/vespalib/datastore/datastore.hpp>
using namespace search::tensor;
using vespalib::datastore::EntryRef;
-using vespalib::eval::EngineOrFactory;
+using vespalib::eval::SimpleValue;
using vespalib::eval::TensorSpec;
using vespalib::eval::Value;
using vespalib::eval::ValueType;
@@ -40,7 +41,7 @@ public:
Value::UP
make_tensor(const TensorSpec& spec)
{
- auto value = EngineOrFactory::get().from_spec(spec);
+ auto value = SimpleValue::from_spec(spec);
return std::make_unique<MockBigTensor>(std::move(value));
}
diff --git a/streamingvisitors/src/tests/hitcollector/hitcollector_test.cpp b/streamingvisitors/src/tests/hitcollector/hitcollector_test.cpp
index e2c47da6997..087a3be86d3 100644
--- a/streamingvisitors/src/tests/hitcollector/hitcollector_test.cpp
+++ b/streamingvisitors/src/tests/hitcollector/hitcollector_test.cpp
@@ -6,9 +6,10 @@
#include <vespa/searchlib/fef/matchdata.h>
#include <vespa/searchlib/fef/feature_resolver.h>
#include <vespa/searchvisitor/hitcollector.h>
-#include <vespa/eval/eval/value.h>
+#include <vespa/eval/eval/simple_value.h>
#include <vespa/eval/eval/tensor_spec.h>
-#include <vespa/eval/eval/engine_or_factory.h>
+#include <vespa/eval/eval/value.h>
+#include <vespa/eval/eval/value_codec.h>
#include <vespa/vespalib/objects/nbostream.h>
using namespace document;
@@ -17,10 +18,11 @@ using namespace vespalib;
using namespace vdslib;
using namespace vsm;
using vespalib::nbostream;
-using vespalib::eval::EngineOrFactory;
-using vespalib::eval::Value;
using vespalib::eval::DoubleValue;
+using vespalib::eval::SimpleValue;
using vespalib::eval::TensorSpec;
+using vespalib::eval::Value;
+
namespace streaming {
@@ -252,7 +254,7 @@ public:
~MyRankProgram();
virtual void run(uint32_t docid, const std::vector<search::fef::TermFieldMatchData> &) override {
_boxed_double = std::make_unique<DoubleValue>(docid + 30);
- _tensor = EngineOrFactory::get().from_spec(TensorSpec("tensor(x{})").add({{"x", "a"}}, docid + 20));
+ _tensor = SimpleValue::from_spec(TensorSpec("tensor(x{})").add({{"x", "a"}}, docid + 20));
_fooValue.as_number = docid + 10;
_barValue.as_object = *_boxed_double;
_bazValue.as_object = *_tensor;
@@ -307,9 +309,8 @@ HitCollectorTest::testFeatureSet()
EXPECT_TRUE(!f[2].is_double());
EXPECT_TRUE(f[2].is_data());
{
- auto engine = EngineOrFactory::get();
nbostream buf(f[2].as_data().data, f[2].as_data().size);
- auto actual = engine.to_spec(*engine.decode(buf));
+ auto actual = spec_from_value(*SimpleValue::from_stream(buf));
auto expect = TensorSpec("tensor(x{})").add({{"x", "a"}}, 23);
EXPECT_EQUAL(actual, expect);
}