Remove the dependency of SuppressionDictionary from EngineInterface.

Remove predictor from minimal_engine.

PiperOrigin-RevId: 703009610
This commit is contained in:
Taku Kudo
2024-12-05 08:29:22 +00:00
committed by Hiroyuki Komatsu
parent 31a9cd41bc
commit 261a835677
8 changed files with 4 additions and 54 deletions

View File

@ -476,7 +476,6 @@ mozc_cc_test(
"//dictionary:user_dictionary_stub",
"//dictionary:user_pos",
"//engine",
"//engine:engine_interface",
"//engine:mock_data_engine_factory",
"//engine:modules",
"//prediction:dictionary_predictor",

View File

@ -64,7 +64,6 @@
#include "dictionary/user_dictionary_stub.h"
#include "dictionary/user_pos.h"
#include "engine/engine.h"
#include "engine/engine_interface.h"
#include "engine/mock_data_engine_factory.h"
#include "engine/modules.h"
#include "prediction/dictionary_predictor.h"
@ -853,7 +852,8 @@ TEST_F(ConverterTest, Regression3437022) {
// Add compound entry to suppression dictionary
segments.Clear();
SuppressionDictionary *dic = engine->GetSuppressionDictionary();
SuppressionDictionary *dic =
engine->GetModulesForTesting()->GetMutableSuppressionDictionary();
dic->Lock();
dic->AddEntry(kKey1 + kKey2, kValue1 + kValue2);
dic->UnLock();

View File

@ -90,7 +90,6 @@ mozc_cc_library(
":user_data_manager_interface",
"//converter:converter_interface",
"//data_manager:data_manager_interface",
"//dictionary:suppression_dictionary",
"//protocol:engine_builder_cc_proto",
"@com_google_absl//absl/status",
"@com_google_absl//absl/strings",
@ -198,7 +197,6 @@ mozc_cc_library(
"//converter:immutable_converter_interface",
"//converter:immutable_converter_no_factory",
"//data_manager:data_manager_interface",
"//dictionary:suppression_dictionary",
"//prediction:dictionary_predictor",
"//prediction:predictor",
"//prediction:predictor_interface",
@ -248,7 +246,6 @@ mozc_cc_library(
":user_data_manager_interface",
"//converter:converter_interface",
"//data_manager:data_manager_interface",
"//dictionary:suppression_dictionary",
"//testing:gunit",
"@com_google_absl//absl/status",
"@com_google_absl//absl/strings:string_view",
@ -405,8 +402,6 @@ mozc_cc_library(
"//converter:segments",
"//data_manager",
"//data_manager:data_manager_interface",
"//dictionary:suppression_dictionary",
"//prediction:predictor_interface",
"//request:conversion_request",
"@com_google_absl//absl/log:check",
"@com_google_absl//absl/status",

View File

@ -42,7 +42,6 @@
#include "converter/converter_interface.h"
#include "converter/immutable_converter_interface.h"
#include "data_manager/data_manager_interface.h"
#include "dictionary/suppression_dictionary.h"
#include "engine/data_loader.h"
#include "engine/engine_interface.h"
#include "engine/minimal_engine.h"
@ -106,10 +105,6 @@ class Engine : public EngineInterface {
return minimal_engine_.GetPredictorName();
}
}
dictionary::SuppressionDictionary *GetSuppressionDictionary() override {
return initialized_ ? modules_->GetMutableSuppressionDictionary()
: minimal_engine_.GetSuppressionDictionary();
}
// Functions for Reload, Sync, Wait return true if successfully operated
// or did nothing.

View File

@ -38,7 +38,6 @@
#include "absl/strings/string_view.h"
#include "converter/converter_interface.h"
#include "data_manager/data_manager_interface.h"
#include "dictionary/suppression_dictionary.h"
#include "engine/data_loader.h"
#include "engine/modules.h"
#include "engine/supplemental_model_interface.h"
@ -65,10 +64,6 @@ class EngineInterface {
// Returns the predictor name.
virtual absl::string_view GetPredictorName() const = 0;
// Returns a reference to the suppression dictionary. The returned instance is
// managed by the engine class and should not be deleted by callers.
virtual dictionary::SuppressionDictionary *GetSuppressionDictionary() = 0;
// Reloads internal data, e.g., user dictionary, etc.
// This function may read data from local files.
// Returns true if successfully reloaded or did nothing.

View File

@ -38,7 +38,6 @@
#include "absl/strings/string_view.h"
#include "converter/converter_interface.h"
#include "data_manager/data_manager_interface.h"
#include "dictionary/suppression_dictionary.h"
#include "engine/engine_interface.h"
#include "engine/modules.h"
#include "engine/supplemental_model_interface.h"
@ -51,8 +50,6 @@ class MockEngine : public EngineInterface {
public:
MOCK_METHOD(ConverterInterface *, GetConverter, (), (const, override));
MOCK_METHOD(absl::string_view, GetPredictorName, (), (const, override));
MOCK_METHOD(dictionary::SuppressionDictionary *, GetSuppressionDictionary, (),
(override));
MOCK_METHOD(bool, Reload, (), (override));
MOCK_METHOD(bool, Sync, (), (override));
MOCK_METHOD(bool, Wait, (), (override));

View File

@ -44,16 +44,12 @@
#include "converter/segments.h"
#include "data_manager/data_manager.h"
#include "data_manager/data_manager_interface.h"
#include "dictionary/suppression_dictionary.h"
#include "engine/user_data_manager_interface.h"
#include "prediction/predictor_interface.h"
#include "request/conversion_request.h"
namespace mozc {
namespace {
using ::mozc::prediction::PredictorInterface;
class UserDataManagerStub : public UserDataManagerInterface {
public:
UserDataManagerStub() = default;
@ -169,29 +165,10 @@ class MinimalConverter : public ConverterInterface {
return true;
}
};
class MinimalPredictor : public PredictorInterface {
public:
MinimalPredictor() : name_("MinimalPredictor") {}
bool PredictForRequest(const ConversionRequest &request,
Segments *segments) const override {
return AddAsIsCandidate(request, segments);
}
const std::string &GetPredictorName() const override { return name_; }
private:
const std::string name_;
};
} // namespace
MinimalEngine::MinimalEngine()
: converter_(std::make_unique<MinimalConverter>()),
predictor_(std::make_unique<MinimalPredictor>()),
suppression_dictionary_(
std::make_unique<dictionary::SuppressionDictionary>()),
user_data_manager_(std::make_unique<UserDataManagerStub>()),
data_manager_(std::make_unique<DataManager>()) {}
@ -200,11 +177,8 @@ ConverterInterface *MinimalEngine::GetConverter() const {
}
absl::string_view MinimalEngine::GetPredictorName() const {
return predictor_ ? predictor_->GetPredictorName() : absl::string_view();
}
dictionary::SuppressionDictionary *MinimalEngine::GetSuppressionDictionary() {
return suppression_dictionary_.get();
constexpr absl::string_view kPredictorName = "MinimalPredictor";
return kPredictorName;
}
UserDataManagerInterface *MinimalEngine::GetUserDataManager() {

View File

@ -38,11 +38,9 @@
#include "absl/strings/string_view.h"
#include "converter/converter_interface.h"
#include "data_manager/data_manager_interface.h"
#include "dictionary/suppression_dictionary.h"
#include "engine/engine_interface.h"
#include "engine/modules.h"
#include "engine/user_data_manager_interface.h"
#include "prediction/predictor_interface.h"
namespace mozc {
@ -56,7 +54,6 @@ class MinimalEngine : public EngineInterface {
ConverterInterface *GetConverter() const override;
absl::string_view GetPredictorName() const override;
dictionary::SuppressionDictionary *GetSuppressionDictionary() override;
bool Reload() override { return true; }
bool Sync() override { return true; }
bool Wait() override { return true; }
@ -72,8 +69,6 @@ class MinimalEngine : public EngineInterface {
private:
std::unique_ptr<ConverterInterface> converter_;
std::unique_ptr<prediction::PredictorInterface> predictor_;
std::unique_ptr<dictionary::SuppressionDictionary> suppression_dictionary_;
std::unique_ptr<UserDataManagerInterface> user_data_manager_;
std::unique_ptr<const DataManagerInterface> data_manager_;
};