martinzink commented on code in PR #1504:
URL: https://github.com/apache/nifi-minifi-cpp/pull/1504#discussion_r1124673717
##########
extensions/script/ExecuteScript.cpp:
##########
@@ -54,94 +49,50 @@ const core::Property ExecuteScript::ModuleDirectory("Module
Directory",
const core::Relationship ExecuteScript::Success("success", "Script successes");
const core::Relationship ExecuteScript::Failure("failure", "Script failures");
-ScriptEngineFactory::ScriptEngineFactory(const core::Relationship& success,
const core::Relationship& failure, std::shared_ptr<core::logging::Logger>
logger)
- : success_(success),
- failure_(failure),
- logger_(std::move(logger)) {
-}
-
void ExecuteScript::initialize() {
setSupportedProperties(properties());
setSupportedRelationships(relationships());
-
-#ifdef PYTHON_SUPPORT
- python::PythonScriptEngine::initialize();
-#endif // PYTHON_SUPPORT
}
void ExecuteScript::onSchedule(core::ProcessContext *context,
core::ProcessSessionFactory* /*sessionFactory*/) {
-#ifdef LUA_SUPPORT
- auto create_engine = [this]() -> std::unique_ptr<lua::LuaScriptEngine> {
- return engine_factory_.createEngine<lua::LuaScriptEngine>();
- };
- lua_script_engine_queue_ =
utils::ResourceQueue<lua::LuaScriptEngine>::create(create_engine,
getMaxConcurrentTasks(), std::nullopt, logger_);
-#endif // LUA_SUPPORT
-#ifdef PYTHON_SUPPORT
- python_script_engine_ =
engine_factory_.createEngine<python::PythonScriptEngine>();
-#endif // PYTHON_SUPPORT
-
- script_engine_ =
ScriptEngineOption::parse(utils::parsePropertyWithAllowableValuesOrThrow(*context,
ScriptEngine.getName(), ScriptEngineOption::values()).c_str());
-
- context->getProperty(ScriptFile.getName(), script_file_);
- context->getProperty(ScriptBody.getName(), script_body_);
- module_directory_ = context->getProperty(ModuleDirectory);
-
- if (script_file_.empty() && script_body_.empty()) {
- throw Exception(PROCESS_SCHEDULE_EXCEPTION, "Either Script Body or Script
File must be defined");
+ static const std::unordered_map<std::string_view, std::string>
executor_class_names = {{"lua", "LuaScriptExecutor"}, {"python",
"PythonScriptExecutor"}};
+
+ if (auto script_engine_prefix = context->getProperty(ScriptEngine);
script_engine_prefix && executor_class_names.contains(*script_engine_prefix)) {
+ const auto& executor_class_name =
executor_class_names.at(*script_engine_prefix);
Review Comment:
good idea, I've included this in
https://github.com/apache/nifi-minifi-cpp/pull/1504/commits/1d0fa0778151c3d1fd458d5459e3875953309734#
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]